资源描述
得分课程作业曲柄摇杆优化设计姓名:XX学号:XXXXX班级:XXXXX XX大学机械与动力学院目 录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 问题重述 要求设计一曲柄摇杆机构,当曲柄由转到+90时,摇杆的输出角实现如下给定的函数关系:式中和分别为对应于摇杆在右极限位置时曲柄和摇杆的位置角,它们是机架杆l4为原线逆时针度量的角度,见图1。要求在该区间的运动过程中的最小传动角不得小于45,即:通常把曲柄的长度当成单位长度,即l1=1。另外,根据机构在机器中的许可空间,可以适当预选机架杆的长度,现取l4 =5。2.2 问题分析设计时,可在给定最大和最小传动角的前提下,当曲柄从转到时,要求摇杆的输出角最优地实现一个给定的运动规律。这里假设要求: (1) 图1 曲柄摇杆机构简图对于这样的设计问题,可以取机构的期望输出角和实际输出角的平方误差之和作为目标函数,使得它的值达到最小。在图 1 所示的曲柄摇杆机构中, 、 分别是曲柄AB、连杆BC、摇杆CD和机架AD的长度。这里规定为摇杆在右极限位置时的曲柄起始位置角,它们由 、和确定。3 数学模型的建立3.1 设计变量的确定决定机构尺寸的各杆长度 、和,以及当摇杆按已知运动规律开始运行时,曲柄所处的位置角应列为设计变量,所有设计变量有: (2)考虑到机构的杆长按比例变化时,不会改变其运动规律,通常设定曲柄长度=1.0,在这里可给定=5.0,其他杆长则按比例取为的倍数。若取曲柄的初始位置角为极位角,则及相应的摇杆位置角均为杆长的函数,其关系式为: (3) (4)因此,只有、为独立变量,则设计变量为。3.2 目标函数的建立目标函数可根据已知-的运动规律与机构实际运动规律之间的偏差最小为指标来建立,即: (5)式中,-期望输出角;m-输出角的等分数;-实际输出角,由图 1 可知:图2 曲柄摇杆机构的运动学关系 (6)式中, (7) (8) (9)3.3 约束条件曲柄存在条件: 曲柄与机架共线位置时的传动角(连杆BC和摇杆CD之间的夹角):最小传动角最大传动角由上面的分析可以算出: (10) (11)3.4 标准数学模型通过上面的分析后,将输入角分成 30 等分(m=30),经过转化为标准形式得到曲柄摇杆机构优化设计标准数学模型为: (12)机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化问题,运用 MATLAB 优化工具箱的命令函数 fmincon 来处理有约束的非线性多元函数最小化优化问题。4 使用MATLAB编程求解4.1 本问题属于一般非线性规划问题,其标准型为: (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.mfunction f=fun1(x)s=30;qb=1;jj=5;fx=0;ci0=acos(qb+x(1)2-x(2)2+jj2)/(2*(qb+x(1)*jj);%曲柄初始角fa0=acos(qb+x(1)2-x(2)2-jj2)/(2*x(2)*jj);%摇杆初始角for i=1:s ci=ci0+(pi*i)/(2*s); fai(i)=fa0+(2*(ci-ci0)2)/(3*pi); ri=sqrt(qb2+jj2-2*qb*jj*cos(ci); alfi=acos(ri2+x(2)2)-x(1)2)/(2*ri*x(2); bati=acos(ri2+jj2-qb2)/(2*ri*jj); if ci0 & cipi & ci=2*pi psi(i)=pi-alfi+bati; end fx=fx+(fai(i)-psi(i)2; end f=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=-1 0;0 -1;-1 -1;1 -1; -1 1;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.1285 2.3226fval = 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的使用方法。面对性质极其复杂的函数,先贤们开发出了一整套的数值方法,为一些无法得到准确解的问题提供了一个数值解的途径。这套数值方法至今仍在不断地发展。机械优化设计是将机械工程设计问题转化为最优化问题,然后选择恰当的最优化方法,利用电子计算机从满足要求的可行设计方案中自动寻找实现预期目标的最优设计方案。从中可以看到,机械优化设计包含两个部分,首先是把实际的机械设计问题用数学表达式加以描述,即转化为数学模型,然后是根据数学模型的特性,选择某种适当的优化设计方法及其程序,通过电子计算机求得最优解。这也是我们这门课的主要内容。总而言之,在这门课当中,我学到了很多,既有书面知识,又有实际操作,这里的优化设计的方法及思想会让我终生受益。9 参考文献【1】孙靖明,梁迎春.机械优化设计【M】.北京:机械工业出版社,2007.【2】郑文玮,吴克坚.机械原理【M】.北京:高等教育学院,2005.【3】何俊,冯鉴.基于Matlab的平面连杆机构预定轨迹优化设计【A】.四川:西南交通大学,2009.【4】吴义成.曲柄摇杆机构再现已知运动规律的优化求解【A】.安徽:马鞍山职业技术学院,2011.【5】罗红萍.基于Matlab的曲柄摇杆机构运动分析【A】.广西:广西工学院,2007.
展开阅读全文