昨日、Amazon から Kinect が届いたので遊んでます。
なんか・・いいですね。地味に。シンプルに。体力不足が伺えるよいツール。
キネクトアドベンチャー楽しんでます。
で、少し前から Kinect のオープンソースなドライバー libfreenect が公開されており、
Mac OS X でも問題なく使えるっぽいので、さっそく入れてみました。
ソースコードもってくる
$ git clone git://github.com/OpenKinect/libfreenect.git
このままコンパイルしていってもいいんですが、
実は Homebrew の Formula も同梱されているので
せっかくだからそれらを使わせていただきましょう。
# Formula の置き場所は環境に合わせて調整してください $ cp libfreenect/platform/osx/homebrew/{libfreenect,libusb-freenect}.rb /usr/local/Library/Formula/
少し手直し
2010/11/30現在
すでに改善されてるんで手直しの必要はないです。
このまま brew install libfreenect とかすると失敗します。
単に Formula の書き間違いなので、それとなく修正しておきます。
おそらく近いうちに直されると思いますけどね。
*** libfreenect.rb.orig 2010-11-23 19:59:39.000000000 +0900 --- libfreenect.rb 2010-11-23 19:59:42.000000000 +0900 *************** *** 10,19 **** depends_on 'cmake' def install ! cd "c" ! mkdir "build" ! cd "build" ! system "cmake .. #{std_cmake_parameters}" system "make install" end end --- 10,16 ---- depends_on 'cmake' def install ! system "cmake . #{std_cmake_parameters}" system "make install" end end
大した修正でもないんですが gist にも上げておきました。
https://gist.github.com/711607
インストール
Homebrew に任せましょう
$ sudo brew install libusb-freenect $ sudo brew install libfreenect
libusb は既に入ってるよ!っていう方もいるかもですけど、
libfreenect 用の patch があたってるバージョンらしいですね。
実行
example を実行しましょう。
さっきのインストールでうまくいっていれば、/usr/local/bin 以下に あるはずです。
実行前に以下を確認
- Kinect の AUX コネクタが、Kinect 付属の AUX-USB 変換を介してマシンにつながってるか
- AUX-USB 変換の AC アダプタがちゃんとコンセントに刺さってるか (私は最初さしてなかったので反応せずにびびった)
$ sudo /usr/local/bin/glview
実行すると以下のような Window が出てくるはずです。
右が Kinect のカメラの映像、左がおそらく解析状態でしょう。まだあまり踏み込んでないんでわかんない。
ちなみに glview の実行結果は以下な感じに
Kinect camera test Number of devices found: 1 GL thread Write Reg 0x0006 <= 0x00 Write Reg 0x0012 <= 0x03 Write Reg 0x0013 <= 0x01 Write Reg 0x0014 <= 0x1e Write Reg 0x0006 <= 0x02 Write Reg 0x0005 <= 0x00 Write Reg 0x000c <= 0x00 Write Reg 0x000d <= 0x01 Write Reg 0x000e <= 0x1e Write Reg 0x0005 <= 0x01 [Stream 70] Invalid magic ffff [Stream 70] Invalid magic ffff [Stream 70] Invalid magic 7acf [Stream 70] Expected 1748 data bytes, but got 1908. Dropping... [Stream 70] Invalid magic 576a [Stream 70] Lost 244 packets [Stream 70] Lost too many packets, resyncing... Write Reg 0x0047 <= 0x00 'w'-tilt up, 's'-level, 'x'-tilt down, '0'-'6'-select LED mode [Stream 70] Invalid magic c7ff [Stream 70] Invalid magic c9ff [Stream 70] Invalid magic cbff [Stream 70] Lost 249 packets [Stream 70] Lost too many packets, resyncing... raw acceleration: -4 813 -118 mks acceleration: -0.047896 9.734806 -1.41292 raw acceleration: -4 813 -134 mks acceleration: -0.047896 9.734806 -1.60450 raw acceleration: -4 813 -110 mks acceleration: -0.047896 9.734806 -1.31713
途中の "Invalid magic xxxx" うんたらは適当に削りました。もっとあったんですけどね。
一番したの "raw acc〜" が実際に解析値でしょう。加速度とかかな?
そんなわけで無事 Kinect -> MacOSX が確認できました。
すでに libfreenect を使っていろいろ作ってる人が多いです。
あそこ前はいかなくとも何かしら面白いものができたらいいかなと思います。