24小时热门版块排行榜    

查看: 10626  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Fighterxi

金虫 (小有名气)

[求助] 请问Matlab robotic Toolbox中怎么让机械手运动时末端走过的轨迹显示出来? 已有1人参与

大家好 请问 Matlba robitic Toolbox中怎么让机械手运动时末端走过的轨迹显示出来?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanghanjiang

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
Fighterxi: 金币+20, ★★★★★最佳答案, 谢谢,很详细。 2016-07-04 23:23:19
楼主,抱歉,上午听讲座去了。
此方法不一定是最快速合适的,但是可以达到你想要的效果。

笛卡尔空间中进行轨迹规划:
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以上版本。

希望能帮助到楼主。
15楼2016-07-04 16:01:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

2633254375

新虫 (初入文坛)

没做过,这个是在Simulink下的模块吗?个人感觉可以在手的末端添加一个点,然后分析点的运动。

发自小木虫Android客户端
4楼2016-07-01 22:13:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Random_Name

金虫 (著名写手)

这要修改工具箱中函数的程序

发自小木虫Android客户端
5楼2016-07-02 15:58:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yanghanjiang

新虫 (小有名气)

6楼2016-07-03 11:18:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见