RealsenseでSLAMをする。


Realsenseを使ったSLAM

この記事ではIntel Realsense d435を使ってSLAMをします。

ROS kineticをインストールしていることを前提にします。
まだの人はこちら
http://wiki.ros.org/ja/kinetic/Installation/Ubuntu
ubuntu 16.04を使っています。

Intel Realsense D435

https://click.intel.com/intelr-realsensetm-depth-camera-d435.html
普通のRGBカメラに加えて、近赤外線カメラが2つ付いています。
2つの近赤外線カメラの視差から距離の画像を取得することができます。
このほかに距離取得の補助として、パターンプロジェクターが付いており、照射したパターンの変化によって近くの距離も認識できます。
今回はこのカメラを使います。

Realsense SDKのインストール

下記のサイトのようにRealsense2のSDKのインストールをします。
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md

サーバーのカギを登録

sudo apt-key adv --keyserver keys.gnupg.net --recv-key C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C8B3A55A6F3EFCDE

レポジトリの追加

sudo add-apt-repository "deb http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo xenial main" -u

sources.listの更新

sudo apt-get update

インストール

sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-dev librealsense2-dbg

RealsenseのROSのパッケージ

自分のwork spaceにrealsenseのROSのパッケージをダウンロードしてmake

cd ~/自分のworkspace/src
git clone https://github.com/intel-ros/realsense.git
cd ..
catkin_make

RTABMAPのインストール

aptで取ってきます。
ソースからビルドしたい人はこっち
https://github.com/introlab/rtabmap_ros

sudo apt install ros-kinetic-rtabmap ros-kinetic-rtabmap-ros

さっそくSLAMしてみる

ターミナル1

roslaunch realsense2_camera rs_aligned_depth.launch 

ターミナル2

roslaunch rtabmap_ros rtabmap.launch rtabmap_args:="--delete_db_on_start" depth_topic:=/camera/aligned_depth_to_color/image_raw rgb_topic:=/camera/color/image_raw camera_info_topic:=/camera/color/camera_info

見事にパソコンがSLAMされています。
次の記事では具体的な使い方を書いていきます。
rtabmapの使い方
https://qiita.com/k65c1/items/7a4df58b50a587fad3e2

要望等あればコメントしていただけると嬉しいです。

参考にしたサイト
https://qiita.com/furushchev/items/c003f19563b1ca00bafb
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md
http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping