Kinect

From Noisebridge
Jump to navigation Jump to search

Overview[edit]

Grey donated a Kinect to Noisebridge under the terms that it never be used with an Xbox. Eventually this device was incorporated into the "MC Hawking" robot-controlled wheelchair, which is now at sudo room.

dmolnar donated two "Kinect for Windows v1" and one "Kinect for Windows V2" devices, with no restrictions.

Let the 3D vision hackfest begin!

Hacking[edit]

Kinect for Windows SDK[edit]

This is the "official" development kit. Version 1.8 works with the "V1" sensor and works with Windows 7, 8, and 8.1 . Version 2.0 is still in alpha, but you must use it to work with the "V2" sensor. Version 2 works only with Windows 8 and 8.1 . The V2 sensor also requires USB 3.0 with a "Renesas" chipset.

Both SDK versions will give you access to raw depth data, color RGB, skeleton tracking, audio localization, and voice commands. Both include code samples in C++, C#, and even a few in HTML/JS.

Version 1.8, in addition, includes 3D scanning (under the name "Kinect Fusion") and a face tracking library. The scanning samples output STL files. Download the SDK here http://go.microsoft.com/fwlink/?LinkID=323588 and the code samples here http://www.microsoft.com/en-us/download/details.aspx?id=40277

Version 2 doesn't have the 3D scanning or face tracking in the current alpha release, but check back. Version 2 does come with the "Visual Gesture Builder" tool for making your own gesture recognizers. Download it here: http://www.microsoft.com/en-us/download/details.aspx?id=43661

Both versions need Visual Studio. You can get a free (as in beer) version of Visual Studio here. You will want the "Windows Desktop" version. http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx

Mobile Robotic Programming Toolkit (MRPT)[edit]

Joachim was demoing some impressive stuff with the Kinect using MRPT running under Debian. Running it in Ubuntu and Fedora seems well supported as well, however, running it on Mac OS X is "not yet working 100%". From what I saw on Tuesday, this is best way to play with the Kinect of those listed here.

OpenKinect[edit]

This looks really easy on Ubuntu and other linux flavors. Windows looks like a nightmare as usual but is supported. Jared got it working for Mac OS X during a manual build but it was really unstable on his Leopard MacBookPro. Glview is useful for confirming that you have the drivers for Kinect working but not much else. Basically it just shows you the input to the IR camera and the Visual spectrum camera, but doesn't do anything fancy for showing you a 3D representation of the data like MRPT can.

http://openkinect.org/wiki/Getting_Started

The Libfreenect code has ben checked out and compiles on the Dell Inspiron 1 public linux machine (see below).

OpenNI[edit]

For the longterm this seems very promising. This is a open source project released by PrimeSense, whose technology was licensed to Microsoft for the Kinect. They released this in December and it sounds like it will provide some higher level apis for processing Kinect's data. Currently Linux and Windows are supported but Mac OS X is left out in the cold.

https://github.com/OpenNI/OpenNI

Kinect 3D Viewer[edit]

This there is allegedly a free app for Snow Leopard in the Mac App Store, but unconfirmed. It seems to just be for viewing the data not providing an API.

http://downloadsquad.switched.com/2011/01/18/kinect-3d-viewer-now-available-in-mac-app-store-but-dont-get-t/

Where they live[edit]

Two Kinect V1s are now plugged in to the public Dell Inspiron 1 computer. Libfreenect has been installed on the computer, but it doesn't yet see the Kinects properly. You can find the libfreenect source at /home/noisebridge/kinect-dev/libfreenect !

The Kinect V2 is in its box inside the desk holding the public Dell Inspiron 1 computer.

--

Update -- MC Hawking now lives at Sudo Room

The kinect is mounted on MC Hawking -- The Wheelchair Robot, using hot-glue to hold it onto a piece of plywood. The plywood is screwed to the frame of the LCD monitor which is part of the robot.

For people wanting to use the kinect for things like 3D scanning of objects or pretty much anything else, they are encouraged to try to use it without removing it from the robot. The robot has a linux machine for a brain and much open-source kinect software is installed, but if folks want to use the kinect on their own machine they can just unplug the kinect from the robot brain and plug it into their machine. The robot can also be moved to wherever is convenient for these tasks.

Leaving the kinect on the robot is a good way to keep it from disappearing. If it needs to be removed for whatever reason, the screws can be taken out of the wood, but the wood piece should remain stuck to the kinect (indeed it may be very difficult to get it off without breaking it) -jake

Kinect Hacking Linux Box[edit]

Andy was working on setting up a desktop/shuttle box in the space that can be more or less dedicated for Kinect use. The idea being that if we focus our efforts on getting tons of Kinect hacking tools in place on that box (once complete), then folks can hack and play with the Kinect without having to install all the tools from scratch on their laptop.