4. 驱动命令与运动输入

在CATIA DMU Kinematics中,机构建立完成后并不会自动运动,必须为每个运动副指定“驱动命令”(Driver),机构才具有确定的自由度输入。驱动命令的本质是把一个随时间变化的标量值映射到某个运动副的关节变量上:旋转副映射为角度,滑动副映射为长度,圆柱副可映射为长度或角度。理解这一点,是掌握后续仿真、干涉检查和轨迹输出的前提。

一、四类驱动命令的物理含义与适用对象

CATIA提供四种基本驱动类型,它们并非并列的“四种做法”,而是对应不同的物理输入方式:

  • 角度驱动(Angle Driver):直接给定旋转副的角度值,单位为度或弧度。适用于已知转角规律的机构,如曲柄转角、摆杆摆角。
  • 长度驱动(Length Driver):直接给定滑动副或圆柱副的位移量,单位为毫米。适用于液压缸行程、滑块位置等直线输入。
  • 速度驱动(Velocity Driver):给定关节变量的变化率,角度驱动对应 deg/s,长度驱动对应 mm/s。适用于电机匀速运转、匀速进给等场景。
  • 加速度驱动(Acceleration Driver):给定关节变量的二阶变化率,用于起步、制动、冲击等变速过程。

需要特别强调的是:速度驱动和加速度驱动在CATIA中并不是独立于角度/长度驱动的第四、第五种命令,而是通过“命令曲线”对角度或长度驱动进行积分得到的。也就是说,用户真正设置的是角度或长度随时间的变化规律,速度与加速度只是这条规律的一阶、二阶导数。这一点在设置界面中体现为:驱动类型选择“角度”或“长度”,再通过法则(Law)或函数定义其时间曲线。

若机构需要“先加速到匀速再减速停止”,正确做法是定义一条角度-时间曲线(S形或梯形速度积分曲线),而不是分别设置加速度驱动和速度驱动。CATIA不会自动叠加多个驱动命令。

二、命令曲线的三种定义方式

驱动命令的时间函数在CATIA中主要通过三种途径定义:

  1. 常量(Constant):角度或长度保持定值,机构静止。常用于装配验证或作为初始位置锁定。
  2. 法则曲线(Law):在知识工程中创建Law,用公式表达变量与时间的关系,例如 y = 30*sin(360*1*t),表示幅值30°、频率1Hz的正弦摆动。Law支持线性、样条、高级函数等多种形式。
  3. 命令曲线(Command Curve):在运动副的驱动对话框中直接选择“用法则驱动”,将Law关联到关节变量,并设定仿真时间范围与步长。

对于简单匀速运动,也可以直接使用“速度驱动”并输入恒定速度值,CATIA会在内部按时间积分生成角度或长度曲线。但一旦速度需要变化,就必须回到Law的方式。

三、时间函数的基本用法与参数设置

时间函数的核心是自变量 t(时间,单位秒)与因变量(角度或长度)的关系。在CATIA的Law编辑器中,常用形式包括:

线性:      y = 45*t              // 45°/s 匀速转动
正弦:      y = 30*sin(360*2*t)   // 幅值30°,2Hz摆动
多项式:    y = 10 + 5*t + 0.5*t^2
分段样条:  通过点表定义,CATIA自动插值

设置时需注意三个参数:仿真时长决定t的取值范围;步长决定采样密度,步长过大将丢失高频细节,过小则计算量激增;单位一致性要求角度用deg、长度用mm、时间用s,混用会导致结果错误。

四、驱动设置与仿真输出的关系

驱动命令设置完成后,通过“仿真”命令启动机构运动。此时CATIA按时间步进求解运动学方程,输出各构件的位移、速度、加速度以及关节反力。若驱动曲线定义错误,典型表现为:机构不动(常量驱动)、运动方向相反(符号错误)、运动突变(曲线不连续)或仿真报错(过约束或自由度不匹配)。

一个运动副只能有一个驱动命令。若对同一运动副重复设置驱动,CATIA会提示过约束。多自由度机构需要为每个独立自由度分别指定驱动,且驱动数量必须等于机构自由度,否则仿真无法进行。
驱动命令 → 时间函数 → 运动输出的映射关系 驱动命令类型 角度驱动 旋转副 · 单位 deg 长度驱动 滑动副 · 单位 mm 速度驱动 deg/s 或 mm/s 加速度驱动 deg/s² 或 mm/s² 速度/加速度经积分 转化为角度/长度曲线 时间函数定义(Law) 常量 Constant y = 45 (固定角度/长度) 机构静止,用于初始定位 线性 Law y = 45*t (45°/s 匀速) 速度恒定,加速度为零 正弦 Law y = 30*sin(360*2*t) 幅值30°,频率2Hz,往复摆动 样条 / 分段 Law 通过点表插值,支持S形加减速 适合起步-匀速-制动过程 仿真输出 位移 / 角度 构件位置随时间变化 速度 一阶导数,判断匀速/变速 加速度 二阶导数,判断冲击 干涉 / 轨迹 扫掠体积与包络线 驱动数量 = 自由度 否则仿真报错 关键约束:每个运动副仅一个驱动命令 · 驱动数量必须等于机构自由度 · 单位统一为 deg / mm / s

五、实操示例:曲柄摇杆机构的驱动设置

以曲柄摇杆机构为例,曲柄与机架之间为旋转副,设其为驱动副。目标是让曲柄以60°/s匀速转动,仿真时长6秒,步长0.05秒。

  1. 双击曲柄旋转副,在“驱动”选项卡中选择“角度驱动”。
  2. 驱动类型选择“用法则驱动”,新建Law,输入公式 y = 60*t,单位deg。
  3. 在仿真对话框中设置时长6s、步长0.05s,点击“仿真”。
  4. 观察摇杆的角位移曲线:由于曲柄匀速,摇杆呈周期性摆动,其角速度并非恒定,这是四杆机构的固有特性。

若改为“起步-匀速-制动”工况,可定义分段Law:0~1s加速度段用 y = 30*t^2,1~5s匀速段用 y = 30 + 60*(t-1),5~6s制动段用 y = 270 + 60*(t-5) - 30*(t-5)^2。此时仿真输出的加速度曲线在分段点处应连续,否则说明Law衔接有误。

六、常见设置错误与排查

现象可能原因排查方法
仿真启动后机构不动驱动为常量,或Law未关联到运动副检查驱动类型与Law绑定状态
运动方向与预期相反角度或长度符号定义反了在Law前加负号,或调整关节参考方向
仿真中途报错停止驱动数量不等于自由度,或曲线不连续用“自由度分析”检查约束,检查Law分段点
速度曲线出现尖峰步长过大,采样不足将步长减小至周期的1/20以下

掌握驱动命令与时间函数的对应关系后,机构仿真就从“能动”进入到“按预期规律动”的阶段。后续的干涉检查、轨迹规划和载荷分析,都建立在驱动曲线正确设置的基础之上。