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 运动学模型的可视化

为了让大家更直观地理解,我画了一张图:

差速驱动AGV运动学模型 左轮 ωL 右轮 ωR L(轮间距) v(线速度) ω(角速度) 核心公式 v = (vL + vR) / 2 ω = (vR - vL) / L

1.5 避坑指南

我曾经踩过的坑:

  • 轮子打滑没考虑:模型假设轮子与地面纯滚动,实际中打滑会导致速度偏差。我后来加了滑移补偿,效果好了很多。
  • 轮间距测量不准:L 值差1cm,转弯半径就差一大截。建议用游标卡尺多测几次取平均。
  • 正负号搞反:ω 的正负方向一定要和坐标系统一。我习惯用右手定则,逆时针为正。

1.6 实际应用中的注意事项

理论归理论,实际用起来还有几个点要注意:

  1. 轮子半径 r 会磨损:用久了轮子变小,速度计算就不准了。我建议每季度校准一次。
  2. 电机响应延迟:从发指令到轮子真正转到目标转速,中间有延迟。这个在高速运动时影响很大。
  3. 地面摩擦系数:不同地面(水泥、瓷砖、钢板)摩擦系数不同,会影响打滑程度。

我的调试小技巧:先让车走直线,看左右轮编码器读数是否一致。如果不一致,先排除机械问题,再查控制参数。

1.7 本章小结

差速驱动运动学模型,说白了就是两个公式:

  • 正运动学:由轮速算车体速度
  • 逆运动学:由目标速度算轮速

理解了这个,你就掌握了差速转向的本质。后面讲曲线运动优化时,所有内容都建立在这个模型之上。

嗯,今天就到这里。记住:模型是基础,基础不牢,地动山摇


公众号:蓝海资料掘金营,微信deep3321