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

Openni+Kinect+Other Machines

asked 2013-07-11 08:14:37 -0500

Qandeel gravatar image

updated 2014-04-20 14:09:41 -0500

ngrennan gravatar image

I want to get data from a Kinect connected to a machine and pass it to my laptop (which is connected to the first machine). I know I can run roscore on the first machine and make it the master. Then, I was wondering if I can run openni_launch on my laptop and make it recognize that a kinect is connected to the master machine (not my laptop). So far roslaunch on openni fails on my laptop because the kinect is not connected directly to my laptop.

Any help is appreciated.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-07-11 10:00:55 -0500

Philip gravatar image

To my knowledge, this is not possible with just OpenNI (which was not developed for this usecase).

You might look into the possibility to install something on both machines which allows you to forward the USB-data from the BeagleBone to a virtual USB-port on the laptop - I don't know if there are solutions for this. Afaik some router manufacturers allow for this in order to access printers attached to the router from any connected PC as if it were connected locally.

Even if it is possible, you'd probably have to use a GBit-network connection as a Kinect uses about 60% of the available USB-bandwidth (which should be around 480 MBit/s, so 250+ used by the Kinect).

edit flag offensive delete link more

answered 2013-07-11 09:42:22 -0500

thebyohazard gravatar image

It doesn't matter which machine has the master attached as long as both machines have full connectivity and agree on the master. Check this page and this page for how to do that.

openni_launch contains the driver for the kinect, so you'll have to launch that on the machine with the kinect.

However, you can use roslaunch to remotely launch the openni driver on the other machine from your laptop. Then, through ROS mechanisms, you could use the data in nodes running on your laptop as if the kinect were hooked up to your laptop. Check out the machine tag, tips for large projects, and the roslaunch architecture for how to do that.

edit flag offensive delete link more


I don't have openni drivers installed on the other machine. It's a BeagleBone with an ARM processor and I have yet to figure out how I can install the ros openni on it. I wanted to know if openni can run on my laptop but look for the Kinect off of the BeagleBone rather than itself.

Qandeel gravatar image Qandeel  ( 2013-07-11 09:53:33 -0500 )edit

As fas as I know, you have to run openni on the machine you plug the kinect in. The driver must run inside the machine connected directly to the kinect so you have to install the openni there.

agonzamart gravatar image agonzamart  ( 2013-07-11 11:18:45 -0500 )edit

Question Tools


Asked: 2013-07-11 08:14:37 -0500

Seen: 440 times

Last updated: Jul 11 '13