Ubuntu14.04 ROS indigo に ORB-SLAM2 を導入する
ORB-SLAM2:
ORB-SLAM2 は ORB-SLAM の拡張版である.
単眼カメラのほかステレオカメラ,RGB-Dカメラまで対応しているほか,地図情報の取得までひとつのパッケージでできる.
この ORB-SLAM2は Ubuntu12.04 以降,ROS Hydro 以降で動作するらしい.
というわけで Ubuntu14.04 ROS indigo に ORB-SLAM2 を導入してみた.
参考:
Ubuntu14.04+ROS indigo+ORB-SLAM2 - 追梦水手的博客 - CSDN博客
やってることは上のサイトとほとんど同じ.(翻訳しただけ)
1.ワークスペースの設定
正直パスさえ通っていればどこでもよいので適当なところに作る.
とりあえず昔作った ~/ros_catkin_ws/indigo に入れることにした.
2.依存関係のインストール ( -E でプロキシ設定を保持)
$ sudo -E apt-get install python-rosinstall
$ sudo -E apt-get install libglew-dev
$ sudo -E apt-get install cmake
$ sudo -E apt-get install libpython2.7-dev
$ sudo -E apt-get install libjpeg-dev libpng12-dev libtiff5-dev libopenexr-dev
2.1.C++11,C++0x コンパイラ の導入
$ sudo -E apt-get install gcc g++
2.2.Pangolin の導入
Pangolinというのは描画ライブラリらしい.
$ cd ~/ros_catkin_ws/indigo/src/
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake ..
$ make -j
$ sudo make install
3.ORB-SLAM2 のインストール
ワークスペースの中にgit cloneする.
$ cd ~/ros_catkin_ws/indigo/src/
$ git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
コンパイル
$ cd ORB_SLAM2
$ chmod +x build.sh
$ ./build.sh
ROSノードをコンパイル
$ chmod +x build_ros.sh
$ ./build_ros.sh
PATHを設定 (gedit派)
$ gedit ~/.bashrc
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/ubuntu/ros_catkin_ws/indigo/src/ORB_SLAM2
いくつかのサイトを比べるとところどころ違ってたりする.流儀なのか作法なのか.
4.起動
$ roscore
$ rosrun uvc_cam uvc_cam_node /image_raw:=/camera/image_raw
$ rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/camera_calib.yaml
camera_calib.yamlは必要に応じて書き換える.(検証中)
点群はRVizで表示可能.(検証中)
なにかありましたらTwitterかコメントにてお願いします.