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_foundationpose | 是 | N/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