Kinect

From ISRWiki
Jump to navigation Jump to search

Note: as of 2014, this page is obsolete. Refer to active projects such as http://structure.io/openni or PCL instead.

This page lists some software instructions for RGBD cameras such as the Microsoft Kinect and Asus Xtion PRO Live.

Available software interfaces to the RGBD cameras:

  1. OpenKinect/libfreenect: fully open source, still lacking some functionality
  2. OpenNI framework + Prime Sensor drivers + NiTE motion tracking middleware binaries (skeleton tracking, gesture recognition etc.). The last component is closed source, while the first two ones are open source. The OpenNI/NiTE combination is endorsed by the ROS community and is the most popular
  3. Kinect for Windows SDK

Here is an explanation of the first two: http://stackoverflow.com/questions/6086981/what-is-the-difference-between-openni-and-openkinect

OpenKinect/libfreenect

See http://openkinect.org/

YARP wrapper

See $YARP_ROOT/src/modules/kinect/freenect/README.txt for installation instructions.

OpenNI + Prime Sensor + NiTE

Installing binary files, if you prefer this possibility, is straightforward.

Below we explain how to manually install Kinect programs on Ubuntu 10.04 LTS or higher (officially you need 10.10+, but 10.04 works too). For OpenNI version 2, see [1]. For OpenNI version 1, read below.

YARP wrapper

See $YARP_ROOT/src/modules/kinect/OpenNI/README.txt for installation instructions.

ROS wrapper

  1. Install ROS - http://www.ros.org/wiki/ROS/Installation
  2. Install ROS OpenNI - http://www.ros.org/wiki/openni_kinect

Ubuntu manual installation

The following instructions refer to the Unstable branch.

Prerequisites

Mandatory:

 sudo apt-get install g++ python git-core libusb-1.0-0-dev freeglut3-dev
 sudo adduser $USER video

Optional:

 sudo apt-get install doxygen graphviz

OpenNI

 mkdir ~/kinect && cd ~/kinect
 git clone https://github.com/OpenNI/OpenNI.git
 cd OpenNI
 git checkout unstable

Now follow instructions on https://github.com/OpenNI/OpenNI/tree/unstable

Sensor

There are a number of different versions for this driver:

  • avin2 SensorKinect repository: supports Kinect
 cd ~/kinect
 git clone https://github.com/avin2/SensorKinect
 cd SensorKinect
 # check the README file in there. You will have to do something along these lines:
 cd Platform/Linux/CreateRedist/ 
 sudo ./RedistMaker 
 cd ../Redist 
 cd Sensor-Bin-Linux-x64-v5.1.2.1 # or similar
 sudo ./install.sh 

Installation instructions may vary, but keep an eye on https://github.com/PrimeSense/Sensor/tree/unstable

NiTE

  • http://www.openni.org/downloadfiles "PrimeSense NiTE Unstable Build for Ubuntu" (also known as "OpenNI Compliant Middleware Binaries")
  • Latest Unstable
  • download, for example, PrimeSense NITE Unstable Build for for Ubuntu 10.10 x64 (64-bit) v1.3.0.18 to ~/kinect
  • extract this archive:
 tar -jxvf NITE-Bin-Linux64-v1.3.0.18.tar.bz2

Demos

Demos are located in

  • Nite-VERSION/Samples/Bin
  • OpenNI/Platform/Linux/Bin/x64-Release (or OpenNI/Platform/Linux-x86/Bin/Release)

Conflict with gspca_kinect kernel module

In early 2012, a new Linux kernel module called gspca_kinect was introduced: it allows the Kinect to be used as a standard camera, but it conflicts with OpenNI when trying to access the device. SensorKinect automatically blacklists this module, but in case it doesn't work, here is the manual procedure:

  • in the current session, rmmod this module (in Ubuntu: sudo modprobe -r gspca_kinect)
  • to make the change permanent, blacklist it (sudo sh -c 'echo "blacklist gspca_kinect" > /etc/modprobe.d/blacklist-kinect.conf')

See also