One Solution- Microsoft'w Kinect sensor (for XBox) --- (yeah instructor owns some we are going to use...and some given to her by Microsoft for development ---thank you very much!)
- Kinect and Developer Page
- System Configuration App (preferrably web based) that takes picture of scene and through user input determines the 3D plan of the floor
- issues/assumptions:
- one level floor (not multi-level)
- only observe current room
- use camera and depth sensing of Kinect
- note: you will probably need to process the raw data yourself but, there are some API calls that let you extract sekeletons of person(s) in front of sensor (may have problems with occlusion?)
That is, if you want to get the data at x,y in the image this is stored in the 16-bit element:
Image[x+y*width]
- Bits 3-15: The high 13 bits of the 16-bit value give you the measured distance in millimeters.
- Bits 0-2: The first three bits code for the player that the device has identified, but this is only activated if skeleton tracking is enabled. If you don't enable skeleton tracking, the three bits are set to zero.
Depth image and RGB Images
In the case of the video camera the bitmap is usually 640x480 and for the depth map it is often 320x240, i.e. exactly half the resolution. (CHECK LATEST DOCUMENTATION AND SENSOR). NOTE -- you can in your program determine the resolution of the RGB image and Depth image --but is a function of the sensor and SDK you are using.
here is the scoop from http://www.i-programmer.info/ebooks/practical-windows-kinect-in-c/3738-introduction-to-kinect.html
DISCLAIMER: I have not confirmed this with Microsoft
The Xbox 360 Kinect is sold at a lower price that is subsidized by the profit from selling games to use with it. Of course, Microsoft doesn't want people buying the subsidized Xbox 360 Kinect and using it in applications that don't result in the user buying games. For this reason the runtime environment included with the SDK does not work with the Xbox version of the hardware. It can detect the type of Kinect that is plugged in and rejects everything except the Windows Kinect.
This isn't the end of the story, however. Microsoft does allow the use of the Xbox version of the Kinect with the development environment. That is, you can use the lower cost Xbox 360 Kinect to develop and test your ideas, but when you graduate to actually issuing an application for others to use you have to buy the more expensive Windows Kinect.