【机器人学导论】惯性张量旋转和平移变换的推导

1. 前言

最近遇到了一些涉及惯性张量的实际问题,比如:

  • 对两个通过铰链连接在一起的杆,如何计算整体的惯性张量?
  • 对于一个由多个简单部件组合成的系统,如何计算整体的惯性张量?

在网上查找计算方法的过程中,难以通过正确的关键词找到简明的数学方法。因此我在多番查阅后,对查找到的资料做一个归纳总结,作为对《机器人学导论》书中相关章节的补充。
以下内容的符号表示将依照《机器人学导论》的命名规范。

2. 惯性张量的概念

对三维空间中的六自由度刚体而言,可能存在无穷旋转轴,对刚体而言,当其绕任意轴旋转时,我们需要一种通用的能够表征刚体质量分布的方式,因此引入惯性张量

下面是百度百科给出的惯性张量的定义
在这里插入图片描述

更详细的介绍可以参见wiki Moment of inertia

为了方便起见,刚体的惯性张量的坐标系通常以刚体质心为原点,在下面的推导与证明中,我们也将遵循这一点。

3. 惯性张量的旋转变换

设有一坐标系为 { 0 } \{0\} { 0},设有一刚体,在其上选一点建立随体坐标系 { b } \{b\} { b},该刚体以 ω \omega ω 的角速度(在 { 0 } \{0\} { 0}系下描述)相对 { 0 } \{0\} { 0}系运动。

3.1 结论

b  ⁣ I = ( b 0  ⁣ R T ) ( 0  ⁣ I ) ( b 0  ⁣ R ) 0  ⁣ I = ( b 0  ⁣ R ) ( b I ) ( b 0  ⁣ R T ) {}^b\!I=({}^{\color{red}0}_b\!R^{\color{red}T})({}^{\color{red}0}\!I)({}^{\color{red}0}_b\!R) \\ {}^0\!I=({}^{\color{red}0}_b\!R)({}^{\color{red}b}I)({}^{\color{red}0}_b\!R^{\color{red}T}) bI=(b0RT)(0I)(b0R)0I=(b0R)(bI)(b0RT)
(红字表示:注意上标!)

3.2 证明

刚体转动能量公式(类似于平动的动能)如下:
T = 1 2 ω T I ω \begin{equation} T=\frac{1}{2}\omega^TI\omega \end{equation} T=21ωTIω
其中, T T T 表示动能,为标量。 公式 ( 1 ) (1) (1)证明过程可参考: 刚体转动能量公式证明

容易理解,不管惯性张量、角速度在什么坐标系下表示,刚体转动的动能这个标量是一样的。因此有:
T = 1 2 ( 0 ω T ) ( 0  ⁣ I ) ( 0 ω ) T = 1 2 ( b ω T ) ( b  ⁣ I ) ( b ω ) \begin{align} T&=\frac{1}{2}({}^0\omega^T)({}^0\!I)({}^0\omega) \\ T&=\frac{1}{2}({}^b\omega^T){\color{red}({}^b\!I)}({}^b\omega) \end{align} TT=21(0ωT)(0I)(0ω)=21(bωT)(bI)(bω)
( 2 ) (2) (2)式= ( 3 ) (3) (3)式, ( 3 ) (3) (3)式中为什么标红了一部分呢?马上就会用到!

( 2 ) (2) (2) 式作如下展开:
T = 1 2 ( 0 ω T ) ( 0  ⁣ I ) ( 0 ω ) = 1 2 ( b 0  ⁣ R b ω ) T ( 0  ⁣ I ) ( b 0  ⁣ R b ω ) = 1 2 ( b ω T ) ( b 0  ⁣ R T ) ( 0  ⁣ I ) ( b 0  ⁣ R ) ( b ω ) \begin{align} T&=\frac{1}{2}({}^0\omega^T)({}^0\!I)({}^0\omega) \\ &=\frac{1}{2}({}^0_b\!R{}^b\omega)^T({}^0\!I)({}^0_b\!R{}^b\omega) \\ &=\frac{1}{2}({}^b\omega^T){\color{red}({}^0_b\!R^T)({}^0\!I)({}^0_b\!R)}({}^b\omega) \end{align} T=21(0ωT)(0I)(0ω)=21(b0Rbω)T(0I)(b0Rbω)=21(bωT)(b0RT)(0I)(b0R)(bω)

( 4 ) − ( 6 ) (4)-(6) (4)(6)式的推导主要是:旋转矩阵变换+结合律,对比 ( 3 ) (3) (3) ( 6 ) (6) (6)式有:
b  ⁣ I = ( b 0  ⁣ R T ) ( 0  ⁣ I ) ( b 0  ⁣ R ) \begin{equation} {}^b\!I=({}^{\color{red}0}_b\!R^{\color{red}T})({}^{\color{red}0}\!I)({}^{\color{red}0}_b\!R) \end{equation} bI=(b0RT)(0I)(b0R)

( 7 ) (7) (7)式即为惯性张量的旋转变换公式
进一步, ( 7 ) (7) (7)式两边左乘 ( b 0  ⁣ R ) ({}^{\color{red}0}_b\!R) (b0R),右乘 ( b 0  ⁣ R T ) ({}^{\color{red}0}_b\!R^{\color{red}T}) (b0RT),可得:
0  ⁣ I = ( b 0  ⁣ R ) ( b I ) ( b 0  ⁣ R T ) \begin{align} {}^0\!I=({}^{\color{red}0}_b\!R)({}^{\color{red}b}I)({}^{\color{red}0}_b\!R^{\color{red}T}) \end{align} 0I=(b0R)(bI)(b0RT)

4. 惯性张量的平移变换

设有一质量为 m m m 的刚体,在其上选一点建立随体坐标系 { C } \{C\} { C},已知另一坐标系 { A } \{A\} { A} { C } \{C\} { C}系为平移关系,且 { C } \{C\} { C}系原点在 { A } \{A\} { A}系中的位置为 P c P_c Pc

4.1 结论

刚体在 { A } \{A\} { A}系中的惯性张量可写为:
A  ⁣ I = C  ⁣ I + m ( P c T P c I 3 − P c P c T ) {}^A\!I={}^C\!I+m(P_c^TP_cI_3 - P_cP_c^T) AI=CI+m(PcTPcI3PcPcT)
其中 I 3 I_3 I3 3 × 3 3\times3 3×3 的单位矩阵。

上式为《机器人学导论》的结论,与下面维基百科给出的公式一致,可以理解为平行轴定理的推广
在这里插入图片描述

4.2 证明

下面是维基百科关于张量平行轴定理的介绍:
在这里插入图片描述

更详细的证明可以参考知网的这篇文章:惯性张量平移和旋转复合变换的一般形式及其应用

参考资料

[1] 机器人学导论(原书第四版) John J.Craig著,贠超 王超译
[2] 惯性张量平移和旋转复合变换的一般形式及其应用
[3] Parallel axis theorem

猜你喜欢

转载自blog.csdn.net/weixin_45910027/article/details/129648972