はじめに
ubuntu20.04LTS上のROS Noeticでrtabmap_rosを動かしたのでその方法をメモしました。
動作環境
以下の環境で動作確認しました。
項目 | 値 |
---|---|
CPU | Ryzen5 |
OS | Ubuntu20.04LTS |
ROS | Noetic Ninjemys |
ROS Noeticのインストール
すでにROSが入っている方は飛ばしてください。
aptへROSのダウンロード先の登録
$ 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-noetic-desktop-full
環境変数の設定
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
ROSパッケージインストーラのインストール
$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
rosdepの初期化
$ sudo rosdep init
$ rosdep update
ワークスペースの作成
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make
RTAB-MAPのインストール (aptから)
以下コマンドでインストールします。
sudo apt install ros-noetic-rtabmap-ros ros-noetic-rtabmap
RTAB-MAPのインストール (ソースからビルド)
なぜか自分の環境ではaptからインストールすると後述のデモが動かなかったのでソースからビルドしました。
以下のBuild from sourceを参照
https://github.com/introlab/rtabmap_ros
以下でRTAB-MAP本体のインストールとビルド
$ cd ~
$ git clone https://github.com/introlab/rtabmap.git rtabmap
$ cd rtabmap/build
$ cmake ..
$ make
$ sudo make install
rtabmap_rosのインストールとビルド
$ cd ~/catkin_ws
$ git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros
$ catkin_make -j1
デモの実行
まず以下からrosbagをダウンロードします。
demo_mapping.bag
ターミナルを開いて以下を実行
roslaunch rtabmap_ros demo_robot_mapping.launch
別のターミナルでrosbagをダウンロードしたディレクトリで以下を実行
rosbag play --clock demo_mapping.bag
GUI画面の見方は以下記事を参考にしてください。
RTABMAPの使い方
次にデモ実行時のrqt_graphを見ていきます。
rqt_graph
rtabmapには
- /jn0/base_scan
- /tf
- /data_throttled_image/compressed
- /data_throttled_image_depth/compressedDepth,
- /data_throttled_camera_info
のトピックが入力されています。
/rtabmap/rtabmapvizというのはGUI画面のノードです。
/data_throttled_image/compressedはRGB画像、/data_throttled_image_depth/compressedDepthはDepth画像、/data_throttled_camera_infoはカメラパラメータです。
/jn0/base_scanトピックはLaserScan型で2DLiDARのスキャンを入力しているようです。
最後に
次回はRealSense L515を使用して環境のSLAMを行います。
aptからrtabmap_rosをインストールしてデモが動いた方はぜひコメントください。
参考
rtabmap_ros - ROS Wiki
http://wiki.ros.org/rtabmap_ros
RTABMAPの使い方
https://qiita.com/k65c1/items/7a4df58b50a587fad3e2
RealsenseでSLAMをする。
https://qiita.com/k65c1/items/0d9039c021ecbb26b04e
RTABMAPをよむ 前篇
https://qiita.com/ohtt/items/b3c00a62757244a6e16c
RTAB-Mapのデモを動かす
https://veloart-intelligence.com/blog/run-rtab-map-demo/