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.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando de lanzamiento:
rviz2 -d $(ros2 pkg prefix isaac_ros_visual_slam --share)/rviz/default.cfg.rvizAbra una segunda terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando:
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:=falseVer el resultado
Abra la tercera terminal y entre en el contenedor.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shEjecute el siguiente comando, como se muestra en rviz2. Si no aparece ninguna imagen, puede ejecutar este comando nuevamente.

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