9.4 自由空间分割

Docker 使用参考: 模块 3.7 Docker

Isaac ROS Free Space Division Network 链接:https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_freespace_segmentation/index.html

概述

Isaac ROS 自由空间分区包含一个 ROS 2 软件包,用于生成导航占用栅格。Bi3D Free Space 通过处理包含相对于地表的机器人的自由空间掩码,为 Nav2 创建一个占用栅格,以避免在导航中遇到障碍物。该软件包通过 GPU 加速,在机器人应用中提供实时、低延迟的结果。Bi3D Free Space 为移动机器人(地面机器人)提供了额外的占用栅格来源。

快速开始

为简化开发,我们主要使用 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

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \
launch_fragments:=bi3d,bi3d_freespace \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_bi3d_freespace/rosbag_quickstart_interface_specs.json \
featnet_engine_file_path:=${ISAAC_ROS_WS}/isaac_ros_assets/models/bi3d_proximity_segmentation/featnet.plan \
segnet_engine_file_path:=${ISAAC_ROS_WS}/isaac_ros_assets/models/bi3d_proximity_segmentation/segnet.plan \
max_disparity_values:=10

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

bash

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

运行以下命令:

bash

ros2 bag play -l ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_bi3d_freespace/quickstart.bag

查看结果

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

bash

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

运行以下命令以查看结果:

bash

rviz2