3. 参数辨识的数学本质

在多体动力学中,我们通常先写出系统的运动方程,例如

M(q; θ) q̈ + C(q, q̇; θ) q̇ + G(q; θ) = τ + Jᵀ(q) F_ext

其中 θ 是待辨识参数向量,可能包含连杆质量 mᵢ、质心位置 rᵢ、惯性张量 Iᵢ、关节摩擦系数、电机转子惯量、传动刚度等。一个常见的误解是:只要把 θ 写进方程,就一定能从实验数据中把它“解出来”。事实并非如此。参数辨识的数学本质,是研究“哪些参数组合能够被输入输出数据唯一确定”,以及“在噪声存在时如何给出最优估计”。

一、从物理参数到回归形式

多体动力学方程对惯性参数是线性的。以刚体机械臂为例,关节力矩可写成

τ = Y(q, q̇, q̈) · π

其中 π 是由 10 个标准惯性参数组成的向量:质量 m、一阶矩 h = m·r、惯性张量 I 的六个独立分量。Y 是回归矩阵,只与运动状态有关,与参数无关。这一步把非线性动力学问题转化为线性回归问题,是参数辨识能够使用最小二乘等工具的前提。

但 Y 的列之间往往存在线性相关。例如,当某个连杆的关节轴固定时,绕该轴的转动惯量与其它参数可能以固定比例出现;基座固定时,基座连杆的部分参数完全不可观测。此时 Y 不满秩,π 中只有某些线性组合可以被唯一确定。这些可唯一确定的组合称为基参数集(base parameters),记作 β。物理参数 π 与基参数 β 之间满足

π = K · β + π₀

K 是基参数组合矩阵,π₀ 是不可辨识部分的任意取值。辨识只能得到 β,而 π 中不可辨识的分量需要根据先验知识或额外约束补齐。因此,参数辨识的第一步不是“选算法”,而是“确定可辨识参数集”。

从物理参数到可辨识参数集:秩亏与基参数的形成 物理参数集 π m₁, m₂, m₃ h₁, h₂, h₃(一阶矩) I₁, I₂, I₃(惯性张量) 摩擦、刚度等 回归矩阵 Y(q,q̇,q̈) 只与运动状态有关 列数 = π 的维数 行数 = 采样点数 τ = Y · π 秩分析 rank(Y) rank(Y) = r < n 存在零空间 N(Y) 零空间方向不可辨识 可辨识维数 = r 基参数集 β(可辨识参数集) β = 由 π 的线性组合构成,维数 = rank(Y) π = K · β + π₀ K:基参数组合矩阵;π₀:不可辨识部分 提取基参数 辨识只能得到 β;π 中不可辨识分量需由先验知识或额外约束补齐

二、最小二乘:让残差平方和最小

假设已获得 N 组采样数据,构造回归方程

τ = Y · β + ε

其中 ε 是测量噪声与模型误差。最小二乘估计的目标是

β̂_LS = argmin ‖τ − Y β‖²

若 Y 列满秩,解析解为

β̂_LS = (Yᵀ Y)⁻¹ Yᵀ τ

最小二乘的几何意义是把 τ 投影到 Y 的列空间上,残差与列空间正交。它不需要知道噪声的统计分布,计算简单,是参数辨识最常用的起点。但最小二乘有两个隐含假设:噪声零均值、同方差且与回归量不相关。如果噪声方差随关节速度变化,或者存在未建模的柔性、间隙,最小二乘估计会有偏。

实际实现时,直接求逆数值不稳定,通常用 QR 分解或 SVD 求解。SVD 还能同时给出奇异值谱,帮助判断哪些方向接近不可辨识。例如,若最小奇异值与最大奇异值之比小于 10⁻⁶,对应方向应视为不可辨识,需要从 β 中剔除或加入正则化。

三、极大似然:在噪声模型下找最可能参数

极大似然估计把参数看作固定未知量,把观测数据看作随机变量。若假设噪声 ε ~ N(0, σ²I),则似然函数为

L(β, σ²) = (2πσ²)^(−N/2) exp[−(τ − Yβ)ᵀ(τ − Yβ) / (2σ²)]

最大化 L 等价于最小化残差平方和,因此高斯白噪声下极大似然退化为最小二乘。但当噪声协方差为 Σ 时,极大似然给出加权最小二乘

β̂_ML = (Yᵀ Σ⁻¹ Y)⁻¹ Yᵀ Σ⁻¹ τ

这说明:极大似然的核心不是“换一个公式”,而是显式建立噪声模型。在多体动力学中,关节编码器噪声、力矩传感器噪声、加速度差分噪声的统计特性不同,若能用实验标定出 Σ,加权最小二乘会比普通最小二乘更有效。极大似然还给出参数估计的渐近协方差 (Yᵀ Σ⁻¹ Y)⁻¹,可用于判断参数估计精度。

四、贝叶斯估计:把先验知识纳入进来

贝叶斯估计把 β 也看作随机变量,先给出先验分布 p(β),再根据观测数据用贝叶斯公式更新

p(β | τ) ∝ p(τ | β) · p(β)

若先验取高斯分布 β ~ N(β₀, Σ₀),似然为高斯,则后验也是高斯,其均值为

β̂_Bayes = (Yᵀ Σ⁻¹ Y + Σ₀⁻¹)⁻¹ (Yᵀ Σ⁻¹ τ + Σ₀⁻¹ β₀)

这个式子非常直观:数据项 Yᵀ Σ⁻¹ Y 与先验项 Σ₀⁻¹ 相加,谁的信息量大,谁就主导估计。当某些参数不可辨识或数据不足时,先验项起到正则化作用,避免解发散。例如,已知某连杆质量大致在 2.5 kg 附近,可设 β₀ 对应分量 2.5、Σ₀ 对应方差 0.1²,这样即使该方向数据信息很弱,估计也不会跑到物理上不合理的值。

三种方法的关系可以这样理解:最小二乘只关心残差;极大似然进一步指定噪声分布;贝叶斯再进一步引入先验。它们不是互相替代,而是随可用信息逐层加码。实际工程中,常先用最小二乘或 SVD 确定可辨识参数集,再用加权最小二乘或极大似然精估,最后用贝叶斯正则化处理病态方向。

实践提示:在开始辨识前,先对回归矩阵做 SVD,观察奇异值谱。若奇异值下降很快,说明存在近不可辨识方向。此时不要直接对全部物理参数做最小二乘,而应先提取基参数集,或对不可辨识方向加入先验约束。

五、一个可操作的判断流程

面对一组新的多体系统辨识任务,可按以下顺序判断:

  1. 写出动力学方程,确认对惯性参数是否线性;若含非线性参数(如摩擦指数),先做变量替换或分层辨识。
  2. 构造回归矩阵 Y,计算其秩 r 和奇异值谱,确定基参数集 β 的维数。
  3. 若 r 远小于物理参数个数,提取 K 矩阵,明确哪些组合可辨识、哪些不可辨识。
  4. 根据噪声特性选择估计器:白噪声用普通最小二乘;已知协方差用加权最小二乘或极大似然;病态或小样本用贝叶斯正则化。
  5. 用估计协方差或后验方差评估参数精度,对不可辨识方向给出先验取值或约束范围。

参数辨识的数学本质,可以概括为一句话:在给定模型结构和实验数据下,寻找可辨识参数组合的最优估计,并明确不可辨识部分的处理方式。最小二乘、极大似然和贝叶斯估计分别对应“只用数据”“数据加噪声模型”“数据加噪声模型加先验”三种信息层级。理解这一点,才能在面对具体多体系统时,选对方法、看懂结果、判断精度。