3. 运动学模型:差速轮模型、阿克曼模型、全向轮模型
做机器人轨迹跟踪,第一步要搞清楚的,就是你的机器人到底怎么动。
说白了,运动学模型就是描述「轮子转多少,车体怎么走」的数学关系。我这些年调试过不少机器人,从几十块的玩具底盘到几十万的AGV,核心区别往往就在这个模型上选对了没有。
今天咱们就把三种最主流的模型掰开揉碎讲清楚:差速轮、阿克曼、全向轮。
3.1 差速轮模型
这是最常见、最基础的一种。两个驱动轮独立控制,靠左右轮的速度差来实现转向。
核心公式
v = (v_right + v_left) / 2
ω = (v_right - v_left) / L
其中 v 是线速度,ω 是角速度,L 是轮距(左右轮中心距离)。
我在项目中遇到过一个坑:很多人以为差速轮只能原地转圈,其实不是。只要左右轮速度差控制得当,它可以走出任意半径的圆弧。我做过一个仓储机器人,就是用差速轮实现了2cm精度的贴边行驶。
关键点:差速轮模型是欠驱动的——它只有两个控制输入(左右轮速度),但需要控制三个自由度(x, y, θ)。所以它不能侧向移动,只能前进后退加旋转。
我的习惯:调试差速轮时,先做「纯旋转测试」——让左右轮速度相反,看车体是否绕中心旋转。如果旋转中心偏移,说明轮距参数L需要校准。
3.2 阿克曼模型
汽车用的就是阿克曼模型。前轮转向,后轮驱动。它的特点是:所有车轮的转向中心必须交于一点。
核心公式
δ = arctan(L / R)
v = ω * R
其中 δ 是前轮转向角,L 是轴距,R 是转弯半径。
为什么叫阿克曼? 因为左右前轮的转向角其实不一样——内侧轮转角比外侧轮大。这样才能保证四个轮子都做纯滚动,没有滑动摩擦。
我曾经踩过的坑:有一次做户外巡检机器人,直接用了简单的自行车模型(前后轮同轴转向),结果转弯时轮胎磨损特别快。后来换成阿克曼模型,磨损问题立刻解决了。记住:阿克曼不是可选项,是必须项,除非你不在乎轮胎寿命。
阿克曼模型的局限:它不能原地旋转,最小转弯半径受轴距限制。我一般建议:如果场地狭窄、需要频繁原地掉头,别选阿克曼。
3.3 全向轮模型
全向轮(也叫麦克纳姆轮或全向轮)是「作弊器」。它可以朝任意方向移动,包括侧向平移。
核心公式
v_x = (v1 + v2 + v3 + v4) / 4
v_y = (-v1 + v2 + v3 - v4) / 4
ω = (-v1 + v2 - v3 + v4) / (4 * L)
其中 v1~v4 是四个轮子的速度,L 是轮子到中心的距离。
全向轮的秘密:每个轮子上的小滚子与地面成45度角。通过不同轮子的速度组合,可以合成任意方向的摩擦力,从而实现全向移动。
重要提醒:全向轮虽然灵活,但代价很大——地面要求高(不能有坑洼),负载能力差,而且每个轮子都在打滑(小滚子一直在滚动)。我做过一个全向轮平台,在光滑瓷砖上表现完美,但一上地毯就完全失控。
什么时候用全向轮? 我个人觉得,只有三种场景值得用:
- 需要精确侧向对接(比如充电桩自动对接)
- 空间极度狭窄,无法转弯
- 需要保持车体朝向不变的同时移动(比如摄像头一直对准目标)
3.4 三种模型对比
| 特性 | 差速轮 | 阿克曼 | 全向轮 |
|---|---|---|---|
| 自由度 | 2(欠驱动) | 2(欠驱动) | 3(全驱动) |
| 侧向移动 | ❌ | ❌ | ✅ |
| 原地旋转 | ✅ | ❌ | ✅ |
| 地面适应性 | 高 | 高 | 低 |
| 控制复杂度 | 低 | 中 | 高 |
| 典型应用 | 扫地机、AGV | 汽车、户外机器人 | 竞赛机器人、精密对接 |
3.5 选型建议
你想想看,选模型其实就是在「灵活性」和「鲁棒性」之间做权衡。
- 室内平地、需要频繁转向:差速轮,简单可靠
- 户外、长距离、高速:阿克曼,稳定省电
- 需要侧向移动、空间受限:全向轮,但要做好地面处理
我的经验:如果预算允许,我建议做两个版本的原型——先用差速轮快速验证算法,再根据实际需求换成更合适的模型。别一上来就上全向轮,调试周期至少多一倍。
3.6 知识体系图
下面这张图帮你理清三种模型的核心逻辑和适用场景:
嗯,到这里三种模型就讲完了。记住:没有最好的模型,只有最合适的。选对模型,轨迹跟踪就成功了一半。