3. 多体系统拓扑与坐标系建立

多体动力学仿真的第一步,不是写方程,而是把一台真实机器人“翻译”成计算机能处理的拓扑结构和坐标系系统。拓扑决定了哪些物体通过哪些关节相连、约束如何传递;坐标系决定了每个物体的位姿、速度、力在哪个参照下描述。这两件事一旦定错,后续的雅可比、质量矩阵、约束方程都会系统性出错,而且往往要到仿真结果明显异常时才会暴露。本节围绕开环、闭环、树状三类拓扑,以及体参考系、关节坐标系、全局与局部坐标的选择,给出可直接用于建模的约定。

一、三类拓扑:开环、闭环与树状

开环拓扑是最简单的一类:每个物体最多有一个父体,从基座出发沿关节链单向延伸,末端是自由端。典型的六轴串联机械臂就是一条开环链,基座→腰→大臂→小臂→腕→末端法兰,任意两个物体之间只有唯一一条通路。开环系统的广义坐标数等于关节自由度数,约束方程只来自关节本身,动力学方程结构清晰,是理解多体建模的最佳起点。

闭环拓扑中存在至少一个回路:两个物体之间除了沿关节链的通路外,还存在额外的运动学约束。并联机构(如Stewart平台、Delta机器人)是典型闭环,动平台与基座之间通过多条支链相连,每条支链都是一条开环链,但动平台同时受多条链约束。闭环带来的直接后果是:广义坐标数大于系统实际自由度数,必须引入闭环约束方程,动力学方程变为微分-代数方程(DAE),数值求解时需要处理约束漂移。

树状拓扑是开环的推广:一个父体可以连接多个子体,形成分叉结构。双臂机器人、多指灵巧手、带多个末端执行器的移动操作平台都属于树状。树状系统仍无闭环,但分支意味着广义坐标按分支独立编号,惯性和重力项需要沿各分支分别累加。工程上常把树状系统视为“多个开环链共享一个根”,建模时先处理主干,再逐分支挂接。

判断拓扑类型的实用方法:从任意物体出发,沿关节走到基座,若路径唯一且不重复经过同一物体,则为开环或树状;若存在两条不同路径到达同一物体,则存在闭环。

二、体参考系与关节坐标系

体参考系(Body Frame)固连在刚体上,随刚体一起运动,用于描述该刚体的惯性张量、质心位置和外力作用点。体参考系的原点通常取在质心或几何中心,坐标轴方向尽量与刚体的惯性主轴对齐,这样惯性张量接近对角阵,能显著简化计算。例如机械臂大臂的体参考系原点取在质心,x轴沿大臂轴线指向小臂,z轴沿关节轴线方向。

关节坐标系(Joint Frame)定义在关节处,用于描述相邻两体之间的相对运动。转动关节的关节坐标系通常将z轴取为旋转轴线,关节变量θ表示绕z轴的转角;移动关节则将z轴取为平移方向,关节变量d表示沿z轴的位移。关节坐标系的关键约定是:关节变量为零时,两相邻体参考系之间的变换为常值齐次变换,关节运动只改变其中一个自由度。

体参考系与关节坐标系的关系可以这样理解:体参考系回答“这个物体自身在哪里、朝哪个方向”,关节坐标系回答“这个物体相对父体如何运动”。建模时先为每个刚体建立体参考系,再在每个关节处建立关节坐标系,两者通过固定的安装变换关联。

三、全局坐标与局部坐标的选择

全局坐标系(World/Global Frame)固定在地面或基座上,不随时间变化,用于描述整个系统的绝对位姿、重力方向和外部接触力。全局坐标系的z轴通常取竖直向上或向下,需在建模前明确并全文统一。重力加速度在全局系中表示为常向量,例如z轴向上时g=[0,0,-9.81]ᵀ m/s²。

局部坐标系(Local Frame)即各体参考系和关节坐标系,用于描述物体自身的运动量和相互作用。局部坐标的优势在于:惯性张量、关节约束、驱动力矩在局部系中形式最简;劣势在于需要频繁进行坐标变换。实际建模中,运动学递推通常在局部系中完成,而重力、地面接触、外部载荷则在全局系中定义后再变换到局部系。

