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 抖动物理成因

抖动的物理成因,我归纳为三大类:

  1. 机械因素:
    • 结构刚度不足——柔性关节、连杆变形
    • 传动间隙——齿轮背隙、皮带弹性
    • 摩擦非线性——静摩擦+动摩擦切换时的粘滑现象
  2. 电气因素:
    • 编码器分辨率有限——量化误差引入高频噪声
    • 电流环带宽不足——力矩输出滞后
    • PWM死区效应——电流波形畸变
  3. 控制因素:
    • 轨迹插补算法——B样条节点分布不合理
    • 速度前馈缺失——加减速阶段跟踪误差大
    • 滤波器参数不当——相位滞后导致系统失稳

你想想看,这三个因素经常叠加。比如机械刚度低 + 控制增益高 = 典型共振。我在一个重载机器人项目里就踩过这个坑——为了追求响应速度把位置环增益调高,结果激发了机械臂的二阶扭转模态,末端抖了将近2mm。

1.5 知识体系总览

下面这张图把本章的核心逻辑串起来了。从抖动的定义出发,分时域和频域两条路径分析,最后归因到三大物理成因。后续章节的所有优化技巧,都是围绕这张图展开的。

轨迹抖动知识体系总览 轨迹抖动知识体系总览 抖动本质:高频误差分量 时域分析 频域分析 过冲 / 振铃 / 毛刺 加速度波动幅值 J(t) 频谱峰值定位 频段-成因映射 三大物理成因 机械因素 电气因素 控制因素

1.6 本章小结

总结一下本章的核心要点:

  • 抖动的数学定义是轨迹误差的高频分量,用加速度波动 J(t) 量化
  • 时域分析看波形特征——过冲、振铃、毛刺,直接反映抖动形态
  • 频域分析找峰值频率——对应到机械模态或控制带宽,定位根因
  • 物理成因分三类:机械、电气、控制,实际项目中往往是组合拳