机器人动力学方程的四种形式

来源 | 睿慕课

机器人动力学方程的四种形式

机器人动力学研究最基础的是建立完整的动力学方程,这其中最关键的是建立多连杆机构的动力学方程。笔者以经典的PUMA560机器人构型为例,阐述四种不同的机器人动力学形式及函数文件。计算环境为matlab,方便研究者的使用。

1 拉格郎日形式

这是基于拉格朗日方程所建立的动力学表达式,其形式如下:


机器人动力学方程的四种形式


其中各项的求取过程如下:


基于如上推导过程,笔者写了如下的函数


LagrangeRobot(DH参数,杆件质量,杆件质心,杆件惯性张量) 


2 牛顿-欧拉形式

基于牛顿-欧拉方程建立,出于第三种形式的考虑,这里要分别建立基于机器人标准DH模型与修改DH模型的动力学方程。以标准DH模型为例,它的主要推导过程如下:

机器人动力学方程的四种形式

目前全球定位系统有下面几种:


基于如上推导过程,笔者写了如下的函数:


NewtonEulerSDHRobot(DH参数,杆件质量,杆件质心,杆件惯性张量) 


小结:形式二的计算效率远高于形式一,经统计,形式一得进十分钟,形式二一分钟左右;但形式一的方程形式明确,具有很强的物理意义,对于控制推导来说意义重大。


3 参数(线性)分离形式

首先要基于修改DH模型与牛顿-欧拉方程求取机器人动力学方程;再通过如下的迭代递推方程:

机器人动力学方程的四种形式

最终获取如下参数分离的线性化动力学表达式:

机器人动力学方程的四种形式

这里的p是由各连杆的惯性参数组成的(每根杆件10个),它与关节的位置、速度、加速度等状态变量均无关。


基于如上推导过程,笔者写了如下的函数:


LinearizedRobot(DH参数,杆件质量,杆件质心,杆件惯性张量) 


4 参数(线性)分离形式

首先要基于修改DH模型与牛顿-欧拉方程求取机器人动力学方程;再通过如下的迭代递推方程:


形式四是由形式三进一步化简获得的。形式三有一个重大缺陷:Y矩阵列不满秩,它有些列为0,有些列间线性相关。这对于参数辨识及一些自适应控制是极为不利的,需做如下处机器人动力学方程的四种形式,其机器人动力学方程的四种形式列满秩。具体推导过程可参考以下问答:

问:

如何讲串联机器人动力学方程化成线性形式?


串联结构的动力学一般式是这样的吧,当然,我用matlab迭代过,6*度的解析式是超过10万个字符,matlab 都显示不完,所以也没法写成t1=。。。。t2=。。。类似这种解析解。

机器人动力学方程的四种形式

然而,动力学参数很难确定,什么质量什么的,实测出的数据根本用不了,误差贼打,只能参考论文的线性化方法,但是这个看不懂:

机器人动力学方程的四种形式

请教是如何把一般式转化成线性式,把theta变成一个无关角度,速度,加速度的函数,到底是这么求出来的。。。。。这个转化方法是基于一种什么方法呢。。。。。谢答!

这是我在复现机器人经典运动学理论、动力学理论及控制理论中遇到最困难的一环,我也是最近才把这个问题解决掉,这里先简单分析下过程,以后会再整理下。

1.通过标准DH参数与变形的牛顿-欧拉迭代,可获得如下形式的动力学方程机器人动力学方程的四种形式;注意这里的p是经典的杆件惯性参数机器人动力学方程的四种形式

2.由于Q中有列为0或列与列间存在线性关系;借由最小惯性参数理论(minimum inertial parameters 或 base inertial parameters),将参数p化为 。机器人动力学方程的四种形式

3.最终即可获得机器人动力学方程的四种形式,这里的机器人动力学方程的四种形式是列满秩的。