基于Matlab实现曲柄摇杆机构的运动设计

基于Matlab实现曲柄摇杆机构的运动设计

ID:37138823

大小:251.00 KB

页数:8页

时间:2019-05-18

基于Matlab实现曲柄摇杆机构的运动设计_第1页
基于Matlab实现曲柄摇杆机构的运动设计_第2页
基于Matlab实现曲柄摇杆机构的运动设计_第3页
基于Matlab实现曲柄摇杆机构的运动设计_第4页
基于Matlab实现曲柄摇杆机构的运动设计_第5页
资源描述:

《基于Matlab实现曲柄摇杆机构的运动设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实用数值方法(Matlab)小论文题目:基于Matlab实现曲柄摇杆机构的运动设计小组成员姓名:毛晓雯学号:201202070607班级:机自6班2014-2015(1)学期..提交日期:2014年12月29日..基于Matlab实现曲柄摇杆机构的运动设计1问题提出与数学模型的建立曲柄摇杆机构是铰链四杆机构中的一种,在实际工程应用中,该机构应用广泛,如缝纫机踏板机构、搅拌机机构等。现要求设计一曲柄摇杆机构,能同时实现以下几个要素:1)为提高机构的急回特性,极位夹角应尽可能大();2)为改善机构的传力性能,当该机构曲柄与连杆重叠共线时,最大压力角尽可能小();

2、3)该摇杆摆角。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,b为

5、约束函数中线性不等式约束的参数;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.1

8、4332.8873fval=-0.27

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。