前言

在机器人关节装配好进行调试的时候,最让人头疼的往往不是不会调 PID,而是同样一组参数,今天运行良好,明天却出现抖动;空载时响应干脆,装上负载后却超调、掉速甚至啸叫。今天调试有异响明天可能就没了,你都没办法复现。机器人关节电机的问题,很少是单一参数造成的,它往往同时牵涉控制环、机械传动、传感器反馈和通信链路。

关节电机是机器人执行系统的核心:位置环决定走到哪,速度环决定走多快,电流环决定用多大力,而减速器、编码器和负载又配合把这些指令转化为真实的机械运动。也正因如此一个看似简单的关节抖了、超调或者到位慢,背后可能是增益不匹配、积分饱和、机械共振、背隙柔性、编码器噪声、通信延迟,甚至是惯量随姿态变化在作祟。如果只盯着某一组 PID 参数反复试,很容易陷入按下葫芦浮起瓢的循环。

本文把机器人关节电机中常见的振荡、超调、低速爬行、负载掉速、电流冲击、发热啸叫、减速器背隙、编码器异常和通信抖动等问题,放回完整的控制链路中去理解。希望读完之后,你面对一个具体现象时,能先判断问题出在哪一环,再决定先查什么、后调什么,而不是盲目改参数。毕竟,调参的目标从来不是“把增益调到最大”,而是让控制、机械与负载在真实工况下协同稳定地工作。

先看懂控制链

工业机器人关节通常采用三环级联控制,这是所有调试工作的基础框架。

控制环核心职责典型控制周期调试优先级
电流环 (内环)控制电机电磁转矩,响应最快10~20 kHz (50~100 μs)最先调试(或使用默认值)
速度环 (中环)稳定转速,抑制负载扰动1~3 kHz其次
位置环 (外环)决定最终定位精度和轨迹跟踪500 Hz ~ 1 kHz最后调试

关键原则:内环的带宽必须高于外环,否则系统会振荡。调试顺序必须严格遵守“先电流 → 再速度 → 最后位置”的原则,反过来必震。

机器人关节一般采用串级控制结构:位置环套着速度环,速度环套着电流环。外环负责最终结果,内环负责快速执行并控制扰动,三环串级闭环伺服控制流程如下:

TXT
目标位置
   ↓
位置环:比较目标位置与位置反馈 → 输出速度指令
   ↓
速度环:比较速度指令与速度反馈 → 输出电流/转矩指令
   ↓
电流环:比较电流指令与电流反馈 → 输出PWM/电压
   ↓
电机 → 减速器 → 关节和负载
   ↑
位置/速度传感器反馈:位置给位置环,速度给速度环
   ↑
电流传感器反馈:电流给电流环
名称作用通俗理解常见问题
位置环比较目标角度和实际角度,输出速度指令决定走到哪到位慢、超调、停不稳
速度环比较目标速度和实际速度,输出转矩或电流指令决定走多快加速慢、低速爬行、负载后掉速
电流环控制电机电流,从而控制输出转矩决定用多大力电流冲击、啸叫、发热
减速器把电机的高转速、小转矩变成关节的低转速、大转矩电机和关节之间的“变速箱”背隙、柔性、换向冲击
编码器测量电机或关节角度,速度通常由角度变化算出关节的眼睛跳变、噪声、零点偏差
负载机械臂连杆、末端工具和工件关节背着的东西下垂、惯量变化、不同姿态表现不同
通信周期控制器和驱动器交换指令、反馈的时间间隔指令和反馈的“更新频率”延迟、抖动、丢包

位置环、速度环和电流环的基本公式是一样的。误差为 e(t)=r(t)−y(t)e(t)=r(t)-y(t),控制量为:

u(t)=Kpe(t)+Ki∫0te(τ) dτ+Kdde(t)dtu(t)=K_p e(t)+K_i\int_0^t e(\tau)\,d\tau+K_d\frac{de(t)}{dt}

P 根据当前误差立即出力,I 负责消除长期存在的小偏差,D 根据误差变化趋势提前制动。放在不同控制环里,rr 和 yy 的含义不同:位置环里是角度,速度环里是速度,电流环里是电流。

三个环怎么调

调试顺序应当从内到外:内环不稳定,外环再怎么调也只是在掩盖问题。外环的响应速度还要明显低于内环,否则位置环会把速度环的延迟当成误差,越调越振荡。

电流环通常由伺服驱动器内部完成,多数情况下只用 PI。可以在转矩或电流模式下给一个小阶跃,观察实际电流的上升和波形。P 加到响应足够快但不出现明显振铃,I 用来补足稳态误差。电流环一般不加 D,因为电流采样噪声大,D 会把噪声放大成 PWM 毛刺。如果电流已经打到限幅,先检查负载、重力补偿和电流限制,不要继续加增益。

速度环是关节调试的重点。先让位置环不参与,直接给速度指令,积分和微分置零,只留一个较小的 P。从额定速度的 5% 到 10% 开始给阶跃,逐渐加大 P,直到速度响应开始出现轻微振荡,再回退 20% 到 30%。然后慢慢加 I,观察负载变化后的恢复情况。加 I 后如果出现一两赫兹的慢摆,通常是积分太强或反馈延迟太大。速度环的 D 不是必需项,确实需要时也要加滤波,并重点检查低速时编码器速度估计是否稳定。

位置环通常先只用 P。给 0.5° 到 2° 的小角度阶跃,观察上升时间、超调和停止后的残余摆动。P 加到响应干脆但还没有持续振荡,再稍微回退。位置环的 I 只在确实存在静态误差时使用,而且要先确认重力补偿和摩擦补偿是否合理。位置环的 D 要非常谨慎,很多关节不用它也足够稳定;如果使用,应该小量增加,并对反馈做滤波。

轨迹跟踪不能全部依赖位置环 P。速度前馈、加速度前馈、重力补偿和摩擦补偿往往更有效。PID 负责修正模型没有算准的部分,不应该承担全部跟踪任务。

现场问题怎么判断

现象更可能的原因先做什么
垂直轴总比目标低一点重力矩没有补偿,或积分不足先做重力补偿,再少量增加速度环积分
低速时一冲一停摩擦、黏滑、编码器低速分辨率不足检查润滑和反馈,做摩擦前馈,不要盲目加 P
停止后来回晃位置环 P 太大,或速度环阻尼不足降低位置环 P,检查速度环,必要时小量加带滤波的 D
高频啸叫D 太大、反馈噪声大或机械共振先撤掉 D,降低 P,再检查滤波、联轴器和减速器
换向时“咯噔”一下减速器背隙,或积分饱和检查回差,加入抗饱和和摩擦补偿
高速时跟随误差大前馈不足、电流饱和或控制带宽不够先看电流波形,再补速度和加速度前馈

这些现象里,背隙、柔性和共振不是 PID 能彻底解决的。参数只能在机械和反馈条件确定之后,让系统运行得更平稳。

调完怎么验收

不要只在空载、单一姿态下看一次阶跃。至少要在几个典型姿态、空载和额定负载、正反方向、低速和高速轨迹下测试,并记录目标位置、实际位置、速度、电流和母线电压。重点看超调量、调节时间、稳态误差、换向冲击和连续运行后的温升。

如果负载或姿态变化很大,一套参数可能无法覆盖所有工况,这时可以按负载或姿态做增益调度。好的 PID 参数不是看起来最激进的参数,而是在实际工况下稳定、可重复、不过热,也不会让减速器和联轴器承受反复冲击的参数。