robotic+toolbox+使用说明 下载本文

内容发布更新时间 : 2024/11/14 15:35:50星期一 下面是文章的全部内容请认真阅读。

robotic toolbox for matlab工具箱

1. PUMA560的MATLAB仿真

要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用Robotics Toolbox工具箱中的link和robot函数来建立PUMA560的机器人对象。 其中link函数的调用格式:

L = LINK([alpha A theta D])

L =LINK([alpha A theta D sigma]) L =LINK([alpha A theta D sigma offset]) L =LINK([alpha A theta D], CONVENTION) L =LINK([alpha A theta D sigma], CONVENTION) L =LINK([alpha A theta D sigma offset], CONVENTION)

参数CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。参数‘alpha’代表扭转角 ,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。另外LINK还有一些数据域:

LINK.alpha %返回扭转角 LINK.A %返回杆件长度 LINK.theta %返回关节角 LINK.D %返回横距 LINK.sigma %返回关节类型 LINK.RP

%返回‘R’(旋转)或‘P’(移动)

LINK.mdh %若为标准D-H参数返回0,否则返回1 LINK.offset %返回关节变量偏移

LINK.qlim %返回关节变量的上下限 [min max] LINK.islimit(q) %如果关节变量超限,返回 -1, 0, +1 LINK.I LINK.m

%返回一个3×3 对称惯性矩阵 %返回关节质量

LINK.r %返回3×1的关节齿轮向量 %返回齿轮的传动比 %返回电机惯性 %返回粘性摩擦 %返回库仑摩擦

return legacy DH row

LINK.G

LINK.Jm LINK.B LINK.Tc LINK.dh

LINK.dyn return legacy DYN row

其中robot函数的调用格式:

ROBOT

%创建一个空的机器人对象

%创建robot的一个副本

%用LINK来创建新机器人对象来代替robot

ROBOT(robot)

ROBOT(robot, LINK)

ROBOT(LINK, ...) %用LINK来创建一个机器人对象 ROBOT(DH, ...) ROBOT(DYN, ...)

%用D-H矩阵来创建一个机器人对象

%用DYN矩阵来创建一个机器人对象

2.变换矩阵

利用MATLAB中Robotics Toolbox工具箱中的transl、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。下面举例来说明:

A 机器人在x轴方向平移了0.5米,那么我们可以用下面的方法来求取平移变换后的齐次矩阵: >> transl(0.5,0,0) ans =

1.0000 0 0 0.5000 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000

B 机器人绕x轴旋转45度,那么可以用rotx来求取旋转后的齐次矩阵: >> rotx(pi/4) ans =

1.0000 0 0 0 0 0.7071 -0.7071 0

0 0.7071 0.7071 0

0 0 0 1.0000

C 机器人绕y轴旋转90度,那么可以用roty来求取旋转后的齐次矩阵: >> roty(pi/2) ans =

0.0000 0 1.0000 0 0 1.0000 0 0 -1.0000 0 0.0000 0 0 0 0 1.0000

D 机器人绕z轴旋转-90度,那么可以用rotz来求取旋转后的齐次矩阵: >> rotz(-pi/2) ans =

0.0000 1.0000 0 0 -1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000

当然,如果有多次旋转和平移变换,我们只需要多次调用函数在组合就可以了。另外,可以和我们学习的平移矩阵和旋转矩阵做个对比,相信是一致的。

3 轨迹规划

利用Robotics Toolbox提供的ctraj、jtraj和trinterp函数可以实现笛卡尔规划、关节空间规划和变换插值。 其中ctraj函数的调用格式:

TC = CTRAJ(T0, T1, N) TC = CTRAJ(T0, T1, R)

参数TC为从T0到T1的笛卡尔规划轨迹,N为点的数量,R为给定路径距离向量,R的每个值必须在0到1之间。 其中jtraj函数的调用格式:

[Q QD QDD] = JTRAJ(Q0, Q1, N)

[Q QD QDD] = JTRAJ(Q0, Q1, N, QD0, QD1)

[Q QD QDD] = JTRAJ(Q0, Q1, T)