苏 晨 邓三鹏
(天津职业技术师范大学,天津300222)
机器人运动学分析是机器人动力学、轨迹规划和位控制的重要基础,运动学分析包括正运动学分析和逆运动学分析2个基本问题[1]:第一个问题常被称为运动学正问题(直接问题),第二个问题被称为运动学逆问题(解臂形问题)。由于机器人手臂的独立变量是关节变量,而终端运动位置是已知的,因此,会较频繁地用到运动学逆问题。
本文采用D—H法建立机器人坐标系,并对机器人运动学方程的建立方法进行概述。最后尝试在Matlab环境下运用Robotics Toolbox模块实现机器人运动学模型的构建和运动学仿真,获取终端位置数据。
D—H法是由Denavit和Hartenberg于1955年提出的。该方法在机器人各连杆上建立坐标系,并通过齐次变换矩阵来描述相邻两杆坐标系的几何关系,建立了机器人运动学方程。利用这样的方法依次进行推导,可获得机器人终端的位姿数据。文中利用D—H法完成对机器人运动学方程的建立,其过程如下:
(1)按照D—H方法建立的模块化六自由度机器人的杆件坐标系如图1所示。机器人各杆件的D—H参数如表1所示。
图1 模块化六自由度机器人的杆件坐标系
表1 机器人各连杆D—H参数
(2)运动学方程式通过齐次变换矩阵来描述第i坐标系相对于i-1坐标系的位置和姿态[2]。相邻坐标系i和i-1的D—H变换矩阵为:
第i坐标系相对于基础模块坐标系位姿的齐次变换矩阵0T i,表示为机器人的运动学正解方程:0Ti=0A11A2…i-1A i。
当i=6时,可求得T=0T6,它确定了机器人的终端坐标系相对于基础模块坐标系的位置和姿态,可以把T矩阵表示为
将表1中各参数代入连杆变换矩阵(1),便可求得机器人末端坐标系相对基础模块坐标系的位姿数据。该运算过程属于机器人运动学方程的正解过程,也称为机器人正运动学分析。
机器人逆运动学分析就是已知机器人终端坐标系的位置和姿态(可表示为位姿矩阵T),求机器人各关节的角度变量。机器人逆运动学分析方法是:对上述式(1)两边依次左乘A的逆矩阵,并使两端相等矩阵的对应元素相等,即可求得机器人各关节的角度变量。
由于在求解过程中可能出现多组解,它们分别代表了手臂的不同位置,因此运动学方程的逆解不是唯一的。在对机器人的轨迹规划和控制研究中,可选择“最小移动且最大角度,最大移动且最小角度”的原则来确定最优解。
Matlab在工业设计与开发、数据处理与分析、数学教学等相关领域得到了广泛应用。作为一种工具,它为物理学研究和控制理论优化提供了很好的解决方案。本文采用Matlab Robotics Toolbox建立机器人的运动模型,并对正运动学问题进行仿真。
机器人运动学仿真过程可以在Matlab Robotics Toolbox模块中通过编写运动控制程序来实现,选择在关节空间内对运动轨迹进行规划,并使关节2、3从0°旋转到90°,观察机器人仿真运动过程,并通过滑块控制器获得末端执行器相对基础坐标系的位姿数据。
正运动学仿真程序:首先定义机器人各关节起始点为qz=[0 0 0 0 0 0],终止点为qr=[0-1.571-1.571 0 0 0],且在起点和终点手臂的移动速度为0,运动时间t=2 s。
建立机器人正运动学仿真的命令如下:
运行上述程序可以观察到机器人从初始位置运动到图2的整个过程,即完成了机器人运动学仿真实验。
图2 终止点位置
最后,利用机器人运动方程对终端位姿数据进行了计算,并将计算结果与运动学仿真中所获得的位姿数据进行对比,验证了运动学方程和所建立的机器人对象的可靠性。
本文对模块化六自由度机器人进行了正运动学、逆运动学分析,并在Matlab环境下,利用Robotics Toolbox建立了机器人对象,进行了运动学仿真,并将仿真数据与运动学方程计算结果进行对比,验证了运动学方程和所建立的机器人对象的可靠性,说明了所设计的参数是正确的,达到了预定目标,为物理样机的设计提供了参考依据。
[1]朱世强,王宣银.机器人技术及其应用[M].杭州:浙江大学出版社,2001
[2]刘松国,朱世强,李江波,等.6R机器人实时逆运动学算法研究[J].控制理论与应用,2008(6)