问题遇到的现象和发生背景
使用的是EAIBOT小车,配有雷达和IMU,使用amcl定位和ekf传感器融合,车比较旧了,两三年前买的。
小车一开始启动时,雷达激光与map是贴合的,但随着小车运动和旋转后,激光越来越偏移,无法与map重合,导致导航有很大的误差。
运行结果及报错内容
上图为小车的运行一圈后返回原点,以及/odom的输出信息。可以看到在原点位置,odom的坐标值正常应该贴近0,数值却还这么大,有相当的误差。
补充:经过测试后发现,导致激光偏移主要是因为小车旋转导致的误差,小车并没有严格按照旋转中心旋转,存在平移。所以问题变成了如何更改旋转中心,且采用base_footprint作为旋转中心!
我的解答思路和尝试过的方法
我有自制简单导航小车的经验,使用其他类型的车,激光都是贴合map的,但这辆车仍然存在问题。
尝试过更改小车模型urdf和xcaro里base_link和base_footprint的转换关系,但是没有效果。
我想要达到的结果
用base_footprint作为旋转中心在小车运动过程中,激光仍然贴合map