工业机器人动力学控制器设计概述

来源:互联网 发布:数据备份器 编辑:程序博客网 时间:2024/05/16 13:42


基于动力学模型的工业机器人控制器设计概述

1.      引言

焊接是工业机器人的典型应用之一,在机器人轨迹跟踪的过程中,如果位置跟踪偏差大,直接导致的问题就是直线走不直,圆弧画不圆,最终无法获得满意的焊接效果。在诸如焊接这样的对高速高精有要求的作业场合,基于传统PID调节器的工业机器人控制器存在位置、速度跟踪偏差大的问题。理论上,基于动力学模型设计的控制器(下称动力学控制器)能很好地降低位置速度跟踪偏差。关于此两者控制器的对比可参考如下视频:

 

http://v.youku.com/v_show/id_XMTMxNjkwNzkzMg==.html

 

提到动力学,我们的第一印象往往是几行甚至几百行的公式,大部分对动力学感兴趣的朋友可能会因此而止步不前,实际上动力学要比纯粹的公式生动丰富的多。为使读者对动力学控制器有个直观而又全面的了解,作者仅概略性地总结包括动力学定义、应用范围、建模方法、具体部署方式及评价标准在内的方方面面。这样做一来是为了避免读者陷入动力学建模的泥潭之中,无法更全面地理解动力学;二来是因为包括动力学建模、部署甚至辨识等方面的内容均较为丰富,需要单独拿出来讨论。

需要说明的是作者所讨论的动力学仅限于工业机器刚体动力学范畴。文中使用的部分图片和视频来源于网络,如有侵权,本人将立刻删除。


图1. 工业机器人刚体动力学研究对象

2.      动力学定义

动力学(dynamics)是研究作用于物体的力和物体运动之间的一般关系,具体到工业机器人,它包括两个基本问题:

    1). 已知作用在机器人各关节的力,求该关节对应的运动轨迹,即求加速度,速度和位置;

    2). 已知机器人关节当前的加速度,速度和位置,求此时关节上的受力大小。

简单讲,动力学是解决机器人各关节受力大小和它运动之间的关系,已知运动的特性能够求出对应的力的大小,反之,已知受力的大小,可以计算出机器人的运动特性。感兴趣的读者不妨思考一下,正逆动力学,哪个更容易计算。

                 

图2. 正向动力学基本输入输出


图3. 逆向动力学基本输入输出

 

3.      动力学应用

机器人动力学应用范围十分广泛,主要包括以下几个方面:

1).机器人的最优控制:优化性能指标,调整伺服增益

 这里讲的优化性能指标主要是有利于降低机器人关节及轨迹位置速度跟踪偏差,降低力矩波动,提高动态响应特性,这一点可以在上个视频中发现。针对以力矩前馈补偿形式的动力学控制器(后续会再次解释),做过实验的朋友可能会发现,此时伺服的控制性能对PID参数的依赖不再那么明显。

2).机器人的优化设计:算出实现预定运动所需的力/力矩,便于伺服及电机选型

通过逆动力学模型我们发现,如果我们规定了所设计机器人极限(最大)运动加速度、速度及位置,那么我们就能计算出对应的力矩。该力矩恰恰就是我们选择伺服及电机是需要参考的最大力矩。

 

3).机器人碰撞检测

同样,通过逆动力学模型我们发现,由于在机器人轨迹规划的过程中,控制器已经规划了期望的加速度、速度及位置,对应这样一组期望的加速度、速度和位置,有一个期望的关节力矩。通过比较该期望力矩与实际反馈力矩之差,当偏差超过设定的合理范围,我们就可以认为有碰撞发生。关于这方面内容可参考该视频(这个视频只是从侧面反映了该功能,合适的视频比较难找,希望读者谅解):

 

http://v.youku.com/v_show/id_XMTMxNjkxNTI0MA==.html

 

4).机器人零力控制:机器人顺应外力作用运动,其仿佛处于一个不受重力和摩擦力的环境

机器人零力控制的一个典型应用场合是手动示教,即伺服在使能的情况下,人可以手动推动机器人,当机器人不受外力作用时,又能够保持在当前位置。严格讲,零力控制不需要完整的动力学模型,这是因为示教时速度相对较低,惯性力,离心力及科里奥利力均不明显。具体可见以下两个视频。

 

http://v.youku.com/v_show/id_XMTMxNjkxNjg0MA==.html

http://v.youku.com/v_show/id_XMTMxNjkxOTQ0OA==.html

 

5).机器人的仿真:根据连杆质量、负载、传动特征的动态性能仿真,较之运动学仿真更接近真实情况

