四连杆机构运动学分析张海涛.docx

上传人:b****7 文档编号:26688618 上传时间:2023-06-21 格式:DOCX 页数:25 大小:264.48KB
下载 相关 举报
四连杆机构运动学分析张海涛.docx_第1页
第1页 / 共25页
四连杆机构运动学分析张海涛.docx_第2页
第2页 / 共25页
四连杆机构运动学分析张海涛.docx_第3页
第3页 / 共25页
四连杆机构运动学分析张海涛.docx_第4页
第4页 / 共25页
四连杆机构运动学分析张海涛.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

四连杆机构运动学分析张海涛.docx

《四连杆机构运动学分析张海涛.docx》由会员分享,可在线阅读,更多相关《四连杆机构运动学分析张海涛.docx(25页珍藏版)》请在冰豆网上搜索。

四连杆机构运动学分析张海涛.docx

四连杆机构运动学分析张海涛

四连杆机构运动学分析

使用ADAMS建立如图1所示的四连杆机构,二杆长150mm,三杆长500mm,四杆长450mm,二杆的转动速度为πrad/s,二杆初始角度为90度。

用Matlab建立该系统的运动约束方程,计算结果,并与ADAMS仿真结果进行对比。

C点

A点

B点

三杆

图1四杆机构

一、位置分析

1、由地面约束得到:

2、由O点约束得:

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));

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;

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所示。

图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));

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));

-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求解关于

的微分方程组,程序为

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));

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));

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));

-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的曲线。

四、说明

1、由于ADAMS测量的初始角小于180度,为90度,而四杆的初始角度为270度。

为了比较结果,将Matlab计算得到的四杆角度减去180度,再与ADAMS结果对比。

程序为:

plot(t,q(12,:

)-pi,'-*')。

2、下面图10得到的二杆的角加速度曲线,波动非常大。

但是波动振幅非常小,小于

,是由ADAMS仿真的精确度造成的,误差在允许的范围内。

3、由于在ADAMS中只能由三个点测角度,三杆的角度无法测量。

所以再建立两个辅助杆,用于测量三杆的角度,如下图3辅助杆1和辅助杆2。

再就可以测量由E、F、G点组成的角度作为三杆的角度。

4、Matlab解非线性方程组的初始值非常重要,如果设定不正确,可能造成四连杆机构开始的各杆位置不正确。

5、由ADAMS仿真结果导出为tab文件必须去掉前几行的英文说明,否则Matlab无法读取。

辅助杆2

点F

点E

点G

辅助杆1

图3辅助测量杆

五、Matlab程序

求雅克比矩阵的Matlab程序在附录一中,运动学分析程序在的附录二中。

六、Matlab与ADAMS曲线对比

图4二杆位置曲线

图5三杆位置曲线

图6四杆位置曲线

图7二杆速度曲线

图8三杆速度曲线

图9四杆速度曲线

图10二杆加速度曲线

图11三杆加速度曲线

图12四杆加速度曲线

 

附录一:

求雅克比矩阵的Matlab程序

clc

clear

l2=150;

l3=500;

l4=450;

l5=400;

w=pi;

zhj0=pi/2;

y=[000000000000]

symsx1x2x3x4x5x6x7x8x9x10x11x12

g=[x1;x2;x3;x4-l2/2*cos(x6);

x5-l2/2*sin(x6);

x4+l2/2*cos(x6)-x7+l3/2*cos(x9);

x5+l2/2*sin(x6)-x8+l3/2*sin(x9);

x7+l3/2*cos(x9)-x10+l4/2*cos(x12);

x8+l3/2*sin(x9)-x11+l4/2*sin(x12);

x10+l4/2*cos(x12)-x1-l5;

x11+l4/2*sin(x12)-x2;

x6-w*i-zhj0]

jacobian(g,[x1x2x3x4x5x6x7x8x9x10x11x12])

 

附录二:

运动学分析的Matlab程序

%对四杆杆机构的进行运动学分析

clear

clc

