Install Kinect drivers on TrimSlice Pro
TrimSlice Pro was delivered finally, it is preinstalled ubuntu 11.04. I hurried to get the Kinect working on the Arm Linux this weekend. I installed the official drivers, although it is regretful that NITE cannot be run without SSE support.
(1) mkdir ~/kinect, download the latest OpenNI (Version 1.3.2.3 unstable version for now) into that folder, and untar it.
https://github.com/OpenNI/OpenNI/tree/unstable
(2) According to the README file, install the requirements. Please note that sun-java6-jdk has been removed from the official repository. I found a external PPA, but it doesn't work for me. So I install the Openjdk-6-jdk instead. The remaining requirements should be installed easily.
(3) Don't build OpenNI at the moment. Firstly revise the Platform.Arm file in ~/kinect/OpenNI_DIR/Platform/Linux-x86/Build/Common. Otherwise, on one hand, you will fail to compile due to the first line, where I trapped for a whole day to configure the angtrom. On the other hand, the cpu by default may be not matched with your own with error as below, when you finished running sudo ./install.sh and launched an application for test.
"One or more of the following nodes could not be enumerated:
Device: PrimeSense/SensorV2/5.0.0.24: The device is not connected!"
For the first issue, it can be fixed by commenting out the first line. We don't need it on the native machine. And reconfigure the ARM options for the second one. It looks like
# export CXX=/home/primesense/DiGMi/BeagleBoard/Kernel/OE/angstrom-dev/cross/armv7a/bin/arm-angstrom-linux-gnueabi-g++
export GLES=1
ifeq "$(CFG)" "Release"
# CFLAGS += -mcpu=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp -ffast-math -fsingle-precision-constant
CFLAGS += -mcpu=cortex-a9 -mfpu=vfpv3-d16 -ftree-vectorize -mfloat-abi=softfp -ffast-math -fsingle-precision-constant
endif
For -mfpu option, you can find it by typing cat /proc/cpuinfo in the terminal.
(4) Now enter ~/kinect/OpenNI_DIR/Platform/Linux-x86/CreateRedist/, run ./
OpenNI_DIR/Platform/Linux-x86/. Run sudo ./install.sh
~/kinect/(6) Install the sensor modul from https://github.com/avin2/SensorKinect
Important note: Don't use the sensor module from the official website. Although the driver seems to be installed normally, you will get nothing when you launch an application in the Sample directory.
(7) The requirements should already be installed when compiling the OpenNI. The same revision is done for the Platform.Arm file in ~/kinect/Sensor_DIR/Platform/Linux-x86/Build/Common.
(8) Enter ~/kinect/Sensor_DIR/Platform/Linux-x86/CreateRedist/, run ./
Sensor_DIR/Platform/Linux-x86/ sudo ./install.sh.
~/kinect/(10) Enter ~/kinect/OpenNI_DIR/Platform/Linux-x86/
Reference
- http://davetaz-blog.blogspot.com/2011/03/installing-kinect-on-ubuntu-full-guide.html
- http://tirokartblog.wordpress.com/2011/01/22/kinect-on-the-beagleboard-xm-not-working-yet/
- http://groups.google.com/group/openni-dev/browse_thread/thread/848487b8857bb668