MATLAB中ROBOTICS TOOLBOX的函数解说

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab中robotics toolbox的函数解说

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%返回一个3×3对称惯性矩阵

LINK.m%返回关节质量

LINK.r%返回3×1的关节齿轮向量

LINK.G%返回齿轮的传动比

LINK.Jm%返回电机惯性

LINK.B%返回粘性摩擦

LINK.Tc%返回库仑摩擦

LINK.dh return legacy DH row

LINK.dyn return legacy DYN row

其中robot函数的调用格式:

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

ROBOT(robot)%创建robot的一个副本

ROBOT(robot,LINK)%用LINK来创建新机器人对象来代替robot

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

ROBOT(DH,...)%用D-H矩阵来创建一个机器人对象

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

2.变换矩阵

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

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

>>transl(0.5,0,0)

ans=

1.0000000.5000

0 1.000000

00 1.00000

000 1.0000

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

ans=

1.0000000

00.7071-0.70710

00.70710.70710

000 1.0000

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

ans=

0.00000 1.00000

0 1.000000

-1.000000.00000

000 1.0000

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

ans=

0.0000 1.000000

-1.00000.000000

00 1.00000

000 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)

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

参数Q为从状态Q0到Q1的关节空间规划轨迹,N为规划的点数,T为给定的时间向量的长度,速度非零边界可以用QD0和QD1来指定。QD和QDD为返回的规划轨迹的速度和加速度。

其中trinterp函数的调用格式:

TR=TRINTERP(T0,T1,R)

相关文档
最新文档