本章目录

刚体惯量与转动方程

前两章用旋转矩阵、四元数和角速度描述了刚体如何转动;若要进一步计算刚体在外力与外力矩作用下如何改变运动状态,还需要刻画刚体内部的质量分布。即便总质量完全相同,质量集中在转轴附近或是分布在远离转轴的外缘,刚体对力矩的响应快慢也会截然不同。

本章首先从绕固定轴转动出发,将各个质点的动能相加,引出与轴距平方成正比的标量转动惯量;随后放开转轴方向的限制,将刚体的质量分布整理为一个对称的 3\times3 惯量矩阵,用以统一计算任意角速度下的转动动能与角动量。在此基础上,结合转动坐标系的求导法则对角动量求时间导数,即可建立刚体的 Euler 转动方程,并由此定量分析无外力矩下的中间轴翻转与重力力矩作用下的稳态进动。

数学约定

本章沿用右手笛卡尔坐标系、列向量以及从物体系到世界系的姿态矩阵 R。位置、速度与力的国际单位分别为 \mathrm m、\mathrm{m/s} 与 \mathrm N;惯量矩阵所选的参考点与表达坐标系均在上下文中指明,三阶单位矩阵记为 E。

01

固定轴转动与标量惯量

设想将两个质量相同的砝码安装在可绕固定轴转动的轻杆上:当把砝码沿杆向外推移后再施加同样大小的驱动力矩时,轻杆角速度的增长会明显变慢。这是因为增大砝码到转轴的距离,不仅提高了同一角速度下砝码的切向线速度,也成倍增加了达到该转速所需的动能。从这一基本物理图景出发,我们可以直接导出转动惯量与轴距平方之间的定量关系。

第二章已经通过旋转矩阵求导给出了刚体上任一点的速度向量公式;为了看清标量转动惯量的几何起源,这里先直接从圆周轨迹的弧长与转角关系出发推导切向速率,再代入动能表达式(角速度的正方向依然遵循第二章的右手螺旋定则)。

考虑一个质量为 m 的质点绕空间中的固定直线轴转动,设质点到转轴的垂直距离为 d。从质点向转轴作垂线,随着刚体转动,质点在空间中描绘出以垂足为圆心、以 d 为半径的圆周。我们只需先由这段圆周轨迹求出质点的瞬时速率,即可立即写出它的动能。

在弧度制下,转角 \theta 定义为圆周上的有向弧长 s 与半径 d 的比值,即 s=d\theta。由于转轴固定且刚体内部距离不变,半径 d 为常数;对时间求导便得到质点的切向速度分量与速率:

\dot s=d\dot\theta=d\omega,\qquad v=|\dot s|=d|\omega|.

式中角速度 \omega=\dot\theta 的正负号区分正反两个转向,速率 v 则取其绝对值。这一正比关系直观地说明:在相同时间内扫过同一转角的两个质点,离转轴越远,走过的圆弧越长,线速率也就越大。

推导弧长、弦长与瞬时速度v=d|\omega|

取一段转向保持不变的微小时间间隔 \Delta t,质点走过的弧长与转角增量的关系为 \Delta s=d|\Delta\theta|。令 \Delta t\to0,平均速率及其瞬时极限为:

\frac{\Delta s}{\Delta t}=d\frac{|\Delta\theta|}{\Delta t}\quad\longrightarrow\quad d\left|\frac{d\theta}{dt}\right|=d|\omega|.

另一方面,质点的速度向量定义为位移弦向量 \Delta\boldsymbol x 与时间 \Delta t 之比的极限。由于始末两条半径与端点连线构成顶角为 |\Delta\theta|、腰长为 d 的等腰三角形,沿顶角平分线将其分为两个全等的直角三角形,可得弦长为:

\|\Delta x\|=2d\left|\sin\frac{\Delta\theta}{2}\right|.

当时间间隔缩短(\Delta\theta\to0)时,割线方向趋近于圆周的切线方向。在单位圆内比较同一微小锐角 u 所对应的内接三角形、扇形与外切三角形面积,有不等式 \sin u\le u\le\tan u,整理得 \cos u\le\sin u/u\le1。由夹逼准则可知,当 u\to0 时两侧均趋于 1(因 \sin u/u 为偶函数,负角亦然)。由此可验证位移差商的模长极限与弧长导数完全一致:

\begin{aligned}\frac{\|\Delta x\|}{\Delta t}&=d\frac{|\Delta\theta|}{\Delta t}\left|\frac{\sin(\Delta\theta/2)}{\Delta\theta/2}\right|\\&\longrightarrow d|\omega|.\end{aligned}

当转动瞬时停止(\omega=0)时,上述极限自然为零。此外,质点沿转轴方向的坐标平移不改变其到转轴的垂直半径 d,因而也不影响切向速率。

思考角速度保持相同,质点到轴的距离加倍,速率怎样变化?

在相同时间内质点扫过的转角 |\Delta\theta| 保持不变;由弧长关系 \Delta s=d|\Delta\theta| 可知,当轴距 d 加倍时,走过的弧长随之加倍,除以相同的时间间隔后切向速率也加倍。在下方实验中保持角速度不变、仅拖动质点改变轴距,即可直观验证这一比例关系。

实验 01固定轴转动的弧长与速度

改变到轴距离、角速度和观察时间间隔,对照圆弧、端点弦与切向速度。拖动视角查看转轴与圆平面的垂直关系。

例如,在图中取轴距 d=0.8\,\mathrm m、角速度 \omega=1\,\mathrm{rad/s}、时间间隔 \Delta t=0.6\,\mathrm s,质点走过的圆弧长为 0.48\,\mathrm m,沿圆弧的平均速率为 0.8\,\mathrm{m/s};当逐步缩短观察时间间隔 \Delta t 时,端点弦长与时间之比也迅速收敛到同一数值。将所得切向速率 v=d|\omega| 代入质点的动能公式,可得:

T=\frac12mv^2=\frac12md^2\omega^2.

式中由质量与轴距平方构成的组合量 md^2,称为该质点关于这根转轴的转动惯量(moment of inertia)。当多个质点刚性固连在一起、以相同的角速度 \omega 绕同一根固定轴转动时,将各质点的动能逐项相加,即可得到质点系的总转动动能:

I_n=\sum_i m_i d_i^2,\qquad T_{\mathrm{rot}}=\frac12I_n\omega^2.
(4.1)

在本节中,转轴在空间中的位置已经固定,下标 n 用于标识转轴的单位正方向。转动惯量 I_n 的国际单位为 \mathrm{kg\,m^2}:每个质点对转动惯量的贡献与其到转轴垂直距离的平方成正比,而质点沿转轴方向的位置移动则不会改变这一贡献。

例题:质点的动能

设单个质点的质量为 m=2\,\mathrm{kg},到固定转轴的垂直距离为 d=0.3\,\mathrm m,绕轴转动的角速度为 \omega=4\,\mathrm{rad/s}。由式(4.1)依次求得切向速率、转动惯量与动能:

v=1.2\,\mathrm{m/s},\qquad I_n=0.18\,\mathrm{kg\,m^2},\qquad T=\frac12(0.18)(4^2)=1.44\,\mathrm J.

若直接将线速率 v=1.2\,\mathrm{m/s} 代入平动动能公式 mv^2/2,同样得到 1.44\,\mathrm J。

在动力学上,绕固定轴转动的刚体满足定轴转动方程 \tau_n=I_n\dot\omega,其中 \tau_n 是作用在刚体上的合外力矩沿转轴正方向的投影分量,该力矩做功的瞬时功率为 P=\tau_n\omega。由于转轴固定在刚体上,各质点到转轴的距离 d_i 保持恒定,因此标量惯量 I_n 是一个与时间无关的常数。需要注意的是,固定转轴的轴承支撑还会提供垂直于转轴的约束反力矩以维持轴向不变,而沿转轴方向的分量 \tau_n 则单独决定了转速 \omega 的快慢变化。当刚体在三维空间中自由运动时,转轴方向本身也会随时间改变,这就需要把三个空间方向的质量分布与力矩耦合统一纳入矩阵方程。

推导固定轴方程与力矩功率I_n\dot\omega=\tau_n

当单个质点绕固定轴以角速度 \omega 转动时,其轴距 d 保持不变,故沿圆周切向的线加速度为 a_t=\dot v=d\dot\omega。由牛顿第二定律,质点所受的切向合力为 f_t=ma_t,该切向力关于转轴产生的力矩为:

\tau_n=df_t=md^2\dot\omega.

与此同时,指向圆心的径向力作用线直接穿过转轴,平行于转轴的轴向力对转轴也没有力臂,两者对绕轴力矩 \tau_n 均无贡献。对于由多个质点组成的刚体,所有质点具有共同的角加速度 \dot\omega;对全部质点求和时,质点间成对出现的有心内力因大小相等、方向相反且共线,其力矩两两抵消,从而得到合外力矩方程 \tau_n=I_n\dot\omega(该关系在角速度瞬时为零的时刻同样成立)。

在微小转角增量 \mathrm d\theta 内,质点的切向位移为 d\,\mathrm d\theta,切向力所做的元功为 \mathrm dW=f_t d\,\mathrm d\theta=\tau_n\,\mathrm d\theta。两边除以时间微元 \mathrm dt 并代入 \dot\theta=\omega,即得力矩功率与转动动能变化率的恒等关系:

\frac{\mathrm dW}{\mathrm dt}=\tau_n\omega=I_n\omega\dot\omega=\frac{\mathrm d}{\mathrm dt}\left(\frac12I_n\omega^2\right).
02

质心与质量分布

在空间中自由运动的刚体同时包含整体平动与绕某一点的转动。如果选取刚体的质心(center of mass)作为基准参考点,不仅能用质心一个点的运动完整代表整个刚体的平动,还能使刚体各部分质量相对参考点的位置偏差相互平衡。这一平衡性质将在接下来的动能分解与平行轴定理推导中直接消去平动与转动的交叉耦合项。

设刚体由离散质点组成,第 i 个质点的质量为 m_i、世界坐标位置为 \boldsymbol x_i。刚体的总质量 m 为各质点质量之和,质心位置 \boldsymbol c 则定义为各质点位置的质量加权平均:

m=\sum_i m_i,\qquad \boldsymbol c=\frac1m\sum_i m_i\boldsymbol x_i.
(4.2)

由定义可知,质量越大的质点对质心位置的影响权重越大。例如,将质量分别为 1\,\mathrm{kg} 和 3\,\mathrm{kg} 的两个质点放在一维数轴的 0\,\mathrm m 和 2\,\mathrm m 处,它们的质心便偏向较重一侧,位于 (1\times0+3\times2)/4=1.5\,\mathrm m 处。

记第 i 个质点相对于质心的位置向量为 \boldsymbol r_i=\boldsymbol x_i-\boldsymbol c。将质心定义式(4.2)改写为相对位置的形式,即可得到一个在刚体力学中反复使用的基本恒等式:

\sum_i m_i\boldsymbol r_i=\boldsymbol0.
(4.3)
推导相对位置的质量加权和\sum_i m_i\boldsymbol r_i=\boldsymbol0

将 \boldsymbol r_i=\boldsymbol x_i-\boldsymbol c 代入求和式,并利用 \boldsymbol c 对求和指标 i 为常向量的性质直接展开:

\begin{aligned}\sum_i m_i\boldsymbol r_i&=\sum_i m_i(\boldsymbol x_i-\boldsymbol c)\\&=\sum_i m_i\boldsymbol x_i-\left(\sum_i m_i\right)\boldsymbol c\\&=m\boldsymbol c-m\boldsymbol c=\boldsymbol0.\end{aligned}

以刚才数轴上的两个质点为例,它们相对于质心 c=1.5\,\mathrm m 的位置分别为 r_1=-1.5\,\mathrm m 和 r_2=0.5\,\mathrm m,其质量加权和恰好为 1\times(-1.5)+3\times0.5=0。

连续质量分布

对于质量连续分布的实体刚体,可以将其划分为无穷多个微小体积元,每个微元各自具有位置 \boldsymbol x 与质量微元 \mathrm dm。当划分无限加细时,离散求和自然过渡为体积分。设刚体在位置 \boldsymbol x 处的体密度为 \rho(\boldsymbol x),体积微元为 \mathrm dV,则质量微元为 \mathrm dm=\rho(\boldsymbol x)\mathrm dV,总质量、质心位置以及相对位置的质量加权平衡关系分别写为:

m=\int\mathrm dm,\qquad \boldsymbol c=\frac1m\int\boldsymbol x\,\mathrm dm,\qquad \int\boldsymbol r\,\mathrm dm=\boldsymbol0.

上述积分遍历刚体所占据的全部空间区域,向量积分则按三个坐标分量分别积分(例如横坐标分量为 \int x\,\mathrm dm)。一般而言,体密度 \rho(\boldsymbol x) 可以随空间位置变化;只有当刚体材质均匀(\rho 为常数)时,才能将密度提到积分号外。对于密度均匀的对称几何体(如均匀长方体、均匀球体),由于任一质量微元关于几何中心都存在质量相等、相对位置相反的镜像微元,其质心必然与几何中心重合。

