| [サイトマップへ] |
KINECT センサーを使う
この Web ページの目次
OpenNI に登録できるモジュールには、3D センサー, RGB カメラ, IR カメラ, オーディオ・デバイスがあります. また、ミドルウエアの要素 (middleware component) としては、全身解析、手の点 (hand point) に関する解析、ジェスチャ解析、シーン解析(背景分離、床面の座標系、シーン内のフィギュアの識別)
参考 Web ページ: http://nma.web.nitech.ac.jp/fukushima/openni/openni.html
楽をしたいのでシェルスクリプトを作りました。 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明しています。
# 前準備
sudo apt-get update
sudo apt-get -yV dist-upgrade
sudo apt-get -yV install build-essential
sudo apt-get install cmake
sudo apt-get install pkg-config
sudo apt-get install git-core
sudo apt-get install g++
sudo apt-get install python
sudo apt-get install libxmu-dev
sudo apt-get install libxi-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install freeglut3-dev
sudo apt-get install graphviz libgraphviz-dev
sudo apt-get install doxygen
sudo apt-get install mono-complete
#
# OpenNI 2
#
# download
cd /tmp
rm -rf OpenNI*
git clone https://github.com/OpenNI/OpenNI2.git
cd OpenNI2
cd Redist
if [ `arch` = 'x86_64' ]; then
./ReleaseVersion.py x64
else
./ReleaseVersion.py x86
fi
# echo install
cd /usr/local
sudo tar -xvjof /tmp/OpenNI2/Redist/Final/OpenNI-Linux-x86-2.0.0.tar.bz2
cd /usr/local/OpenNI-2.0.0
sudo bash ./install.sh
cat /usr/local/OpenNI-2.0.0/OpenNIDevEnvironment | sudo tee -a /etc/bash.bashrc
#
# SensorKinect
#
# download
cd /tmp
git clone https://github.com/PrimeSense/Sensor.git
cd Sensor
if [ ! -d Platform/Linux/CreateRedist ]; then
echo Platform/Linux/CreateRedist
exit
fi
# build
cd Platform/Linux/CreateRedist
./RedistMaker
# install
cd /tmp
cd Sensor
if [ ! -d Platform/Linux/Redist ]; then
echo Platform/Linux/Redist
exit
fi
cd Platform/Linux/Redist
cd Sensor-Bin-Linux*
sudo bash ./install.sh
ls /var/log/primesense
ls /usr/etc/primesense
端末で次のように操作する。
◆ Ubuntu の場合の操作手順(例)
sudo apt-get update sudo apt-get -yV upgrade
■ Ubuntu の場合の操作手順(例)
sudo apt-get -yV install build-essential
sudo apt-get install cmake sudo apt-get install pkg-config sudo apt-get install git-core sudo apt-get install g++ sudo apt-get install python sudo apt-get install libxmu-dev sudo apt-get install libxi-dev sudo apt-get install libusb-1.0-0-dev sudo apt-get install freeglut3-dev sudo apt-get install graphviz libgraphviz-dev
sudo apt-get install doxygen sudo apt-get install mono-complete
cd /tmp git clone https://github.com/OpenNI/OpenNI2.git
cd OpenNI2 cd Redist if [ `arch` = 'x86_64' ]; then ./ReleaseVersion.py x64 else ./ReleaseVersion.py x86 fi
cd /usr/local sudo tar -xvjof /tmp/OpenNI2/Redist/Final/OpenNI-Linux-x86-2.0.0.tar.bz2 cd /usr/local/OpenNI-2.0.0 sudo bash ./install.sh
エラーメッセージが出ていないことを確認する
cat /usr/local/OpenNI-2.0.0/OpenNIDevEnvironment | sudo tee -a /etc/bash.bashrc
ファイルの選択では、 32-bit か 64-bit を気をつける
◆ 操作手順例
cd /tmp mkdir NITE-v1.5.2.21 cd NITE-v1.5.2.21 sudo tar -xvjof /tmp/nite-bin-linux-x64-v1.5.2.21.tar.bz2
cd /tmp cd NITE-v1.5.2.21 find . -name "*.xml" | sudo xargs chmod 644
「<License ...」の行を探す.
ライセンスキーを設定する。次のようになる.
/tmp/NITE-v1.5.2.21/NITE-Bin-Dev-Linux-x64-v1.5.2.21/Data/Sample-User.xml, /tmp/NITE-v1.5.2.21/NITE-Bin-Dev-Linux-x64-v1.5.2.21/Data/Sample-Scene.xml, /tmp/NITE-v1.5.2.21/NITE-Bin-Dev-Linux-x64-v1.5.2.21/Data/Sample-Tracking.xml を編集する
< MapOutputMode xRes="640" yRes="480" FPS="30"/>
sudo mkdir /var/lib/ni
cd /tmp/NITE-v1.5.2.21/NITE-Bin-Dev-Linux-x64-v1.5.2.21 sudo niLicense PrimeSense 0KOIk2JeIBYClPWVnMoRKn5cdY4=
cd /tmp/NITE-v1.5.2.21/NITE-Bin-Dev-Linux-x64-v1.5.2.21 sudo bash ./install.sh
cd /tmp git clone https://github.com/PrimeSense/Sensor
Kinect 用のドライバ Sensor のダウンロード
cd /tmp git clone https://github.com/ros-pkg-git/Sensor
cd /tmp git clone https://github.com/avin2/SensorKinect cd SensorKinect
cd /tmp cd Sensor cd Platform/Linux/CreateRedist ./RedistMaker
cd /tmp cd Sensor cd Platform/Linux/Redist cd Sensor-Bin-Linux* sudo ./install.sh
ls /var/log/primesense ls /usr/etc/primesense
cd /tmp/SensorKinect/Platform/Linux-x86/Build sudo make
cd /tmp/SensorKinect/Platform/Linux-x86/Build sudo make install
Kinect をつなぎ、次のプログラムを実行する。
#include <iostream>
#include <stdexcept>
#include <XnCppWrapper.h>
int main()
{
xn::Context context;
XnStatus rc = context.Init();
if ( rc != XN_STATUS_OK ) {
printf("error");
}
else {
printf("success");
}
}
次のように操作してコンパイルする
g++ -o a.out -I/usr/include/ni hoge.cc -lOpenNI
success と表示されれば成功
OpenNI
cd /tmp/OpenNI cd Platform/Linux-x86/Bin/Release ./Sample-NiSimpleViewer
NITE
cd /tmp/NITE-v1.5.2.21 cd Samples/Bin/Release ./Sample-Players
新しい版に入れ替えたい場合、他のドライバを試したい場合
cd /tmp/Sensor/Platform/Linux-x86/Build sudo make uninstall
cd /tmp/NITE-v1.5.2.21 sudo bash ./uninstall.sh
cd /tmp/OpenNI/Platform/Linux-x86/Build sudo make install