>Advice on using the Kinect
I've been around with this Kinect for a while now. Since Memo from msavisuals.com put me on to it I've been hooked. Tom Wyatt from the London Hackspace has also been chatting with me about it and we've been working on different aspects of the device. Tom has a flair for the kiddy dramatic cool stunts; his Kinect Tesla Coils went down at storm at Makerfaire. Thing is, I realise I haven't written up much about how best to use the device and how it works from a software engineering point of view. One of my friends recently asked me about this so I thought I'd better do a writeup.
So, the Kinect was hacked by Marcan, who's work is quite amazing. His library is know as libfreenect and is available on git. This is the starting point and there are libraries that allow you to get access to the device on all the 3 major platforms. The issue here is that libusb is involved which is affected by your choice of OS and thats where things could or could not go wrong.
Under MacOS I was using the version that came with homebrew, my installer of choice. The default version is too recent apparently, you need one that lives deep in subversion. Apparently there is one however within homebrew if you specify the correct flag.
Of course, the nasty issues of 64bit vs 32bit arise and that is an issue in itself. Be careful which path you choose. I went 32bit in the end though there are 64 bit versions of the OpenNI libs which you may wish to use.
All that said, you should be able to get one of the examples running such as Openframeworks with the ofxKinect demo or Cinder with the Kinect Cinder Block. Either way, you'll get something like the camera and the depth stream. For me, this was enough for the NIN Only Demo and it worked really well.
Of course, you want to play with all the Skeleton Tracking and sexy computer vision stuff though? This is where things get odd. We move away from libfreenect and into the realm of OpenNI, NITE and the hacked SensorKinect module. Basically, this is quite confusing initially. OpenNI is a framework for interesting user interfaces. That is all really. Nothing more. Then, a company called Primesense did a load of cool computer vision stuff with their own depth camera and came up with the NITE libraries. These libraries allowed the skelton and hand tracking stuff to work. They let slip that their camera was very similar to the Kinect. Once they'd released the source, the sensor module was hacked to allow the kinect to take place of their camera. Job done.
Openframeworks has a good writeup on using the OpenNI sensor kinect stuff with their projects, but the best bet is to get the basic demos installed. I did this the hard way with rebuilding everything but you can check out Roxlus work on ofxOpenNI and try that way. The main OpenNI page has the NITE libraries and the OpenNI libraries you need on their beta page. Being hardcore, I went with the instructions over on GIT.
There are plenty of resources out there on this but getting familiar with GIT, Make and GCC are quite essential!