2. 多体系统建模基础
多体系统建模的本质,是把一台真实机械抽象成“物体 + 约束 + 驱动 + 力”四类要素的组合。RecurDyn 中对应的核心对象分别是 Body(物体)、Joint(运动副)、Motion/Drive(驱动)和 Force(力元)。理解这四类对象各自的物理含义、自由度贡献和参数含义,比记住菜单路径更重要——因为建模错误绝大多数不是操作错误,而是对“谁约束了谁、谁驱动了谁”的判断错误。
一、四类核心对象的物理分工
Body 是承载质量与惯量的实体。RecurDyn 中常用的是 Rigid Body,其关键参数为质量 m、质心位置、惯性张量(Ixx、Iyy、Izz 及惯性积)。若物体形状规则,可直接由几何体自动计算;若为简化模型,则需手动输入。需要强调的是:质心位置与惯性张量直接决定动力学响应,随意填一个质量而忽略惯量,会让后续的摆动力、冲击力完全失真。
Joint 是限制相对运动的约束。它不产生力,而是“拿走”自由度。常见运动副及其约束的自由度数量如下:
| 运动副 | 约束自由度数 | 典型应用 |
|---|---|---|
| Revolute(转动副) | 5 | 铰链、销轴连接 |
| Translational(移动副) | 5 | 导轨、滑块 |
| Cylindrical(圆柱副) | 4 | 可转可滑的轴套 |
| Spherical(球副) | 3 | 球铰、杆端关节轴承 |
| Fixed(固定副) | 6 | 焊接、螺栓固接 |
空间单个自由物体有 6 个自由度,每加一个运动副就减去相应数量。因此判断机构是否可动,只需做一次自由度计算:DOF = 6×n − Σ约束数(空间)或 DOF = 3×n − 2×低副数 − 高副数(平面)。这个数字若为 0,机构就是刚性结构;若为负,说明存在过约束,仿真中常表现为约束冲突或求解失败。
Motion/Drive 是给系统注入运动的元件,它直接指定某个自由度的位移、速度或加速度随时间的变化,例如转动副上的 Rotational Motion 给定角速度 ω = 2π rad/s。驱动与力的区别在于:驱动是“强制运动”,力是“影响运动”。同一个自由度上同时加驱动和力,通常会导致矛盾。
Force 是改变运动状态的外部作用,包括弹簧阻尼力、接触力、重力、扭矩等。RecurDyn 中常用 Spring、Bushing、Contact、Expression Force。力元不减少自由度,只改变动力学方程右端项。
二、RecurDyn 中 Body、Joint、Force 的创建与参数设置
在 RecurDyn 中建立四杆机构,推荐按“几何 → 物体 → 运动副 → 驱动 → 力元”的顺序推进,因为运动副的参考点必须依附于已存在的几何或物体。
第一步:创建 Body。 使用 Body > Link 或直接绘制矩形/圆柱生成连杆。以曲柄为例,长度 200 mm、截面 20×10 mm、材料默认钢(密度 7850 kg/m³),软件会自动算出质量约 0.31 kg。若希望得到前文示例中的 0.8 kg,可手动在 Body > Properties > Mass 中覆盖质量,并在 Inertia 页输入或由几何重算惯性张量。注意:修改质量后务必确认质心位置,否则转动惯量与实际不符。
第二步:创建 Joint。 选择 Joint > Revolute,依次点选两个物体(或物体与 Ground),再指定旋转轴方向与铰点位置。RecurDyn 会显示一个带箭头的旋转符号,箭头方向即正转方向。四杆机构共需 4 个转动副:J1(曲柄—大地)、J2(曲柄—连杆)、J3(连杆—摇杆)、J4(摇杆—大地)。创建完成后,可用 Joint > Check 检查是否存在重复约束。
第三步:添加驱动。 在 J1 上右键选择 Add Motion,类型选 Rotational,速度输入 2*PI(单位 rad/s),即 1 转/秒。若希望更真实,可改用 Velocity (time) 表达式,例如前 0.5 s 从 0 匀加速到 2π,避免启动瞬间的刚性冲击。
第四步:添加力元。 在连杆与大地之间加一个 Spring,设置刚度 k=500 N/m、阻尼 c=5 N·s/m、自由长度 300 mm。弹簧力元不改变自由度,但会改变摇杆的摆动规律,是验证“力元影响动力学响应”的好例子。
三、简单四杆机构建模与运动验证
下面给出一个可直接参考的建模参数表,用于复现上述四杆机构:
| 对象 | 类型 | 关键参数 | 说明 |
|---|---|---|---|
| Ground | 大地 | 固定 | J1、J4 的参考体 |
| 曲柄 L1 | Rigid Body | L=200mm, m=0.8kg | 绕 J1 整周回转 |
| 连杆 L2 | Rigid Body | L=260mm, m=1.2kg | 平面运动 |
| 摇杆 L3 | Rigid Body | L=220mm, m=1.0kg | 绕 J4 摆动 |
| J1~J4 | Revolute | Z 轴旋转 | 共约束 20 个自由度 |
| Motion | Rotational | ω=2π rad/s | 施加于 J1 |
| Spring | Spring | k=500, c=5 | 连杆—大地 |
提交仿真前,先做一次 静平衡检查:将驱动速度设为 0,运行 0.1 s,观察各铰点约束反力是否收敛。若出现“约束冲突”或残差过大,通常是运动副轴线不平行或存在过约束。
随后进行 运动验证。设置仿真时间 2 s、步长 0.001 s,求解器选 GSTIFF。仿真结束后,重点观察三件事:
- 曲柄转角:应严格按 ω·t 线性增长,2 s 后累计约 4π rad(2 圈)。若转角曲线出现台阶或跳变,说明驱动或约束有问题。
- 摇杆摆角:应呈周期性往复,幅值由杆长决定。可用
Plot > Angle提取 J4 的相对转角,检查周期是否与曲柄一致。 - 铰点反力:J2、J3 的约束力应连续变化,峰值出现在曲柄与连杆共线附近。若反力出现尖峰毛刺,多为步长过大或接触参数不当。
最后,把仿真得到的摇杆角位移与理论几何关系对比:对于曲柄摇杆机构,摇杆摆角范围可由杆长通过余弦定理算出。若仿真曲线与理论包络一致,说明 Body 质量、Joint 约束和 Motion 驱动三者配置正确,模型可用于后续的动力学分析。