On Thu, Dec 9, 2010 at 7:39 AM, Nicholas Butko 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