【Scara机器人关节空间轨迹规划-机器人工具箱函数jtraj】1、前记:记录下scara机器人建模和轨迹规划。由于有移动关节的存在,稍微和六轴的有区别。
clc
clear
L1=Link([0 0 0 0 0],'modified');
L2=Link([0 0 200 pi 0],'modified');
L3=Link([0 0 150 0 1],'modified');
%移动关节最后一个参数为1
L4=Link([0 0.20 0 0 0],'modified');
Robot=SerialLink([L1 L2 L3 L4],'name','Scara');
Robot.qlim=[-125*pi/180 125*pi/180;
-140*pi/180 140*pi/180;
0 200;
-3*pi 3*pi];
%关节限制
Robot.plot([0 0 0 0], 'workspace',[-400 400 -400 400 -300 300]);
%空间范围定义
% Robot.teach()
q0=[0 0 0 0];
q1b=[pi/2 0 100 -3*pi];
q1=[pi/2 0 200 3*pi];
q2=[pi/2 0 0 pi];
q3=[0 0 0 0];
t=0:.04:2;
sqtraj1=jtraj(q0,q1b,t);
sqtraj2=jtraj(q1b,q1,t);
sqtraj3=jtraj(q1,q2,t);
sqtraj4=jtraj(q2,q3,t);
hold on
atj=zeros(4,4);
view(3)
hold on
for i=1:1:51
atj=Robot.fkine(sqtraj1(i,:));
jta=transpose(atj);
JTA(i,:)=jta.t;
jta=JTA;
plot2(jta(i,:),'r.')
Robot.plot(sqtraj1(i,:))
plot2(JTA,'b')
end
for i=1:1:51
atj=Robot.fkine(sqtraj2(i,:));
jta=transpose(atj);
JTA(i,:)=jta.t;
jta=JTA;
plot2(jta(i,:),'r.')
Robot.plot(sqtraj2(i,:))
plot2(JTA,'b')
end
for i=1:1:51
atj=Robot.fkine(sqtraj3(i,:));
jta=transpose(atj);
JTA(i,:)=jta.t;
jta=JTA;
plot2(jta(i,:),'r.')
Robot.plot(sqtraj3(i,:))
plot2(JTA,'b')
end
for i=1:1:51
atj=Robot.fkine(sqtraj4(i,:));
jta=transpose(atj);
JTA(i,:)=jta.t;
jta=JTA;
plot2(jta(i,:),'r.')
Robot.plot(sqtraj4(i,:))
plot2(JTA,'b')
end
效果(打孔、拧螺丝动作):
文章图片
后记:在matlab2018a中,工具箱为10.3.其他版本报错可参考:https://blog.csdn.net/weixin_39090239/article/details/105022806
该演示Scara机器人建模参考:https://blog.csdn.net/qq_38023025/article/details/98777586?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
轨迹规划参考:https://blog.csdn.net/weixin_39090239/article/details/80962723
推荐阅读
- Robotics System Toolbox中的机器人运动 (4)
- MATLAB简单机器人视觉控制(仿真3)
- 具有逆运动学的2维轨迹跟踪(翻译--个人学习记录)
- 一种从Robotstudio环境中导出机器人模型并在MATLAB下使其可视化的研究记录
- MATLAB和机器人|MATLAB机器人工具箱(记一次轨迹生成2)
- matlab机械臂运动(2)
- MATLAB下机器人可视化与控制---simulink篇(2)
- MATLAB简单机器人视觉控制(仿真2)
- MATLAB下机器人可视化与控制---simulink篇(4)