9.10 Visual SLAM

Docker-gebruiksreferentie: Module 3.7 Docker

Officiële link voor Isaac ROS Visual SLAM: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html

Overzicht

Isaac ROS Vision SLAM biedt een hoogwaardig, eersteklas ROS 2-softwarepakket voor VSLAM. Het pakket gebruikt een of meer stereocamera's en een optionele IMU om de kilometerstand te schatten en gebruikt deze als navigatie-invoer. Het maakt gebruik van GPU-versnelling om realtime resultaten met lage latentie te leveren in robottoepassingen. VSLAM biedt een extra kilometerbron voor mobiele robots (op de grond) en kan dienen als de belangrijkste kilometerbron voor drones.

Snelstart

Om de ontwikkeling te vereenvoudigen, gebruiken we voornamelijk Isaac ROS Dev Docker-images en voeren daarop impactdemonstraties uit. De demonstratie vereist geen installatie van een camera-apparaat, omdat de gegevensstromen van de camera worden gesimuleerd door het afspelen van het rosbag-bestand.

Als u van plan bent de workflow op echte hardware of met een aangesloten camera uit te voeren, raadpleeg dan de officiële Isaac ROS-documentatie voor ondersteunde camera-instellingen.

Open een terminal, ga naar de werkruimte en betreed de Isaac ROS-ontwikkelingscontainer.

bash

cd ${ISAAC_ROS_WS}/src

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

Voer de volgende lanceringsopdracht uit:

bash

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

Open een tweede terminal en betreed de container.

bash

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

Voer de volgende opdracht uit:

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

Het resultaat bekijken

Open de derde terminal en betreed de container.

bash

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

Voer de volgende opdracht uit, zoals weergegeven in rviz2. Als er geen afbeelding verschijnt, kunt u deze opdracht opnieuw uitvoeren.

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