第四节:里程计模型——两轮差速、阿克曼、全向轮与标定方法

各位同学,大家好。今天我们来聊聊里程计模型。说实话,里程计是AMR最基础的感知手段,没有之一。我见过不少团队,激光雷达选得顶级,IMU也用的工业级,结果定位精度就是上不去。最后查来查去,问题出在里程计模型上——要么模型选错了,要么根本没做标定。

嗯,这节课我们就把这四种主流模型掰开揉碎讲清楚。你想想看,搞懂了这些,你就能从底层理解机器人是怎么“猜”自己位置的。

4.1 两轮差速模型

这是最经典的模型,扫地机器人、AGV小车都在用。说白了,就是左右两个轮子独立驱动,通过转速差实现转向。

核心公式:

v = (v_left + v_right) / 2
ω = (v_right - v_left) / L

其中L是轮距,v_left和v_right分别是左右轮线速度。

我的经验:实际项目中,L这个参数特别容易出错。我遇到过一家供应商,给的图纸上轮距标的是500mm,结果实测是498mm。差了2mm,短距离看不出来,跑个100米,航向角能偏5度以上。所以,L一定要自己拿卡尺量,别信图纸。

位姿更新(离散形式):

x' = x + v * cos(θ) * Δt
y' = y + v * sin(θ) * Δt
θ' = θ + ω * Δt

避坑指南:我曾经在瓷砖地面上跑差速小车,发现里程计漂移特别快。后来发现是轮胎打滑。两轮差速模型假设轮子纯滚动,一旦打滑,模型就失效了。建议在光滑地面运行时,适当降低加速度,或者加入打滑检测。

4.2 阿克曼模型

阿克曼模型就是汽车模型。前轮转向,后轮驱动。这个模型在AGV和室外AMR上很常见。

核心思想:所有车轮的轴线交于一点(瞬时转动中心)。

运动学方程:

v = 后轮中心速度
ω = v * tan(δ) / L_wb

其中δ是前轮转向角,L_wb是轴距。

参数 说明 常见取值
L_wb 轴距 0.5~1.2m(室内AGV)
δ_max 最大转向角 30°~45°
v_max 最大线速度 1.0~2.0 m/s

注意:阿克曼模型有个重要约束——不能原地旋转。最小转弯半径由轴距和最大转向角决定。我见过有人想用阿克曼底盘做原地掉头,结果把转向机构别坏了。记住,阿克曼不是全向的。

4.3 全向轮模型

全向轮模型,说白了就是能“横着走”。麦克纳姆轮和全向轮都属于这一类。每个轮子可以独立控制速度和方向。

麦克纳姆轮运动学(4轮):

ω1 = (v_x - v_y - ω * (a + b)) / R
ω2 = (v_x + v_y + ω * (a + b)) / R
ω3 = (v_x + v_y - ω * (a + b)) / R
ω4 = (v_x - v_y + ω * (a + b)) / R

其中a是轮子到中心的纵向距离,b是横向距离,R是轮子半径。

个人经验:全向轮模型看着漂亮,实际用起来坑不少。我做过一个项目,用麦克纳姆轮在工厂里跑,地面有点不平,结果轮子上的小辊子磨损特别快。三个月就得换一套。而且全向轮对地面平整度要求很高,稍微有个小石子,轮子就会跳起来,里程计瞬间就乱了。

三种模型对比:

模型 自由度 能否原地旋转 地面要求 典型应用
两轮差速 2 中等 室内AGV、扫地机
阿克曼 2 不能 室外AMR、汽车
全向轮 3 精密装配、仓库

4.4 里程计标定方法

模型再好,参数不准也是白搭。里程计标定,说白了就是校准那些物理参数——轮距、轮径、轴距等等。

常用标定方法:

  1. 直线标定法:让机器人走一段已知距离的直线,对比里程计读数与实际距离,修正轮径。
  2. 旋转标定法:让机器人原地旋转360度,对比里程计角度变化,修正轮距。
  3. UMBmark标定法:走一个矩形路径,通过起点和终点的偏差,同时修正轮径和轮距。

我的建议:UMBmark法是我最常用的。具体做法是让机器人走一个2m×2m的方形,重复5次。记录每次的终点位置偏差。然后通过最小二乘法拟合出轮径和轮距的修正系数。我曾经用这个方法,把一台AGV的定位误差从5%降到了0.3%以内。

标定流程:

1. 准备场地:画一个2m×2m的正方形,标记起点
2. 让机器人从起点出发,沿正方形走一圈
3. 记录终点位置(x, y, θ)
4. 重复5~10次
5. 计算平均偏差
6. 代入公式求解修正系数
7. 更新参数,重新测试

注意:标定环境要和实际运行环境一致。我曾经在环氧地坪上标定,结果机器换到水泥地面跑,误差又回来了。因为不同地面的摩擦系数不同,打滑程度也不同。所以,标定完一定要在实际场地验证。

知识体系总览

下面这张图,是我自己整理的里程计模型知识框架。你可以把它当作学习地图。

里程计模型知识体系 两轮差速模型 v = (vL+vR)/2 ω = (vR-vL)/L 适用:室内AGV 阿克曼模型 v = 后轮速度 ω = v·tan(δ)/L_wb 适用:室外AMR 全向轮模型 4轮独立控制 可横移、旋转 适用:精密场景 里程计标定方法 直线标定法 旋转标定法 UMBmark法 核心:模型选型 + 参数标定 = 可靠里程计 没有标定的里程计,就像没有校准的尺子

好了,这节课的内容就到这里。里程计模型是AMR定位的基石,选对模型、做好标定,你的定位系统就成功了一半。剩下的,就是和激光雷达、IMU做融合了。