车轮里程计:滑移检测与协方差设置

车轮里程计将测量到的车轮旋转转换为机器人运动的估计值。它不测量相对于地面的运动。轮胎打滑、侧向擦滑、变形、不平整地形和错误的车轮几何形状可能导致编码器完美旋转与实际平移和偏航不符。

在构建滑移探测器之前,先校准车轮半径和有效轮距。然后将同步车轮运动与独立证据(如IMU偏航率、扫描匹配、视觉里程计或电机电流)进行比较。当存在分歧时,应降低测量信任度,而不是默默将姿势强加给其他来源。

将此指南与 机器人编码器指南机器人传感器融合指南一起使用。协方差必须代表测试过的不确定性,而非仅仅为了使滤波器看起来平滑而选择的调谐数值。

将车轮里程计视为基于模型的估算

编码器计数通过分辨率和齿轮比变为车轮角度。车轮角度通过有效滚动半径变为行程弧。差速或滑移转向运动学将左右运动转换为车体平移和偏航。任何链节误差均进入里程计。

该模型假设车轮接触与车体运动之间存在关系。纵向打滑违反滚动距离,而横向打滑或轮胎摩擦则违反非全全约束。这两者都未直接出现在编码器计数中。

在评估融合之前,先命名运动模型、反馈源、符号、时间戳和单位。

拆解的机器人驱动轮显示带槽编码盘传感器和导线
编码器通过槽盘计数车轮的转动,但无法直接观察轮胎打滑或横向地面运动。来源:Adam Mayer,维基共享资源。许可:CC BY-SA 2.0

校准左右滚动半径

标称轮胎半径与有效半径在载荷、压力、磨损、胎面和地板下的有效半径不同。左右半径不等会导致直线滑道上的航向漂移。通过重复的前进和倒退距离在代表性有效载荷上进行调整。

发布的ROS 2diff_drive_controller文档揭示了车轮半径和侧面特定半径的倍数。使用测量参数和保持验证,而不是复制默认值。

参数主要症状校准运动混淆因素
共半径距离尺度误差长直线滑道滑移与轮胎载重
半径不匹配直线漂移前进与反向地面坡度
有效轨道转弯角误差大型双向转弯刷洗
编码器刻度距离与速度提升参考旋转齿轮比
时间偏移加速度残差计时机动滤波器延迟

识别转弯时的有效履历

为了理想的差速驱动,车轮分离将速度差映射到偏航率。真实的滑移转向车辆会使轮胎发生侧向擦滑,因此有效轮距可能与物理间距不同,并随速度、路面和载重变化。

拟合在两个方向和多个速率下转动。如果一个常数无法解释包络线,则使用经过验证的状态依赖模型,或反映协方差和速度限制中的残差。

在正确的帧中发布姿势和扭转

官方的ROS 里程表信息定义 指出,姿态以header.frame_id表示,扭转以child_frame_id表示。混淆这些语义会破坏聚变,即使数字看起来合理。

遵循 REP 105描述的预期地图、里程和基准关系。轮式里程计通常支持连续的局部里程框架;全局修正应单独进行变换。

从上下文中检测纵向和侧向滑移

急加速或制动可能导致驱动轮打滑或打滑。高摩擦地板上的急转弯可能导致横向擦洗,而阈值、斜坡、碎片或低摩擦地块则可能导致短暂的断裂。滑移转向动作即使在正常控制下也包含预期打滑。

通过指令加速度、车轮转速、 IMU速率、电机电流和环境对事件进行分类。单个编码器残差阈值无法区分校准误差、时间戳误差和物理滑移。

五阶段车轮里程滑移与协方差验证
不要通过无声重写里程计帧来纠正滑差事件。来源:Physical AI Lab。

通过独立测量构建残差

比较车轮导出的偏航率与校准的IMU偏航率,以及与扫描、目视或外部速度的车轮平移。比较必须基于相同的参考系和物理间隔。不同的滤波延迟可能导致加速时的假滑移。

使用 IMU校准指南 来确定惯性不确定性。第二源只有在追踪自身健康和失效模式时才有用。

残差滑落证据替代原因交叉检查
轮偏航减去IMU偏航转向刷洗或轮滑陀螺偏置或时间偏移扫描旋转
车轮速度减去扫描速度驱动滑移扫描匹配失败电机电流与IMU
左右不对称单轮牵引力损失半径不匹配地表与洋流
位姿新息突增里程计故障全局传感器异常值多源门控
持续的小偏差校准漂移地板坡度或有效载荷双向路线

在改变估计值前先提高协方差

