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.
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
Problem pertaining to DepthGenerator
OpenNI compilation error, Diamondback, version mobile, ARM
How to install NITE in Ubuntu10.04?
depth wrong using openni_camera depth image
what's the resuts of GetSkeletonJointOrientation()
How to change the Kinect point cloud resolution
How to display the Kinect point cloud using image colours?
NI Stack shows different outputs on Kinect
Multiple Kinects: Same Topics from different nodes, how to subscribe?
ROS Answers is licensed under Creative Commons Attribution 3.0 Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.