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

openni kinect driver CPU usage

asked 2012-03-22 08:14:23 -0500

amck77 gravatar image

updated 2016-10-24 09:00:12 -0500

ngrennan gravatar image

Hi there,

I'm using the Kinect with a Turtlebot. I'm finding that the openni driver which I need to run is very CPU intensive. I've been looking for a way to decrease CPU usage by decreasing the amount of topics it publishes. From what I've read, it seams like the topics are only published if there is something subscribing to them. Is this correct? Is there anyway to cut down the driver to choose which video streams are available for use?

Thanks for any advice.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-03-22 14:13:29 -0500

Kevin gravatar image

Yes, if you look at the code, the driver looks to see if something is subscribed and if so, then publishes the message.

You have access to the driver and can cut away what you want, but I don't think you will get much out of it.

edit flag offensive delete link more

answered 2012-03-23 03:13:20 -0500

updated 2012-03-23 03:15:28 -0500

Subscribing to the "RGB" and "D" images is far less expensive than subscribing to the XYZRGB-cloud. Depending on what you do with the data, you can save computation time by using the images, just the XYZ-cloud or by selectively computing the cloud (i.e., don't subscribe to the cloud and subsample it, but create a cloud only from every n-th pixel.

P.S: I once hacked the old drivers to send every n-th frame, somehow that should still be possible with the current one

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-03-22 08:14:23 -0500

Seen: 524 times

Last updated: Mar 23 '12