關於cartographer的地圖


關於cartographer的地圖

參考博文:

https://www.ncnynl.com/archives/201904/2915.html

一 建圖后的保存以及實現

1 完成軌跡,不接受下一步數據

$ rosservice call /finish_trajectory 0

2 序列化保存當前狀態(地圖保存為.pbstream形式)

$ rosservice call /write_state "{filename: '${HOME}/Downloads/mymap.pbstream'}"

3 將.pbstream形式地圖轉化成.pgm和.yaml(ROS標准形式地圖)

利用 cartographer_pbstream_to_ros_map 節點

$ rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=${HOME}/Downloads/mymap -pbstream_filename=${HOME}/Downloads/mymap.pbstream -resolution=0.05

二 基於已有地圖的定位問題

1 cartographer 目前只是支持基於.pbstream 格式地圖的 pure localization 。

而.pbstream格式只能向.pgm ,yaml 格式的地圖單向轉換。

解決思路:

可以自己寫一個轉換器,把ROS標准格式的地圖寫成只有一個子圖的.pbstream格式地圖。

不過這部分需要自己完成。

有人就cartographer基於已知地圖的定位,提出的問題:

https://github.com/googlecartographer/cartographer/issues/315


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM