2. 多体系统建模基础
多体动力学参数辨识的第一步,不是急着写辨识算法,而是把被辨识对象用一套自洽的数学语言描述清楚。刚体、铰链、约束、广义坐标、运动学递推和动力学方程,这六个概念构成了多体系统建模的骨架。它们之间的关系不是并列的六个名词,而是一条从“物理对象”到“可计算方程”的逐层抽象链。理解这条链,才能明白后续辨识中哪些参数是可辨识的、哪些量是冗余的、以及为什么某些参数组合永远无法单独分离。
刚体与铰链:物理对象的两个基本单元
刚体是多体系统的最小惯性单元。每个刚体由质量 m、质心位置 c(在体坐标系中)和惯性张量 I 描述。惯性张量通常写成 3×3 对称矩阵,包含 6 个独立分量:三个转动惯量 Ixx、Iyy、Izz 和三个惯性积 Ixy、Ixz、Iyz。这 10 个量(1 个质量、3 个质心坐标、6 个惯性分量)就是刚体惯性参数的标准集合。在参数辨识中,它们往往不是全部可辨识的,但建模阶段必须先把它们完整写出。
铰链(关节)定义两个刚体之间的相对运动方式。常见类型包括转动铰(1 自由度旋转)、移动铰(1 自由度平移)、球铰(3 自由度旋转)、万向铰(2 自由度旋转)和自由铰(6 自由度)。铰链的数学本质是:它允许某些相对运动,同时约束掉其余运动。例如转动铰允许绕某一轴旋转,约束掉三个平移和两个转动,共 5 个约束。铰链的轴线和安装位置本身也是模型参数,在辨识中常与惯性参数耦合。
约束与广义坐标:把物理限制变成数学变量
约束是对系统自由度的限制。设系统用 n 个笛卡尔坐标 q ∈ ℝn 描述,若存在 m 个独立约束方程 Φ(q, t) = 0,则系统实际自由度为 n − m。这 n − m 个独立变量就是广义坐标,记作 qg。广义坐标的选择不唯一,但好的选择能让约束自动满足,从而避免求解约束方程。
以平面双摆为例。若用两个摆角的笛卡尔位置描述,需要 4 个坐标加 2 个杆长约束,自由度 2。若直接取两个摆角 θ1、θ2 为广义坐标,则约束自动满足,运动学方程直接写成:
x1 = L1*sin(θ1), y1 = -L1*cos(θ1)
x2 = x1 + L2*sin(θ2), y2 = y1 - L2*cos(θ2)
这里约定:θ 从竖直向下方向量起,逆时针为正;y 轴向上为正。全文及图示均采用这一约定。广义坐标的选取直接决定了后续递推公式的形式,也影响辨识时参数的可辨识性结构。
运动学递推:从基座到末端的链式传递
多体系统通常呈树状或链状拓扑。运动学递推的任务是:已知基座运动和各铰链的广义坐标、广义速度,依次计算每个刚体的位置、姿态、速度和加速度。以链式系统为例,从基座刚体 0 开始,对第 i 个刚体:
ω_i = ω_{i-1} + z_i * qd_i
v_i = v_{i-1} + ω_{i-1} × r_i + z_i * qd_i × r_i
a_i = a_{i-1} + α_i × r_i + ω_i × (ω_i × r_i) + ...
其中 zi 是铰链轴线方向,qdi 是广义速度。递推的关键在于:每个刚体的运动量只依赖其父刚体的运动量和本铰链的广义坐标/速度。这种局部依赖关系使得计算复杂度随刚体数线性增长,而不是随约束数爆炸。在辨识中,递推公式对惯性参数的线性依赖关系,正是最小二乘辨识的基础。
动力学方程的统一表达
把运动学递推结果代入牛顿-欧拉方程或拉格朗日方程,可以得到统一形式:
M(q) * qdd + C(q, qd) * qd + G(q) = τ + J^T * F_ext
其中 M 是质量矩阵,C 是科氏力/离心力项,G 是重力项,τ 是铰链驱动力,JTFext 是外部力映射到广义坐标的等效力。这个方程对惯性参数是线性的,可以重写为:
τ = Y(q, qd, qdd) * π
其中 Y 是回归矩阵,π 是待辨识参数向量。这一步“线性化”是多体动力学参数辨识的核心转折点:它把非线性动力学问题转化为线性回归问题。但要注意,Y 的列之间可能存在线性相关,导致 π 中某些参数组合不可辨识。这正是下一阶段需要处理的问题。
统一表达的实际意义
把上述链条串起来看,多体系统建模的统一表达可以概括为:物理对象(刚体+铰链)→ 约束消减 → 广义坐标 → 运动学递推 → 动力学方程 → 线性回归形式。每一步都在做“降维”和“结构化”:约束把笛卡尔坐标降到广义坐标,递推把全局耦合降到局部传递,线性化把非线性动力学降到参数线性回归。
在实际辨识项目中,这个链条的每个环节都会影响最终结果。例如,若铰链轴线方向定义与运动学递推中的 zi 不一致,回归矩阵 Y 就会系统性偏差;若广义坐标选取导致质量矩阵出现奇异,某些参数组合就不可辨识。因此,建模阶段必须保证:坐标系约定全文一致、铰链轴线方向明确、约束方程与广义坐标选择匹配、递推公式的符号定义与动力学方程一致。
以平面双摆为例,若取 θ1、θ2 为广义坐标,两个刚体的惯性参数共 20 个(每个刚体 10 个),但平面运动只涉及 m、cx、cy、Izz 共 4 个有效参数,每个刚体实际可辨识参数为 4 个,总计 8 个。其余参数(如 Ixx、Iyy、Ixy 等)在平面运动中不出现,属于结构性不可辨识。这个例子说明:统一表达不仅是为了写方程,更是为了提前判断哪些参数值得辨识、哪些参数应当从模型中剔除或固定。
掌握这套统一表达后,后续的激励轨迹设计、数据采集、最小二乘求解和模型校准,都可以在这个框架下找到对应的位置。建模不是辨识的前置杂务,而是决定辨识上限的关键步骤。