Closed hugoyvrn closed 2 years ago
Hi @kerolex Was your previous SDK and wrapper installation on the same Dell XPS 15 computer as your later installation with Method 1, please? If it was then because Method 1 installs both the SDK and wrapper from packages at the same time, you may now have two different SDK installations on the same computer (built from source and packages) that may be conflicting. For example, source and package builds on the same computer can result in a Multiple realsense udev-rules were found! warning. The udev rules are responsible for device handling.
All RealSense SDK related packages on a Linux computer can be uninstalled with the command below:
dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge
@MartyG-RealSense
I had both installations on the same Dell XPS 15. I was reading the threads on the issues and also attempted the command you have just provided (dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge), followed by the reinstallation of only Method 1 for the ros wrapper.
The current installation should still OK.
Thank you for the previous reply @MartyG-RealSense
The problem was/is still there even after the removal of the double installation, and re-installation of only realsense-ros. Would you have any other suggestions on how to solve this address?
P.S.: I also tried to reduce the frame resolution to 640x380, and framerate to 15 or 6 fps, with no success.
@kerolex As you were using a custom launch file rs_cam.launch, do you experience the same problem with the ROS wrapper's rs_camera.launch ?
I am using ROS Melodic and with ros wrapper 2.3.2 still encounter this problem.
My system:
Jetson AGX Xavier Jetpack 4.6 Ubuntu 18.04 Realsense SDK 2.51.1
(messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
Hi @EuguneHayashida I note that you are using librealsense version 2.51.1. It is important to match a particular RealSense ROS wrapper version as closely as possible with the librealsense version listed on that particular wrapper's release notes.
The correct librealsense version to match with ROS1 wrapper version 2.3.2 is 2.50.0 as there is not a ROS1 wrapper for the new 2.51.1 SDK. There are no longer updates of the ROS1 wrapper, as the RealSense ROS developer team's focus is now on the ros2_beta wrapper.
Do you also experience the control_transfer returned warning with librealsense version 2.50.0?
Hi @MartyG-RealSense . I have changed to 2.50.0 sdk and wrapped it using ROS1 2.3.2. The problem still persist. I checked rviz to see whether it is publishing data. I only managed to receive raw depth image.
@EuguneHayashida Have you tried launching with the rs_rgbd ROS1 launch file using the instructions at https://github.com/IntelRealSense/realsense-ros/issues/2454#issuecomment-1221254065 please?
@MartyG-RealSense At first all failed to show raw color image, but I can show raw color image using this line.
roslaunch realsense2_camera rs_camera.launch Initial_reset:=true color_fps:=30
Thanks very much @EuguneHayashida for the update about your success in obtaining the color image.
Hi, I got the same type of error indicated in the title, with my D455 on Ubuntu 20.04, and eventually managed to find a solution, so I decided to share my story here. My feeling is that there needs to be a match between the firmware of the D455 (I used 5.12.15.50) and librealsense2 (I used 2.51) and the ROS wrapper.
Step1. removed any previous install related to 'realsense':
$ dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge
Step2. installed librealsense2 according to https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md > Installing the packages
Make sure to unplug the sensor at the end, wait 10 seconds, then plug it back again. Test
$realsense-viewer
and saw the depth camera is operational.
Step3. Check version of librealsense that was just installed:
$dpkg -l|grep realsense
where I got 2.51
Step4. Firmware upgrade/downgrade of the D455 to match the librealsense 2.51
Now my interpretation is that we need to check the column 'SDK ver' on https://dev.intelrealsense.com/docs/firmware-releases and match that to, in my case, librealsense 2.51
Save the bin file and flash it to the D455 using https://www.intelrealsense.com/developers/ > Firmware update guide > 'Firmware Update Tool (rs-fw-update)'
Make sure to unplug the sensor, wait 10 seconds, then plug it back again.
Step5. Install RealSense Wrapper https://github.com/IntelRealSense/realsense-ros > Method 2
Step6. Test in ROS:
$roslaunch realsense2_camera rs_camera.launch
Troubleshooting: in case of errors, unplug the sensor, wait 10 seconds, then plug it back again.
I tested this approach on a D435 and was successfull too. It worked on Ubuntu 20.04 native as well as a virtual image on VMWare Player 16. Cheers!
Thanks so much @StefanT83 for sharing with the RealSense community the solution that worked for you!
Hi, I got the same type of error indicated in the title, with my D455 on Ubuntu 20.04, and eventually managed to find a solution, so I decided to share my story here. My feeling is that there needs to be a match between the firmware of the D455 (I used 5.12.15.50) and librealsense2 (I used 2.51) and the ROS wrapper. Step1. removed any previous install related to 'realsense': $ dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge Step2. installed librealsense2 according to https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md > Installing the packages Make sure to unplug the sensor at the end, wait 10 seconds, then plug it back again. Test $realsense-viewer and saw the depth camera is operational. Step3. Check version of librealsense that was just installed: $dpkg -l|grep realsense where I got 2.51 Step4. Firmware upgrade/downgrade of the D455 to match the librealsense 2.51 Now my interpretation is that we need to check the column 'SDK ver' on https://dev.intelrealsense.com/docs/firmware-releases and match that to, in my case, librealsense 2.51 Save the bin file and flash it to the D455 using https://www.intelrealsense.com/developers/ > Firmware update guide > 'Firmware Update Tool (rs-fw-update)' Make sure to unplug the sensor, wait 10 seconds, then plug it back again. Step5. Install RealSense Wrapper https://github.com/IntelRealSense/realsense-ros > Method 2 Step6. Test in ROS: $roslaunch realsense2_camera rs_camera.launch Troubleshooting: in case of errors, unplug the sensor, wait 10 seconds, then plug it back again.
I tested this approach on a D435 and was successfull too. It worked on Ubuntu 20.04 native as well as a virtual image on VMWare Player 16. Cheers!
As a side note, downgrading librealsense version might be more stable. Upgrading firmware to 05.14 doesn't help. While I succeed with firmware version of 05.13.00.50 and librealsense version 2.50.00. Put here as a reference
Thanks so much @HanzhiC for sharing the knowledge of what worked for you in your own situation!
Hi, I got the same type of error.
Ubuntu - Ubuntu 20.04.6 LTS Distro - ROS Noetic kERNEL - 5.10.104-tegra ROS Version - 1.16.0 board - Jetson NX Xavier nvidia-jetpack version - 5.1.1-b56
I tried out all possible solutions from above threads, #2467 and all the relevant threads. Still i am unable to resolve my error. @MartyG-RealSense I installed librealsense SDK as you have mentioned in #6710. I tried multiple fresh installations. Below is my roslaunch rs_camera.launch output:
`
roslaunch realsense2_camera rs_camera.launch initial_reset:=true filters:=pointcloud ... logging to /home/art/.ros/log/8b9139e6-3326-11ef-b7f8-204ef6c5f2ab/roslaunch-art-desktop-11602.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://art-desktop:36905/
PARAMETERS
NODES /camera/ realsense2_camera (nodelet/nodelet) realsense2_camera_manager (nodelet/nodelet)
auto-starting new master process[master]: started with pid [11610] ROS_MASTER_URI=http://localhost:11311
setting /run_id to 8b9139e6-3326-11ef-b7f8-204ef6c5f2ab
process[rosout-1]: started with pid [11620]
started core service [/rosout]
process[camera/realsense2_camera_manager-2]: started with pid [11627]
process[camera/realsense2_camera-3]: started with pid [11628]
[ INFO] [1719342613.878392313]: Initializing nodelet with 4 worker threads.
[ INFO] [1719342614.206876604]: RealSense ROS v2.3.2
[ INFO] [1719342614.207188736]: Built with LibRealSense v2.50.0
[ INFO] [1719342614.207358403]: Running with LibRealSense v2.50.0
[ INFO] [1719342614.293887323]:
26/06 00:40:14,403 WARNING [281472275566960] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Resource temporarily unavailable, number: b
[ INFO] [1719342614.658887050]: Device with serial number 022422072391 was found.
[ INFO] [1719342614.659057580]: Device with physical ID 2-3.1-4 was found.
[ INFO] [1719342614.659122189]: Device with name Intel RealSense D435I was found.
[ INFO] [1719342614.660448960]: Device with port number 2-3.1 was found.
[ INFO] [1719342614.660560770]: Device USB type: 3.2
[ INFO] [1719342614.660642179]: Resetting device...
[ INFO] [1719342620.811217833]:
[ INFO] [1719342621.114207678]: Device with serial number 022422072391 was found.
[ INFO] [1719342621.114510818]: Device with physical ID 2-3.1-4 was found. [ INFO] [1719342621.114686437]: Device with name Intel RealSense D435I was found. [ INFO] [1719342621.117501165]: Device with port number 2-3.1 was found. [ INFO] [1719342621.117773873]: Device USB type: 3.2
[ INFO] [1719342621.346695585]: JSON file is not provided [ INFO] [1719342621.346760066]: ROS Node Namespace: camera [ INFO] [1719342621.346822019]: Device Name: Intel RealSense D435I [ INFO] [1719342621.348269624]: Device Serial No: 022422072391 [ INFO] [1719342621.348744254]: Device physical port: 2-3.1-4 [ INFO] [1719342621.349139396]: Device FW version: 05.16.00.01 [ INFO] [1719342621.349609643]: Device Product ID: 0x0B3A [ INFO] [1719342621.350009265]: Enable PointCloud: On [ INFO] [1719342621.350575225]: Align Depth: Off [ INFO] [1719342621.350683130]: Sync Mode: On [ INFO] [1719342621.351550343]: Device Sensors: [ INFO] [1719342621.498702627]: Stereo Module was found. [ INFO] [1719342621.591906362]: RGB Camera was found. [ INFO] [1719342621.592897641]: Motion Module was found. [ INFO] [1719342621.595837299]: (Confidence, 0) sensor isn't supported by current device! -- Skipping... [ INFO] [1719342621.596217144]: Add Filter: pointcloud [ INFO] [1719342621.609975485]: num_filters: 1 [ INFO] [1719342621.610538885]: Setting Dynamic reconfig parameters. hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready) hwmon command 0x80( 5 0 0 0 ) failed (response -7= HW not ready) [ INFO] [1719342625.418956841]: Done Setting Dynamic reconfig parameters. [ INFO] [1719342625.421772945]: depth stream is enabled - width: 848, height: 480, fps: 30, Format: Z16 [ INFO] [1719342625.432607692]: color stream is enabled - width: 1280, height: 720, fps: 30, Format: RGB8
[ INFO] [1719342625.446420946]: Expected frequency for depth = 30.00000 [ INFO] [1719342625.590006587]: Expected frequency for color = 30.00000
26/06 00:40:26,033 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 [ INFO] [1719342626.086007101]: SELECTED BASE:Depth, 0 [ WARN] [1719342626.159362360]: 26/06 00:40:26,221 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 [ INFO] [1719342626.259732182]: RealSense Node Is Up! 26/06 00:40:26,404 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:40:26,455 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:40:26,517 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:40:26,569 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:40:26,620 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:40:26,672 WARNING [281471931629936] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 00:41:10,554 ERROR [281471814197616] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 132
` I feel lost after trying out all the possible solutions. Help me out!
Thanks in advance.
Hi @snix00125 The camera firmware driver version listed in your log is 5.16.0.1. The librealsense SDK 2.50.0 that you are using with wrapper 2.3.2 requires the older firmware version 5.13.0.50, as firmwares are designed to work with specific librealsense versions.
Hi @MartyG-RealSense I have tried that already. I downgraded the camera firmware version to 5.13.0.50. It did not work.
Below is my roslaunch rs_camera.launch output:
`roslaunch realsense2_camera rs_camera.launch initial_reset:=true filters:=pointcloud ... logging to /home/art/.ros/log/ddfd6956-33c2-11ef-b8f0-204ef6c5f2ab/roslaunch-art-desktop-5064.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://art-desktop:32895/
PARAMETERS
NODES /camera/ realsense2_camera (nodelet/nodelet) realsense2_camera_manager (nodelet/nodelet)
auto-starting new master process[master]: started with pid [5072] ROS_MASTER_URI=http://localhost:11311
setting /run_id to ddfd6956-33c2-11ef-b8f0-204ef6c5f2ab
process[rosout-1]: started with pid [5088]
started core service [/rosout]
process[camera/realsense2_camera_manager-2]: started with pid [5091]
process[camera/realsense2_camera-3]: started with pid [5092]
[ INFO] [1719409755.900328895]: Initializing nodelet with 4 worker threads.
[ INFO] [1719409758.732689203]: RealSense ROS v2.3.2
[ INFO] [1719409758.733759350]: Built with LibRealSense v2.50.0
[ INFO] [1719409758.734488312]: Running with LibRealSense v2.50.0
[ INFO] [1719409758.844236951]:
[ INFO] [1719409759.314713148]: Device with serial number 022422072391 was found.
[ INFO] [1719409759.314864892]: Device with physical ID 2-3.4-3 was found.
[ INFO] [1719409759.314928989]: Device with name Intel RealSense D435I was found.
[ INFO] [1719409759.316309440]: Device with port number 2-3.4 was found.
[ INFO] [1719409759.316432481]: Device USB type: 3.2
[ INFO] [1719409759.318814952]: Resetting device...
[ INFO] [1719409765.519914663]:
26/06 19:19:25,633 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11
[ INFO] [1719409765.973402805]: Device with serial number 022422072391 was found.
[ INFO] [1719409765.974610200]: Device with physical ID 2-3.4-4 was found. [ INFO] [1719409765.975000921]: Device with name Intel RealSense D435I was found. [ INFO] [1719409765.976431069]: Device with port number 2-3.4 was found. [ INFO] [1719409765.976868126]: Device USB type: 3.2
[ INFO] [1719409766.423516647]: JSON file is not provided [ INFO] [1719409766.423657928]: ROS Node Namespace: camera [ INFO] [1719409766.423774056]: Device Name: Intel RealSense D435I [ INFO] [1719409766.423873000]: Device Serial No: 022422072391 [ INFO] [1719409766.423977801]: Device physical port: 2-3.4-4 [ INFO] [1719409766.424089481]: Device FW version: 05.13.00.50 [ INFO] [1719409766.424179241]: Device Product ID: 0x0B3A [ INFO] [1719409766.424264169]: Enable PointCloud: On [ INFO] [1719409766.424481834]: Align Depth: Off [ INFO] [1719409766.424625002]: Sync Mode: On [ INFO] [1719409766.424786987]: Device Sensors: [ INFO] [1719409766.566712401]: Stereo Module was found. [ INFO] [1719409766.760469531]: RGB Camera was found. [ INFO] [1719409766.767216332]: Motion Module was found. [ INFO] [1719409766.775163712]: (Confidence, 0) sensor isn't supported by current device! -- Skipping... [ INFO] [1719409766.777315909]: Add Filter: pointcloud [ INFO] [1719409766.780574765]: num_filters: 1 [ INFO] [1719409766.783871702]: Setting Dynamic reconfig parameters. [ INFO] [1719409773.213066785]: Done Setting Dynamic reconfig parameters. [ INFO] [1719409773.219969296]: depth stream is enabled - width: 848, height: 480, fps: 30, Format: Z16 [ INFO] [1719409773.230022598]: color stream is enabled - width: 1280, height: 720, fps: 30, Format: RGB8
[ INFO] [1719409773.278507026]: Expected frequency for depth = 30.00000 [ INFO] [1719409773.902708442]: Expected frequency for color = 30.00000
26/06 19:19:34,863 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 [ INFO] [1719409774.925164815]: SELECTED BASE:Depth, 0 [ INFO] [1719409775.015400563]: RealSense Node Is Up! [ WARN] [1719409775.035816286]: 26/06 19:19:35,065 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,120 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,277 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,361 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 300, error: Resource temporarily unavailable, number: b 26/06 19:19:35,416 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,477 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,548 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:35,717 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:36,329 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:37,143 ERROR [281471710826864] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130 26/06 19:19:37,615 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:19:38,142 ERROR [281471710826864] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130 26/06 19:19:41,483 ERROR [281471710826864] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130 26/06 19:19:42,817 ERROR [281471710826864] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 130 26/06 19:20:13,822 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:20:14,874 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11 26/06 19:20:17,927 WARNING [281472065847664] (messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11`
@snix00125 I note that you are enabling the pointcloud. The ROS1 wrapper has an alternative method of publishing a pointcloud with an RGBD launch instead of using rs_camera.launch if you have not tried it already. Instructions for an RGBD launch can be found at https://github.com/IntelRealSense/librealsense/issues/10223#issuecomment-1152864261
Thanks for the information!! I guess it worked.
I installed RGBD launch using:
Noetic sudo apt-get install ros-noetic-rgbd-launch
Output:
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: gir1.2-goa-1.0 libfwupdplugin1 libxmlb1 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: ros-noetic-rgbd-launch 0 upgraded, 1 newly installed, 0 to remove and 8 not upgraded. Need to get 9,184 B of archives. After this operation, 56.3 kB of additional disk space will be used. Get:1 http://packages.ros.org/ros/ubuntu focal/main arm64 ros-noetic-rgbd-launch arm64 2.4.0-1focal.20240111.192956 [9,184 B] Fetched 9,184 B in 3s (3,204 B/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package ros-noetic-rgbd-launch. (Reading database ... 225523 files and directories currently installed.) Preparing to unpack .../ros-noetic-rgbd-launch_2.4.0-1focal.20240111.192956_arm64.deb ... Unpacking ros-noetic-rgbd-launch (2.4.0-1focal.20240111.192956) ... Setting up ros-noetic-rgbd-launch (2.4.0-1focal.20240111.192956) ...
Then i checked the rostopic "/camera/depth_registered/points" and points were published. I also got the pointcloud2 output in rviz. But the error in terminal did not disappear. Do I just ignore or does it mean it's not fully functioning still? Below are some reference screenshots for your reference:
If the log is showing control_transfer returned warnings but RViz appears to be displaying a topic correctly then it is safe to ignore the warnings.
Alright! I'll proceed my works with this. I'll get back if there is a trouble.
Thank you so much @MartyG-RealSense
You are very welcome. Please do feel free to leave a comment here or create a new issue if you have problems. Good luck!
Hello,
Camera: Realsense depth camera D455 OS: Linux (Ubutuntu 20.04, same issue in Ubuntu 18.04) ROS distribution: ros1 noetic (same issue on ros1 with melodic and ros2 with galactic)
No problem seen with realsense-viewer (neither on Windows 10 nor Ubuntu 20.04).
I changed the USB port and the USB C cable, tested on different computers and reset the camera with realsense-viewer.
I am want to do localization with the camera
roslaunch realsense2_camera rs_camera.launch
orroslaunch realsense2_camera rs_rgbd.launch
, whatever the parameters used I never get Pose, odom nor tf publication.Two errors seem to be the problem :
and
Does anyone have any idea what is causing this problem?
Thanks in advance.
Some terminal outputs: