東京工業大学中嶋研究室 ソフトウェアロボット関連研究紹介
Download
Report
Transcript 東京工業大学中嶋研究室 ソフトウェアロボット関連研究紹介
東京工業大学中嶋研究室
ソフトウェアロボット関連研究紹介
第一回ロボット班会議
阪大
発表構成
自律的キャラクタのための動作生成手法
仮想世界の状態の記述手法
自律的キャラクタのための動作
生成手法
自律的キャラクタではすべての動作は動
的に選択される
プリレコーディング型アニメーションは不可
細かな動作片を選択的に繋ぐ手法
モーショングラフを提案
2001年卒業生 井元 崇之
モーショングラフの目標
柔軟で自然な動きが表現できるエージェン
トの構築技術
様々な動作が表現できる
動作から動作へ自然に変移できる
動作指令に対して直接的に反応できる
従来研究
動力学型アニメーション生成法
物理法則に従った動作を生成可能
望んだ動作の生成にはモデルの複雑な調整が必要
関数型アニメーション生成法
関数の定義によっては望んだ変化と変数が直接対応
自然な動作を再現する関数定義は困難
キーフレーム型アニメーション生成法
定義すれば望んだ動作を確実に生成
動作の段階的変化が難しい
従来のキーフレーム法
キーフレームを再生する順序は予め決まっており、
動作を変移させる時には、新しいモーションの最初
から再生する。
提案する手法
モーショングラフ
キーフレームを再生する順序を
動的に選択し再生する
モーショングラフの定義
頂点:キーフレームの状態
辺:動作の流れ(次に再生するキーフレームの候補)
辺の重み:次のキーフレームを再生するまでの時間
モーショングラフの例(1)
お手をする動作
モーショングラフの例(2)
曲がる動作
直進の動作
曲がる動作
急ぎ度の定義
単純に最短経路を探索しただけでは、常に同じ
変移の様子を再生する。
しかし、現実にはキャラクタの内部状態や、
目的等により変移の様子も異なると考えられる
今回、急ぎ具合に注目して、「急ぎ度」を
定義する。
急ぎ度の定義
急ぎ度:
キャラクタがどれだけ早く目的の動作を実
行したいか、或いはどれだけ早く目的の状
態に移りたいかを、(1~100)の整数値で
数値化したもの。
数値が大きい時には、急いでいる状態を
表し、
小さい時にはゆっくりの状態を示す。
立ち状態から伏せ状態への変
移
急ぎ度が30の時
急ぎ度が80の時
移動動作のときのモーショング
ラフ
走る動作(キーフレーム20)から
立ちの状態(キーフレーム0)への
変移
:急ぎ度1~20の時
:急ぎ度21~52の時
:急ぎ度52~59の時
:急ぎ度60~91の時
:急ぎ度92~100の時
移動動作のときのモーショングラフ
走る動作(キーフレーム20)から
立ちの状態(キーフレーム0)への
変移
:急ぎ度1~20の時
:急ぎ度21~52の時
:急ぎ度52~59の時
:急ぎ度60~91の時
:急ぎ度92~100の時
移動動作のときのモーショングラフ
走る動作(キーフレーム20)から
立ちの状態(キーフレーム0)への
変移
:急ぎ度1~20の時
:急ぎ度21~52の時
:急ぎ度52~59の時
:急ぎ度60~91の時
:急ぎ度92~100の時
移動動作のときのモーショングラフ
走る動作(キーフレーム20)から
立ちの状態(キーフレーム0)への
変移
:急ぎ度1~20の時
:急ぎ度21~52の時
:急ぎ度52~59の時
:急ぎ度60~91の時
:急ぎ度92~100の時
移動動作のときのモーショングラフ
走る動作(キーフレーム20)から
立ちの状態(キーフレーム0)への
変移
:急ぎ度1~20の時
:急ぎ度21~52の時
:急ぎ度52~59の時
:急ぎ度60~91の時
:急ぎ度92~100の時
移動動作
急ぎ度5の時
急ぎ度95の時
モーショングラフのまとめ
キーフレームを動的に選択再生し、様々な
動作を行うことが容易に可能となった。
「急ぎ度」を定義することにより、急ぎ具合
に応じた変移を表現できるようになった。
急ぎ度が実際の速度ではなく、
状態の変移の速度を
表していることが重要
仮想世界の状態の記述手法
仮想世界を構成するCGデータは幾何座標色、反
射特性情報から成っている
エージェントにとって世界の捉え方は幾何学的な
数値データよりもシンボル的であったほうが良い
物体間の位置関係に関する
シンボル的な記述を自動的に作成する
修士二年在籍 八嶋 栄美子
仮想空間の構築
VRML
三次元幾可データ
基本部品
数値データ
頂点
Surface normal
位置関係
シンボル
知識獲得プロセス
知識
仮想空間の状態
物体の名前
物体の位置関係
基礎関数
VRML
物体の位置関係
「中に入っている」
三次元幾可データ
基礎関数
物体の普遍的な物理量で定義
頂点
大きさ
位置
凹型領域
基礎関数の階層構造
例: 「入っている」関係の判定
外側の物体の凹型領域と
内側の物体の重なる領域
内側から見た
外向き6方向の視界
内側の物体の頂点
外側の物体の頂点
内側の物体の位置
外側の物体の位置
内側の物体の大きさ
外側の物体の凹型領域
「入っている」関係の定義(1)
外側の物体の凹型領域と内側の
物体の重なる領域
内側の物体の半分以上が含まれ
ている → 「中に入っている」
「入っている」関係の定義(2)
内側から見た視界
basket
前後、左右、上下6方向
外側の物体が見えるpixelの
割合
複数の物体に囲まれた場合
視界のゆがみ
実験結果1
外側の物体の凹型領域
内側の物体のバウンディングボックス
中に入っていない
実験結果2
Rate = 0.4231
中に入っていない
実験結果3
Rate = 0.5743
中に入っている
仮想世界の状態の記述手法の
まとめ
基礎関数を用いて位置関係を表す関数を
定義
幾何数値表現からシンボルによる位置関
係表現へ