作为一维连续分布的简单例子,考察一根沿 x 轴从 0 延伸到 L、总质量为 m 的均匀细杆。其线密度为常数 \lambda=m/L,长度微元 \mathrm dx 对应的质量微元为 \mathrm dm=\lambda\,\mathrm dx,直接积分即可求得其质心位于中点 c=L/2。同理,二维均匀薄板使用面密度乘面积微元,三维实体使用体密度乘体积微元,三者在物理本质上都是对质量微元的加权求和。

计算均匀细杆的质量平均c=L/2

先验证细杆的总质量积分,再计算坐标 x 的质量加权积分:

\int_0^L\lambda\,\mathrm dx=\lambda L=m,\qquad \int_0^L x\lambda\,\mathrm dx=\lambda\left[\frac{x^2}{2}\right]_0^L=\frac{mL}{2}.

将加权积分除以总质量 m,即得质心坐标 c=L/2。进一步检验相对质心坐标 x-c 的质量加权积分:

\int_0^L(x-c)\lambda\,\mathrm dx=\frac{mL}{2}-c\int_0^L\lambda\,\mathrm dx=\frac{mL}{2}-mc=0.

这表明离散质点系的质心平衡条件式(4.3)原封不动地延续到了连续质量分布。

质心的平动方程

当刚体上各点受到外力作用时,记所有外力的矢量和为合外力 \boldsymbol F。对质心定义求二阶时间导数可知,刚体质心的运动满足 m\ddot{\boldsymbol c}=\boldsymbol F;也就是说,整个刚体的整体平动完全等同于一个集中了全部质量 m 并承受全部合外力 \boldsymbol F 的质点。

推导质心加速度与合外力m\ddot{\boldsymbol c}=\boldsymbol F

由于各质点的质量 m_i 不随时间变化,对式(4.2)中的 m\boldsymbol c=\sum_i m_i\boldsymbol x_i 连续求两次时间导数,并代入各质点的牛顿第二定律 m_i\ddot{\boldsymbol x}_i=\boldsymbol f_i:

m\ddot{\boldsymbol c}=\sum_i m_i\ddot{\boldsymbol x}_i=\sum_i\boldsymbol f_i.

每个质点所受的力 \boldsymbol f_i 包含外力与其他质点施加的内力。根据牛顿第三定律,刚体内部成对出现的相互作用内力大小相等、方向相反,在全体质点求和时两两抵消,仅留下全部外力的矢量和 \boldsymbol F,从而证得质心运动定理 m\ddot{\boldsymbol c}=\boldsymbol F。

质心平动定理将合外力与刚体的整体平移直接联系起来,余下的运动便是各质点围绕质心的相对转动。接下来我们将各质点的速度分解式代入总动能,继续利用式(4.3)的质量加权平衡性质分离平动动能与转动动能。

下方实验将三个离散质点置于同一平面内,便于同时观察质心位置与轴距的变化。尝试调整第三个质点的质量或位置,观察质心如何向重质点偏移,并对比绕质心竖轴与绕固定原点竖轴的转动惯量读数。

实验 02离散质量、质心与转动惯量

改变第三个质点的质量与位置,观察质心和惯量。选择质心或固定原点作为转轴参考点,再播放绕竖轴的转动。速度箭头表示各点的切向速度。

可以看到,增大某个质点的质量会将质心拉向该质点;而在保持各质点质量与位置不变的前提下切换转轴参考点(质心或原点),改变的则是各质点到转轴的距离及相应的切向速度分布。下一节我们将把绕任意方向转轴的这种距离平方加权关系整理为统一的惯量矩阵。

03

刚体动能与惯量矩阵

设刚体的质心线速度为 \boldsymbol v_C,世界系下的角速度为 \boldsymbol\omega。根据第二章的刚体点速度公式,第 i 个质点的世界速度可写为质心平动速度与绕质心转动速度之和:\boldsymbol v_i=\boldsymbol v_C+\boldsymbol\omega\times\boldsymbol r_i。将其代入全体质点的总动能表达式,质心条件 \sum_i m_i\boldsymbol r_i=\boldsymbol0 会使平动与转动的交叉项恒等于零,从而将总动能干净地分解为质心平动动能与绕质心转动动能两项:

T=\frac12m\|\boldsymbol v_C\|^2+\frac12\sum_i m_i\|\boldsymbol\omega\times\boldsymbol r_i\|^2.
(4.4)
推导平动与转动的动能分解T=\tfrac12m\|\boldsymbol v_C\|^2+T_{\mathrm{rot}}

将 \boldsymbol v_i=\boldsymbol v_C+\boldsymbol\omega\times\boldsymbol r_i 代入总动能定义并展开范数平方:

\begin{aligned}T&=\frac12\sum_i m_i\|\boldsymbol v_C+\boldsymbol\omega\times\boldsymbol r_i\|^2\\&=\frac12\left(\sum_i m_i\right)\|\boldsymbol v_C\|^2\\&\quad+\boldsymbol v_C^{\mathsf T}\left(\boldsymbol\omega\times\sum_i m_i\boldsymbol r_i\right)\\&\quad+\frac12\sum_i m_i\|\boldsymbol\omega\times\boldsymbol r_i\|^2.\end{aligned}

由于中间交叉项括号内的质量加权和 \sum_i m_i\boldsymbol r_i=\boldsymbol0,该项恒为零,仅保留式(4.4)中的平动动能与转动动能两项。对于连续质量分布的刚体,只需将求和替换为积分,交叉项同样因 \int\boldsymbol r\,\mathrm dm=\boldsymbol0 而精确消去。

当刚体绕某一固定方向的转轴转动时,我们可以按第 1 节的方法先算出该轴的标量惯量 I_n,再乘以角速度平方的一半。然而在一般的三维运动中,角速度向量 \boldsymbol\omega 的方向随时间连续变化,若每次改变方向都重新对全体质点求和既繁琐又低效。注意到式(4.4)第二项中角速度 \boldsymbol\omega 的各个分量总是以二次齐次形式出现,我们可以把仅与质量分布相关的几何系数提取出来,预先汇总为一个 3\times3 实对称矩阵,称为刚体关于质心的惯量矩阵(inertia matrix)或惯性张量(inertia tensor):

I=\sum_i m_i\bigl(\|\boldsymbol r_i\|^2E-\boldsymbol r_i\boldsymbol r_i^{\mathsf T}\bigr),\qquad T_{\mathrm{rot}}=\frac12\boldsymbol\omega^{\mathsf T}I\boldsymbol\omega.
(4.5)
推导叉乘长度与矩阵二次型T_{\mathrm{rot}}=\tfrac12\boldsymbol\omega^{\mathsf T}I\boldsymbol\omega

设角速度向量 \boldsymbol\omega 与相对位置向量 \boldsymbol r 之间的夹角为 \gamma。由叉乘模长公式与内积公式,并利用恒等式 \sin^2\gamma=1-\cos^2\gamma,可将叉乘模长的平方改写为:

\begin{aligned}\|\boldsymbol\omega\times\boldsymbol r\|^2&=\|\boldsymbol\omega\|^2\|\boldsymbol r\|^2\sin^2\gamma\\&=\|\boldsymbol\omega\|^2\|\boldsymbol r\|^2-(\boldsymbol\omega^{\mathsf T}\boldsymbol r)^2\\&=\boldsymbol\omega^{\mathsf T}(\|\boldsymbol r\|^2E-\boldsymbol r\boldsymbol r^{\mathsf T})\boldsymbol\omega.\end{aligned}

在最后一步中,我们将 \|\boldsymbol\omega\|^2\|\boldsymbol r\|^2 写成了矩阵二次型 \boldsymbol\omega^{\mathsf T}(\|\boldsymbol r\|^2E)\boldsymbol\omega,并将标量平方 (\boldsymbol\omega^{\mathsf T}\boldsymbol r)^2=(\boldsymbol\omega^{\mathsf T}\boldsymbol r)(\boldsymbol r^{\mathsf T}\boldsymbol\omega) 结合为外积二次型 \boldsymbol\omega^{\mathsf T}(\boldsymbol r\boldsymbol r^{\mathsf T})\boldsymbol\omega。由于全体质点共享同一个角速度向量 \boldsymbol\omega,求和时可将左端的 \boldsymbol\omega^{\mathsf T} 与右端的 \boldsymbol\omega 提到求和号外,中间的质量加权矩阵之和即为式(4.5)定义的惯量矩阵 I。

对于连续质量分布的刚体,惯量矩阵相应地定义为体积分 I=\int(\|\boldsymbol r\|^2E-\boldsymbol r\boldsymbol r^{\mathsf T})\,\mathrm dm。

矩阵分量与质量分布

将质量微元相对于参考点的直角坐标写为 \boldsymbol r=(x,y,z)^{\mathsf T},展开 \|\boldsymbol r\|^2E-\boldsymbol r\boldsymbol r^{\mathsf T},可得单个质量微元 \mathrm dm 对惯量矩阵的贡献:

\mathrm dI=\begin{bmatrix}y^2+z^2&-xy&-xz\\-xy&x^2+z^2&-yz\\-xz&-yz&x^2+y^2\end{bmatrix}\mathrm dm.

矩阵的三个对角元(称为转动惯量,moments of inertia)分别是质量微元到 x,y,z 三根坐标轴的垂直距离平方(如 y^2+z^2 为到 x 轴的距离平方)乘以质量微元后的积分。六个非对角元(其相反数或本身常称为惯性积,products of inertia)则刻画了质量分布在不同坐标轴方向之间的耦合不对称性:例如 I_{12}=-\int xy\,\mathrm dm,位于第一、三象限(x,y 同号)的质量微元对其产生负贡献,位于第二、四象限(x,y 异号)的质量微元产生正贡献。若刚体的质量分布关于坐标平面具有镜像对称性,这些正负贡献便会成对抵消,使非对角元归零。

由于惯量矩阵的每一个元素都只取决于刚体的几何形状与质量分布,在刚体自身的局部坐标系下只需预先计算一次。一旦有了惯量矩阵 I,对于任意给定的单位转轴方向 \boldsymbol n,绕该轴的标量转动惯量只需通过二次型直接取出:

I_n=\boldsymbol n^{\mathsf T}I\boldsymbol n.

这一二次型在数值上仍然严格等于各质点到转轴 \boldsymbol n 的垂直距离平方与质量的乘积之和,因此恒满足非负性 I_n\ge0。只有当刚体的全部质量都恰好退化在某一条直线轴上时,绕该轴的转动惯量才会为零;只要任意直线轴外都分布有正质量,惯量矩阵 I 就是严格对称正定矩阵。实际物理仿真中具有有限三维体积的正质量刚体(以及平面内不共线的多质点系统)均满足这一正定条件。

推导任意转轴的惯量与退化情形I_n=\boldsymbol n^{\mathsf T}I\boldsymbol n\ge0

任取单位轴向向量 \boldsymbol n,令角速度为 \boldsymbol\omega=\omega\boldsymbol n。对比定轴转动动能式(4.1)与一般转动动能式(4.5),消去公共因子 \omega^2/2 可得:

I_n=\boldsymbol n^{\mathsf T}I\boldsymbol n=\sum_i m_i\|\boldsymbol n\times\boldsymbol r_i\|^2.

其中 \|\boldsymbol n\times\boldsymbol r_i\| 正是第 i 个质点到过参考点的单位轴 \boldsymbol n 的垂直距离 d_i。由于求和中的每一项均非负,故 I_n\ge0;且仅当对所有 m_i>0 的质点都有 \boldsymbol n\times\boldsymbol r_i=\boldsymbol0(即全部质量共线地落在该转轴上)时,才有 I_n=0。

例如,将两个质量均为 m_0 的质点对称地放在 x 轴上的 (\pm a,0,0)^{\mathsf T} 处,它们关于原点的惯量矩阵为:

I=\operatorname{diag}(0,2m_0a^2,2m_0a^2).

由于两个质点都在 x 轴上,绕 x 轴转动时质点的线速度为零,故 I_{11}=0。理想无厚度的几何细杆同样具有这种奇异退化;而在工程仿真中,具有有限横截面半径的连杆绕其长轴的主惯量始终为正,从而保证了动力学方程中惯量矩阵的可逆性。

例题:三个质点的惯量矩阵

在平面 z=0 内放置三个质点:前两个质点质量均为 1\,\mathrm{kg},位于 (-0.8,0,0) 和 (0.8,0,0)\,\mathrm m;第三个质点质量为 2\,\mathrm{kg},位于 (0.3,1,0)\,\mathrm m。系统总质量为 m=4\,\mathrm{kg},由式(4.2)求得质心位于 \boldsymbol c=(0.15,0.5,0)\,\mathrm m,三个质点相对于质心的位置向量依次为:

\boldsymbol r_1=(-0.95,-0.5,0),\qquad\boldsymbol r_2=(0.65,-0.5,0),\qquad\boldsymbol r_3=(0.15,0.5,0)\quad(\mathrm m).

由于三个质点均位于 z=0 平面内(即 z_i=0),先分别计算 I_{11}=\sum m_i y_i^2、I_{22}=\sum m_i x_i^2 以及非对角元 I_{12}=-\sum m_i x_i y_i:

\begin{aligned}I_{11}&=1(0.5)^2+1(0.5)^2+2(0.5)^2=1,\\I_{22}&=1(0.95)^2+1(0.65)^2+2(0.15)^2=1.37,\\I_{12}&=-[1(-0.95)(-0.5)+1(0.65)(-0.5)+2(0.15)(0.5)]=-0.30.\end{aligned}

