9.9 3D-Posenschätzung
Docker-Nutzungsreferenz: Modul 3.7 Docker
Offizieller Link zur Isaac ROS 3D-Posenschätzung: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_pose_estimation/isaac_ros_centerpose/index.html
Übersicht

Isaac ROS Pose Estimation umfasst drei Haupt-ROS 2-Pakete für 6-DoF-Objektposen-Workflows. Die folgende Tabelle fasst die Unterschiede zwischen ihnen zusammen.
| Paket | Neues Objekt ohne erneutes Training | TAO-Unterstützung | Relative Geschwindigkeit | Relative Qualität | Beste Anwendung |
|---|---|---|---|---|---|
isaac_ros_foundationpose | Ja | N/A | Schnell | Am besten | Zero-Shot-Posenschätzung und -verfolgung für unbekannte Objekte |
isaac_ros_dope | Nein | Nein | Am schnellsten | Gut | Ausgereifte, leichtgewichtige Posenschätzung für bekannte Objekte |
isaac_ros_centerpose | Nein | Ja | Schneller | Besser | Posenschätzung bekannter Objekte mit NVIDIA TAO-Trainingsunterstützung |
Diese Pakete verwenden GPU, um die DNN-Inferenz zu beschleunigen und die Lage des Objekts zu schätzen. Die Sensorfunktion kann Ausgabevorhersagen verwenden, um sie mit der entsprechenden Tiefe zu integrieren und so die 3D-Lage und den Abstand des Objekts für die Navigation oder Bedienung bereitzustellen.
Schnellstart
Um die Entwicklung zu vereinfachen, verwenden wir hauptsächlich Isaac ROS Dev Docker-Images und führen darauf Auswirkungsdemonstrationen durch. Die Demonstration erfordert nicht die Installation eines Kamerageräts, da Datenströme der Kamera durch Abspielen der rosbag-Datei simuliert werden.
Wenn Sie den Workflow auf echter Hardware oder mit einer angeschlossenen Kamera ausführen möchten, finden Sie in der offiziellen Isaac ROS-Dokumentation Informationen zu unterstützten Kamera-Setups.
Öffnen Sie ein Terminal, wechseln Sie in den Workspace und betreten Sie den Isaac ROS-Entwicklungscontainer.
cd ${ISAAC_ROS_WS}/src
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shFühren Sie den folgenden Startbefehl aus:
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]Öffnen Sie ein zweites Terminal und betreten Sie den Container.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shFühren Sie den folgenden Befehl aus:
ros2 bag play -l ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_centerpose/quickstart.bagErgebnis anzeigen
Öffnen Sie das dritte Terminal und betreten Sie den Container.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shFühren Sie den folgenden Befehl aus, um das Ergebnis anzuzeigen:

ros2 run rqt_image_view rqt_image_view /centerpose/image_visualized