-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Comments
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.
|
I am not sure if this information below would help: Trying out the steps you mentioned in order:
|
Thanks very much for the detailed feedback. Do you have the same problems if you use 640x480x60 resolution instead of 640x360x60 |
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 |
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. |
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? 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. |
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 |
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. |
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. |
Issue Description
I have done the following to setup the RealSense D435i:
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]
The text was updated successfully, but these errors were encountered: