1. 差速驱动AGV运动学模型:从轮子转速到车体速度的数学映射
大家好,我是老张。今天咱们来聊聊差速驱动AGV最核心的东西——运动学模型。
说白了,就是搞清楚一个问题:两个轮子转得快慢不同,车到底怎么走?
我在2018年做第一个AGV项目时,就栽过跟头。当时觉得运动学嘛,不就是个公式套一套?结果车跑起来画龙,怎么调都调不好。后来才明白,模型没吃透,控制全是瞎搞。
1.1 差速转向的本质
差速驱动,顾名思义,靠左右轮的速度差来实现转向。
你想想看,如果左右轮转速一样,车就走直线。如果左轮比右轮快,车就往右转。反过来,右轮快就往左转。
嗯,这个直觉是对的。但我们要把它变成数学语言。
核心思想:差速驱动AGV本质上是一个非完整约束系统。什么意思?就是车不能像人一样原地横着走,它的运动方向始终受限于轮子的朝向。
我记得当时调试时,有个同事问我:「老张,为什么车不能直接侧移?」我说:「你想想,轮子只能往前滚或往后滚,它又没装万向轮,怎么侧移?」这就是非完整约束的直观理解。
1.2 从轮子转速到车体速度
好,咱们上公式。
先定义几个变量:
- ωL:左轮角速度(rad/s)
- ωR:右轮角速度(rad/s)
- r:轮子半径(m)
- L:左右轮间距(m)
那么左右轮的线速度分别是:
v_L = ω_L * r
v_R = ω_R * r
车体的线速度 v 和角速度 ω 怎么算?
其实很简单:
v = (v_L + v_R) / 2
ω = (v_R - v_L) / L
这就是差速驱动最经典的运动学模型。
个人习惯:我一般把这两个公式贴在调试台的墙上。每次调参数时看一眼,提醒自己别搞反了正负号。
1.3 逆运动学:从目标速度到轮子转速
实际控制中,我们更常用的是逆运动学——给定目标速度 v 和 ω,反算出左右轮转速。
公式推导一下:
v_R = v + (ω * L) / 2
v_L = v - (ω * L) / 2
然后除以轮子半径,就得到角速度:
ω_R = (v + (ω * L) / 2) / r
ω_L = (v - (ω * L) / 2) / r
我曾经犯过一个低级错误:把 L/2 写成了 L。结果车一转弯就原地打转,差点把货架撞翻。嗯,细节决定成败,这话一点不假。
1.4 运动学模型的可视化
为了让大家更直观地理解,我画了一张图:
1.5 避坑指南
我曾经踩过的坑:
- 轮子打滑没考虑:模型假设轮子与地面纯滚动,实际中打滑会导致速度偏差。我后来加了滑移补偿,效果好了很多。
- 轮间距测量不准:L 值差1cm,转弯半径就差一大截。建议用游标卡尺多测几次取平均。
- 正负号搞反:ω 的正负方向一定要和坐标系统一。我习惯用右手定则,逆时针为正。
1.6 实际应用中的注意事项
理论归理论,实际用起来还有几个点要注意:
- 轮子半径 r 会磨损:用久了轮子变小,速度计算就不准了。我建议每季度校准一次。
- 电机响应延迟:从发指令到轮子真正转到目标转速,中间有延迟。这个在高速运动时影响很大。
- 地面摩擦系数:不同地面(水泥、瓷砖、钢板)摩擦系数不同,会影响打滑程度。
我的调试小技巧:先让车走直线,看左右轮编码器读数是否一致。如果不一致,先排除机械问题,再查控制参数。
1.7 本章小结
差速驱动运动学模型,说白了就是两个公式:
- 正运动学:由轮速算车体速度
- 逆运动学:由目标速度算轮速
理解了这个,你就掌握了差速转向的本质。后面讲曲线运动优化时,所有内容都建立在这个模型之上。
嗯,今天就到这里。记住:模型是基础,基础不牢,地动山摇。
公众号:蓝海资料掘金营,微信deep3321