机器人动力学建模之牛顿欧拉法推导

1120
0
2020年6月18日 14时00分

最近在研究多连杆的机器人建模,发现许多使用牛顿欧拉法的建模方式,都直接采用了如下的一条公式:

 

机器人动力学建模之牛顿欧拉法推导插图

 

其中:

 

机器人动力学建模之牛顿欧拉法推导插图(1)

 

这是连杆 j 相对于惯性系的速度和角速度组成的六维向量(表示在 j 系下)。

 

jHj+1,代表的就是一个6维的变换矩阵,将 j+1 系下的力变换到 j 系下。

 

Fextj,连杆受到的外力、外力矩在 j 系下的表示。

 

机器人动力学建模之牛顿欧拉法推导插图(2)

 

这个公式的形式很漂亮,用起来也比较方便。但是,如果从牛顿-欧拉方程来看,很难直接推出这个公式。看了很多文献,也没有找到推导过程,于是索性自己推导了一番。

 

推导过程

 

机器人动力学建模之牛顿欧拉法推导插图(3)

 

1 问题描述

图中蓝色的物体表示一个刚体,我们选择刚体上的某一点,定义了一个与刚体固连的坐标系B,即本体系。

 

我们假设刚体可被视作为很多微元的组合,并且假设刚体是均匀的。

 

最终,我们希望得到外力与刚体相对惯性系的速度和加速度的关系式。

 

2 符号说明

T:代表刚体的动能

Pb​:代表刚体的动量,在{B}系下的表示

Πb:代表刚体的角动量,在{B}系下的表示

Ub:代表刚体相对于惯性系的速度,在{B}系下的表示

Us:代表刚体相对于惯性系的速度,在{S}系下的表示

Vib:代表刚体微元 i 相对于惯性系的速度,在{B}系下的表示

Ωb:代表刚体相对于惯性系的角速度,在{B}系下的表示

Ωs:代表刚体相对于惯性系的角速度,在{S}系下的表示

pb​:代表p向量在{B}系下的表示

ps​:代表p向量在{S}系下的表示

rcb:代表rc​向量在{B}系下的表示

rib:代表ri向量在{B}系下的表示

m:刚体质量

Ib​:刚体的惯量矩阵,相对于{B}系的

Fextb​:刚体所受合外力在{B}系的表示

Mextb​:刚体所受合外力矩在{B}系的表示

 

3 基本原理

第一步,计算刚体的动能。

 

动能是个标量,在任何坐标系下表示都相等,但这个动能必须是相对惯性系而言的。
也就是说,速度和角速度必须是相对与惯性系的。

 

第二步,动能对速度、角速度求导,得到动量、角动量。

 

速度可以是表示在{B}系下的,也可以是{S}系下的。如果是相对于表示在{B}系下的速度求导,那么求出来的动量也是表示在{B}系下的。反之亦然。

 

第三步,动量和角动量对时间求导,得到外力。

 

这一步的求导需要格外注意。我们需要在惯性系下对时间求导,这样出来的才会是外力。牛顿定律只在惯性系下有效。
如何在惯性系下求导,参考博文[关于机器人运动学与动力学建模的几点领悟](https://blog.csdn.net/handsome_for_kill/article/details/96473701)

 

链接:关于机器人运动学与动力学建模的几点领悟

 

4 好戏开始

4.1 计算刚体动能

刚体的动能会等于所有刚体微元的动能之和。

机器人动力学建模之牛顿欧拉法推导插图(4)

我们知道,Vib可以被表示为:

机器人动力学建模之牛顿欧拉法推导插图(5)

所以,我们把公式(2)代入公式(1),可以得到:

机器人动力学建模之牛顿欧拉法推导插图(6)

在这部分的推导中,用到了很多公式:

机器人动力学建模之牛顿欧拉法推导插图(7)

最终,我们得到了动能的表达式:

机器人动力学建模之牛顿欧拉法推导插图(8)

 

4.2 计算刚体动量

动能对速度求导,得到动量:

机器人动力学建模之牛顿欧拉法推导插图(9)

动能对角速度求导,得到角动量:

机器人动力学建模之牛顿欧拉法推导插图(10)

 

4.3 计算与合外力的关系

首先,我们要分析,上一步算出来的刚体动量和动量矩是什么?

动量的定义没有歧义,但是动量矩有。

我们知道,根据动量矩定理,只有刚体对固定点(惯性系原点S)的动量矩对时间求导等于刚体上的合外力对该固定点的合外力矩。即:

机器人动力学建模之牛顿欧拉法推导插图(11)

而我们上面计算的是对动点b的绝对动量矩,它和Mb​是什么关系呢?

这篇文章中就不详细推导了,这部分推导可以参见文章:机器人动力学建模之刚体动力学基础学习

这里直接给出结论:

机器人动力学建模之牛顿欧拉法推导插图(12)

接下来,进入正题:

注意,之前提到,这里需要在惯性系下,将动量和角动量对时间求导:

1、动量对时间求导,得到合外力:

机器人动力学建模之牛顿欧拉法推导插图(13)

2、根据公式(7),角动量对时间求导,得到合外力矩:

机器人动力学建模之牛顿欧拉法推导插图(14)

整理一下公式(7)和公式(8),得到:

机器人动力学建模之牛顿欧拉法推导插图(15)

整理成矩阵形式:

机器人动力学建模之牛顿欧拉法推导插图(16)

可以看到,这个式子和公式(0)是完全一摸一样的,推到这里我们就得到了答案。

值得注意,这里的推导用到了下面的求导方法,其中rcb​是常数向量。

机器人动力学建模之牛顿欧拉法推导插图(17)

同理,我们有:

机器人动力学建模之牛顿欧拉法推导插图(18)

此外,还有:

机器人动力学建模之牛顿欧拉法推导插图(19)

另外,由于对于{b}系而言,Ib是常数矩阵,所以

机器人动力学建模之牛顿欧拉法推导插图(20)

 

小结

最近学习建模耽误了很多时间,其实这么老的方法,直接把论文里的公式拿来用就OK了,但是我就是控制不住自己,想要把来龙去脉搞清楚。查了很多资料都没有查到,最后只好自己动手。

 

当然这里也借鉴了很多地方的资料,参考如下:

 

惯性矩、惯性积、转动惯量、惯性张量

关于机器人运动学与动力学建模的几点领悟

牛顿—欧拉方程

UNDERWATER GLIDERS: DYNAMICS, CONTROL AND DESIGN

 

最后,希望本文能够对大家有所帮助!

发表评论

后才能评论