四连杆机构运动学分析——张海涛
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
z(5)-z(6)*l2/2*cos(x(6))-y(6)^2*l2/2*sin(x(6))-z(8)+z(9)*l3/2*cos(x(9))-y(9)^2*l3/2*sin(x(9));
z(7)-z(9)*l3/2*sin(x(9))-y(9)^2*l3/2*cos(x(9))-z(10)-z(12)*l4/2*sin(x(12))-y(12)^2*l4/2*cos(x(12));
x(11)+l4/2*sin(x(12))-x(2);
x(6)-w*i-zhj0;]);
x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11) x(12)分别表示 、 、 、 、 、 、 、 、 、 、 、 。
二、速度分析
由Matlab求该系统的雅克比矩阵如图2所示。
-y(1)+y(10)-y(12)*l4/2*sin(x(12));
-y(2)+y(11)+y(12)*l4/2*cos(x(12));
y(6)-w;]);
y=fsolve(fy,x0,opt);
q_v(:,n)=y;
三、加速度分析
进一步对 的微分方程组关于q求偏导,进行加速度分析,约束方程为:
用Matlab求解关于 的微分方程组,程序为:
z(8)+z(9)*l3/2*cos(x(9))-y(9)^2*l3/2*sin(x(9))-z(11)+z(12)*l4/2*cos(x(12))-y(12)^2*l4/2*sin(x(12));
-z(1)+z(10)-z(12)*l4/2*sin(x(12))-y(12)^2*l4/2*cos(x(12));
x(5)+l2/2*sin(x(6))-x(8)+l3/2*sin(x(9));
x(7)+l3/2*cos(x(9))-x(10)+l4/2*cos(x(12));
x(8)+l3/2*sin(x(9))-x(11)+l4/2*sin(x(12));
x(10)+l4/2*cos(x(12))-x(1)-l5;
3、由A点约束得:
4、由B点约束得:
5、由C点约束得:
6、由二杆驱动约束得:
积分得:
由上面九个方程组成此机构的运动约束方程,用Matlab表示为:
fx=@(x)([x(1);
x(2);
x(3);
x(4)-l2/2*cos(x(6));
x(5)-l2/2*sin(x(6));
x(4)+l2/2*cos(x(6))-x(7)+l3/2*cos(x(9));
y(5)+y(6)*l2/2*cos(x(6))-y(8)+y(9)*l3/2*cos(x(9));
y(7)-y(9)*l3/2*sin(x(9))-y(10)-y(12)*l4/2*sin(x(12));
y(8)+y(9)*l3/2*cos(x(9))-y(11)+y(12)*l4/2*cos(x(12));
四连杆机构运动学分析
使用ADAMS建立如图1所示的四连杆机构,二杆长150mm,三杆长500mm,四杆长450mm,二杆的转动速度为πrad/s,二杆初始角度为90度。用Matlab建立该系统的运动约束方程,计算结果,并与ADAMS仿真结果进行对比。
图1四杆机构
一、位置分析
1、由地面约束得到:
2、由O点约束得:
fz=@(z)([z(1);
z(2);
z(3);
z(4)+z(6)*l2/2*sin(x(6))+y(6)^2*l2/2*cos(x(6));
z(5)-z(6)*l2/2*cos(x(6))+y(6)^2*l2/2*sin(x(6));
z(4)-z(6)*l2/2*sin(x(6))-y(6)^2*l2/2*cos(x(6))-z(7)-z(9)*l3/2*sin(x(9))-y(9)^2*l3/2*cos(x(9));
四、说明
1、由于ADAMS测量的初始角小于180度,为90度,而四杆的初始角度为270度。Βιβλιοθήκη Baidu了比较结果,将Matlab计算得到的四杆角度减去180度,再与ADAMS结果对比。程序为:plot(t,q(12,:)-pi,'-*')。
2、下面图10得到的二杆的角加速度曲线,波动非常大。但是波动振幅非常小,小于 ,是由ADAMS仿真的精确度造成的,误差在允许的范围内。
-z(2)+z(11)+z(12)*l4/2*cos(x(12))-y(12)^2*l4/2*sin(x(12));
z(6);]);
z=fsolve(fz,x0,opt);
q_ac(:,n)=z;
由Matlab建立四杆机构的模型,进行仿真,仿真时间为6秒,步数为600步。并输出各杆的位置、速度和加速度曲线,将ADAMS仿真结果导出为tab格式,再导入Matlab中。与Matlab的曲线进行对比,得到如图4-12的曲线。
3、由于在ADAMS中只能由三个点测角度,三杆的角度无法测量。所以再建立两个辅助杆,用于测量三杆的角度,如下图3辅助杆1和辅助杆2。再就可以测量由E、F、G点组成的角度作为三杆的角度。
4、Matlab解非线性方程组的初始值非常重要,如果设定不正确,可能造成四连杆机构开始的各杆位置不正确。
5、由ADAMS仿真结果导出为tab文件必须去掉前几行的英文说明,否则Matlab无法读取。
图2系统雅克比矩阵
速度约束方程组为:
用Matlab求解关于 的微分方程组,程序为:
fy=@(y)([y(1);
y(2);
y(3);
y(4)+y(6)*l2/2*sin(x(6));
y(5)-y(6)*l2/2*cos(x(6));
y(4)-y(6)*l2/2*sin(x(6))-y(7)-y(9)*l3/2*sin(x(9));
clc
clear
l2=150;
l3=500;
l4=450;
l5=400;
w=pi;
zhj0=pi/2;
图3辅助测量杆
五、Matlab程序
求雅克比矩阵的Matlab程序在附录一中,运动学分析程序在的附录二中。
六、Matlab与ADAMS曲线对比
图4二杆位置曲线
图5三杆位置曲线
图6四杆位置曲线
图7二杆速度曲线
图8三杆速度曲线
图9四杆速度曲线
图10二杆加速度曲线
图11三杆加速度曲线
图12四杆加速度曲线
附录一:求雅克比矩阵的Matlab程序
z(7)-z(9)*l3/2*sin(x(9))-y(9)^2*l3/2*cos(x(9))-z(10)-z(12)*l4/2*sin(x(12))-y(12)^2*l4/2*cos(x(12));
x(11)+l4/2*sin(x(12))-x(2);
x(6)-w*i-zhj0;]);
x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11) x(12)分别表示 、 、 、 、 、 、 、 、 、 、 、 。
二、速度分析
由Matlab求该系统的雅克比矩阵如图2所示。
-y(1)+y(10)-y(12)*l4/2*sin(x(12));
-y(2)+y(11)+y(12)*l4/2*cos(x(12));
y(6)-w;]);
y=fsolve(fy,x0,opt);
q_v(:,n)=y;
三、加速度分析
进一步对 的微分方程组关于q求偏导,进行加速度分析,约束方程为:
用Matlab求解关于 的微分方程组,程序为:
z(8)+z(9)*l3/2*cos(x(9))-y(9)^2*l3/2*sin(x(9))-z(11)+z(12)*l4/2*cos(x(12))-y(12)^2*l4/2*sin(x(12));
-z(1)+z(10)-z(12)*l4/2*sin(x(12))-y(12)^2*l4/2*cos(x(12));
x(5)+l2/2*sin(x(6))-x(8)+l3/2*sin(x(9));
x(7)+l3/2*cos(x(9))-x(10)+l4/2*cos(x(12));
x(8)+l3/2*sin(x(9))-x(11)+l4/2*sin(x(12));
x(10)+l4/2*cos(x(12))-x(1)-l5;
3、由A点约束得:
4、由B点约束得:
5、由C点约束得:
6、由二杆驱动约束得:
积分得:
由上面九个方程组成此机构的运动约束方程,用Matlab表示为:
fx=@(x)([x(1);
x(2);
x(3);
x(4)-l2/2*cos(x(6));
x(5)-l2/2*sin(x(6));
x(4)+l2/2*cos(x(6))-x(7)+l3/2*cos(x(9));
y(5)+y(6)*l2/2*cos(x(6))-y(8)+y(9)*l3/2*cos(x(9));
y(7)-y(9)*l3/2*sin(x(9))-y(10)-y(12)*l4/2*sin(x(12));
y(8)+y(9)*l3/2*cos(x(9))-y(11)+y(12)*l4/2*cos(x(12));
四连杆机构运动学分析
使用ADAMS建立如图1所示的四连杆机构,二杆长150mm,三杆长500mm,四杆长450mm,二杆的转动速度为πrad/s,二杆初始角度为90度。用Matlab建立该系统的运动约束方程,计算结果,并与ADAMS仿真结果进行对比。
图1四杆机构
一、位置分析
1、由地面约束得到:
2、由O点约束得:
fz=@(z)([z(1);
z(2);
z(3);
z(4)+z(6)*l2/2*sin(x(6))+y(6)^2*l2/2*cos(x(6));
z(5)-z(6)*l2/2*cos(x(6))+y(6)^2*l2/2*sin(x(6));
z(4)-z(6)*l2/2*sin(x(6))-y(6)^2*l2/2*cos(x(6))-z(7)-z(9)*l3/2*sin(x(9))-y(9)^2*l3/2*cos(x(9));
四、说明
1、由于ADAMS测量的初始角小于180度,为90度,而四杆的初始角度为270度。Βιβλιοθήκη Baidu了比较结果,将Matlab计算得到的四杆角度减去180度,再与ADAMS结果对比。程序为:plot(t,q(12,:)-pi,'-*')。
2、下面图10得到的二杆的角加速度曲线,波动非常大。但是波动振幅非常小,小于 ,是由ADAMS仿真的精确度造成的,误差在允许的范围内。
-z(2)+z(11)+z(12)*l4/2*cos(x(12))-y(12)^2*l4/2*sin(x(12));
z(6);]);
z=fsolve(fz,x0,opt);
q_ac(:,n)=z;
由Matlab建立四杆机构的模型,进行仿真,仿真时间为6秒,步数为600步。并输出各杆的位置、速度和加速度曲线,将ADAMS仿真结果导出为tab格式,再导入Matlab中。与Matlab的曲线进行对比,得到如图4-12的曲线。
3、由于在ADAMS中只能由三个点测角度,三杆的角度无法测量。所以再建立两个辅助杆,用于测量三杆的角度,如下图3辅助杆1和辅助杆2。再就可以测量由E、F、G点组成的角度作为三杆的角度。
4、Matlab解非线性方程组的初始值非常重要,如果设定不正确,可能造成四连杆机构开始的各杆位置不正确。
5、由ADAMS仿真结果导出为tab文件必须去掉前几行的英文说明,否则Matlab无法读取。
图2系统雅克比矩阵
速度约束方程组为:
用Matlab求解关于 的微分方程组,程序为:
fy=@(y)([y(1);
y(2);
y(3);
y(4)+y(6)*l2/2*sin(x(6));
y(5)-y(6)*l2/2*cos(x(6));
y(4)-y(6)*l2/2*sin(x(6))-y(7)-y(9)*l3/2*sin(x(9));
clc
clear
l2=150;
l3=500;
l4=450;
l5=400;
w=pi;
zhj0=pi/2;
图3辅助测量杆
五、Matlab程序
求雅克比矩阵的Matlab程序在附录一中,运动学分析程序在的附录二中。
六、Matlab与ADAMS曲线对比
图4二杆位置曲线
图5三杆位置曲线
图6四杆位置曲线
图7二杆速度曲线
图8三杆速度曲线
图9四杆速度曲线
图10二杆加速度曲线
图11三杆加速度曲线
图12四杆加速度曲线
附录一:求雅克比矩阵的Matlab程序