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.

PaketNeues Objekt ohne erneutes TrainingTAO-UnterstützungRelative GeschwindigkeitRelative QualitätBeste Anwendung
isaac_ros_foundationposeJaN/ASchnellAm bestenZero-Shot-Posenschätzung und -verfolgung für unbekannte Objekte
isaac_ros_dopeNeinNeinAm schnellstenGutAusgereifte, leichtgewichtige Posenschätzung für bekannte Objekte
isaac_ros_centerposeNeinJaSchnellerBesserPosenschä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.

bash

cd ${ISAAC_ROS_WS}/src

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

Führen Sie den folgenden Startbefehl aus:

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]

Öffnen Sie ein zweites Terminal und betreten Sie den Container.

bash

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

Führen Sie den folgenden Befehl aus:

bash

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

Ergebnis anzeigen

Öffnen Sie das dritte Terminal und betreten Sie den Container.

bash

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

Führen Sie den folgenden Befehl aus, um das Ergebnis anzuzeigen:

bash

ros2 run rqt_image_view rqt_image_view /centerpose/image_visualized