q=[];%q是广义坐标

q_v=[];%q_v是与q对应的速度

q_ac=[];%q_ac是与q对应的加速度

t=0:

0.1:

6;

l2=150;%二杆长度

l3=500;%三杆长度

l4=450;%四杆长度

l5=400;%两个底座之间的距离

w=pi;%二杆的转速

zhj0=pi/2;%二杆的初始角度

x0=[000075pi/2200300pi/44002251.5*pi]';%X0是求根过程的初值

n=1;%记录每一时刻的计数器

%%对二杆,三杆,四杆进行位置分析,解其约束方程

fori=0:

0.1:

6%时间从0到6秒,二杆转三个周期

%x

(1),x

(2),x(3)分别为地面铰接点的x坐标、y坐标、转角,x(4),x(5),x(6)分别为二杆的x坐标、y坐标、转角。

%x(7),x(8),x(9)分别为三杆的x坐标、y坐标、转角x(10),x(11),x(12)分别为四杆的x坐标、y坐标、转角。

fx=@(x)([x

(1);%函数句柄@(x)表示未知数是x数组,类似C(q,t)=0;q=[x

(1)x

(2)x(3)x(4)x(5)x(6)x(7)x(8)x(9)x(10)x(11)x(12)]'

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));

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;

x(11)+l4/2*sin(x(12))-x

(2);

x(6)-w*i-zhj0;]);

opt=optimset('display','off');

x=fsolve(fx,x0,opt);%解非线性方程组

q(:

n)=x;%把第一个间隔时间处的9个未知量数组x存入q第一列。

%对二杆,三杆,四杆进行速度分析

%y

(1),y

(2),y(3)为地面铰接点的速度分量,y(4),y(5),y(6)为二杆的速度分量,y(7),y(8),y(9)为三杆的速度分量,y(10),y(11),y(12)为四杆的速度分量。

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));

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));

-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;

%对二杆,三杆,四杆进行加速度分析

%z

(1),z

(2),z(3)为地面铰接点的加速度分量,z(4),z(5),z(6)为二杆的加速度分量,z(7),z(8),z(9)为三杆的加速度分量,z(10),z(11),z(12)为四杆的加速度分量。

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));

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));

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));

-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;

n=n+1;%列数加1

x0=x;%换解方程组的初始值

end

 

%作图各杆位置分析

figure

(1)

subplot(311)

plot(t,q(4,:

),'-*')%画出q数组的第四行所有的数

holdon

data1=load('2xy.tab');%导入ADAMS的输出tab文件

plot(data1(:

1),data1(:

2),'r')%画出tab文件的第一列和第二列

title('二杆x方向坐标曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q(5,:

),'-*')

holdon

plot(data1(:

1),data1(:

3),'r')

legend('matlab曲线','adams曲线')

title('二杆y方向坐标曲线')

subplot(313)

plot(t,q(6,:

),'-*')

holdon

data2=load('2a.tab');

plot(data2(:

1),data2(:

2),'r')

title('二杆转角曲线')

legend('matlab曲线','adams曲线')

'adamsÇúÏß

figure

(2)

subplot(311)

plot(t,q(7,:

),'-*')

holdon

data3=load('3xy.tab');

plot(data3(:

1),data3(:

2),'r')

title('三杆x方向坐标曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q(8,:

),'-*')

holdon

plot(data3(:

1),data3(:

3),'r')

title('三杆y方向坐标曲线')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q(9,:

),'-*')

holdon

data4=load('3a.tab');

plot(data4(:

1),data4(:

2),'r')

title('三杆转角曲线')

legend('matlab曲线','adams曲线')

figure(3)

subplot(311)

plot(t,q(10,:

),'-*')

holdon

data4axy=load('4axy.tab');

plot(data4axy(:

1),data4axy(:

3),'r')

title('四杆x方向坐标曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q(11,:

),'-*')

holdon

plot(data4axy(:

1),data4axy(:

4),'r')

