matlab机器人工具箱学习

选了机器人的课,作业需要用matlab机器人工具箱robotic toolbox。作业要求是搭建一个机械臂,然后在工作空间某个平面内写一个字,涉及到机器人的轨迹规划,求逆解。步骤:

1. 搭建四轴scara机器人:

DH模型

i α a d Θ
1 0 225 0 Θ1
2 0 175 0 Θ2
3 0 0 d 0
4 0 0 0 Θ3
创建机器人:
%DH模型-创建scara机器人
L1=link([0 225 0 0 0]);
L2=link([0 175 0 0 0]);
L3=link([0 0 0 0 1]);
L4=link([0 0 0 0 0]);
r=robot({L1 L2 L3 L4});
r.name='Scara LS3';
drivebot(r);
2. 轨迹规划:
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">采用直线规划,设置线段的两个端点,然后对线段中间点进行插值,可以选择多种的插值方式,本程序采用其自带的ctraj函数,本质是多项式插值。</span>

如对“口”字进行规划,设定四个顶点的位置坐标:

T0=transl([300,-50,-50]);   %目标点位置,下同
T1=transl([300,50,-50]);
T2=transl([250,50,-50]);
T3=transl([250,-50,-50]);
T4=transl([300,-50,-50]);
设置初始位置,时间间隔:

t=0:0.05:2;
qA=[0 0 -50 0]; %初始位置(关节空间)
需要注意初始位置是在关节空间下。

然后进行轨迹离散点生成:

t01=ctraj(T0,T1,length(t)); %直角空间轨迹规划,多项式插值
TC1=transl(t01);            %离散点
t02=ctraj(T1,T2,length(t));
TC2=transl(t02);
t03=ctraj(T2,T3,length(t));
TC3=transl(t03);
t04=ctraj(T3,T4,length(t));
TC4=transl(t04);
合并生成的轨迹为TTC后,计算每个离散点下的机器人关节坐标,即求逆解:

qs_store = [];  %存储关节向量
for i=1:size(TTC',2)
    tc1=[eye(3,3),TTC(i,:)'];
    TTC1=[tc1;[0 0 0 1]];
    qs=ikine(r,TTC1,qA,[1 1 1 1 0 0]);%逆运动学,机器人逆解
    qA=qs;
    qs_store(i,:) = qA; %保存关节向量
end
求出关节向量后,驱动机器人画图:

plot(r,qs_store);   %机器人运动仿真

结束。









阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dangkie/article/details/52369022
上一篇空间直线最小二乘拟合
下一篇轨迹平滑方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