Kinect: Difference between revisions

From ISRWiki
Jump to navigation Jump to search
(Conflict with gspca_kinect kernel module)
mNo edit summary
Line 85: Line 85:
* (''obsolete'') edit your <code>Nite-VERSION/Data/Sample-*.xml</code> files by filling in PrimeSense license and preferred resolution as reported by several guides online such as http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html
* (''obsolete'') edit your <code>Nite-VERSION/Data/Sample-*.xml</code> files by filling in PrimeSense license and preferred resolution as reported by several guides online such as http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html


== Notes ==
== Demos ==
 
Demos are located in
* <code>Nite-VERSION/Samples/Bin</code>
* <code>OpenNI/Platform/Linux/Bin/x64-Release</code> (or <code>OpenNI/Platform/Linux-x86/Bin/Release</code>)
 
= Notes =


=== Conflict with gspca_kinect kernel module ===
== 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.
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.
Line 94: Line 100:
* in the current session, rmmod this module (in Ubuntu: <code>sudo modprobe -r gspca_kinect</code>)
* in the current session, rmmod this module (in Ubuntu: <code>sudo modprobe -r gspca_kinect</code>)
* to make the change permanent, blacklist it (<code>sudo sh -c 'echo "blacklist gspca_kinect" > /etc/modprobe.d/blacklist-kinect.conf'</code>)
* to make the change permanent, blacklist it (<code>sudo sh -c 'echo "blacklist gspca_kinect" > /etc/modprobe.d/blacklist-kinect.conf'</code>)
== Demos ==
Demos are located in
* <code>Nite-VERSION/Samples/Bin</code>
* <code>OpenNI/Platform/Linux/Bin/x64-Release</code> (or <code>OpenNI/Platform/Linux-x86/Bin/Release</code>)


= See also =
= See also =

Revision as of 18:54, 23 June 2012

There are several software interfaces to the Microsoft Kinect:

  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).

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
 audo 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)

Notes

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.

Workaround:

  • 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