Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Low FPS and errors on the RealSense D435i on the Jetson AGX Orin #3286

Closed
Vishnu-AP opened this issue Jan 15, 2025 · 9 comments
Closed

Low FPS and errors on the RealSense D435i on the Jetson AGX Orin #3286

Vishnu-AP opened this issue Jan 15, 2025 · 9 comments
Labels

Comments

@Vishnu-AP
Copy link

Vishnu-AP commented Jan 15, 2025

Required Info
Camera Model D435i
Firmware Version 5.16.0.1
Operating System & Version Linux (Ubuntu 22.04) L4T
Kernel Version (Linux Only) 5.15.136-tegra
Platform NVIDIA Jetson AGX Orin
Librealsense SDK Version 2.55.1
Language {C/C#/labview/opencv/pcl/python/unity }
Segment {Robot/Smartphone/VR/AR/others }
ROS Distro Humble
RealSense ROS Wrapper Version 4.55.1

Issue Description

I have done the following to setup the RealSense D435i:

  1. Installed RealSense 2.55.1 SDK using the RSUSB installation mentioned in jetson installation page
  2. Built realsense-ros 4.55.1 from source as mentioned here

Despite the firmware version and SDK version being inline, I still am not able to acheive stable FPS and I get multiple errors when I launch the realsense node with the following command:
ros2 launch realsense2_camera rs_launch.py rgb_camera.color_profile:='640,360,60' depth_module.depth_profile:='640,360,60'

I keep getting the following errors and I am never able to acheive stable FPS as well as the actual mentioned FPS. If 60 fps is mentioned in the arguments I get around 15 only:
[realsense2_camera_node-1] 15/01 15:40:20,511 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:22,594 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132

I would also deeply appreciate if you can tell me the best way to setup the RealSense D345i on the Jetson AGX Orin so as to achieve the maximum resolution and FPS supported since I plan on working with high resolution data

Here is the entire output for your reference:
~/ros2_ws$ ros2 launch realsense2_camera rs_launch.py rgb_camera.color_profile:='640,360,60' depth_module.depth_profile:='640,360,60'
[INFO] [launch]: All log files can be found below /home/diadem/.ros/log/2025-01-15-15-37-51-198570-rigbetellabs-46749
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [realsense2_camera_node-1]: process started with pid [46750]
[realsense2_camera_node-1] [INFO] [1736935671.489464629] [camera.camera]: RealSense ROS v4.55.1
[realsense2_camera_node-1] [INFO] [1736935671.489669043] [camera.camera]: Built with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736935671.489706451] [camera.camera]: Running with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736935672.153022497] [camera.camera]: Device with serial number 233522070955 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1736935672.153187584] [camera.camera]: Device with physical ID 2-3.4-4 was found.
[realsense2_camera_node-1] [INFO] [1736935672.153214528] [camera.camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1736935672.153581438] [camera.camera]: Device with port number 2-3.4 was found.
[realsense2_camera_node-1] [INFO] [1736935672.153614269] [camera.camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1736935672.153766108] [camera.camera]: getParameters...
[realsense2_camera_node-1] [INFO] [1736935672.155100659] [camera.camera]: JSON file is not provided
[realsense2_camera_node-1] [INFO] [1736935672.155247123] [camera.camera]: Device Name: Intel RealSense D435I
[realsense2_camera_node-1] [INFO] [1736935672.155274418] [camera.camera]: Device Serial No: 233522070955
[realsense2_camera_node-1] [INFO] [1736935672.155290802] [camera.camera]: Device physical port: 2-3.4-4
[realsense2_camera_node-1] [INFO] [1736935672.155301810] [camera.camera]: Device FW version: 5.16.0.1
[realsense2_camera_node-1] [INFO] [1736935672.155313138] [camera.camera]: Device Product ID: 0x0B3A
[realsense2_camera_node-1] [INFO] [1736935672.155323730] [camera.camera]: Sync Mode: Off
[realsense2_camera_node-1] [WARN] [1736935676.284217255] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736935676.285427583] [camera.camera]: Set ROS param depth_module.infra_profile to default: 848x480x30
[realsense2_camera_node-1] [WARN] [1736935677.043948904] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736935677.047550288] [camera.camera]: Set ROS param gyro_fps to default: 200
[realsense2_camera_node-1] [INFO] [1736935677.047798543] [camera.camera]: Set ROS param accel_fps to default: 100
[realsense2_camera_node-1] [INFO] [1736935677.056386070] [camera.camera]: Stopping Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736935677.057519086] [camera.camera]: Stopping Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736935677.206519984] [camera.camera]: Starting Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736935677.359337336] [camera.camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 640, Height: 360, FPS: 60
[realsense2_camera_node-1] 15/01 15:37:57,360 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [INFO] [1736935677.369709587] [camera.camera]: Starting Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736935677.395314665] [camera.camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 640, Height: 360, FPS: 60
[realsense2_camera_node-1] [INFO] [1736935677.399813611] [camera.camera]: RealSense Node Is Up!
[realsense2_camera_node-1] 15/01 15:37:57,683 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:57,694 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:57,705 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:57,716 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:57,727 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:58,860 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:37:58,871 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:38:24,803 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:33,442 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:34,604 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:34,997 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:38:35,009 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:38:35,020 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:38:35,031 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:38:37,430 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:38,427 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:44,574 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:45,405 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:47,067 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:49,228 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:38:54,878 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:00,360 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:02,685 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:03,848 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:05,509 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:09,496 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:12,652 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:13,648 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:19,963 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:24,616 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:25,222 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:25,234 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:31,593 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:32,589 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:33,586 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:36,244 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:37,906 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:38,291 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:38,303 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:38,314 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:38,325 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:38,337 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:39:40,563 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:42,724 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:53,522 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:55,682 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:39:59,668 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:40:03,821 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:40:04,429 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:04,441 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:14,454 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:40:16,779 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:40:20,500 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:20,511 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:22,594 ERROR [281472351004896] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132
[realsense2_camera_node-1] 15/01 15:40:27,537 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:27,548 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:40:59,655 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:06,825 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:20,875 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:20,886 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:23,907 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:23,918 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:27,936 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 15:42:27,947 WARNING [281473181149408] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[realsense2_camera_node-1] [INFO] [1736935987.172158984] [rclcpp]: signal_handler(signum=2)
[realsense2_camera_node-1] [INFO] [1736935987.175492215] [camera.camera]: Stop Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736935987.175593238] [camera.camera]: Close Sensor.
[realsense2_camera_node-1] [INFO] [1736935987.380530450] [camera.camera]: Close Sensor - Done.
[realsense2_camera_node-1] [INFO] [1736935987.380775856] [camera.camera]: Stop Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736935987.380829776] [camera.camera]: Close Sensor.
[realsense2_camera_node-1] [INFO] [1736935988.087544263] [camera.camera]: Close Sensor - Done.
rs-fw[INFO] [realsense2_camera_node-1]: process has finished cleanly [pid 46750]

