Closed hellovuong closed 1 week ago
Additionally, If I installed the SDK from source with parameters -DFORCE_RSUSB_BACKEND=true
the error:
07/11 12:48:44,410 WARNING [281472116171120] (backend-hid.h:68) write_fs_attribute Could not change accel_3d-dev15 to accel_3d-dev5 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/trigger/current_trigger
07/11 12:48:44,414 WARNING [281472023916912] (backend-hid.h:68) write_fs_attribute Could not change gyro_3d-dev16 to gyro_3d-dev6 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/trigger/current_trigger
07/11 12:48:44,417 WARNING [281472124563824] (backend-hid.h:68) write_fs_attribute Could not change 0 to 1 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/buffer/enable
07/11 12:48:44,417 WARNING [281472124563824] (backend-hid.cpp:717) HID set_power 1 failed for /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/buffer/enable
07/11 12:48:44,418 WARNING [281472107778416] (backend-hid.h:68) write_fs_attribute Could not change 0 to 1 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/buffer/enable
07/11 12:48:44,418 WARNING [281472107778416] (backend-hid.cpp:717) HID set_power 1 failed for /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/buffer/enable
NOT appear any more but the frequency of color image is very low like only ~3Hz
Hi @hellovuong The message No stream match for pointcloud chosen texture Process - Color
indicates that color frames are missing because they are being dropped.
The IMU topics are disabled by default in the ROS wrapper. enable_accel and enable_gyro can be set to true in the launch file if you have not done so already, or you can enable them in the roslaunch by adding to the launch instruction the following parameters:
enable_accel:=true enable_gyro:=true unite_imu_method:=linear_interpolation
The unite_imu_method combines the two separate /accel and /gyro topics into a single combined /imu
topic.
Hi @MartyG-RealSense, Sorry I copied the wrong launch file. In the correct launch file, I did enable Gyro and Accel and unite method but the camera did not publish any data. I am pretty sure this warning is relevant but could not understand why it happened:
07/11 12:48:44,410 WARNING [281472116171120] (backend-hid.h:68) write_fs_attribute Could not change accel_3d-dev15 to accel_3d-dev5 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/trigger/current_trigger
07/11 12:48:44,414 WARNING [281472023916912] (backend-hid.h:68) write_fs_attribute Could not change gyro_3d-dev16 to gyro_3d-dev6 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/trigger/current_trigger
07/11 12:48:44,417 WARNING [281472124563824] (backend-hid.h:68) write_fs_attribute Could not change 0 to 1 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/buffer/enable
07/11 12:48:44,417 WARNING [281472124563824] (backend-hid.cpp:717) HID set_power 1 failed for /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200073.2.auto/iio:device15/buffer/enable
07/11 12:48:44,418 WARNING [281472107778416] (backend-hid.h:68) write_fs_attribute Could not change 0 to 1 : path /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/buffer/enable
07/11 12:48:44,418 WARNING [281472107778416] (backend-hid.cpp:717) HID set_power 1 failed for /sys/devices/platform/3610000.xhci/usb2/2-2/2-2:1.5/0003:8086:0B5C.0043/HID-SENSOR-200076.3.auto/iio:device16/buffer/enable
As you have a D455f and a Jetson, is your Jetson using JetPack 6 please?
JetPack 6 removed a function called hiddraw that RealSense cameras equipped with an IMU (known as HID devices) make use of and so these cameras will not work with JP6.
Possible fixes for this JP6 IMU issue include building librealsense from source code with RSUSB = true - as you found earlier at https://github.com/IntelRealSense/realsense-ros/issues/3247#issuecomment-2462175011 - or downgrading the JetPack version to 5.1.3.
Is the 3 Hz frequency that you experienced with the color stream improved if you add the parameter auto_exposure_priority:=false to your roslaunch instruction?
You are very welcome. I look forward to your next update. Good luck!
Unfortunately, the parameter auto_exposure_priority:=false doesn't help to improve the fps of the color image.
How does color perform if you use the roslaunch instruction below?
roslaunch realsense2_camera rs_camera.launch align_depth:=true filters:=pointcloud enable_accel:=true enable_gyro:=true unite_imu_method:=linear_interpolation color_width:=848 color_height:=480 color_fps:=30
I ran a couple of tests throughout today: with SDK build from source with RSUSB = true:
roslaunch realsense2_camera rs_aligned_depth.launch enable_infra1:=false enable_infra2:=false enable_fisheye:=false enable_pointcloud:=false accel_fps:=200 color_width:=848 depth_width:=848 enable_gyro:=true enable_accel:=true
-> gyro/accel/color/depth works in correct fps roslaunch realsense2_camera rs_aligned_depth.launch enable_infra1:=false enable_infra2:=false enable_fisheye:=false enable_pointcloud:=true accel_fps:=200 color_width:=848 depth_width:=848 enable_gyro:=true enable_accel:=true
-> Enable pointcloud, no color or gyro/accel sends only depth image_raw and pointcloud are availableroslaunch realsense2_camera rs_camera.launch align_depth:=true filters:=pointcloud enable_accel:=true enable_gyro:=true unite_imu_method:=linear_interpolation color_width:=848 color_height:=480 color_fps:=30
-> (your recommendation) result same as the 2nd commandDo you think it can related to the USB port, cause seems like it can deliver up to a certain amount of data?
More detail output when I run this configuration:
roslaunch realsense2_camera rs_aligned_depth.launch enable_infra1:=false enable_infra2:=false enable_fisheye:=false enable_pointcloud:=true accel_fps:=200 color_width:=848 depth_width:=848 enable_gyro:=true enable_accel:=true
color image had published for some seconds until the console log printed out:
11/11 14:55:18,669 ERROR [281472049062256] (uvc-streamer.cpp:106) uvc streamer watchdog triggered on endpoint: 132
then no more color image :(
I recommend not using rs_aligned_depth.launch due to the very old age of that file (over 5 years). rs_camera.launch would be preferable. However, when rs_camera.launch has problems with publishing a pointcloud, a method that often works is to use the rs_rgbd.launch
file instead.
First you will need to install support for an RGBD launch on Noetic using the command below:
sudo apt-get install ros-noetic-rgbd-launch
Then launch rs_rgbd.launch with the following instruction:
roslaunch realsense2_camera rs_rgbd.launch enable_pointcloud:=true enable_accel:=true enable_gyro:=true color_width:=848 color_height:=480 color_fps:=30
You do not need to enable alignment with this launch file as it is already enabled by default. This launch file also does not have the unite_imu_method
parameter and will publish the IMU data to separate /accel and /gyro topics instead of combining them into a single /imu topic.
With the rs_rgbd launch file, the pointcloud is published to depth_image_proc instead of /camera/depth/color/points
Hi, Thank you for your suggestion. I figured out that this problem can be related to our kernel, I will close the issue and investigate internally. Thank you again for your active support!
You are very welcome. I'm glad to help. Thanks very much for the update!
Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):
All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)
Issue Description
I installed SDK in Dockerfile as follows:
The ROS1 wrapper is from ROS1-legacy with config as follows:
I checked the compatibility of SDK and firmware in https://dev.intelrealsense.com/docs/firmware-releases-d400 and it should be correct. However, I can not receive IMU data. Can you help me to debug where is the problem? Here is the output of realsense launch:
Out of those log I think this is interesting: