曲柄摇杆机构优化设计.docx
《曲柄摇杆机构优化设计.docx》由会员分享,可在线阅读,更多相关《曲柄摇杆机构优化设计.docx(21页珍藏版)》请在冰点文库上搜索。
曲柄摇杆机构优化设计
得分
课程作业
曲柄摇杆优化设计
姓名:
宋*
学号:
2012138229
班级:
20121057
三峡大学机械与动力学院
1.曲柄摇杆机构优化设计题目要求 ............................................................................1
2.课题描述 ....................................................................................................................2
3.数学模型的建立 ........................................................................................................3
3.1 设计变量的确定 ..............................................................................................3
3.2 约束条件的建立 ..............................................................................................3
3.3 目标函数的建立 ..............................................................................................6
4.数学模型的建立 ........................................................................................................8
5.用 matlab 优化计算程序及分析讨论 .......................................................................8
5.1 讨论及结果分析 ..............................................................................................9
5.2.程序代码过程 ................................................................................................12
6.参考文献 .................................................................................................................10
小结 .............................................................................................................................12
1.曲柄摇杆机构优化设计题目要求
要求设计一曲柄摇杆机构,当曲柄由ϕ0 转到ϕ0 +90°时,摇杆的输出角实现如
下给定的函数关系:
ψ = ψ 0 +
2
3π
(ϕ - ϕ0 )2
(1)
式中ϕ0 和ψ 0 分别为对应于摇杆在右极限位
置时曲柄和摇杆的位置角,它们是机架杆 l4
为原线逆时针度量的角度,见图 1。
要求在该区间的运动过程中的最小传动角不
得小于 45°,即:
γ min ≥ [γ ] = 45︒
通常把曲柄的长度当成单位长度,即 l1=1。
另外,根据机构在机器中的许
可空间,可以适当预选机架杆的长度,现取 l4 =5。
2.课题描述
π
2
π
2
应的分为 m 分,然后我将输出角对应的数值与期望函数进行拟合,如果误差降
到最小,那么得到的结果将会是优化的解,这是将连续型函数转化为离散型的
问题,利用 matalab 编程计算,从而求解。
运动模型如图
(1)所示
图
(1)曲柄摇杆机构运动模型图
3.数学模型的建立
3.1 设计变量的确定
定义:
设计变量是除设计常数之外的基本参数,在优化设计过程中不断地进行
修改、调整、一直处于变化的状态,这些基本参数都叫做设计变量。
对于本课题,设计常量为 l1, l2 长度,分别为 1 和 5。
决定机构部分杆长尺寸 l2 , l3 ,
以及摇杆按照已知运动规律开始运动时曲柄所处的位置角ϕ0 应该列为设计变量
即为
X= [x1
x2
T
T
由于整个机构的杆长都是按比例来设计的,他们都是 1 的倍数,按照题目要求
曲柄的初始位置为极位角,即ϕ0 。
则可以根据曲柄摇杆机构各杆长度关系得到
ϕ0 和相应的摇杆 l3 位置角ψ 0 的函数,关系式为
⎣2(l1 + l2 )l4⎦
⎣2l3l4⎦
(2)
(3)
由已知条件可知 l1, l2 长度分别为 1 和 5,而根据公式
(2)(3)可知,ϕ0 ψ 0
是由 l2 , l3 的长度来决定,所以 l2 , l3 为独立变量,则可以确定本课题的设计变量
X= [x1
T
T
3.2 约束条件的建立
定义:
如果一个设计满足所有对它提出的要求,成为可行设计;一个可行设计
必须满足某些设计限制条件,这些限制条件做为约束条件。
对本题分析可知机构要满足两个约束条件即
①杆长条件满足曲柄摇杆机构存在条件②传动角满足最小传动角大于 45 度
γ min ≥ [γ ] = 45︒
(1)杆长条件满足曲柄摇杆机构存在条件则有
a.最短杆与最长杆长度之和应小于或等于其余两杆之和
b.连架杆与机架中至少有一杆是最短杆
当最短杆为曲柄时即满足曲柄摇杆存在条件,得到以下约束条件
g1(x) = l2 ≥ 0 = -x1 ≤ 0
(4)
g2 (x) = l3 ≥ 0 = -x2 ≤ 0
g3 (x) = l1 + l4 - l2 - l3 ≤ 0 = 6 - x1 - x2 ≤ 0
g4 (x) = l2 + l1 - l3 - l4 ≤ 0 = x1 - x2 - 4 ≤ 0
g5 (x) = l3 + l1 - l2 - l4 ≤ 0 = x2 - x1 - 4 ≤ 0
(5)
(6)
(7)
(8)
(1)传动角满足最小传动角大于 45 度 γ min ≥ [γ ] = 45︒ (注:
以本机构为例,传
动角为 l2 , l3 之间所夹的锐角;机械原理,西工大版)
①当曲柄在[0,π ) 时,如图
(2)所示
图
(2)左极限最小传动角示意图
相应的传动角约束条件为
0
2 2
2l2l3
- [ ]≤ 0
(9)
②当曲柄在 (π ,2π ] 区间上运动时,相应的传动角约束条件为,如图(3)
图(3)右极限最小传动角示意图
⎣2l2l3⎦
(10)
这是一个具有 2 个设计变量,7 个不等式约束条件的优化设计问题,可以选用
约束优化方程成语来计算。
3.3 目标函数的建立
定义:
满足所有约束条件的设计方案是可行设计方案,优化设计的任务就是要
对各个设计方案进行比较,从而找出那个最佳的设计方案。
而对设计方案进行
优劣比较的标准就是目标函数,或称为评价指标、评价函数。
针对本课题,目标函数可根据已知的运动规律和机构实际运动规律之间的偏差
最小作为指标来建立,即取机构的期望输出角ψ = f0 (ϕ0 ) 和实际输出角
ψi = fi (ϕ0 ) 的平方误差积分最小作为目标函数,表达式为 ⎰ϕ
ϕ0 +
0
π
2
(ψ Ei -ψ i )2 dϕ ,
而这时一个连续型函数,为了方便计算,我们将这个问题转化为离散型的问题。
把输入角度ϕ 取 m 个点进行数值计算,它可以化约(4)表达式最小来求解。
f (x) = f (x1, x2 ) = ∑ (ψEi -ψi )2
m
i=1
ψ Ei --------期望输出角,ψ Ei =ψ E (ϕi ) ;
m--------输入角的等分数;
ψ i -------实际输出角,由公式
(1)可知;
(11)
由曲柄的运动情况,可以分成三种运动模型,一种是在曲柄在机架之上运动,
另一种是曲柄在机架下面运动,最后一种是二者都满足。
我将分别对此讨论,
写出相应的目标函数并分析前两种结果对最终结果的影响。
(1)当 0 ≤ ϕi ≤ π 时,如图(4)
图(4)曲柄在 0 ≤ ϕi ≤ π 区间模型图
实际输出角为
ψ i = π - αi - βi
(0 ≤ ϕi ≤ π )
(12)
⎣2ρil3⎦⎣2ρi x2⎦
(13)
⎡
⎣
⎥
⎦
⎡ ρ 2 + 24 ⎤
⎥
(14)
ρi = l12 + l42 - 2l1l4 cosϕi = 26 -10 cosϕi
(15)
π
2
这里我将输出角的等分数设置成 30,则 可以表示出实际输入角
2m
的函数为
ϕi = ϕ0 +
iπ
60
(16)
(2)当 π ≤ ϕi ≤ 2π 时,如图(5)
图(5)曲柄在 π ≤ ϕi ≤ 2π 区间运动模型图
实际输出角为
ψ i = π - αi + βi
[π ≤ ϕi ≤ 2π )
(17)
⎩ψi =π-αi +βi[π ≤ϕi ≤ 2π )
目标函数:
f (x) = f (x1, x2 ) = ∑ (ψEi -ψi )2 → min
αi , βi , ρi ,ϕi 表达式如(13)(14)(15)(16)所示。
(3)当
(1)
(2)两种情况都综合考虑进去时,则应该表示为
⎧ ψ i = π - αi - βi[0 ≤ ϕi ≤ π )
⎨
(18)
αi , βi , ρi ,ϕi 表达式如(13)(14)(15)(16)所示。
4.数学模型的建立
通过上面的分析后,将输入角分成 30 等分(m=30),经过转化为标准形式
得到曲柄摇杆机构优化设计标准数学模型为
m
i=1
设计变量:
[x1
T
T
约束条件:
见公式(4)(5)(6)(7)(8)(9)(10)
机械优化设计中的问题,大多数属于约束优化问题,此为非线性约束优化
问题,运用 MATLAB 优化工具箱的命令函数 fmincon 来处理有约束的非线性多
元函数最小化优化问题。
5.用 matlab 优化计算程序及分析讨论
5.1 讨论及结果分析
(1)当曲柄在 0 ≤ ϕi ≤ π 运动时
猜想 1.由于曲柄的实际输出角ψ i 的范围不完整,会使 (0 ≤ ϕi ≤ π ) 结果拉长到整
个 2π 区间,从而产生较大偏差。
连杆机构实现函数优化设计最优解
连杆相对长度 a=4.1286
摇杆相对长度 b=2.3226
输出角平方误差之和 f*=0.0076
最优点的性能约束函数值
最小 BCD 夹角约束函数值 g1*=-7.1214
最大 BCD 夹角约束函数值 g2*=-0.0000
图(6)当 (0 ≤ ϕi ≤ π ) 时迭代拟合图
结论:
通过对比第三种情况,发现二者结果相同,猜想不成立。
(2)当曲柄 π ≤ ϕi ≤ 2π 运动时
猜想 2.由于第一种情况下得到的结论对第三种没有影响,可以猜测在区间
[π ≤ ϕi ≤ 2π ) 不存在,或者和第三种结果一样。
结论:
Matlab 显示结果运行错误。
则可以说,第二种情况是不存在的,对结果
不产生影响。
(3)当
(1)
(2)两种情况都综合考虑进去时
连杆机构实现函数优化设计最优解
连杆相对长度 a=4.1286
摇杆相对长度 b=2.3226
输出角平方误差之和 f*=0.0076
最优点的性能约束函数值
最小 BCD 夹角约束函数值 g1*=-7.1214
最大 BCD 夹角约束函数值 g2*=-0.0000
图(7) 0 ≤ ϕi ≤ 2π 时迭代你拟合图
将连杆长度带入计算,则可以得到传动角的变化规律
图(8)传动角随输入角变化的规律图
结论:
经过 matlab 优化的曲线跟期望曲线存在细微的差别,输出角平方误差之
和 f*=0.0076 ,传动角波动范围符合要求,所以此优化方程的解符合要求。
5.2.程序代码过程
(1)优化设计主程序 M 文件
clc;
clear;
% 铰链四杆机构实现函数的优化设计的主程序
% 调用目标函数 optimfun 和非线性约束函数 confun
x0 = [6;4]; %设计变量的初始值
qb = 1;jj = 5;
% 设计变量的下界与上界
lb = [1;1];
ub = [];
a = [-1 -1;1 -1;-1 1];
b = [-6;4;4];
% 使用多维约束优化命令 fmincon
[x,fn] = fmincon(@optimfun,x0,a,b,[],[],lb,ub,@confun);
disp '连杆机构实现函数优化设计最优解'
fprintf('连杆相对长度 a=%3.4f \n',x
(1))
fprintf('摇杆相对长度 b=%3.4f \n',x
(2))
fprintf('输出角平方误差之和 f*=%3.4f \n',fn)
% 计算最优点 x*的性能约束函数值
g = confun(x);
disp '最优点的性能约束函数值'
fprintf('最小 BCD 夹角约束函数值 g1*=%3.4f\n',g
(1))
%fprintf('最大 BCD 夹角约束函数值 g2*=%3.4f\n',g
(2))
(2)调用目标函数及画图
function f=optimfun(x)
s=30;qb=1;jj=5;fx=0;
fa0=acos(((qb+x
(1))^2-x
(2)^2+jj^2)/(2*(qb+x
(1))*jj));%曲柄初始角
pu0=acos(((qb+x
(1))^2-x
(2)^2-jj^2)/(2*x
(2)*jj));%摇杆初始角
for i=1:
s
fai=fa0+0.5*pi*i/s;
pu(i)=pu0+2*(fai-fa0)^2/(3*pi);%摇杆期望角
ri=sqrt(qb^2+jj^2-2*qb*jj*cos(fai));
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));
if fai>0 & fai<=pi
ps(i)=pi-alfi-bati;
%elseif fai>pi & fai<=2pi
%ps(i)=pi-alfi+bati;
end
fx=fx+(pu(i)-ps(i))^2;
end
i=1:
30;
f=fx;%输出角平分误差之和
plot(i,ps(i),'r-.',i,pu(i),'b-*');
legend('期望曲线','实际曲线');
grid on
(3)调用约束条件
function [c,ceq]=confun(x)
qb=1;jj=5;m=45*pi/180;n=135*pi/180;
%c
(1)=x
(1)^2+x
(2)^2-(jj-qb)^2-2*x
(1)*x
(2)*cos(m);
%最小 BCD 夹角传动角约束
c
(2)=-x
(1)^2-x
(2)^2+(jj+qb)^2+2*x
(1)*x
(2)*cos(n);
%最大 BCD 夹角约束
ceq=[];
(4)传动角与输入角关系代码
%曲柄摇杆机构运动过程中传动角变化曲线图源代码
l2=4.0483 ;l3=2.6550;l4=5;
a1=acos(((1+l2)^2+l4^2-l3^2)/(2*l4*(1+l2)));
a2=pi-acos((l3^2+l4^2-(1+l2)^2)/(2*l4*l3));
for i=1:
360;
fai(i)=a1+(pi/2)*(i/360);
rou(i)=sqrt(1+l4^2-2*l4*cos(fai(i)));
if rad2deg(acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3)))<=90
CDJ(i)=acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3));
else
CDJ(i)=pi-acos((l2^2+l3^2-rou(i)^2)/(2*l2*l3));
end
end
x=fai;
y=CDJ;
plot(x,y)
xlabel('曲柄输入角/rad','fontsize',12,'fontname','宋体');
ylabel('传动角/rad','fontsize',12,'fontname','宋体');
title('给定区间内的传动角变化曲线图','fontsize',12,'fontname','宋体');
grid on
6.参考文献
【1】机械原理第七版;西北工业大学机械原理及机械零件教研室编;主编 孙
桓 陈做模 葛文杰
【2】机械优化设计;哈尔滨工业大学 孙靖民 主编
7.小结
通过对《工程优化与 matlab 实现》的学习,我初步了解了 matlab 软件的的使
用方法,接触了相关的规范准则及设计方法,最主要的,我学习了一种新的思
维方式,对我产生了不小的影响。
初次上这个课程的时候,对我来说有一定的难度,上课老师所讲述的内容我
也是似懂非懂,但是通过逐渐深入的了解,慢慢地了解原理,真的让我觉得受
益匪浅。
首先,老师在给出题目的时候曾说过三个要求,其中当提到否真正的
看过一篇文献,是否真正的完成一篇论文的时候,再加上他提起自己第一次发
表论文时,他的导师很认真的帮他改了很多遍,甚至细微到标点符号,对我来
说有点震撼,我不禁想起了平日里所写的论文--与其说论文,不如说是作文。
我都是比较随意的去写,而这次我特意去找了关于文章内容的规范写作,并且
仔细的编排了一番,本次论文模式就是参考复旦大学毕业设计论文格式。
其次,
我体会到文献资料的重要性,对于这个课题,有好多不懂的问题,我通过网上
资料然后逐渐认知,慢慢地对问题有了更深入的了解,从编辑公式到画图,再
到构思论文结构,尤其是编程的时候,对于没有基础的我,真的很头疼。
在宿
舍里大家忙着敲代码,时不时可以听到某人因为完成了某项工作而惊呼,我觉
得这种学习氛围很好,大家都在为了一件事而用尽全力,很有劲头。
还有,这
次课程学习对我来说最宝贵的莫过于思维的转变,以前对于这种复杂的或者生
疏的问题总会有胆怯和不自信,甚至根本不相信自己能够做到。
可是真正自己
下功夫细致地进入状态,我发现问题都能够解决,有句话说的好:
“不自信,
是因为不了解”。
我觉得很在理。
唯一觉得遗憾的是,在轮到我讲解关于“曲
柄的运动范围对目标函数结果的影响”的时候由于准备不充分,只有硬着头皮
上去讲,当然结局很不理想,我又一次体会到:
凡是预则立,不预则废。
对于
课程内容,我更多的了解是一种规范严谨的优化思维方式。
并且觉得这是一门
适用性很强的学科,将会在以后科学发展中有着更重要的作用。
我觉得有机会
深入学习一下将对我们以后的发展大有裨益。