1、抖动现象的本质:从时域与频域角度理解轨迹抖动
做机器人轨迹控制这些年,我见过最多的坑就是抖动。明明算法算出来一条平滑曲线,一上实际电机就抖得像筛子。你想想看,一个机械臂在产线上画圆弧,结果末端抖出0.5mm的波纹——这活儿还能干吗?
要解决抖动,得先搞清楚它到底是什么。说白了,抖动就是实际轨迹与期望轨迹之间的高频偏差。但光知道这个还不够,咱们得从数学和物理两个层面把它扒干净。
1.1 抖动的数学定义
先给个严谨的说法。设期望轨迹为 q_d(t),实际轨迹为 q(t),那么轨迹误差就是:
e(t) = q(t) - q_d(t)
抖动不是简单的误差大,而是误差中高频分量的幅值过大。我习惯用二阶导数来量化——加速度的波动能直接反映抖动程度:
J(t) = |d²e(t)/dt²|
嗯,这里要注意:J(t) 越大,说明加速度变化越剧烈,体感上就是「抖」。我在一个六轴机器人项目里遇到过,J(t) 峰值超过 50 m/s²,末端直接画出了锯齿形轨迹。
核心结论:抖动的数学本质是轨迹误差的高频分量,其剧烈程度由加速度的波动幅值表征。
1.2 从时域看抖动
时域分析最直观。你把实际轨迹和期望轨迹画在同一张图上,抖动的样子一目了然。
典型的时域特征包括:
- 过冲(Overshoot):轨迹在拐点处超出目标值,然后回摆
- 振铃(Ringing):轨迹在稳态附近反复振荡,幅值逐渐衰减
- 毛刺(Spike):单个采样点出现异常跳变,像心电图上的尖峰
我曾经调试一个SCARA机器人,在高速搬运时末端总在加减速阶段抖两下。把编码器数据拉出来一看——每次减速时都有3-4个周期的振铃,频率大约15Hz。这就是典型的时域抖动特征。
实战技巧:时域分析时,别只看位置误差。把速度曲线和加速度曲线一起画出来,抖动的源头往往藏在加速度的突变里。
1.3 从频域看抖动
时域能告诉你「抖了」,但频域能告诉你「为什么抖」。我个人非常依赖频谱分析来定位抖动根因。
把误差信号 e(t) 做傅里叶变换:
E(f) = ∫ e(t) · e^(-j2πft) dt
得到频谱后,重点关注几个频段:
| 频段 | 典型来源 | 特征 |
|---|---|---|
| 低频(< 5 Hz) | 轨迹规划不平滑、摩擦扰动 | 幅值大、周期长 |
| 中频(5-50 Hz) | 结构共振、伺服带宽不足 | 有固定峰值、与机械模态相关 |
| 高频(> 50 Hz) | 量化噪声、传感器噪声、控制周期抖动 | 幅值小、分布宽 |
我记得有一次,一个协作机器人在运行时末端抖动频率稳定在32Hz。查机械图纸发现——末端连杆的一阶弯曲模态正好是32.5Hz。这就是典型的频域定位法:找到峰值频率,再对应到机械或电气系统的固有频率。
注意:频域分析时,采样率必须满足奈奎斯特条件。我见过有人用100Hz采样去分析200Hz的抖动——那频谱全是混叠,根本看不出问题。
1.4 抖动物理成因
抖动的物理成因,我归纳为三大类:
- 机械因素:
- 结构刚度不足——柔性关节、连杆变形
- 传动间隙——齿轮背隙、皮带弹性
- 摩擦非线性——静摩擦+动摩擦切换时的粘滑现象
- 电气因素:
- 编码器分辨率有限——量化误差引入高频噪声
- 电流环带宽不足——力矩输出滞后
- PWM死区效应——电流波形畸变
- 控制因素:
- 轨迹插补算法——B样条节点分布不合理
- 速度前馈缺失——加减速阶段跟踪误差大
- 滤波器参数不当——相位滞后导致系统失稳
你想想看,这三个因素经常叠加。比如机械刚度低 + 控制增益高 = 典型共振。我在一个重载机器人项目里就踩过这个坑——为了追求响应速度把位置环增益调高,结果激发了机械臂的二阶扭转模态,末端抖了将近2mm。
1.5 知识体系总览
下面这张图把本章的核心逻辑串起来了。从抖动的定义出发,分时域和频域两条路径分析,最后归因到三大物理成因。后续章节的所有优化技巧,都是围绕这张图展开的。
1.6 本章小结
总结一下本章的核心要点:
- 抖动的数学定义是轨迹误差的高频分量,用加速度波动
J(t)量化 - 时域分析看波形特征——过冲、振铃、毛刺,直接反映抖动形态
- 频域分析找峰值频率——对应到机械模态或控制带宽,定位根因
- 物理成因分三类:机械、电气、控制,实际项目中往往是组合拳