Hit issue when running Isaac_ros_image_pipeline

Hi. Dear Nvidia team.

I am trying to run Isaac_ros_image_pipeline (GitHub - NVIDIA-ISAAC-ROS/isaac_ros_image_pipeline: Hardware-accelerated ROS2 packages for camera image processing.) on my AGX Xavier. But I hit some issue. I don’t know what’s those issue related.

Background description:
The camera which I use is LI-AR0234CS-STEREO-GMSL2 (HAWK camera) + E3653-a03 (MAX96712 adapter board).

Procedure and document which I follow:

  1. I installed R32.6.1 OS on AGX Xavier. Using SDK manager to install all libraries.
  2. I follow this post to attach NVMe drive to my Xavier and make NVMe to be the boot drive (GitHub - jetsonhacks/rootOnNVMe: Switch the rootfs to a NVMe SSD on the Jetson Xavier NX and Jetson AGX Xavier).
  3. I can find video device from my AGX Xavier. Stream video.

Then I move to work on docker installation.
4. I follow the isaac_ros_common (GitHub - NVIDIA-ISAAC-ROS/isaac_ros_common: Common utilities, packages, scripts, Dockerfiles, and testing infrastructure for Isaac ROS packages.) to install docker and other setting. No issue happened. I can still see video device and bring video up like normal (argus tool or GStreamer).
5. I follow Isaac_ros_image_pipeline to set up everything.
6. I run “colcon test” to test the installation. Post log below.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
git-lfs is already the newest version (2.3.4-1).
0 upgraded, 0 newly installed, 0 to remove and 86 not upgraded.
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws$ cd src/
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws/src$ git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_image_pipeline && git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common
fatal: destination path 'isaac_ros_image_pipeline' already exists and is not an empty directory.
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws/src$ cd ..
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws$ colcon build --symlink-install && source install/setup.bash
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Starting >>> isaac_ros_nvengine_interfaces
Finished <<< isaac_ros_common [1.50s]                                       
Finished <<< isaac_ros_test [2.43s]                          
Starting >>> isaac_ros_image_proc
Starting >>> isaac_ros_stereo_image_proc
Starting >>> isaac_ros_argus_camera_mono
Starting >>> isaac_ros_argus_camera_stereo
Finished <<< isaac_ros_nvengine_interfaces [3.08s]
Starting >>> isaac_ros_nvengine
Finished <<< isaac_ros_argus_camera_mono [1.36s]                               
Finished <<< isaac_ros_argus_camera_stereo [1.39s]
Finished <<< isaac_ros_stereo_image_proc [1.81s]
Finished <<< isaac_ros_image_proc [1.94s]
Starting >>> isaac_ros_image_pipeline
Finished <<< isaac_ros_nvengine [1.35s]                                       
Finished <<< isaac_ros_image_pipeline [0.63s]                  

Summary: 9 packages finished [5.58s]
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws$ colcon test
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Starting >>> isaac_ros_nvengine_interfaces
Finished <<< isaac_ros_nvengine_interfaces [3.11s]             
Finished <<< isaac_ros_common [3.84s]                          
--- stderr: isaac_ros_test                     

=============================== warnings summary ===============================
test/test_flake8.py::test_flake8
test/test_flake8.py::test_flake8
  Warning: SelectableGroups dict interface is deprecated. Use select.

-- Docs: https://docs.pytest.org/en/stable/warnings.html
---
Finished <<< isaac_ros_test [18.8s]
Starting >>> isaac_ros_image_proc
Starting >>> isaac_ros_stereo_image_proc
Starting >>> isaac_ros_argus_camera_mono
Starting >>> isaac_ros_argus_camera_stereo                          
Starting >>> isaac_ros_nvengine
Finished <<< isaac_ros_argus_camera_stereo [4.63s]                  
Finished <<< isaac_ros_argus_camera_mono [6.41s]                    
Finished <<< isaac_ros_nvengine [17.3s]                              
--- stderr: isaac_ros_stereo_image_proc                                  
Errors while running CTest
---
Finished <<< isaac_ros_stereo_image_proc [43.1s]	[ with test failures ]
--- stderr: isaac_ros_image_proc                          
Errors while running CTest
---
Finished <<< isaac_ros_image_proc [54.4s]	[ with test failures ]
Starting >>> isaac_ros_image_pipeline
Finished <<< isaac_ros_image_pipeline [2.16s]                

Summary: 9 packages finished [1min 16s]
  3 packages had stderr output: isaac_ros_image_proc isaac_ros_stereo_image_proc isaac_ros_test
  2 packages had test failures: isaac_ros_image_proc isaac_ros_stereo_image_proc
admin@nvidia-desktop:/workspaces/isaac_ros-dev/leopard_ros_ws$ 
  1. When I run “ros2 run isaac_ros_image_proc isaac_ros_image_proc” and use another terminal to run “ros2 run v4l2_camera v4l2_camera_node”. I hit some issue which I can’t solve. I post the screenshot below.

FYI. I confirmed a few questions:

A. I can confirm the camera works with ARGUS and Gstreamer.
B. The camera is stereo camera (HAWK). We calibrated and program the EEPROM inside the camera. I can bring up live video and depth output through VPI (1.1.12) successfully out the docker. So we believe this issue should not related to the calibration data.
C. I also tried the “isaac_ros_argus_camera” as well. We hit similar error log.

Please kindly help us about this. Let me know if you need any other information.

@KevinGong did you try outside of the docker container? does the issue exist if using the default devkit camera sensor?

Hi. Andrey.
Thank you for response. I haven’t tried that yet. I will try that and update with you.

Could you also post the error log with isaac_ros_argus_camera? It appears that v4l2_camera is having trouble connecting to HAWK, but are images flowing through to isaac_ros_image_proc? Could you check with ros2 topic hz <topic> to see if anything is coming out of the camera node perhaps?