realsense-ros: d435 on v2.0.2 w/ librealsense v2.10.0:: `[ERROR] [1518537840.126603320]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).`

I’m getting a lot of errors when running rs_rgbd.launch when starting up rosbag record -a and seeing almost no data (just 1 second worth out of 30) published to /camera/depth_registered/points on my d435.

I’m running realsense ros v 2.0.2 with librealsense v2.10.0. When I boot up roslaunch realsense_ros_camera rs_rgbd.launch, I get a constant stream of the following error:

[ERROR] [1518537840.126603320]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).

Over the course of running the camera for 30 seconds, occasionally, there’s some of these interspersed:

[ERROR] [1518537921.717247204]: cv_bridge exception: '[16UC1] is not a color format. but [bgr8] is. The conversion does not make sense'
[ERROR] [1518537921.726020775]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).

As well as these, a couple times (not regularly):

 13/02 08:04:04,348 WARNING [140517392402176] (backend-v4l2.cpp:825) Frames didn't arrived within 5 seconds

This also happens once:

 13/02 08:04:04,710 WARNING [140518176167808] (types.cpp:57) get_xu(id=11) failed! Last Error: Input/output error
[ WARN] [1518537844.712649470]: Reconfigure callback failed with exception get_xu(id=11) failed! Last Error: Input/output error:

When I rosbag record for these 30 seconds, I find that there is regular data being published to /camera/color/image_raw, but only once (at second 11) was there data published to /camera/depth_registered/points.

Does anyone have any thoughts as to why these issues could be happening?

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 20 (4 by maintainers)

Most upvoted comments

the correct regex format for me is the following

rosbag record -o ~/ -a -x "(.*)theora(.*)|(.*)compressed(.*)"

edit: this only suppresses the recording, however a correct approach would be suppressing the topics altogether.

I was able to get around this issue by using the -x option in rosbag to exclude the one topic that was causing issues. The full command to do this is,

rosbag record -a -x ".*(theora)"

added this to the general launchfile specifying the namespace, just before the include of the camera nodelet:

<rosparam param="/realsense/infra1/image_rect_raw/disable_pub_plugins" > - 'image_transport/compressed' - 'image_transport/compressedDepth' - 'image_transport/theora' </rosparam> <rosparam param="/realsense/infra2/image_rect_raw/disable_pub_plugins" > - 'image_transport/compressed' - 'image_transport/compressedDepth' - 'image_transport/theora' </rosparam> <rosparam param="/realsense/depth/image_rect_raw/disable_pub_plugins" > - 'image_transport/compressed' - 'image_transport/compressedDepth' - 'image_transport/theora' </rosparam> <rosparam param="/realsense/color/image_raw/disable_pub_plugins" > - 'image_transport/compressed' - 'image_transport/compressedDepth' - 'image_transport/theora' </rosparam>

@gonultasbu I am not sure what exactly was going on but fixed it and gave credit to you here https://robotics.stackexchange.com/a/105440/16739