4、摩擦与柔性建模:库仑+粘滞摩擦模型、Stribeck效应、关节柔性(弹簧-阻尼模型)、齿轮间隙影响
各位同学,咱们今天聊点实在的。
做机器人控制,最让人头疼的是什么?不是算法不够炫,而是你算得再准,实际跑起来就是差那么一截。我当年调试一个六轴机械臂,位置指令发出去,末端就是到不了指定点。折腾了三天,最后发现——摩擦和柔性这两个“隐形杀手”在作怪。
说白了,你的模型里如果没考虑这些,那控制精度就是纸上谈兵。今天我就把这块掰开揉碎了讲清楚。
4.1 库仑+粘滞摩擦模型:最基础的摩擦描述
摩擦这东西,你躲不开。关节转动时,轴承、齿轮、密封圈都会产生阻力。最简单的描述方式就是库仑摩擦加粘滞摩擦。
库仑摩擦:跟速度方向相反,大小恒定。就像你推一个箱子,推之前要克服一个“静摩擦力”,动起来之后这个力基本不变。
粘滞摩擦:跟速度成正比。速度越快,阻力越大。就像在油里搅动,越快越费劲。
合起来就是:
τ_f = τ_c * sign(ω) + b * ω
其中 τ_c 是库仑摩擦系数,b 是粘滞摩擦系数,ω 是关节角速度。
我个人习惯把这个模型作为“起步配置”。它简单、参数少,辨识起来也快。但注意——它有个致命缺陷:无法描述零速附近的非线性行为。
4.2 Stribeck效应:零速附近的“粘滑”现象
你想想看,实际关节从静止到运动,是不是感觉“卡”一下才动?这就是Stribeck效应。
为什么会这样?因为静止时油膜被挤走,金属直接接触,摩擦力反而更大。一旦动起来,油膜形成,摩擦力反而下降。这个“先大后小”的曲线,就是Stribeck曲线。
模型上,我常用这个形式:
τ_f = [τ_c + (τ_s - τ_c) * exp(-|ω/ω_s|^δ)] * sign(ω) + b * ω
τ_s 是静摩擦力,ω_s 是Stribeck速度,δ 是经验指数(一般取0.5~2)。
我在项目中遇到过:用库仑模型辨识出来的参数,低速跟踪误差能到0.5度。换成Stribeck模型后,误差直接降到0.05度。差别就这么大。
4.3 关节柔性:弹簧-阻尼模型
你以为关节是刚性的?太天真了。减速器、传动带、联轴器,这些都有弹性。你发一个位置指令,电机转了,但输出端还没动——这就是柔性。
我习惯用“弹簧-阻尼”模型来描述:
τ = K * (θ_m - θ_l) + D * (ω_m - ω_l)
K 是刚度系数,D 是阻尼系数,θ_m 和 θ_l 分别是电机侧和负载侧的位置。
这个模型虽然简单,但足够实用。你想想看,如果K很大,那关节就接近刚性;如果K很小,那关节就像“软面条”,控制起来就麻烦了。
我曾经吃过一次亏:用刚性模型做轨迹规划,结果实际运行时末端抖动得厉害。后来一测,关节刚度只有理论值的60%。从那以后,我每个关节都先做柔性辨识,再谈控制。
4.4 齿轮间隙:回程误差的根源
齿轮间隙,说白了就是齿轮之间的“空行程”。你正转时齿轮咬合,反转时先要走过这段空隙才能重新咬合。这个空隙,就是回程误差的来源。
模型上,我这样处理:
if (θ_m - θ_l) > gap/2:
τ = K * (θ_m - θ_l - gap/2) + D * (ω_m - ω_l)
elif (θ_m - θ_l) < -gap/2:
τ = K * (θ_m - θ_l + gap/2) + D * (ω_m - ω_l)
else:
τ = 0
gap 就是齿轮间隙的大小。当电机侧和负载侧的偏差在间隙范围内时,力矩传递为0——这就是“空转”现象。
嗯,这里要注意:齿轮间隙和关节柔性经常同时存在,但它们的物理本质不同。柔性是弹性变形,间隙是机械空隙。辨识时要把它们分开处理,否则参数会互相耦合。
4.5 知识体系总览
我把这四块内容的关系画了个图,方便你理解:
4.6 辨识与补偿实战建议
光有模型不够,还得能辨识出参数。我分享几个实战经验:
- 先做柔性辨识:给关节一个正弦激励,测量电机侧和负载侧的响应,用最小二乘法拟合K和D。
- 再做摩擦辨识:在恒定速度下测量力矩,得到速度-力矩曲线,拟合摩擦参数。
- 最后处理间隙:正反转切换时,记录位置偏差,直接测量gap值。
我建议你做一个“两步法”:第一步用库仑+粘滞模型粗调,第二步用Stribeck+柔性模型精调。这样既快又准。
4.7 常见问题与避坑
| 问题 | 现象 | 解决方法 |
|---|---|---|
| 摩擦参数过拟合 | 低速时模型抖动 | 增加正则化项,限制参数范围 |
| 柔性参数与摩擦耦合 | 辨识结果不稳定 | 分开激励,先柔性后摩擦 |
| 间隙补偿过度 | 反转时出现冲击 | 加入平滑过渡,避免阶跃补偿 |
我曾经犯过一个错误:把所有参数一起辨识,结果K和τ_c互相“打架”,怎么调都不对。后来才明白,物理上它们就是独立的,必须分开处理。
好了,关于摩擦和柔性建模,我就讲这么多。记住一句话:模型越贴近物理实际,控制精度就越高。但也不要过度复杂,够用就好。
可可精品资料库