
090、机器人动力学:惯量辨识从一次深夜调试说起凌晨两点,伺服驱动器报错“转矩饱和”的红色指示灯在示波器上闪烁。我盯着六轴机器人第五关节的电流波形——正弦跟踪时相位滞后了将近30度,速度环带宽明明设到了50Hz,理论上不该这么差。拆开减速器端盖检查,发现客户更换过末端夹爪,负载惯量从原来的0.003kg·m²变成了0.012kg·m²,翻了四倍。伺服参数还是出厂默认值,惯量比设成了1:1,不饱和才见鬼。这就是惯量辨识最典型的应用场景:你永远不知道现场会换上什么奇形怪状的负载。机器人动力学模型里,惯量矩阵是决定加速度能力、轨迹跟踪精度、甚至稳定性边界的核心参数。今天这篇笔记,就聊聊怎么从理论推导到嵌入式代码,把惯量辨识这件事做扎实。惯量辨识到底在辨识什么先别急着翻公式。机器人关节的惯量,不是简单的一个转动惯量值。对于单关节来说,电机转子惯量、减速器惯量、负载惯量折算到电机轴,三者叠加。但多轴机器人存在耦合——第二关节运动时,第一关节感受到的等效惯量会随着位姿变化。这就是为什么六轴机器人在不同姿态下,同一个关节的惯量能差出5倍。我们实际要辨识的是:关节空间惯量矩阵M(q),它是一个n×n的对称正定矩阵,每个元素都是关节位置q的函数。对于工业机器人,通常只关心对角线元素(自惯量)和主要耦合项(比如相邻关节的互惯量)。全矩阵辨识计算量太大,嵌入式MCU扛不住。理论推导:从拉格朗日方程到可辨识参数机器人动力学标准形式:M(q)q