关节空间力矩控制:PD控制、重力补偿、前馈控制、摩擦补偿模型
各位工程师,欢迎来到力矩控制实战的第三讲。今天我们要聊的,是关节空间力矩控制里最核心的几个模块。说实话,很多刚入行的朋友一上来就盯着复杂的阻抗控制、力位混合控制,结果连最基础的PD控制都调不稳。我个人习惯是,先把地基打牢——PD控制、重力补偿、前馈控制、摩擦补偿,这四个东西搞明白了,后面再复杂的控制策略都是搭积木。
1. PD控制:力矩控制的“定海神针”
PD控制,说白了就是比例-微分控制。在关节空间里,我们直接对每个关节的力矩进行闭环控制。目标很简单:让关节的实际位置跟上期望位置。
公式长这样:
τ = Kp * (q_d - q) + Kd * (dq_d - dq)
其中:
- τ:输出力矩
- Kp:比例增益
- Kd:微分增益
- q_d, q:期望位置和实际位置
- dq_d, dq:期望速度和实际速度
我在项目中遇到过一个问题:Kp调大了,机器人抖得像筛糠;Kp调小了,又软得像面条。为什么会这样?因为PD控制本质上是一个弹簧-阻尼系统。Kp就是弹簧刚度,Kd就是阻尼系数。你想想看,弹簧太硬,稍微有点偏差就猛拉,能不抖吗?
2. 重力补偿:别让机器人“背着石头跳舞”
PD控制有个致命弱点——它不知道重力存在。你让一个六轴机器人水平伸着手臂,PD控制会一直输出力矩对抗重力。结果就是:静态误差永远消不掉,电机一直在发热。
重力补偿的公式:
τ_g = J(q)^T * G(q)
其中G(q)是重力向量,J(q)是雅可比矩阵。说白了,就是根据当前关节角度,算出重力对每个关节产生的力矩,然后直接加上去。
嗯,这里要注意:重力补偿必须实时计算。因为机器人一动,关节角度变了,重力力矩也跟着变。我见过有人用查表法,把每个角度的重力力矩提前算好存起来。结果换了一个负载,全废了。
3. 前馈控制:让机器人“预判你的预判”
PD控制有个毛病:它总是等误差出现了才去纠正。对于高速运动,这种“事后诸葛亮”的方式会导致明显的跟踪延迟。前馈控制就是来解决这个问题的。
前馈力矩的计算:
τ_ff = M(q) * ddq_d + C(q, dq) * dq_d + G(q)
其中:
- M(q):惯性矩阵
- C(q, dq):科里奥利力和离心力矩阵
- ddq_d:期望加速度
你看,前馈控制直接用了期望加速度,而不是实际加速度。这意味着在误差还没产生之前,控制器就已经“知道”需要多少力矩了。PD控制只需要处理模型误差和外部扰动,负担大大减轻。
我个人习惯是:前馈控制提供80%的力矩,PD控制只负责剩下的20%。这样既保证了快速响应,又保留了鲁棒性。
4. 摩擦补偿模型:库仑+粘滞
摩擦是力矩控制里最让人头疼的非线性因素。你想想看,一个关节在低速时,摩擦力可能占到你输出力矩的30%以上。如果不补偿,低速跟踪会一直有抖动,甚至出现“爬行”现象。
经典的摩擦模型是库仑+粘滞:
τ_f = τ_c * sign(dq) + B * dq
其中:
- τ_c:库仑摩擦力矩(常数)
- B:粘滞摩擦系数
- sign(dq):速度方向的符号函数
库仑摩擦是恒定的,只要关节在动,就有这个力矩。粘滞摩擦跟速度成正比,速度越快,摩擦力越大。
我在项目中遇到过一个问题:库仑摩擦补偿加多了,关节在速度过零时会“卡顿”。这是因为sign函数在速度接近零时频繁跳变,导致补偿力矩突变。后来我用了平滑的tanh函数代替sign,问题就解决了。
// 平滑摩擦补偿
double friction_compensation(double dq, double tau_c, double B) {
double smooth_sign = tanh(dq * 100.0); // 100是平滑系数
return tau_c * smooth_sign + B * dq;
}
5. 综合控制框架
把上面四个模块组合起来,完整的关节空间力矩控制器长这样:
τ_total = τ_pd + τ_g + τ_ff + τ_f
其中:
- τ_pd:PD反馈控制
- τ_g:重力补偿
- τ_ff:前馈控制
- τ_f:摩擦补偿
下面这张图展示了整个控制逻辑的流程:
从图中可以看到,前馈控制和重力补偿是“前向路径”,直接根据期望轨迹计算力矩。PD控制和摩擦补偿是“反馈路径”,根据实际状态调整力矩。两者结合,才能实现高精度的力矩控制。
6. 调参顺序与避坑指南
最后,我总结一下调参的顺序和注意事项:
- 先调PD:让机器人能稳定跟踪位置,不抖不飘。
- 加重力补偿:消除静态误差,让电机不再“硬扛”重力。
- 加摩擦补偿:改善低速性能,消除爬行现象。
- 最后加前馈:提升高速跟踪精度。
好了,关节空间力矩控制的四个核心模块就讲到这里。这些内容看起来简单,但真正在机器人上跑起来,你会发现每个模块都有不少坑。多动手,多记录,慢慢就能找到感觉。
可可精品资料库