对于平面质量分布,绕垂直轴的惯量 I_{33}=\sum m_i(x_i^2+y_i^2)=I_{11}+I_{22}=2.37,而含有 z 坐标的非对角元 I_{13}=I_{23}=0。因此,系统关于质心的惯量矩阵为:

I_C=\begin{bmatrix}1&-0.30&0\\-0.30&1.37&0\\0&0&2.37\end{bmatrix}\,\mathrm{kg\,m^2}.

当系统绕过质心的竖轴(z 轴)以 \omega=2\,\mathrm{rad/s} 转动时,其转动动能为 \tfrac12 I_{33}\omega^2=\tfrac12(2.37)(2^2)=4.74\,\mathrm J。这组数值正是第 2 节实验 02 的默认配置。

回到上一节的实验 02,保持默认参数不变,将转轴参考点从“质心”切换为“固定原点”,即可直接对比两种转轴下的惯量与动能读数。

当整个系统改绕过原点的固定竖轴以同样的角速度 2\,\mathrm{rad/s} 转动时,直接按原点的坐标计算竖轴惯量得 I_{O,33}=1(0.8)^2+1(0.8)^2+2(0.3^2+1^2)=3.46\,\mathrm{kg\,m^2},相应的总动能增至 \tfrac12(3.46)(2^2)=6.92\,\mathrm J。之所以比绕质心转动多出 6.92-4.74=2.18\,\mathrm J 的动能,是因为此时质心本身也在以半径 \|\boldsymbol c\|=\sqrt{0.15^2+0.5^2}\approx0.5220\,\mathrm m 绕原点做圆周平动,其质心平动动能恰好等于 \tfrac12 m(\|\boldsymbol c\|\omega)^2=\tfrac12(4)(0.2725)(4)=2.18\,\mathrm J。第 5 节将把这一差值推广为任意参考点之间的平行轴定理。

04

长方体惯量、角动量与主轴

考察一个质量为 m、三条棱长分别为 a,b,c 的均匀长方体。将坐标原点设在长方体质心,令三条坐标轴分别平行于长方体的三条棱边,则长方体的常体密度为 \rho=m/(abc),质量微元为 \mathrm dm=\rho\,\mathrm dx\,\mathrm dy\,\mathrm dz,三个坐标的积分区间分别为关于原点对称的 [-a/2,a/2]、[-b/2,b/2] 和 [-c/2,c/2]。计算绕横轴(x 轴)的转动惯量时,每个质量微元的轴距平方权重为 y^2+z^2,而横坐标 x 只决定沿轴向叠加的厚度。对三个坐标方向分别积分,即可得到均匀长方体关于质心的对角惯量矩阵:

I=\frac{m}{12}\operatorname{diag}(b^2+c^2,\ a^2+c^2,\ a^2+b^2).
(4.6)
推导均匀长方体的质量积分I_1=\tfrac m{12}(b^2+c^2)

首先计算第一个对角元 I_{11}=\int(y^2+z^2)\,\mathrm dm。将第一项 \int y^2\,\mathrm dm 拆为三个独立的一维定积分之积:

\begin{aligned}\int y^2\,\mathrm dm&=\rho\int_{-a/2}^{a/2}\mathrm dx\int_{-b/2}^{b/2}y^2\,\mathrm dy\int_{-c/2}^{c/2}\mathrm dz\\&=\rho a c\left[\frac{y^3}{3}\right]_{-b/2}^{b/2}\\&=\frac{m}{abc}ac\frac{b^3}{12}=\frac{mb^2}{12}.\end{aligned}

同理计算第二项 \int z^2\,\mathrm dm:

\int z^2\,\mathrm dm=\rho\left(\int_{-a/2}^{a/2}\mathrm dx\right)\left(\int_{-b/2}^{b/2}\mathrm dy\right)\left(\int_{-c/2}^{c/2}z^2\,\mathrm dz\right)=\rho ab\frac{c^3}{12}=\frac{mc^2}{12}.

将两项相加即得横轴惯量 I_{11}=m(b^2+c^2)/12。由于绕纵轴(y 轴)和竖轴(z 轴)的轴距平方分别为 x^2+z^2 和 x^2+y^2,轮换字母即可写出其余两个对角元。对于非对角元,以 I_{12} 为例:

I_{12}=-\rho\left(\int_{-a/2}^{a/2}x\,\mathrm dx\right)\left(\int_{-b/2}^{b/2}y\,\mathrm dy\right)\left(\int_{-c/2}^{c/2}\mathrm dz\right)=0.

由于奇函数 x 和 y 在对称区间上的定积分均为零,故 I_{12}=0;其余两个非对角元 I_{13},I_{23} 也因同样的镜像对称性而等于零。

从式(4.6)可以看出,在保持总质量 m 不变的前提下,拉长横向边长 a 会同时增大绕纵轴和绕竖轴的转动惯量,但绕横轴自身的转动惯量 I_{11}=m(b^2+c^2)/12 却只取决于截面边长 b 和 c。这与第 1 节“质点沿转轴方向平移不改变轴距”的结论完全吻合。至此,离散质点求和与连续几何体积分都归结为了同一种结构的惯量矩阵。

角动量

为了进一步分析外力矩如何改变刚体的转动状态,需要引入与平动动量相对应的转动物理量。在质点平动中,线动量定义为质量与速度的乘积;在刚体转动中,对每个质量微元计算相对质心位置向量 \boldsymbol r_i 与其线动量 m_i\boldsymbol v_i 的叉乘,再对整个刚体求和,便得到刚体关于质心的角动量(angular momentum)\boldsymbol\ell。将刚体各点的速度分解式代入角动量定义,利用质心平衡条件与二重叉乘恒等式,可以直接将角动量表示为惯量矩阵与角速度向量的乘积:

\boldsymbol\ell=I\boldsymbol\omega.
(4.7)

角动量 \boldsymbol\ell 的国际单位为 \mathrm{kg\,m^2/s}(或 \mathrm{N\,m\,s})。值得注意的是,由于刚体在不同方向上的惯量一般不同,经矩阵 I 线性变换后,角动量向量 \boldsymbol\ell 的方向往往会偏离角速度向量 \boldsymbol\omega 的方向。

推导由质点角动量得到惯量矩阵\boldsymbol\ell=I\boldsymbol\omega

将质点速度 \boldsymbol v_i=\boldsymbol v_C+\boldsymbol\omega\times\boldsymbol r_i 代入关于质心的角动量定义:

\begin{aligned}\boldsymbol\ell&=\sum_i\boldsymbol r_i\times m_i(\boldsymbol v_C+\boldsymbol\omega\times\boldsymbol r_i)\\&=\left(\sum_i m_i\boldsymbol r_i\right)\times\boldsymbol v_C+\sum_i m_i\boldsymbol r_i\times(\boldsymbol\omega\times\boldsymbol r_i).\end{aligned}

等式右边第一项因质心条件 \sum_i m_i\boldsymbol r_i=\boldsymbol0 而消失。对第二项中的每个二重叉乘,应用第二章的向量恒等式 \boldsymbol a\times(\boldsymbol b\times\boldsymbol c)=(\boldsymbol a^{\mathsf T}\boldsymbol c)\boldsymbol b-(\boldsymbol a^{\mathsf T}\boldsymbol b)\boldsymbol c:

\boldsymbol r\times(\boldsymbol\omega\times\boldsymbol r)=\|\boldsymbol r\|^2\boldsymbol\omega-(\boldsymbol r^{\mathsf T}\boldsymbol\omega)\boldsymbol r=(\|\boldsymbol r\|^2E-\boldsymbol r\boldsymbol r^{\mathsf T})\boldsymbol\omega.

将公共的角速度向量 \boldsymbol\omega 提到求和号右侧,左边括号内的质量加权矩阵之和正是式(4.5)定义的惯量矩阵 I,从而证得式(4.7)。

主轴与主惯量

如果刚体绕某个特定的单位轴方向 \boldsymbol n 转动时,角动量恰好与角速度保持共线,即满足特征方程 I\boldsymbol n=I_n\boldsymbol n,则称该方向为刚体的惯量主轴(principal axis of inertia),对应的比例系数 I_n 称为主惯量(principal moment of inertia)。从线性代数看,惯量主轴与主惯量正是实对称矩阵 I 的特征向量与特征值。

根据实对称矩阵的正交对角化定理,任意刚体都存在三根相互正交的单位惯量主轴。将这三根主轴按右手定则排列为正交矩阵 U 的三列,则惯量矩阵可对角化为 I=U\operatorname{diag}(I_1,I_2,I_3)U^{\mathsf T};前文均匀长方体平行于棱边的三根几何对称轴,就自然构成了这样一组主轴坐标系。对于任意单位转轴方向 \boldsymbol n,其标量轴惯量 I_n=\boldsymbol n^{\mathsf T}I\boldsymbol n 等于三个主惯量的非负加权平均(权重为 \boldsymbol n 在三根主轴上方向余弦的平方),因此必有上下界 \min_j I_j\le I_n\le\max_j I_j,且仅当转轴与相应主轴重合时取到极值。在实际计算中,若直接将刚体局部坐标系选在惯量主轴上,惯量矩阵便简化为对角阵,角动量的三个分量只需由各方向角速度分量分别乘以对应的主惯量即可求得。

推导主轴的正交关系\boldsymbol n_i^{\mathsf T}\boldsymbol n_j=0\quad(I_i\ne I_j)

设 \boldsymbol u,\boldsymbol v 为对称矩阵 I 的两个特征向量,满足 I\boldsymbol u=\lambda\boldsymbol u 和 I\boldsymbol v=\mu\boldsymbol v。利用矩阵对称性 I^{\mathsf T}=I 计算二次型:

\lambda\boldsymbol u^{\mathsf T}\boldsymbol v=(I\boldsymbol u)^{\mathsf T}\boldsymbol v=\boldsymbol u^{\mathsf T}I\boldsymbol v=\mu\boldsymbol u^{\mathsf T}\boldsymbol v.

移项得 (\lambda-\mu)\boldsymbol u^{\mathsf T}\boldsymbol v=0。因此,只要两个主惯量不相等(\lambda\ne\mu),对应的两根主轴就必定相互正交(\boldsymbol u^{\mathsf T}\boldsymbol v=0);若存在相等的主惯量(如轴对称圆盘或圆柱),特征向量张成一个二维或三维特征子空间,在子空间内同样可以通过正交化任选一组相互垂直的单位基,从而总能建立右手标准正交主轴系 \{\boldsymbol u_1,\boldsymbol u_2,\boldsymbol u_3\}。

将任意单位轴方向展开为主轴的线性组合 \boldsymbol n=\sum_j a_j\boldsymbol u_j,由单位模长条件知 \sum_j a_j^2=1,代入轴惯量定义即得凸组合关系 I_n=\boldsymbol n^{\mathsf T}I\boldsymbol n=\sum_j I_j a_j^2,证实任意轴惯量恒介于最小主惯量与最大主惯量之间。

例题:斜轴转动的角动量方向

考察一个质量为 1\,\mathrm{kg}、三条棱长分别为 2,1.2,0.5\,\mathrm m 的均匀长方体。由式(4.6)可算出其沿三根对称轴的主惯量分别为:

I_1=\frac{1.2^2+0.5^2}{12}=0.140833\ldots,\quad I_2=\frac{2^2+0.5^2}{12}=0.354167\ldots,\quad I_3=\frac{2^2+1.2^2}{12}=0.453333\ldots.

现令长方体绕 x,y 主轴平面内的 45^\circ 斜轴方向 \boldsymbol n=(1,1,0)^{\mathsf T}/\sqrt2 以角速度大小 \omega=2\,\mathrm{rad/s} 转动,则角速度向量、角动量向量以及绕该斜轴的标量惯量分别为:

\boldsymbol\omega=\sqrt2(1,1,0)^{\mathsf T},\qquad \boldsymbol\ell=\sqrt2(I_1,I_2,0)^{\mathsf T},\qquad I_n=\frac{I_1+I_2}{2}=0.2475\,\mathrm{kg\,m^2}.

由于第二主惯量 I_2 大于第一主惯量 I_1,角动量向量 \boldsymbol\ell 的纵向分量被放大得更多,导致其方向明显向惯量更大的纵轴偏转;此时的转动动能为 \tfrac12 I_n\omega^2=\tfrac12(0.2475)(2^2)=0.495\,\mathrm J。

在下方实验中,将转轴方向 \boldsymbol n=(\cos\beta,\sin\beta,0)^{\mathsf T} 从横轴(\beta=0^\circ)逐渐转到纵轴(\beta=90^\circ),可以先在三维视图中观察角速度向量与角动量向量之间的张角变化,再切换到曲线视图核对标量轴惯量 I_n=I_1\cos^2\beta+I_2\sin^2\beta 的过渡规律。

实验 03转轴方向、轴惯量与角动量

转轴在长方体的横、纵轴平面中变化。观察角速度与角动量的方向,再切换到曲线,检查轴惯量在两根主轴之间怎样变化。方向箭头采用相同长度,数值大小由读数给出。

