2. 机器人机构拓扑结构与自由度分析

机器人机构的运动学与动力学分析,第一步不是写方程,而是把机构“看清楚”:它由哪些构件组成、构件之间用什么运动副连接、这些连接在空间中形成怎样的拓扑关系,最终整个机构还剩多少个独立运动。这一节围绕串联、并联、混联三类构型,讲清运动副约束的计数方式,并用 Grubler-Kutzbach 公式完成自由度计算。

一、构型描述:串联、并联与混联

串联机构是最直观的形式:从基座开始,构件依次首尾相连,形成一条开链。典型代表是六轴工业机械臂,其拓扑是一条从基座到末端法兰的单一通路。串联机构的每个关节都直接驱动其下游所有构件,因此工作空间大、控制直观,但误差会沿链累积,刚度随臂展增加而下降。

并联机构则相反:动平台通过多条独立支链同时与定平台相连,形成闭链。经典的 Stewart-Gough 平台由 6 条 UPS 支链连接上下平台,每条支链含一个驱动移动副和两个球铰。并联机构刚度高、承载大、误差平均化,但工作空间小、正运动学复杂、支链间存在耦合。

混联机构是两者的组合,例如在串联臂的末端加装一个并联手腕,或在并联平台上方再串接一个定位机构。混联的拓扑不再是单一开链或单一闭链,而是“开链中嵌闭链”或“闭链上接开链”,自由度计算需要按整体拓扑统一处理,不能简单把各子机构自由度相加。

二、运动副约束与自由度贡献

运动副是构件之间的可动连接。空间自由刚体有 6 个自由度,一个运动副通过约束减少相对运动,其保留的自由度数记为 f,则约束数为 6 − f。常见运动副如下:

  • 转动副 R:保留 1 个转动自由度,约束 5 个;
  • 移动副 P:保留 1 个移动自由度,约束 5 个;
  • 圆柱副 C:保留 1 转动 + 1 移动,约束 4 个;
  • 万向副 U:保留 2 个转动自由度,约束 4 个;
  • 球副 S:保留 3 个转动自由度,约束 3 个;
  • 平面副 E:保留 2 移动 + 1 转动,约束 3 个。

需要特别区分“运动副自由度”与“机构自由度”。运动副自由度描述的是两个构件之间的相对运动能力;机构自由度描述的是整个机构相对基座的独立运动数目。前者是局部量,后者是全局量,二者通过拓扑关系联系起来。

三、Grubler-Kutzbach 公式

对于空间机构,Grubler-Kutzbach 公式为:

F = 6(n − 1) − Σ(6 − f_i)
  = 6(n − 1) − 5p5 − 4p4 − 3p3 − 2p2 − 1p1

其中 n 为构件总数(含基座),pk 为提供 k 个约束的运动副数目,fi 为第 i 个运动副保留的自由度数。若机构为平面机构,则把 6 换成 3,公式变为 F = 3(n − 1) − 2pL − pH,其中 pL 为低副数,pH 为高副数。

使用公式时要注意三点:一是 n 必须包含基座;二是要正确识别复合铰链,m 个构件在同一处铰接应计为 m − 1 个转动副;三是若存在公共约束、冗余约束或局部自由度,需对公式结果进行修正。

四、计算案例

案例一:平面四杆机构。构件为机架、曲柄、连杆、摇杆,共 n = 4;四个转动副均为低副,pL = 4,pH = 0。按平面公式:F = 3×(4−1) − 2×4 − 0 = 9 − 8 = 1。结果说明该机构只需一个独立输入(如曲柄转角)即可确定全部位置,与实际相符。

案例二:Stewart 平台。构件包括定平台、动平台和 6 条支链,每条支链含 2 个构件(上连杆、下连杆),故 n = 2 + 6×2 = 14。每条支链为 UPS:1 个万向副 U(f = 2)、1 个移动副 P(f = 1)、1 个球副 S(f = 3)。6 条支链合计:U 副 6 个、P 副 6 个、S 副 6 个。代入空间公式:

F = 6×(14 − 1) − [6×(6−2) + 6×(6−1) + 6×(6−3)]
  = 78 − [24 + 30 + 18]
  = 78 − 72
  = 6

得到 6 个自由度,对应动平台的 3 个移动和 3 个转动,与 Stewart 平台作为六自由度并联机构的结论一致。若把 6 个移动副作为驱动,则驱动数等于自由度数,机构为完全驱动。

案例三:含局部自由度的机构。某平面机构中有一个滚子绕自身轴线的转动,该转动不影响输出构件运动,属于局部自由度。计算时应先扣除局部自由度,再代入公式,否则会得到偏大的结果。判断依据是:该自由度是否传递到输出端、是否影响机构整体位形。

五、计算流程与检查要点

实际分析时可按以下顺序推进:先画出机构运动简图,标出所有构件并编号;再逐一识别运动副类型,统计各类运动副数量;然后判断是否存在复合铰链、局部自由度和冗余约束;最后选择平面或空间公式代入计算,并用“驱动数是否等于自由度数”做合理性检查。

判断机构是否具有确定运动的条件是:独立驱动数等于机构自由度数。若驱动数少于自由度数,机构运动不确定;若多于自由度数,则会出现过约束或构件干涉。
Grubler-Kutzbach 公式对含公共约束的机构可能给出偏小甚至为负的结果,此时需要引入公共约束修正项,或改用螺旋理论、Assur 杆组法进行分析。
三类机器人机构拓扑与自由度计算对照 串联机构(开链) B R R 单通路,误差累积 工作空间大,刚度低 F = 6(n−1) − Σ(6−fᵢ) 例:六轴机械臂 F = 6 并联机构(闭链) 定平台 动平台 多支链并联,误差平均 刚度高,工作空间小 例:Stewart 平台 F = 6 混联机构(开+闭) B R 并联腕 开链中嵌闭链 兼顾空间与刚度 按整体拓扑统一计算 不可分子机构自由度相加 自由度计算流程 ① 画运动简图 构件编号 ② 识别运动副 统计 pₖ ③ 查复合铰链 局部/冗余约束 ④ 代入公式 平面/空间 ⑤ 校核 驱动数=F 空间公式: F = 6(n − 1) − 5p₅ − 4p₄ − 3p₃ − 2p₂ − p₁ 平面公式: F = 3(n − 1) − 2p_L − p_H 注:n 含基座;复合铰链 m 个构件计 m−1 个转动副;局部自由度需先扣除。

把上述流程落到具体机构上,串联臂的自由度通常等于关节数,并联平台则需按支链约束逐项扣除,混联机构要整体建模。掌握拓扑识别与公式代入这两步,后续建立动力学方程时才能正确确定广义坐标数目,避免出现方程数与自由度不匹配的问题。