2012-07-13
■[Pharo][OSC][Kinect] KinectOSCの導入
Pharoを使っていて、Kinectを持っていて、それを繋げようなんて考える人がいるとは思わないんだけど、とりあえず作ったので公開してみた。
http://ss3.gemstone.com/ss/KinectOSC.html
この記事ではその導入方法について説明する。
KinectOSCは、Kinectからの情報をOSC(Open Sound Control)プロトコルを通じて得て、それをMorphicで利用できるようにするためのPharoのクラス群である。サンプルとして簡単なモーフも付けているが、いろんなアプリケーションで活用することを目指している。
KinectOSCは、KinectとPharo以外にもいくつかのツールやパッケージを利用して動作するようになっており、その構成は下の通りである。
Kinect - OpenNI - OSCeleton = (OSCプロトコル) = Pharo - OSCClient - KinectOSC
以下、順に導入方法を説明していく。
OpenNI
KinectをPCやMacで利用するためのドライバなどである。これがないとOSCeletonが動作しない。
OSCeleton
OpenNIを利用して、Kinectから得た情報をOSC(Open Sound Control)プロトコルでネットワークに送信するツール。
https://github.com/Sensebloom/OSCeleton/
WindowsとMacOSX用のバイナリが以下のページからダウンロードできるので対応する方をダウンロードする。
https://github.com/Sensebloom/OSCeleton/downloads
Pharo
Pharo使いであれば特に説明は不要でしょう。KinectOSCは1.3か1.4で動作確認しているのでどちらかを入手。
ダウンロードして展開したら起動する。
OSCClient
OSCClientはOSCeletonが送信したOSCのメッセージをPharoに取り込むためのクラス群。
KinectOSCではOSCの受信のためにOSCClientを使っているため、以下のようにPharoにインストールしておく。
MCHttpRepository
location: 'http://www.squeaksource.com/OSCClient’
user: ''
password: ''
- 右側のペインで上記のリポジトリを選択してOpenを押す。
- OSC-Richo.23.mczを選んで、Loadを押す。
- System BrowserでOSC-Testsクラスカテゴリを選択し、右ボタンでRun Testsを選び、テストが成功することを確認する。
KinectOSC
いよいよKinectOSCをPharoにインストールする。
MCHttpRepository
location: 'http://ss3.gemstone.com/ss/KinectOSC’
user: ''
password: ''
- 右側のペインで上記のリポジトリを選択してOpenを押す。
- 左側のペインでKinectOSCを選び、右側のペインで一番上のKinectOSC.mczを選んで、Loadを押す。
- System BrowserでKinectOSC-Testsクラスカテゴリを選択し、右ボタンでRun Testsを選び、テストが成功することを確認する。
- とりあえずPharoをSave & Quitする。
テストモーフの実行
KinectOSCでは動作確認用に簡単なモーフを実装している。
以下のようにして動作を確認する。
- OSCeletonを実行する。Windowsの場合はOSCeleton.exeをダブルクリックして実行すれば良い。
- Initializing...の後、Initialized Kinect, looking for users...が表示されればOK。そうでなければKinectの接続かOpenNIのインストールに問題がある(多分)。
- Pharoを起動して、Workspaceに「KOSampleMorph new openInWorld.」という式を入力し、選択後にDo itする。
- 赤いモーフが現れるが、これはユーザーが認識されていない状態。Kinectの前に立って認識されれば緑色に変化する。
- バルタン星人のポーズを取って骨格が認識されると、モーフに関節が表示され、動きに応じて変化する(はず)。
その他
OSCCeletonは引数に「-a 192.168.254.99」のようにIPアドレスを指定すれば他のPCにデータを送ることもできるので、Kinectに接続するPCとPharoを動作させるPCを分けて使用することができる。結構便利。
- 17 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CFkQFjAB&url=http://d.hatena.ne.jp/nqthm/20110104/p1&ei=Q7sAUJDLEcWSiQeI6ojvAg&usg=AFQjCNHWdW0wLUmiNYAh-6hv5ue87tVtyw&sig2=l7DTHo2f1kaNiCmEJxifrQ
- 11 http://t.co/c1iLnxtf
- 8 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFYQFjAA&url=http://d.hatena.ne.jp/nqthm/20090823/p1&ei=FQAAUK2fKKfeigfdis2lCA&usg=AFQjCNH61EoB00PidKf-apTHHpEcXoLuWA&sig2=DRN4PqfSZ4CGevC17GWIIg
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=2&ved=0CFUQFjAB&url=http://d.hatena.ne.jp/nqthm/20110104/p1&ei=XoEBUPv4IMiDmQXx68HqCQ&usg=AFQjCNHWdW0wLUmiNYAh-6hv5ue87tVtyw
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CFIQFjAD&url=http://d.hatena.ne.jp/nqthm/20110830/p1&ei=htcEUJW0JceciAeZ0JimCA&usg=AFQjCNHr-KXAGWiYw6Ut9qAZZRwU5yNALg&sig2=7XoUMwf1lP3VqpTdgs5OuA
- 6 http://www.iyahooi.com/entry/2010/03/nasio_data_landisktimemachine.html
- 4 http://t.co/iMNL65o0
- 3 http://t.co/FFt3qpy7
- 3 http://www.google.co.jp/search?q=PDF+アクセスが拒否されました。&hl=ja&gbv=2&gs_l=hp.3.3.0l10.2891.9641.0.14359.13.8.0.0.0.2.2156.4874.0j1j7-1j1j1.4.0...0.0...1c.pVE
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CGEQFjAC&url=http://d.hatena.ne.jp/nqthm/20110905/p2&ei=t5gDUIrQGur-mAWT79zqCQ&usg=AFQjCNHjm-bB9k5dK9AuWEYGsh_TNyPBPQ&sig2=N3lQg7LoeUr7ifV_DVZqng




