During 3 weeks of March this year I had some time to spare for a University project of my own choosing. As i have been eager to try out the Microsoft Kinect sensor (for anything but its intended purpose), it was an obvious choice for my project.
In my hunt for a more specific subject involving the Kinect, I became increasingly annoyed with the lack of specifications on sensor-usage of the device. Soon I realized that even a very basic datasheet could prove to be very useful for anyone wanting to get involved with the Kinect.
With the consent of the professors at the DTU Institute of Automation and Control I decided to have my project focus on the making of a datasheet, and evaluating applicability of the Kinect sensor within the field of mobile robots.
This is the abstract of the final report:
"Through this project, a data sheet containing more detailed specifications on the pre-
cision of the Kinect, than are available from official sources, has been created. Fur-
thermore, an evaluation of several important aspects when considering the use of
Kinect for mobile robots has been conducted, making it possible to conclude that the
Kinect is to be considered as a very viable choice for use with mobile robots."
Analysis of Kinect for mobile robots, Mikkel Viager 2011
Tests were carried out using a customized version of the open source linux driver for the Kinect, running on a custom slackware image called "Mobotware" developed and used for all robotic platforms at our institute. From the experiment results I created several graphs and a specification table, as is normally seen for many other datasheets.
In my following Kinect projects I have made good use of the below graph and equation, for assessing expected point cloud resolutions at different distances.
The values are of course only an approximation based on measurement data from a specific Kinect unit, but have proven to be a viable estimate for general use with other Kinects as well.
Whereas small adjustments should be made for this equation to fit each individual Kinect, the graph does still provide a good overview of what sensor values to expect. Most recently i have used this to decide how to best fit all measurements in a certain distance range into an 8-bit grey scale png image, for further analysis using OpenCV functions.
The final report was well received and is currently used as a reference for our ongoing Kinect projects, which gave rise to the idea of posting the work online for others to benefit from.
As there are no other Kinect datasheets out there (at least I haven't been able to find any yet), my report is currently the no. 1 search result on searches for "Kinect datasheet" on google.com.
I have embedded the entire report below, scrolled down to the datasheet which is found on page 27. The entire report is there, if you are interested in reading the methods and argumentation behind the datasheet results.
The report can also be found on scribd.com Here.
I hope that my results can be of help to others interested in the potential of the Kinect, at least until we are provided with a proper official datasheet to use instead.
If you found my datasheet useful for your own Kinect project, I'd be very interested in knowing about it! Please leave a comment describing what you are working on, how you used my datasheet and perhaps how you found it =)
This Kinect Fact sheet released by Microsoft seems to be the closest we get to official information...
If you want the manufacturers details on the key components the Kinect is made of, links to these datasheets are collected over at OpenKinect.org's Wiki
Update 2 (June 16th 2011)
Today this post was promoted as a news item on the official DTU Electrical Engineering institute's homepage =)
Update 3 (March 14th 2012)
Added link to a downloadable pdf version of the report, as per several requests.
Posted by Mikkel Viager
- Free dynamic DNS for Raspberry Pi
- Mumble VoIP server on a Raspberry Pi
- How to make windows 8 start on desktop
- Raspberry Pi, the XBMC HTPC: OpenELEC
- Raspberry Pi, the XBMC HTPC: RaspBMC