@MartyG-RealSense
Copy link
Collaborator

Hi @Vishnu-AP When the warning control_transfer returned generates continuously in the log, it indicates that there is a communication problem between the camera and computer / computing board. This is typically related to a problem in the USB system, such as a glitch on the computer's USB port or a bad USB cable.

  1. Does it make a difference if you add initial_reset:=true to your launch instruction to reset the camera at launch?

  2. Does it make a difference if you unplug the micro-sized USB cable connector from the side of the camera, turn it around the opposite way and re-insert it (USB-C cables are two-way insertion at the micro-sized end)

  3. Does it make a difference if you add auto_exposure_priority:=false to your launch instruction?

  4. Are you using the official 1 meter USB cable supplied with the camera or a cable of your own choice?

@Vishnu-AP
Copy link
Author

I am not sure if this information below would help:
I tried connecting the RealSense to my laptop and I do not get the errors mentioned above, but I am not able to acheive maximum FPS when I go for a resolution like 640x360x60, I get somewhere around 40.

Trying out the steps you mentioned in order:

  1. This actually solved the issue to a great extent, I was able to acheive 15 FPS with this but when I try for 30FPS and 60FPS I do not acheive complete 30 or 60 FPS, it usually caps to somewhere between 15 - 17 FPS with error message showing up less frequently (I have attached the output below)
    ros2 launch realsense2_camera rs_launch.py rgb_camera.color_profile:='640,360,60' depth_module.depth_profile:='640,360,60' initial_reset:=true
    [INFO] [launch]: All log files can be found below /home/diadem/.ros/log/2025-01-15-17-58-38-374876-rigbetellabs-26978
    [INFO] [launch]: Default logging verbosity is set to INFO
    [INFO] [realsense2_camera_node-1]: process started with pid [26979]
    [realsense2_camera_node-1] [INFO] [1736944118.665414276] [camera.camera]: RealSense ROS v4.55.1
    [realsense2_camera_node-1] [INFO] [1736944118.665610182] [camera.camera]: Built with LibRealSense v2.55.1
    [realsense2_camera_node-1] [INFO] [1736944118.665644358] [camera.camera]: Running with LibRealSense v2.55.1
    [realsense2_camera_node-1] [INFO] [1736944119.373791179] [camera.camera]: Device with serial number 233522070955 was found.
    [realsense2_camera_node-1]
    [realsense2_camera_node-1] [INFO] [1736944119.373965101] [camera.camera]: Device with physical ID 2-3.4-8 was found.
    [realsense2_camera_node-1] [INFO] [1736944119.373995437] [camera.camera]: Device with name Intel RealSense D435I was found.
    [realsense2_camera_node-1] [INFO] [1736944119.374355440] [camera.camera]: Device with port number 2-3.4 was found.
    [realsense2_camera_node-1] [INFO] [1736944119.374392849] [camera.camera]: Device USB type: 3.2
    [realsense2_camera_node-1] [INFO] [1736944119.374417873] [camera.camera]: Resetting device...
    [realsense2_camera_node-1] [INFO] [1736944126.246834723] [camera.camera]: Device with serial number 233522070955 was found.
    [realsense2_camera_node-1]
    [realsense2_camera_node-1] [INFO] [1736944126.247005988] [camera.camera]: Device with physical ID 2-3.4-9 was found.
    [realsense2_camera_node-1] [INFO] [1736944126.247048004] [camera.camera]: Device with name Intel RealSense D435I was found.
    [realsense2_camera_node-1] [INFO] [1736944126.247595177] [camera.camera]: Device with port number 2-3.4 was found.
    [realsense2_camera_node-1] [INFO] [1736944126.247645706] [camera.camera]: Device USB type: 3.2
    [realsense2_camera_node-1] [INFO] [1736944126.247847436] [camera.camera]: getParameters...
    [realsense2_camera_node-1] [INFO] [1736944126.248650803] [camera.camera]: JSON file is not provided
    [realsense2_camera_node-1] [INFO] [1736944126.248709843] [camera.camera]: Device Name: Intel RealSense D435I
    [realsense2_camera_node-1] [INFO] [1736944126.248750484] [camera.camera]: Device Serial No: 233522070955
    [realsense2_camera_node-1] [INFO] [1736944126.248787956] [camera.camera]: Device physical port: 2-3.4-9
    [realsense2_camera_node-1] [INFO] [1736944126.248818068] [camera.camera]: Device FW version: 5.16.0.1
    [realsense2_camera_node-1] [INFO] [1736944126.248845621] [camera.camera]: Device Product ID: 0x0B3A
    [realsense2_camera_node-1] [INFO] [1736944126.248872725] [camera.camera]: Sync Mode: Off
    [realsense2_camera_node-1] [WARN] [1736944130.240560454] [camera.camera]: re-enable the stream for the change to take effect.
    [realsense2_camera_node-1] [INFO] [1736944130.241740177] [camera.camera]: Set ROS param depth_module.infra_profile to default: 848x480x30
    [realsense2_camera_node-1] [WARN] [1736944130.995333973] [camera.camera]: re-enable the stream for the change to take effect.
    [realsense2_camera_node-1] [INFO] [1736944130.996757826] [camera.camera]: Set ROS param gyro_fps to default: 200
    [realsense2_camera_node-1] [INFO] [1736944130.996895299] [camera.camera]: Set ROS param accel_fps to default: 100
    [realsense2_camera_node-1] [INFO] [1736944131.002658231] [camera.camera]: Stopping Sensor: Depth Module
    [realsense2_camera_node-1] [INFO] [1736944131.003229820] [camera.camera]: Stopping Sensor: RGB Camera
    [realsense2_camera_node-1] [INFO] [1736944131.111385872] [camera.camera]: Starting Sensor: Depth Module
    [realsense2_camera_node-1] [INFO] [1736944131.265249923] [camera.camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 640, Height: 360, FPS: 60
    [realsense2_camera_node-1] 15/01 17:58:51,268 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] [INFO] [1736944131.279067104] [camera.camera]: Starting Sensor: RGB Camera
    [realsense2_camera_node-1] [INFO] [1736944131.294254729] [camera.camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 640, Height: 360, FPS: 60
    [realsense2_camera_node-1] [INFO] [1736944131.297647688] [camera.camera]: RealSense Node Is Up!
    [realsense2_camera_node-1] 15/01 17:58:51,586 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:51,597 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:51,608 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:51,619 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:51,759 ERROR [281471914535136] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 130
    [realsense2_camera_node-1] 15/01 17:58:52,551 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:52,562 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:52,573 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:58:54,791 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:59:08,837 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:59:08,848 WARNING [281471956805856] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
    [realsense2_camera_node-1] 15/01 17:59:14,057 ERROR [281471679916256] (uvc-streamer.cpp:105) uvc streamer watchdog triggered on endpoint: 132

  2. Did not make any difference - still the same

  3. Now when I set the FPS at 30 and 60, it caps at ~21FPS with the errors showing up less frequently (similar to the above output)

  4. I have not changed the cable, it is the black 1m cable (not sure if it is the original one or not because I am not the first one to use it)

@MartyG-RealSense
Copy link
Collaborator

Thanks very much for the detailed feedback.

Do you have the same problems if you use 640x480x60 resolution instead of 640x360x60

@Vishnu-AP
Copy link
Author

I tried with 640,480,60 as you mentioned, there was no change in the FPS (still ~15) but I did not get the watchdog error despite running it for a good amount of time.

Additional info: I also tried a higher resolution - 1280,720,15 and 1280,720,6 (both RGB and Depth) but the FPS caps to 6

ros2 launch realsense2_camera rs_launch.py rgb_camera.color_profile:='640,480,60' depth_module.depth_profile:='640,480,60' initial_reset:=true auto_exposure_priority:=false
[INFO] [launch]: All log files can be found below /home/diadem/.ros/log/2025-01-15-18-20-43-836677-rigbetellabs-39363
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [realsense2_camera_node-1]: process started with pid [39364]
[realsense2_camera_node-1] [INFO] [1736945444.124843701] [camera.camera]: RealSense ROS v4.55.1
[realsense2_camera_node-1] [INFO] [1736945444.125043569] [camera.camera]: Built with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736945444.125080592] [camera.camera]: Running with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736945444.846350804] [camera.camera]: Device with serial number 233522070955 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1736945444.846599920] [camera.camera]: Device with physical ID 2-3.4-11 was found.
[realsense2_camera_node-1] [INFO] [1736945444.846638639] [camera.camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1736945444.847055143] [camera.camera]: Device with port number 2-3.4 was found.
[realsense2_camera_node-1] [INFO] [1736945444.847097862] [camera.camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1736945444.847124197] [camera.camera]: Resetting device...
[realsense2_camera_node-1] [INFO] [1736945451.724075046] [camera.camera]: Device with serial number 233522070955 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1736945451.724280290] [camera.camera]: Device with physical ID 2-3.4-12 was found.
[realsense2_camera_node-1] [INFO] [1736945451.724341601] [camera.camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1736945451.725142417] [camera.camera]: Device with port number 2-3.4 was found.
[realsense2_camera_node-1] [INFO] [1736945451.725250831] [camera.camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1736945451.725860292] [camera.camera]: getParameters...
[realsense2_camera_node-1] [INFO] [1736945451.727452325] [camera.camera]: JSON file is not provided
[realsense2_camera_node-1] [INFO] [1736945451.727541923] [camera.camera]: Device Name: Intel RealSense D435I
[realsense2_camera_node-1] [INFO] [1736945451.727600130] [camera.camera]: Device Serial No: 233522070955
[realsense2_camera_node-1] [INFO] [1736945451.727644834] [camera.camera]: Device physical port: 2-3.4-12
[realsense2_camera_node-1] [INFO] [1736945451.727685921] [camera.camera]: Device FW version: 5.16.0.1
[realsense2_camera_node-1] [INFO] [1736945451.727725888] [camera.camera]: Device Product ID: 0x0B3A
[realsense2_camera_node-1] [INFO] [1736945451.727761407] [camera.camera]: Sync Mode: Off
[realsense2_camera_node-1] [WARN] [1736945455.724390459] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736945455.725233995] [camera.camera]: Set ROS param depth_module.infra_profile to default: 848x480x30
[realsense2_camera_node-1] [WARN] [1736945456.480917508] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736945456.482274507] [camera.camera]: Set ROS param gyro_fps to default: 200
[realsense2_camera_node-1] [INFO] [1736945456.482399400] [camera.camera]: Set ROS param accel_fps to default: 100
[realsense2_camera_node-1] [INFO] [1736945456.489336550] [camera.camera]: Stopping Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736945456.489689119] [camera.camera]: Stopping Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736945456.625520417] [camera.camera]: Starting Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736945456.745562636] [camera.camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 640, Height: 480, FPS: 60
[realsense2_camera_node-1] 15/01 18:20:56,746 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [INFO] [1736945456.751849429] [camera.camera]: Starting Sensor: RGB Camera
[realsense2_camera_node-1] 15/01 18:20:56,758 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [INFO] [1736945456.778845145] [camera.camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 640, Height: 480, FPS: 60
[realsense2_camera_node-1] [INFO] [1736945456.782395574] [camera.camera]: RealSense Node Is Up!
[realsense2_camera_node-1] 15/01 18:20:57,075 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,086 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,097 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,109 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,835 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,846 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:20:57,857 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:02,287 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:14,328 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:19,354 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:19,365 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:19,377 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:25,408 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:25,422 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:30,448 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:30,460 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:49,541 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:49,553 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:54,584 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:21:54,595 WARNING [281472258533600] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[realsense2_camera_node-1] [INFO] [1736945527.587109369] [rclcpp]: signal_handler(signum=2)
[realsense2_camera_node-1] [INFO] [1736945527.589903212] [camera.camera]: Stop Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736945527.590087146] [camera.camera]: Close Sensor.
[realsense2_camera_node-1] [INFO] [1736945527.765678346] [camera.camera]: Close Sensor - Done.
[realsense2_camera_node-1] [INFO] [1736945527.765851623] [camera.camera]: Stop Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736945527.765904806] [camera.camera]: Close Sensor.
[realsense2_camera_node-1] [INFO] [1736945528.690765372] [camera.camera]: Close Sensor - Done.
[INFO] [realsense2_camera_node-1]: process has finished cleanly [pid 39364]
diadem@rigbetellabs:~/ros2_ws$ ros2 launch realsense2_camera rs_launch.py rgb_camera.color_profile:='640,480,30' depth_module.depth_profile:='640,480,30' initial_reset:=true auto_exposure_priority:=false
[INFO] [launch]: All log files can be found below /home/diadem/.ros/log/2025-01-15-18-22-21-403591-rigbetellabs-41848
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [realsense2_camera_node-1]: process started with pid [41849]
[realsense2_camera_node-1] [INFO] [1736945541.693030622] [camera.camera]: RealSense ROS v4.55.1
[realsense2_camera_node-1] [INFO] [1736945541.693234075] [camera.camera]: Built with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736945541.693266298] [camera.camera]: Running with LibRealSense v2.55.1
[realsense2_camera_node-1] [INFO] [1736945542.427357698] [camera.camera]: Device with serial number 233522070955 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1736945542.428321044] [camera.camera]: Device with physical ID 2-3.4-12 was found.
[realsense2_camera_node-1] [INFO] [1736945542.428439410] [camera.camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1736945542.429264421] [camera.camera]: Device with port number 2-3.4 was found.
[realsense2_camera_node-1] [INFO] [1736945542.429347396] [camera.camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1736945542.429400419] [camera.camera]: Resetting device...
[realsense2_camera_node-1] [INFO] [1736945549.277835856] [camera.camera]: Device with serial number 233522070955 was found.
[realsense2_camera_node-1]
[realsense2_camera_node-1] [INFO] [1736945549.278559845] [camera.camera]: Device with physical ID 2-3.4-13 was found.
[realsense2_camera_node-1] [INFO] [1736945549.278618628] [camera.camera]: Device with name Intel RealSense D435I was found.
[realsense2_camera_node-1] [INFO] [1736945549.279521751] [camera.camera]: Device with port number 2-3.4 was found.
[realsense2_camera_node-1] [INFO] [1736945549.279610134] [camera.camera]: Device USB type: 3.2
[realsense2_camera_node-1] [INFO] [1736945549.280564775] [camera.camera]: getParameters...
[realsense2_camera_node-1] [INFO] [1736945549.282224558] [camera.camera]: JSON file is not provided
[realsense2_camera_node-1] [INFO] [1736945549.282317933] [camera.camera]: Device Name: Intel RealSense D435I
[realsense2_camera_node-1] [INFO] [1736945549.282372108] [camera.camera]: Device Serial No: 233522070955
[realsense2_camera_node-1] [INFO] [1736945549.282414731] [camera.camera]: Device physical port: 2-3.4-13
[realsense2_camera_node-1] [INFO] [1736945549.282447563] [camera.camera]: Device FW version: 5.16.0.1
[realsense2_camera_node-1] [INFO] [1736945549.282477707] [camera.camera]: Device Product ID: 0x0B3A
[realsense2_camera_node-1] [INFO] [1736945549.282504906] [camera.camera]: Sync Mode: Off
[realsense2_camera_node-1] [WARN] [1736945553.179680040] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736945553.181319088] [camera.camera]: Set ROS param depth_module.infra_profile to default: 848x480x30
[realsense2_camera_node-1] [WARN] [1736945553.919044926] [camera.camera]: re-enable the stream for the change to take effect.
[realsense2_camera_node-1] [INFO] [1736945553.920898690] [camera.camera]: Set ROS param gyro_fps to default: 200
[realsense2_camera_node-1] [INFO] [1736945553.921077023] [camera.camera]: Set ROS param accel_fps to default: 100
[realsense2_camera_node-1] [INFO] [1736945553.928884971] [camera.camera]: Stopping Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736945553.929349893] [camera.camera]: Stopping Sensor: RGB Camera
[realsense2_camera_node-1] [INFO] [1736945554.069561795] [camera.camera]: Starting Sensor: Depth Module
[realsense2_camera_node-1] [INFO] [1736945554.209526281] [camera.camera]: Open profile: stream_type: Depth(0), Format: Z16, Width: 640, Height: 480, FPS: 30
[realsense2_camera_node-1] 15/01 18:22:34,212 WARNING [281471881242848] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [INFO] [1736945554.214364929] [camera.camera]: Starting Sensor: RGB Camera
[realsense2_camera_node-1] 15/01 18:22:34,224 WARNING [281471881242848] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] [INFO] [1736945554.230400691] [camera.camera]: Open profile: stream_type: Color(0), Format: RGB8, Width: 640, Height: 480, FPS: 30
[realsense2_camera_node-1] [INFO] [1736945554.233698434] [camera.camera]: RealSense Node Is Up!
[realsense2_camera_node-1] 15/01 18:22:34,541 WARNING [281471881242848] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:22:34,552 WARNING [281471881242848] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[realsense2_camera_node-1] 15/01 18:22:34,563 WARNING [281471881242848] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11

