install kinect driver for ARM---38

原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/

The video describes connecting a Microsoft Kinect to the NVIDIA Jetson TK1 Development Kit.

The Kinect provides 3D depth information about a scene. This is commonly referred to as a RGBD device because the depth information is returned encoded in an RGB image, with the color of each pixel representing how far away an object is from the sensor. Red is close, green is in the middle, blue is furthest away.

The demonstration shows a Microsoft Kinect 360 model 1414, the original XBOX 360 sensor. The Jetson and the Kinect are plugged into a 7 port USB hub, along with a keyboard and a mouse.

Some more information about Kinect

first install the libusb,By means of manual compilation

Download the libusb-master.zip or Can contact me via email 1192916972@qq.com

sudo ./autogen.sh
sudo make
sudo make install
sudo ldconfig

Installing the OpenKinect Drivers

Installing the OpenKinect libraries (libfreenect) is straightforward. A prerequisite for this installation is Internet access and installation of the Universe package repositories. These commands are entered using the ‘Terminal’ app, which is commonly referred to as the command line.

Universe packages can be added with:

$ sudo apt-add-repository universe
$ sudo apt-get update

$sudo apt-get install ros-indigo-openni*

To build the freenect library, first make sure that you have the build tools and library dependencies installed:

$ sudo apt-get install

cmake

freeglut3-dev

pkg-config

build-essential

libxmu-dev

libxi-dev

libusb-1.0-0-dev

Then Git clone the libfreenect repository:

$ git clone git://github.com/OpenKinect/libfreenect.git

Build libfreenect

To build the libfreenect library, start in the Home directory at the command line. Then enter the following commands:

$ cd libfreenect

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

NOTE: If you would like to uninstall libfreenect at some later time, go the ‘build’ directory:

$ sudo make uninstall

USB Autosuspend

As noted in the video, there is an issue with the default setting for USB ports being turned off when not in use. The Jetson does this to save energy. If this happens when the Kinect is connected, the Jetson will not recognize the Kinect. A solution is to execute commands automatically on every boot-up that alter this behavior. You can put your commands into the “/etc/rc.local” boot up script. For example, run this on your board:

$ sudo gedit /etc/rc.local

Then add this near the bottom of the file but before the “exit” line:

# Disable USB auto-suspend, since it disconnects some devices such as webcams on Jetson TK1.
echo -1 > /sys/module/usbcore/parameters/autosuspend

Save the file.

You then reboot the machine so that the changes take effect.

$ sudo reboot

NOTE: If you would like to do this more selectively, you can enter this command on the command line:

sudo bash -c ‘echo -1 > /sys/module/usbcore/parameters/autosuspend’

which will cause autosuspend to be turned off until the next boot cycle.

Sample Programs

Once the Jetson powers back up, and the Desktop appears on the screen. Plug in the Kinect to the USB hub. NOTE:You may have to unplug then plug back in the Kinect on every boot. The auto-suspension does not appear to take effect until after the port is powered down the first time. Navigate to the bin directory where the samples reside:

cd libfreenect/build/bin

and run one of the sample programs:

sudo ./freenect-glview

Then you are ready to play and have some fun!

Permissions

If you do not want to run your programs using sudo, you can add rules to your udev rules directory. Place the file ’51-kinect.rules’ into /etc/udev/rules.d directory, and set the video permissions.
First change your directory to your libfreenect/platform/linux/udev directory, then:

$ sudo adduser $USER video
$ sudo cp 51-kinect.rules /etc/udev/rules.d/51-kinect.rules

Make sure to log out and then log back in.

原文地址:https://www.cnblogs.com/zxouxuewei/p/5430456.html