9.9 Estimación de pose 3D

Referencia de uso de Docker: Módulo 3.7 Docker

Enlace oficial de estimación de pose 3D Isaac ROS: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_centerpose/index.html

Descripción general

Isaac ROS Pose Estimation incluye tres paquetes principales de ROS 2 para flujos de trabajo de pose de objetos de 6 DoF. La siguiente tabla resume las diferencias entre ellos.

PaqueteObjeto novedoso sin reentrenamientoSoporte TAOVelocidad relativaCalidad relativaMejor uso
isaac_ros_foundationposeN/ARápidaMejorEstimación y seguimiento de pose zero-shot para objetos no vistos
isaac_ros_dopeNoNoMás rápidaBuenaEstimación de pose madura y ligera para objetos conocidos
isaac_ros_centerposeNoMás rápidaMejorEstimación de pose de objetos conocidos con soporte de entrenamiento NVIDIA TAO

Estos paquetes utilizan GPU para acelerar el razonamiento DNN y estimar la actitud del objeto. La función del sensor puede usar las predicciones de salida para integrarse con la profundidad correspondiente, proporcionando así la actitud 3D y la distancia del objeto para navegación u operación.

Inicio rápido

Para simplificar el desarrollo, utilizamos principalmente imágenes Isaac ROS Dev Docker y realizamos demostraciones de impacto sobre ellas. La demostración no requiere la instalación de ningún dispositivo de cámara, ya que simula los flujos de datos de la cámara reproduciendo el archivo rosbag.

Si planea ejecutar el flujo de trabajo en hardware real o con una cámara conectada, consulte la documentación oficial de Isaac ROS para conocer las configuraciones de cámara compatibles.

Abra una terminal, muévase al espacio de trabajo y entre en el contenedor de desarrollo Isaac ROS.

bash

cd ${ISAAC_ROS_WS}/src

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

Ejecute el siguiente comando de lanzamiento:

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]

Abra una segunda terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando:

bash

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

Ver el resultado

Abra la tercera terminal y entre en el contenedor.

bash

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

Ejecute el siguiente comando para ver el resultado:

bash

ros2 run rqt_image_view rqt_image_view /centerpose/image_visualized