@MartyG-RealSense
Copy link
Collaborator

Thanks. And how does it perform if depth FPS is set to 30 and color FPS to 60? Because the shutter on the D435i's RGB color sensor is slower than the shutter on the depth sensor, setting RGB to 2x the depth FPS can help to equalize performance of the two.

@Vishnu-AP
Copy link
Author

Vishnu-AP commented Jan 16, 2025

When I tried to run it on 640,480,30 for both depth and color, I got this warning once, not sure if this is something to worry about?
[realsense2_camera_node-1] [WARN] [1737008785.121309816] [camera.camera]: XXX Hardware Notification:Depth stream start failure,1.73701e+12,Error,Hardware Error
[realsense2_camera_node-1] [WARN] [1737008785.122035633] [camera.camera]: Hardware Notification:Depth stream start failure,1.73701e+12,Error,Hardware Error

I was getting a cap of ~20FPS because I was subscribing to the topics over a wireless network (which was limiting communication). I checked the FPS local to the machine and I was getting the expected FPS! I think the initial_reset:=true argument did the job because I was getting 1 FPS on both local and remote before that, which is why I ignored the possibility that the wireless network could be a bottleneck.
Setting both depth FPS and color FPS to 60 also works just fine (~58 FPS)
So I think as of now the issue is fixed! (if the warning I mentioned above is nothing to worry about)
Thank you @MartyG-RealSense !

@Vishnu-AP
Copy link
Author

I noticed one issue, when I am running the command: ros2 topic hz /camera/camera/color/image_raw locally (from the same machine as the publisher), I get the FPS as passed into the arguments. But the second I run the command from a different machine (Adding the ROS_DOMAIN_ID), I see uvc streamer watchdog errors and the FPS drops to ~5
Not sure if this is an issue with the librealsense installation / ros-wrapper or if it has something to do with the DDS

@MartyG-RealSense
Copy link
Collaborator

I'm pleased to hear that you diagnosed the cause of your FPS problem!

Communication from one computer to another does tend to be slow, especially over a wireless connection. IntelRealSense/librealsense#10730 discusses possible solutions for slow frame rate when using wi-fi.

@Vishnu-AP
Copy link
Author

I will try the methods mentioned in the discussion. For now I will close this issue with this comment since it has resolved the problem currently.
Thanks @MartyG-RealSense !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants