Up:Tutorial?    Previous:眼球運動?    

キネクトによるエージェントの操作

キネクトを使ってSIGVerseの人間エージェントの体の動きを操作する方法を紹介します。

※すでにOpenNIがクライアントpcにインストールされていて、サンプルコードNiUserTrackerが動作可能であることを前提条件とします。

OpenNI動作確認バージョン

  • OpenNI Stable Build for Windows x86 (32-bit) v1.5.2.23 Development Edition
  • PrimeSene NITE Stable Build for Windows x86 (32-bit) v1.5.2.21 Development
    • 上と同じページのOpenNI Compliant Middleware Binariesを選択してダウンロード。
  • PrimeSense Sensor Module for OpenNI Version 5.1.0.25 

クライアント側の準備

キネクトにより骨格を抽出するサンプルプログラムを利用し、関節の回転データ(クオータニオン)を計算し、SIGVerseサーバにデータを送信します。

ダウンロード

まず、以下の実行ファイルをダウロードします。

    (※2012/2/8更新 人間モデルMan-nii-v2.xmlに対応)

ソースコードはこちら

インストール

ダウンロードした実行ファイルをOpenNIサンプルの実行ファイルがあるフォルダに移動します。デフォルトでは以下のフォルダです。

C:\Program Files (x86)\OpenNI\Samples\Bin\Release (※Windows7 64bitの場合)

この状態でクライアントpcにキネクトを接続しておけば準備完了です。

サーバ側の準備

サーバ側で関節データを受信し、コントローラで関節を回転させます。

コントローラ

まずコントローラを作成します。

$ cd ~/sigverse-<version>/bin/NewWorld
$ emacs kinectController.cpp

kinectController.cpp

このコントローラは人間エージェントを操作するためのものです。

次にMakefileを修正してコンパイルします。 (※動作手順省略)

他のモデルのコントローラサンプル

他のモデルを使う場合はこちらを参照してください。

世界ファイルの作成

次に世界ファイルを作成します。

$ cd ..
$ emacs xml/kinectWorld.xml

kinectWorld.xml

人間のみが登場するシンプルな世界ファイルです。このサンプルではキネクトで操作できるエージェントは人間エージェントのみです。

実行

それでは実行してみましょう。

SIGVerse起動

まずシグバースサーバを起動します。

$ ./sigserver.sh -p 9001 -w xml/kinectWorld.xml

次にSIGViewerで起動したサーバに接続します。接続すると人間が立っているのが見えます。"Send"ボタンを押しシミュレーションを開始します。

関節データの送信

次に先ほどダウンロードしてOpneNIサンプルの実行ファイルフォルダの中に入れたSIGNiUserTrackerをダブルクリックして実行します。 すると以下のようなコンソール画面が立ち上がります。

SIGNi_1.JPG

接続するSIGVerseサーバのホスト名、ポート番号、操作するエージェント名の順に入力していきます。

SIGNi_2.JPG

深度画像が表示されたらキネクトの前で以下のようなポーズをとると骨格が検出され、人間エージェントを操作することができるようになります。

SIGNi_4.png

一つのキネクトに対して操作できるエージェントは1エージェントのみです。 複数人数の骨格を抽出した場合2人目以降は無視されます。

ソースコードのコンパイル

次にクライアント側のソースコードをコンパイルする方法を説明します。コンパイルする環境はVC++2008を前提としています。

ソースコード取得

以下からソースコードを取得します。

(※2012/2/8更新 人間モデルMan-nii-v2.xmlに対応)

展開したフォルダの中に入っているSIGNiUserTrackerフォルダをOpenNIのサンプルコードがおかれた以下のフォルダに移動します。

C:\Program Files (x86)\OpenNI\Samples

コンパイル

次にSIGNiUserTrackerフォルダの中のソリューションファイルをダブルクリックして起動します。(※このとき必ず管理者権限で実行します)

VC++が起動したらソリューションエクスプローラの中のソリューション名を右クリックしてビルドを選択します。ビルドが成功すると以下に実行ファイルSIGNiUserTracker.exeが作成されます。

C:\Program Files (x86)\OpenNI\Samples\Bin\Debug

Up:Tutorial?    Previous:眼球運動?  


Attach file: fileSIGNiUserTracker.zip 866 download [Information] fileSIGNiUserTracker.exe 938 download [Information] fileSig.JPG 790 download [Information] fileSIGNi_4.png 1575 download [Information] fileSIGNi_2.JPG 1588 download [Information] fileSIGNi_1.JPG 1553 download [Information] fileSIGNiUserTracker_bin.zip 567 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2012-03-01 (Thu) 11:54:15 (4438d)