可以看到,只有当转轴严格对齐横轴(\beta=0^\circ)或纵轴(\beta=90^\circ)这两根主轴时,角速度与角动量的方向箭头才完全重合;在所有中间角度上,角动量箭头均偏向主惯量较大的纵轴一侧,这直观地体现了非主轴转动下的特征分量缩放差异。与此同时,轴惯量曲线从 I_1 平滑上升至 I_2,并在 \beta=45^\circ 处取到两者的算术平均值;若转轴进一步向垂直于该平面的竖轴偏转,轴惯量还会继续向最大主惯量 I_3 增长。

05

惯量的坐标旋转与参考点变换

在物理引擎中,刚体的惯量参数通常作为常量保存在随体局部坐标系中,而外力、力矩与角速度则经常在世界坐标系下表达;此外,多体关节动力学还常将参考点从质心移至铰接支点或子树质心。这两类操作分别对应坐标架旋转(换轴)与参考点平移(换点):前者改变同一惯性张量在不同基底下的矩阵分量,后者则改变了各质量微元到参考点的几何距离。

首先保持参考点在质心不变,考察坐标架旋转的影响。设刚体在随体坐标系下的质心惯量矩阵为常量 I_b,刚体当前从物体系到世界系的姿态矩阵为 R。由于同一个角速度向量和角动量向量在两个坐标系下的分量均通过左乘 R 转换,世界坐标系下的质心惯量矩阵 I 满足如下正交合同变换:

I=RI_bR^{\mathsf T}.
(4.8)
推导角动量与动能的坐标变换I=RI_bR^{\mathsf T}

根据向量在物体系与世界系之间的旋转关系,以及物体系下的角动量公式,有:

\boldsymbol\omega=R\boldsymbol\omega_b,\qquad \boldsymbol\ell=R\boldsymbol\ell_b,\qquad \boldsymbol\ell_b=I_b\boldsymbol\omega_b.

利用旋转矩阵的正交性 R^{\mathsf T}R=E 将第一式反解为 \boldsymbol\omega_b=R^{\mathsf T}\boldsymbol\omega,并依次代入后两式:

\boldsymbol\ell=RI_b\boldsymbol\omega_b=RI_bR^{\mathsf T}\boldsymbol\omega.

对比世界系下的定义式 \boldsymbol\ell=I\boldsymbol\omega,即得 I=RI_bR^{\mathsf T}。同时,将变换关系代入转动动能二次型,可验证标量动能在坐标旋转下保持不变:

\frac12\boldsymbol\omega^{\mathsf T}I\boldsymbol\omega=\frac12(R\boldsymbol\omega_b)^{\mathsf T}(RI_bR^{\mathsf T})(R\boldsymbol\omega_b)=\frac12\boldsymbol\omega_b^{\mathsf T}I_b\boldsymbol\omega_b.

平行轴定理

接下来保持坐标轴的方向不变,将参考点从质心 C 平移到另一点 O。记从新参考点 O 指向质心 C 的位移向量为 \boldsymbol d=\boldsymbol c-\boldsymbol x_O,则原先相对于质心位置为 \boldsymbol r 的质量微元,相对于新参考点 O 的位置变为 \boldsymbol r+\boldsymbol d。将其代入惯量矩阵定义,即可导出著名的平行轴定理(parallel axis theorem):

I_O=I_C+m(\|\boldsymbol d\|^2E-\boldsymbol d\boldsymbol d^{\mathsf T}).
(4.9)
推导平行轴定理的矩阵与标量形式I_{O,n}=I_{C,n}+md_\perp^2

将相对新参考点的位置 \boldsymbol r+\boldsymbol d 代入惯量矩阵积分定义,先把被积矩阵按分配律展开:

\begin{aligned}\|\boldsymbol r+\boldsymbol d\|^2E-(\boldsymbol r+\boldsymbol d)(\boldsymbol r+\boldsymbol d)^{\mathsf T}&=(\|\boldsymbol r\|^2E-\boldsymbol r\boldsymbol r^{\mathsf T})\\&\quad+(\|\boldsymbol d\|^2E-\boldsymbol d\boldsymbol d^{\mathsf T})\\&\quad+2(\boldsymbol d^{\mathsf T}\boldsymbol r)E-\boldsymbol d\boldsymbol r^{\mathsf T}-\boldsymbol r\boldsymbol d^{\mathsf T}.\end{aligned}

对全体质量微元 \mathrm dm 积分:第一行积分为质心惯量矩阵 I_C;第二行中的位移向量 \boldsymbol d 对所有微元均为常向量,提到积分号外后给出总质量 m;第三行的每一项都关于相对质心位置 \boldsymbol r 是线性的,由质心平衡条件 \int\boldsymbol r\,\mathrm dm=\boldsymbol0 知其积分恒为零。合并前两行即得矩阵形式的平行轴定理式(4.9)。

在式(4.9)两侧同时乘以任意单位轴方向 \boldsymbol n,即可得到绕过点 O 与过质心 C 的两条平行轴之间的标量惯量关系:

I_{O,n}=I_{C,n}+m\bigl(\|\boldsymbol d\|^2-(\boldsymbol n^{\mathsf T}\boldsymbol d)^2\bigr)=I_{C,n}+m d_\perp^2.

其中 d_\perp=\sqrt{\|\boldsymbol d\|^2-(\boldsymbol n^{\mathsf T}\boldsymbol d)^2} 恰好是两条平行轴之间的垂直距离(位移 \boldsymbol d 平行于转轴的分量被自动消去)。由于附加项 md_\perp^2\ge0,在所有相互平行的转轴中,穿过质心的转轴具有最小的转动惯量。

在下方实验中,可以先将参考点的横、纵坐标均设为零(与质心重合),单独改变长方体的偏航角:此时世界系惯量矩阵的非对角元随姿态角周期变化,但矩阵的三个特征值(主惯量)保持恒定。随后固定姿态角、将参考点 O 向外平移,对比过参考点与过质心的两条平行竖轴,新增的竖轴惯量恰好等于 m(x_O^2+y_O^2)。

实验 04惯量的换轴与换点

改变物体姿态,查看同一质心惯量的世界表达;移动参考点,查看平行轴修正。两根虚线轴保持平行,读数给出相应的竖轴惯量。

由于图中刚体仅绕竖轴改变姿态角,质心处的竖轴惯量 I_{C,33} 始终保持为 I_3,而水平面内的分量 I_{11},I_{22},I_{12} 则按式(4.8)随姿态发生混合;当拖动参考点偏离质心时,平行轴修正项按水平距离的平方叠加到竖轴惯量上,将参考点移回质心时又恢复为 I_3。

若进一步以刚体上(或与刚体固连的延伸空间中)异于质心的任意固连点 O 作为运动参考点,记点 O 的世界线速度为 \boldsymbol v_O,则各质量微元的世界速度可写为 \boldsymbol v=\boldsymbol v_O+\boldsymbol\omega\times(\boldsymbol r+\boldsymbol d)。将其代入总动能积分,平动与转动之间便在包含各自平方项的同时,还会多出一项依赖于质心偏移 m\boldsymbol d 的交叉耦合项:

T=\frac12m\|\boldsymbol v_O\|^2+\boldsymbol v_O^{\mathsf T}\bigl(\boldsymbol\omega\times m\boldsymbol d\bigr)+\frac12\boldsymbol\omega^{\mathsf T}I_O\boldsymbol\omega.
(4.9a)

式(4.9a)中的中间项将参考点线速度 \boldsymbol v_O 与刚体角速度 \boldsymbol\omega 耦合在一起:只有当参考点选在质心(\boldsymbol d=\boldsymbol0)或参考点在空间中固定不动(\boldsymbol v_O=\boldsymbol0,此时仅剩绕定点的纯转动能 \tfrac12\boldsymbol\omega^{\mathsf T}I_O\boldsymbol\omega)时,该交叉项才会消失;对于一般运动的关节铰接点,这三项必须同时保留。

推导任意固连参考点的动能\text{式(4.9a)}

将速度表达式 \boldsymbol v=\boldsymbol v_O+\boldsymbol\omega\times(\boldsymbol r+\boldsymbol d) 代入总动能积分 \tfrac12\int\|\boldsymbol v\|^2\,\mathrm dm 并展开平方:

\begin{aligned}T&=\frac12\int\|\boldsymbol v_O\|^2\,\mathrm dm+\int\boldsymbol v_O^{\mathsf T}[\boldsymbol\omega\times(\boldsymbol r+\boldsymbol d)]\,\mathrm dm\\&\quad+\frac12\int\|\boldsymbol\omega\times(\boldsymbol r+\boldsymbol d)\|^2\,\mathrm dm.\end{aligned}

第一项中 \boldsymbol v_O 对所有微元相同,积分得 \tfrac12 m\|\boldsymbol v_O\|^2;第二项利用质心条件 \int\boldsymbol r\,\mathrm dm=\boldsymbol0 化简为:

\boldsymbol v_O^{\mathsf T}\left[\boldsymbol\omega\times\left(\int\boldsymbol r\,\mathrm dm+\boldsymbol d\int\mathrm dm\right)\right]=\boldsymbol v_O^{\mathsf T}(\boldsymbol\omega\times m\boldsymbol d).

第三项按关于参考点 O 的惯量矩阵定义,恰好等于 \tfrac12\boldsymbol\omega^{\mathsf T}I_O\boldsymbol\omega,三项合并即得式(4.9a)。

我们也可以从质心动能分解式(4.4)出发逆向核对这一结果:将质心速度 \boldsymbol v_C=\boldsymbol v_O+\boldsymbol\omega\times\boldsymbol d 代入 T=\tfrac12 m\|\boldsymbol v_C\|^2+\tfrac12\boldsymbol\omega^{\mathsf T}I_C\boldsymbol\omega 并展开:

\begin{aligned}T&=\frac12m\|\boldsymbol v_O+\boldsymbol\omega\times\boldsymbol d\|^2+\frac12\boldsymbol\omega^{\mathsf T}I_C\boldsymbol\omega\\&=\frac12m\|\boldsymbol v_O\|^2+m\boldsymbol v_O^{\mathsf T}(\boldsymbol\omega\times\boldsymbol d)+\frac12\boldsymbol\omega^{\mathsf T}\!\left[I_C+m(\|\boldsymbol d\|^2E-\boldsymbol d\boldsymbol d^{\mathsf T})\right]\!\boldsymbol\omega.\end{aligned}

容易看出,最后一项方括号内的矩阵正是平行轴定理式(4.9)给出的 I_O,两种推导从不同参考点刻画了同一份物理动能。

第五章引入六维空间代数时,将把线速度 \boldsymbol v_O 与角速度 \boldsymbol\omega 拼成六维空间速度,届时 6\times6 空间惯量矩阵之所以在偏离质心时出现非对角耦合块,其物理根源正是式(4.9a)中的中间交叉项。

06

角动量定理与转动坐标系求导

当外力作用于刚体上的不同点时,除了推动质心产生平动加速度,还会对质心产生力矩。对于质量恒定的刚体,将所有外力关于质心的力矩相加,记为合外力矩 \boldsymbol\tau。前两节已经建立了由角速度求角动量的代数关系 \boldsymbol\ell=I\boldsymbol\omega;动力学接下来要回答的,正是合外力矩 \boldsymbol\tau 如何驱动角动量 \boldsymbol\ell 随时间变化。在惯性世界坐标系下,刚体关于质心的角动量定理(angular momentum theorem)写为:

\frac{\mathrm d\boldsymbol\ell}{\mathrm dt}=\boldsymbol\tau.
(4.10)
推导由质点的 Newton 定律得到合外力矩\dot{\boldsymbol\ell}=\boldsymbol\tau

记第 i 个质点相对于质心的速度为 \dot{\boldsymbol r}_i,则关于质心的总角动量为 \boldsymbol\ell=\sum_i\boldsymbol r_i\times m_i\dot{\boldsymbol r}_i。在世界系下按乘积法则对时间求导,并代入相对加速度 \ddot{\boldsymbol r}_i=\boldsymbol a_i-\boldsymbol a_C:

\begin{aligned}\dot{\boldsymbol\ell}&=\sum_i\dot{\boldsymbol r}_i\times m_i\dot{\boldsymbol r}_i+\sum_i\boldsymbol r_i\times m_i\ddot{\boldsymbol r}_i\\&=\sum_i\boldsymbol r_i\times m_i(\boldsymbol a_i-\boldsymbol a_C)\\&=\sum_i\boldsymbol r_i\times m_i\boldsymbol a_i-\left(\sum_i m_i\boldsymbol r_i\right)\times\boldsymbol a_C\\&=\sum_i\boldsymbol r_i\times\boldsymbol f_i.\end{aligned}

推导第一行中,向量 \dot{\boldsymbol r}_i 与其自身倍数的叉乘恒为零;第三行中,含质心加速度 \boldsymbol a_C 的项因质心平衡条件 \sum_i m_i\boldsymbol r_i=\boldsymbol0 而精确消去;最后一行代入了各质点的牛顿第二定律 m_i\boldsymbol a_i=\boldsymbol f_i。

进一步将质点受力 \boldsymbol f_i 拆分为外力与成对有心内力。对于任意第 i 与第 j 个质点之间的相互作用内力,有 \boldsymbol f_{ji}=-\boldsymbol f_{ij} 且作用线平行于相对位置向量 \boldsymbol r_i-\boldsymbol r_j,故这对内力关于质心的合力矩为:

