From Wiki for iCub and Friends
Revision as of 18:19, 13 November 2013 by Konstantinos (talk | contribs) (Installation)
Jump to: navigation, search

The OpenNI2 device driver for YARP works with PrimeSense compatible RGB-D sensors, including Asus Xtion Pro. Tested on Debian Jessie (testing), Ubuntu 12.04+ and Mac OS X 10.8.4+.

Debian Wheezy (stable) is not supported by OpenNI2, due to glibc version being < 2.14.

Note: Microsoft Kinect sensors are not supported by this driver. However, they are supported by the old Kinect YARP driver, which was based on OpenNI version 1.



For Debian and Ubuntu, install the following dependencies:

sudo apt-get install g++ python libusb-1.0-0-dev libudev-dev freeglut3-dev doxygen graphviz

Also, you must have installed a Java SDK.


Download and install:

git clone

If you are using Debian testing (jessie), you have to make small changes: 1) pthread 2) comment suppress errors

cd OpenNI2
cd Packaging
./Release x64   // or: ./Release x86
cd Final


Download and install NiTE2:


add source ..../OpenNidev ad source ..../NiTEDev

source ~/.bashrc  // or: logout and login

YARP driver

Enable devices SET OpenNI2DeviceServer to ON set OpenNI2DeviceClient to ON



Print a short driver manual:

yarpdev --device OpenNI2DeviceServer --verbose

Available options:


--playback filename.oni

   Playbacks the specified oni file.


   Forces the playback to loop. If not used, the playback will stop after one run.

--record filename.oni

   records to the specified oni file


   chenge default port prefix (default=/OpenNI2)


   use only user tracker


   disable mirroring


--minConfidence x (double)

   set minimum confidence required. Default is 0.6

Doesn't start the user tracker.


The driver opens three ports: imageFrame:o depthFrame:o userTracker:o

imageFrame and depthFrame stream YARP images, and if connectd to a yarpview, the video is available. UserTracker outputs bottles in the format:

To use the driver in an application: