R
Member
轮式移动机器人在光滑地面上建图漂移,十有八九是轮子打滑:编码器数着轮子转了十圈,实际只走了八圈的距离,里程计一错,整张图跟着歪。最近在一台 AMR 上排查过这个问题,记录一下思路。
一、先确认是不是打滑
最简单的验证是画一条直线让机器人走 5 米,用卷尺量实际距离,再对比里程计读数。误差超过 3% 就要怀疑打滑或轮径标定问题。也可以在地面做标记点,看机器人原地旋转 360 度后航向角的误差,打滑时航向角误差会明显偏大。
二、轮径与轮距标定要定期做
轮胎磨损、胎压变化都会让有效轮径变小,里程计按出厂轮径算就会系统性偏大。我的做法是每季度跑一次标定:直线 5 米加原地旋转各三次,取平均修正轮径和轮距参数。标定完误差能从 5% 压到 1% 以内。
三、IMU 融合是治本的办法
只靠轮速里程计,打滑是无解的。把 IMU 的角速度和加速度融进来(EKF 是最常用的做法),轮子打滑时 IMU 能及时纠正航向,短距离内的定位精度明显改善。注意 IMU 的零偏要先标定好,否则融合后反而引入新误差。
四、地面条件要写进部署清单
环氧地坪、刚拖过的地面、带水渍的区域,打滑概率都高。部署前实测一遍地面摩擦情况,必要时换防滑轮胎或降低加速度。建图时避开刚清洁过的区域,也能少很多麻烦。
大家在轮式里程计上还遇到过哪些打滑导致的定位问题?欢迎交流。
一、先确认是不是打滑
最简单的验证是画一条直线让机器人走 5 米,用卷尺量实际距离,再对比里程计读数。误差超过 3% 就要怀疑打滑或轮径标定问题。也可以在地面做标记点,看机器人原地旋转 360 度后航向角的误差,打滑时航向角误差会明显偏大。
二、轮径与轮距标定要定期做
轮胎磨损、胎压变化都会让有效轮径变小,里程计按出厂轮径算就会系统性偏大。我的做法是每季度跑一次标定:直线 5 米加原地旋转各三次,取平均修正轮径和轮距参数。标定完误差能从 5% 压到 1% 以内。
三、IMU 融合是治本的办法
只靠轮速里程计,打滑是无解的。把 IMU 的角速度和加速度融进来(EKF 是最常用的做法),轮子打滑时 IMU 能及时纠正航向,短距离内的定位精度明显改善。注意 IMU 的零偏要先标定好,否则融合后反而引入新误差。
四、地面条件要写进部署清单
环氧地坪、刚拖过的地面、带水渍的区域,打滑概率都高。部署前实测一遍地面摩擦情况,必要时换防滑轮胎或降低加速度。建图时避开刚清洁过的区域,也能少很多麻烦。
大家在轮式里程计上还遇到过哪些打滑导致的定位问题?欢迎交流。