《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达

在前面的章节里,我们展示了如何用欧拉-拉格朗日方程直接的推导出动力学方程,以及证明了我们可以用一系列通用坐标表示动能和势能。为了让这个结论在实际应用中发挥作用,因此学会如何用通用坐标表达一个机械臂的动能和势能就显得很重要。本节我们学习如何通过把DH关节变量当作通用坐标来表达出刚体机器人的动力学动能和势能。
首先明白这样一个事实:一个刚体的动能是由移动动能和转动动能组成的,移动动能是质心运动产生的动能,转动动能是刚体绕质心旋转产生的动能。举个例子,下图:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
一个椭球体在一个世界坐标系里旋转跳跃闭着眼,它有着旋转运动以及线性运动。图中有两个坐标系,一个世界坐标系x0y0z0,另一个是附着在椭球体上的体坐标系xcyczc。其动能和势能和用公式表示为:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
m是质量,v是位移线速度,w是转动角速度。大写的L是惯性张量。

9.2.1惯性张量
如果你们个个物理基础都很好的话,我就不用码这么多字了。这里我们重新学习以下什么是惯性张量。众所周知,上述讲到的线速度和角速度都是在惯性坐标系里描述的(老实讲我在这之前并不知道,惯性坐标系是啥我也不知道。。。so sad)。因此我们可以通过反对称矩阵来求得角速度w:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
这里的R是体坐标系与惯性坐标系之间的旋转矩阵。为了计算转动动能还需要计算相对于惯性坐标系的惯性张量大L。惯性张量与体坐标系的姿态是有关系的。不妨先计算相对于体坐标系的惯性张量大写的I。然后就可以通过下面的公式计算大L:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
这是个很重要的结论因为相对于体坐标系的惯性张量是与物体的运动无关的。下面我们介绍如何计算这个惯性张量矩阵。
物体的密度用
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
表示,那么体坐标系上的惯性张量可以表示为:

《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
上述矩阵的对角部分叫做惯量矩,其余的交叉项叫做惯量积。如果该物体相对于体坐标系的质量分布是对称的,那么惯量积的值为0。我们来举个简单的例子:
例9.2:均匀长方体
考虑一个长宽高分别为a b c,密度为
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
的均匀密度长方体,如下图所示
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
如果我们如上图那样放置体坐标系,那么该惯性张量的惯性积为0,惯量矩为:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
同理,
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
惯性张量矩阵其余6个位置为0。

9.2.2 n个连杆机器人的动能
现在我们考虑一个具有n个连杆的机器人的动能。我们已经在第五章那边知道任意连杆的线速度和角速度都可以用Jacobian矩阵以及关节变量的求导表示。由于在我们讨论的情况下,关节变量都是通用坐标系描述的,因此我们有
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
现在假设连杆i的质量是mi,以及连杆i的惯性矩阵是相对于:平行于连杆i的坐标系,同时在连杆i质心上的坐标系 来评估的,我们称之为Ii。那么机械臂的全部动能和表示为:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
可以简化表示为下面的形式:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
D(q)是与姿态无关的对称正定矩阵,矩阵D被叫做惯性矩阵,在9.4节我们会尝试着教大家计算几个常见的机械臂的惯性矩阵。

9.2.3 n个连杆机器人的势能
现在考虑势能。刚体的动力学里,势能的唯一来源就是重力。连杆i的势能可以根据连杆i的质心位置这么计算:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
g是惯性坐标系下的重力向量,r是重心位置向量,m是质量,所以全部势能加起来:
《机器人动力学与控制》第九章——动力学 9.2 动能与势能的一般表达
对于会有弹性形变的机器人,势能计算还需要加上弹性势能。