title('四杆y方向坐标曲线')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q(12,:

)-pi,'-*')%由于在ADAMS中测出的四杆初始角为pi/2,而实际四杆的为1.5*pi。

holdon%所以把matlab算出的初始角减pi,再与ADAMS计算结果比较。

plot(data4axy(:

1),data4axy(:

2),'r')

title('四杆转角曲线')

legend('matlab曲线','adams曲线')

 

%作图各杆速度分析

figure(4)

subplot(311)

plot(t,q_v(4,:

),'-*')

holdon

data2vaxy=load('gan2vaxy.tab');

plot(data2vaxy(:

1),data2vaxy(:

3),'r')

title('二杆x方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_v(5,:

),'-*')

holdon

plot(data2vaxy(:

1),data2vaxy(:

4),'r')

title('二杆y方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_v(6,:

),'-*')

holdon

gan2aa=load('gan2aa.tab');

plot(gan2aa(:

1),gan2aa(:

2),'r')

axis([0633.5])

title('二杆角速度曲线')

legend('matlab曲线','adams曲线')

figure(5)

subplot(311)

plot(t,q_v(7,:

),'-*')

holdon

data3vaxy=load('gan3vaxy.tab');

plot(data3vaxy(:

1),data3vaxy(:

3),'r')

title('三杆x方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_v(8,:

),'-*')

holdon

plot(data3vaxy(:

1),data3vaxy(:

4),'r')

title('三杆y方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_v(9,:

),'-*')

holdon

plot(data3vaxy(:

1),data3vaxy(:

2),'r')

title('三杆角速度曲线')

legend('matlab曲线','adams曲线')

figure(6)

subplot(311)

plot(t,q_v(10,:

),'-*')

holdon

data4vaxy=load('gan4vaxy.tab');

plot(data4vaxy(:

1),data4vaxy(:

3),'r')

title('四杆x方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_v(11,:

),'-*')

holdon

plot(data4vaxy(:

1),data4vaxy(:

4),'r')

title('四杆y方向速度曲线')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_v(12,:

),'-*')

holdon

plot(data4vaxy(:

1),data4vaxy(:

2),'r')

title('四杆角速度曲线')

legend('matlab曲线','adams曲线')

 

%作图各杆加速度分析

figure(7)

gan2ac=load('gan2ac_axy.tab');

subplot(311)

plot(t,q_ac(4,:

),'-*')

holdon

plot(gan2ac(:

1),gan2ac(:

3),'r')

title('二杆x方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_ac(5,:

),'-*')

holdon

plot(gan2ac(:

1),gan2ac(:

4),'r')

title('二杆y方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_ac(6,:

),'-*')

holdon

plot(gan2ac(:

1),gan2ac(:

2),'r')

title('二杆角加速度分析')

legend('matlab曲线','adams曲线')

figure(8)

gan3ac=load('gan3ac_axy.tab');

subplot(311)

plot(t,q_ac(7,:

),'-*')

holdon

plot(gan3ac(:

1),gan3ac(:

3),'r')

title('三杆x方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_ac(8,:

),'-*')

holdon

plot(gan3ac(:

1),gan3ac(:

4),'r')

title('三杆y方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_ac(9,:

),'-*')

holdon

plot(gan3ac(:

1),gan3ac(:

2),'r')

title('三杆角加速度分析')

legend('matlab曲线','adams曲线')

figure(9)

gan4ac=load('gan4ac_axy.tab');

subplot(311)

plot(t,q_ac(10,:

),'-*')

holdon

plot(gan4ac(:

1),gan4ac(:

3),'r')

title('四杆x方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(312)

plot(t,q_ac(11,:

),'-*')

holdon

plot(gan4ac(:

1),gan4ac(:

4),'r')

title('四杆y方向加速度分析')

legend('matlab曲线','adams曲线')

subplot(313)

plot(t,q_ac(12,:

),'-*')

holdon

plot(gan4ac(:

1),gan4ac(:

2),'r')

title('四杆角加速度分析')

legend('matlab曲线','adams曲线')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1