跳到主要内容

Isaac ROS视觉SLAM

Isaac ROS视觉SLAM概述快速体验

Isaac ROS视觉SLAM官网链接:https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_visual_slam/index.html

概述

Isaac ROS Visual SLAM 为 VSLAM(视觉同步定位与地图构建)提供了一个高性能、一流的 ROS 2 软件包。该软件包使用一个或多个立体摄像头以及可选的 IMU 来估算里程,并将其作为导航的输入。它采用 GPU 加速,可在机器人应用中提供实时、低延迟的结果。VSLAM 为移动机器人(地面)提供了额外的里程计源,并且可以作为无人机的主要里程计源。

快速体验

为了简化开发,我们主要使用 Isaac ROS Dev Docker 镜像,并在上面进行效果演示。演示不需要安装任何摄像头设备,通过播放 rosbag 文件模拟来自摄像头的数据流。

注:如果想要安装在自己设备上,或者连接摄像头开发其他功能,请参照 Isaac ROS 官网,连接英伟达指定的摄像头型号自行开发。

打开终端进入工作目录

cd ${ISAAC_ROS_WS}/src

进入 Isaac ROS Dev Docke容器

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

运行下面启动命令

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

打开第二个终端,进入容器

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

运行以下命令

xxxxxxxxxx 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

查看运行结果

打开第三个终端,进入容器

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

运行以下命令,可以看到rviz2显示。如果没有出现图像,可以再次运行这个命令。

xxxxxxxxxx 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