1. 程式人生 > >Karto_slam/cartographer/ROS試跑鐳射雷達資料集

Karto_slam/cartographer/ROS試跑鐳射雷達資料集

老規矩,先簡單列下已經安裝的配置


  • Ubuntu 16.04
  • ROS Kinetic
  • Opencv 3.4.1
  • Ceres-solver
  • *Eigen3
  • *G2O
  • *Python 2.7.12

    當然上述其中很多有許多依賴項,例如安裝Ceres-solver,g2o等.都有不少的依賴項,在這就不列出來了.


之前有轉載介紹了一篇ORBSLAM2的配置和執行TUM測試資料集的部落格.由於我的任務要求,需要再跑一下鐳射SLAM的資料集.這裡簡單介紹下配置過程.

1. SLAM_karto

首先給了我這個讓我用,但我發現,這個在跑給我的資料集的時候似乎沒有用到,但還是先git clone下來了.
首先, 在昨天的目錄中繼續進行的,你需要一個在/home/yourusername/

下建立catkin_ws/src目錄,
之後

~$ cd src
~$ git clone https://github.com/ros-perception/slam_karto

克隆下來後再試不管了,你肯能注意到這是indigo版本的,但親測在kinetic下沒出現問題.


往下是參考博文這裡

2 .Ceser-solver

需要說明的是我已經安裝了Ceser,所以不再安裝.但需要說明的的,不要把Cerser-solver放到catkin_ws/src下,否則一會兒catkin_make時極大概率報如下錯誤:

額,錯誤資訊不見了,大概就是Ceres-solver doesn't have catkin_make file you should use catkin_make_isolated

的意思.

3. Cartographer

同上,不要在catkin_ws/src下.

1.git clone https://github.com/hitcm/cartographer.git
2.cd cartographer/build
3.cmake .. -G Ninja
4.ninja
5.ninja test
6.sudo ninja install

如果幸運的化會成功,因為這個cartographerCMakeLists.txt被轉載的博主改過,不容易出錯,出錯參照這裡第2步.

4. Cartographer-ros

這個需要在catkin_ws/src下進行.

git clone
https://github.com/hitcm/cartographer_ros.git

弄玩之後,在catkin_ws

catkin_make

如果你幸運的話應該會成功.

5. 雷達資料集

參考結束


6. 資料集結果

執行下面指令

roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=YOUR_PATH_TO/cartographer_paper_deutsches_museum.bag

這裡寫圖片描述

7. 關於SLAM_Karto

—2018.7.27修改
slam_karto 與 cartographer是兩個不同的演算法,對資料集的要求也不同,效果也各有好壞.本次只是記錄了跑cartographer的結果,後續會介紹使用slam_kart的過程.

執行roslaunch slam_karto karto_slam.launch後繼續執行rqt_graph檢視節點間的關係,如下圖所示:
這裡寫圖片描述

可以看到,cartographer_nodeslam_karto之間只有/tf Topic聯絡,而且不啟動slam_karto節點時,cartographer_node完全正常執行,

鐳射雷達2D資料集基本上就可以跑成功了,至於3D資料集,Emmm…..,8G….下載完我的寬頻又得充錢了…..就當跑過且成功了吧.

溜啦溜啦.