###目的
TUS(ミュンヘン工科大)が公開している、ROSの単眼カメラのSLAM、LSD-SLAMを動かしてみた。
LSD-SLAM: Large-ScaleDirect Monocular SLAM
github / Papar / Presen / TUS-Vision Lab.
###環境
Ubuntu1404 x64
ROS:Indigo
(ROS:Kineticではコンパイルできず)
###ライブラリのインストール
$ sudo apt-get install python-rosinstall
$ sudo apt-get install ros-indigo-libg2o ros-indigo-cv-bridge liblapack-dev libblas-dev freeglut3-dev libqglviewer-dev libsuitesparse-dev libx11-dev
###LSD-SLAMのインストール
catkinには対応していない。rosmakeでコンパイルする。
フォルダをrosbuild_wsからcatkin_lsdslamに変更している。
$ mkdir ~/catkin_lsdslam
$ cd ~/catkin_lsdslam
$ rosws init . /opt/ros/indigo
$ rosws set ~/catkin_lsdslam/package_dir -t .
$ echo "source ~/catkin_lsdslam/setup.bash">> ~/.bashrc
$ git clone https://github.com/tum-vision/lsd_slam.git lsd_slam
$ rosmake lsd_slam
###dynamic_reconfigureの修正
下記のエラーが起きた場合、dynamic_reconfigureのバクを修正する。
CMake Error at /opt/ros/indigo/share/dynamic_reconfigure/cmake/cfgbuild.cmake:78 (string):
string sub-command REPLACE requires at least four arguments.
Call Stack (most recent call first):
/opt/ros/indigo/share/dynamic_reconfigure/cmake/cfgbuild.cmake:99 (gencfg_cpp)
CMakeLists.txt:29 (include)
parameter_generator.pyの、144行目を削除する
$ sudo vi /opt/ros/indigo/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator.py
check_name(name)
check_description(description)
self.gen.fill_type(newparam)
self.gen.check_type_fill_default(newparam, 'default', self.gen.defval[paramtype])
self.gen.check_type_fill_default(newparam, 'max', self.gen.maxval[paramtype])
参考:
https://github.com/tum-vision/lsd_slam/issues/219
https://github.com/ros/dynamic_reconfigure/pull/76/files
###データセット(rosbag data)のダウンロード
$ wget http://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bag.zip
$ cd ~/catkin_lsdslam
$ unzip LSD_room.bag.zip
###データセット(rosbag data)で実行
$ roscore
$ rosrun lsd_slam_viewer viewer
$ rosbag play ~/catkin_lsdslam/LSD_room.bag
$ rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info
###Kinect V1で実行
$ roslaunch freenect_launch freenect.launch
$ rosrun lsd_slam_viewer viewer
$ rosrun lsd_slam_core live_slam image:=/camera/rgb/image_color camera_info:=/camera/rgb/camera_info
###参考
LSD-SLAMをROSで試す1-インストールとビルドとクイックスタート @ 趣味なし奴のメモ帳
https://noshumi.blogspot.jp/2016/12/lsd-slamros1.html
LSD-SLAM: Large-Scale Direct Monocular SLAM @Daily Tech Blog
http://daily-tech.hatenablog.com/entry/2016/04/29/145737
第2回cv勉強会@九州 LSD-SLAM ECCV'14 読み会 LSD-SLAM: Large-Scale Direct Monocular @ Satoshi Fujimoto,
https://www.slideshare.net/satoshibfujimoto/2cv-lsdslam
第22回画像センシングシンポジウムチュートリアル講演会 Kinect等の色距離センサを用いた点群処理と3D物体認識-ベーシックな手法と最新動向・ソフトウェアの紹介ー
https://staff.aist.go.jp/kanezaki.asako/pdf/SSII2016_AsakoKanezaki.pdf