您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > MATLAB机器人仿真程序
附录MATLAB机器人工具箱仿真程序:1)运动学仿真模型程序(Rob1.m)L1=link([pi/215000])L2=link([057000])L3=link([pi/213000])L4=link([-pi/200640])L5=link([pi/2000])L6=link([00095])r=robot({L1L2L3L4L5L6})r.name=’MOTOMAN-UP6’%模型的名称drivebot(r)2)正运动学仿真程序(Rob2.m)L1=link([pi/215000])L2=link([057000])L3=link([pi/213000])L4=link([-pi/200640])L5=link([pi/2000])L6=link([00095])r=robot({L1L2L3L4L5L6})r.name=’MOTOMAN-UP6’t=[0:0.01:10];%产生时间向量qA=[000000];%机械手初始关节角度qAB=[-pi/2-pi/30pi/6pi/3pi/2];%机械手终止关节角度figure('Name','up6机器人正运动学仿真演示');%给仿真图像命名q=jtraj(qA,qAB,t);%生成关节运动轨迹T=fkine(r,q);%正向运动学仿真函数plot(r,q);%生成机器人的运动figure('Name','up6机器人末端位移图')subplot(3,1,1);plot(t,squeeze(T(1,4,:)));xlabel('Time(s)');ylabel('X(m)');subplot(3,1,2);plot(t,squeeze(T(2,4,:)));xlabel('Time(s)');ylabel('Y(m)');subplot(3,1,3);plot(t,squeeze(T(3,4,:)));xlabel('Time(s)');ylabel('Z(m)');x=squeeze(T(1,4,:));y=squeeze(T(2,4,:));z=squeeze(T(3,4,:));figure('Name','up6机器人末端轨迹图');plot3(x,y,z);3)机器人各关节转动角度仿真程序:(Rob3.m)L1=link([pi/215000])L2=link([057000])L3=link([pi/213000])L4=link([-pi/200640])L5=link([pi/2000])L6=link([00095])r=robot({L1L2L3L4L5L6})r.name='motoman-up6't=[0:0.01:10];qA=[000000];qAB=[pi/6pi/6pi/6pi/6pi/6pi/6];q=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,q(:,1));title('转动关节1');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,2);plot(t,q(:,2));title('转动关节2');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,3);plot(t,q(:,3));title('转动关节3');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,4);plot(t,q(:,4));title('转动关节4');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,5);plot(t,q(:,5));title('转动关节5');xlabel('时间/s');ylabel('角度/rad');subplot(6,1,6);plot(t,q(:,6));title('转动关节6');xlabel('时间/s');ylabel('角度/rad');4)机器人各关节转动角速度仿真程序:(Rob4.m)t=[0:0.01:10];qA=[000000];%机械手初始关节量qAB=[1.5709-0.8902-0.0481-0.51781.0645-1.0201];[q,qd,qdd]=jtraj(qA,qAB,t);Plot(r,q);subplot(6,1,1);plot(t,qd(:,1));title('转动关节1');xlabel('时间/s');ylabel('rad/s');subplot(6,1,2);plot(t,qd(:,2));title('转动关节2');xlabel('时间/s');ylabel('rad/s');subplot(6,1,3);plot(t,qd(:,3));title('转动关节3');xlabel('时间/s');ylabel('rad/s');subplot(6,1,4);plot(t,qd(:,4));title('转动关节4');xlabel('时间/s');ylabel('rad/s');subplot(6,1,5);plot(t,qd(:,5));title('转动关节5');xlabel('时间/s');ylabel('rad/s');subplot(6,1,6);plot(t,qd(:,6));title('转动关节6');xlabel('时间/s');ylabel('rad/s');5)机器人各关节转动角加速度仿真程序:(Rob5.m)t=[0:0.01:10];%产生时间向量qA=[000000]qAB=[1.5709-0.8902-0.0481-0.51781.0645-1.0201];[q,qd,qdd]=jtraj(qA,qAB,t);figure('name','up6机器人机械手各关节加速度曲线');subplot(6,1,1);plot(t,qdd(:,1));title('关节1');xlabel('时间(s)');ylabel('加速度(rad/s^2)');subplot(6,1,2);plot(t,qdd(:,2));title('关节2');xlabel('时间(s)');ylabel('加速度(rad/s^2)');subplot(6,1,3);plot(t,qdd(:,3));title('关节3');xlabel('时间(s)');ylabel('加速度(rad/s^2)')subplot(6,1,4);plot(t,qdd(:,4));title('关节4');xlabel('时间(s)');ylabel('加速度(rad/s^2)')subplot(6,1,5);plot(t,qdd(:,5));title('关节5');xlabel('时间(s)');ylabel('加速度(rad/s^2)')subplot(6,1,6);plot(t,qdd(:,6));title('关节6');xlabel('时间(s)');ylabel('加速度(rad/s^2)')
本文标题:MATLAB机器人仿真程序
链接地址:https://www.777doc.com/doc-4655555 .html