董慧颖 梁爽
摘 要:随着机器人技术的发展和应用,机器人在现代工业生产中扮演着越来越重要的角色。机器人诞生是科学技术与社会进步的必然结果,从根本上改变了原来传统的生产体系和生产方式。本文在MATLAB环境下,对PUMA560机器人进行参数设计,分析PUMA560机器人的运动,讨论机器人的正运动学、逆运动学、轨迹规划及仿真。
关键词:机器人运动学;PUMA560;轨迹规划;计算机仿真
对机器人进行图形仿真,可以将机器人仿真的结果以图形的形式表示出来,从而直观地显示出机器人的运动情况,得到从数据曲线或数据本身难以分析出来的许多重要信息,还可以从图形上看到机器人在一定控制条件下的运动规律。一个新的机器人工作程序编制完成后,先在仿真软件中观察运行结果,分析检验轨迹规划和作业规划的正确性和合理性,为离线编程技术的研究提供有效的验证手段。本文在MATLAB环境下,对六自由度的PUMA560机器人进行参数设计,然后讨论了正、逆运动学算法,轨迹规划问题,最后在MATLAB环境下,运用机器人工具箱编制简单的程序语句,快速完成了机器人的运动学仿真。
1 PUMA560机器人参数设计
1.1 连杆参数和坐标系
一般移动关节及转动关节共同作用组成机器人的操作臂,各个关节都具有1个自由度。着重研究具有6个自由度的工业机器人。通常规定连杆O表示基座,还规定基座,即连杆O不在探讨的6个连杆之中。关节1使基座与连杆1相接;关节2使连杆1与连杆2相接;关节3使连杆2与连杆3相接,以此类推。如图1所示,为PUMA560机器人的关节和连杆坐标系,该机器人通过六个关节及六个连杆组合而成。机器人的基座,即连杆O保持静止不动,连杆6与手固定相连。
1.2 PUMA560机器人连杆坐标系
在每个连杆上固接一个坐标系,用来判断机器人各连杆间的相对运动关系。规定{0}代表坐标系与基座固接,{i}代表坐标系与连杆i固接。
建立连杆坐标系的步骤:1)寻得所有关节轴,在关节轴的轴线上画出延长线,以下步骤2)至5)中,只讨论相邻的两个轴线,即关节轴i和关节轴i+1。2)寻得关节轴i和关节轴i+1之间的交点或关节轴i和关节轴i+1的公垂线,连杆坐标系{i}的原点为关节轴i和关节轴i+1的交点或公垂线与关节轴i的交点。3)规定Zi轴的方向与关节轴i相同。4)规定Xi轴的方向与公垂线相同,如果关节轴i和关节轴i+1相交,则规定Xi轴与关节轴i和关节轴i+1所构成的平面相垂直。5)规定Yi轴的方向以右手定则为准。6)把0作为第一个关节变量时,规定坐标系{0}和坐标系{1}相重合。坐标系{N}的坐标原点和XN的方向不固定,但在选择时一般使连杆参数为0。
1.3 PUMA560机器人连杆参数
依据给定的连杆坐标系,相关的连杆参数可规定如下:
1)ai为沿Xi轴,从Zi移动至Zi+1的距离。
2)αi为绕Xi轴,从Zi旋转至Zi+1的角度。
3)di为沿Zi轴,从Xi-1移动至Xi的距离。
4)θi为绕Zi轴,从Xi-1旋转至Xi的角度。
2 PUMA560机器人的运动学分析
机器人操作臂运动学方程的研究内容,为操作臂各个连杆间的位移关系、速度关系及加速度关系。连杆通过移动或转动关节串联形成机器人操作臂,可以作为一个开式运动链进行研究。开式运动链一端固定在基座上,另一端不固定,利用末端执行器来操纵物体以完成各种任务。驱动器使关节运动,并带动连杆运动,使手爪到达所规定的位姿。
轨迹规划的过程中,重点研究操作臂末端执行器相对于固定参考系的空间描述问题。在每个连杆上固接一个坐标系,用来判断机器人各连杆间的相对运动关系。Denavit 和Hartenberg在1955年提出的一种通用的方法,称为D-H矩阵方法。该方法得到手爪坐标系相对于参考系的等价齐次变换矩阵,使操作臂运动方程得以建立。
2.1 机器人正运动学
机器人的正向运动学。描述的就是机器人的关节空间到末端笛卡尔空间的映射关系,即给定连杆的各项参数,求解末端连杆坐标系相对于基坐标系的位姿。
2.2 机器人逆运动学
机器人的逆运动学,描述的是机器人的末端笛卡尔空间到关节空间的映射关系。即已知末端连杆的位姿,求解各关节变量.
3 轨迹规划
机器人在运动过程中的速度、位移及加速度,称为机器人运动轨迹。依据机器人工作任务要求,并给出预期的运动轨迹的过程,称为轨迹规划。轨迹规划过程中,需要考虑机器人及机器人周围环境模型,是否有障碍约束及是否有路径约束等一连串的问题。近年来,己经拥有众多形式各异的轨迹规划方法,各类方式方法优点及缺点并存,其中包括对操作空间的规划及对关节空间的规划。在关节空间中的轨迹规划问题相对简单,而对在操作空间中的轨迹规划问题的研究相对较难解决,受到种种原因的限制,一直是轨迹规划的一个难点,至今还未有较好的解决方法。
关节空间的轨迹规划:首先,运用运动学逆方程把路径点变为关节角度值。其次,使各个关节变量从起始点开始,顺次经过所有路径点到达目标点,接着映射成一个光滑的时间函数,最后得到在关节空间的轨迹规划。总体的运动时间相同,但各个关节的时间函数间相互独立。主要运用三次多项式时间函数和五次多项式时间函数对轨迹规划结果进行分析。
4 MATLAB运动仿真
按照一定的要求对PUMA560关节型机器人进行了参数设计,前边讨论了该机器人的运动学,运动轨迹规划问题,在MATLAB环境下,机器人工具箱对该机器人的正运动学,逆运动学,轨迹规划进行了仿真。通过仿真,观察到了机器人各个关节的运动,并得到了所需的数据,说明了所设计的参数是正确的,从而能够达到预定的目标。
4.1 构建机器人对象
利用机器人工具箱构建机器人对象,首先需要对机器人的各个关节进行构建,然后再将这些关节组合起来,这样对机器人对象的整体构建就完成了。构建一个机器人对象需要关节质量、关节类型、粘性摩擦、库伦摩擦、齿轮传动比和D-H参数等数据。构建好各个关节才能构建机器人对象,在构建机器人各关节时,会用到工具箱中的LINK函数。
根据PUMA机器人的参数说明等资料,见表4.1。
link函数中的参数从前到后分别代表D-H参数表中的α、a、θ、d。drivebot是构建机械臂的相关函数。现在将初始角的一些初值进行设定:θ1=|0.63|θ2=0.5|θ3=|0.7|θ4=|0.63|θ5=0.91|θ6=0.06,采用RoboticSToolbox函数得到的结果如图所示,其中x,y,z分别用来表示抓持器的位置,ax,ay,az表示抓持器的姿态,是用RPY旋转来表示的,ax表示偏航角,ay表示俯仰角,az表示滚动角。q1,q2,q3,q4,q5,q6为六个关节角度值。
4.2 运动学仿真
正运动学的求解过程是根据已知关节变量θ123456,求末端抓持器相对于参考坐标系的位姿的过程。利用机器人工具箱来求解机器人运动学的正问题需要用到fkine函数。它的调用格式:TR=fkine(robot,q),参数robot为一个机器人对象,TR为由q定义的每个前向运动学的正解。
逆运动学的求解过程是根据已知的末端抓持器相对于参考坐标系的位姿,求关节变量θ123456的过程。利用Robotics Toolbox来求解机器人运动学的逆问题需要用到ikine函数。它的调用格式:q=ikine(robot,T),参数robot为一个机器人对象,T为运动学的正解。
下面使用工具箱中的函数对六自由度机械臂进行正运动学和逆运动学仿真。
部分程序代码如下:
fkine是求机械臂的正解函数,q向量为机械臂的六个关节角变量,ikine是求逆解函数,T为正运动学算出来的位姿,如果仿真结果正确,计算的q1应该与q相同。运行程序后:
从结果上看q与q1显然不相等,但是把q1的弧度值换到[-pi,pi]之间时,两者是一样的。
5 结论
本文以PUMA560机器人为研究对象,讨论了机器人运动学、运动轨迹及控制的一些相关问题,分析了机械臂的正运动学及逆运动学。介绍了机械臂在关节空间中轨迹规划的实现方法:三次多项式和五次多项式两种轨迹规划方法。接着采用空间直线和空间圆弧插补算法,使机械臂能够在预先设定连续路径上完成作业。最后,应用MATLAB中的机器人工具箱对机器人运动学进行仿真,对机器人轨迹进行跟踪。
[参考文献]
[1]谭民,徐德,侯增广,等.先进机器人控制[M].北京:高等教育出版社,2007.
[2]蔡自兴.机器人学[M].北京:清华大学出版社,2000.
[3]罗家佳,胡国清.基于MATLAB的机器人运动仿真研究[J].厦门大学学报:自然科学版,2005,44(5):640-644.
[4]干民耀,马骏骑,等.基于Matlab的Puma机器人运动学仿真[J].昆明理工大学学报(理工版),28(6).