matlab可以输出执行末端的轨迹吗,请问Matlab robotic Toolbox中怎么让机械手运动时末端走过的轨迹显示出来?...

楼主,抱歉,上午听讲座去了。

此方法不一定是最快速合适的,但是可以达到你想要的效果。

笛卡尔空间中进行轨迹规划:

1. traj_1=ctraj(T0,T1,length(t)); % 先调用ctraj函数获得在笛卡尔空间中所规划轨迹的控制点,赋值给变量traj_1,其中T0,T1分别为机械臂末端执行器初始和目标位姿矩阵,length(t)为轨迹控制点个数;

2. JTA=transl(traj_1); % 利用transl函数求得笛卡尔坐标系中每个轨迹控制点的位置坐标,并将该位置坐标值赋给JTA;

3. plot2(JTA,'b') % 利用蓝色的点绘制所有轨迹。

关节空间中进行轨迹规划:

1. traj_1=jtraj(Q0,Q1,t); % 先调用jtraj函数获得在关节空间中所规划的机器人构型对应的关节角度值,赋值给变量traj_1,其中Q0,Q1分别为机械臂初始和目标构型所对应的关节坐标值,t用来控制为轨迹控制点个数,这里设置为t=0:0.1:2;

2. JTA=transl(Rbt.fkine(traj_1)); % 利用Rbt.fkine函数求得笛卡尔空间中机器人每个轨迹控制位形所对应的末端执行器位置坐标,并将该位置坐标值赋给JTA;其中,Rbt为利用SerialLink函数建立的机器人模型函数名;fkine为进行正运动学分析的函数,Rbt.fkine函数所输出的是4×4的末端执行器位姿矩阵;transl函数从4×4位姿矩阵中提出位置矩阵。

3. plot2(JTA,'b') % 利用蓝色的点绘制所有轨迹。

这里至关重要的就是了解ctraj和jtraj函数输出矩阵的区别,ctraj输出的是末端执行器的位姿矩阵的集合,jtraj输出的是机器人不同构型所对应的关节角度值矩阵。然后了解transl函数的功能是从4×4末端执行器位姿矩阵中提取表示位置的那部分矩阵(第四列,前三行,分别表示x,y,z)。

使用的MATLAB版本高于2014a,且安装了Robotics Toolbox 9.8以上版本。

希望能帮助到楼主。