2. 多体系统运动学描述

多体系统动力学的第一步,不是写力,而是把“系统在哪里、怎么动”用一套统一的数学语言描述清楚。接触碰撞问题尤其如此:两个物体是否已经接触、接触点相对速度是多少、碰撞瞬间约束是否突变,都取决于运动学描述是否准确。本节围绕广义坐标、约束方程、位置—速度—加速度关系、自由度与约束雅可比矩阵这条主线展开,为后续建立动力学方程和接触力模型打基础。

一、广义坐标:用最少的量描述位形

描述一个多体系统的位形,最直接的方式是给每个刚体指定笛卡尔坐标和姿态角。例如平面内一个刚体可用 (x, y, θ) 三个量描述,空间刚体则需 (x, y, z, ψ, θ, φ) 六个量。若系统有 nb 个刚体,平面系统共 3nb 个笛卡尔坐标,空间系统共 6nb 个。这些坐标记为 q,称为笛卡尔广义坐标。

但笛卡尔坐标之间往往不独立。转动铰约束两个物体的相对平动,只留下一个相对转角;移动铰约束相对转动,只留下一个相对位移。若直接用笛卡尔坐标建模,约束方程数量多、雅可比矩阵稀疏但规模大。工程中更常用相对坐标(拉格朗日坐标):以铰链为单元,每个铰只引入它真正允许的相对运动量。例如转动铰引入 1 个转角,移动铰引入 1 个位移,球铰引入 3 个转角。这样广义坐标数就等于系统的独立运动量,约束方程最少。

两种坐标各有取舍:笛卡尔坐标便于统一处理任意拓扑和接触检测,相对坐标方程规模小但拓扑变化时需重构。实际仿真软件(如 ADAMS、RecurDyn)多采用笛卡尔坐标加约束方程的方式,正是因为它对接触、闭环和变拓扑更稳健。

二、约束方程:把“不能动”写成等式

约束是对广义坐标的限制,统一写成向量形式:

Φ(q, t) = 0

按是否显含时间,约束分为定常约束(Φ(q)=0)与非定常约束(Φ(q,t)=0);按是否含速度项,分为几何约束(完整约束)与非完整约束。多体接触碰撞中绝大多数是完整约束。

以平面转动铰为例,物体 i 与 j 通过铰点 P 连接,铰点在各体上的局部坐标分别为 s̄ᵢ、s̄ⱼ。约束要求两体上该点重合:

Φ = rᵢ + Aᵢ s̄ᵢ − rⱼ − Aⱼ s̄ⱼ = 0   (2 个方程)

其中 r 为质心位置,A 为方向余弦矩阵。两个方程约束了两个相对平动自由度,剩下相对转角自由,正好对应转动铰的 1 个自由度。若再加一个“某方向相对转角为零”的驱动约束,就变成 0 自由度。

三、位置、速度、加速度的递推关系

约束方程对时间求一次导,得到速度约束方程:

Φ_q · q̇ = −Φ_t

其中 Φ_q = ∂Φ/∂q 就是约束雅可比矩阵,Φ_t = ∂Φ/∂t 来自非定常约束。再求一次导,得到加速度约束方程:

Φ_q · q̈ = −(Φ_q q̇)_q q̇ − 2Φ_qt q̇ − Φ_tt ≡ γ

右端 γ 集中了速度二次项和显含时间项,是已知量。这三层关系构成运动学分析的核心:位置层是非线性代数方程,需迭代求解;速度、加速度层是线性方程,可直接解出 q̇、q̈。接触碰撞中,接触点相对速度由 q̇ 映射得到,碰撞前后的速度跳变也在这套关系下处理。

多体系统运动学三层关系与约束雅可比 位置层(非线性) Φ(q, t) = 0 牛顿迭代求解 q 判断接触是否发生 速度层(线性) Φ_q · q̇ = −Φ_t 解出 q̇ 求接触点相对速度 加速度层(线性) Φ_q · q̈ = γ 解出 q̈ 供动力学方程使用 求导 求导 约束雅可比矩阵 Φ_q 行 = 约束数 nc 列 = 广义坐标数 n 自由度 DOF = n − rank(Φ_q) 独立运动量 = 广义坐标数 − 独立约束数 接触碰撞关注点 法向相对速度、约束突变、冗余约束

四、自由度与雅可比矩阵的秩

自由度不是简单“坐标数减约束数”,而是:

DOF = n − rank(Φ_q)

只有当所有约束相互独立时,rank(Φ_q) = nc,才有 DOF = n − nc。若约束方程之间存在线性相关,雅可比矩阵出现行秩亏,系统存在冗余约束。冗余约束在纯运动学中不改变自由度,但在动力学中会导致约束力不唯一,求解时矩阵奇异。接触碰撞中,多个接触点同时作用、闭环机构、过约束装配都可能引入冗余,需要做秩检测或使用伪逆、约束稳定化方法处理。

雅可比矩阵的每一行对应一个约束,每一列对应一个广义坐标,元素 ∂Φᵢ/∂qⱼ 表示第 j 个坐标变化对第 i 个约束的影响。它同时承担三个角色:速度层和加速度层的系数矩阵、动力学方程中约束力的方向映射、以及接触法向的几何梯度。可以说,雅可比矩阵是运动学与动力学之间的桥梁。

五、一个可手算的示例

取平面双摆:两杆长均为 L=0.5 m,质量集中在杆端,广义坐标取两杆绝对转角 q = [θ₁, θ₂],n=2。铰点约束使两杆首尾相接,若以杆端位置写约束,可整理为 1 个独立约束 Φ = θ₁ − θ₂ = 0(两杆固连情形),则 Φ_q = [1, −1],秩为 1,DOF = 2 − 1 = 1,即整体只能绕基座转动,符合直觉。若两杆间为自由转动铰,则无此约束,DOF = 2,两杆可独立摆动。

再看接触:设杆端与地面距离为 d(q),接触约束可写为 Φ_c = d(q) = 0,其雅可比行 ∂d/∂q 就是接触法向在广义坐标空间中的梯度。碰撞瞬间,法向相对速度 v_n = Φ_q · q̇,恢复系数模型正是基于这个量计算碰撞后速度。可见,接触力方向、穿透量、相对速度都从同一套运动学关系中导出。

建模建议:先用相对坐标确定最少广义坐标,再补上驱动和接触约束;每次改拓扑后重新检查 rank(Φ_q),避免冗余约束导致求解失败。
注意符号约定:本文统一取 Φ(q,t)=0,速度约束右端为 −Φ_t,加速度约束右端为 γ。若采用 Φ(q,t)=const 或不同符号定义,右端项符号需同步调整,否则速度、加速度结果会整体反号。

小结:广义坐标决定描述规模,约束方程决定系统能怎么动,位置—速度—加速度三层关系决定如何求解,雅可比矩阵的秩决定自由度与冗余。把这四点串起来,后续的接触检测、碰撞冲量计算和动力学积分才有可靠的几何与运动学基础。