姿态应该怎么描述呢?如果在刚体
b
上固定一个直角坐标系(记为
{b}
),那么不管这个刚体怎么转动,它的姿态总是可以用与其固联的坐标系
{b}
唯一描述的,如下图所示。(当然,位置和速度这些运动量都是相对的概念,要描述它们我们还需要一个参考坐标系,就是图中不动的那个,记为
{s}
,
{s}
的原点记为
o
。
{b}
的原点记为
p
,
p
在
{s}
中的位置用向量
p
表示)
直角坐标系 {b} 可以用 3×3 的矩阵描述,这个矩阵被称为姿态矩阵,记为 R 。姿态矩阵 R 有一个性质:
RTR=I(2)
这样,一个刚体的位置和姿态可以用
p
和
R
完全描述。机器人学中最常用的方式是将位置和姿态捆绑起来,用一个矩阵一块表示,这个矩阵就是齐次变换矩阵,记为
g
:
g=[R03×1p1](3)
那么类比点的情况,刚体的速度是不是可以定义为矩阵 g 的分量对时间的导数呢,如式 (4)所示?
dgdt=⎡⎣dRdt03×1dpdt0⎤⎦(4)
这样当然是可以的,不过还有更简洁的方法。别急,下面我一步步介绍怎么做。
空间速度——几何解释
在刚体 b 上有一个和它固定的点 p ,刚体运动时 p 点和它一起运动,如图下图所示。假如我们通过某种测量仪器知道了 p 点的速度 vp 和和刚体转动的角速度 ω,那么我们该怎么描述刚体 b 的速度呢 ?(这里的 vp 和 ω 都是相对于参考坐标系 {s} 的) 当然,用 (vp,ω) 就可以。但问题是 p 点只是我们随意选择的一个点,它并不比其它的点有更高的地位。我们暂时不讨论动力学,所以质心处的点也没有更高的地位。哪个点的地位不一样呢?既然刚体上的点地位都一样,我们把眼光瞄准了 o 点——参考坐标系的原点。可是等等, o 点不在刚体上啊?这里存在一个理解上的难点,我们可以这样想象,刚体 b 长胖了,胖到将 o 点也包括进去了。这时,刚体 b 上就有与 o 点瞬间重合的点。 利用理论力学中的基点法,我们就可以求出胖了的刚体与 o 重合的点的速度,即:
vo=vp+ω×po−→(5)
我们可以用
(vo,ω)
来描述刚体的速度。你可能会问,这么奇怪的表示方法有什么意义,下面我从另一种方式给出回答。
空间速度——代数解释
我们知道刚体的位置和姿态(合称位姿)可以用
g
描述,对于刚体上的任意一点
r
,它相对于
{s}
的位置用向量
r
表示,那么在刚体运动后的位置是: