written by Gooly (Li Yang Ku)
Researches using Kinect like sensors are currently hot. Kinect and Asus Xtion are both active point cloud sensors based on the OpenNI framework developed by PrimeSense, an Israel company. If you are not trying to play Xbox, I would highly recommend you to consider getting the Asus Xtion. The Xtion has the advantages that it is
- much smaller
- easier to mount
- doesn’t need an additional usb for power
The lab our lab is working with already bought 8 of them. The only problem is that it got out of stock fast, and the price started rising.
(Note OpenNI updated their website in 2013, but you can still download the old files at http://www.openni.org/openni-sdk/openni-sdk-history-2/ )
To install the sensor on Ubuntu you only need a few steps:
- Download OpenNI.
- Download Sensor Driver.
- Download Nite.
- Go to each downloaded file, extract them and execute the install file in each folder. (Note that Nite has to be installed last.)
- Run the NiViewer under the sample folder in the OpenNI folder to test the camera. You can right click your mouse to change settings.
http://openni.org/Documentation/Tutorial/smpl_simple_view.html includes some useful samples to start working on. You can get a better formatted version if you install OpenNI on windows.
If you received an error
“a timeout has occurred when waiting for new data”
when setting the RGB image size from 320*240(QVGA) to 640*480(VGA) or higher, you might need to update OpenNI and the sensor driver to a newer version. At least that solved my problem.
If you haven’t heard of PCL, http://pointclouds.org/ provides a large set of libraries on handling point clouds, and also a visualizer for viewing them in 3D. If you use PCL, it already provides an interface “OpenNIGrabber” to retrieve point clouds or color point clouds.
Note that some of the OpenNI functions doesn’t support multi-threading. I got crashes occasionally when running in a multi-thread environment.
You can test if the drivers are installed correctly by running NIViewer under /OpenNi/Samples/bin/x64-release/NiViewer . I had some issues when the rgb camera starts with resolution 640*480; the color image showed up as noise. It could be solved by always starting the rgb camera with 320*240 and then immediately switch to other resolutions.