4. 运动副与约束基础
在 Adams 中,运动副(Joint)是连接两个刚体、限制它们之间相对运动的约束单元。每添加一个运动副,系统就会从两构件之间原有的 6 个相对自由度中移除若干自由度。理解“每个运动副约束掉哪些自由度、保留哪些自由度”,是判断模型能否正确运动、是否过约束或欠约束的根本依据。本节围绕 Adams 常用的八类运动副展开,先建立自由度视角,再逐类说明其几何定义、约束效果与典型用法。
一、自由度视角:运动副的本质是约束自由度
两个自由刚体在空间中各有 6 个自由度(3 个平动 + 3 个转动),组成一个运动副后,二者之间的相对运动被限制。若某运动副移除 n 个相对自由度,则保留 6−n 个相对自由度。例如旋转副移除 5 个、保留 1 个(绕轴转动),球副移除 3 个、保留 3 个(三个方向转动)。Adams 在求解时会统计整个系统的自由度:
系统自由度 DOF = 6 × 构件数 − 各运动副约束数之和 − 驱动约束数
(平面机构可按 3 × 构件数 计算)
当 DOF = 0 时系统为确定运动(静定),DOF > 0 时存在未约束的运动(欠约束),DOF < 0 时通常意味着过约束,求解器可能报冗余约束或出现装配冲突。因此建模时不能只关心“连上了没有”,更要关心“约束了几何自由度”。
二、旋转副与平移副:最基础的两类单自由度约束
旋转副(Revolute Joint)约束两构件沿三个方向的相对平动以及绕两个轴的相对转动,只保留绕指定轴的一个转动自由度。在 Adams 中创建旋转副需要指定两个构件的连接点(Marker 原点重合)和旋转轴方向。典型示例:曲柄连杆机构中曲柄与机架之间用旋转副连接,曲柄绕固定轴转动。若旋转副的轴线方向定义错误,机构运动会立即出现异常摆动,因此轴线方向必须与真实铰链轴一致。
平移副(Translational Joint)约束三个方向的相对转动和两个方向的相对平动,只保留沿指定轴的一个滑动自由度。创建时需要定义滑动方向。典型示例:滑块在导轨上直线运动、液压缸活塞杆相对缸筒伸缩。平移副与旋转副的约束数相同(均为 5),但保留的自由度类型不同,这是初学者最容易混淆的地方。
三、圆柱副、球副与万向节:多自由度连接
圆柱副(Cylindrical Joint)保留沿轴滑动和绕轴转动两个自由度,约束其余 4 个。它相当于“平移副 + 旋转副”的组合,常用于套筒、花键轴、可伸缩且可转动的连接。例如汽车传动轴的花键连接,既允许轴向伸缩补偿,又允许相对转动传递扭矩。
球副(Spherical Joint)只约束三个方向的相对平动,保留三个方向的相对转动,约束数为 3。球副常用于球铰、拉杆端、悬架球头等需要多向转动的场合。由于球副不限制转动,若机构中大量使用球副,系统自由度会明显增加,需注意是否出现欠约束。
万向节(Universal Joint)保留两个方向的相对转动,约束 4 个自由度。它常用于传动轴与十字轴联轴器,允许两轴之间存在一定夹角并传递转动。万向节与球副的区别在于:万向节不允许绕自身轴线的自由转动,而球副允许三向自由转动。
四、固定副、平面副与螺旋副:特殊约束形式
固定副(Fixed Joint)约束全部 6 个相对自由度,两构件之间无任何相对运动。它用于焊接、螺栓固接、把某个构件与机架(Ground)固连等场合。固定副虽然简单,但滥用会导致系统过约束,尤其在多个固定副共同限制同一构件时容易产生冗余约束。
平面副(Planar Joint)约束 3 个自由度,保留平面内两个方向的平动和绕平面法向的一个转动。它适用于平面滑移、地面接触约束等场景。例如一个平板在桌面上滑动并可在面内旋转,就可用平面副描述。
螺旋副(Screw Joint)约束 5 个自由度,只保留一个复合自由度——转动与平动按螺距耦合。即构件每转动一定角度,就沿轴向移动相应距离,满足 s = p·θ / (2π),其中 p 为螺距。螺旋副用于丝杠螺母、螺旋传动等机构,是八类运动副中唯一具有运动耦合关系的约束。
五、建模实操:以曲柄滑块机构为例
下面以一个简单曲柄滑块机构为例,说明运动副的实际添加过程与自由度校核。机构由曲柄、连杆、滑块和机架(Ground)组成,共 3 个活动构件。
- 曲柄与机架之间添加旋转副,轴线沿全局 Z 轴,约束 5 个自由度。
- 曲柄与连杆之间添加旋转副,轴线平行于 Z 轴,约束 5 个自由度。
- 连杆与滑块之间添加旋转副,轴线平行于 Z 轴,约束 5 个自由度。
- 滑块与机架之间添加平移副,滑动方向沿全局 X 轴,约束 5 个自由度。
- 在曲柄旋转副上添加旋转驱动,给定转速,约束 1 个自由度。
按平面机构计算:DOF = 3 × 3 − (5 + 5 + 5 + 5) + 1 = 9 − 20 + 1 = −10,这显然不对。原因是平面机构应按 3 个自由度/构件计算,且旋转副在平面内只约束 2 个自由度、平移副约束 2 个自由度。正确算法为:DOF = 3 × 3 − (2 + 2 + 2 + 2) − 1 = 9 − 8 − 1 = 0,系统为确定运动。这说明自由度计算必须与所采用的机构类型(平面/空间)一致,否则会得出错误结论。
六、运动副选择速查
| 需求 | 推荐运动副 | 保留运动 |
|---|---|---|
| 绕单轴转动 | 旋转副 | 1 个转动 |
| 沿单轴滑动 | 平移副 | 1 个平动 |
| 边转边滑 | 圆柱副 | 1 转动 + 1 平动 |
| 多向转动 | 球副 | 3 个转动 |
| 两轴夹角传动 | 万向节 | 2 个转动 |
| 完全固接 | 固定副 | 无 |
| 面内滑移 | 平面副 | 2 平动 + 1 转动 |
| 转动平动耦合 | 螺旋副 | 1 个耦合自由度 |
掌握这八类运动副的约束本质后,面对任何连接关系都可以先问三个问题:两构件之间需要保留哪些相对运动?这些运动对应几个自由度?所选运动副的约束数是否与之一致?把这三个问题回答清楚,运动副的选择和自由度校核就不会出错,后续的驱动添加与仿真求解也就有了可靠基础。