asked 2012-03-22 13:14:23 -0500amck77
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.
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.
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
Asked: 2012-03-22 13:14:23 -0500
Seen: 224 times
Last updated: Mar 23 '12