View my account

ROS2 Humble RealSense Node Fails on Orin AGX but Works on Ubuntu 22 PC

Comments

16 comments

  • MartyG

    Hi Imenmabrouk6  The warning control_transfer returned indicates that the Orin AGX is experiencing a communication problem between it and the camera.  This could be caused by a USB cable / port issue, or the Jetson being unable to keep up with the rate at which new camera data is arriving at the Jetson's USB port from the camera.

     

    As realsense-viewer is working correctly, it would also suggest that the issue is with the Jetson's ability to process the data when running the RealSense ROS2 wrapper.

     

    If you run an Ubuntu system monitoring tool such as htop whilst a RealSense ROS2 session is running then you could check whether the Jetson's CPU is being over-burdened (i.e it has a high percentage usage).

    0
    Comment actions Permalink
  • Imenmabrouk6

    Thank you MartyX Groverfor your reply!

     I followed your recommendation and ran htop while the RealSense ROS2 wrapper was running. Here are my observations:

    CPU Usage:
    -The CPU usage is not excessively high. The cores do not appear to be overloaded.
    -The realsense2_camera_node process consumes around 5-6% of the CPU, which seems reasonable.
    Memory Usage:
    -The system is using around 3.07GB out of 30GB, so there is no significant memory overload.
    No Excessive Background Processes:
    -I checked for any other processes that might be overloading the Jetson, but the overall system load seems normal.

    0
    Comment actions Permalink
  • MartyG

    Are you launching the node with a ros2 run command?  If you are, how does it behave if the ros2 launch method of launching with a launch file is used, please?

    ros2 launch realsense2_camera rs_launch.py
    0
    Comment actions Permalink
  • Imenmabrouk6

    I have tried both methods:

    Running the node with ros2 run realsense2_camera realsense2_camera_node.
    Launching it using ros2 launch realsense2_camera rs_launch.py.

    I still get the same error in both cases. Do you have any other suggestions for troubleshooting this issue?

    0
    Comment actions Permalink
  • MartyG

    On your Orin AGX are you using ROS2 wrapper version 4.55.1 which is the correct version to use with SDK 2.55.1, please?

    0
    Comment actions Permalink
  • Imenmabrouk6

    hi MartyG,  the version of ROS2 wrapper is correct .

     

    0
    Comment actions Permalink
  • MartyG

    And adding initial_reset:=true to your ros2 run instruction to reset the camera at launch makes no difference to the problem occurring?

    ros2 run realsense2_camera realsense2_camera_node --ros-args -p initial_reset:=true

     

    0
    Comment actions Permalink
  • Imenmabrouk6

    Hi MartyX Grover I’m still getting the same error and no image is found

    0
    Comment actions Permalink
  • MartyG

    It appears from the latest log that the infrared streams are being enabled and published.  If you do not need the infrared images (they are not required to be enabled in order for depth to be published) then you could save some processing by disabling them to see if it reduces the number of control_transfer returned messages.

    ros2 run realsense2_camera realsense2_camera_node --ros-args -p enable_infra1:=false -p enable_infra2:=false
    0
    Comment actions Permalink
  • Imenmabrouk6

    Hi MartyX Grover , I tried your suggestion, but I'm still facing the same error, and nothing happens.

    0
    Comment actions Permalink
  • MartyG

    ~Are you able to perform a complete wipe of your Jetson's storage and reinstall everything fresh from the beginning, including Ubuntu?  Sometimes when there is a problem that cannot be solved no matter what is tried and the cause is not clear, it can suddenly start working again after a wipe and reinstall because a hidden problem somewhere in the system has been removed by the wipe.

     

    If you do not wish to do a complete reinstall of everything or are unable to do this, you could try removing just the ROS2 wrapper and then reinstalling it.  If you built the wrapper from source code with colcon build then you can uninstall it simply by deleting the entire /ros2_ws/src catkin workspace folder and then performing the source code installation process again.

    0
    Comment actions Permalink
  • Imenmabrouk6

    Hi MartyG 

    At first, I tried uninstalling and reinstalling only the ROS2 wrapper, but that didn’t solve the issue.

    So I decided to start fresh:

    • I completely flashed my Jetson Orin AGX( ros humble , ubuntu 22.04).

    • Then I installed the SDK and necessary libraries following this guide: librealsense/libuvc_installation.md.

    • After that, I installed the ROS2 wrapper using the “Install from source” method .

    However, during the colcon build step, I encountered a warning (screenshot)

    I also tried building with the following command:

    colcon build --cmake-args '-DBUILD_ACCELERATE_GPU_WITH_GLSL=ON'

    But that didn’t help either.

     

    0
    Comment actions Permalink
  • Imenmabrouk6

    I still get the same error with , 

    ros2 run realsense2_camera realsense2_camera_node
    0
    Comment actions Permalink
  • MartyG

    As you are using librealsense 2.55.1, do your problems continue if you use the source code installation instructions below to colcon-build a version of the ROS wrapper for 2.55.1 ?

    git clone https://github.com/IntelRealSense/realsense-ros.git -b ros2-development
    cd realsense-ros/
    git checkout d1684b4e53111f5eb3237f76299e83a864ce929d
    cd ~/ros2_ws
    colcon build

     

     

    1
    Comment actions Permalink
  • Imenmabrouk6

    hi MartyX Grover 

    Thanks for the suggestion. I followed the steps.

    Here are the results:

    • When I run the node using:

    ros2 run realsense2_camera realsense2_camera_node --ros-args -p enable_infra1:=false -p enable_infra2:=false

    The node starts, but no image is displayed. Here's a screenshot of the terminal output:

    • However, when I use the following command:
    ros2 launch realsense2_camera rs_launch.py

    Everything works fine, and the images are properly published. 

    and for the [WARN] i just add 'initial_reset:=true'

    So I’m wondering why running the node directly with ros2 run doesn't give the same result. Could this be due to missing parameters or launch configurations?

    Thanks again for your help!

    0
    Comment actions Permalink
  • MartyG

    It's not clear from these logs why ros2 run would fail but ros2 launch succeeds, as both methods appear to be doing the same thing.

     

    Does it make a difference if you add the reset to ros2 run too?

    ros2 run realsense2_camera realsense2_camera_node --ros-args -p enable_infra1:=false -p enable_infra2:=false -p initial_reset:=true
    0
    Comment actions Permalink

Please sign in to leave a comment.