1. 轨迹抖动概述
各位做运动控制的同行,咱们开门见山——轨迹抖动这玩意儿,我敢说十个项目里有八个都遇到过。说白了,就是机器人明明该走一条平滑的路径,结果实际跑起来却像得了帕金森。今天咱们就把这个老对手彻底解剖一遍。
1.1 什么是轨迹抖动
轨迹抖动,专业定义是:实际运动轨迹与期望轨迹之间的高频、非期望偏差。用人话讲就是——你让机器人画一条直线,它却走出了心电图的效果。
核心特征:
- 频率高:通常 > 10Hz,肉眼可见的震颤
- 幅值小:一般 < 1mm,但足以影响精度
- 无规律:不像稳态误差那样可预测
我做过一个六轴机器人打磨项目,程序里轨迹规划得漂漂亮亮,结果一跑起来,末端抖得跟筛糠似的。后来发现,问题出在关节减速器的齿隙上——这就是典型的轨迹抖动。
1.2 抖动对系统的影响
别小看这几微米的抖动,它带来的后果往往是连锁反应。我整理了一个表格,方便大家对照排查:
| 影响维度 | 具体表现 | 严重程度 |
|---|---|---|
| 加工质量 | 表面粗糙度超标、轮廓精度下降 | ★★★★★ |
| 设备寿命 | 轴承磨损加速、丝杠疲劳断裂 | ★★★★☆ |
| 能耗 | 电机电流波动、发热量增加30%以上 | ★★★☆☆ |
| 安全性 | 末端执行器失控、碰撞风险上升 | ★★★★★ |
⚠️ 我曾经踩过的坑:在高速点焊项目中,抖动导致焊枪定位偏差0.3mm,结果连续焊穿了三个工件。从那以后,我养成了习惯——任何新项目调试,第一件事就是测轨迹抖动。
1.3 抖动的三大分类
搞清楚了危害,咱们得知道敌人长什么样。根据我的经验,轨迹抖动可以分成三大类。你想想看,这就像看病——先分科,再诊断。
1.3.1 机械抖动
这是最"实在"的抖动,物理世界的问题。我习惯把它叫做"硬伤"。
- 共振:结构固有频率与激励频率重合,典型症状是特定速度下抖动加剧
- 间隙:齿轮齿隙、联轴器松动、导轨间隙,低速时尤其明显
- 刚度不足:臂长太长、材料太软,负载一上去就颤
- 摩擦不均:导轨润滑不良、密封圈阻力变化
💡 我的排查习惯:先用手摸,再听声音,最后上仪器。机械抖动往往有特征频率,用手摸能感受到"嗡嗡"的震动感。我曾经仅凭手感就定位了一个轴承损坏的问题——老工程师的经验有时候比频谱仪还管用。
1.3.2 电气抖动
这类抖动更"狡猾",因为它时有时无,跟幽灵一样。说白了,就是电气系统的噪声和延迟问题。
- 编码器噪声:信号跳变、分辨率不足、线缆屏蔽不良
- 电流环抖动:PWM频率过低、死区时间设置不当
- 通信延迟:EtherCAT周期抖动、CAN总线冲突
- 电源波动:驱动器供电不稳、共模干扰
我记得有个项目,机器人每次加速到中段就开始抖。查了三天机械结构,一点问题没有。最后用示波器一看——编码器Z相脉冲有毛刺,换了一根屏蔽线,问题立刻消失。嗯,电气问题往往就是这样,看着像机械病,根子在电路上。
1.3.3 算法抖动
这类抖动最"冤",因为代码写得没问题,但算法本身就有缺陷。我刚开始做运动控制时,就吃过这个亏。
- 插补算法:直线插补的拐角处理不当、S形速度规划参数不合理
- 滤波器:低通滤波截止频率太低导致相位滞后、陷波滤波器中心频率偏移
- 控制周期:任务调度抖动、中断响应不及时
- 数值误差:浮点运算累积误差、截断误差放大
算法抖动的典型特征:
- 抖动频率与控制周期相关(如1kHz控制周期下出现500Hz抖动)
- 修改参数后抖动模式会变化
- 空载时可能不明显,带载后爆发
知识体系总览
下面这张图,是我自己总结的轨迹抖动知识框架。每次带新人,我都会先让他们看这张图——先建立全局观,再深入细节。
这张图把轨迹抖动的全貌都串起来了。从根节点往下,三大分类各自展开,每个分支都有对应的子问题。最下面我加了三类诊断方法——时域、频域、阶跃响应,这是咱们后续章节要重点展开的内容。
💡 我的个人习惯:遇到抖动问题,先别急着调参数。拿出这张图,按"机械→电气→算法"的顺序逐层排查。80%的问题在机械层就能找到根因,剩下20%才是算法的事。别一上来就动PID,那是最后的手段。