????需要机械臂相关资源的同学可以在评论区中留言哦???

指南目录?:
???以下为正文???


第一步,我们使用下列语句?实现五次多项式插值(使用前需安装The Robotics Toolbox for MATLAB,可直接在官网下载)
M=50;
[q, qd, qdd]=jtraj(q_0,q_final,M); #没有指定机械臂起点速度以及终点速度,默认为0
#若需要指定起点速度以及终点速度,上式改为[q, qd, qdd]=jtraj(q_0,q_final,M,v_0,v_final);
#v_0与v_final分别为起点速度以及终点速度
#q_0,q_final,M分别为起始点、终点以及插值的步数设机械臂的自由度为N=6,所插多项式曲线表示关节空间轨迹q,关节坐标从q_0 (1xN)到q_final (1xN)的变化。该五次多项式被用于默认速度和加速度为零的边界条件,即在起点和终点处机械臂的速度与加速度均为0。
式中,q,qd与qdd均为M×N的数组,每个时间步长一行,每个关节一列。以本文为例,工作区中三者显示为:

第二步,使用下方语句得到末端执行器的位姿
T=robot2.fkine(q);其中,T的类型为SE3,无法直接在空间中描绘
![]()
使用下方语句转换
nT=T.T;nt可看作50个插值点的齐次变换矩阵

第三步,使用下方语句在空间中描点
plot3(squeeze(nT(1,4,:)),squeeze(nT(2,4,:)),squeeze(nT(3,4,:)));其中squeeze()的作用是删除长度为 1 的维度,如第一个squeeze(nT(1,4,:))的作用是将nT(1,4,:)从1×1×50的数组变为1×50的数组。
最终可以得到机械臂在空间中的运动轨迹如下图所示:

最后,使用简单的plot函数得到机械臂位置、速度与加速度的图像

版权声明:本文为m0_53966219原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。