1. 抖动现象概述

各位工程师朋友,咱们直接进入正题。人形机器人要动起来,最怕什么?我最怕它抖。不是那种酷炫的机械舞,而是不受控的、高频的、让人抓狂的抖动。

我入行那会儿,第一次调试双足步行,机器人刚抬腿,整个上半身就开始高频震颤,像筛糠一样。当时我盯着示波器上的波形,脑子一片空白。后来才明白,这就是控制抖动——一个看似简单、实则能让你加班到怀疑人生的难题。

什么是控制抖动

说白了,控制抖动就是机器人实际运动轨迹与期望轨迹之间,出现了周期性或非周期性的偏差振荡。你让它走直线,它走成了波浪线;你让它停住,它还在原地微颤。

从信号角度看,就是控制系统的输出信号中,叠加了不希望出现的高频分量。这些分量可能来自机械结构、电气噪声,或者算法本身的不稳定。

核心定义:控制抖动 = 期望运动与实际运动之间的非受控振荡,频率通常高于系统正常响应频率。

抖动对机器人性能的影响

抖动不是小事。我见过一个项目,因为关节抖动没处理好,机器人走路时末端执行器定位误差直接飙到5毫米以上——抓个杯子都抓不准。影响是多方面的:

  • 定位精度下降:末端执行器位置重复性变差,精细操作无法完成
  • 关节寿命缩短:高频振荡加速减速器、轴承磨损,我拆过一台抖了三个月的机器人,谐波减速器的柔轮已经出现微裂纹
  • 能耗飙升:电机为了对抗抖动,不断做无用功,电流波形像锯齿一样
  • 稳定性丧失:严重时直接导致机器人摔倒,尤其是单腿支撑阶段
影响维度 轻微抖动 严重抖动
定位精度 误差 < 1mm 误差 > 5mm
关节寿命 寿命缩短 10-20% 寿命缩短 50% 以上
能耗 增加 15-30% 增加 50-100%
系统稳定性 可容忍 可能失控

抖动问题的分类

排查抖动,第一步就是分类。我习惯把抖动分成三大类:机械的、电气的、算法的。为什么这么分?因为排查手段完全不同。你想想看,机械抖动你拿示波器测电流是看不出来的,得用加速度计。

1. 机械抖动

这类抖动根源在物理结构。常见原因有:

  • 结构共振:机器人某个部件的固有频率与控制系统的激励频率重合。我记得有一次,机器人手臂在特定姿态下抖得厉害,后来发现是末端执行器的安装支架共振了
  • 间隙与背隙:减速器、联轴器、关节轴承存在机械间隙,导致运动反向时出现冲击
  • 刚度不足:连杆或关节刚度不够,受力后产生弹性变形,形成振荡
  • 摩擦非线性:静摩擦与动摩擦的切换,容易引起低速爬行和抖动

我的经验:排查机械抖动时,先做模态测试。用加速度计贴在关键位置,锤击法或扫频法测出固有频率。如果抖动频率与某个模态频率吻合,基本就是共振问题。

2. 电气抖动

电气抖动来自驱动系统和传感器。我遇到过最头疼的一次,是编码器信号受干扰,导致位置反馈出现周期性跳变,电机跟着来回调整,整个关节都在抖。

  • 编码器噪声:信号线屏蔽不良、接地回路、电磁干扰,都会让位置反馈掺入噪声
  • 电流环振荡:电机驱动器的电流环参数不合适,或者PWM频率与电机电感不匹配
  • 电源纹波:供电电压不稳定,尤其是大功率关节同时动作时,母线电压跌落会引起控制异常
  • 信号延迟:通信总线(如EtherCAT、CAN)的传输延迟和抖动,导致控制指令与反馈不同步

避坑指南:我曾经在调试时忽略了编码器线缆的屏蔽层接地,结果花了整整两天排查算法参数,最后发现是线缆问题。记住:先确认信号质量,再调算法参数。

3. 控制算法抖动

这类抖动是咱们工程师的"主场"。算法参数没调好,或者控制结构设计不合理,都会引发抖动。

  • PID参数不当:比例增益过大、微分时间过短,都会引入高频振荡
  • 滤波器设计问题:低通滤波器截止频率设置不合理,要么滤不掉噪声,要么引入了相位滞后
  • 采样频率不足:控制周期太长,无法及时响应高频扰动
  • 模型失配:动力学模型参数不准确,前馈补偿不到位,反馈控制被迫承担过多工作
  • 非线性补偿不当:摩擦补偿、重力补偿的参数偏差,反而引入了新的扰动

嗯,这里要注意:算法抖动往往与机械、电气抖动耦合在一起。比如机械共振被算法放大,或者电气噪声被微分项放大。所以排查时不能孤立地看。

三类抖动的对比

抖动类型 典型频率范围 主要特征 排查手段
机械抖动 10-200 Hz 与姿态相关,特定位置明显 加速度计、模态测试
电气抖动 50-500 Hz 与电流/电压相关,示波器可见 示波器、频谱分析
算法抖动 1-50 Hz 与参数相关,改变参数可复现 参数扫描、波特图分析

知识体系总览

下面这张图,是我自己梳理的抖动分类与排查框架。每次遇到新问题,我都会先回到这张图,确定抖动属于哪一类,再针对性下手。

人形机器人控制抖动分类与排查框架 控制抖动 机械抖动 电气抖动 算法抖动 结构共振 间隙/背隙 编码器噪声 电流环振荡 PID参数不当 滤波器问题 刚度不足 摩擦非线性 电源纹波 信号延迟 采样频率不足 模型失配 排查原则:先机械 → 再电气 → 最后算法 三类抖动常耦合出现,需逐层剥离

这张图我建议你保存下来。每次遇到抖动问题,先对照分类,确定主因,再动手排查。别一上来就调PID参数——我吃过这个亏,调了三天发现是编码器线松了。

个人习惯:我每次调试新机器人,都会先做一遍"抖动基线测试"——让每个关节单独运动,记录加速度计和电流数据。这样后续出现抖动时,有对比基准,能快速定位是新问题还是老问题复发。