9.9 3D 姿态估计

Docker 使用参考: 模块 3.7 Docker

Isaac ROS 3D 姿态估计官方链接:https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_centerpose/index.html

概述

Isaac ROS 姿态估计包含三个主要的 ROS 2 软件包,用于 6 自由度物体姿态工作流。下表总结了它们之间的差异。

软件包无需重新训练新物体TAO 支持相对速度相对质量最佳适用场景
isaac_ros_foundationposeN/A最佳对未见物体进行零样本姿态估计与跟踪
isaac_ros_dope最快良好成熟、轻量级的已知物体姿态估计
isaac_ros_centerpose较快较好已知物体姿态估计,支持 NVIDIA TAO 训练

这些软件包使用 GPU 加速 DNN 推理来估计物体的姿态。传感器功能可以使用输出预测与相应的深度集成,从而提供物体的 3D 姿态和距离,用于导航或操作。

快速开始

为了简化开发,我们主要使用 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:=centerpose,centerpose_visualizer interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_centerpose/quickstart_interface_specs.json model_name:=centerpose_shoe model_repository_paths:=[${ISAAC_ROS_WS}/isaac_ros_assets/models]

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

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_centerpose/quickstart.bag

查看结果

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

bash

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

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

bash

ros2 run rqt_image_view rqt_image_view /centerpose/image_visualized