Up:Tutorial? Previous:眼球運動? Next: HMD+KINECT キネクトによるエージェントの操作 †キネクトを使ってSIGVerseの人間エージェントの体の動きを操作する方法を紹介します。 ※すでにOpenNIがクライアントpcにインストールされていて、サンプルコードNiUserTrackerが動作可能であることを前提条件とします。 OpenNI動作確認バージョン †
クライアント側の準備 †キネクトにより骨格を抽出するサンプルプログラムを利用し、関節の回転データ(クオータニオン)を計算し、SIGVerseサーバにデータを送信します。 ダウンロード †KINECTサービス?からSIGNiUserTracker_<version>.zipをダウンロードします。 インストール †ダウンロードしたzipファイルを展開しSIGNiUserTracker.sigをOpenNIサンプルの実行ファイルがあるフォルダに置きます。デフォルトでは以下のフォルダです。 C:\Program Files (x86)\OpenNI\Samples\Bin\Release (※Windows7 64bitの場合) この状態でクライアントpcにキネクトを接続しておけば準備完了です。 サーバ側の準備 †コントローラで関節データを受信し、関節を回転させます。 コントローラ †まずコントローラを作成します。 $ cd ~/sigverse-<version>/bin/NewWorld $ emacs kinectController.cpp kinectController.cpp このコントローラは人間エージェントを操作するためのものです。 このサンプルではサービスプロバイダ用にポート番号9005番を使用します。 SSH接続によりサーバに接続している場合は追加でポートフォワーディングの設定が必要となります。詳しくはサービスプロバイダの使用方法を参考にしてください。 次にMakefileを修正してコンパイルします。 (※動作手順省略) 他のモデルのコントローラサンプル †※準備中 世界ファイルの作成 †次に世界ファイルを作成します。 $ cd .. $ emacs xml/kinectWorld.xml kinectWorld.xml 人間のみが登場するシンプルな世界ファイルです。このサンプルではキネクトで操作できるエージェントは人間エージェントのみです。 実行 †それでは実行してみましょう。 SIGVerse起動 †まずシグバースサーバを起動します。 $ ./sigserver.sh -p 9001 -w xml/kinectWorld.xml 次にSIGViewerで起動したサーバに接続します。接続すると人間が立っているのが見えます。 サービスの登録 †SIGViewerにサービスを登録します。左上のメニューのServiceのAddを選択します。 すると以下のようなウィンドウが立ち上がるのでAddボタンを押して先ほどダウンロードしたSIGNiUserTracker.sigを読み込みます。 Service listにSIGNiUserTracker.sigが登録されたらOKボタンを押してウィンドウを閉じます。 次にメニューのService→Startをクリックし、先ほど登録したSIGNiUserTracker.sigをクリックします。 このとき必ず"START"ボタンを押す前にサービスを起動してください。 キネクトの深度画像ウィンドウが立ち上がり、サーバ側で [SYS] Service: "SIGKINECT" is available と表示されればキネクトサービスの立ち上げに成功です。 それでは"START"ボタンを押してシミュレーションを開始してみましょう。 キネクトの前で体を動かすと骨格が検出され、人間エージェントを操作することができるようになります。 ソースコードのコンパイル †次にクライアント側のソースコードをコンパイルする方法を説明します。コンパイルする環境はVC++2008を前提としています。 ソースコード取得 †KINECTサービス?からソースコードを取得します。 展開したフォルダの中に入っているSIGNiUserTrackerフォルダをOpenNIのサンプルコードがおかれた以下のフォルダに移動します。 C:\Program Files (x86)\OpenNI\Samples コンパイル †次にSIGNiUserTrackerフォルダの中のソリューションファイルをダブルクリックして起動します。(※このとき必ず管理者権限で実行します) ※バージョン1.0.0の場合はコンパイルにはboostライブラリのインストールが必要です。 boostのインストール方法とVC++の設定方法は省略します。 VC++が起動したらソリューションエクスプローラの中のソリューション名を右クリックしてビルドを選択します。ビルドが成功すると以下に実行ファイルSIGNiUserTracker.exeが作成されます。 C:\Program Files (x86)\OpenNI\Samples\Bin\Release 拡張子を.exeから.sigに変えることによりSIGViewerに登録可能となります。 Old Version †Up:Tutorial? Previous:眼球運動? Next: HMD+KINECT |