Rosanswers logo

Hello, I want to use turtlebot to run RGBDSLAM: use a laptop connected kinect camera to obtain depth data and color data, and then through a wireless way to send the depth data and color data to the workstation side of the desktop, and then on the workstation side running RGBDSLAM. However, I encountered some problems.

1.on the workstation ssh -X turtlebot@IP_OF_TURTLEBOT

  1. on the turtlebot: roslaunch openni_camera openni_node.launch
  2. on the workstaion: rosrun rviz rviz

and i set the "FIxed frame : /openni_camera", and i can use rviz to see the depth data"/camera/depth/image_raw" and color data "/camera/rgb/image_mono". but the color data and the depth data seems not synchronized.when i got 2 depth data ,1 color data i got.

  1. i want to use the color data and depth data in RGBDSLAM. and on the workstaion : rosrun rgbdslam rgbdslam the GUI Appear. but it always sits with blank screens in a 'waiting for image/motion' state.

  2. in the web link text i set the "subscriber_queue_size" to a high value. The situation is still the same.

PS: my turtlebot laptop 32bit ubuntu 11.10. Electric workstaion desktop 64bit ubuntu 11.10 Electric Thanks in advance

Originally posted by longzhixi123 on ROS Answers with karma: 78 on 2013-07-17

Post score: 0

Original comments

Comment by yincanben on 2014-11-19:
Have you solved this problem?I want to run rgbdslam over multiple machines.Can you give some advices?


1 Answer 1


Rosanswers logo

Wireless is slow, many images are therefore dropped. This leads to badly synchronized images. RGBDSLAM uses the approximate time synchronizer to pair color and depth image (and camera info). I assume that the synchronization of the respective images is too bad to find pairs.

My suggestions:

  • Reduce bandwidth by using the monochrome image instead of rgb-color
  • Reduce bandwidth using qvga resolution.
  • Avoid the unsynchronized dropping of messages: Write and run a proxy node on the robot that combines color image, depth image and camera info in a custom message and sends that. Then on the other machine, write a proxy that splits the message and sends it again on three topics to rgbdslam. Then either all or nothing is dropped.

Originally posted by Felix Endres with karma: 6468 on 2013-07-21

This answer was ACCEPTED on the original site

Post score: 2


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.