ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to use kinect data to run RGBDSLAM over multiple machines?

asked 2013-07-17 22:10:31 -0600

longzhixi123 gravatar image

updated 2016-10-24 09:01:43 -0600

ngrennan gravatar image

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

edit retag flag offensive close merge delete


Have you solved this problem?I want to run rgbdslam over multiple machines.Can you give some advices?

yincanben gravatar image yincanben  ( 2014-11-19 20:55:43 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-07-21 02:09:19 -0600

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.
edit flag offensive delete link more

Question Tools

1 follower


Asked: 2013-07-17 22:10:31 -0600

Seen: 809 times

Last updated: Jul 21 '13