Up:Tutorial?    Previous:物体を持つ動作     Next: ロボット・ダイナミクス(単純モデル)  


BVHファイルの読み込み

※このチュートリアルはSIGVerse v2.1.0以降に対応しています。

ここではBVH形式のモーションデータをSIGVerseで読み込むサンプルを紹介します。

サンプルコードの取得

作業ディレクトリを作成します。

$ cd ~
$ mkdir readBVH
$ cd readBVH

こちらからBVHコントローラを取得します。

https://github.com/SIGVerse/samples/tree/master/controllers/AgentControllerByBVHfile

各種コントローラを含んだサンプル一式はこちらからダウンロードできます。

これには以下のファイルが含まれています。

  • サンプルコントローラ
    • srcs/BVH.cpp
    • srcs/BVH.h
    • srcs/BVHController.cpp
    • srcs/BVHController.h
  • 世界ファイル
    • BVHWorld.xml
  • エージェント設定ファイル
    • Man-bvh.xml
  • bvhファイル読み込み用人間型サンプルモデル
    • bvh_man.x3d
  • Makefile
    • Makefile

コンパイル

それでは早速コンパイルをしてみましょう。

$ make

BVHController.soが作成されたらコンパイルは成功です。

bvhファイルの取得

読み込ませたいbvhファイルを取得してカレントディレクトリ(~/readBVH)に置きます。本ページのサンプルではPV STUDIOから取得したbvhのサンプルデータAction_Kick_bvh.bvhを読み込ませます。

世界ファイルの設定

次に読み込ませたいbvhのファイル名を世界ファイルに記述します。

$ emacs BVHWorld.xml

BVHWorld.xml

    ↓

bvhファイルはSIGVerseを実行するディレクトリからのパスを指定します。

BVHWorld.xml

実行

これで準備は整いました。それでは実行してみましょう。

$ sigserver.sh -w ./BVHWorld.xml

SIGViewerでサーバに接続するとエージェントが手を広げて立っているのが見えます。 Sendボタンを押してシミュレーションを開始するとbvhファイルの読み込みが開始され、エージェントが動き始めます。

motion_1.PNG

エージェントがキックします。

サンプルモデル

bvh読み込みサンプルモデル(bvh_man.x3d)で定義された関節名は以下のようになっています。すべての関節がローカル座標系におけるx,y,z軸を中心に回転するように定義されています。

joint_name.jpg

参考ページ

Old Version


Up:Tutorial?    Previous:物体を持つ動作     Next: ロボット・ダイナミクス(単純モデル) 

Counter: 3884, today: 1, yesterday: 0

Attach file: filereadBVH_2.1.0.tar.gz 863 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: 2016-02-25 (Thu) 17:37:12 (2981d)