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 软件包。该软件包使用一个或多个立体摄像头和可选的 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

打开第二个终端并进入容器。

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

查看结果

打开第三个终端并进入容器。

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