KUKA 机器人运动学仿真与实验研究*

2014-06-29 10:12王建红汤玉东
组合机床与自动化加工技术 2014年8期
关键词:位姿执行器运动学

陈 桂,王建红,汤玉东

(南京工程学院 自动化学院,南京 211167)

0 引言

机器人的运动仿真是机器人技术的一个重要组成部分。通过建立机器人的运动学模型,进行机器人的运动学分析,逆运动学解算和轨迹规划,从而分析机器人的运动性能,是机器人研究与应用的一个重要手段和工具。利用计算机可视化和面向对象的手段,通过仿真来模拟机器人的动态特性,帮助研究人员了解机器人工作空间的形态及极限,验证控制方案和算法的合理性,及时找出缺点和不足,进行改进,避免了直接操作实体可能造成的事故和不必要的损失,这必将使得机器人的研究、生产和研究进入一个可预知的新时代。

对于机器人运动学的研究,国内外相关的文献[1-3]中,大多停留在仿真研究阶段。本文则选用目前在工业机器人中最常用的KUKA 六轴机器人作为模型对象,在MATLAB 环境下进行仿真,不仅以图形和曲线直观展示机器人各关节轴的运动状态,而且将仿真结果应用于KUKA KR6-2 机器人实际的运动控制,从而验证控制方案和算法的有效性。

1 KUKA 机器人运动学建模

1.1 机器人D-H 模型

为了描述机器人相邻杆件之间的旋转和移动关系,Denvit 和Hartenberg 于1955 年提出了一种为关节链中的每一个杆件建立附体坐标系的矩阵方法― D-H方法。该方法是为每个关节处的杆件坐标系建立4 ×4 的齐次变换矩阵,以表示它与前一杆件坐标系的关系[4]。对于刚性杆件,其D-H 表示法取决于杆件的以下4 个参数:绕Zi-1轴(按右手规则)由Xi-1轴转向Xi轴的关节角θi;从Xi-1轴到Xi轴沿Zi-1轴的偏置距离di;从Zi-1轴到Zi轴沿Xi轴的偏置距离(连杆的长度)ai;以及绕Xi轴(按右手规则)由Zi-1轴转向Zi轴的偏角(连杆的扭转角)αi。

KUKA KR 6-2 机器人是德国库卡公司生产的一种六轴工业机器人,由于它的灵活性,可以广泛应用于搬运、组装、机加工等多种领域。其结构简图和相关参数如图1。根据图1 所示的结构简图,依据机器人后置坐标的D-H 参数表示法,可得出该机器人的D-H 参数见表1。

图1 KUKA KR6-2 机器人结构简图及参数

表1 KUKA KR 6-2 机器人D-H 参数

根据表1 中的D-H 参数,首先分别建立6 个旋转关节模型:然后组合成含有此6 个旋转关节的机器人,并命名为’kr6’。设定初始位置为(0,pi/2,0,0,pi,0),可以画出表示该机器人位置的三维图,如图2。

图2 KUKA KR6-2 机器人三维结构图

2 机器人运动学求解与轨迹规划

MATLAB 作为一种仿真工具,其强大的数值分析、矩阵计算能力和丰富的图形界面功能,为在众多科学领域进行科学研究、工程设计提供了全面的解决方案。同时Peter Corke 开发的基于MATLAB 环境的Robotics Toolbox 工具箱更为机器人的建模分析和仿真研究提供了更为便利的手段[6]。

2.1 机器人运动学正解

根据机器人后置坐标变换法定义,相邻两个坐标系的变换可以分解成下列4 个子变换:

(1)绕Zi轴转动θi;

(2)沿Zi轴移动di;

(3)沿Xi-1轴移动ai;

(4)绕Xi-1轴转动αi;

运用矩阵变换的公式则可以表示为:

根据表1 中的ai,αi,di,θi四个参数,由于该机器人关节均为旋转关节,因此θi为关节变量,ai,αi,di,为常量,由具体的机器人参数确定。从而,可以推导出相邻两个坐标系的齐次变换矩阵:

对于具有6 个旋转关节的KUKA KR6-2 机器人而言,其末端执行器的位置可以通过如下的变化得到:

如果已知机器人各个关节的运动参数(θ1,θ2,θ3,θ4,θ5,θ6),代入式(2)和(3)中,得到如式(4)所示的齐次矩阵,即可得出机器人的末端执行器所在的姿态R(nx,ny,nz,ox,oy,oz,ax,ay,az)和位置P(px,py,pz),从而可以进行机器人运动的分析,这是机器人的运动学正解问题。

