23.IMU和里程计融合与单独编码器里程计的对比测试

里程计直接会作为建图或者导航的时候的输入,所以起着至关重要的做,准确性直接影响建图和导航的效果。单独使用*编码器得到的里程计与融合了IMU数据的里程计最终效果如何,我们这里做个测试来对比下。
有2种方式测试:

  • 手动控制机器人走一圈然后回到之前的原点,通过观察模拟器(RViz)中里程与初始点的偏差
  • 程序控制机器人行走(例如走一个方形),通过观察最终机器人时间与最初原点的偏差

下面我们使用的都是第一种及标记个原点,控制机器人随机行走一段时间后再控制其回到标记的原点上,打开RViz观察程序计算的机器人位置姿态是否回到原点

编码器里程计测试

手动控制

手动控制apollo"溜达"了两圈回到原点,观察tf坐标系可以看到
23.IMU和里程计融合与单独编码器里程计的对比测试
程序显示base_link没有回到原点有一定的误差(位置和姿态都有误差)

融合IMU的里程测试

手动控制

未做对比我们在使用融合IMU的时候,把使用编码器计算出来的里程计显示出来作对比(大的红色箭头就是编码器里程计),同上面我们控制apollo溜达一圈回到原点

  • 初始的时候三个是重合的
    23.IMU和里程计融合与单独编码器里程计的对比测试

  • 行走了一段时间
    23.IMU和里程计融合与单独编码器里程计的对比测试

可以发现没走多远融合出来的里程(黄色框)和编码器里程(红色框)就有了较大的差距

-回到原点
我们继续控制使得apollo回到原点
23.IMU和里程计融合与单独编码器里程计的对比测试

这张图可以看出跟官方提供的图较为类似了
23.IMU和里程计融合与单独编码器里程计的对比测试