Contents
はじめに
本日もcomputer visionのvisual SLAMネタです。前回やったORB SLAM2で3次元空間の地図(とカメラの動きの記録)をつくることはできたのですが、出来上がった地図は点群データでしかなく(sparse reconstructionと呼ばれます)、点群に色もついていないので、3次元復元で想像するものとは少し見かけが違うかもしれません。そこで今回は、semi denseな手法と呼ばれるRTAB-Mapを動かしてみました。
できること
デモ用の録画ファイルを用いて、カラーでの3次元復元、ロボットの移動の様子が見れます。
環境
OS: Linux
Distribution: Ubuntu 18.04
ROS version: Melodic
インストール
ROSのインストール
ROS official pageに従えばできますが、ぱぱっとやりたい人のためにメモ。以下コマンドだけを実行すれば出来ます。
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt update
$ sudo apt install ros-melodic-desktop-full
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
$ sudo rosdep init
$ rosdep update
RTAB-Mapのインストール
RTAB-Map ROS github official page通りですが、ここにメモしておきます。
$ sudo apt-get install ros-melodic-rtabmap-ros
実行方法
RTAB-Map ROS official page通りでできますが、メモしておきます。
まずdemo_mapping.bag をダウンロードし、好きなdirectoryに置きます。そしてそこで以下のコマンドを打てば、立ち上がったwindowで結果が見れます。
$ roslaunch rtabmap_ros demo_robot_mapping.launch
$ rosbag play --clock demo_mapping.bag
あとは上記official pageに従って好きなようにデモを動かせます。
自分の環境のMapを作るには?
Intel RealSenseというstereo camera moduleがあれば、こちらのサイトを参考にすれば、簡単に自分の部屋等のマップが作れます。私もやってみたのですが、保存し忘れていて、会社にRealSenseを返したので、もうできません…。お見せできなくて残念。
まとめ
という訳で、今回はsemi denseと言われるvisual SLAMを試してみました。自分の周りの3次元地図がただで作れるなんて、ワクワクしちゃいますね。
今回ご紹介したRTAB-Mapはかなりメンテがされていて、簡単に使い始められるな、という印象でした。実は他にも様々な(DeepTAM等)試したのですが、中々実行出来るとこまで行っていません。
次回、RealSenseが手に入ればベロモービルの3次元復元を…やっちゃいますかね。好きな部分をグリグリして見れちゃいますから。では、チャオ!