当前位置:文档之家› 优化设计课程设计

优化设计课程设计

基于Matlab的平面四杆机构优化设计
1.课题描述
要求设计一曲柄摇杆机构,当曲柄由转到+90°时,摇杆的输出角实现如下给定的函数关系:
式中和分别为对应于摇杆在右极限
位置时曲柄和摇杆的位置角,它们是机架
杆l4为原线逆时针度量的角度,见图1。

图1
题目还要求在该区间的运动过程中的最小
传动角不得小于45°,即:
2.建立连杆机构设计的优化数学模型
2.1确定设计变量
由机械原理知识可知,铰链四杆机构按主、从动杆给定的角度对应关系进行设计时,独立参数有五个:三根杆长和主、从动杆的输入和输出起始位置角。

通常把曲柄的长度当成单位长度,即l1=1。

其它三杆的长度l2、l3、l4表示为实际杆长l1的倍数。

这是因为铰链四杆机构的各构件长若按同一比例缩放时,不会影响到主、从动杆的转角对应关系。

由本题题意,和规定为摇杆在右极限位置时曲柄和摇杆的位置角。

在这种特定的条件下,和也不再是独立参数,而是杆长的函数。

按图1不难写出如下关系式:
; (1)
另外,根据机构在机器中的许可空间,可以适当预选机架杆的长度,现取l4 =5。

经上述分析,该优化问题的设计变量是:X=[l2 l3]T =[x1 x2]T
所以该优化问题是一个二维优化问题。

2.2建立目标函数
由设计变量的分析可知,对于平面机构可供自由选择的独立参数是有限的。

对于实现给定运动规律的铰链四杆机构,独立参数最多为五个,而本题的情况只有两个。

因此利用平面连杆机构只能近似地实现给定的运动规律。

对于该机构设计问题,可取以机构输出角的平方偏差最小为目标函数,则它的表达形式可写成:
(2)
式中为期望输出角。

按给定的运动规律计算:
(3)
(i = 0,1,…,s)
为机构实际输出角,计算式为:
(4)
式中、可利用三角关系求出:
;; (5)
i是对应于曲柄从转到角度内各等分点的标号。

如将曲柄转过90°,范围分为30个等分,则分点标点i =0,1,…,30,共31个分点。

于是上述各式便构成了一个目标函数的数学表达式。

对应于每一个机构设计方案(即给定一对x1、x2),即可计算出输出角的平方偏差值
F(X)。

2.3确立约束条件
约束条件有两方面:其一是保证四杆机构满足曲柄存在的条件;其二是传递运动过程中的最小传动角大于45°。

按传动角条件,根据图2可能发生最小传动角的位置图,由余弦定理推出:

(a) (b)
图 2
经整理得到约束方程:
按曲柄存在条件,由机构原理中可知应满足:
把它们写成不等约束条件为:
进一步分析以上诸式可以看到,只要满足约束条件和的X,必满足约束条件,故实际起作用的只有和两个不等式约束条件。

2.4优化数学模型
D:
3.编写MATLAB程序
曲柄摇杆机构设计的数学模型属于非线性规划问题,因此在进行优化设计时,要调用MATLAB优化工具箱中的有约束的多元函数极小值fmincon函数来实现。

3.1编写名为qubinyaogan.m的目标函数M 文件
function f=qubinyaogan(x)
f=0;%给f赋初值
fai0=acos(((1+x(1))^ 2-x(2)^ 2+25)/(10*(1+x(1))));
ksai0=acos(((1+x(1))^ 2-x(2)^ 2-25)/(10*x(2)));
for i=0:10%对φ进行10等分
fai=fai0+pi/2*i/10;%曲柄转角各等分点的值
ksai=ksai0+2*(fai-fai0)^ 2/(3*pi);%摇杆转角各等分点的值
r=sqrt(26-10*cos(fai));
afai=acos((r^ 2+x(2)^ 2-x(1)^ 2)/(2*x(2)*r)); %计算αi
btai=acos((r^ 2+24)/(10*r));%计算βi
if fai<=pi
ksais=pi-afai-btai;%计算Ψsi
else if fai<=2*pi
ksais=pi-afai+btai;%计算Ψsi
end
end%if语句结束
f=f+(ksai-ksais)^ 2;%计算目标函数
end %for循环体结束
3.2 编写名为mycon.m的非线性约束函数M 文件
function [c ceq]=mycon(x)
c=[36-x(1)^ 2-x(2)^ 2-1.414*x(1)*x(2);
x(1)^ 2+x(2)^ 2-1.414*x(1)*x(2)-16];% c为非线性不等式约束矩阵
ceq=[ ];
3.3编写名为solve qubingyaogan.m的调用优化程序M文件
x0=[5;2];%优化变量赋初值
Ib=[1;1];%优化变量下限值
A=[-1,-1;1,-1;-1,1]; %线性不等式约束矩阵
b=[-6;4;4];%线性不等式约束常数项
options=optimset(' largescale' ,' off' ,' TolFun' ,1e-8);
[x,fval,exitflag,output]=fmincon(@qubinyaogan,x0,A,b,[],[],Ib,
[],@mycon,options)
4.运行结果
4.1最优取值
Optimization terminated: magnitude ofdirectional derivative in search direction less than 2*options.TolFun and maximum constraint violation is less than options.TolCon.
No active inequalities.
x=4.15478596491074
2.29384450528368
fval=0.00316609088036
exitflag=5
output=iterations:23 
funcCount:74
stepsize:1
algorithm: ' medium-scale:SQP,Quasi-Newton,line-search' firstorderopt: 4.270680470877357e-006
cgiterations:[] 
message: [1x172 char]
4.2结果处理
4.2.1约束条件的可行域
4.2.2期望输出角和机构实际输出角的误差。

相关主题