Up:Tutorial?    Previous:眼球運動  Next: HMD+KINECT   


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

※このチュートリアルはv2.1.0以降で動作します。

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

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

OpenNI動作確認バージョン

  • OpenNI Stable Build for Windows x86 (32-bit) v1.5.2.23 Development Edition
    • ダウンロードはこちら
    • (※ 最新版でも動作すると思いますが,正式な動作確認は未だです 2013-12-03現在)
  • 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サーバにデータを送信します。

ダウンロード

KINECTサービスからSIGNiUserTracker_<version>.zipをダウンロードします。

インストール

ダウンロードしたzipファイルを展開しSIGNiUserTracker.sigをOpenNIサンプルの実行ファイルがあるフォルダに置きます。デフォルトでは以下のフォルダです。

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

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

サーバ側の準備

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

コントローラ

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

$ emacs kinectController.cpp

このコントローラではキネクトからデータを受け取り関節を回転させます。

コンパイルします。

$ ./sigmake.sh kinectController.cpp

世界ファイルの作成

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

$ emacs kinectWorld.xml

kinectWorld.xml

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

実行

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

SIGVerse起動

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

$ sigserver.sh -w ./kinectWorld.xml

次にSIGViewerで起動したサーバに接続します。接続すると人間が立っているのが見えます。

サービスの登録

SIGViewerにサービスを登録します。左上のメニューのServiceのAddを選択します。

SIGNi_1.PNG

すると以下のようなウィンドウが立ち上がるのでAddボタンを押して先ほどダウンロードしたSIGNiUserTracker.sigを読み込みます。

SIGNi_2.PNG

Service listにSIGNiUserTracker.sigが登録されたらOKボタンを押してウィンドウを閉じます。

次にメニューのService→Startをクリックし、先ほど登録したSIGNiUserTracker.sigをクリックします。

キネクトの深度画像ウィンドウが立ち上がり、サーバ側で

[SYS]  Service: "SIGKINECT" is available

と表示されればキネクトサービスの立ち上げに成功です。 それでは"START"ボタンを押してシミュレーションを開始してみましょう。

キネクトの前で体を動かすと骨格が検出され、人間エージェントを操作することができるようになります。

SIGNi_3.PNG

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

次にクライアント側ので動くKINECTサービスのソースコードをコンパイルする方法を説明します。コンパイルする環境は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 

Counter: 3941, today: 1, yesterday: 1

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2014-10-29 (Wed) 19:14:13 (3467d)