感兴趣的读者可观察Matlab Robotics Toolbox下的rtbdemo例程中的正动力学仿真。Matlab Robotics Toolbox下载地址如下:

http://www.petercorke.com/Robotics_Toolbox.html

4.      动力学计算方法

动力学的计算有很多方法,如Lagrange、Newton-Euler、Gauss、Kane、Screw、

Roberson-Wittenburg。其中以Lagrange、Newton-Euler最为常用。

       我们先不纠结于具体使用何种方式建立动力学模型,实际上这些方式建立的动力学模型最终是可以互相转化的。我们以在竖直平面内运动的二连杆机器人为例,先观察一般的动力学模型都由哪些项组成,在直观上对动力学有一个认识。

                 

图4. 竖直平面内运动的二连杆机器人

 

竖直平面内运动的二连杆机器人动力学模型如下(以拉格朗日法为例):

 

 

其中第一关节动力学方程如下:


第二关节动力学方程如下:


观察该动力学方程,我们发现,等式的右侧为关节力矩,等式的左侧为关节加速度、速度、位置。而加速度、速度和位置的系数又由转动惯量、质量、质心等参数组成。纯粹从数学的形式出发,由关节加速度、速度及位置乘以由转动惯量、质量及质心组成的系数,即可得到对应的关节力矩。

5.      动力学控制器的部署方式

基于动力学模型的控制器,具体实现方式因系统结构不同而有所不同。针对驱控一体的控制器架构,我们可以采用“计算力矩(compute torque)”的控制方式;而针对以总线型分布式控制结构的系统,将经(正向?,逆向?)动力学计算出的力矩,以前馈的方式,加入到伺服的电流控制环路,完成动力学控制器的设计,如下图。需要说明的是,针对那些不支持力矩前馈的伺服,可通过速度前馈甚至位置前馈的方式来实现动力学控制器。


图5. 以力矩前馈方式实现的动力学控制器

6.      控制器的评价指标

为对比基于动力学模型控制器和传统PID控制器的控制性能,常用的评价指标主要有位置跟踪偏差,速度跟踪偏差以及力矩波动。理论上,动力学控制较之PID控制器有更小的位置速度跟踪偏差,如下图所示。在实际应用的过程中,其效果的好坏取决于控制器、伺服、机械结构的方方面面。


图6. 动力学控制器与PID控制器的位置跟踪偏差对比

 


图7. 动力学控制器与PID控制器的速度跟踪偏差对比

7.        动力学模型的标准形式

观察竖直平面内运动的二连杆机器人动力学模型可以发现,采用拉格朗日方法建立的动力学模型,最终都可以用如下标准的形式来表示。


标准的动力学模型若纯粹以力的形式来表达,即其是由惯性力,离心力,哥氏力(又称科里奥利力),粘摩擦力,静摩擦力,重力,外力(如人工施加或与环境接触),关节力矩组成一系列等式。需要说明的是此处的摩擦力模型为:粘摩擦+库伦摩擦,采用不同摩擦力模型,上述方程仅在摩擦力这一处有所不同,其余不变。

除科里奥利力以外,其他几个力均相对容易理解。那么科里奥利力在我们生活中的表现是什么?细心的读者在生活中可能会发现,河流的两侧被河水冲刷的情况不一致。还有一个被称为“物理学最美实验之一”的傅科摆,也是受到科里奥利力的影响。地球上引起科里奥利力的本质原因是处于不同维度的地方自转速度不同,而针对机器人,不同关节其转速不同,同样会引起科里奥利现象。感兴趣的读者也可对科里奥利力展开展开进一步的研究。


图8. 科里奥利力的形成原因

  

附:傅科摆

在地球上的摆动会受到地球自转的影响。只要摆面方向与地球自转的角速度方向存在一定的夹角,摆面就会受到哥氏的影响,而产生一个与地球自转方向相反的扭矩,从而使得摆面发生转动。 1851年法国物理学家傅科预言了这种现象的存在,并且以实验证明了这种现象,他用一根长67米的钢丝绳和一枚27千克的金属球组成一个单摆,在摆垂下镶嵌了一个指针,将这个巨大的单摆悬挂在教堂穹顶之上,实验证实了在北半球摆面会缓缓向右旋转 。

8.      结语

本文中,作者试图以概略性地方式,叙述包括动力学定义、应用范围、建模方法、具体部署方式及评价标准在内的各个方面,期望给读者一个更为全面直观的动力学控制器设计过程。由于作者无论在理论水平还是语言表达等方面均有欠缺,欢迎各方朋友批评指正。

 

尊重版权,转载请说明出处。


3 0