资源描述:
《基于MATLAB教学型机器人空间轨迹仿真.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于MATLAB教学型机器人空间轨迹仿真robotictoolboxformatlab工具箱1.PUMA560的MATLAB仿真要建立PUMA560的机器人对象,首先我们要了解PUMA560的D-H参数,之后我们可以利用RoboticsToolbox工具箱中的link和robot函数来建立PUMA560的机器人对象。其中link函数的调用格式:L=LINK([alphaAthetaD])L=LINK([alphaAthetaDsigma])L=LINK([alphaAthetaDsigmaoffset])L=LINK([alphaAthetaD],CONVENTION
2、)L=LINK([alphaAthetaDsigma],CONVENTION)L=LINK([alphaAthetaDsigmaoffset],CONVENTION)参数CONVENTION可以取‘standard’和‘modified’,其中‘standard’代表采用标准的D-H参数,‘modified’代表采用改进的D-H参数。参数‘alpha’代表扭转角,参数‘A’代表杆件长度,参数‘theta’代表关节角,参数‘D’代表横距,参数‘sigma’代表关节类型:0代表旋转关节,非0代表移动关节。另外LINK还有一些数据域:LINK.alpha%返回扭转角LINK
3、.A%返回杆件长度LINK.theta%返回关节角LINK.D%返回横距LINK.sigma%返回关节类型LINK.RP%返回‘R’(旋转)或‘P’(移动)LINK.mdh%若为标准D-H参数返回0,否则返回1LINK.offset%返回关节变量偏移LINK.qlim%返回关节变量的上下限[minmax]LINK.islimit(q)%如果关节变量超限,返回-1,0,+1LINK.I%返回一个3×3对称惯性矩阵LINK.m%返回关节质量LINK.r%返回3×1的关节齿轮向量LINK.G%返回齿轮的传动比LINK.Jm%返回电机惯性LINK.B%返回粘性摩擦LINK.T
4、c%返回库仑摩擦LINK.dhreturnlegacyDHrowLINK.dynreturnlegacyDYNrow其中robot函数的调用格式:ROBOT%创建一个空的机器人对象ROBOT(robot)%创建robot的一个副本ROBOT(robot,LINK)%用LINK来创建新机器人对象来代替robotROBOT(LINK,...)%用LINK来创建一个机器人对象ROBOT(DH,...)%用D-H矩阵来创建一个机器人对象ROBOT(DYN,...)%用DYN矩阵来创建一个机器人对象2.变换矩阵利用MATLAB中RoboticsToolbox工具箱中的trans
5、l、rotx、roty和rotz可以实现用齐次变换矩阵表示平移变换和旋转变换。下面举例来说明:A机器人在x轴方向平移了0.5米,那么我们可以用下面的方法来求取平移变换后的齐次矩阵:>>transl(0.5,0,0)ans=1.0000000.500001.000000001.000000001.0000B机器人绕x轴旋转45度,那么可以用rotx来求取旋转后的齐次矩阵:>>rotx(pi/4)ans=1.000000000.7071-0.7071000.70710.707100001.0000C机器人绕y轴旋转90度,那么可以用roty来求取旋转后的齐次矩阵:>>ro
6、ty(pi/2)ans=0.000001.0000001.000000-1.000000.000000001.0000D机器人绕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当然,如果有多次旋转和平移变换,我们只需要多次调用函数在组合就可以了。另外,可以和我们学习的平移矩阵和旋转矩阵做个
7、对比,相信是一致的。3轨迹规划利用RoboticsToolbox提供的ctraj、jtraj和trinterp函数可以实现笛卡尔规划、关节空间规划和变换插值。其中ctraj函数的调用格式: TC=CTRAJ(T0,T1,N) TC=CTRAJ(T0,T1,R)参数TC为从T0到T1的笛卡尔规划轨迹,N为点的数量,R为给定路径距离向量,R的每个值必须在0到1之间。其中jtraj函数的调用格式: [QQDQDD]=JTRAJ(Q0,Q1,N) [QQDQDD]=JTRAJ(Q0,Q1,N,QD0,QD1) [QQDQDD]=JT