9.10 Visual SLAM

Docker-Nutzungsreferenz: Modul 3.7 Docker

Offizieller Link zu Isaac ROS Visual SLAM: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html

Übersicht

Isaac ROS Vision SLAM bietet ein leistungsstarkes erstklassiges ROS 2-Softwarepaket für VSLAM. Das Paket verwendet eine oder mehrere Stereokameras und eine optionale IMU, um die Wegstrecke zu schätzen, und verwendet sie als Navigationseingabe. Es nutzt GPU-Beschleunigung, um in Robotikanwendungen Echtzeitergebnisse mit geringer Latenz zu liefern. VSLAM bietet eine zusätzliche Wegstreckenquelle für mobile Roboter (am Boden) und kann als Hauptwegstreckenquelle für Drohnen dienen.

Schnellstart

Um die Entwicklung zu vereinfachen, verwenden wir hauptsächlich Isaac ROS Dev Docker-Images und führen darauf Auswirkungsdemonstrationen durch. Die Demonstration erfordert nicht die Installation eines Kamerageräts, da Datenströme der Kamera durch Abspielen der rosbag-Datei simuliert werden.

Wenn Sie den Workflow auf echter Hardware oder mit einer angeschlossenen Kamera ausführen möchten, finden Sie in der offiziellen Isaac ROS-Dokumentation Informationen zu unterstützten Kamera-Setups.

Öffnen Sie ein Terminal, wechseln Sie in den Workspace und betreten Sie den Isaac ROS-Entwicklungscontainer.

bash

cd ${ISAAC_ROS_WS}/src

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

Führen Sie den folgenden Startbefehl aus:

bash

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

Öffnen Sie ein zweites Terminal und betreten Sie den Container.

bash

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

Führen Sie den folgenden Befehl aus:

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

Ergebnis anzeigen

Öffnen Sie das dritte Terminal und betreten Sie den Container.

bash

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

Führen Sie den folgenden Befehl aus, wie in rviz2 gezeigt. Wenn kein Bild erscheint, können Sie diesen Befehl erneut ausführen.

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