\boldsymbol r_i\times\boldsymbol f_{ij}+\boldsymbol r_j\times\boldsymbol f_{ji}=(\boldsymbol r_i-\boldsymbol r_j)\times\boldsymbol f_{ij}=\boldsymbol0.

在连续刚体模型中,柯西应力张量的对称性同样保证了内力矩积分为零。因此,对全体质点求和后仅剩下外力关于质心的合力矩 \boldsymbol\tau,从而证得式(4.10)。

向量分量与坐标轴的共同变化

在固连于刚体的局部坐标系中,惯量矩阵 I_b 是不随时间改变的常量,这为计算角动量提供了极大便利。但要注意的是,随体坐标系的基向量本身正随刚体一起转动,因此在对向量求时间导数时,必须同时计入体坐标分量的变化与随体坐标轴自身的转动。为了直观理解这两部分的配合,可以先考察一个在世界系中恒定不变的常向量 \boldsymbol y=\boldsymbol e_x:设刚体绕世界竖轴以常角速度 \omega 匀速旋转,偏航角为 \varphi=\omega t,则该常向量在随体坐标系中的投影分量及其时间导数分别为:

\boldsymbol y_b=R_z(\varphi)^{\mathsf T}\boldsymbol e_x=\begin{bmatrix}\cos\varphi\\-\sin\varphi\\0\end{bmatrix},\qquad \dot{\boldsymbol y}_b=\begin{bmatrix}-\omega\sin\varphi\\-\omega\cos\varphi\\0\end{bmatrix}.

在初始时刻 \varphi=0,向量 \boldsymbol y 指向随体横轴正向,但它的体坐标分量变化率 \dot{\boldsymbol y}_b 却直接指向随体负纵轴 (0,-\omega,0)^{\mathsf T}。原因在于:随体坐标轴正向逆时针旋转时,空间中固定不动的向量相对于随体坐标轴表现为顺时针后退。只有把体坐标分量的表观变化率 R\dot{\boldsymbol y}_b 与坐标轴牵连转动带来的变化率 \boldsymbol\omega\times\boldsymbol y 相加,才能还原出世界系下的真实零导数。

将这一几何关系推广到任意随时间变化的向量 \boldsymbol y(t)。设其世界系表达与体坐标系表达通过姿态矩阵联系为 \boldsymbol y=R\boldsymbol y_b,对时间求导即可得到转动坐标系求导公式(transport theorem):

\dot{\boldsymbol y}=R\dot{\boldsymbol y}_b+\boldsymbol\omega\times\boldsymbol y.
(4.11)
推导转动坐标系的导数关系\dot{\boldsymbol y}=R\dot{\boldsymbol y}_b+\boldsymbol\omega\times\boldsymbol y

对乘积 \boldsymbol y=R\boldsymbol y_b 应用莱布尼茨乘积求导法则,并代入第二章的姿态矩阵导数公式 \dot R=[\boldsymbol\omega]_\times R:

\dot{\boldsymbol y}=\dot R\boldsymbol y_b+R\dot{\boldsymbol y}_b=[\boldsymbol\omega]_\times R\boldsymbol y_b+R\dot{\boldsymbol y}_b=\boldsymbol\omega\times\boldsymbol y+R\dot{\boldsymbol y}_b.

式中 \boldsymbol\omega\times\boldsymbol y 来自随体坐标架的旋转,而 R\dot{\boldsymbol y}_b 来自向量在随体坐标架内的分量变化。在式(4.11)两侧同时左乘 R^{\mathsf T},即可将导数关系完全投影到随体坐标系下:

R^{\mathsf T}\dot{\boldsymbol y}=\dot{\boldsymbol y}_b+\boldsymbol\omega_b\times\boldsymbol y_b.

特别地,当取被求导向量为角速度自身(\boldsymbol y=\boldsymbol\omega)时,由于 \boldsymbol\omega\times\boldsymbol\omega=\boldsymbol0,牵连叉乘项自动消失,从而有 \dot{\boldsymbol\omega}=R\dot{\boldsymbol\omega}_b;也就是说,世界角加速度投影到随体坐标系后,直接等于体坐标角速度的分量导数 \dot{\boldsymbol\omega}_b。

07

Euler 转动方程

在固连于刚体的随体坐标系中,关于质心的惯量矩阵 I_b 为常数矩阵。将体坐标角动量 \boldsymbol\ell_b=I_b\boldsymbol\omega_b 代入转动坐标系求导公式(4.11)与角动量定理(4.10),即可得到用随体分量表示的刚体转动动力学方程:

\boldsymbol\tau_b=I_b\dot{\boldsymbol\omega}_b+\boldsymbol\omega_b\times(I_b\boldsymbol\omega_b).
(4.12)

式(4.12)称为Euler 转动方程(Euler equations of rigid-body rotation)。方程右侧第一项 I_b\dot{\boldsymbol\omega}_b 描述体坐标角速度分量的瞬时变化,第二项 \boldsymbol\omega_b\times(I_b\boldsymbol\omega_b) 则称为陀螺项(gyroscopic term)或离心力矩项。从几何上看,当角动量 I_b\boldsymbol\omega_b 与角速度 \boldsymbol\omega_b 不共线时,哪怕刚体在随体坐标系下保持恒定的角速度分量(\dot{\boldsymbol\omega}_b=\boldsymbol0),角动量向量在世界空间中也会随刚体一起旋转,维持这种旋转所需施加的外力矩正是陀螺项 \boldsymbol\omega_b\times(I_b\boldsymbol\omega_b);反之,当合外力矩为零(\boldsymbol\tau_b=\boldsymbol0)时,体坐标角速度就必须随时间发生变化,以使 I_b\dot{\boldsymbol\omega}_b 抵消陀螺项。

若刚体恰好绕某一根惯量主轴转动,则角动量 I_b\boldsymbol\omega_b 与角速度 \boldsymbol\omega_b 共线,陀螺叉乘项自动归零;此时若外力矩也始终沿该主轴方向,刚体就将一直保持绕该主轴的定轴转动,式(4.12)直接退化为第 1 节的标量方程 \tau_n=I_n\dot\omega。而在一般的三维转动中,角速度同时具有多个主轴分量,三个方向的方程便通过陀螺项非线性地耦合在一起。

推导角动量求导与三个主轴分量\text{式(4.12)}

将世界系角动量定理 \dot{\boldsymbol\ell}=\boldsymbol\tau 左乘 R^{\mathsf T} 变换到随体坐标系,应用式(4.11)的体坐标形式并利用 I_b 为常矩阵的性质:

\boldsymbol\tau_b=R^{\mathsf T}\dot{\boldsymbol\ell}=\dot{\boldsymbol\ell}_b+\boldsymbol\omega_b\times\boldsymbol\ell_b=I_b\dot{\boldsymbol\omega}_b+\boldsymbol\omega_b\times(I_b\boldsymbol\omega_b).

进一步若将随体坐标系选在惯量主轴上,则 I_b=\operatorname{diag}(I_1,I_2,I_3)。记体坐标角速度与力矩的分量分别为 \boldsymbol\omega_b=(\omega_1,\omega_2,\omega_3)^{\mathsf T} 和 \boldsymbol\tau_b=(\tau_1,\tau_2,\tau_3)^{\mathsf T},展开陀螺叉乘项:

\boldsymbol\omega_b\times(I_b\boldsymbol\omega_b)=\begin{bmatrix}\omega_1\\\omega_2\\\omega_3\end{bmatrix}\times\begin{bmatrix}I_1\omega_1\\I_2\omega_2\\I_3\omega_3\end{bmatrix}=\begin{bmatrix}(I_3-I_2)\omega_2\omega_3\\(I_1-I_3)\omega_3\omega_1\\(I_2-I_1)\omega_1\omega_2\end{bmatrix}.

由此写出主轴坐标系下 Euler 转动方程的分量形式:

\begin{aligned}\tau_1&=I_1\dot\omega_1+(I_3-I_2)\omega_2\omega_3,\\\tau_2&=I_2\dot\omega_2+(I_1-I_3)\omega_3\omega_1,\\\tau_3&=I_3\dot\omega_3+(I_2-I_1)\omega_1\omega_2.\end{aligned}

显然,当刚体仅绕单一主轴转动(其余两个角速度分量为零)时,二次乘积项全部消失,方程退化为单轴标量转动方程。

世界坐标中的同一转动方程

如果将所有向量都改用世界坐标系表达,记世界角加速度为 \boldsymbol\alpha=\dot{\boldsymbol\omega}=R\dot{\boldsymbol\omega}_b,将式(4.12)两侧左乘 R,可得世界系下的 Euler 转动方程:

\boldsymbol\tau=I\boldsymbol\alpha+\boldsymbol\omega\times(I\boldsymbol\omega).

在世界系下,惯量矩阵 I=RI_bR^{\mathsf T} 随刚体姿态 R(t) 实时变化;直接对世界系角动量 \boldsymbol\ell=I\boldsymbol\omega 求导时,惯量矩阵的时间导数项 \dot I\boldsymbol\omega 恰好生成了同一个陀螺项 \boldsymbol\omega\times(I\boldsymbol\omega)。因此,体坐标表达与世界坐标表达提供了两条等价的计算路径:前者使用恒定的 I_b 配合转动系求导,后者则使用随姿态更新的 I(t) 直接在世界系中组装方程。

推导世界惯量的时间导数\dot I\boldsymbol\omega=\boldsymbol\omega\times(I\boldsymbol\omega)

由姿态导数 \dot R=[\boldsymbol\omega]_\times R 及反对称矩阵性质 [\boldsymbol\omega]_\times^{\mathsf T}=-[\boldsymbol\omega]_\times,可知 \dot R^{\mathsf T}=-R^{\mathsf T}[\boldsymbol\omega]_\times。对世界惯量矩阵 I=RI_bR^{\mathsf T} 求时间导数:

\begin{aligned}\dot I&=\dot R I_bR^{\mathsf T}+RI_b\dot R^{\mathsf T}\\&=[\boldsymbol\omega]_\times I-I[\boldsymbol\omega]_\times.\end{aligned}

将该导数矩阵右乘角速度向量 \boldsymbol\omega,并利用 [\boldsymbol\omega]_\times\boldsymbol\omega=\boldsymbol\omega\times\boldsymbol\omega=\boldsymbol0:

\dot I\boldsymbol\omega=[\boldsymbol\omega]_\times I\boldsymbol\omega-I(\boldsymbol\omega\times\boldsymbol\omega)=\boldsymbol\omega\times(I\boldsymbol\omega).

进而对世界角动量 \boldsymbol\ell=I\boldsymbol\omega 应用乘积求导法则,立即恢复世界系下的 Euler 方程:

\boldsymbol\tau=\dot{\boldsymbol\ell}=I\dot{\boldsymbol\omega}+\dot I\boldsymbol\omega=I\boldsymbol\alpha+\boldsymbol\omega\times(I\boldsymbol\omega).

以上推导中的惯量与力矩均以质心为参考点;若刚体存在一个在世界系中固定不动的支点 O,由于关于固定支点的角动量定理 \dot{\boldsymbol\ell}_O=\boldsymbol\tau_O 同样成立,将参考点替换为固定支点 O 后上述方程依然严格成立。

例题:由力矩计算角加速度

设刚体在随体主轴系下的主惯量矩阵、瞬时角速度与合外力矩分别为:

I_b=10^{-3}\operatorname{diag}(6,4,2)\,\mathrm{kg\,m^2},\quad \boldsymbol\omega_b=(1,2,3)^{\mathsf T}\,\mathrm{rad/s},\quad \boldsymbol\tau_b=10^{-3}(0,20,0)^{\mathsf T}\,\mathrm{N\,m}.

首先将各主惯量与对应角速度分量相乘,得角动量分量比例 (6\times1,4\times2,2\times3)=(6,8,6);接着计算叉乘 \boldsymbol\omega_b\times\boldsymbol\ell_b 的三个分量 (2\times6-3\times8,\ 3\times6-1\times6,\ 1\times8-2\times6)=(-12,12,-4),即:

\boldsymbol\ell_b=10^{-3}(6,8,6)^{\mathsf T},\qquad \boldsymbol\omega_b\times\boldsymbol\ell_b=10^{-3}(-12,12,-4)^{\mathsf T}.

由 Euler 方程 I_b\dot{\boldsymbol\omega}_b=\boldsymbol\tau_b-\boldsymbol\omega_b\times\boldsymbol\ell_b 移项,再除以三个主惯量,解得瞬时角加速度:

I_b\dot{\boldsymbol\omega}_b=10^{-3}(12,8,4)^{\mathsf T},\qquad \dot{\boldsymbol\omega}_b=(2,2,2)^{\mathsf T}\,\mathrm{rad/s^2}.

力矩功率与转动能

沿着刚体的真实运动轨迹对转动动能 T_{\mathrm{rot}}=\tfrac12\boldsymbol\omega_b^{\mathsf T}I_b\boldsymbol\omega_b 求时间导数,可以将外力矩做功的功率与转动动能的变化率联系起来。由于随体惯量矩阵 I_b 恒定且对称,转动动能的变化率恰好等于角速度向量与合外力矩向量的内积:

