9.10 Visual SLAM

Referencia de uso de Docker: Módulo 3.7 Docker

Enlace oficial de Isaac ROS Visual SLAM: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html

Descripción general

Isaac ROS Vision SLAM proporciona un paquete de software ROS 2 de alto rendimiento y de primera clase para VSLAM. El paquete utiliza una o más cámaras estéreo y una IMU opcional para estimar el kilometraje y lo usa como entrada de navegación. Utiliza aceleración por GPU para proporcionar resultados en tiempo real y de baja latencia en aplicaciones robóticas. VSLAM proporciona una fuente adicional de kilometraje para robots móviles (terrestres) y puede servir como la principal fuente de kilometraje para drones.

Inicio rápido

Para simplificar el desarrollo, utilizamos principalmente imágenes Isaac ROS Dev Docker y realizamos demostraciones de impacto sobre ellas. La demostración no requiere la instalación de ningún dispositivo de cámara, ya que simula los flujos de datos de la cámara reproduciendo el archivo rosbag.

Si planea ejecutar el flujo de trabajo en hardware real o con una cámara conectada, consulte la documentación oficial de Isaac ROS para conocer las configuraciones de cámara compatibles.

Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.

bash

cd ${ISAAC_ROS_WS}/src

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

Ejecute el siguiente comando de lanzamiento:

bash

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

Abra una segunda terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando:

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

Ver el resultado

Abra la tercera terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando, como se muestra en rviz2. Si no aparece ninguna imagen, puede ejecutar este comando nuevamente.

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