在MATLAB 中,给定关节角度,运行运动学正解函数fkine(),可得机器人的空间位姿。如设关节角度为(pi/4,pi/2,pi/8,pi/2,7*pi/6,pi/2),则求得空间位姿矩阵T2 如下:

表示机器人的位置为(0.6365,0.7178,1.6818),姿 态 是(- 0.2706,- 0.2706,0.9239,0.9390,-0.2857,0.1913,0.2122,0.9193,0.3314)。

2.2 机器人运动学逆解

从上面分析可知,机器人的运动学逆解问题就是已知机器人末端执行器的位姿(nx,ny,nz,ox,oy,oz,ax,ay,az,px,py,pz),求出机器人各关节的关节变量(θ1,θ2,θ3,θ4,θ5,θ6)。也就是由笛卡尔空间到关节空间的非线性映射问题。求解运动学逆解问题的方法有几何法、反变换法、数值迭代法以及神经网络算法等。在运动学逆解的求取过程中,要考虑到机器人关节运动的奇异位形问题。

对于机器人位姿矩阵,运行MATLAB 运动学逆解函数ikine(),可以得到在该位姿下机器人的各关节角度。如设机器人的空间位姿如图2 所示,则其位姿齐次变换矩阵T 为:

运动学逆解后求得的关节角度为(以弧度为单位):

这个结果与图2 设定的初始位置的关节角度(0,pi/2,0,0,pi,0)是一致的。

由于在运动学逆解的求取过程中,用到矩阵的逆运算和反三角函数运算,因此运动学逆解可能不唯一。同时,因为Robotics Toolbox 运用数值迭代法求解运动学逆问题,会出现迭代不收敛的情况,从而无法得出某一位姿下的机器人关节角度。运用神经网络和遗传算法等智能算法进行机器人运动学逆解的求取也是近年来的研究趋势[7-8]。

2.3 轨迹规划

机器人的轨迹规划是根据机器人要完成的任务,根据一定的约束条件,设计机器人在起点和终点之间各关节的运动规律,包括位姿、速度和加速度等,它是运动学反解(位姿反解、速度、加速度反解)的实际应用[4]。机器人的轨迹优化是用样条函数来拟合机器人的轨迹运动策略,也是研究的热门领域[9-10]。

轨迹规划主要有两种形式:点到点运动(PTP)的轨迹规划和连续点运动(CP)的轨迹规划。轨迹规划既可在关节变量空间中进行,也可在笛卡尔空间进行[11]。对于关节变量空间的规划,要规划关节变量的时间函数及其一阶、二阶时间导数,以便描述末端执行器的预定运动。在笛卡尔空间规划中,要规划机器人末端执行器的位置、速度和加速度的时间函数,而相应的关节位置、速度和加速度可根据末端执行器的信息导出。

2.4 轨迹规划仿真

本仿真以点到点运动(PTP)的轨迹规划为例,选用机器人的初始位姿A点为轨迹起始点,位姿矩阵为TA,B点为终点,位姿矩阵为TB。机器人在起始点的各关节角度如图2 所示。在轨迹规划时,需要得出机器人从A点运动到B点的过程中,各关节的角度、速度、加速度的变化情况以及机器人末端执行器的运动轨迹。选取轨迹起点的初始位姿如图2 所示,其位姿矩阵TA=T,轨迹终点的位姿矩阵TB=T2。

首先根据机器人的初始位姿TA运用运动学逆解算法,得出初始关节角度q0,再根据终点位姿TB得到终点关节角度qf,然后综合考虑机器人运动中的一系列约束条件进行插值计算,可以得出机器人各关节的角度变化轨迹,分别进行一阶和二阶导数运算可以得出各关节的速度和加速度变化曲线。假设机器人自q0 到qf的时间为4.5s,插值步长取50ms。各关节角度、速度和加速度变化曲线分别如图3,图4 和图5 所示。同理,若要在笛卡尔空间进行轨迹规划,则用节点间的最简单路径法即在空间的一个直线移动和绕某定轴的转动表示,从而得出机器人末端执行器的位置变化轨迹如图6。

图3 各关节角度变化曲线

图3 中的各关节角度变化曲线只有5 条,表明在该点到点的轨迹运动中,有两个关节的角度变化相同,根据初始位姿和终点位置的运动学逆解可知,关节4和关节6 的角度变化相同。

