9.3 DNN Stereo Diepte
Docker-gebruiksreferentie: Module 3.7 Docker
Isaac ROS DNN Depth Network-link: https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_dnn_stereo_depth/index.html
Overzicht

Het probleem van visuele diepteperceptie komt veel voor in vele gebieden van de robotica, zoals het schatten van de houding van de arm bij een objectoperatie, het schatten van de afstand van statische of bewegende doelen bij autonome robotnavigatie, het volgen van doelen in bezorgrobots, enz. Isaac ROS DNN Stereo Depth is bedoeld voor twee Isaac-toepassingen: Isaac Manipulator en Isaac Perceptor. In de Isaac Manipulator-toepassing wordt ESS ingezet als een plugin-knooppunt in het Isaac ROS-besturingspakket om een diep gevoel voor de bewegingsplanning en -besturing van de mechanische arm te bieden. In dit scenario wordt de multi-camera stereostream van de industriële mechanische arm die de desktoptaak uitvoert, doorgegeven aan de ESS voor de bijbehorende dieptestream. Diepte stromen worden gebruikt om de relatieve afstand van de mechanische arm tot het bijbehorende object op de desktop te verdelen; dit biedt een signaal voor botsingsvermijding en fijne deeltjesbesturing. Op vergelijkbare wijze gebruikt de Isaac Perceptor-toepassing verschillende Isaac ROS-pakketten, namelijk Isaac ROS Nova, Isaac ROS Visual Slam, Isaac ROS Stereo Deep (ESS), Isaac ROS Nvblox en Isaac ROS Image Pipeline.
Snelstart
Om de ontwikkeling te vereenvoudigen, gebruiken we voornamelijk Isaac ROS Dev Docker-images en voeren we daarop impactdemonstraties uit. De demonstratie vereist niet de installatie van een camera-apparaat om datastromen van de camera te simuleren door het rosbag-bestand af te spelen.
Opmerking: Als u op uw eigen apparatuur wilt installeren of de camera wilt aansluiten om andere functies te ontwikkelen, raadpleeg dan het officiële Isaac ROS-netwerk om de camera met het opgegeven model van NVIDIA te verbinden.
Open een terminal en ga naar de werkruimte
cd ${ISAAC_ROS_WS}/src
Ga de Isaac ROS Dev Docker-container binnen
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoert de volgende opstartopdracht uit, waarvan Threshold:=0.0 bij het opstarten kan worden aangepast naar 0.4, met verschillende effecten.
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=ess_disparity \
engine_file_path:=${ISAAC_ROS_WS:?}/isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx/ess.engine \
threshold:=0.0Open een tweede terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
ros2 bag play -l ${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_ess/rosbags/ess_rosbag \
--remap /left/camera_info:=/left/camera_info_rect /right/camera_info:=/right/camera_info_rectHet resultaat bekijken
Open de derde terminal en ga de container binnen.
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.shVoer de volgende opdracht uit:
ros2 run isaac_ros_ess isaac_ros_ess_visualizer.py
Indien ingesteld op 0.0, geeft het de volgende resultaten weer:
Ik weet het niet.

Wanneer ingesteld op 0.4, worden de resultaten hieronder getoond: