4. 摩擦与扰动补偿:库仑摩擦、粘滞摩擦、Stribeck效应模型、前馈补偿与扰动观测器(DOB)设计
各位,咱们今天聊一个让所有做力矩控制的工程师都头疼的话题——摩擦与扰动。说实话,我在这个坑里摔过不少跟头。你想想看,明明电流环调得稳稳当当,力矩指令给得干干净净,结果一到低速就抖得像筛糠,或者干脆爬不动。嗯,这背后十有八九是摩擦在捣鬼。
摩擦这东西,说白了就是机械系统里最顽固的“钉子户”。它不像惯量、刚度这些参数,你建模建得准就能搞定。摩擦是非线性的,还带记忆效应,温度一变它也跟着变。我当年做精密转台项目时,就吃过这个亏——冬天调试好的参数,夏天全废了。所以,咱们得系统地认识它,然后想办法收拾它。
4.1 摩擦模型:从简单到实用
先别急着上复杂模型。我个人习惯是,从最简单的开始,逐步加料,直到模型能覆盖你遇到的实际问题。
4.1.1 库仑摩擦与粘滞摩擦
这是最经典的组合,也是大多数教科书里第一个讲的模型。库仑摩擦,就是那个跟速度方向相反、大小恒定的力。粘滞摩擦,则是跟速度成正比的那个阻尼项。
数学上写出来就是:
τ_f = τ_c * sign(ω) + B * ω
其中:
- τ_c — 库仑摩擦转矩(常数)
- B — 粘滞摩擦系数
- ω — 角速度
这个模型简单归简单,但有个致命问题——它在零速附近不连续。你想想看,sign(ω) 在 ω=0 时直接跳变,这会导致什么?低速抖动、极限环振荡。我在做机器人关节力矩控制时就遇到过,电机在零速附近来回震荡,就是库仑摩擦这个“硬切换”搞的鬼。
4.1.2 Stribeck效应模型
为什么低速时摩擦反而更大?这就是Stribeck效应。说白了,就是当速度从零开始增加时,摩擦先下降再上升,形成一个“摩擦-速度曲线”的凹坑。
经典的Stribeck模型长这样:
τ_f(ω) = [τ_c + (τ_s - τ_c) * exp(-|ω/ω_s|^δ)] * sign(ω) + B * ω
参数含义:
| 参数 | 含义 | 典型范围 |
|---|---|---|
| τ_s | 静摩擦转矩(最大静摩擦) | τ_c 的 1.2~2.0 倍 |
| τ_c | 库仑摩擦转矩 | 额定转矩的 1%~5% |
| ω_s | Stribeck速度(特征速度) | 0.01~0.1 rad/s |
| δ | 形状指数(通常取 0.5~2) | 经验值 1.0 常用 |
| B | 粘滞摩擦系数 | 由阻尼比估算 |
这个模型的好处是,它把零速附近的“凹坑”给描述出来了。我当年调试一个高精度转台时,就是用这个模型做前馈补偿,才把低速跟踪误差从 0.5° 降到了 0.02°。效果立竿见影。
4.2 前馈补偿:把摩擦“算”出来
模型建好了,怎么用?最直接的办法就是前馈补偿。说白了,就是根据当前速度,用模型算出摩擦转矩,然后把这个值加到力矩指令里,抵消掉摩擦的影响。
前馈补偿的框图很简单:
速度指令 → 摩擦模型 → τ_feedforward
↓
力矩指令 + τ_feedforward → 电流环 → 电机 → 实际力矩
但这里有个坑——模型参数不准怎么办?我曾经在一个项目里,Stribeck 参数标定误差 10%,结果前馈补偿反而引入了更大的扰动。所以,我个人的做法是:
- 先离线标定:用恒速法或正弦扫频法,把 τ_s、τ_c、ω_s、B 都标出来。
- 再在线微调:运行时根据跟踪误差,用自适应算法微调参数。
- 加个低通:前馈信号入口处加个截止频率 50~100 Hz 的低通,防止模型切换时的毛刺。
4.3 扰动观测器(DOB):把未知扰动“吃”掉
前馈补偿有个硬伤——它只能补偿已知模型的部分。但实际系统里,还有未建模的扰动:负载变化、温度漂移、非线性摩擦的残余部分……这些怎么办?
这时候就该 DOB 上场了。DOB 的核心思想很简单:把实际输出和模型期望输出之间的差值,当作“等效扰动”,然后反向补偿回去。
标准 DOB 的结构:
τ_cmd → [电机系统] → ω_actual
↑ ↓
└── [Q(s)] ← [逆模型 P_n⁻¹(s)] ← ω_actual
其中:
- P_n(s) — 标称模型(通常是刚体模型:1/(Js + B))
- Q(s) — 低通滤波器(决定DOB的带宽和鲁棒性)
DOB 的设计要点,我总结成三条:
| 设计要素 | 推荐做法 | 避坑指南 |
|---|---|---|
| Q 滤波器阶次 | 二阶或三阶巴特沃斯 | 阶次太高会放大高频噪声 |
| Q 滤波器截止频率 | 速度环带宽的 3~5 倍 | 太高会引入噪声,太低补偿效果差 |
| 逆模型 P_n⁻¹(s) | 必须可物理实现(加微分近似) | 纯微分不可实现,用 s/(τs+1) 近似 |
| 采样率 | 至少 10 倍于 Q 滤波器截止频率 | 采样率不足会导致相位滞后 |
4.4 摩擦补偿 + DOB 的协同策略
说了这么多,到底怎么用?我个人最推荐的方案是:前馈 + DOB 协同。
具体做法:
- 前馈负责“大头”:用 Stribeck 模型补偿已知的摩擦(占扰动总量的 70%~80%)。
- DOB 负责“残差”:补偿模型误差、负载变化、温度漂移等未知扰动。
- 两者互补:前馈不依赖反馈,响应快;DOB 能自适应,鲁棒性强。
下面这张图展示了完整的协同控制架构:
你看,这个架构里,前馈和 DOB 各司其职。前馈负责“快”,DOB 负责“准”。两者配合好了,力矩控制的性能瓶颈就能被大幅突破。
4.5 小结:摩擦补偿的“三板斧”
好了,这一章的内容就这些。我帮你捋一下核心思路:
- 第一板斧:建模 — 用 Stribeck 模型把摩擦特性描述清楚。参数辨识用恒速扫描法,低速段多采点。
- 第二板斧:前馈 — 把模型算出来的摩擦值加到力矩指令里。注意加低通滤波,防止切换毛刺。
- 第三板斧:DOB — 用扰动观测器兜底,补偿模型误差和未知扰动。Q 滤波器设计是关键,别贪带宽。
这三板斧用好了,力矩控制的低速性能、稳态精度、抗扰动能力都能上一个台阶。我当年在半导体设备项目里,就是用这套方法,把晶圆台的低速跟踪误差从 2 μm 降到了 0.1 μm。嗯,效果就是这么明显。