なにかいいこと語ればいいね - はてブ出張所 -

▼元GoogleBlogger「なにかいいこと語ればいいね」(現在非公開) のはてなブログ出張所▼こちらにはプログラム・IT関連の記事をまとめています▼修了後も頑張って更新したい▼

Ubuntu14.04 ROS indigo に ORB-SLAM2 を導入する

ORB-SLAM2:

GitHub - raulmur/ORB_SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras, with Loop Detection and Relocalization Capabilities

 

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かコメントにてお願いします.