资源描述:
《基于Matlab实现曲柄摇杆机构的运动设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实用数值方法(Matlab)小论文题目:基于Matlab实现曲柄摇杆机构的运动设计小组成员:毛晓雯学号:201202070607班级:机自6班...2014-2015(1)学期提交日期:2014年12月29日...基于Matlab实现曲柄摇杆机构的运动设计1问题提出与数学模型的建立曲柄摇杆机构是铰链四杆机构中的一种,在实际工程应用中,该机构应用广泛,如缝纫机踏板机构、搅拌机机构等。现要求设计一曲柄摇杆机构,能同时实现以下几个要素:1)为提高机构的急回特性,极位夹角应尽可能大();2)为改善机构的传力性能,当该机构曲柄与连杆重叠共线时,最大压力角尽可能小();3
2、)该摇杆摆角。1.1设计变量的确定设分别为该四杆机构的杆长,考虑计算的方便性,令,,,,于是设计变量为。图1-1曲柄摇杆机构简图1.2目标函数的建立当曲柄摇杆机构的各杆长度确定后,该机构的摇杆摆角、最大压力角及极位夹角都会确定下来,即该机构的各项性能也能确定下来。这里,将摇杆摆角这个目标处理为无限接近...这个目标值,定义为一目标函数,求之同之差的绝对值的最小值。由图1-1及设计要求,可列出该设计的分目标函数。因为,由余弦定理可得极位夹角的目标函数:对于曲柄摇杆机构来说,当主动曲柄与机架共线的两位置之一处,压力角达到最大。在这里,我们很容易知道当点位于A和D之
3、间的这种情况,压力角最大(如图1-2所示)。故最大压力角的目标函数:摇杆的实际最大摆角为,故所以实际最大摆角与理论最大摆角间偏差的目标函数:图1-2曲柄摇杆压力角达到最大位置这里,根据设计要求,极位夹角尽可能大为好。为了能实现用Matlab...编程求解,做一下处理,定义。这样就实现了,满足Matlab优化工具箱对目标函数的统一要求。下面对各目标函数的围做进一步明确:1)为保证极位夹角尽可能大,确定极位夹角不小于,即,于是转换成弧度,有;2)由设计要素的条件得:;3)为保证摇杆的摆角尽可能接近,使,转换成弧度,有:。1.3约束条件的确定曲柄摇杆机构要满足曲柄存
4、在的条件。其中最长杆与最短杆的长度之和应小于等于其它两杆长度之和;最短杆为连架杆(此处为)。为了便于计算,这里取,因此有:2使用Matlab进行优化求解这里曲柄摇杆机构的数学模型属于一般非线性多目标规划问题。其基本模型...调用Matlab优化工具箱中非线性规划求解函数fgoalattain来求解。其命令的基本格式:[X,fval,attainfactor,exitflag]=fgoalattain(ObjFun,x0,goal,weight,A,b,Aeq,beq,lb,ub);其中各个参数的含义如下:ObjFun为定义求解的多目标函数;x0为变量初值;A,
5、b为约束函数中线性不等式约束的参数;Aeq,beq为约束函数中线性等式约束的参数;c(x),ceq(x)均为非线性函数组成的向量;lb,ub分别是变量X的下限和上限值;goal是目标函数边界组成的向量;Weight是目标函数的权重值。对于判断求解是否有效可通过attainfactor和exitflag两个参数来确定:当exitflag>0时,表示目标值没有溢出goal。本例求解最优解,分两个步骤进行:1)先建立M文件ObjFun.m,定义各个目标函数输入:functionf=Objfun(x)f1=-abs(acos(((x(1)-1)^2+x(3)^2-x(
6、2)^2)/(2*x(3)*(x(1)-1)))-acos(((x(1)+1)^2+x(3)^2-x(2)^2)/(2*x(3)*(x(1)-1))));%极位夹角的目标函数f2=pi/2-acos((x(1)^2+x(2)^2-(x(3)-1)^2)/(2*x(1)*x(2)));%最大压力角的目标函数f3=abs(acos((x(2)^2+x(3)^2-(x(1)+1)^2)/(2*x(2)*x(3)))-acos((x(2)^2+x(3)^2-(x(1)-1)^2)/(2*x(2)*x(3)))-pi/3);%摇杆摆角的目标函数f=[f1;f2;f3];
7、...2)根据非线性多目标规划求解函数fgoalattain的形式,建立主程序输入:goal=[-0.17450.959930.01745];%给定目标函数的上边界向量weight=[0.33330.33330.3333];%个目标的权重值x0=[333];A=[-100;0-10;00-1;1-1-1;-1-11];b=[-1;-1;-1;-1;-1];Aeq=[];beq=[];lb=[111];ub=[];[x,fval]=fgoalattain(Objfun,x0,goal,weight,A,b,Aeq,beq,lb,ub)运算结果:x=2.95132
8、.14332.8873fval=-0.