9.10 Visual SLAM

Docker 使用方法のリファレンス: モジュール 3.7 Docker

Isaac ROS Visual SLAM 公式リンク: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html

概要

Isaac ROS Vision SLAM は、VSLAM 用に高性能でファーストクラスの ROS 2 ソフトウェアパッケージを提供します。このパッケージは、1 つ以上のステレオカメラとオプションの IMU を使用して走行距離を推定し、それをナビゲーション入力として使用します。GPU 加速を使用して、ロボットアプリケーションでリアルタイムで低遅延の結果を提供します。VSLAM は、移動ロボット(地上)に追加の走行距離源を提供し、ドローンの主要な走行距離源として機能できます。

クイックスタート

開発を簡素化するために、主に Isaac ROS Dev Docker イメージを使用し、その上でデモンストレーションを実行します。このデモンストレーションでは、rosbag ファイルを再生してカメラからのデータストリームをシミュレートするため、カメラデバイスをインストールする必要はありません。

実際のハードウェア上または接続されたカメラでワークフローを実行する予定の場合は、サポートされているカメラ設定について Isaac ROS の公式ドキュメントを参照してください。

ターミナルを開き、ワークスペースに移動し、Isaac ROS 開発コンテナに入ります。

bash

cd ${ISAAC_ROS_WS}/src

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

次の起動コマンドを実行します:

bash

rviz2 -d $(ros2 pkg prefix isaac_ros_visual_slam --share)/rviz/default.cfg.rviz

2 つ目のターミナルを開き、コンテナに入ります。

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

次のコマンドを実行します:

bash

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=visual_slam \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_visual_slam/quickstart_interface_specs.json \
rectified_images:=false

結果を表示する

3 つ目のターミナルを開き、コンテナに入ります。

bash

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

rviz2 に示されているように、次のコマンドを実行します。画像が表示されない場合は、このコマンドをもう一度実行できます。

bash

ros2 bag play ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_visual_slam/quickstart_bag --remap  \
/front_stereo_camera/left/image_raw:=/left/image_rect \
/front_stereo_camera/left/camera_info:=/left/camera_info_rect \
/front_stereo_camera/right/image_raw:=/right/image_rect \
/front_stereo_camera/right/camera_info:=/right/camera_info_rect \
/back_stereo_camera/left/image_raw:=/rear_left/image_rect \
/back_stereo_camera/left/camera_info:=/rear_left/camera_info_rect \
/back_stereo_camera/right/image_raw:=/rear_right/image_rect \
/back_stereo_camera/right/camera_info:=/rear_right/camera_info_rect