kinectを買っちゃいました。
XBOX360のkinect専用ソフトDance Evolutionも一緒に。
ゲームもいいけど、
Mac で 「Kinectを使ってブラウザのWebGL内を動いてみた」- Scalaとlift のはずだった ・・・
これをやってみたいがために。
調べてみるとkinectをPCに繋げるにはOpenKinectというライブラリがあるそうな。
しかし、これはOpen Frameworkというもの(あんまりよくわかってない・・・)用のもので
OpenNIで使うことができないみたいでした。
まぁ、OpenNI自体も良く分かってないのですが・・・(汗
というわけでMacにkinectを繋いでOpenNIを動かしてみたので、その方法を書いておきます。
といっても、OpenNIやらkinectやらは初心者ですので、いろいろ調べながらやってみましたが、間違いもあるかもしれません。とりあえず、動いたということで個人的な備忘録として書いています。
MacBook Pro(early 2011) (13inch, Core i7 2.7GHz, 8GB RAM)
OSバージョン:MacOS X Snow Leopard 10.6.7
http://developer.apple.com/devcenter/mac/index.action
Appleのサイトでデベロッパー登録(登録フォームは英語だけど)をして
Xcode_3.2.6をダウンロード(4.1GBあります)します。
ダウンロードしたファイルをダブルクリックでインストール。
OpenNIをインストールするためにMacPortsを使ってlibusbなどのライブラリをインストールする必要があります。
・MacPortsのインストール
http://distfiles.macports.org/MacPorts/MacPorts-1.9.2-10.6-SnowLeopard.dmg
をダウンロードしてきてダブルクリックでインストール。
ターミナルを開いて以下を実行。
$ sudo port selfupdate $ sudo port install libtool $ sudo port install libusb-devel +universal
(補足)
$ port installed
とコマンドを打つとインストール済リストが表示されるので、libtoolとlibusb-devel +universalがあるかどうか確認できます。
libusb-develで+universalがついていないものが既にインストールされていた場合、以下のように一旦libusb-develをアンインストールして再度+universal付きでインストールすればよいようです。
$ sudo port uninstall libusb-devel $ sudo port install libusb-devel +universal
OpenNIのサイトの
http://www.openni.org/downloadfiles/opennimodules/openni-binaries/20-latest-unstable
から「OpenNI Unstable Build for MacOSX 10.6 Universal x86/x64 (32/64-bit) v1.1.0.41」をダウンロード。
ダウンロードしたファイルをダブルクリックで解凍する。
解凍したディレクトリにターミナルでcdして
$ sudo ./install.sh
を実行するとインスールできます。
(補足)
3のMacPortsでのライブラリがインストールされていない場合は以下のような表示になってしまいます。
$ sudo ./install.sh Password: Installing OpenNI **************************** copying shared libraries...OK copying executables...OK copying include files...OK creating database directory...OK registering module 'libnimMockNodes.dylib'...dyld: Library not loaded: /opt/local/lib/libusb-1.0.0.dylib Referenced from: /usr/lib/libOpenNI.dylib Reason: image not found ./install.sh: line 52: 8262 Trace/BPT trap niReg -r $INSTALL_LIB/$module
これはOpenNIをインストールに失敗しているので
$ sudo ./install.sh -u
で一旦中途半端に入ったOpenNIのモジュールをアンインストールします。その後3からやり直します。
OpenNI用Kinectドライバの種類 – TK’s HP
によるとOpenNIに対応したkinectドライバは数種類あるとのこと。
他の方のMacでkinectでOpenNIなブログではavin2ドライバ(SensorKinect)というのを使っているのをよく見かけますがrosドライバ(「OpenNIを出しているWillowGarageのROS系ドライバであることから、ある意味公式ドライバ」とのことらしい)がMacにも対応したようですのでこれを使ってみることにします。
https://github.com/ros-pkg-git/SensorからDownloadボタンを押して.zipでも.tar.gzでも好きな方をダウンロードしてください。
ダウンロードしたファイルをダブルクリックで解凍する。
解凍したディレクトリにターミナルでcdしてさらにそこから以下を実行するとドライバをインストールできる。
$ cd Platform/Linux-x86/CreateRedist $ ./RedistMaker $ cd ../Redist $ sudo ./install.sh
(補足)
https://github.com/ros-pkg-git/Sensor/blob/ros/README
のMacOSX部分に上記に書いた以外のBuildの補足が書かれています。ログファイルの書込み先や手動でのビルドの仕方、設定ファイルの場所など。
OpenNIのサイトの
http://www.openni.org/downloadfiles/opennimodules/12-openni-compliant-middleware-binaries
から「For NITE, PrimeSense has provided us with this key (you will be asked to enter it during the installation) that everyone can use for free:」の後にある文字列を控えます(2011/06/19時点では「0KOIk2JeIBYClPWVnMoRKn5cdY4=」でした)
さらに「Latest Unstable」のリンク先の「PrimeSense NITE Unstable Build for MacOSX 10.6 Universal x86/x64 (32/64-bit) v1.3.1.5」をダウンロードします。
ダウンロードしたファイルをダブルクリックで解凍する。
解凍したディレクトリにターミナルでcdして以下を実行する。
$ sudo ./install.sh
ライセンスキーを尋ねられるので先ほど控えた「0KOIk2JeIBYClPWVnMoRKn5cdY4=」を入力
/usr/etc/primesense/GlobalDefaults.ini
にドライバの動作環境の初期値が書かれていますが、このままだとうまく動かないのでファイルを編集します。
GlobalDefaults.iniはrootでないと編集できないのでsudo viなどでroot権限で編集してください。
編集箇所は以下です。
[Depth]セクション、[Image]セクション、[IR]セクションの
; 0 - QVGA (default), 1 - VGA ;Resolution=1
の部分を
; 0 - QVGA (default), 1 - VGA Resolution=1
としてVGAの解像度にします。
次にNITEの設定ファイルを変更します。
NiteのディレクトリのDataディレクトリにある3つのxmlを書き換えます。
<License vendor="PrimeSense" key="insert key here"/>
の「insert key here」の部分に先ほど控えていた「0KOIk2JeIBYClPWVnMoRKn5cdY4=」に変更します。
kinectをMacに接続してサンプルを実行してみます。
ターミナルからOpenNIディレクトリのSamples/Bin/Release/にcdして
./Sample-NiUserTracker
やNITEディレクトリのSamples/Bin/にcdして
./Sample-PointViewer
を実行して少し待つと新しいWindowが現れてkinectで認識できます。
↑Sample-NiUserTrackerの画面
↑Sample-PointViewerの画面
さーて、何か作るぞ〜。まずはSampleプログラムでOpenNIの使い方から学ばなければ・・・。
nozoku » Kinect はっく 【install方法 part1】
2011年9月16日 00:17
[…] http://106n.net/toro/blog/?p=266 […]
MacでKinectを使うために諸々をインストールしてみた at kishi-r.com
2012年1月4日 00:02
[…] – MacでkinectとOpenNIを使ってみた(rosドライバ) http://106n.net/toro/blog/?p=266 […]