您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 基于MATLAB的曲柄摇杆机构优化设计
得分课程作业曲柄摇杆优化设计姓名:XX学号:XXXXX班级:XXXXXXX大学机械与动力学院目录1摘要2问题研究2.1问题重述2.2问题分析3数学模型的建立3.1设计变量的确定3.2目标函数的建立3.3约束条件的确定3.4标准数学模型4使用MATLAB编程求解4.1调用功能函数4.2首先编写目标函数M文件4.3编写非线性约束函数M文件4.4编写非线性约束函数M文件confun.m4.5运行结果5结果分析6结论推广7过程反思8个人小结9参考文献1摘要:为分析机构能够满足给定的运动规律和运动空间的要求,运用Matlab优化工具箱进行多约束条件下的连杆机构预定轨迹优化设计的方法,从而得到最接近给定运动规律的杆长条件,使机构的运动分析直观、简单和精确,提高了曲柄摇杆机构的设计精度和效率。2问题研究2.1问题重述要求设计一曲柄摇杆机构,当曲柄由0转到0+90°时,摇杆的输出角实现如下给定的函数关系:200)(32式中0和0分别为对应于摇杆在右极限位置时曲柄和摇杆的位置角,它们是机架杆l4为原线逆时针度量的角度,见图1。要求在该区间的运动过程中的最小传动角不得小于45°,即:45][min通常把曲柄的长度当成单位长度,即l1=1。另外,根据机构在机器中的许可空间,可以适当预选机架杆的长度,现取l4=5。2.2问题分析设计时,可在给定最大和最小传动角的前提下,当曲柄从0转到090时,要求摇杆的输出角最优地实现一个给定的运动规律f。这里假设要求:20023Ef(1)图1曲柄摇杆机构简图对于这样的设计问题,可以取机构的期望输出角Ef和实际输出角F的平方误差之和作为目标函数,使得它的值达到最小。在图1所示的曲柄摇杆机构中,1l、2l、3l、4l分别是曲柄AB、连杆BC、摇杆CD和机架AD的长度。这里规定0为摇杆在右极限位置0时的曲柄起始位置角,它们由1l、2l、3l和4l确定。3数学模型的建立3.1设计变量的确定决定机构尺寸的各杆长度1l、2l、3l和4l,以及当摇杆按已知运动规律开始运行时,曲柄所处的位置角0应列为设计变量,所有设计变量有:1234512340TTxxxxxxllll(2)考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长度1l=1.0,在这里可给定4l=5.0,其他杆长则按比例取为1l的倍数。若取曲柄的初始位置角为极位角,则及相应的摇杆l位置角均为杆长的函数,其关系式为:2222212432301242125arccos2101llllllllll(3)222221243230343125arccos210lllllllll(4)因此,只有2l、3l为独立变量,则设计变量为1223TTxxxll。3.2目标函数的建立目标函数可根据已知-的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即:21minmEiiifx(5)式中,Ei-期望输出角;m-输出角的等分数;i-实际输出角,由图1可知:图2曲柄摇杆机构的运动学关系02iiiiiii(6)式中,222222322132arccosarccos22iiiiirllrxxrlrx(7)222241424arccosarccos210iiiiirllrrlr(8)2214142cos2610cosiiirllll(9)3.3约束条件曲柄存在条件:12131423;,llllllll24133412,llllllll曲柄与机架共线位置时的传动角(连杆BC和摇杆CD之间的夹角):最小传动角minmin45rBCD最大传动角maxmax135rBCD由上面的分析可以算出:222222234112min231216arccos4522llllxxrllxx(10)222222234112max231236arccos13522llllxxrllxx(11)3.4标准数学模型通过上面的分析后,将输入角分成30等分(m=30),经过转化为标准形式得到曲柄摇杆机构优化设计标准数学模型为:21minmEiiifx2312TTxllxx112231241252122612122271212101060..40401.414360361.4140gxxgxxgxxxstgxxxgxxxgxxxxxgxxxxx(12)机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化问题,运用MATLAB优化工具箱的命令函数fmincon来处理有约束的非线性多元函数最小化优化问题。4使用MATLAB编程求解4.1本问题属于一般非线性规划问题,其标准型为:min()fx,,()0..()0,AXbAeqXbeqCXstCeqXvlbXvub(13)调用MATLAB软件优化工具箱中非线性规划求解函数fmincon来求解。其命令的基本格式为:[函数]fmincon[格式]x=fmincon(fun,x0,A,b)x=fmincon(fun,x0,A,b,Aeq,beq)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)[x,fval]=fmincon(…)[x,fval,exitflag]=fmincon(…)[x,fval,exitflag,output]=fmincon(…)[x,fval,exitflag,output,lambda]=fmincon(…)[x,fval,exitflag,output,lambda,grad]=fmincon(…)[x,fval,exitflag,output,lambda,grad,hessian]=fmincon(…)[说明]fun是目标函数options设置优化选项参数fval返回目标函数在最优解x点的函数值exitflag返回算法的终止标志output返回优化算法信息的一个数据结构grad返回目标函数在最优解x点的梯度hessian返回目标函数在最游解x点Hessian矩阵值编写程序求解4.2首先编写目标函数M文件fun1.mfunctionf=fun1(x)s=30;qb=1;jj=5;fx=0;ci0=acos(((qb+x(1))^2-x(2)^2+jj^2)/(2*(qb+x(1))*jj));%曲柄初始角fa0=acos(((qb+x(1))^2-x(2)^2-jj^2)/(2*x(2)*jj));%摇杆初始角fori=1:sci=ci0+(pi*i)/(2*s);fai(i)=fa0+(2*(ci-ci0)^2)/(3*pi);ri=sqrt(qb^2+jj^2-2*qb*jj*cos(ci));alfi=acos(((ri^2+x(2)^2)-x(1)^2)/(2*ri*x(2)));bati=acos((ri^2+jj^2-qb^2)/(2*ri*jj));ifci0&&ci=pipsi(i)=pi-alfi-bati;elseifcipi&&ci=2*pipsi(i)=pi-alfi+bati;endfx=fx+(fai(i)-psi(i))^2;endf=fx;i=1:1:30;plot(i,fai(i),i,psi(i),'--');%画曲线图legend('期望曲线','实际曲线');%标注曲线图对应名称4.3编写非线性约束函数M文件confun.mfunction[c,ceq]=confun(x)qb=1;jj=5;m=45*pi/180;n=135*pi/180;c(1)=x(1)^2+x(2)^2-2*x(1)*x(2)*cos(m)-(jj-qb)^2;%重合时最小传动角的非线性约束条件c(2)=-x(1)^2-x(2)^2+2*x(1)*x(2)*cos(n)+(jj+qb)^2;%共线时最小传动角的非线性约束条件ceq=[];4.4在MATLAB命令窗口调用优化程序x0=[6;6];lb=[1;1];ub=[];a=[-10;0-1;-1-1;1-1;-11];b=[-1;-1;-6;4;4];options=optimset('LargeScale','off','display','iter');[x,fval,exitflag]=fmincon(@fun1,x0,a,b,[],[],lb,ub,@confun,options);4.5运行结果x=[4.12852.3226]fval=0.0076图3输出角期望曲线与在MATLAB结果下的实际曲线对比图图4传动角与曲柄输入角变化关系图5结果分析通过Matlab工具箱的优化求解,我们得到了最终的曲柄摇杆机构的最优杆长条件,即L2=4.1285,L3=2.3226。从运行结果上面来看,得到的数据还是比较理想的,在输出角期望曲线与在MATLAB结果下的实际曲线对比图(图3)中,我们可以清楚地看到,期望曲线与实际曲线的拟合程度比较好。在传动角6结论推广由于在本问题当中,曲柄长度L1和机架长度L4是预先取的L1=1,L4=5,我们通过对L2和L3的优化设计,最终得到了L2=4.1285,L3=2.3226,如果把1看作是单位长度,那么我们最终求解出来的其实是曲柄摇杆机构符合已知运动轨迹的杆长比例。只要曲柄摇杆机构的四杆长度按照这个比例,即L1:L2:L3:L4=1:4.1285:2.3226:5,那么我们得到的曲柄摇杆机构的运动轨迹都是比较理想的。7过程反思在曲柄摇杆优化设计的整个过程中,我们先通过对问题的分析,然后将求解曲柄摇杆机构杆长的问题转化为对求最优L2,L3的值的数学问题,然后我们通过建立数学模型,又使用了Matlab工具箱进行了编程求解,最终得到了我们的结果,即曲柄摇杆机构的最优杆长。整个过程进行下来,在建立模型的过程中,约束条件的确定让我花了大量的时间,由于杆长的不确定,最小传动角可能以多种形式出现,刚开始我很马虎的分析了一种情况就进行了后续计算,结果可想而知,花费了大量时间而又得不到结果。最后我通过仔细分析每一种情况,结合一些有关文献,最终解决了这个问题。在这里,我觉得在解决问题当中,分析问题必须要严密,现在不严密,犯的只是小错,以后在工作中也这样,很有可能引起个人或公司重大损失甚至灾难。8个人小结通过曲柄摇杆优化设计让我对机械优化问题有了一定的了解和认识,学到了一些解决优化问题的方法,初步掌握了计算机解决优化问题的软件工具matlab的使用方法。面对性质极其复杂的函数,先贤们开发出了一整套的数值方法,为一些无法得到准确解的问题提供了一个数值解的途径。这套数值方法至今仍在不断地发展。机械优化设计是将机械工程设计问题转化为最优化问题,然后选择恰当的最优化方法,利用电子计算机从满足要求的可行设计方案中自动寻找实现预期目标的最优设计方案。从中可以看到,机械优化设计包含两个部分,首先是把实际的机械设计问题用数学表达式加以描述,即转化为数学模型,然后是根据数学模型的特性,选择某种适当的优化设计方法及其程序,通过电子计算机求得最优解。这也是我们这门课的主要内容。总而言之,在这门课当中,我学到了很多,既有书面
本文标题:基于MATLAB的曲柄摇杆机构优化设计
链接地址:https://www.777doc.com/doc-4481800 .html