[ros-users] [Ros-kinect] [PCL-users] New drivers

Ken Conley kwc at willowgarage.com
Thu Dec 9 16:50:48 UTC 2010


On Thu, Dec 9, 2010 at 7:39 AM, Nicholas Butko <nbutko at ucsd.edu> wrote:
> Radu,
>
> I'm a little confused about OpenNI. It seems like a library for "natural interaction", which I take to mean "interpreting rgbd data and getting high level output". But it also includes drivers? Are the drivers separable from the openni library? How is the code organized?

Engine/Sensor is the driver.  OpenNI is an abstraction of the driver
so that it can work with multiple drivers, plus a plugin model for
providing higher-level capabilities.  NITE is a plugin to the OpenNI
that provides the skeleton/gesture stuff.

> It is disappointing that OpenNI doesn't support OSX out of the box. I looked a bit yesterday at trying to see what is needed to compile OpenNI for OSX, and it doesn't seem like too much -- the code is well factored around operating system specifics, and the linux code is embarrassingly close to just working on OSX. However, the folks at prime sense might have a better idea.  If it was as simple as things like replacing clock_gettime with gettimeofday, I imagine they would have done it already.
>
> Anyway, I wanted to take a stab at getting the kinect up and running on OSX, and I'd like to have an idea about the best way to go about it. Should I focus on openni, or openni_camera, or nite, or some portion or some combination?

I would probably start outside of ROS with the driver (aka ps_engine):

https://github.com/ros-pkg-git/Sensor

As well as OpenNI:

https://github.com/openni

As OpenNI is a plugin model, you'll have to get it compiling first,
then work on the engine.

> Or should I focus more on the kinect package and forget about OpenNI entirely?

Up to you.  At the ROS level, the abstraction is the same, so the base
driver is interchangeable.  The performance of the PS driver is much
better, though, and you get skeleton tracking.  It sounds like there
are others on the OpenNI-dev list you could coordinate with.

 - Ken



More information about the ros-users mailing list