Robotics System Toolbox中的机器人运动(0)

1.前言:Robotics System Toolbox【机器人系统工具箱https://ww2.mathworks.cn/help/robotics/】从2015开始到现在已经更新了5年之久,很多小伙伴也问我相关的问题。有时候只能勉强的回答一些简单的问题,因为自己在机器人这方面的积累实在是差强人意好多。最好的学习地方还是强推mathworks官网【上面给出的连接直接进入!具体的就不多说了,按照网页排版学习就OK】,另外强推下载最新版本2020a进行学习!如下图看到就想学的例子.......

说到机器人工具箱,最早的还是Peter教授的Robotics Toolbox包含了机器人学中的大部分问题,深受学术研究人员和开发者们喜爱。我在找相关paper的时候,发现Peter老爷子在2017年还专门写了篇简单的教程【下面两者截图】,突然想到和我之前写的Robotics System Toolbox系列【 Robotics System Toolbox中的机器人运动 (3)】可以组和一下。于是,这篇Robotics System Toolbox(0)在今天补上^_^//...。当然,下面的只是简单的复述搬运一下。假如你刚好看到这篇水文,好方便你了解工具箱的一些基本。

2.简单教程内容(译):

MATLAB的Robotics System Toolbox为创建机器人提供了广泛且不断增长的功能函数集。如:ROS集成,移动机器人和机器人操纵器臂。 此工具箱随每个发行版而增加,并且针对工业开发人员以及学术教学和研究。 本教程关注的是自MATLAB版本2016b以来可用的机器人操纵器运动学功能.工具箱带有多个机器人模型,可以通过以下方式加载:load exampleRobots。加载后有如下工作区的机器人刚体结构树对象(RigidBodyTree),Class类

可以通过如下方式显示机器人的坐标链。

模型puma1是经典PUMA 560串行链接机械手的标准Denavit-Hartenberg表示。原始配置的关节角度可以由下式给出:

q = puma1.homeConfiguration %很明显关节部分又是由struct结构体数组构成。

正运动学更简单,使用代码getTransform即可获得零点位置下的末端齐次位姿。如下。

这里机器人的显示似乎不是很好,我们可以按照以下方式改变机器人的关节角度

(1)在工作区中双击q,修改position的数据,也可以按照命令行的方式直接修改。

修改后的末端位姿与显示:

(2)结构体代码方式改写。按照前面的零点位置的关节结构数组方式:

 q1 = struct('JointName',{'jnt1';'jnt2';'jnt3';'jnt4';'jnt5';'jnt6'},'JointPosition',{90; 45; 30; 90; 60 ;80})

逆运动:

首先创建一个逆运动学求解对象:

ik = robotics.InverseKinematics(‘RigidBodyTree’, puma1);

接下来,我们为PUMA机器人定义一个任意位姿,其末端执行器指向下方:

T = trvec2tform([0.4 0.4 0.2]) *eul2tform([0 0 pi], 'ZYX')

然后其解为:

使用格式如下:

总结:教程的内容大致就是这样的。主要是在Robotics System Toolbox中的机器人运动 (3)系列中添加这份水文。更多内容,文章开头的连接!!!

猜你喜欢

转载自blog.csdn.net/weixin_39090239/article/details/105758377