D435i disconnects freaquently with realsense-ros
We have been facing the issue of the D435i camera getting disconnected from the USB bus frequently while using the ROS1 wrapper for realsense on Ubuntu 20.04 (Noetic). And to make the lost realsene camera return back to the USB bus, we need to either fully power cycle our computer connected to the camera every time or replug the USB cable.
Here are some fragments of errors outputs, presumably from the realsense ros launching that we encounter while we see the behavior mentioned above occur:
[ERROR] [1677720428.103703593]: Exception thrown while processing service call: set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Connection timed out
[ WARN] [1677720489.345557085]: Device 1/1 failed with exception: set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Connection timed out [ERROR] [1677720489.345625845]: The requested device with is NOT found. Will Try again. Waiting for service /camera/stereo_module/set_parameters... [ INFO] [1677720495.496215966]: [ WARN] [1677720500.603348698]: Device 1/1 failed with exception: set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Connection timed out [ERROR] [1677720500.603408365]: The requested device with is NOT found. Will Try again. [ INFO] [1677720506.752170420]: [ WARN] [1677720511.859261067]: Device 1/1 failed with exception: set_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Connection timed out [ERROR] [1677720511.859325661]: The requested device with is NOT found. Will Try again.
[ WARN] [1677720559.531481319]: No RealSense devices were found!
Details on our realsense camera, USB, firmware, and libraries versions:
$ rs-enumerate-devices -S Device Name Serial Number Firmware Version Intel RealSense D435I 153122071994 05.14.00.00 Device info: Name : Intel RealSense D435I Serial Number : 153122071994 Firmware Version : 05.14.00.00 Recommended Firmware Version : 05.14.00.00 Physical Port : /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1:1.0/video4linux/video0 Debug Op Code : 15 Advanced Mode : YES Product Id : 0B3A Camera Locked : YES Usb Type Descriptor : 3.2 Product Line : D400 Asic Serial Number : 208223060267 Firmware Update Id : 208223060267
RealSense ROS v2.3.2 Built with LibRealSense v2.53.1
We would like to have the D435i in our robot running for more than a few hours continuously with no interventions and the above behavior has been hindering that. Is there any solutions or root causes explained around this issue?
Thanks for your help!
Hi Mfazil A particular RealSense ROS wrapper version should ideally be matched as closely as possible with a specific librealsense SDK version listed in that wrapper's release notes. The recommended SDK match for ROS1 wrapper 2.3.2 is 2.50.0, though 2.51.1 should also work with it.
Because development of the ROS1 wrapper has ceased at 2.3.2, each subsequent SDK release is likely to become increasingly incompatible with wrapper 2.3.2. You may therefore achieve increased stability if you install SDK 2.51.1 from source code and then build wrapper 2.3.2 from source code.
If you do install SDK 2.51.1 then your camera firmware version should be downgraded from 22.214.171.124 to 126.96.36.199
If the camera is able to operate correctly for hours before a problem occurs then this can indicate that the problem may be with a glitch in a non-camera aspect of the setup such as the computer hardware, kernel, operating system or the USB system (the port or the cable). For example, if the camera casing is hot to the touch after only a few minutes after starting the camera from a cold state then this could indicate a flaw in the USB port or cable that is causing electrical overheating.
You could also try adding initial_reset:=true to your roslaunch instruction to reset the camera at launch to see whether this leads to an improvement in stability.
Please sign in to leave a comment.