9.9 Estimation de pose 3D

Référence d'utilisation Docker : Module 3.7 Docker

Lien officiel d'estimation de pose 3D Isaac ROS : https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_centerpose/index.html

Vue d'ensemble

Isaac ROS Pose Estimation inclut trois principaux packages ROS 2 pour les workflows de pose d'objets à 6 DoF. Le tableau ci-dessous résume les différences entre eux.

PackageNouvel objet sans réentraînementSupport TAOVitesse relativeQualité relativeMeilleur usage
isaac_ros_foundationposeOuiN/ARapideMeilleurEstimation et suivi de pose zero-shot pour objets non vus
isaac_ros_dopeNonNonLe plus rapideBonEstimation de pose mature et légère pour objets connus
isaac_ros_centerposeNonOuiPlus rapideMeilleurEstimation de pose d'objets connus avec support d'entraînement NVIDIA TAO

Ces packages utilisent le GPU pour accélérer le raisonnement DNN afin d'estimer l'attitude de l'objet. La fonction de capteur peut utiliser les prédictions de sortie pour s'intégrer à la profondeur correspondante, fournissant ainsi l'attitude 3D et la distance de l'objet pour la navigation ou l'opération.

Démarrage rapide

Pour simplifier le développement, nous utilisons principalement les images Docker Isaac ROS Dev et y effectuons des démonstrations d'impact. La démonstration ne nécessite pas l'installation d'un dispositif de caméra pour simuler les flux de données de la caméra en lisant le fichier rosbag.

Si vous prévoyez d'exécuter le workflow sur du matériel réel ou avec une caméra connectée, consultez la documentation officielle Isaac ROS pour connaître les configurations de caméra prises en charge.

Ouvrez un terminal, déplacez-vous dans l'espace de travail et entrez dans le conteneur de développement Isaac ROS.

bash

cd ${ISAAC_ROS_WS}/src

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

Exécutez la commande de lancement suivante :

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]

Ouvrez un deuxième terminal et entrez dans le conteneur.

bash

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

Exécutez la commande suivante :

bash

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

Voir le résultat

Ouvrez le troisième terminal et entrez dans le conteneur.

bash

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

Exécutez la commande suivante pour voir le résultat :

bash

ros2 run rqt_image_view rqt_image_view /centerpose/image_visualized