Here's a portion of a screencap I made while trying to sort out some driver/hardware issues.
Basically, it's a matrix of versions of the same software arranged by where they were procured from. But first, a little explanation might be in order.
We all know about the incredible things the Microsof Kinect has done for robotic vision. But anyone who jacks around with computers or is crazy enough to try to build robots knows that hardware is just another word for junk--unless it's integrated with software.
OpenNI is the "go to" software when you want use your Kinect to create a 3d map of a room, or distill a human silhouette into a wireframe skeleton for motion capture or gesture recognition. It consists of three packages. OpenNI, NITE, and a driver.
Right now there are two drivers for OpenNI. One for the Microsoft Kinect (of course.) And one for the Asus Xtion Pro Live. (Not to be confused with the Asus Xtion Pro--which lacks color support.)
The Asus Xtion Pro Live, looks something like a baby Kinect--smaller and lighter, and gets its power from its single USB port. Hardware-wise it's arguably a better robot vision device than a Kinect. But what do I know--Once upon a time, I bought an Amiga and a Betamax.
And. . .The Xtion Pro Live runs OpenNI. Tho you might have trouble convincing GroG of that.
When I finally got my Xtion Pro Llive, I had NO idea what to do with it. It came with a Windows disk, which was frankly useless to me. There WAS a linux folder on the disk, with some files in it. But I had no idea what to do with them.
So I did what any clueless tinkerer does--Google it. And I found Simple-OpenNI.
Simple-OpenNI is a Processing wrapper for OpenNI. The example code for OpenNI is in C++ and is, in a word, DENSE. I managed to get Simple-OpenNI installed with only a little snarling and hair loss, and. . .doncha know, the examples were straightforward and practically begged you to tinker with them.
Then I switched from 64 bit Ubuntu to 32 bit.
I had good reason for this. Houston's SBC has a 32 bit processor, and GroG's Ubuntu computer is 32 bit. It's nice to be able to tinker with this stuff at my main 64 bit computer, but it's got to WORK on a 32 bit computer.
Of course. . .there were some issues. First, it seems some lib file was left out of the 32 bit binaries. I probably could have tried to compile the source code but. . .Well--hat's what I have GroG for! Besides, a version or two later they tucked everything back in place and it worked. Well. . .some of it does. Everything works great on my 64 bit computer. But on the 32 bit computer, the examples that track body parts or create line skeletons crash right away.
There seems to be an issue between Java and Processing. But now that I see that the OpenNI files that come bundled for SimpleOpenNI are the same as the unstable OpenNI release, (what GroG would call "the bleeding edge") I can start poking around with versions of Java and see if I can get Processing and Java to play nice together.
I'll let you all know.