The document discusses hacking the Kinect for open source and educational purposes. It provides a brief history of the Kinect's release and the development of open source drivers. It then outlines how to set up the necessary software and hardware to access the Kinect's camera and depth sensing capabilities. The author hacked the Kinect to create an interactive robotics display for a science education event within one week.
1 of 10
More Related Content
South Florida Hack and Tell Kinect presentation
1. Hacking the Kinect for good and/or evil (mostly good) Pierre Baillargeon (@Kabong) February 5, 2011
2. The story Kinect is released by Microsoft on November 4 th , 2010 The same day, Adafruit Industries announced a cash prize to the first person to provide open source drivers that could access both the visible light RGB camera and the IR depth camera ( http://www.adafruit.com/blog/2010/11/04/the-open-kinect-project-the-ok-prize-get-1000-bounty-for-kinect-for-xbox-360-open-source-drivers/ ) Six days later, Hctor Martn Cantero publishes first open source driver and claims prize PrimeSense (Kinect hardware developers) release their own open source driver and motion tracking middleware (NITE) on December 10, 2010 ( http://www.joystiq.com/2010/12/10/primesense-releases-open-source-drivers-middleware-for-kinect/ )
3. Why do I care?! Ill just use a COTS USB camera! Two reasons: Depth camera Image credit Matthew Fisher ( http://graphics.stanford.edu/~mdfisher/Kinect.html ) 2) Brains (NITE middleware)
4. Where do I start? What youre going to need: A Kinect Drivers for your Kinect (OpenKinect or OpenNI) NOTE: The NITE middleware only works with the OpenNI driver! What youre probably going to want A helpful programming framework (OpenFrameworks) Documentation (sparse now, best source of documentation is the example programs that come with OpenNI/NITE & OpenKinect)
5. Why did you do this? Needed something to update the robotics display for third annual Scripps science education day. How can we get kids excited about science and engineering? What can I build in one week?
9. Demo & Acknowledgements Volunteers for demo? Thanks to the OpenFrameworks and OpenKinect communities for providing the open source software Thanks to Mike Greenberg and The Collide Factory for hosting this event! Thanks to Brian Campbell (@Chophaus) for helping with awesome robot graphics ?
10. Where can I go to learn more? Jiggywatts.com (source code and presentation posted on my blog): http:// www.jiggywatts.com / Wired: How Motion Detection works in Xbox Kinect - http://www.wired.com/gadgetlab/2010/11/tonights-release-xbox-kinect-how-does-it-work/ OpenKinect Drivers C http:// www.openkinect.org / OpenNI (PrimeSense backed) Drivers C http:// www.openni.org / OpenFrameworks Forums (tons of great Kinect demos) - http:// www.openframeworks.cc /forum/
Editor's Notes
#4: Show of hands, who has done any image or video processing programming? Did you have fun trying to get the lighting right? Did you enjoy writing morphological operators to locate and track objects? The PrimeSense library takes care of all of that. It works in a room with bright lights, a room with no lights. You dont write any code to track players, you just access the player object and ask for the spatial coordinates of the players joints. If you would rather roll your own toolset, you still have a headstart with the depth camera
#5: It is important to point out here that there are two flavors of Kinect open source programming right now: OpenKinect (result of the original Adafruit contest) and OpenNI/NITE (result of PrimeSense making their driver and middleware available). The OpenKinect drivers are very basic and allow you to access the raw data coming from the IR and RGB cameras (also allows motor control). The OpenNI/NITE tools allow the same, plus they add a layer of abstraction where you can deal directly with player data instead of the IR/RGB feeds. OpenNI/NITE does not allow motor control currently.