里程計直接會作為建圖或者導航的時候的輸入,所以起著至關重要的做套么,準確性直接影響建圖和導航的效果陨界。單獨使用輪子編碼器得到的里程計與融合了IMU數(shù)據(jù)的里程計最終效果如何栏赴,我們這里做個測試來對比下盈咳。
有2種方式測試:
- 手動控制機器人走一圈然后回到之前的原點耿眉,通過觀察模擬器(
RViz
)中里程與初始點的偏差 - 程序控制機器人行走(例如走一個方形),通過觀察最終機器人時間與最初原點的偏差
下面我們使用的都是第一種及標記個原點鱼响,控制機器人隨機行走一段時間后再控制其回到標記的原點上鸣剪,打開RViz
觀察程序計算的機器人位置姿態(tài)是否回到原點
編碼器里程計測試
手動控制
手動控制apollo"溜達"了兩圈回到原點,觀察tf
坐標系可以看到
程序顯示
base_link
沒有回到原點有一定的誤差(位置和姿態(tài)都有誤差)
融合IMU的里程測試
手動控制
未做對比我們在使用融合IMU的時候丈积,把使用編碼器計算出來的里程計顯示出來作對比(大的紅色箭頭就是編碼器里程計)筐骇,同上面我們控制apollo溜達一圈回到原點
-
初始的時候三個是重合的
-
行走了一段時間
可以發(fā)現(xiàn)沒走多遠融合出來的里程
(黃色框)和編碼器里程
(紅色框)就有了較大的差距
-回到原點
我們繼續(xù)控制使得apollo回到原點
這張圖可以看出跟官方提供的圖較為類似了