User Tools

Site Tools


getting_the_xbox_one_kinect_to_work_in_ros

Getting ROS to Work with the XBox One Kinect Device

This article describes how I got the XBox One Kinect RGBD sensor to work for the Robot Operating System (ROS). At the time of this article I was using Ubuntu 14.04 (Trusty Tahr) and running ROS Indigo on this system.

Compiling the ROS Kinectv2 Linux Driver

The first thing I did was to locate the driver source code which I found at: https://github.com/OpenKinect/libfreenect2

This is a cmake project. Hence the following commands clone the source and compile the code:

bash$ git clone https://github.com/OpenKinect/libfreenect2.git
bash$ cd libfreenect2
bash$ mkdir build
bash$ cd build
bash$ cmake ..
...
-- checking for module 'libusb-1.0>=1.0.20'
--   package 'libusb-1.0>=1.0.20' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:283 (message):
  A required package was not found
...

My initial attempt to build failed due to the fact that the libusb library I had on my system was too old. I found the required version of the library available as a Ubuntu PPA so I added the PPA to my repository list, updated the package list, and then installed the new library as shown below:

~/sudo alibfreenect2/build$ sudo apt-add-repository ppa:floe/libusb
 libusb-1.0.20 for Ubuntu 14.04
 More info: https://launchpad.net/~floe/+archive/ubuntu/libusb
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp4et3_ixq/secring.gpg' created
gpg: keyring `/tmp/tmp4et3_ixq/pubring.gpg' created
gpg: requesting key D2817996 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp4et3_ixq/trustdb.gpg: trustdb created
gpg: key D2817996: public key "Launchpad libtisch" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
~/libfreenect2/build$ sudo apt-get update
...
~/libfreenect2/build$ sudo apt-get install libusb-1.0-dev
...

Compiling the ROS Kinectv2 Driver Node

The second thing I did was to locate the ROS node that passes RGBD data from the Kinectv2 driver to the ROS topics typically associated with RGBD sensors. I found this code at: https://github.com/code-iai/iai_kinect2

getting_the_xbox_one_kinect_to_work_in_ros.txt · Last modified: 2016/06/01 13:09 by arwillis