Kinect, OpenNI, NiTE and Nuimotion Setup for OSX

IMG_2025

Messing around with a Kinect, OpenNI, NiTE led me to a node.js app called Nuimotion.

In an effort to document successful install of all the required packages I created these instructions.

– Installation notes for OSX Mavericks.
NOTE: All code is installed to ~/Developer/Work

Install Updates

– Update system, run App Store, Updates

– Run Xcode and agree to terms and finish installation:

Xcode

Install brew

– Install Homebrew:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

NOTE: This will likely prompt for root password and install command line developer tools.

– Update and check brew:

brew update
brew doctor

NOTE: Tested with brew version 0.9.5

Install freenect from github

– Install dependencies:

brew uninstall libusb
brew install libusb --universal
brew install cmake

– Clone `libfreenect`:

mkdir -p ~/Developer/Work
cd ~/Developer/Work
git clone https://github.com/OpenKinect/libfreenect
cd libfreenect
git checkout tags/v0.3.0

NOTE: Tested with libfreenect stable release v0.3.0

– Build and install:

mkdir build
cd build
cmake .. -DBUILD_OPENNI2_DRIVER=ON
make
sudo make install

– Test with glview:

sudo glview

– Reference:
https://github.com/OpenKinect/libfreenect
http://openkinect.org/wiki/Getting_Started

Install node.js

– Install node.js:

http://nodejs.org/download/

NOTE: Tested with node.js v0.10.23

Install OpenNI and NiTE

– Download OpenNI from:
http://www.openni.org/openni-sdk/

– Uncompress OpenNI and move:

unzip OpenNI-MacOSX-x64-2.2.0.33.tar.zip
tar xvf OpenNI-MacOSX-x64-2.2.tar.bz2
mv OpenNI-MacOSX-x64-2.2 ~/Developer/Work/
cd ~/Developer/Work/OpenNI-MacOSX-x64-2.2
sudo ./install.sh

– Download NiTE from:
http://www.openni.org/files/nite/

– Uncompress NiTE and move:

unzip NiTE-MacOSX-x64-2.2.tar1.zip
tar xvf NiTE-MacOSX-x64-2.2.tar.bz2
mv NiTE-MacOSX-x64-2.2 ~/Developer/Work/
cd ~/Developer/Work/NiTE-MacOSX-x64-2.2
sudo ./install.sh

– Copy `libFreenectDriver.so` to OpenNI2 directory:

cp /usr/local/lib/OpenNI2-FreenectDriver/libFreenectDriver.dylib \
~/Developer/Work/OpenNI-MacOSX-x64-2.2/Redist/OpenNI2/Drivers/

– Copy all libraries to `/usr/local/lib`

sudo cp -R ~/Developer/Work/OpenNI-MacOSX-x64-2.2/Redist/* /usr/local/lib
sudo cp -R ~/Developer/Work/NiTE-MacOSX-x64-2.2/Redist/* /usr/local/lib

– Add to library path:

vi ~/.bash_profile
export DYLD_LIBRARY_PATH=/usr/local/lib64/:/usr/local/lib64/OpenNI2-FreenectDriver/:/usr/local/lib:$DYLD_LIBRARY_PATH

– Add OpenNI and NiTE to .bash_profile:

cat ~/Developer/Work/OpenNI-MacOSX-x64-2.2/OpenNIDevEnvironment >> ~/.bash_profile
cat ~/Developer/Work/NiTE-MacOSX-x64-2.2/NiTEDevEnvironment >> ~/.bash_profile

– Logout and log back in to use changes made to `.bash_profile`.

Install Nuimotion and Websocket

– Make project directory:

mkdir ~/Developer/Work/prototype-nuimotion/

– Copy Redist files to the root of the app:

cp -R ~/Developer/Work/NiTE-MacOSX-x64-2.2/Redist/* ~/Developer/Work/prototype-nuimotion/
cp -R ~/Developer/Work/OpenNI-MacOSX-x64-2.2/Redist/* ~/Developer/Work/prototype-nuimotion/

– Install `websocket`:

npm install websocket

– Install `node-gyp`:

sudo npm install -g node-gyp

– Create `prototype-nuimotion` and download the nuimotion project to the `node_modules` directory:

mkdir ~/Developer/Work/prototype-nuimotion/node_modules
cd ~/Developer/Work/prototype-nuimotion/node_modules
wget https://github.com/bengfarrell/nuimotion/archive/master.zip
unzip master.zip
mv nuimotion-master nuimotion
rm master.zip

– Rebuild:

cd ~/Developer/Work/prototype-nuimotion/node_modules/nuimotion
node-gyp rebuild

– Edit `index.js` to fix require, remove `src` prefix in first line:

vi ~/Developer/Work/prototype-nuimotion/node_modules/nuimotion/index.js
module.exports = require('./build/Release/nuimotion.node');
...

– Copy `basicquickstart.js` and run:

cp ~/Developer/Work/prototype-nuimotion/node_modules/nuimotion/quickstart/basicquickstart.js ~/Developer/Work/prototype-nuimotion/
cd ~/Developer/Work/prototype-nuimotion/
sudo node basicquickstart.js

– Reference:
http://www.kdab.com/setting-up-kinect-for-programming-in-linux-part-1/
http://overconsulting.net/blog/installation-d-une-kinect-sous-ubuntu-13-10-openni2-freenect-nite2

Comments are closed.