\frac{\mathrm dT_{\mathrm{rot}}}{\mathrm dt}=\boldsymbol\omega_b^{\mathsf T}\boldsymbol\tau_b.
(4.13)
推导陀螺项与能量变化率\dot T_{\mathrm{rot}}=\boldsymbol\omega_b^{\mathsf T}\boldsymbol\tau_b

利用常矩阵 I_b 的对称性 I_b^{\mathsf T}=I_b,对二次型 T_{\mathrm{rot}}=\tfrac12\boldsymbol\omega_b^{\mathsf T}I_b\boldsymbol\omega_b 求时间导数:

\frac{\mathrm d}{\mathrm dt}\left(\frac12\boldsymbol\omega_b^{\mathsf T}I_b\boldsymbol\omega_b\right)=\frac12\dot{\boldsymbol\omega}_b^{\mathsf T}I_b\boldsymbol\omega_b+\frac12\boldsymbol\omega_b^{\mathsf T}I_b\dot{\boldsymbol\omega}_b=\boldsymbol\omega_b^{\mathsf T}I_b\dot{\boldsymbol\omega}_b.

在 Euler 转动方程式(4.12)两侧同时左乘 \boldsymbol\omega_b^{\mathsf T};由于叉乘向量 \boldsymbol\omega_b\times(I_b\boldsymbol\omega_b) 恒与 \boldsymbol\omega_b 正交,其内积项恒为零:

\boldsymbol\omega_b^{\mathsf T}\boldsymbol\tau_b=\boldsymbol\omega_b^{\mathsf T}I_b\dot{\boldsymbol\omega}_b+\underbrace{\boldsymbol\omega_b^{\mathsf T}[\boldsymbol\omega_b\times(I_b\boldsymbol\omega_b)]}_{0}=\dot T_{\mathrm{rot}}.

这说明陀螺项只负责在三个体坐标分量之间重新分配角速度并改变角速度的方向,从不对刚体做功,转动动能的增减完全由外力矩功率 \boldsymbol\omega_b^{\mathsf T}\boldsymbol\tau_b 决定。

由于陀螺项与角速度恒正交,在无外力矩(\boldsymbol\tau_b=\boldsymbol0)的自由转动中,尽管角速度的三个体坐标分量随时间不断交换能量,它们按主惯量加权的平方和 2T_{\mathrm{rot}}=\sum_j I_j\omega_j^2 始终严格守恒(而角速度模长 \|\boldsymbol\omega_b\| 本身则会随分量重分配而波动)。此外,若刚体存在空间固定的支点 O,由于支点速度为零、刚体动能完全由绕支点的转动能 \tfrac12\boldsymbol\omega^{\mathsf T}I_O\boldsymbol\omega 构成,采用关于固定支点 O 的惯量矩阵与力矩同样满足完全相同形式的 Euler 方程与功率关系;下一节的圆盘稳态进动分析即建立在这一固定支点模型之上。

08

无外力矩转动与稳态进动

当刚体所受合外力矩为零(\boldsymbol\tau=\boldsymbol0)时,世界系下的角动量向量 \boldsymbol\ell 保持为常向量,同时由式(4.13)知转动动能 T_{\mathrm{rot}} 也严格守恒。在随体主轴坐标系下,体坐标角速度的三个分量 (\omega_1,\omega_2,\omega_3) 必须同时满足以下两个二次守恒方程:

\sum_j I_j\omega_j^2=2T_{\mathrm{rot}},\qquad \sum_j I_j^2\omega_j^2=\|\boldsymbol\ell\|^2.

在以 (\omega_1,\omega_2,\omega_3) 为坐标的三维角速度空间中,这两个守恒等式分别定义了两张中心在原点的椭球面(分别称为能量椭球与角动量椭球)。由于无外力矩转动必须同时满足两项守恒定律,体坐标角速度向量 \boldsymbol\omega_b(t) 的端点只能沿着这两张椭球面的交线运动;与此同时,刚体在三维空间中的姿态继续按第三章的四元数微分方程演进。

之所以第二个守恒式能够直接用随体角速度分量写出,是因为正交姿态变换保持向量模长不变,故随体角动量的模长 \|\boldsymbol\ell_b\|=\sqrt{\sum_j I_j^2\omega_j^2} 恒等于固定世界角动量的模长 \|\boldsymbol\ell\|。记刚体的初始转动动能为 T_0>0、初始角动量模长为 L_0>0;在三个主惯量均为正数的条件下,能量椭球与角动量椭球沿第 j 根坐标轴的半轴长度分别为 a_j=\sqrt{2T_0/I_j} 和 b_j=L_0/I_j。下方实验中的“守恒曲面”视图正是利用这两组半轴长度,在同一个体角速度空间内绘制出两张椭球面及其交线轨迹。

推导守恒曲面的半轴与运动方向a_j=\sqrt{2T_0/I_j},\quad b_j=L_0/I_j

设三个主惯量 I_j>0,初始转动动能 T_0>0,初始角动量模长 L_0>0。将两个守恒方程分别除以右端常数,即可化为椭球面的标准方程:

\sum_j\frac{\omega_j^2}{a_j^2}=1,\qquad a_j=\sqrt{\frac{2T_0}{I_j}};\qquad \sum_j\frac{\omega_j^2}{b_j^2}=1,\qquad b_j=\frac{L_0}{I_j}.

式中 a_j 与 b_j 分别为两张椭球面在第 j 根角速度轴上的截距(半轴长),单位均为 \mathrm{rad/s}。我们也可以直接对两个二次型求时间导数,并代入无外力矩 Euler 方程验证它们沿轨迹恒为零:

\begin{aligned}\frac{\mathrm d}{\mathrm dt}\sum_j I_j\omega_j^2&=2\omega_1\omega_2\omega_3[(I_2-I_3)+(I_3-I_1)+(I_1-I_2)]=0,\\\frac{\mathrm d}{\mathrm dt}\sum_j I_j^2\omega_j^2&=2\omega_1\omega_2\omega_3[I_1(I_2-I_3)+I_2(I_3-I_1)+I_3(I_1-I_2)]=0. \end{aligned}

第一行方括号内的主惯量正负相消,第二行展开后每一对主惯量乘积 I_j I_k 同样一正一负抵消。这从代数上证实了:角速度的变化率向量 \dot{\boldsymbol\omega}_b 处处同时与两张椭球面的法向量正交,因而始终沿着两张椭球面交线的切线方向行进(仅在三根坐标主轴顶点处导数为零,对应定轴匀速转动)。

在下方实验中,先保留默认的“中间轴微扰”初始状态,对比左侧刚体的三维翻转运动、固定不动的方向箭头(世界角动量 \boldsymbol\ell)以及右侧的体角速度分量曲线;随后切换到“守恒曲面”视图,观察当前角速度状态点如何严格沿着两张椭球面的鞍部交线从正半轴滑向负半轴。

实验 05自由转动、角动量与守恒量

选择接近不同主轴的初始角速度,播放同一长方体的自由转动。世界角动量方向保持固定,体坐标角速度分量随运动变化。切换视图可检查分量、守恒曲面和数值误差。

在默认的中间轴初始条件 \boldsymbol\omega_b(0)=(0.02,2,0.01)^{\mathsf T}\,\mathrm{rad/s} 下,角速度起初几乎完全沿第二主轴正向。随着时间推进,约在 t=5.93\,\mathrm s 时,第二主轴分量 \omega_2 穿过零点,而原本微小的第一、第三分量则增长到峰值;继续演化至 t=12\,\mathrm s 附近,\omega_2 到达约 -2\,\mathrm{rad/s},标志着刚体的第二主轴相对于空间固定的角动量方向完成了 180^\circ 翻转(这一现象常被称为贾尼别科夫效应或网球拍定理)。从守恒曲面视图中可以清楚地看到,绕最小主轴(I_1)或最大主轴(I_3)附近的椭球交线是围绕主轴顶点的闭合小环,而经过中间主轴(I_2)附近的交线则是连接正负两个鞍点的大回路。下面我们通过线性化 Euler 方程,从数学上解释为何中间轴附近的微小扰动会呈指数放大。

中间主轴附近的运动

设刚体的三个主惯量互不相等且按大小排序为 0<I_1<I_2<I_3。当初始角速度紧邻最小主惯量轴(轴 1)或最大主惯量轴(轴 3)时,微小的横向角速度扰动只会围绕零值作有界简谐振荡;而当初始角速度紧邻中间主惯量轴(轴 2)时,微小扰动则会随时间指数增长,驱动刚体离开初始主轴并进入大角度周期性翻转(在无耗散的理想刚体系统中,状态点沿闭合交线周而复始地往返翻转)。

这一稳定性差异直接源于主惯量差值的正负号:设刚体主要绕中间轴以常角速度 W>0 转动,若此时第一分量出现微小正偏离(\omega_1>0)而第三分量为零,Euler 方程给出 \dot\omega_3=(I_1-I_2)W\omega_1/I_3<0,使 \omega_3 向负方向增长;而一旦 \omega_3<0,第一分量的方程 \dot\omega_1=(I_2-I_3)W\omega_3/I_1>0 又反过来推动 \omega_1 继续增大,两个扰动分量形成正反馈。相反,若基本转动绕最小主轴或最大主轴,两条横向线性化方程的右端系数异号,形成负反馈的恢复力。写成二阶线性微分方程,两种情形分别对应实指数增长与简谐振荡:

\text{中间轴:}\quad\ddot\omega_1=\lambda^2\omega_1;\qquad\text{两端主轴:}\quad\ddot\omega_j=-\nu^2\omega_j,\qquad\lambda,\nu>0.

需要注意的是,上述线性化方程仅在扰动分量远小于基本转速 |W| 的初始阶段有效。恰好沿任意一根主轴(无任何横向扰动)的转动都是 Euler 方程的精确平衡解,但中间主轴属于不稳定鞍点:任何微小的初始扰动都会按 e^{\lambda t} 放大,待扰动增长到有限幅度后,便由完整的非线性 Euler 方程与双椭球守恒交线接管后续的翻转过程。

推导三根主轴附近的线性扰动\ddot\omega_1=\lambda^2\omega_1\quad\text{(中间轴)}

先将无外力矩(\boldsymbol\tau_b=\boldsymbol0)的主轴 Euler 方程改写为各分量导数的显式形式:

\dot\omega_1=\frac{I_2-I_3}{I_1}\omega_2\omega_3,\qquad \dot\omega_2=\frac{I_3-I_1}{I_2}\omega_3\omega_1,\qquad \dot\omega_3=\frac{I_1-I_2}{I_3}\omega_1\omega_2.

1. 中间主轴(轴 2)。设未受扰动的基准运动为 \omega_2=W\ne0,引入微小扰动 \omega_2=W+\delta_2,其中 \omega_1,\delta_2,\omega_3 均为一阶小量。由于乘积项 \delta_2\omega_3、\delta_2\omega_1 与 \omega_1\omega_3 均为二阶无穷小,略去二阶小量后得到一阶线性化方程组:

\dot\omega_1=\frac{I_2-I_3}{I_1}W\omega_3,\qquad \dot\omega_3=\frac{I_1-I_2}{I_3}W\omega_1,\qquad \dot\omega_2\approx0.

对第一式再次求时间导数,并将第二式中的 \dot\omega_3 代入:

\begin{aligned}\ddot\omega_1&=\frac{I_2-I_3}{I_1}W\dot\omega_3\\&=\frac{(I_3-I_2)(I_2-I_1)}{I_1I_3}W^2\omega_1=\lambda^2\omega_1,\qquad \lambda>0.\end{aligned}

由于 I_1<I_2<I_3,分子中的两个括号 (I_3-I_2) 与 (I_2-I_1) 均为正数,故 \lambda^2>0。该方程的通解为 \omega_1(t)=Ae^{\lambda t}+Be^{-\lambda t},其中系数 A=(\omega_1(0)+\dot\omega_1(0)/\lambda)/2 由初始扰动决定;只要 A\ne0,扰动就会随时间呈指数发散。

2. 最小主轴(轴 1)。取基准运动 \omega_1=W,保留横向扰动 \omega_2,\omega_3 的一阶项:

\dot\omega_2=\frac{I_3-I_1}{I_2}W\omega_3,\qquad \dot\omega_3=\frac{I_1-I_2}{I_3}W\omega_2.

对第一式求导并代入第二式:

\ddot\omega_2=-\frac{(I_3-I_1)(I_2-I_1)}{I_2I_3}W^2\omega_2=-\nu_1^2\omega_2,\qquad \nu_1>0.

此时右端系数为负,通解为有界简谐振荡 \omega_2(t)=A\cos(\nu_1t)+B\sin(\nu_1t),对应的 \omega_3(t) 同样作同频率的有界余弦/正弦振荡。

3. 最大主轴(轴 3)。取基准运动 \omega_3=W,一阶线性化方程为:

\dot\omega_1=\frac{I_2-I_3}{I_1}W\omega_2,\qquad \dot\omega_2=\frac{I_3-I_1}{I_2}W\omega_1.
\ddot\omega_1=-\frac{(I_3-I_2)(I_3-I_1)}{I_1I_2}W^2\omega_1=-\nu_3^2\omega_1,\qquad \nu_3>0.

其通解同样为有界简谐振荡 \omega_1(t)=A\cos(\nu_3t)+B\sin(\nu_3t),证实最小主轴与最大主轴均为线性稳定中心。

