Rosanswers logo

Let me first describe the system that I've came up with..

I have two Odroid-U3 with Asus Xtion Pro Live and Wifi. Both of them run the

 roslaunch openni2_launch openni2.launch

with the video resolution changed from VGA to QVGA...

The base station system (my computer) decompresses

 /cameraX/depth_registered/image_raw (compressedDepth)
 /cameraX/rgb/image_color_rect (compressed)

and synchronizes

/cameraX/rgb/image_rect_color_unsync (decompressed)
/cameraX/depth_registered/image_raw_unsync (decompressed)

and advertises


which the rgbdslam node subscribes to; where X may be 1 or 2.

They are both connected to a wireless N-lite router which bandwidth may reach upto 150 Mbps. image description

Using Wifi Analyzer Android App, it detected no other wifi signal in the same channel as the current wifi network.

Result: It is somewhat smooth but there are times when it drop frames. Running only one openni2 streaming do not really drop frames.. I therefore concluded that it was due to wifi bandwidth.

The further optimization that I can think of are..

1.) Instead of transmitting colored images, transmit only grayscale images.

2.) Rethrottle frame rate around 15fps only.


1.) What are other optimization suggestions I can do?

2.) running openni2_launch openni2.launch does not advertise grayscale image. What ros parameter should I include in the openni2.launch in order to generate /camera/rgb/image_rect_mono?? Because running imgproc node DO generate image_rect_mono

3.) Using dynamic reconfigure, the openni camera can only be rethrottled to 30 fps.. I tried 25 fps but it did not work. How do I rethrottle it to 15fps?

EDIT: I tried running the dynamic reconfigure and set to data skip to 1. I assume this means it will publish 1 in every 1 frame. It should mean no difference. However, it seems after setting data skip to 1, the frame rate starts to decline and wants to approach zero.

When data skip is set to 0

image description

When data skip is set to 1

image description(/upfiles/14062739298942344.png)

as of 15:39, the frame rate is 16.559 and still keeps on decreasing.

Originally posted by Xegara on ROS Answers with karma: 52 on 2014-07-24

Post score: 0

Original comments

Comment by yincanben on 2014-11-19:
I was trying to run rgbdslam over multiple machines, but the speed of mapping is very slow ,Have you solve this problem?Can you advertise some advice?Thanks in advance.


1 Answer 1


Rosanswers logo

The original openni_camera node has a data_skip parameter which can instruct the driver to only publish 1 in every N frames. openni2_camera is not nearly as well documented, but perhaps it has a similar parameter?

Originally posted by ahendrix with karma: 47576 on 2014-07-25

This answer was ACCEPTED on the original site

Post score: 1

Original comments

Comment by Xegara on 2014-07-25:
Initially, data_skip is set to 0. I tried to set it to 1. If the driver now will only publish 1 in every 1 frame, there should be no difference right? I have attached a screenshot above. As time progresses, the frame rate seems to decline and wants to approach zero. Why is that?

Comment by ahendrix on 2014-07-25:
I think setting data_skip to 1 will drop every other frame; it's probably approaching 15, not 0. Try setting the window parameter in rostopic hz to something that isn't infinite, to get better readings:

rostopic hz -w 120


Your Answer

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