matlabrotx函数,matlab中roboticstoolbox的函数解说学步园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.dhreturn legacy DH row
LINK.dynreturn legacy DYN row
其中robot函数的调⽤格式:
ROBOT%创建⼀个空的机器⼈对象
ROBOT(robot)%创建robot的⼀个副本tool工具箱
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
01.000000
001.00000
0001.0000
B机器⼈绕x轴旋转45度,那么可以⽤rotx来求取旋转后的齐次矩阵:
>> rotx(pi/4)
ans =
1.0000000
00.7071-0.70710
00.70710.70710
0001.0000
C机器⼈绕y轴旋转90度,那么可以⽤roty来求取旋转后的齐次矩阵:
>> roty(pi/2)
ans =
0.000001.00000
01.000000
-1.000000.00000
0001.0000
D机器⼈绕z轴旋转-90度,那么可以⽤rotz来求取旋转后的齐次矩阵:
>> rotz(-pi/2)
ans =
0.00001.000000
-1.0000 0.000000
001.00000
0001.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)
参数TR为在T0和T1之间的坐标变化插值,R需在0和
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论