DEEP 164 · 第十四辑 · 小白机械课 · LEARN NOTES

收进学习手册 · 2026-09-11 · duck.whatled.com

解读 164 · 转动惯量入门

解读对象:概念课 · 以 microduck-replica/upstream/microduck_rl/.../robot_walk.xml(15 个刚体的 inertial 标签)+ microduck-replica/README.md("质量/惯量:15 个刚体全有")为教材
需要的前置:解读 36讲过"惯量 ∝ m·r²";这篇把 15 个刚体的账本摊开。

15 个刚体,15 行账

MJCF 仿真模型里,每个能独立运动的部件(<body>)都随身带一行 <inertial>:质心位置、质量、六个数(三个主轴惯量 + 三个惯量积)。Microduck 的运动树正好 15 个这样的刚体——README 可行性表写明"质量/惯量:✅ 15 个刚体全有"。挑几行真账(robot_walk.xml):

刚体 质量 主轴惯量 ×10⁻⁴ kg·m²
trunk_base 躯干 0.199kg 1.24 / 1.46 / 1.15
jaw_soft 头(总成) 0.189kg 3.21 / 2.54 / 1.50
upper_leg_left 大腿 0.048kg 0.17 / 0.10 / 0.20
leg 小腿 0.022kg 0.05 / 0.02 / 0.04
ankle_left 踝+脚 0.030kg 0.06 / 0.11 / 0.08

头和躯干一样重,惯量却大得多

最值得盯着的一对:躯干 199g、头 189g,质量几乎相同;但逐轴比较主轴惯量,头都比躯干大——同位置主轴之比约 1.3~2.6 倍。原因不在重量在分布:惯量是 Σm·r²,质量离轴越远贡献越大。头是一只大壳(单下壳包围盒就有 91.8×116.7mm),质量摊得开;躯干的质量更收拢。解读 38 说的"甩头产生角动量扰动",扰动的大小正比于这几个数。

腿是同一课的另一半:50Hz 控制环每 20ms 就要把摆动腿加减速一个来回,需要的力矩 ≈ 惯量 × 角加速度——惯量翻倍,同样步速下力矩翻倍,电流与发热跟着翻倍(通用物理)。所以 36/37 两篇反复强调:脚上省 1g 胜过躯干省 10g,因为足端质量的 r² 最大。

惯量在项目里出现的三处

  1. 域随机化:MASS_INERTIA_RANDOMIZATION_RANGE = (0.95, 1.05)——质量与惯量用同一个缩放因子 ±5%;各自独立随机会造出物理上不成立的惯量张量,仿真直接不稳(解读 22/125)。
  2. 执行器模型:BAM m6.json 的 armature = 0.00157,转子经减速比反射到输出端的等效惯量(解读 54)——换舵机改减速比,连"转子显得多沉"都会变。
  3. 台架公式:bam/bam/testbench.py 的单摆惯量是算出来的已知量:mass·length² + (arm_mass/3)·length²——点质量挂均质杆末端。辨识的逻辑前提是:方程里唯一不能当未知数的,就是摆自己的惯量(解读 55)。

你带走的收获

延伸

什么鸭 WHATDUCK · 复刻学习笔记 ← 全部手册 · 首页