当证据表明有滑移时,车轮测量的可靠性降低了。增加相关姿态或扭转协方差,使融合估计器能够减轻其权重。方向很重要:纵向、横向和偏航不确定性不一定相同。

不要编辑历史记录或将 Odom 姿态吸附到方向盘驱动器的全局源。这可能导致不连续,违反帧约束并使控制器不稳定。

避免重复编码器信息融合两次

从相同编码器计数计算出的姿态增量和扭转是相关的。将两者单独输入测量可能会使滤波器过于自信。确定哪些变量携带唯一证据,并在估计量支持时考虑相关性。

robot_localization项目提供了非线性状态估计节点,但正确的配置仍需传感器语义、协方差和帧纪律。

通过迟滞和持续证据恢复信任

当一个残差低于阈值时,能立即恢复低协方差的探测器在间歇性牵引时出现抖动。需要停留时间、多个独立的正常残差或状态机转移,信心才会恢复。

在风险更有利于谨慎的情况下,恢复速度比检测更慢。记录每个事件的原因、起始时间、最大严重程度和恢复状况。

考虑时间戳和过滤延迟

编码器计数器、驱动反馈、 IMU和扫描匹配可能使用不同的时钟和滤波器窗口。将当前车轮速率与延迟扫描速度进行比较,会产生类似滑差的加速度形残差。

通过 机器人计时工作流程验证采集时间戳和传输延迟。在拟合阈值或协方差模型前对齐信号。

跨机动、地板和有效载荷进行验证

测试直线运动、大而紧凑的转弯、加速、制动、阈值、斜坡、湿滑或尘土斑点以及有效载荷极端情况。在可行的情况下使用独立的轨迹或速度真值数据。区分系统性尺度误差与事件驱动滑移。

评估轨迹误差、残差分布、检测器精确率与召回率、协方差一致性、恢复时间及下游导航。平滑融合路径仍可能存在统计学上过度自信。

以原始证据和明确的责任策略为基础

记录编码器计数、轮子状态、命令、电机电流、 IMU、比较源、残差、协方差模式和时间戳。保留足够的原始证据,以便在不依赖最终姿态的情况下重放事件。

发布时要有一份简明的清单。

评估“车轮里程计:滑移检测与协方差设置”时,还应保存模型版本、机器人配置、标定文件、测试日期和全部试验记录。把成功、失败、恢复与人工介入放在同一份数据中,才能区分模型能力、系统接口和现场流程造成的差异。

成本评估除了设备与算力,还要记录数据采集、工程调试、安全措施、维护、停机和人员培训。只有把这些持续投入与单位成功任务的价值比较,才能判断方案是否适合扩大。

上线后仍要持续检查分布变化、传感器漂移、机械磨损和人工接管原因。监测结果应能触发降级、停止与重新验证流程,并为下一轮数据采集和模型更新留下可追溯记录。

最终结论应明确写出已知限制、尚未验证的场景和下一项可证伪的实验,使后续团队能够沿着证据继续推进。

实际项目还应指定数据、模型、控制器和安全流程的负责人,并预先定义回滚条件。责任边界、审批记录与变更日志越清楚,故障发生后越容易停止扩散、定位原因并安全恢复。

把任务拆成感知、决策、动作执行和结果确认,可以更准确地定位瓶颈。每一阶段都应有独立指标与失败示例,避免用端到端成功率掩盖偶发但严重的风险。

  • 先校准车轮半径和有效轮距。
  • 对齐帧、时钟和滤波器延迟。
  • 检测多个独立残差的滑移。
  • 在不破坏方向位的情况下,调整方向协方差。
  • 验证真实表面上的检测、恢复和融合一致性。

常见问题

车轮里程协方差可以是零吗?

没有实际的轮盘估计是精确的。发布有数据支持的不确定性;零值也可能被消费者意外解读。

IMU能检测到每一次车轮打滑事件吗?

不会。它增加了独立的角度和加速度证据,但在某些稳定运动时存在偏差、噪声和灵敏度较弱。

有效轮距总是物理轮距吗?

对于许多滑移装载系统来说并非如此。轮胎擦洗可以使运动学值依赖于路面、速度和载荷。

全局 SLAM 姿势是否应该在打滑时覆盖Odom?

通常不会。保持 odom 连续,并通过预期的映射到 odom 关系应用全局校正。

用尺子测量轮子半径够吗?

它是一个初始值。在代表性的载荷和表面条件下,校准从行驶距离计算的有效滚动半径。

运动估计与融合边界

自适应协方差不能替代牵引力控制、机械维修或适当的安全功能。一起验证估算器和机器人响应。