例题:实验长方体的中间轴增长率

实验 05 采用质量 m=1\,\mathrm{kg}、棱长 2,1.2,0.5\,\mathrm m 的均匀长方体,由式(4.6)知其三个主惯量依次为:

(I_1,I_2,I_3)\approx(0.140833,\ 0.354167,\ 0.453333)\,\mathrm{kg\,m^2}.

当绕中间主轴的基准角速度为 W=2\,\mathrm{rad/s} 时,扰动的指数增长率为:

\lambda=|W|\sqrt{\frac{(I_3-I_2)(I_2-I_1)}{I_1I_3}}\approx1.15128\,\mathrm{s^{-1}}.

这意味着发散模态每隔特征时间 1/\lambda\approx0.869\,\mathrm s 就会放大 e\approx2.718 倍,定量解释了实验中初始微小扰动为何能在数秒内迅速增长并触发翻转。

在实验 05 的数值实现中,程序将四元数微分方程与 Euler 转动方程联立,采用四阶 Runge–Kutta 方法(fourth-order Runge–Kutta method, RK4)推进,并在每个时间步末尾对四元数执行归一化。面板读数同时实时监测转动动能相对误差与世界角动量误差;默认积分步长为 h=0.01\,\mathrm s,读者可调大或调小步长以观察高阶积分的收敛特性。

说明角速度与姿态的联立离散更新

将姿态四元数 q 与随体角速度 \boldsymbol\omega_b 拼成七维状态向量 y=(q,\boldsymbol\omega_b),无外力矩下的自治常微分方程右端函数 f(y) 写为:

\dot y=f(y)=\left(\frac12q(0,\boldsymbol\omega_b),\ -I_b^{-1}[\boldsymbol\omega_b\times(I_b\boldsymbol\omega_b)]\right).

在主轴系下,I_b^{-1} 只需对三个陀螺项分量分别除以对应的主惯量 I_j。单步四阶 Runge–Kutta 方法依次采样四个阶段斜率并作加权平均:

\begin{aligned}k_1&=f(y),\\k_2&=f(y+hk_1/2),\\k_3&=f(y+hk_2/2),\\k_4&=f(y+hk_3),\\y_{\text{新}}&=y+\frac h6(k_1+2k_2+2k_3+k_4).\end{aligned}

四个中间阶段同步更新姿态四元数与体角速度;步末将新四元数归一化回单位球面,再通过 \boldsymbol\ell=R(q)I_b\boldsymbol\omega_b 还原世界系角动量以检验守恒精度。

固定支点的水平稳态进动

在无外力矩的自由转动中,世界角动量 \boldsymbol\ell 的大小与方向均固定不变;若对高速自转的刚体持续施加一个垂直于角动量水平分量的外力矩,角动量向量就会在空间中绕竖轴匀速旋转,形成陀螺进动(gyroscopic precession)。下面考察一个可精确求解的典型模型:用一根长为 d 的无质量刚性轻杆将质量为 m、半径为 r 的均匀薄圆盘中心连接到空间固定支点 O,并赋予圆盘满足水平稳态进动条件的初始角速度,使对称轴单位向量 \boldsymbol n 始终保持在水平面内。记圆盘绕自身对称轴 \boldsymbol n 的自转角速度为 \omega_s,对称轴绕世界竖轴 \boldsymbol e_z 旋转的进动角速度为 \Omega,圆盘关于固定支点 O 的轴向主惯量与横向主惯量分别为 I_s 与 I_t,则总角速度与关于支点 O 的总角动量分别为:

\boldsymbol\omega=\omega_s\boldsymbol n+\Omega\boldsymbol e_z,\qquad \boldsymbol\ell_O=I_s\omega_s\boldsymbol n+I_t\Omega\boldsymbol e_z.

在重力作用下,重力关于支点 O 产生水平方向的力矩,持续改变角动量水平分量 I_s\omega_s\boldsymbol n 的指向;与此同时,轴向自转角速度 \omega_s\ne0 与竖直角动量分量 I_t\Omega\boldsymbol e_z 均保持恒定不变。由关于固定支点 O 的角动量定理 \dot{\boldsymbol\ell}_O=\boldsymbol\tau_O,可直接解得水平稳态进动的角速度为:

\Omega=\frac{mgd}{I_s\omega_s}.
(4.14)
推导重力力矩与稳态角动量变化\Omega=mgd/(I_s\omega_s)

当圆盘对称轴 \boldsymbol n 保持在水平面内时,有 \boldsymbol n^{\mathsf T}\boldsymbol e_z=0。由于圆盘关于对称轴 \boldsymbol n 具有旋转对称性,任何垂直于 \boldsymbol n 且过支点 O 的横向轴都是主惯量为 I_t 的主轴,故关于支点 O 的世界系惯量矩阵可写为正交投影分解:

I_O=I_s\boldsymbol n\boldsymbol n^{\mathsf T}+I_t(E-\boldsymbol n\boldsymbol n^{\mathsf T}).

将该惯量矩阵左乘总角速度 \boldsymbol\omega=\omega_s\boldsymbol n+\Omega\boldsymbol e_z,利用 \boldsymbol n^{\mathsf T}\boldsymbol n=1 与 \boldsymbol n^{\mathsf T}\boldsymbol e_z=0,立即得到正文中的角动量表达式 \boldsymbol\ell_O=I_s\omega_s\boldsymbol n+I_t\Omega\boldsymbol e_z。在稳态进动中,标量 \omega_s 与 \Omega 均为常数,仅有单位轴向量 \boldsymbol n(t) 绕竖轴以角速度 \Omega\boldsymbol e_z 匀速旋转,故角动量的时间导数为:

\dot{\boldsymbol n}=\Omega\boldsymbol e_z\times\boldsymbol n,\qquad \dot{\boldsymbol\ell}_O=I_s\omega_s\Omega\,\boldsymbol e_z\times\boldsymbol n.

另一方面,圆盘质心相对于支点 O 的位置为 d\boldsymbol n,所受重力为 -mg\boldsymbol e_z,重力关于支点 O 的力矩为:

\boldsymbol\tau_O=(d\boldsymbol n)\times(-mg\boldsymbol e_z)=mgd\,\boldsymbol e_z\times\boldsymbol n.

令 \dot{\boldsymbol\ell}_O=\boldsymbol\tau_O 并对比两侧 \boldsymbol e_z\times\boldsymbol n 的系数,即得 I_s\omega_s\Omega=mgd,从而证得式(4.14)(支点处的约束反力穿过支点 O,负责提供质心做水平圆周运动的向心力并平衡重力,对支点 O 的力矩为零)。

最后补充均匀薄圆盘的惯量计算:设圆盘半径为 r,面密度为 \sigma=m/(\pi r^2)。在圆盘平面内采用极坐标 (u,\varphi) 积分,面积微元为 u\,\mathrm du\,\mathrm d\varphi,各微元到对称轴的距离为 u,故轴向主惯量为:

I_s=\int_0^{2\pi}\int_0^r u^2\sigma u\,\mathrm du\,\mathrm d\varphi=2\pi\sigma\left[\frac{u^4}{4}\right]_0^r=\frac{mr^2}{2}.

在圆盘平面内任取两条相互垂直的直径作为 x,y 轴,由于薄盘厚度为零(z=0),绕两条直径轴的惯量 I_x=\int y^2\,\mathrm dm 与 I_y=\int x^2\,\mathrm dm 之和恰好等于 \int(x^2+y^2)\,\mathrm dm=I_s;又由轴对称性知 I_x=I_y,故过质心的直径主惯量为 mr^2/4。再由平行轴定理式(4.9)将横向转轴平移距离 d 到支点 O,即得 I_t=mr^2/4+md^2。

例题:自转速度与进动周期

取实验 06 中的默认参数:圆盘质量 m=1\,\mathrm{kg}、半径 r=0.4\,\mathrm m、杆长 d=0.5\,\mathrm m,重力加速度 g=9.81\,\mathrm{m/s^2}。先算出轴向惯量 I_s=1\times0.4^2/2=0.08\,\mathrm{kg\,m^2} 与关于支点的横向惯量 I_t=1\times0.4^2/4+1\times0.5^2=0.29\,\mathrm{kg\,m^2}。当自转角速度取 \omega_s=80\,\mathrm{rad/s} 时,由式(4.14)求得进动角速度与进动周期分别为:

\Omega=\frac{1(9.81)(0.5)}{0.08(80)}=0.76640625\,\mathrm{rad/s},\qquad T_{\mathrm p}=\frac{2\pi}{\Omega}\simeq8.19824\,\mathrm s.

若将自转角速度加倍至 \omega_s=160\,\mathrm{rad/s},圆盘的轴向角动量 I_s\omega_s 随之加倍;在相同重力力矩驱动下,进动角速度减半为 0.383203\,\mathrm{rad/s},完成一整周进动的周期则加倍为 16.3965\,\mathrm s。

下方实验采用固定的 12\,\mathrm s 物理时间窗:将进度条固定在 t=2\,\mathrm s 处,对比两种不同的自转角速度——当 \omega_s=80\,\mathrm{rad/s} 时,圆盘轴在两秒内已绕竖轴扫过约 87.82^\circ;而当 \omega_s=160\,\mathrm{rad/s} 时,同样两秒内仅扫过约 43.91^\circ。

实验 06水平轴进动与重力力矩

改变自转角速度,比较相同时间内的轴向转角和完整进动周期。箭头表示方向,读数给出实际物理量;角动量具有固定的竖直分量,水平分量随圆盘轴转动。圆盘采用轴对称外形。

在三维视图中,重力力矩箭头 \boldsymbol\tau_O 始终沿着水平圆周的切线方向,实时指向角动量向量 \boldsymbol\ell_O 下一刻偏转的方向:圆盘自转越快,水平角动量分量 I_s\omega_s 越长,同样大小的水平力矩在单位时间内引起的偏转角 \Omega 就越小。同时可以看到,总角动量包含恒定的竖直分量 I_t\Omega\boldsymbol e_z,由于其时间导数为零,水平稳态进动关系直接由水平分量的旋转平衡唯一确定。

09

MuJoCo 中的质量与惯量

本节对照本地 MuJoCo 3.10.0 源码,梳理物理引擎中质量与惯量的数据结构及核心算法。相关模型字段定义在 mjmodel.h 中,空间惯量运算函数则位于 engine_util_spatial.c。

在静态模型结构 mjModel 中,body_mass 存储每个刚体的标量总质量;body_ipos 存储质心在刚体局部坐标系中的三维位置偏移;body_iquat 存储惯量主轴坐标系相对于刚体局部坐标系的姿态四元数;body_inertia 则存储该主轴坐标系下的三个主惯量 (I_1,I_2,I_3)。这种分离设计允许用户独立设定刚体几何网格的局部参考架与质心主轴架。

旋转与平行轴修正

函数 mju_inertCom 负责将刚体的主惯量按式(4.8)旋转到目标坐标架,并按平行轴定理式(4.9)平移参考点:它首先计算正交合同变换 R\operatorname{diag}(I_1,I_2,I_3)R^{\mathsf T}(代码中参数 mat 为从惯量主轴架到目标坐标架的旋转矩阵),接着根据从目标参考点指向刚体质心的位移向量 dif(即 \boldsymbol d)叠加上平行轴修正项:

res[0] += mass*(dif[1]*dif[1] + dif[2]*dif[2]);
res[1] += mass*(dif[0]*dif[0] + dif[2]*dif[2]);
res[2] += mass*(dif[0]*dif[0] + dif[1]*dif[1]);
res[3] -= mass*dif[0]*dif[1];
res[4] -= mass*dif[0]*dif[2];
res[5] -= mass*dif[1]*dif[2];

在输出数组 res 中,前 6 个浮点数依次存储对称惯量矩阵的三个对角元与三个非对角元 (I_{11},I_{22},I_{33},I_{12},I_{13},I_{23}),后 4 个浮点数则依次存储一阶质量矩 m\boldsymbol d 的三个分量以及标量总质量 m。这 10 个浮点数完整编码了下一章将要介绍的六维空间惯量。

在每一步正向运动学计算中,上层函数 mj_comPos 调用 mju_inertCom 生成运行期空间惯量 cinert:其中姿态矩阵传入主轴架的世界姿态 ximat,位移向量则取刚体质心世界位置 xipos 与其所属运动学树根部子树质心 subtree_com[body_rootid] 之差——也就是说,MuJoCo 将每棵运动学树上所有刚体的空间量统一归算到该树共同的子树质心参考点上。

惯量乘积与转动方程

函数 mju_mulInertVec 负责计算 10 分量空间惯量与 6 维空间运动向量的乘积。当参考点恰好选在刚体质心(\boldsymbol d=\boldsymbol0)时,质量矩 m\boldsymbol d 的三个分量为零,此时乘积的前三个转动分量直接退化为本章的 I\boldsymbol\omega 或 I\boldsymbol\alpha。

在逆动力学与偏置力计算函数 mj_rne 中,引擎先调用 mju_mulInertVec 计算空间惯量与空间加速度的乘积,再计算空间速度与空间动量的空间叉乘(即广义陀螺项),最后将两部分相加得到刚体所需的空间合力:

mju_mulInertVec(loc_cfrc_body+6*i, d->cinert+10*i, loc_cacc+6*i);
mju_mulInertVec(tmp, d->cinert+10*i, d->cvel+6*i);
mji_crossForce(tmp1, d->cvel+6*i, tmp);
mju_addTo(loc_cfrc_body+6*i, tmp1, 6);

当参考点位于质心时,上述四行代码的角分量精确对应于本章的 Euler 转动方程右端项 I\boldsymbol\alpha+\boldsymbol\omega\times(I\boldsymbol\omega);而在一般参考点下,六维空间形式还会自动计入平动加速度与参考点偏移带来的耦合力矩。第五章将系统建立这套六维空间分块算子的代数结构,第八章则将其直接用于多体树的递推算法。

10

实现与练习

本章配套的 inertia.py 实现了离散质点系的质心与惯量求和、均匀长方体惯量公式、坐标旋转变换、平行轴修正以及 Euler 转动方程求解。其中,瞬时角加速度通过求解如下三阶线性方程组获得:

def angular_acceleration(inertia, omega, torque):
    gyro = cross(omega, apply(inertia, omega))
    return solve3(inertia, [torque[j] - gyro[j] for j in range(3)])

调用该函数时,输入的惯量矩阵 inertia、角速度 omega 与力矩 torque 必须采用同一个坐标系与同一个参考点:若三者均取随体坐标系下的质心量,则返回体坐标角加速度 \dot{\boldsymbol\omega}_b;若三者均取世界系下的质心量,则返回世界角加速度 \boldsymbol\alpha。由于物理刚体的惯量矩阵对称正定,该三阶线性系统恒有唯一解。在进行自由转动数值积分时,程序联合调用第三章的四元数更新函数:读者可先由各质点的速度直接累加动能,验证其与矩阵二次型结果一致;接着检验坐标旋转下的动能不变性以及参考点平移下的平行轴公式;最后在无外力矩转动中同时核查转动动能与世界角动量的数值守恒。

python3 examples/check_inertia.py

练习 1 · 轴距与转动能

一个质量为 2\,\mathrm{kg} 的质点绕固定轴以角速度 4\,\mathrm{rad/s} 转动。若保持角速度不变,将质点到转轴的垂直距离从 0.3\,\mathrm m 增大至 0.6\,\mathrm m,求转动惯量与转动动能的变化。

答案距离平方与动能

由 I_n=md^2 与 T=\tfrac12 I_n\omega^2 分别计算轴距加倍前后的惯量与动能:

I_{\text{初}}=0.18,\qquad I_{\text{后}}=0.72\quad(\mathrm{kg\,m^2}),\qquad T_{\text{初}}=1.44,\qquad T_{\text{后}}=5.76\quad(\mathrm J).

由于转动惯量与轴距的平方成正比,当轴距加倍时,转动惯量及同一角速度下的转动动能均变为原来的 4 倍。

练习 2 · 质心与质心惯量

两个质点分别位于 (0,0,0)^{\mathsf T} 与 (2,0,0)^{\mathsf T}\,\mathrm m 处,质量分别为 1\,\mathrm{kg} 与 3\,\mathrm{kg}。求两质点系统的质心位置以及关于质心的惯量矩阵。

答案质量平均与矩阵求和

由质量加权平均求出质心坐标及各质点相对于质心的位置向量:

\boldsymbol c=(1.5,0,0)^{\mathsf T}\,\mathrm m,\qquad \boldsymbol r_1=(-1.5,0,0)^{\mathsf T},\quad \boldsymbol r_2=(0.5,0,0)^{\mathsf T}.

由于两个质点均落在过质心的横轴(x 轴)上,它们到横轴的距离为零(I_{11}=0),而绕纵轴与竖轴的转动惯量相等:

I_{22}=I_{33}=1(1.5)^2+3(0.5)^2=3,\qquad I=\operatorname{diag}(0,3,3)\,\mathrm{kg\,m^2}.

练习 3 · 镜像质量与非对角元

四个质量均为 1\,\mathrm{kg} 的质点对称地放置在平面 z=0 内的四个顶点 (\pm0.2,\pm0.3,0)^{\mathsf T}\,\mathrm m 处。求该系统关于原点的惯量矩阵,并解释非对角元为何为零。

答案对角求和与镜像抵消

四个质点到横轴的距离平方均为 0.3^2,到纵轴的距离平方均为 0.2^2,到竖轴的距离平方均为 0.2^2+0.3^2,累加得对角惯量矩阵:

I=\operatorname{diag}\bigl(4(0.3)^2,\ 4(0.2)^2,\ 4[(0.2)^2+(0.3)^2]\bigr)=\operatorname{diag}(0.36,0.16,0.52)\,\mathrm{kg\,m^2}.

对于非对角元 I_{12}=-\sum m_i x_i y_i,四个顶点中包含两个正乘积 +0.06 与两个负乘积 -0.06,因关于坐标轴镜像对称而成对抵消;同时因所有质点的 z=0,其余两个非对角元 I_{13}=I_{23}=0。

练习 4 · 有限截面连杆

一根均匀长方体连杆的质量为 1\,\mathrm{kg},长度 1\,\mathrm m 沿竖轴方向,横截面为 0.1\,\mathrm m\times0.1\,\mathrm m 的正方形。求该连杆关于质心的三个主惯量,并对比绕横向主轴与绕长轴转动时的惯量大小。

答案杆的三个主惯量

代入长方体主惯量公式(4.6),其中 a=b=0.1\,\mathrm m、c=1\,\mathrm m:

I_1=I_2=\frac{1+0.1^2}{12}=\frac{1.01}{12}\approx0.0841667,\qquad I_3=\frac{0.1^2+0.1^2}{12}\approx0.0016667\quad(\mathrm{kg\,m^2}).

可以看到,有限的横截面宽度使绕长轴的主惯量 I_3 保持严格为正(约为横向主惯量的五十分之一),避免了理想细杆的零惯量奇异性。后续章节的双连杆模型即采用这组几何与惯量参数。

练习 5 · 惯量的坐标旋转

已知刚体在随体坐标系下的质心惯量矩阵为 I_b=\operatorname{diag}(1,2,3)\,\mathrm{kg\,m^2}。当刚体绕世界正竖轴转过 \pi/4 时,求世界坐标系下的惯量矩阵 I,并计算世界角速度 \boldsymbol\omega=(1,0,0)^{\mathsf T}\,\mathrm{rad/s} 对应的世界角动量 \boldsymbol\ell 与转动动能 T_{\mathrm{rot}}。

答案矩阵旋转与角动量

由绕竖轴旋转 \pi/4 的姿态矩阵计算 I=RI_bR^{\mathsf T},并据此求得角动量与转动动能:

I=RI_bR^{\mathsf T}=\begin{bmatrix}1.5&-0.5&0\\-0.5&1.5&0\\0&0&3\end{bmatrix}\,\mathrm{kg\,m^2},\qquad \boldsymbol\ell=I\boldsymbol\omega=(1.5,-0.5,0)^{\mathsf T}\,\mathrm{kg\,m^2/s},\qquad T_{\mathrm{rot}}=\frac12\boldsymbol\omega^{\mathsf T}I\boldsymbol\omega=0.75\,\mathrm J.

由于此时世界横轴并非刚体的惯量主轴,产生的世界角动量带有 -0.5 的纵向分量;读者也可将角速度逆变换回随体坐标系 \boldsymbol\omega_b=R^{\mathsf T}\boldsymbol\omega=(\sqrt2/2,-\sqrt2/2,0)^{\mathsf T},用 \tfrac12\boldsymbol\omega_b^{\mathsf T}I_b\boldsymbol\omega_b 验证动能仍为 0.75\,\mathrm J。

练习 6 · 平行棱轴

均匀长方体的质量为 6\,\mathrm{kg},沿横、纵、竖轴的棱长分别为 0.2,0.4,0.6\,\mathrm m。求其质心主惯量矩阵 I_C,再将横轴从质心平移到一条与之平行的长方体棱边上,求绕该棱边的转动惯量及关于棱边中点的完整惯量矩阵。

答案质心轴与平行棱轴

先由式(4.6)求得质心主惯量矩阵,再计算平行于横轴的棱边到质心的垂直距离平方 d_\perp^2:

I_C=\operatorname{diag}(0.26,0.20,0.10)\,\mathrm{kg\,m^2},\qquad d_\perp^2=(0.4/2)^2+(0.6/2)^2=0.13\,\mathrm{m^2}.

由标量平行轴定理求得绕该棱边的转动惯量为:

I_{O,1}=0.26+6(0.13)=1.04\,\mathrm{kg\,m^2}.

若选取棱边中点 O 使从 O 指向质心 C 的位移向量为 \boldsymbol d=(0,0.2,0.3)^{\mathsf T}\,\mathrm m,代入矩阵平行轴定理式(4.9)可得完整惯量矩阵:

I_O=\begin{bmatrix}1.04&0&0\\0&0.74&-0.36\\0&-0.36&0.34\end{bmatrix}\,\mathrm{kg\,m^2}.

练习 7 · 无力矩角加速度

设刚体在随体主轴系下的惯量矩阵为 I_b=\operatorname{diag}(0.05,0.03,0.02)\,\mathrm{kg\,m^2},当前体角速度为 \boldsymbol\omega_b=(2,3,4)^{\mathsf T}\,\mathrm{rad/s},且所受合外力矩为零。求此时的体角加速度 \dot{\boldsymbol\omega}_b 以及转动动能的变化率 \dot T_{\mathrm{rot}}。

答案陀螺项与功率核对

先计算体角动量与陀螺叉乘项:

\boldsymbol\ell_b=(0.10,0.09,0.08)^{\mathsf T},\qquad \boldsymbol\omega_b\times\boldsymbol\ell_b=(-0.12,0.24,-0.12)^{\mathsf T}.

由无外力矩 Euler 方程 \dot{\boldsymbol\omega}_b=-I_b^{-1}(\boldsymbol\omega_b\times\boldsymbol\ell_b) 求得体角加速度:

\dot{\boldsymbol\omega}_b=(0.12/0.05,-0.24/0.03,0.12/0.02)^{\mathsf T}=(2.4,-8,6)^{\mathsf T}\,\mathrm{rad/s^2}.

直接展开转动动能的变化率:

\dot T_{\mathrm{rot}}=\boldsymbol\omega_b^{\mathsf T}I_b\dot{\boldsymbol\omega}_b=2(0.05)(2.4)+3(0.03)(-8)+4(0.02)(6)=0.24-0.72+0.48=0.

这验证了尽管三个角速度分量都在剧烈变化,总转动动能依然严格守恒。

练习 8 · 自由转动的数值核对

使用实验 05 中的长方体参数:质量 1\,\mathrm{kg},棱长 2,1.2,0.5\,\mathrm m,初始体角速度 \boldsymbol\omega_b(0)=(0.02,2,0.01)^{\mathsf T}\,\mathrm{rad/s},初始姿态为单位四元数。分别采用步长 h=0.04\,\mathrm s 与 h=0.02\,\mathrm s 积分至 t=12\,\mathrm s,记录末时刻的能量相对误差与世界角动量相对误差,并说明步长减半时误差按何种比例缩小。

答案守恒量与步长比较

先由长方体尺寸求出三个主惯量,并算出初始时刻的转动动能 T(0) 与世界角动量 \boldsymbol\ell(0)。在积分过程中,任意时刻的世界角动量以及两项相对误差定义为:

\boldsymbol\ell(t)=R(q(t))I_b\boldsymbol\omega_b(t),\qquad \varepsilon_T=\frac{|T(t)-T(0)|}{T(0)},\qquad \varepsilon_\ell=\frac{\|\boldsymbol\ell(t)-\boldsymbol\ell(0)\|}{\|\boldsymbol\ell(0)\|}.
inertia = box_inertia(1, [2, 1.2, 0.5])
principal = [inertia[0], inertia[4], inertia[8]]
q, w = [1, 0, 0, 0], [0.02, 2, 0.01]
for _ in range(round(12 / h)):
    q, w = step_free(q, w, principal, h)
energy = rotational_energy(inertia, w)
momentum_world = apply(to_matrix(q), apply(inertia, w))

初始转动动能与初始世界角动量的精确值分别为:

T(0)\approx0.708384167\,\mathrm J,\qquad \boldsymbol\ell(0)\approx(0.00281667,0.70833333,0.00453333)^{\mathsf T}\,\mathrm{kg\,m^2/s}.

调用配套的四阶 Runge–Kutta 联立更新函数 step_free 积分至 12\,\mathrm s,两种步长在末时刻的相对误差对比如下:

\begin{array}{c|cc}h\;(\mathrm s)&\varepsilon_T&\varepsilon_\ell\\\hline0.04&6.90\times10^{-9}&2.94\times10^{-7}\\0.02&2.16\times10^{-10}&1.84\times10^{-8}\end{array}

对于四阶 Runge–Kutta 方法,在渐近收敛区内将时间步长 h 减半,状态量的全局截断误差约缩小为原来的 1/2^4=1/16。上表中世界角动量误差 \varepsilon_\ell 的下降比值约为 16.0,与四阶收敛率吻合(动能误差因所处相位方向与状态误差近似正交而下降得更快)。此外,两种步长在 t=12\,\mathrm s 时给出的中间轴角速度分量均约为 -1.99997\,\mathrm{rad/s},清晰重现了中间轴的翻转过程。