JPH04346174A - コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体 - Google Patents
コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体Info
- Publication number
- JPH04346174A JPH04346174A JP3118341A JP11834191A JPH04346174A JP H04346174 A JPH04346174 A JP H04346174A JP 3118341 A JP3118341 A JP 3118341A JP 11834191 A JP11834191 A JP 11834191A JP H04346174 A JPH04346174 A JP H04346174A
- Authority
- JP
- Japan
- Prior art keywords
- motion
- joint structure
- time function
- joint
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はコンピュータグラフィッ
クスにて人間や動物等の多関節構造体を動かす動作表現
装置方法に係り、特に、豊富な動作を表現を可能にする
のに好適な多関節構造体の動作表現装置,コンピュータ
グラフィックスシステム、及びロボット制御システムに
関する。
クスにて人間や動物等の多関節構造体を動かす動作表現
装置方法に係り、特に、豊富な動作を表現を可能にする
のに好適な多関節構造体の動作表現装置,コンピュータ
グラフィックスシステム、及びロボット制御システムに
関する。
【0002】
【従来の技術】人間の歩行動作,駈け足動作や馬,昆虫
の動きなどをコンピュータグラフィックスにて表現する
場合、一般的にキーフレーム法が用いられる。このキー
フレーム法は、動作対象とする人間や馬等の多関節構造
体の或る時刻での形状と、次の時刻での形状を決め、そ
の間の時刻での形状を補間法にて決定し、各形状を時系
列的に順次表示することで、全体的にその多関節構造体
が動いているように表現するものである。このキーフレ
ーム法は、動作対象の動きを決める時系列的な各形状を
決定するのに時間がかかり、処理時間が膨大となりオペ
レータに負担を強いるという問題がある。
の動きなどをコンピュータグラフィックスにて表現する
場合、一般的にキーフレーム法が用いられる。このキー
フレーム法は、動作対象とする人間や馬等の多関節構造
体の或る時刻での形状と、次の時刻での形状を決め、そ
の間の時刻での形状を補間法にて決定し、各形状を時系
列的に順次表示することで、全体的にその多関節構造体
が動いているように表現するものである。このキーフレ
ーム法は、動作対象の動きを決める時系列的な各形状を
決定するのに時間がかかり、処理時間が膨大となりオペ
レータに負担を強いるという問題がある。
【0003】そこで従来は、電子通信学会論文誌’80
/1,Vol.J63−DNo.1の87頁「アニメー
ションプリミティブの合成による3角関数近似式動画像
」に記載されているように、人間の動きを16mmフィ
ルムで撮影して代表的な関数部分の動きを計測し、各関
節部分の水平方向,垂直方向の位置X,Yが時間Tの関
数として基準位置から何cmのところにあるかにより、
各関節部分の運動軌跡を求めている。そして、その運動
軌跡を直線と3角関数曲線にて近似し、コンピュータは
、この近似曲線から時系列上の各形状を算出しこれを順
次表示するようにしている。
/1,Vol.J63−DNo.1の87頁「アニメー
ションプリミティブの合成による3角関数近似式動画像
」に記載されているように、人間の動きを16mmフィ
ルムで撮影して代表的な関数部分の動きを計測し、各関
節部分の水平方向,垂直方向の位置X,Yが時間Tの関
数として基準位置から何cmのところにあるかにより、
各関節部分の運動軌跡を求めている。そして、その運動
軌跡を直線と3角関数曲線にて近似し、コンピュータは
、この近似曲線から時系列上の各形状を算出しこれを順
次表示するようにしている。
【0004】
【発明が解決しようとする課題】上述した従来技術は、
撮影して求めた各関節の動きを、各時点での基準位置か
らのX位置,Y位置の変化として近似曲線を求めている
。このため、この近似曲線を用いて動作を表現する場合
は良いが、別の動作を表現する場合には適用できず、再
度撮影から繰り返さなければならず、自由度が小さいと
いう問題がある。つまり、この従来技術は、撮影した実
際の動作しかコンピュータグラフィックス上で多関節構
造体を動かすことができない。このことは、コンピュー
タグラフィックス上で、豊富な動作をさせることができ
ないことを意味する。つまり、例えば撮影した標準的な
歩行動作をコンピュータグラフィックス上で表現できる
だけで、この標準的な動作に変更を加えて例えば「荒々
しい歩行動作」や「楽しそうな歩行動作」を表現できな
い。このため従来は、斯る動作を表現したい場合には、
実際に「荒々しい歩行動作」等を人間に行なわせこれを
撮影してその動作を解析しなければならない。換言すれ
ば、豊富な動作表現を実際に撮影することができない動
物や昆虫、想像上の物体は、コンピュータグラフィック
スにていろいろな動作形態で動かすことが困難であるこ
とを示す。
撮影して求めた各関節の動きを、各時点での基準位置か
らのX位置,Y位置の変化として近似曲線を求めている
。このため、この近似曲線を用いて動作を表現する場合
は良いが、別の動作を表現する場合には適用できず、再
度撮影から繰り返さなければならず、自由度が小さいと
いう問題がある。つまり、この従来技術は、撮影した実
際の動作しかコンピュータグラフィックス上で多関節構
造体を動かすことができない。このことは、コンピュー
タグラフィックス上で、豊富な動作をさせることができ
ないことを意味する。つまり、例えば撮影した標準的な
歩行動作をコンピュータグラフィックス上で表現できる
だけで、この標準的な動作に変更を加えて例えば「荒々
しい歩行動作」や「楽しそうな歩行動作」を表現できな
い。このため従来は、斯る動作を表現したい場合には、
実際に「荒々しい歩行動作」等を人間に行なわせこれを
撮影してその動作を解析しなければならない。換言すれ
ば、豊富な動作表現を実際に撮影することができない動
物や昆虫、想像上の物体は、コンピュータグラフィック
スにていろいろな動作形態で動かすことが困難であるこ
とを示す。
【0005】本発明の目的は、コンピュータグラフィッ
クスロボット等の動作表現装置において動作対象に対し
いろいろな動作形態をとらせることが容易な動作の制御
装置を提供することにある。
クスロボット等の動作表現装置において動作対象に対し
いろいろな動作形態をとらせることが容易な動作の制御
装置を提供することにある。
【0006】
【課題を解決するための手段】多関節構造体の各関節の
動きを制御することで多関節構造体の動作を表現する場
合に、各関節の動きを時間関数で表現する。いろいろな
動作形態をとらせるために、パラメ−タを変更する手段
は、複数の動作を表現する時間関数の各パラメ−タどう
しを平均する手段,多関節構造体の方向を制御する手段
,動作経路を生成する手段,曲線の内側と外側で歩幅を
変える手段,遠心力の影響を考慮する手段,運動時の歩
幅を制御する手段,空間で時間関数を補間する手段,時
間で時間関数を補間する手段,キーフレーム法で生成し
た動作と時間関数で生成した動作を合成する手段と、測
定デ−タから時間関数を生成する手段と、キーフレーム
法で生成した動作から時間関数を生成する手段,時間関
数を補正する手段との少なくとも一つを有することで達
成される。
動きを制御することで多関節構造体の動作を表現する場
合に、各関節の動きを時間関数で表現する。いろいろな
動作形態をとらせるために、パラメ−タを変更する手段
は、複数の動作を表現する時間関数の各パラメ−タどう
しを平均する手段,多関節構造体の方向を制御する手段
,動作経路を生成する手段,曲線の内側と外側で歩幅を
変える手段,遠心力の影響を考慮する手段,運動時の歩
幅を制御する手段,空間で時間関数を補間する手段,時
間で時間関数を補間する手段,キーフレーム法で生成し
た動作と時間関数で生成した動作を合成する手段と、測
定デ−タから時間関数を生成する手段と、キーフレーム
法で生成した動作から時間関数を生成する手段,時間関
数を補正する手段との少なくとも一つを有することで達
成される。
【0007】
【作用】動作表現の複数の動作を表現する時間関数の各
パラメータどうしを平均ごとにより複数の時間関数を平
均した動作が表現できる。
パラメータどうしを平均ごとにより複数の時間関数を平
均した動作が表現できる。
【0008】多関節構造体の方向を制御することで進行
方向を制御できる。
方向を制御できる。
【0009】動作経路を生成することで空間上を自由に
移動できる。
移動できる。
【0010】曲線の内側と外側で歩幅を変えることによ
り足が滑ることがない。
り足が滑ることがない。
【0011】遠心力の影響を考慮するこより円運動時の
体の傾きを表現できる。
体の傾きを表現できる。
【0012】移動時の歩幅を制御することで区間の歩数
を制御することができる。
を制御することができる。
【0013】空間で時間関数を補間することにより移動
しながらの動作変化が表現できる。時間で時間関数を補
間することにより経過時刻により動作変化ができる。
しながらの動作変化が表現できる。時間で時間関数を補
間することにより経過時刻により動作変化ができる。
【0014】キーフレーム法で生成した動作と時間関数
で生成した動作を合成することにより時間関数だけで表
現できない動作も表現できる。
で生成した動作を合成することにより時間関数だけで表
現できない動作も表現できる。
【0015】測定デ−タから時間関数を生成することに
より実際の動作を時間関数で生成できる。
より実際の動作を時間関数で生成できる。
【0016】キーフレーム法で生成した動作から時間関
数を生成することにより実際に存在しない動作も時間関
数で生成できる。
数を生成することにより実際に存在しない動作も時間関
数で生成できる。
【0017】時間関数を補正することにより時間関数を
補正できる。
補正できる。
【0018】
【実施例】多関節構造体の各関節の動きを表現する一手
法について以下説明する。コンピュータグラフィックス
等の動作表現装置において、表現すべき多関節構造体に
は、人間,ロボット,昆虫などあるが本実施例では、コ
ンピュータグラフィックスシステムにおいて人間を表示
する場合について説明する。
法について以下説明する。コンピュータグラフィックス
等の動作表現装置において、表現すべき多関節構造体に
は、人間,ロボット,昆虫などあるが本実施例では、コ
ンピュータグラフィックスシステムにおいて人間を表示
する場合について説明する。
【0019】人間は、非常に多くの関節で構成されてい
る。この多くの関節が他の関節に対して協調を行ないな
がら動作することによって目的の動作、或いは人間らし
い動作が表現できる。人間を動かすためには各関節の曲
げ角を時間変化させなければならない。そこで次式を用
い各関節の動きを表現する。
る。この多くの関節が他の関節に対して協調を行ないな
がら動作することによって目的の動作、或いは人間らし
い動作が表現できる。人間を動かすためには各関節の曲
げ角を時間変化させなければならない。そこで次式を用
い各関節の動きを表現する。
【0020】
【数1】
【0021】Θm(t) は関節の曲げ角を表わす時間
関数である。この時間関数は周期関数のフ−リエ級数展
開である。mは関節番号に対応する。人間全身の動きを
表現するには各関節に対応した時間関数Θm(t) が
必要になる。iは級数展開する最大次数、A0 は曲げ
角度の平均値、Anは第n次高調波のスペクトル強度、
Ψnは第n次高調波の位相を示す。
関数である。この時間関数は周期関数のフ−リエ級数展
開である。mは関節番号に対応する。人間全身の動きを
表現するには各関節に対応した時間関数Θm(t) が
必要になる。iは級数展開する最大次数、A0 は曲げ
角度の平均値、Anは第n次高調波のスペクトル強度、
Ψnは第n次高調波の位相を示す。
【0022】以下、本発明の実施例を図1により説明す
る。動作表現用時間関数データベース11,関節角演算
装置12,レンダリング装置13,表示装置14,制御
装置15より構成される。動作表現用時間関数データベ
ース11には、動作の種類毎に人間の各関節に対応する
時間関数Θm(t)の係数、A0・A1・・・Ai,Ψ
1・Ψ2・・・Ψiが登録されている。関節角演算装置
12は、表現しようとする動作のA0・A1・・・Ai
,Ψ1・Ψ2・・・Ψiより数1を用い、人間の各関節
のある時刻における曲げ角度を計算する。レンダリング
装置13は、関節角演算装置12で計算された結果から
人間の3次元上の位置や姿勢を計算し2次元に投影する
。表示装置14は投影された結果をディスプレイに表示
する。制御装置15は、動作表現用時間関数データベー
ス11の時間関数の選択、選択された時間関数Θm(t
) の係数、A0・A1・・・Ai,Ψ1・Ψ2・・・
Ψiの修正、時間変数tの制御を行なう。
る。動作表現用時間関数データベース11,関節角演算
装置12,レンダリング装置13,表示装置14,制御
装置15より構成される。動作表現用時間関数データベ
ース11には、動作の種類毎に人間の各関節に対応する
時間関数Θm(t)の係数、A0・A1・・・Ai,Ψ
1・Ψ2・・・Ψiが登録されている。関節角演算装置
12は、表現しようとする動作のA0・A1・・・Ai
,Ψ1・Ψ2・・・Ψiより数1を用い、人間の各関節
のある時刻における曲げ角度を計算する。レンダリング
装置13は、関節角演算装置12で計算された結果から
人間の3次元上の位置や姿勢を計算し2次元に投影する
。表示装置14は投影された結果をディスプレイに表示
する。制御装置15は、動作表現用時間関数データベー
ス11の時間関数の選択、選択された時間関数Θm(t
) の係数、A0・A1・・・Ai,Ψ1・Ψ2・・・
Ψiの修正、時間変数tの制御を行なう。
【0023】その結果、動作の選択や、データベースに
蓄えられた動作以外の動作表現、更に時間変数tの制御
による動作速度の制御などができる。
蓄えられた動作以外の動作表現、更に時間変数tの制御
による動作速度の制御などができる。
【0024】図2は、制御装置の一実施例である。動作
表現用時間関数データベース11,時間関数の選択装置
21,選択された時間関数の一時記憶装置群22,23
,24,時間関数の平均装置25,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。時間関数選択装置21で選択された一つの動作を表わ
す時間関数の各成分は、選択された時間関数の一時記憶
装置群22,23,24に動作毎に記憶される。ここで
、仮に選択した動作の数をj種類,それぞれの時間関数
の振幅及び位相差を次のようにする。動作1,A10・
A11・・・A1i,Ψ11・Ψ12・・・Ψ1i
動作2,A20・A21・・・A2i,Ψ21・Ψ22
・・・Ψ2i 動作j,Aj0・Aj1・・・Aji
,Ψj1・Ψj2・・・Ψji 選択された時間関数の
振幅及び位相は時間関数の平均装置25で次式のように
各周波数成分が平均される。
表現用時間関数データベース11,時間関数の選択装置
21,選択された時間関数の一時記憶装置群22,23
,24,時間関数の平均装置25,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。時間関数選択装置21で選択された一つの動作を表わ
す時間関数の各成分は、選択された時間関数の一時記憶
装置群22,23,24に動作毎に記憶される。ここで
、仮に選択した動作の数をj種類,それぞれの時間関数
の振幅及び位相差を次のようにする。動作1,A10・
A11・・・A1i,Ψ11・Ψ12・・・Ψ1i
動作2,A20・A21・・・A2i,Ψ21・Ψ22
・・・Ψ2i 動作j,Aj0・Aj1・・・Aji
,Ψj1・Ψj2・・・Ψji 選択された時間関数の
振幅及び位相は時間関数の平均装置25で次式のように
各周波数成分が平均される。
【0025】
【数2】
【0026】
【数3】
【0027】関節角演算装置12は、数2の振幅及び数
3の位相より次式の数4を用い、人間の各関節のある時
刻における曲げ角度を計算する。
3の位相より次式の数4を用い、人間の各関節のある時
刻における曲げ角度を計算する。
【0028】
【数4】
【0029】レンダリング装置13は、関節角演算装置
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
【0030】以上の結果、動作表現用時間関数データベ
ース11に蓄えられている動作以外の動作を、動作表現
用時間関数データベース11より複数の動作表現用時間
関数を選択し前記のような演算処理をすることにより新
たに生成することができる。図3は、制御装置の一実施
例である。動作表現用時間関数データベース11,時間
関数の選択装置21,選択された時間関数の各成分の一
時記憶装置群22,23,24,時間関数の重み付き平
均装置31,関節角演算装置12,レンダリング装置1
3,表示装置14,制御装置15より構成される。時間
関数選択装置21で選択された一つの動作を表わす時間
関数の各成分は、選択された時間関数の一時記憶装置群
22,23,24に動作毎に記憶される。ここで、仮に
選択した動作の数をj種類。それぞれの時間関数の振幅
及び位相差を次のようにする。動作1,A10・A11
・・・A1i,Ψ11・Ψ12・・・Ψ1i 動作2
,A20・A21・・・A2i,Ψ21・Ψ22・・・
Ψ2i 動作j,Aj0・Aj1・・・Aji,Ψj
1・Ψj2・・・Ψji 時間関数の振幅及び位相は
時間関数の重み付き平均装置31で次式のように各周波
数成分の重み付き平均がされる。αkは時間関数の重み
である。
ース11に蓄えられている動作以外の動作を、動作表現
用時間関数データベース11より複数の動作表現用時間
関数を選択し前記のような演算処理をすることにより新
たに生成することができる。図3は、制御装置の一実施
例である。動作表現用時間関数データベース11,時間
関数の選択装置21,選択された時間関数の各成分の一
時記憶装置群22,23,24,時間関数の重み付き平
均装置31,関節角演算装置12,レンダリング装置1
3,表示装置14,制御装置15より構成される。時間
関数選択装置21で選択された一つの動作を表わす時間
関数の各成分は、選択された時間関数の一時記憶装置群
22,23,24に動作毎に記憶される。ここで、仮に
選択した動作の数をj種類。それぞれの時間関数の振幅
及び位相差を次のようにする。動作1,A10・A11
・・・A1i,Ψ11・Ψ12・・・Ψ1i 動作2
,A20・A21・・・A2i,Ψ21・Ψ22・・・
Ψ2i 動作j,Aj0・Aj1・・・Aji,Ψj
1・Ψj2・・・Ψji 時間関数の振幅及び位相は
時間関数の重み付き平均装置31で次式のように各周波
数成分の重み付き平均がされる。αkは時間関数の重み
である。
【0031】
【数5】
【0032】
【数6】
【0033】関節角演算装置12は、数5の振幅及び数
6の位相より次式の数7を用い、人間の各関節のある時
刻における曲げ角度を計算する。
6の位相より次式の数7を用い、人間の各関節のある時
刻における曲げ角度を計算する。
【0034】
【数7】
【0035】レンダリング装置13は、関節角演算装置
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
【0036】以上の結果、動作表現用時間関数データベ
ース11に蓄えられている動作以外の動作を、動作表現
用時間関数データベース11より複数の動作表現用時間
関数を選択し前記のような演算処理をすることにより各
選択した動作の重みを制御しながら新たな動作を生成す
ることができる。
ース11に蓄えられている動作以外の動作を、動作表現
用時間関数データベース11より複数の動作表現用時間
関数を選択し前記のような演算処理をすることにより各
選択した動作の重みを制御しながら新たな動作を生成す
ることができる。
【0037】図4は、制御装置の一実施例である。動作
表現用時間関数データベース11,通過点の指定装置4
1,移動方向の制御装置42,関節角演算装置12,レ
ンダリング装置13,表示装置14より構成される。図
5は、通過点と移動方向の関係を示す図である。図5は
xy平面上に地面があり、人間402はこの地面の上に
立っている。人間の頭の方向がz軸である。まず、通過
点の指定装置42で人間の通過点を図5における、40
1のように指定する。移動方向の制御装置42は、人間
402の正面が通過点401の方向を向くようにy軸周
りに回転する。人間の移動は、移動中の動作表現を動作
表現用時間関数データベース11より選択する。関節角
演算装置12で関節を動かす。移動方向の制御装置42
で人間402は通過点401の方向を向いているので人
間402は通過点401の方向に移動する。レンダリン
グ装置13は、関節角演算装置12で計算された結果か
ら人間の3次元上の位置や姿勢を計算し2次元に投影す
る。表示装置14は投影された結果をディスプレイに表
示する。
表現用時間関数データベース11,通過点の指定装置4
1,移動方向の制御装置42,関節角演算装置12,レ
ンダリング装置13,表示装置14より構成される。図
5は、通過点と移動方向の関係を示す図である。図5は
xy平面上に地面があり、人間402はこの地面の上に
立っている。人間の頭の方向がz軸である。まず、通過
点の指定装置42で人間の通過点を図5における、40
1のように指定する。移動方向の制御装置42は、人間
402の正面が通過点401の方向を向くようにy軸周
りに回転する。人間の移動は、移動中の動作表現を動作
表現用時間関数データベース11より選択する。関節角
演算装置12で関節を動かす。移動方向の制御装置42
で人間402は通過点401の方向を向いているので人
間402は通過点401の方向に移動する。レンダリン
グ装置13は、関節角演算装置12で計算された結果か
ら人間の3次元上の位置や姿勢を計算し2次元に投影す
る。表示装置14は投影された結果をディスプレイに表
示する。
【0038】以上の結果、時間関数で動きを表現する人
間の移動方向を制御することができる。
間の移動方向を制御することができる。
【0039】図6は、制御装置の一実施例である。動作
表現用時間関数データベース11,通過点の指定装置4
1,移動経路の生成装置61,移動方向の制御装置42
,関節角演算装置12,レンダリング装置13,表示装
置14より構成される。図7は、通過点と移動方向の関
係を示す表示装置14の画面での表示例を示す図である
。図7はxy平面上に地面があり、人間602はこの地
面の上に立っている。人間の頭の方向がz軸である。 まず、人間がこの平面上を動く時の通過点を、通過点の
指定装置41を用い平面上に図601,603,604
,605のように指定する。指定された通過点の間を例
えば自由曲線等を用い曲線で接続し、移動経路を図60
1,606のように生成する。移動方向の制御装置42
は、人間602の正面が生成された曲線606の現在人
間が移動している地点の接線方向607を向くように人
間602をy軸周りに回転する。人間の移動は、移動中
の動作表現を動作表現用時間関数データベース11より
選択する。関節角演算装置12で関節を動かす。移動方
向の制御装置42で人間602は、現在通過している地
点の接線方向を向いているので人間602は生成された
曲線606に沿って移動する。レンダリング装置13は
、関節角演算装置12で計算された結果から人間の3次
元上の位置や姿勢を計算し2次元に投影する。表示装置
14は投影された結果をディスプレイに表示する。
表現用時間関数データベース11,通過点の指定装置4
1,移動経路の生成装置61,移動方向の制御装置42
,関節角演算装置12,レンダリング装置13,表示装
置14より構成される。図7は、通過点と移動方向の関
係を示す表示装置14の画面での表示例を示す図である
。図7はxy平面上に地面があり、人間602はこの地
面の上に立っている。人間の頭の方向がz軸である。 まず、人間がこの平面上を動く時の通過点を、通過点の
指定装置41を用い平面上に図601,603,604
,605のように指定する。指定された通過点の間を例
えば自由曲線等を用い曲線で接続し、移動経路を図60
1,606のように生成する。移動方向の制御装置42
は、人間602の正面が生成された曲線606の現在人
間が移動している地点の接線方向607を向くように人
間602をy軸周りに回転する。人間の移動は、移動中
の動作表現を動作表現用時間関数データベース11より
選択する。関節角演算装置12で関節を動かす。移動方
向の制御装置42で人間602は、現在通過している地
点の接線方向を向いているので人間602は生成された
曲線606に沿って移動する。レンダリング装置13は
、関節角演算装置12で計算された結果から人間の3次
元上の位置や姿勢を計算し2次元に投影する。表示装置
14は投影された結果をディスプレイに表示する。
【0040】以上の結果、時間関数で動きを表現する人
間を平面上自由に移動させることができる。
間を平面上自由に移動させることができる。
【0041】さらに他の制御方法としては、多関節構造
体602の運動の始点の位置を示す情報601,上記多
関節構造体602の運動の始点における速度と運動の方
向との少なくとも一方を示すベクトル情報607,多関
節構造体602の運動の終点の位置を示す情報603,
多関節構造体602の運動の終点における速度と運動の
方向との少なくとも一方を示すベクトル情報(図示せず
)を図示していない入力手段で入力し、記憶し、また表
示し、多関節構造体602の運動の始点の位置を示す情
報601,多関節構造体602の運動の始点における速
度と運動の方向との少なくとも一方を示すベクトル情報
607,多関節構造体602の運動の終点の位置を示す
情報603,多関節構造体602の運動の終点603に
おける速度と運動との少なくとも一方を示す情報に基づ
いて、多関節構造体602の始点601から終点603
までの運動経路を示す情報を演算する。その後、603
,604,605,606と同様に演算する。また、さ
らに他の制御方法としては、多関節構造体602の運動
中の位置に対応する情報601と、多関節構造体602
の運動中の向きを示す情報607とを入力し、記憶し、
また表示し、多関節構造体602の運動中の位置に対応
する情報と多関節構造体602の運動中の向きを示す情
報607とに基づいて、多関節構造体602の運動中の
経路を示す情報を演算する。尚、ここで多関節構造体の
運動中の向きを示す情報は、座標系上の所望の点、また
は他の多関節構造体に対する上記多関節構造体の運動中
の向きを示す情報,座標系上の所望の線に対する上記多
関節構造体の運動中の向きを示す情報,座標系上の所望
の平面に対する上記多関節構造体の運動中の向きを示す
情報、または多関節構造体の運動の方向に対する上記多
関節構造体の運動中の向きを示す情報である。
体602の運動の始点の位置を示す情報601,上記多
関節構造体602の運動の始点における速度と運動の方
向との少なくとも一方を示すベクトル情報607,多関
節構造体602の運動の終点の位置を示す情報603,
多関節構造体602の運動の終点における速度と運動の
方向との少なくとも一方を示すベクトル情報(図示せず
)を図示していない入力手段で入力し、記憶し、また表
示し、多関節構造体602の運動の始点の位置を示す情
報601,多関節構造体602の運動の始点における速
度と運動の方向との少なくとも一方を示すベクトル情報
607,多関節構造体602の運動の終点の位置を示す
情報603,多関節構造体602の運動の終点603に
おける速度と運動との少なくとも一方を示す情報に基づ
いて、多関節構造体602の始点601から終点603
までの運動経路を示す情報を演算する。その後、603
,604,605,606と同様に演算する。また、さ
らに他の制御方法としては、多関節構造体602の運動
中の位置に対応する情報601と、多関節構造体602
の運動中の向きを示す情報607とを入力し、記憶し、
また表示し、多関節構造体602の運動中の位置に対応
する情報と多関節構造体602の運動中の向きを示す情
報607とに基づいて、多関節構造体602の運動中の
経路を示す情報を演算する。尚、ここで多関節構造体の
運動中の向きを示す情報は、座標系上の所望の点、また
は他の多関節構造体に対する上記多関節構造体の運動中
の向きを示す情報,座標系上の所望の線に対する上記多
関節構造体の運動中の向きを示す情報,座標系上の所望
の平面に対する上記多関節構造体の運動中の向きを示す
情報、または多関節構造体の運動の方向に対する上記多
関節構造体の運動中の向きを示す情報である。
【0042】図8は、制御装置の一実施例である。動作
表現用時間関数データベース11,通過点の指定装置4
1,移動経路の生成装置61,移動方向の制御装置42
,曲線移動時の歩幅の制御装置71,時間関数の補正装
置72,関節角演算装置12,レンダリング装置13,
表示装置14より構成される。図9は、人間が曲線上を
移動する時の曲率中心側の足の歩幅と曲率中心の反対側
の歩幅の関係を示す図である。人間は曲線701上を移
動する。現在移動中の曲線70l上の点P:709にお
けるの微小区間ΔL:702の曲率中心をO:703、
曲率半径をR:704、曲率の中心側の足と曲率中心O
との距離をRi :705、曲率の外側の足と曲率中心
Oとの距離をRo :706とする。人間の移動経路、
図701を図8の通過点の指定装置41及び移動経路の
生成装置61を用い生成する。人間の正面は移動方向の
制御装置42を用い点Pにおける接線方向を向くように
制御される。曲線移動時の歩幅の制御装置71では人間
が曲線を移動する際に曲率中心側の歩幅Si:707、
外側の歩幅So:708を次の数8及び数9で生成する
。Sは人間が直線運動をする時の歩幅である。
表現用時間関数データベース11,通過点の指定装置4
1,移動経路の生成装置61,移動方向の制御装置42
,曲線移動時の歩幅の制御装置71,時間関数の補正装
置72,関節角演算装置12,レンダリング装置13,
表示装置14より構成される。図9は、人間が曲線上を
移動する時の曲率中心側の足の歩幅と曲率中心の反対側
の歩幅の関係を示す図である。人間は曲線701上を移
動する。現在移動中の曲線70l上の点P:709にお
けるの微小区間ΔL:702の曲率中心をO:703、
曲率半径をR:704、曲率の中心側の足と曲率中心O
との距離をRi :705、曲率の外側の足と曲率中心
Oとの距離をRo :706とする。人間の移動経路、
図701を図8の通過点の指定装置41及び移動経路の
生成装置61を用い生成する。人間の正面は移動方向の
制御装置42を用い点Pにおける接線方向を向くように
制御される。曲線移動時の歩幅の制御装置71では人間
が曲線を移動する際に曲率中心側の歩幅Si:707、
外側の歩幅So:708を次の数8及び数9で生成する
。Sは人間が直線運動をする時の歩幅である。
【0043】
【数8】
【0044】
【数9】
【0045】人間の移動は、移動中の動作表現を動作表
現用時間関数データベース11より選択する。関節角演
算装置12で関節を動かす。このとき内側の歩幅と外側
の歩幅の違いを曲線移動時の歩幅の制御装置71で制御
し動作を表わす時間関数を時間関数の補正装置72によ
り補正する。移動方向の制御装置42で人間702は、
現在通過している地点の接線方向を向いているので人間
702は生成された曲線706に沿って地面に対して足
が滑らずに移動する。レンダリング装置13は、関節角
演算装置12で計算された結果から人間の3次元上の位
置や姿勢を計算し2次元に投影する。表示装置14は投
影された結果をディスプレイに表示する。
現用時間関数データベース11より選択する。関節角演
算装置12で関節を動かす。このとき内側の歩幅と外側
の歩幅の違いを曲線移動時の歩幅の制御装置71で制御
し動作を表わす時間関数を時間関数の補正装置72によ
り補正する。移動方向の制御装置42で人間702は、
現在通過している地点の接線方向を向いているので人間
702は生成された曲線706に沿って地面に対して足
が滑らずに移動する。レンダリング装置13は、関節角
演算装置12で計算された結果から人間の3次元上の位
置や姿勢を計算し2次元に投影する。表示装置14は投
影された結果をディスプレイに表示する。
【0046】以上の結果、時間関数で動きを表現する人
間を平面上自由になおかつ地面に対して足が滑らずに移
動させることができる。
間を平面上自由になおかつ地面に対して足が滑らずに移
動させることができる。
【0047】図10は、制御装置の一実施例である。動
作表現用時間関数データベース11,通過点の指定装置
41,移動経路の生成装置61,移動方向の制御装置4
2,曲率半径の検出装置81,移動速度の検出装置82
,遠心力の算出装置83,時間関数の補正装置72,関
節角演算装置12,レンダリング装置13,表示装置1
4より構成される。人間の移動経路を指定装置41及び
移動経路の生成装置61を用い生成する。人間の正面は
移動方向の制御装置42を用い接線方向を向くように制
御される。図11は、地面に対して垂直に立っている人
間が円運動をした時に加わる力の関係を示す図である。 人間が801、曲率中心がO、曲率半径がR、重力がg
、遠心力がar 、遠心力と重力の合成力がFである。 このままでは、人間は遠心力のために外側に倒れてしま
う。あるいは、倒れそうに観測者に見える。そこで、次
のように人間の姿勢を制御する。曲率半径の検出装置8
1を用い現在通過している曲線の曲率半径を、移動速度
の検出装置82を用い現在の移動速度を検出又は算出す
る。曲率半径及び移動速度より遠心力の算出装置83を
用い人間に加わる遠心力を算出する。時間関数の補正装
置72を用い図12に示すように、遠心力ar と重力
gの合成力Fと人間の姿勢が平行になるように人間の姿
勢をΘf 傾かせるように動作表現用時間関数を修正す
る。これにより人間に加わる遠心力と重力が平衡し倒れ
ない。その後、関節角演算装置12で関節の動きを生成
する。レンダリング装置13は、関節角演算装置12で
計算された結果から人間の3次元上の位置や姿勢を計算
し2次元に投影する。表示装置14は投影された結果を
ディスプレイに表示する。
作表現用時間関数データベース11,通過点の指定装置
41,移動経路の生成装置61,移動方向の制御装置4
2,曲率半径の検出装置81,移動速度の検出装置82
,遠心力の算出装置83,時間関数の補正装置72,関
節角演算装置12,レンダリング装置13,表示装置1
4より構成される。人間の移動経路を指定装置41及び
移動経路の生成装置61を用い生成する。人間の正面は
移動方向の制御装置42を用い接線方向を向くように制
御される。図11は、地面に対して垂直に立っている人
間が円運動をした時に加わる力の関係を示す図である。 人間が801、曲率中心がO、曲率半径がR、重力がg
、遠心力がar 、遠心力と重力の合成力がFである。 このままでは、人間は遠心力のために外側に倒れてしま
う。あるいは、倒れそうに観測者に見える。そこで、次
のように人間の姿勢を制御する。曲率半径の検出装置8
1を用い現在通過している曲線の曲率半径を、移動速度
の検出装置82を用い現在の移動速度を検出又は算出す
る。曲率半径及び移動速度より遠心力の算出装置83を
用い人間に加わる遠心力を算出する。時間関数の補正装
置72を用い図12に示すように、遠心力ar と重力
gの合成力Fと人間の姿勢が平行になるように人間の姿
勢をΘf 傾かせるように動作表現用時間関数を修正す
る。これにより人間に加わる遠心力と重力が平衡し倒れ
ない。その後、関節角演算装置12で関節の動きを生成
する。レンダリング装置13は、関節角演算装置12で
計算された結果から人間の3次元上の位置や姿勢を計算
し2次元に投影する。表示装置14は投影された結果を
ディスプレイに表示する。
【0048】以上の結果、時間関数で動きを表現する人
間を曲線上を移動させる際に遠心力の影響を考慮するた
め、人間が倒れそうに見えたりするような不自然な動き
をすることがない。
間を曲線上を移動させる際に遠心力の影響を考慮するた
め、人間が倒れそうに見えたりするような不自然な動き
をすることがない。
【0049】図13は、制御装置の一実施例である。動
作表現用時間関数データベース11,通過点の指定装置
41,移動経路の生成装置61,移動方向の制御装置4
2,曲率半径の検出装置81,移動速度の検出装置82
,重力の修正装置91,遠心力の算出装置83,時間関
数の補正装置72,関節角演算装置12,レンダリング
装置13,表示装置14より構成される。人間の移動経
路を指定装置41及び移動経路の生成装置61を用い生
成する。人間の正面は移動方向の制御装置42を用い接
線方向を向くように制御される。曲率半径の検出装置8
1を用い現在通過している曲線の曲率半径を、移動速度
の検出装置82を用い現在の移動速度を検出する。曲率
半径及び移動速度より遠心力の算出装置83を用い人間
に加わる遠心力を算出する。時間関数の補正装置72で
重力と遠心力が平衡するように人間の姿勢を補正する。 重力の修正装置91は重力に関する情報の大きさを修正
する。重力に関する情報の大きさを変えることによて、
例えば重力を小さくすれば体が大きく傾き、逆に重力を
大きくすれば体があまり傾かないと言った動作の誇張な
どができる。その後、関節角演算装置12で関節の動き
を生成する。レンダリング装置13は、関節角演算装置
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
作表現用時間関数データベース11,通過点の指定装置
41,移動経路の生成装置61,移動方向の制御装置4
2,曲率半径の検出装置81,移動速度の検出装置82
,重力の修正装置91,遠心力の算出装置83,時間関
数の補正装置72,関節角演算装置12,レンダリング
装置13,表示装置14より構成される。人間の移動経
路を指定装置41及び移動経路の生成装置61を用い生
成する。人間の正面は移動方向の制御装置42を用い接
線方向を向くように制御される。曲率半径の検出装置8
1を用い現在通過している曲線の曲率半径を、移動速度
の検出装置82を用い現在の移動速度を検出する。曲率
半径及び移動速度より遠心力の算出装置83を用い人間
に加わる遠心力を算出する。時間関数の補正装置72で
重力と遠心力が平衡するように人間の姿勢を補正する。 重力の修正装置91は重力に関する情報の大きさを修正
する。重力に関する情報の大きさを変えることによて、
例えば重力を小さくすれば体が大きく傾き、逆に重力を
大きくすれば体があまり傾かないと言った動作の誇張な
どができる。その後、関節角演算装置12で関節の動き
を生成する。レンダリング装置13は、関節角演算装置
12で計算された結果から人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は投影された
結果をディスプレイに表示する。
【0050】以上の結果から、時間関数で動きを表現す
る人間を曲線上を移動させる際に重力の大きさを変える
ことによって人間が曲線上を通過する際に遠心力による
姿勢の変化を誇張あるいは控えめに表現することができ
る。
る人間を曲線上を移動させる際に重力の大きさを変える
ことによって人間が曲線上を通過する際に遠心力による
姿勢の変化を誇張あるいは控えめに表現することができ
る。
【0051】図14は、制御装置の一実施例である。動
作表現用時間関数データベース11,位置の指定装置1
01,距離の算出装置102,歩数に関する情報の入力
装置103,歩幅の制御装置104,時間関数の補正装
置72,関節角演算装置12,レンダリング装置13,
表示装置14より構成される。図15は、人間の移動経
路と歩数の関係を示す表示装置での表示例の図である。 曲線1001が人間の移動経路を示す。位置の指定装置
101で曲線1001上の2点x1,x2を指定する。 距離の算出装置102で曲線x1x2の長さLを求める
。歩数の入力装置103で曲線x1x2上を人間が移動
する際に要する歩数nを入力する。歩幅の制御装置10
4で歩幅Sを次式のようにもとめ時間関数の補正装置7
2に送る。
作表現用時間関数データベース11,位置の指定装置1
01,距離の算出装置102,歩数に関する情報の入力
装置103,歩幅の制御装置104,時間関数の補正装
置72,関節角演算装置12,レンダリング装置13,
表示装置14より構成される。図15は、人間の移動経
路と歩数の関係を示す表示装置での表示例の図である。 曲線1001が人間の移動経路を示す。位置の指定装置
101で曲線1001上の2点x1,x2を指定する。 距離の算出装置102で曲線x1x2の長さLを求める
。歩数の入力装置103で曲線x1x2上を人間が移動
する際に要する歩数nを入力する。歩幅の制御装置10
4で歩幅Sを次式のようにもとめ時間関数の補正装置7
2に送る。
【0052】
【数10】
【0053】時間関数の補正装置72では動作表現用時
間関数データベース11より選択した時間関数を歩幅が
Sになるように補正する。補正した時間関数を用い関節
角演算装置12で各関節の動きを生成する。レンダリン
グ装置13で人間の3次元上の位置や姿勢を計算し2次
元に投影する。表示装置14は、投影した結果をディス
プレイに表示する。
間関数データベース11より選択した時間関数を歩幅が
Sになるように補正する。補正した時間関数を用い関節
角演算装置12で各関節の動きを生成する。レンダリン
グ装置13で人間の3次元上の位置や姿勢を計算し2次
元に投影する。表示装置14は、投影した結果をディス
プレイに表示する。
【0054】以上の結果から、決められた区間を決めら
れた歩数で人間が移動できるようになる。
れた歩数で人間が移動できるようになる。
【0055】図16は、制御装置の位置実施例である。
動作表現用時間関数データベース11,時刻の指定装置
111,時間の算出装置112,歩数の入力装置103
,一歩に要する時間の制御装置114,時間関数の補正
装置72,関節角演算装置12,レンダリング装置13
,表示装置14より構成される。図17は、人間が移動
する際の歩調の時間の関係を示す表示装置14での表示
例の図である。横軸が時間である。時刻の指定装置11
1でタイムスケール1101上の2点t1 ,t2を指
定する。時間の算出装置112で2点t1,t2 間の
時間の長さTを求める。歩数の入力装置103で時刻t
1t 間を人間が移動する際に要する歩数nを入力する
。 一歩に要する時間の制御装置114で一歩に要する時間
Ts を次式のように求め時間関数の補正装置72に送
る。
111,時間の算出装置112,歩数の入力装置103
,一歩に要する時間の制御装置114,時間関数の補正
装置72,関節角演算装置12,レンダリング装置13
,表示装置14より構成される。図17は、人間が移動
する際の歩調の時間の関係を示す表示装置14での表示
例の図である。横軸が時間である。時刻の指定装置11
1でタイムスケール1101上の2点t1 ,t2を指
定する。時間の算出装置112で2点t1,t2 間の
時間の長さTを求める。歩数の入力装置103で時刻t
1t 間を人間が移動する際に要する歩数nを入力する
。 一歩に要する時間の制御装置114で一歩に要する時間
Ts を次式のように求め時間関数の補正装置72に送
る。
【0056】
【数11】
【0057】時間関数の補正装置72では動作表現用時
間関数データベース11より選択した時間関数を一歩に
要する時間がTs となるように補正する。補正した時
間関数を用い関節角演算装置12で各関節の動きを生成
する。レンダリング装置13で人間の3次元上の位置や
姿勢を計算し2次元に投影する。表示装置14は、投影
した結果をディスプレイに表示する。
間関数データベース11より選択した時間関数を一歩に
要する時間がTs となるように補正する。補正した時
間関数を用い関節角演算装置12で各関節の動きを生成
する。レンダリング装置13で人間の3次元上の位置や
姿勢を計算し2次元に投影する。表示装置14は、投影
した結果をディスプレイに表示する。
【0058】以上の結果から、決められた時間を決めら
れた歩数で人間が移動できるようになる。
れた歩数で人間が移動できるようになる。
【0059】図18は、制御装置の位置実施例である。
動作表現用時間関数データベース11,姿勢の指定装置
122,位置の指定装置121,時間関数の補正装置7
2,関節角演算装置12,レンダリング装置13,表示
装置14より構成される。表現したい人間の姿勢(静止
状態の姿勢)を姿勢の指定装置122で指定する。その
姿勢になる空間上の位置を位置の指定装置121で指定
する。人間は動作表現用時間関数データベース11より
選択された動作で移動している。人間が位置の指定装置
121で指定した地点に近づくと時間関数の補正装置7
2により時間関数が姿勢の指定装置122で指定した姿
勢になるように時間関数を補正していく。指定した位置
に人間が達すると、人間の姿勢は指定した姿勢になる。 補正した時間関数を用い関節角演算装置12で各関節の
動きを生成する。レンダリング装置13で人間の3次元
上の位置や姿勢を計算し2次元に投影する。表示装置1
4は、投影した結果をディスプレイに表示する。
122,位置の指定装置121,時間関数の補正装置7
2,関節角演算装置12,レンダリング装置13,表示
装置14より構成される。表現したい人間の姿勢(静止
状態の姿勢)を姿勢の指定装置122で指定する。その
姿勢になる空間上の位置を位置の指定装置121で指定
する。人間は動作表現用時間関数データベース11より
選択された動作で移動している。人間が位置の指定装置
121で指定した地点に近づくと時間関数の補正装置7
2により時間関数が姿勢の指定装置122で指定した姿
勢になるように時間関数を補正していく。指定した位置
に人間が達すると、人間の姿勢は指定した姿勢になる。 補正した時間関数を用い関節角演算装置12で各関節の
動きを生成する。レンダリング装置13で人間の3次元
上の位置や姿勢を計算し2次元に投影する。表示装置1
4は、投影した結果をディスプレイに表示する。
【0060】以上の結果から、時間関数で動作している
多関節構造体を決められた位置において決められた姿勢
をさせることができる。
多関節構造体を決められた位置において決められた姿勢
をさせることができる。
【0061】図19は、制御装置の位置実施例である。
動作表現用時間関数データベース11,姿勢の指定装置
122,時刻の指定装置131,時間関数の補正装置7
2,関節角演算装置12,レンダリング装置13,表示
装置14より構成される。表現したい人間の姿勢(静止
状態の姿勢)を姿勢の指定装置122で指定する。その
姿勢になる時刻を時刻の指定装置131で指定する。人
間は動作表現用時間関数データベース11より選択され
た動作で移動している。人間が時刻の指定装置131で
指定した時刻に近づくと時間関数の補正装置72により
時間関数が姿勢の指定装置122で指定した姿勢になる
ように時間関数を補正していく。指定した時刻に人間が
達すると、人間の姿勢は指定した姿勢になる。補正した
時間関数を用い関節角演算装置12で各関節の動きを生
成する。レンダリング装置13で人間の3次元上の位置
や姿勢を計算し2次元に投影する。表示装置14は、投
影した結果をディスプレイに表示する。
122,時刻の指定装置131,時間関数の補正装置7
2,関節角演算装置12,レンダリング装置13,表示
装置14より構成される。表現したい人間の姿勢(静止
状態の姿勢)を姿勢の指定装置122で指定する。その
姿勢になる時刻を時刻の指定装置131で指定する。人
間は動作表現用時間関数データベース11より選択され
た動作で移動している。人間が時刻の指定装置131で
指定した時刻に近づくと時間関数の補正装置72により
時間関数が姿勢の指定装置122で指定した姿勢になる
ように時間関数を補正していく。指定した時刻に人間が
達すると、人間の姿勢は指定した姿勢になる。補正した
時間関数を用い関節角演算装置12で各関節の動きを生
成する。レンダリング装置13で人間の3次元上の位置
や姿勢を計算し2次元に投影する。表示装置14は、投
影した結果をディスプレイに表示する。
【0062】以上の結果から、時間関数で動作している
多関節構造体を決められた時刻において決められた姿勢
をさせることができる。
多関節構造体を決められた時刻において決められた姿勢
をさせることができる。
【0063】図20は、制御装置の一実施例である。動
作表現用時間関数データベース11、位置の指定装置(
A)141,時間関数の選択装置(A)142,位置及
び時間関数の記憶装置(A)145,位置の指定装置(
B)143,時間関数の選択装置(B)144,位置及
び時間関数の記憶装置(B)146,距離の算出装置1
47,時間関数の補間装置148,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。図21は、移動中の人間の動作表現を補間する手法を
説明するための表示装置14の画面の表示例を示す図で
ある。人間は直線1401上を左側から右側に移動する
。位置の指定装置(A)141を用いて図21の直線1
401上の点Xm :1402を指定し、その地点の動
作表現を時間関数の選択装置(A)142を用いて動作
表現用時間関数データベース11より選択する。ここで
は、仮に選択した動作を「普通に歩く」(図21,14
03)とする。 この時間関数の各周波数成分のスペクトル強度をAmn
,位相をΨmnとする。指定した直線上の位置Xm及び
動作を表現する時間関数のスペクトル強度Amn ,位
相Ψmnは、位置及び時間関数の記憶装置(A)145
に記憶される。次に、位置の指定装置(B)143を用
いて点Xm+1 :1404を指定し、その地点の動作
表現を時間関数の選択装置(B)144を用いて動作表
現用時間関数データベース11より選択する。ここでは
、仮に選択した動作を「元気に歩く」(図21,140
5)とする。この時間関数の各周波数成分のスペクトル
強度をAm+1n,位相をΨm+1nとする。指定した
直線上の位置Xm+1 及び動作を表現する時間関数の
スペクトル強度Am+1n,位相Ψm+1nは、位置及
び時間関数の記憶装置(B)146に記憶される。距離
の算出装置147は、現在の人間の位置を算出する。現
在地をx:1406とする。時間関数の補間装置148
は、2地点の時間関数及び現在の位置より次式のように
現地点の時間関数のスペクトル強度An(x),位相Ψ
n(x)を求める。
作表現用時間関数データベース11、位置の指定装置(
A)141,時間関数の選択装置(A)142,位置及
び時間関数の記憶装置(A)145,位置の指定装置(
B)143,時間関数の選択装置(B)144,位置及
び時間関数の記憶装置(B)146,距離の算出装置1
47,時間関数の補間装置148,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。図21は、移動中の人間の動作表現を補間する手法を
説明するための表示装置14の画面の表示例を示す図で
ある。人間は直線1401上を左側から右側に移動する
。位置の指定装置(A)141を用いて図21の直線1
401上の点Xm :1402を指定し、その地点の動
作表現を時間関数の選択装置(A)142を用いて動作
表現用時間関数データベース11より選択する。ここで
は、仮に選択した動作を「普通に歩く」(図21,14
03)とする。 この時間関数の各周波数成分のスペクトル強度をAmn
,位相をΨmnとする。指定した直線上の位置Xm及び
動作を表現する時間関数のスペクトル強度Amn ,位
相Ψmnは、位置及び時間関数の記憶装置(A)145
に記憶される。次に、位置の指定装置(B)143を用
いて点Xm+1 :1404を指定し、その地点の動作
表現を時間関数の選択装置(B)144を用いて動作表
現用時間関数データベース11より選択する。ここでは
、仮に選択した動作を「元気に歩く」(図21,140
5)とする。この時間関数の各周波数成分のスペクトル
強度をAm+1n,位相をΨm+1nとする。指定した
直線上の位置Xm+1 及び動作を表現する時間関数の
スペクトル強度Am+1n,位相Ψm+1nは、位置及
び時間関数の記憶装置(B)146に記憶される。距離
の算出装置147は、現在の人間の位置を算出する。現
在地をx:1406とする。時間関数の補間装置148
は、2地点の時間関数及び現在の位置より次式のように
現地点の時間関数のスペクトル強度An(x),位相Ψ
n(x)を求める。
【0064】
【数12】
【0065】
【数13】
【0066】関節角演算装置12は数12及び数13で
求めたスペクトル強度An(x)、位相Ψn(x)より
関節角を次式のように求める。
求めたスペクトル強度An(x)、位相Ψn(x)より
関節角を次式のように求める。
【0067】
【数14】
【0068】補間した時間関数を用い関節角演算装置1
2で各関節の動きを生成する。この例では「普通に歩く
」と「元気に歩く」の中間の動作1403が生成される
。レンダリング装置13で人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は、投影した
結果をディスプレイに表示する。
2で各関節の動きを生成する。この例では「普通に歩く
」と「元気に歩く」の中間の動作1403が生成される
。レンダリング装置13で人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は、投影した
結果をディスプレイに表示する。
【0069】以上の結果、指定した2地点の動作を補間
した表現をしながら2地点を移動する事ができる。
した表現をしながら2地点を移動する事ができる。
【0070】図22は、制御装置の一実施例である。動
作表現用時間関数データベース11,時刻の指定装置(
A)151,時間関数の選択装置(A)152,時刻及
び時間関数の記憶装置(A)155,時刻の指定装置(
B)153,時間関数の選択装置(B)154,時刻及
び時間関数の記憶装置(B)156,時間の算出装置1
57,時間関数の補間装置158,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。図23は、移動中の人間の動作表現を補間する手法を
説明するための表示装置14の画面での表示例を示す図
である。 直線1501は、時間軸である。時刻の指定装置(A)
151を用いて図23の時間軸上の時刻Tm:1502
を指定し、その時刻の動作表現を時間関数の選択装置(
A)152を用いて動作表現用時間関数データベース1
1より選択する。ここでは、仮に選択した動作を「普通
に歩く」(図23,1503)とする。この時間関数の
各周波数成分のスペクトル強度をAmn,位相をΨmn
とする。 指定した時刻Tm及び動作を表現する時間関数のスペク
トル強度Amn,位相Ψmnは、時刻及び時間関数の記
憶装置(A)155に記憶される。次に、時刻の指定装
置(B)153を用いて時刻Tm+1:1504を指定
し、その時刻の動作表現を時間関数の選択装置(B)1
54を用いて動作表現用時間関数データベース11より
選択する。ここでは、仮に選択した動作を「元気に歩く
」(図23,1505)とする。この時間関数の各周波
数成分のスペクトル強度をAm+1n,位相をΨm+1
n とする。指定した時刻Tm+1及び動作を表現する
時間関数のスペクトル強度Am+1n,位相Ψm+1n
は、時刻及び時間関数の記憶装置(B)156に記憶さ
れる。時間の算出装置157は、現在の時刻を算出する
。現在時刻をt :1506とする。 時間関数の補間装置158は、2地点の時間関数及び現
在の時刻より次式のように現地点の時間関数のスペクト
ル強度An(t),位相Ψn(t)を求める。
作表現用時間関数データベース11,時刻の指定装置(
A)151,時間関数の選択装置(A)152,時刻及
び時間関数の記憶装置(A)155,時刻の指定装置(
B)153,時間関数の選択装置(B)154,時刻及
び時間関数の記憶装置(B)156,時間の算出装置1
57,時間関数の補間装置158,関節角演算装置12
,レンダリング装置13,表示装置14より構成される
。図23は、移動中の人間の動作表現を補間する手法を
説明するための表示装置14の画面での表示例を示す図
である。 直線1501は、時間軸である。時刻の指定装置(A)
151を用いて図23の時間軸上の時刻Tm:1502
を指定し、その時刻の動作表現を時間関数の選択装置(
A)152を用いて動作表現用時間関数データベース1
1より選択する。ここでは、仮に選択した動作を「普通
に歩く」(図23,1503)とする。この時間関数の
各周波数成分のスペクトル強度をAmn,位相をΨmn
とする。 指定した時刻Tm及び動作を表現する時間関数のスペク
トル強度Amn,位相Ψmnは、時刻及び時間関数の記
憶装置(A)155に記憶される。次に、時刻の指定装
置(B)153を用いて時刻Tm+1:1504を指定
し、その時刻の動作表現を時間関数の選択装置(B)1
54を用いて動作表現用時間関数データベース11より
選択する。ここでは、仮に選択した動作を「元気に歩く
」(図23,1505)とする。この時間関数の各周波
数成分のスペクトル強度をAm+1n,位相をΨm+1
n とする。指定した時刻Tm+1及び動作を表現する
時間関数のスペクトル強度Am+1n,位相Ψm+1n
は、時刻及び時間関数の記憶装置(B)156に記憶さ
れる。時間の算出装置157は、現在の時刻を算出する
。現在時刻をt :1506とする。 時間関数の補間装置158は、2地点の時間関数及び現
在の時刻より次式のように現地点の時間関数のスペクト
ル強度An(t),位相Ψn(t)を求める。
【0071】
【数15】
【0072】
【数16】
【0073】関節角演算装置12は数15及び数16で
求めたスペクトル強度An(t),位相Ψn(t)より
関節角を次式のように求める。
求めたスペクトル強度An(t),位相Ψn(t)より
関節角を次式のように求める。
【0074】
【数17】
【0075】補間した時間関数を用い関節角演算装置1
2で各関節の動きを生成する。この例では「普通に歩く
」と「元気に歩く」の中間の動作1503が生成される
。レンダリング装置13で人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は、投影した
結果をディスプレイに表示する。
2で各関節の動きを生成する。この例では「普通に歩く
」と「元気に歩く」の中間の動作1503が生成される
。レンダリング装置13で人間の3次元上の位置や姿勢
を計算し2次元に投影する。表示装置14は、投影した
結果をディスプレイに表示する。
【0076】以上の結果、指定した2つの時刻の間の動
作を補間した表現をしながら2地点を移動する事ができ
る。
作を補間した表現をしながら2地点を移動する事ができ
る。
【0077】図24は、制御装置の一実施例である。動
作表現用時間関数データベース11,関節の指定装置1
61,時間関数表現の切離し装置162,キーフレーム
法による動作の生成装置163,合成装置164,関節
角演算装置12,レンダリング装置13,表示装置14
より構成される。人間の全ての動作を時間関数だけで表
現できない場合がある。例えば「歩きながら手を振る」
ような場合「歩く」という動作が時間関数データベース
に登録してあったとしても、「手を振る」という動作が
データベースに登録してなければ「歩きながら手を振る
」といった動作は生成できない。このような場合本制御
装置を用いて動作を生成する。例として「歩きながら手
を振る」の動作の生成法について説明する。先ず、動作
表現用時間関数データベース11より「歩く」を表現す
る時間関数を選択する。「左手を振る」動作を生成する
とする。この場合、左肩から先の関節を時間関数表現か
ら切り離さなければならない。その指定は関節の指定装
置161で行なう。指定した関節を時間関数表現の切離
し装置162で時間関数表現から切り離す。切り離され
た関節を残して関節角演算装置12で各関節の動きを生
成する。切り離された関節の動作はキーフレーム法によ
る動作の生成装置163で動作を生成する。キーフレー
ム法で生成された動作と時間関数で生成された動作は合
成装置164で合成される。レンダリング装置13で人
間の3次元上の位置や姿勢を計算し2次元に投影する。 表示装置14は、投影した結果をディスプレイに表示す
る。
作表現用時間関数データベース11,関節の指定装置1
61,時間関数表現の切離し装置162,キーフレーム
法による動作の生成装置163,合成装置164,関節
角演算装置12,レンダリング装置13,表示装置14
より構成される。人間の全ての動作を時間関数だけで表
現できない場合がある。例えば「歩きながら手を振る」
ような場合「歩く」という動作が時間関数データベース
に登録してあったとしても、「手を振る」という動作が
データベースに登録してなければ「歩きながら手を振る
」といった動作は生成できない。このような場合本制御
装置を用いて動作を生成する。例として「歩きながら手
を振る」の動作の生成法について説明する。先ず、動作
表現用時間関数データベース11より「歩く」を表現す
る時間関数を選択する。「左手を振る」動作を生成する
とする。この場合、左肩から先の関節を時間関数表現か
ら切り離さなければならない。その指定は関節の指定装
置161で行なう。指定した関節を時間関数表現の切離
し装置162で時間関数表現から切り離す。切り離され
た関節を残して関節角演算装置12で各関節の動きを生
成する。切り離された関節の動作はキーフレーム法によ
る動作の生成装置163で動作を生成する。キーフレー
ム法で生成された動作と時間関数で生成された動作は合
成装置164で合成される。レンダリング装置13で人
間の3次元上の位置や姿勢を計算し2次元に投影する。 表示装置14は、投影した結果をディスプレイに表示す
る。
【0078】以上の結果、動作表現用時間関数データベ
ースに登録されていない動作においても動作を生成する
ことができる。
ースに登録されていない動作においても動作を生成する
ことができる。
【0079】図25は、制御装置の一実施例である。動
作表現用時間関数データベース11,関節の指定装置1
61,時間関数表現の切離し装置162,キーフレーム
法による動作の生成装置163,時間関数変換装置17
1,合成装置164,関節角演算装置12,レンダリン
グ装置13,表示装置14より構成される。本実施例は
図24の多関節構造体の制御装置のキーフレーム法によ
る動作の生成装置163の後に時間関数変換装置を付加
したものである。時間関数変換装置171は、キーフレ
ーム法による動作の生成装置163で生成した動作を数
1のような形の時間関数に変換する装置である。時間関
数に変換されたキーフレーム法で生成された動作は、動
作表現用時間関数データベース11に登録される。登録
された時間関数は別の機会に用いる時に再利用する。
作表現用時間関数データベース11,関節の指定装置1
61,時間関数表現の切離し装置162,キーフレーム
法による動作の生成装置163,時間関数変換装置17
1,合成装置164,関節角演算装置12,レンダリン
グ装置13,表示装置14より構成される。本実施例は
図24の多関節構造体の制御装置のキーフレーム法によ
る動作の生成装置163の後に時間関数変換装置を付加
したものである。時間関数変換装置171は、キーフレ
ーム法による動作の生成装置163で生成した動作を数
1のような形の時間関数に変換する装置である。時間関
数に変換されたキーフレーム法で生成された動作は、動
作表現用時間関数データベース11に登録される。登録
された時間関数は別の機会に用いる時に再利用する。
【0080】以上の結果、動作表現用時間関数データベ
ースに登録されていない動作をキーフレーム法で生成し
その動作を時間関数に変換し動作表現用時間関数データ
ベースに登録することにより一度作った動作を再利用す
ることができる。
ースに登録されていない動作をキーフレーム法で生成し
その動作を時間関数に変換し動作表現用時間関数データ
ベースに登録することにより一度作った動作を再利用す
ることができる。
【0081】図26は、動作表現用時間関数を生成する
装置の一実施例である。動作測定装置181、時間関数
変換装置182、動作表現用時間関数データベース11
より構成される。図27は、動作表現用時間関数の生成
手順の一例を示す図である。動作計測装置181で、人
間の各関節の動き(関節の曲げ角)を計測する。図27
の例では、人間1801の動作をビデオカメラ1802
で撮影しフレーム毎に画面上に映し出された映像180
3から各関節の動きを計測する。計測された一例が18
04である。人間の関節の動きは1804のように周期
運動が多い。そこで、時間関数変換装置182で測定さ
れたデータをフーリエ級数展開し数1のような関数(動
作表現用時間関数)に変換する。変換した時間関数は動
作表現用時間関数データベース11に登録される。
装置の一実施例である。動作測定装置181、時間関数
変換装置182、動作表現用時間関数データベース11
より構成される。図27は、動作表現用時間関数の生成
手順の一例を示す図である。動作計測装置181で、人
間の各関節の動き(関節の曲げ角)を計測する。図27
の例では、人間1801の動作をビデオカメラ1802
で撮影しフレーム毎に画面上に映し出された映像180
3から各関節の動きを計測する。計測された一例が18
04である。人間の関節の動きは1804のように周期
運動が多い。そこで、時間関数変換装置182で測定さ
れたデータをフーリエ級数展開し数1のような関数(動
作表現用時間関数)に変換する。変換した時間関数は動
作表現用時間関数データベース11に登録される。
【0082】以上の結果、実際の人間の動作より動作表
現用時間関数を生成することができる。
現用時間関数を生成することができる。
【0083】図28は、動作表現用時間関数を生成する
装置の一実施例である。動作測定装置181,測定デー
タの修正装置191,時間関数変換装置182,動作表
現用時間関数データベース11より構成される。図26
の実施例に測定データの修正装置191を付加したもの
である。測定データには測定誤差や測定ミスによる実際
のデータとのずれが生じる。そこで、実際のデータに近
付けるために測定データの修正装置191、によりフィ
ルタリング処理や測定データの修正を行なう。以上の結
果、実際の人間の動作を計測し、計測時に生じる誤差を
排除し、動作表現用時間関数を生成することができる。
装置の一実施例である。動作測定装置181,測定デー
タの修正装置191,時間関数変換装置182,動作表
現用時間関数データベース11より構成される。図26
の実施例に測定データの修正装置191を付加したもの
である。測定データには測定誤差や測定ミスによる実際
のデータとのずれが生じる。そこで、実際のデータに近
付けるために測定データの修正装置191、によりフィ
ルタリング処理や測定データの修正を行なう。以上の結
果、実際の人間の動作を計測し、計測時に生じる誤差を
排除し、動作表現用時間関数を生成することができる。
【0084】図29は、動作表現用時間関数を生成する
装置の一実施例である。キーフレーム法による動作の生
成装置201,時間関数変換装置182,動作表現用時
間関数データベース11より構成される。人間の動作を
キーフレーム法による動作の生成装置201を用いて生
成する。生成された動作(各関節の曲げ角の時間変化)
を時間関数変換装置182を用いて動作表現用時間関数
に変換する。生成された時間関数は動作表現用時間関数
データベース11に登録される。
装置の一実施例である。キーフレーム法による動作の生
成装置201,時間関数変換装置182,動作表現用時
間関数データベース11より構成される。人間の動作を
キーフレーム法による動作の生成装置201を用いて生
成する。生成された動作(各関節の曲げ角の時間変化)
を時間関数変換装置182を用いて動作表現用時間関数
に変換する。生成された時間関数は動作表現用時間関数
データベース11に登録される。
【0085】以上の結果、キーフレーム法で生成された
動作から動作表現用時間関数を生成することができる。
動作から動作表現用時間関数を生成することができる。
【0086】図30は、動作表現用時間関数を生成する
装置の一実施例である。動作表現用時間関数データベー
ス11,時間関数の修正装置211より構成される。動
作表現用時間関数データベース11より選択された時間
関数は時間関数の修正装置211で修正される。ここで
の修正とは、動作関数のフィルタリング処理,動作関数
の補間,複数の動作関数の平均処理などである。修正さ
れた動作関数は動作表現用時間関数データベース11に
登録され再利用される。
装置の一実施例である。動作表現用時間関数データベー
ス11,時間関数の修正装置211より構成される。動
作表現用時間関数データベース11より選択された時間
関数は時間関数の修正装置211で修正される。ここで
の修正とは、動作関数のフィルタリング処理,動作関数
の補間,複数の動作関数の平均処理などである。修正さ
れた動作関数は動作表現用時間関数データベース11に
登録され再利用される。
【0087】以上の結果、動作表現用時間関数データベ
ースより選択した時間関数を修正処理後、動作表現用時
間関数データベースに登録することにより、一度修正し
た動作関数を再利用することができる。
ースより選択した時間関数を修正処理後、動作表現用時
間関数データベースに登録することにより、一度修正し
た動作関数を再利用することができる。
【0088】図31は、制御装置の一実施例である。動
作表現用時間関数データベース11,時間関数の選択装
置(体の一部の関節の時間関数を選択)221,選択さ
れた時間関数の一時記憶装置群(関節毎)222,22
3,224,時間関数の合成装置225,関節角演算装
置12,レンダリング装置13,表示装置14より構成
される。本制御装置は上半身は「歩く」動作を、下半身
は「走る」動作を表現するような場合に用いる。このよ
うな動作を生成する場合の例を示す。動作表現用時間関
数データベース11より、時間関数の選択装置221を
用い「歩く」動作の上半身の時間関数を選択し、選択さ
れた時間関数の一時記憶装置222に記憶させる。次に
、時間関数の選択装置221を用い「走る」動作の下半
身の時間関数を選択し、選択された時間関数の一時記憶
装置223に記憶させる。上半身の時間関数と下半身の
時間関数を時間関数の合成装置225を用い合成する。 合成された時間関数を用い関節角演算装置12で各関節
の動きを計算する。レンダリング装置13で人間の3次
元上の位置や姿勢を計算し2次元に投影する。表示装置
14は、投影した結果をディスプレイに表示する。
作表現用時間関数データベース11,時間関数の選択装
置(体の一部の関節の時間関数を選択)221,選択さ
れた時間関数の一時記憶装置群(関節毎)222,22
3,224,時間関数の合成装置225,関節角演算装
置12,レンダリング装置13,表示装置14より構成
される。本制御装置は上半身は「歩く」動作を、下半身
は「走る」動作を表現するような場合に用いる。このよ
うな動作を生成する場合の例を示す。動作表現用時間関
数データベース11より、時間関数の選択装置221を
用い「歩く」動作の上半身の時間関数を選択し、選択さ
れた時間関数の一時記憶装置222に記憶させる。次に
、時間関数の選択装置221を用い「走る」動作の下半
身の時間関数を選択し、選択された時間関数の一時記憶
装置223に記憶させる。上半身の時間関数と下半身の
時間関数を時間関数の合成装置225を用い合成する。 合成された時間関数を用い関節角演算装置12で各関節
の動きを計算する。レンダリング装置13で人間の3次
元上の位置や姿勢を計算し2次元に投影する。表示装置
14は、投影した結果をディスプレイに表示する。
【0089】以上の結果、関節毎に時間関数を選択する
ことができ関節毎の動作の組合わせができる。
ことができ関節毎の動作の組合わせができる。
【0090】図32に、図1〜図31の実施例における
種々のパラメータ等を例えば画面を介して入力する編集
部となる動作エディタ95を示す。動作エディタ95に
よって編集されたデータが前述のレンダリング装置13
,表示装置14に出力される。動作エディタ95は、動
作表現の指定部951,経路及び速度の指定部952,
キーフレーム法による動作の修正部953より構成され
る。
種々のパラメータ等を例えば画面を介して入力する編集
部となる動作エディタ95を示す。動作エディタ95に
よって編集されたデータが前述のレンダリング装置13
,表示装置14に出力される。動作エディタ95は、動
作表現の指定部951,経路及び速度の指定部952,
キーフレーム法による動作の修正部953より構成され
る。
【0091】図33に示す動作表現の指定部951での
画面例では、前述した実施例の動作表現用の関数の選択
やその関数の重みの制御等を行なう。動作表現指定部9
51では、作者の表現しようとする動作を表わす、関数
(各関節の動きを表わす周波数のスペクトル強度及び位
相角)を出力する。
画面例では、前述した実施例の動作表現用の関数の選択
やその関数の重みの制御等を行なう。動作表現指定部9
51では、作者の表現しようとする動作を表わす、関数
(各関節の動きを表わす周波数のスペクトル強度及び位
相角)を出力する。
【0092】図34に示す経路及び速度の指定部952
の画面例では、前述した実施例の人間の移動する経路,
速度,動作表現等を指定する。出力されるデータは、1
コマ毎の人間の関節の曲げ角度である。
の画面例では、前述した実施例の人間の移動する経路,
速度,動作表現等を指定する。出力されるデータは、1
コマ毎の人間の関節の曲げ角度である。
【0093】図35に示すキーフレーム法による動作の
修正部953の画面例では、関数表現による動作表現の
一部を関数表現から切離しキーフレーム法により生成す
る。以上、上述した実施例は、コンピュータグラフィッ
クスシステムで人間を表現しその動作制御の例であるが
、関節角演算装置の演算結果を動作指令として実物の多
関節ロボットの動作制御信号とし、ロボットを駆動する
ロボット制御システムにも適用することもできる。
修正部953の画面例では、関数表現による動作表現の
一部を関数表現から切離しキーフレーム法により生成す
る。以上、上述した実施例は、コンピュータグラフィッ
クスシステムで人間を表現しその動作制御の例であるが
、関節角演算装置の演算結果を動作指令として実物の多
関節ロボットの動作制御信号とし、ロボットを駆動する
ロボット制御システムにも適用することもできる。
【0094】
【発明の効果】本発明によれば、時間関数を用いて動作
を生成する多関節構造体のいろいろな動作表現、空間上
の移動制御などが可能となる。
を生成する多関節構造体のいろいろな動作表現、空間上
の移動制御などが可能となる。
【図1】本発明の一実施例を示す多関節構造体の制御装
置の構成図である。
置の構成図である。
【図2】本発明の一実施例を示す多関節構造体の制御装
置である。
置である。
【図3】本発明の一実施例を示す多関節構造体の制御装
置である。
置である。
【図4】本発明の一実施例を示す多関節構造体の制御装
置である。
置である。
【図5】通過点と移動方向の関係を示す図である。
【図6】本発明の一実施例を示す多関節構造体の制御装
置である。
置である。
【図7】通過点と人間の移動方向を示す図である。
【図8】本発明の一実施例を示す多関節構造体の制御装
置である。
置である。
【図9】曲線移動時の歩幅の関係を示す図である。
【図10】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図11】円運動時に人間に加わる力を示す図である。
【図12】姿勢の補正を示す図。
【図13】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図14】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図15】移動経路と歩幅の関係を示す図。
【図16】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図17】時刻と歩幅の関係を示す図。
【図18】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図19】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図20】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図21】移動中の動作の補間を示す図。
【図22】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図23】時刻による動作補間を示す図。
【図24】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図25】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図26】本発明の一実施例を示す測定データからの時
間関数生成装置である。
間関数生成装置である。
【図27】動作表現用時間関数の生成方法を示す図。
【図28】本発明の一実施例を示す測定データからの時
間関数生成装置である。
間関数生成装置である。
【図29】本発明の一実施例を示すキーフレーム法によ
るデータからの時間関数生成装置である。
るデータからの時間関数生成装置である。
【図30】本発明の一実施例を示すデータベースの修正
装置である。
装置である。
【図31】本発明の一実施例を示す多関節構造体の制御
装置である。
装置である。
【図32】本発明の各実施例における種々のパラメータ
を画面を介して入力し得る編集部となる動作エディタ9
5を示す図。
を画面を介して入力し得る編集部となる動作エディタ9
5を示す図。
【図33】動作エディタ95の動作表現の指定部951
の画面例を示す図。
の画面例を示す図。
【図34】動作エディタ95の経路及び速度の指定部9
52の画面の一例を示す図。
52の画面の一例を示す図。
【図35】動作エディタ95のキーフレーム法による動
作の修正部953の画面の一例を示す図。
作の修正部953の画面の一例を示す図。
11…動作表現用時間関数データベース、12…関節角
演算装置、13…レンダリング装置、14…表示装置、
15…制御装置。
演算装置、13…レンダリング装置、14…表示装置、
15…制御装置。
Claims (37)
- 【請求項1】多関節構造体の各関節の動きを表わす複数
の一次的時間関数を記憶する記憶手段と、上記複数の一
次的時間関数の中から複数の一次的時間関数を選択する
選択手段と、上記選択された複数の一次的時間関数に基
づいて、少なくとも一つの二次的時間関数を演算する演
算手段と、上記二次的時間関数に基づいて多関節構造体
の動作を出力する出力手段とを具備することを特徴とす
る多関節構造体の動作表現装置。 - 【請求項2】上記演算手段は、上記選択された複数の一
次的時間関数の平均量に基づいて、少なくとも一つの二
次的時間関数を演算する演算手段であることを特徴とす
る請求項1に記載された多関節構造体の動作表現装置。 - 【請求項3】上記平均量は、各一次的時間関数に重みを
付けた平均量であることを特徴とする請求項2に記載さ
れた多関節構造体の動作表現装置。 - 【請求項4】上記出力手段は、表示手段であることを特
徴とする請求項1から請求項3の何れかに記載された多
関節構造体の動作表現装置。 - 【請求項5】多関節構造体の運動経路を生成するものに
おいて、上記多関節構造体の運動の始点の位置を示す情
報、上記多関節構造体の運動の始点における速度と運動
の方向との少なくとも一方を示す情報、上記多関節構造
体の運動の終点の位置を示す情報、上記多関節構造体の
運動の終点における速度と運動の方向との少なくとも一
方を示す情報を入力する入力手段と、上記多関節構造体
の運動の始点の位置を示す情報、上記多関節構造体の運
動の始点における速度と運動の方向との少なくとも一方
を示す情報、上記多関節構造体の運動の終点の位置を示
す情報、上記多関節構造体の運動の終点における速度と
運動との少なくとも一方を示す情報に基づいて、上記多
関節構造体の上記始点から上記終点までの運動経路を示
す情報を演算する演算手段とを具備することを特徴とす
る多関節構造体の動作表現装置。 - 【請求項6】上記多関節構造体の上記始点から上記終点
までの運動経路を示す情報を表示する表示手段を具備す
ることを特徴とする請求項5に記載された多関節構造体
の動作表現装置。 - 【請求項7】上記表示手段は、上記多関節構造体の運動
の始点の位置を示す情報、上記多関節構造体の運動の終
点の位置を示す情報を表示することを特徴とする請求項
6に記載された多関節構造体の動作表現装置。 - 【請求項8】上記表示手段は、上記多関節構造体の運動
の始点における速度と運動の方向との少なくとも一方を
示す情報、上記多関節構造体の運動の終点における速度
と運動との少なくとも一方を示す情報を表示することを
特徴とする請求項6に記載された多関節構造体の動作表
現装置。 - 【請求項9】上記多関節構造体の運動の始点における速
度と運動の方向との少なくとも一方を示す情報、上記多
関節構造体の運動の終点における速度と運動との少なく
とも一方を示す情報はベクトル情報であることを特徴と
する請求項5に記載された多関節構造体の動作表現装置
。 - 【請求項10】多関節構造体の運動経路を生成するもの
において、上記多関節構造体の運動中の位置に対応する
情報と、上記多関節構造体の運動中の向きを示す情報と
を入力する入力手段と、上記多関節構造体の運動中の位
置に対応する情報と上記多関節構造体の運動中の向きを
示す情報とに基づいて、上記多関節構造体の運動中の経
路を示す情報を演算する演算手段とを具備することを特
徴とする多関節構造体の動作表現装置。 - 【請求項11】上記多関節構造体の運動中の位置に対応
する情報、上記多関節構造体の運動中の向きを示す情報
を記憶する記憶手段とを具備することを特徴とする請求
項10に記載された多関節構造体の動作表現装置。 - 【請求項12】上記多関節構造体の運動中の向きを示す
情報は、座標系上の所望の点、または他の多関節構造体
に対する上記多関節構造体の運動中の向きを示す情報で
あることを特徴とする請求項10に記載された多関節構
造体の動作表現装置。 - 【請求項13】上記多関節構造体の運動中の向きを示す
情報は、座標系上の所望の線に対する上記多関節構造体
の運動中の向きを示す情報であることを特徴とする請求
項10に記載された多関節構造体の動作表現装置。 - 【請求項14】上記多関節構造体の運動中の向きを示す
情報は、座標系上の所望の平面に対する上記多関節構造
体の運動中の向きを示す情報であることを特徴とする請
求項10に記載された多関節構造体の動作表現装置。 - 【請求項15】上記多関節構造体の運動中の向きを示す
情報は、多関節構造体の運動の方向に対する上記多関節
構造体の運動中の向きを示す情報であることを特徴とす
る請求項10に記載された多関節構造体の動作表現装置
。 - 【請求項16】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、多関節構造体の通過点を指定
する手段と、指定した通過点の間を多関節構造体が運動
する経路生成手段と、指定した通過点上を通過する多関
節構造体の動作を出力する出力手段とを具備することを
特徴とする多関節構造体の動作表現装置。 - 【請求項17】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、多関節構造体の通過点を指定
する手段と、指定した通過点の近傍間を多関節構造体が
運動する経路生成手段と、指定した通過点の近傍を通過
する多関節構造体の動作を出力する出力手段とを具備す
ることを特徴とする多関節構造体の動作表現装置。 - 【請求項18】指定した通過点の間を多関節構造体が通
過する手段として、指定した通過点の間を曲線で接続す
る手段を備え、多関節構造体が指定した曲線上を運動す
ることを特徴とする請求項16または請求項17に記載
された多関節構造体の動作表現装置。 - 【請求項19】指定した通過点の間を多関節構造体が通
過する手段として、指定した通過点の間を曲線で接続す
る手段と、多関節構造体が生成された曲線上を運動する
ときにその時点の曲線の曲率に応じ曲率中心に近い方の
足の歩幅を小さく、曲率中心に遠い方の足の歩幅を大き
くする手段と、それぞれの足が接平面に対し滑らない手
段を備え、多関節構造体が指定した曲線上を滑らずに運
動するように制御することを特徴とする請求項16また
は請求項17に記載された多関節構造体の動作表現装置
。 - 【請求項20】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、上記多関節構造体が曲線上を
運動するときに、上記曲線の曲率半径を検出、又は算出
する手段と、上記多関節構造体の運動速度を検出、又は
算出する手段と、上記曲率半径と上記運動速度から遠心
力を算出する手段と、上記多関節構造体に対し遠心力と
重力が平衡するように時間関数を補正する手段とを具備
することを特徴とする多関節構造体の動作表現装置。 - 【請求項21】重力に関する情報を変更する手段を具備
することを特徴とする請求項20に記載された多関節構
造体の動作表現装置。 - 【請求項22】空間上の複数点を指定する手段と、歩数
に関する情報を入力する手段と、指定した複数点の間を
指定した歩数で運動する多関節構造体の動作を出力する
出力手段とを具備することを特徴とする多関節構造体の
動作表現装置。 - 【請求項23】複数の時刻を指定する手段と、歩数に関
する情報を入力する手段と、指定した複数の時刻間を指
定した歩数で運動する多関節構造体の動作を出力する出
力手段とを具備することを特徴とする多関節構造体の動
作表現装置。 - 【請求項24】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、運動中に指定した位置におい
て指定した姿勢をとる上記多関節構造体の動作を出力す
る出力手段を具備することを特徴とする多関節構造体の
動作表現装置。 - 【請求項25】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、運動中に指定した時刻位置に
おいて指定した姿勢をとる上記多関節構造体の動作を出
力する出力手段を具備することを特徴とする多関節構造
体の動作表現装置。 - 【請求項26】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、指定した空間における多関節
構造体の動作を時間関数で表現する手段と、指定した空
間と空間の間の動作を表現する時間関数を指定した空間
における多関節構造体の動作を表現する時間関数を空間
と空間の間の距離で補間し、中間地点における多関節構
造体の動作を表現する時間関数を生成する手段と、指定
区間を実質的に連続的に変化する上記多関節構造体の動
作を出力する出力手段とを具備することを特徴とする多
関節構造体の動作表現装置。 - 【請求項27】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、指定した時刻における多関節
構造体の動作を時間関数で表現する手段と、指定した時
刻と時刻の間の動作を表現する時間関数を指定した時刻
における多関節構造体の動作を表現する時間関数を時刻
と時刻の間の時間で補間し中間時刻における多関節構造
体の動作を表現する時間関数を生成する手段と、指定区
間を実質的に連続的に変化する上記多関節構造体の動作
を出力する出力手段とを具備することを特徴とする多関
節構造体の動作表現装置。 - 【請求項28】多関節構造体の各関節の動きを時間関数
とキーフレーム方とで表現するものにおいて、多関節構
造体の特定の関節の動きを時間関数表現から切離し、切
り離した関節の動きをキーフレーム法で生成する手段と
、多関節構造体の動きを時間関数表現とキーフレーム法
による表現を合成して処理できる手段とを具備すること
を特徴とする多関節構造体の動作表現装置。 - 【請求項29】キーフレーム法で生成した動作を時間関
数に変換し、該時間関数を記憶する手段を具備すること
を特徴とする請求項28に記載された多関節構造体の動
作表現装置。 - 【請求項30】多関節構造体の関節の動きを測定する手
段と、測定された該多関節構造体の関節の動きを時間関
数に変換する手段と、該時間関数に基づいて多関節構造
体の動作を出力する出力手段とを具備することを特徴と
する多関節構造体の動作表現装置。 - 【請求項31】上記時間関数に変換する手段は、測定さ
れた多関節構造体の関節の動きを補正して、時間関数に
変換する手段であることを特徴とする請求項30に記載
された多関節構造体の動作表現装置。 - 【請求項32】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、多関節構造体の関節の動きを
キーフレーム法で生成し、キーフレーム法で生成された
動作を時間関数に変換し、多関節構造体の動作を出力す
ることを特徴とする多関節構造体の動作表現装置。 - 【請求項33】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、多関節構造体の動作を選択す
るときに、全ての関節の時間関数を同一動作を表現する
時間関数群を用いて動作を生成することを特徴とする多
関節構造体の動作表現装置。 - 【請求項34】多関節構造体の各関節の動きを時間関数
で表現するものにおいて、多関節構造体の動作を選択す
るときに、それぞれの関節の時間関数を同一動作あるい
は異なる動作を表現する時間関数群を用いて動作を生成
することを特徴とする多関節構造体の動作表現装置。 - 【請求項35】請求項1から請求項33の何れかに記載
された多関節構造体の動作表現装置と、該多関節構造体
の動作を表示する表示装置とを具備することを特徴とす
るコンピュータグラフィックスシステム。 - 【請求項36】請求項1から請求項33の何れかに記載
された多関節構造体の動作表現装置と、該多関節構造体
の動作に応じて駆動されるロボットとを具備することを
特徴とするロボット制御システム。 - 【請求項37】請求項1から請求項3の何れかに於いて
、上記一次的時間関数は、時間関数の成分であることを
特徴とする多関節構造体の動作表現装置。
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3118341A JPH04346174A (ja) | 1991-05-23 | 1991-05-23 | コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体 |
| US07/727,108 US5483630A (en) | 1990-07-12 | 1991-07-09 | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller |
| DE69130438T DE69130438T2 (de) | 1990-07-12 | 1991-07-11 | Graphischer Computer und Verfahren zum Darstellen von Bewegung eines Multi-Gelenkobjekts |
| EP91111561A EP0466154B1 (en) | 1990-07-12 | 1991-07-11 | Computer graphic apparatus and method for representing motion of a multiple-jointed object |
| KR1019910011838A KR100207131B1 (ko) | 1990-07-12 | 1991-07-12 | 다관절 물체의 동작 표현방법, 동작 표현장치, 컴퓨터그래픽 장치 및 로보트 제어장치 |
| US08/461,520 US6005589A (en) | 1990-07-12 | 1995-06-05 | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller |
| US09/417,464 US20020003540A1 (en) | 1990-07-12 | 1999-10-12 | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3118341A JPH04346174A (ja) | 1991-05-23 | 1991-05-23 | コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000328396A Division JP2001188918A (ja) | 2000-10-23 | 2000-10-23 | 多関節構造体の動作表現装置,コンピュータグラフィックスシステム、及びロボット制御システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04346174A true JPH04346174A (ja) | 1992-12-02 |
Family
ID=14734284
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3118341A Pending JPH04346174A (ja) | 1990-07-12 | 1991-05-23 | コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04346174A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002230057A (ja) * | 2001-02-05 | 2002-08-16 | Olympus Optical Co Ltd | 3次元モデルシミュレータ |
-
1991
- 1991-05-23 JP JP3118341A patent/JPH04346174A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002230057A (ja) * | 2001-02-05 | 2002-08-16 | Olympus Optical Co Ltd | 3次元モデルシミュレータ |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100207131B1 (ko) | 다관절 물체의 동작 표현방법, 동작 표현장치, 컴퓨터그래픽 장치 및 로보트 제어장치 | |
| US6005589A (en) | Method and apparatus for representing motion of multiple-jointed object, computer graphic apparatus, and robot controller | |
| JP4473754B2 (ja) | 仮想試着装置 | |
| CN104252712B (zh) | 图像生成装置、图像生成方法和记录介质 | |
| KR102456872B1 (ko) | 영상센서와 관성센서의 강결합 융합을 이용한 손동작 추적시스템 및 방법 | |
| KR101837294B1 (ko) | 생체역학적 관찰 기반의 실시간 동적 모션 제공 방법 및 그 장치 | |
| JP3668663B2 (ja) | 仮想空間における動作入力方法および装置およびその動作入力プログラムを記録した記録媒体 | |
| CN112486331A (zh) | 基于imu的三维空间手写输入方法和装置 | |
| JPH0887609A (ja) | 画像処理装置 | |
| JP2004348250A (ja) | ロボット制御装置 | |
| EP0825560B1 (en) | Method for generating animations | |
| JP3312337B2 (ja) | コンピュータグラフィックの表示方法 | |
| Lorch et al. | Vigvvam—an Emulation Environment for a Vision Guided Virtual Walking Machine | |
| Beacco et al. | Footstep parameterized motion blending using barycentric coordinates | |
| JPH04346174A (ja) | コンピュータグラフィックスの作成プログラム、及び該プログラムが格納された記憶媒体 | |
| JPH0954542A (ja) | 動作検出装置、シミュレータ装置及び動作検出方法 | |
| Kim et al. | Solving an inverse kinematics problem for a humanoid robots imitation of human motions using optimization | |
| JP2022104634A (ja) | ゴルフスイング解析システム、ゴルフスイング解析方法及びプログラム | |
| JP3109738B2 (ja) | コンピュータグラフィック表示方法およびその装置 | |
| JP3516377B2 (ja) | 多関節構造体の運動像生成方法及びそれを記録した記録媒体及びそれを使った運動像生成装置 | |
| JP2001188918A (ja) | 多関節構造体の動作表現装置,コンピュータグラフィックスシステム、及びロボット制御システム | |
| CN114332313A (zh) | 一种三维虚拟动画的制作方法和系统 | |
| JP2770711B2 (ja) | 人体動作視覚化システム | |
| JP3093409B2 (ja) | 3次元計測装置 | |
| Beacco et al. | Following Footstep Trajectories in Real Time |