图4 各关节速度变化曲线

图5 各关节加速度变化曲线

图6 末端执行器的运动轨迹

图4 的各关节速度变化曲线和图5 的加速度变化曲线都是连续的,表明机器人在从A点到B点的运动过程中,速度和加速度没有突变,在整个轨迹运动过程中不存在奇异点。

3 机器人轨迹运动实验

在实验室设置KUKA KR6-2 机器人按照上述仿真的初始点和终点进行实际的运动控制。将机器人的位置信息保存在‘. dat’文件中,在MATLAB 中读取该文件,将实际机器人进行点到点运动的空间位置变化情况用曲线表现出来,并与MATLAB 中建立的模型轨迹运动进行比较。如图7,黑色曲线表示仿真规划中的运动轨迹,该规划算法采用最短路径规划。红色曲线则表示机器人实际运动轨迹。

图7 模型与实际机器人的运动轨迹

由图7 可知,机器人末端执行器在初始位置和终点位置时刻仿真结果和实际机器人的位置完全一致,从而也验证了机器人点到点的轨迹跟踪运动只是在给定的路径点上能够保证机器人末端到达期望位姿,而在各个路径点之间不能保证机器人末端到达期望位姿。

4 结论

机器人运动学的研究与仿真技术一直是机器人领域研究的热点问题,本文在MATLAB 环境下,运用Robotics Toolbox 工具箱构建KUKA 机器人模型,进行运动学仿真、逆运动学求解和轨迹规划,并且以图形方式显示机器人在笛卡尔空间和关节空间的运动规律,能够在计算机上验证机器人是否准确按照期望轨迹运动。通过实验证明,所建立的机器人运动学方程正确,采用仿真分析的方法对减少机器人产品开发成本,缩短开发周期,具有非常高的现实意义。

[1]林立俊,柳和生,饶锡新,等. 基于MATLAB 的ARB-120型机器人运动学仿真研究[J]. 组合机床与自动化加工技术,2013(3):67 -69.

[2]臧庆凯,李春贵,闫向磊. 基于MATLAB 的PUMA560 机器人运动仿真研究[J]. 广西科学院学报,2010,26(4):397 -400.

[3]苏学满,孙丽丽,杨明,等. 基于MATLAB 的六自由度机器人运动特性分析[J]. 机械设计与制造,2013(1):78 -80.

[4]蔡自兴. 机器人学[M]. 北京:清华大学出版社,2009.

[5]Serdar Kucuk ,Zafer Bingul. Robot Kinematics:Forward and Inverse Kinematics,Industrial Robotics Theory Modelling Control[C]. ISBN 3 - 86611 - 285 - 8,Germany,2006(12):117 -149.

[6]P.I. Corke. Robotics,Vision & Control:Fundamental Algorithms in MATLAB[M]. Springer,2011. ISBN 978 -3-642 -20143 -1.

[7]Thiang,Handry K.,Rendy P.. Artificial Neural Network with Steepest Descent Backpropagation Training Algorithm for Modeling Inverse Kinematics of Manipulator[C]. World Academy of Science,Engineering and Technology,2009,36:672 -675.

[8]吴振宇,姚明江,冯林,等. 基于遗传粒子群的PUMA 机器人逆运动求解[J]. 计算机仿真,2011,28 (10):173 -176.

[9]张传垒,葛为民,宋博. 机械手轨迹规划中的BP 神经网络方法及仿真[J]. 组合机床与自动化加工技术,2007(10):22 -24.

[10]刘能广,任天然,柴苍修,等.基于遗传算法的喷漆机器人轨迹的二层规划[J]. 机械设计与制造,2008(6):173 -175.

[11]勾治践,牛永康,王成.基于B 样条的6R 机器人轨迹规划及仿真[J].煤矿机械,2013,34(2):49 -50.

猜你喜欢
位姿执行器运动学
无人机动平台着陆惯性/视觉位姿歧义校正算法
船舶清理机器人定位基准位姿测量技术研究
基于MATLAB的6R机器人逆运动学求解分析
高锁螺母自动化安装机器人末端执行器设计
工业机器人在MATLAB-Robotics中的运动学分析
X-431实测篇2010年奔驰B200空调执行器电机学习
优化ORB 特征的视觉SLAM
基于单目视觉的工件位姿六自由度测量方法研究
飞机装配预连接紧固件自动化安装末端执行器设计
延迟不确定马尔科夫跳变系统的执行器和传感器故障同时估计方法