选择原则可以归纳为:与物体自身属性相关的量用局部坐标,与环境和绝对位置相关的量用全局坐标。例如关节驱动力矩在关节坐标系中直接给出,而末端执行器与工件的接触力在全局系中测量后需变换到末端体参考系。

四、典型机器人机构的建模约定

以六轴串联机械臂为例,给出可直接套用的建模约定。基座固定于全局系原点,z轴竖直向上。各关节均为转动关节,关节坐标系z轴沿关节轴线,关节变量θᵢ为绕z轴转角,零位取机械臂直立姿态。体参考系原点取各连杆质心,坐标轴与关节坐标系在零位时对齐。相邻体变换采用标准DH或改进DH参数描述,本文采用改进DH:连杆长度aᵢ、连杆扭角αᵢ、连杆偏置dᵢ、关节角θᵢ四个参数确定相邻关节坐标系的变换。

对于闭环的Stewart平台,建模约定为:基座体参考系固定于下平台中心,动平台体参考系固定于上平台中心,六条支链各自建立开环链,每条支链的关节坐标系按“万向铰—移动副—球铰”顺序建立。闭环约束通过动平台位姿与六条支链末端位姿一致来施加,约束方程数为6×6−6=30(六条支链各6个约束,减去动平台6个自由度)。

示例:六轴机械臂改进DH参数(单位:mm,角度:rad)
关节 i | a_i  | alpha_i | d_i   | theta_i 零位
1      | 0    | 0       | 150   | 0
2      | 0    | -pi/2   | 0     | 0
3      | 400  | 0       | 0     | 0
4      | 50   | -pi/2   | 420   | 0
5      | 0    | pi/2    | 0     | 0
6      | 0    | -pi/2   | 100   | 0

建模完成后,建议做一次拓扑与坐标系的交叉检查:每个关节是否都有明确的父体和子体;每个体参考系是否固连在对应刚体上;关节变量零位是否与几何零位一致;全局系重力方向是否与所有重力项定义一致。这四项检查能拦截绝大多数因拓扑或坐标系错误导致的仿真异常。

多体系统拓扑与坐标系关系示意 开环拓扑(串联机械臂) B 1 2 唯一通路,无回路 广义坐标数 = 自由度数 约束仅来自关节 B:基座 1,2:连杆 树状拓扑(双臂/多指) 根 A1 B1 父体可连多个子体,无回路 闭环拓扑(并联平台) 动平台 基座 存在回路,需闭环约束方程 坐标系建立约定 X Z Y 全局坐标系 固定于地面/基座 x_b z_b y_b 体参考系 固连刚体,原点取质心 x_j z_j(转轴) y_j 关节坐标系 z轴沿关节轴线 安装变换 关节变换

把上述约定落到具体建模流程中,可以按以下顺序执行:先确定拓扑类型并画出物体-关节连接图;再为每个刚体指定体参考系原点和轴向;然后在每个关节处建立关节坐标系并明确关节变量;接着选定全局坐标系并统一重力方向;最后用一组已知位姿做正运动学验证,检查末端位姿是否与几何直觉一致。若闭环系统,还需额外验证约束方程在初始位姿下是否满足,以及数值积分过程中约束漂移是否在可接受范围内。

常见错误:体参考系原点未取在质心,导致惯性张量出现非对角项且重力矩计算错误;关节坐标系z轴未沿实际转轴,导致关节变量与物理转角不一致;全局系重力方向与局部系重力项符号相反,导致仿真中物体“向上掉”。这些错误在简单模型中可能被掩盖,但在多体耦合系统中会迅速放大。

拓扑与坐标系是多体动力学仿真的“地基”。开环、闭环、树状三类拓扑决定了方程的结构和求解策略;体参考系、关节坐标系、全局与局部坐标的选择决定了每个物理量在何处描述、如何变换。对典型机器人机构,建议在建模前先形成一份拓扑-坐标系约定表,明确每个物体的父体、关节类型、关节变量、体参考系原点和轴向、全局系定义,再进入参数输入和方程组装阶段。这样做的代价是前期多花十几分钟,收益是后续调试时间大幅缩短。