TOP > 国内特許検索 > 身体力学計算方法、身体力学計算プログラム及びそれを記録した記録媒体、身体力学モデル及びそのモデルデータを記憶した記録媒体 > 明細書

明細書 :身体力学計算方法、身体力学計算プログラム及びそれを記録した記録媒体、身体力学モデル及びそのモデルデータを記憶した記録媒体

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4212022号 (P4212022)
公開番号 特開2003-339673 (P2003-339673A)
登録日 平成20年11月7日(2008.11.7)
発行日 平成21年1月21日(2009.1.21)
公開日 平成15年12月2日(2003.12.2)
発明の名称または考案の名称 身体力学計算方法、身体力学計算プログラム及びそれを記録した記録媒体、身体力学モデル及びそのモデルデータを記憶した記録媒体
国際特許分類 G06F  17/13        (2006.01)
A61B   5/11        (2006.01)
G06Q  10/00        (2006.01)
FI G06F 17/13
A61B 5/10 310G
A61B 5/10 310Z
G06F 19/00 100
請求項の数または発明の数 10
全頁数 28
出願番号 特願2002-154853 (P2002-154853)
出願日 平成14年5月29日(2002.5.29)
審判番号 不服 2007-000388(P2007-000388/J1)
審査請求日 平成16年3月12日(2004.3.12)
審判請求日 平成19年1月10日(2007.1.10)
特許権者または実用新案権者 【識別番号】503360115
【氏名又は名称】独立行政法人科学技術振興機構
発明者または考案者 【氏名】中村 仁彦
【氏名】山根 克
【氏名】鈴木 一郎
【氏名】栗原 一貴
個別代理人の代理人 【識別番号】100107010、【弁理士】、【氏名又は名称】橋爪 健
参考文献・文献 特開平9-276255(JP,A)
特開2001-286451(JP,A)
“筋運動制御系のインピーダンス調節機構と手元操作性”, 計測自動制御学会論文集,日本,社団法人計測自動制御学会, 1988年4月30日,第24巻・第4号,P.385-392
“膝6自由度機構モデルに対する力,モーメントの数学的記述”, 第71期全国大会講演論文集,日本,社団法人日本機械学会, 1993年9月24日,Vol.A,P.318-320
“一般的な構造可変リンク系の運動計算-ヒューマノイドのシミュレーションへの応用-”,第16回日本ロボット学会学術講演会予稿集,日本, 社団法人日本ロボット学会,1998年9月18日,P.1349-1350
“構造変化を伴うリンク系の動力学計算法とヒューマンフィギュアの運動計算”,日本ロボット学会誌,日本,社団法人日本ロボット学会,1998年11月15日,第16巻・第8号,P.1152-1159
調査した分野 A61B 5/11
G06F 17/13
G06F 19/00
特許請求の範囲 【請求項1】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、ワイヤ/バーチャルリンクに発生される力又は発生する力から剛体リンクの運動を計算する力学計算方法であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、身体モデルに与えられる、ワイヤ/バーチャルリンクに発生される又は発生する発生力fを発生力ファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、求めたヤコビアンJに基づき、読み出した筋・腱・靭帯の発生力fを、次式により、剛体リンクの接続箇所での力である一般化力τに変換するステップと、
τ=J
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、一般化力τと剛体リンクの現在の角度及び速度に基づき、一般化力τを受けた結果発生する運動について、全身の剛体リンクの加速度を求め、求めた加速度に基づき、順力学計算法により各剛体リンクの速度及び位置を計算するステップと、
処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法。
【請求項2】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算する力学計算法であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから、現在の剛体リンクの角度・位置・速度を読み込み、また、剛体リンクに与えられる加速度を加速度ファイルから読み込むステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、加速度ファイルから読み出した剛体リンクの加速度と、剛体リンクファイルから読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な、剛体リンクの接続箇所での力である一般化力τを計算するステップと、
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、先に求めたJに基づき、次式をfに対して解くことによって、一般化力τから各ワイヤ/バーチャルリンクに発生される発生力fを求めるステップと、
τ=J
処理部は、求めた剛体リンク発生力fを発生力ファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法。
【請求項3】
前記ヤコビアンJを計算するステップは、
ワイヤiがm個の経由点・端点を含むものとし、経由点・端点jからj+1までの距離をli、j、経由点又は端点jの位置をpi,j、θは関節角度、θ’は関節の角速度とすると、
(1)処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度からワイヤiのワイヤ長l及び経由点及び端点の位置pi,jを計算するステップと、
(2)処理部は、位置pi,jの関節角度θに関するヤコビアンJpi,jを計算して、
Li,j=li、j-1(pi,j+1-pi,j(Jpi,j+1-Jpi,j
により、距離li、jの関節角度θに関するヤコビアンJLi,jを計算するステップと、
(3)処理部は、求めたJLi,jのjについての総和によりJLiを求めるステップと、
(4)処理部は、JLiを集めてJ=[JL1L2 ・・・ JLi ・・・] より、ヤコビアンJを求めるステップと
を含む請求項1又は2に記載の力学計算方法。
【請求項4】
モデルデータとしては、
剛体リンクの形状データ、剛体リンクの質量・慣性モーメント・質量中心位置を含む力学データ、ワイヤの端点・経由点の位置データ、バーチャルリンクの形状データ、バーチャルリンクの力学データを含むことを特徴とする請求項1又は2に記載の力学計算方法。
【請求項5】
前記ワイヤ/バーチャルリンクに関するデータは、
(1)一部位を始点と終点のみからなる単純な1本のワイヤで置き換えるモデル
(2)一部位を始点と経由点と終点からなる1本のワイヤで置き換えるモデル
(3)一部位を複数のワイヤで置き換えるモデル
(4)一部位をバーチャルリンクと複数のワイヤで置き換えるモデル
(5)複合モデル
のうちいずれかのモデルのデータであることを特徴とする請求項1又は2に記載の身体力学計算方法。
【請求項6】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータと、剛体リンクの角度・位置・速度データとに基づき、ワイヤの長さの関節角度に関するヤコビアンJを計算する力学計算方法であって、
ワイヤiがm個の経由点・端点を含むものとし、経由点・端点jからj+1までの距離をli、j、経由点又は端点jの位置をpi,j、θは関節角度、θ’は関節の角速度とすると、
(1)処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度からワイヤiのワイヤ長l及び経由点及び端点の位置pi,jを計算するステップと、
(2)処理部は、位置pi,jの関節角度θに関するヤコビアンJpi,jを計算して、
Li,j=li、j-1(pi,j+1-pi,j(Jpi,j+1-Jpi,j
により、距離li、jの関節角度θに関するヤコビアンJLi,jを計算するステップと、
(3)処理部は、求めたJLi,jのjについての総和によりJLiを求めるステップと、
(4)処理部は、JLiを集めてJ=[JL1L2 ・・・ JLi ・・・] より、ヤコビアンJを求めるステップと
(5)処理部は、Jをヤコビアンファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法。
【請求項7】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、ワイヤ/バーチャルリンクに発生される力又は発生する力から剛体リンクの運動を計算するための筋・腱・靭帯・骨格の力学計算プログラムであって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、身体モデルに与えられる、ワイヤ/バーチャルリンクに発生される又は発生する発生力fを発生力ファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、求めたヤコビアンJに基づき、読み出した筋・腱・靭帯の発生力fを、次式により、剛体リンクの接続箇所での力である一般化力τに変換するステップと、
τ=J
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、一般化力τと剛体リンクの現在の角度及び速度に基づき、一般化力τを受けた結果発生する運動について、全身の剛体リンクの加速度を求め、求めた加速度に基づき、順力学計算により各剛体リンクの速度及び位置を計算するステップと、
処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイルに記憶するステップと、
をコンピュータに実行させるための筋・腱・靭帯・骨格の力学計算プログラム。
【請求項8】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算するための筋・腱・靭帯・骨格の力学計算プログラムであって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから、現在の剛体リンクの角度・位置・速度を読み込み、また、剛体リンクに与えられる加速度を加速度ファイルから読み込むステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、加速度ファイルから読み出した剛体リンクの加速度と、剛体リンクファイルから読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な、剛体リンクの接続箇所での力である一般化力τを計算するステップと、
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、先に求めたJに基づき、次式をfに対して解くことによって、一般化力τから各ワイヤ/バーチャルリンクに発生される発生力fを求めるステップと、
τ=J
処理部は、求めた剛体リンク発生力fを発生力ファイルに記憶するステップと、
をコンピュータに実行させるための筋・腱・靭帯・骨格の力学計算プログラム。
【請求項9】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、ワイヤ/バーチャルリンクに発生される力又は発生する力から剛体リンクの運動を計算するための筋・腱・靭帯・骨格の力学計算プログラムを記録した記録媒体であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、身体モデルに与えられる、ワイヤ/バーチャルリンクに発生される又は発生する発生力fを発生力ファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、求めたヤコビアンJに基づき、読み出した筋・腱・靭帯の発生力fを、次式により、剛体リンクの接続箇所での力である一般化力τに変換するステップと、
τ=J
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、一般化力τと剛体リンクの現在の角度及び速度に基づき、一般化力τを受けた結果発生する運動について、全身の剛体リンクの加速度を求め、求めた加速度に基づき、順力学計算により各剛体リンクの速度及び位置を計算するステップと、
処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイルに記憶するステップと、
をコンピュータに実行させるための筋・腱・靭帯・骨格の力学計算プログラムを記録した記録媒体。
【請求項10】
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算するための筋・腱・靭帯・骨格の力学計算プログラムを記録した記録媒体であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから、現在の剛体リンクの角度・位置・速度を読み込み、また、剛体リンクに与えられる加速度を加速度ファイルから読み込むステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、加速度ファイルから読み出した剛体リンクの加速度と、剛体リンクファイルから読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な、剛体リンクの接続箇所での力である一般化力τを計算するステップと、
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、先に求めたJに基づき、次式をfに対して解くことによって、一般化力τから各ワイヤ/バーチャルリンクに発生される発生力fを求めるステップと、
τ=J
処理部は、求めた剛体リンク発生力fを発生力ファイルに記憶するステップと、
をコンピュータに実行させるための筋・腱・靭帯・骨格の力学計算プログラムを
記録した記録媒体。
発明の詳細な説明
【0001】
【発明の属する技術分野】
本発明は、筋・腱・靭帯・骨格に関する身体力学計算方法、身体力学計算プログラム及びそれを記録した記録媒体、身体力学モデル及びそのモデルデータを記憶した記録媒体に係る。本発明は、特に、人体、動物、生態等の身体の精密なモデルに基づく運動学・動力学的な解析の基礎となる骨格系、筋・腱・靱帯のモデル化、及び、このような解析を行うための筋・腱・靭帯モデルの動力学計算法に関する。
【0002】
また、本発明の適用される技術としては次のようなものが例示される。
(1)人体又は生体等の身体モデル運動解析ソフトウェア
(2)人体又は生体等の身体モデル運動生成ソフトウェア
(3)ワイヤ駆動機構運動解析ソフトウェア
(4)ワイヤ駆動機構制御ソフトウェア
【0003】
【従来の技術】
認知科学や医学分野では、人体の精密なモデルに基づく運動学・動力学的な解析の必要性が高まっている。例えば認知科学において脳の情報処理に関する研究を行うためには、関節にかかる力、筋肉や靱帯が発生する力など人間の身体性に近い情報が必要となる。また整形外科では、運動機能が最もよく回復できる手術法の定量的なプランニングが課題となっており、これを行うためには筋肉や骨の形状に基づく精密なシミュレーションが必要となる。
【0004】
人体を精密にモデル化しようとする試みや、それを用いて運動解析を行った例は、以下に示す文献1~3のようなものがある。特に、文献2では運動学的な解析を行って筋長の変化を計算し、それを筋の生理学的なモデルにあてはめて筋力を計算している。また、文献3では、モデルの運動から筋力を計算している。
(文献1)
・ 鈴木、服部、富永、浦野:“高機能多目的三次元人体モデル(digital dummy)の製作とその応用(第2報)、”第18回IPA技術発表会、1999.
(文献2)
・ 鈴木、富永:“高機能多目的三次元人体モデル(digitaldummy)の製作とその応用(第3報)、”第19回IPA技術発表会、2000.(文献3)
・ M.G. Pandy and F.C. Anderson: “Dynamic Simulation of Human Movement Using Large-Scale Models of the Body,” Proc. IEEE Intl. Conf. Robotics and Automation,pp.676-681, 2000.(筋肉を含む人体の力学モデルの動力学解析)
【0005】
【発明が解決しようとする課題】
以上のように、人体を精密にモデル化しようとする試みは従来なされてきたが、端点が多数あるような複雑な筋や靭帯を十分正確にモデル化できているとはいえない。また、運動学的な解析を目的としたものがほとんどであり、力学的な計算が可能なモデルになっているものは少ない。さらに、データの蓄積・再利用に関しては、それぞれの研究者が独自にフォーマットを定めており、データの作成・再利用やデータベース化が困難である。
【0006】
また、上述のように、筋・腱・靭帯を含む人体の精密なモデルを用いて運動解析を行った例はいくつかあるが、順方向(筋力から運動を計算)・逆方向(運動から筋力を計算)の動力学計算を高速に行う計算法はない。さらに、従来の動力学計算では、複雑な最適化問題を解いているため比較的簡単なモデルであるにもかかわらず長い計算時間が必要である。また、従来、順動力学計算は行っていない。
【0007】
本発明は、以上の点に鑑み、人体又は生体等の身体を構成する骨格、筋・腱・靱帯を、できるだけ忠実に且つ運動学・力学計算に利用可能な形でモデル化した身体力学モデル、及び、身体力学モデルデータのデータベースを構築できるよう統一的なフォーマットで蓄積したコンピュータ読取り可能な記録媒体を提供することを目的とする。
【0008】
また、本発明は、骨格と筋・腱・靭帯を含む詳細な身体モデルの順動力計算(筋力から運動を計算)及び逆動力計算(運動から筋力を計算)を高速に行う身体力学計算方法、身体力学計算プログラム及びそれを記録した記録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、筋・腱・靭帯の運動学的・力学的な作用を計算機内部にモデル化するための統一的かつ有用な手法を与えることにより、詳細モデル作成を容易にする。また、詳細モデルをファイルとして保存するための仕様を与えることにより、詳細モデルのデータベース構築やアプリケーション間の相互利用を可能にする。
また、本発明は、身体の筋・腱・靭帯の力学モデルに基づきワイヤでモデル化された筋・腱・靭帯の力とリンク系の一般化力の間の変換を行うことにより、リンク系動力学高速計算法などの計算法の適用を可能にし、高速な動力学計算を実現する。
【0010】
本発明の第1の解決手段によると、
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、ワイヤ/バーチャルリンクに発生される力又は発生する力から剛体リンクの運動を計算する力学計算方法、各ステップをコンピュータに実行させるための筋・腱・靱帯・骨格の力学計算プログラム及びそのプログラムを記録した記録媒体であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、身体モデルに与えられる、ワイヤ/バーチャルリンクに発生される又は発生する発生力fを発生力ファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、求めたヤコビアンJに基づき、読み出した筋・腱・靭帯の発生力fを、次式により、剛体リンクの接続箇所での力である一般化力τに変換するステップと、
τ=J
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、一般化力τと剛体リンクの現在の角度及び速度に基づき、一般化力τを受けた結果発生する運動について、全身の剛体リンクの加速度を求め、求めた加速度に基づき、順力学計算法により各剛体リンクの速度及び位置を計算するステップと、
処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法、各ステップをコンピュータに実行させるための筋・腱・靱帯・骨格の力学計算プログラム及びそのプログラムを記録した記録媒体が提供される。
【0011】
本発明の第2の解決手段によると、
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算する力学計算法、各ステップをコンピュータに実行させるための筋・腱・靱帯・骨格の力学計算プログラム及びそのプログラムを記録した記録媒体であって、

前記身体モデルは、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクに関するデータと、骨を表現した剛体リンクに関するデータとで表現され、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するようにした、
筋・腱・靭帯・骨格の身体モデルであり、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから、現在の剛体リンクの角度・位置・速度を読み込み、また、剛体リンクに与えられる加速度を加速度ファイルから読み込むステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、加速度ファイルから読み出した剛体リンクの加速度と、剛体リンクファイルから読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な、剛体リンクの接続箇所での力である一般化力τを計算するステップと、
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、先に求めたJに基づき、次式をfに対して解くことによって、一般化力τから各ワイヤ/バーチャルリンクに発生される発生力fを求めるステップと、
τ=J
処理部は、求めた剛体リンク発生力fを発生力ファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法、各ステップをコンピュータに実行させるための筋・腱・靱帯・骨格の力学計算プログラム及びそのプログラムを記録した記録媒体が提供される。
【0012】
本発明の第3の解決手段によると、
骨格を表す剛体リンクに関するデータ及び筋・腱・靭帯を表すワイヤ/バーチャルリンクに関するデータにより定義された身体モデルに対して、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータと、剛体リンクの角度・位置・速度データとに基づき、ワイヤの長さの関節角度に関するヤコビアンJを計算する力学計算方法であって、
ワイヤiがm個の経由点・端点を含むものとし、経由点・端点jからj+1までの距離をli、j、経由点又は端点jの位置をpi,j、θは関節角度、θ’は関節の角速度とすると、
(1)処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度からワイヤiのワイヤ長l及び経由点及び端点の位置pi,jを計算するステップと、
(2)処理部は、位置pi,jの関節角度θに関するヤコビアンJpi,jを計算して、
Li,j=li、j-1(pi,j+1-pi,j(Jpi,j+1-Jpi,j
により、距離li、jの関節角度θに関するヤコビアンJLi,jを計算するステップと、
(3)処理部は、求めたJLi,jのjについての総和によりJLiを求めるステップと、
(4)処理部は、JLiを集めてJ=[JL1L2 ・・・ JLi ・・・] より、ヤコビアンJを求めるステップと
(5)処理部は、Jをヤコビアンファイルに記憶するステップと、
を含む筋・腱・靭帯・骨格の力学計算方法が提供される。
【0013】
本発明の第4の解決手段によると、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクと、骨を表現した剛体リンクとで表現された筋・腱・靭帯・骨格の身体力学モデルであって、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するように構成され
前記ワイヤ及び前記バーチャルリンクに発生される力又は発生する力から前記剛体リンクの運動を計算する筋・腱・靭帯・骨格の力学計算のために用いられる前記身体力学モデルが提供される。

本発明の第5の解決手段によると、
人体、生物又は動物等の身体の筋・腱・靱帯を表現したワイヤ及びワイヤ間に接続されるバーチャルリンクと、骨格を表現した剛体リンクとで表現された筋・腱・靭帯・骨格の身体力学モデルであって、
前記剛体リンクは、複数自由度の関節を表現するジョイントで複数個が結合されて、骨格を構成し、
前記ワイヤは、前記剛体リンクで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成され、
前記バーチャルリンクは、複数の前記ワイヤの始点又は終点が固定されるように構成され、
前記ワイヤ及び前記バーチャルリンクに発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するように構成され、
剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算する筋・腱・靭帯・骨格の力学計算のために用いられる前記身体力学モデルが提供される。
【0014】
本発明の第の解決手段によると、
人体、生物又は動物等の身体の筋・腱・靱帯をワイヤ及びワイヤ間に接続されるバーチャルリンクで表現し、骨を剛体リンクで表現した、筋・腱・靭帯・骨格の身体力学モデルデータを記憶したコンピュータ読取り可能な記録媒体であって、
前記身体力学モデルデータは、
複数自由度の関節を表現するジョイントで複数個が結合されて骨格を構成した剛体リンクについての形状データ、質量・慣性モーメント・質量中心を含む力学データを含む剛体リンクデータと、
前記剛体リンクデータで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成された、前記ワイヤについての端点及び/又は経由点の位置データと、
複数の前記ワイヤの始点又は終点が固定される前記バーチャルリンクについての、形状データ及び位置データと
を含み、
前記ワイヤ及び/又は前記バーチャルリンクにより発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するように構成され、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、身体モデルに与えられる、ワイヤ/バーチャルリンクに発生される又は発生する発生力fを発生力ファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから現在の剛体リンクの角度・位置・速度を読み出すステップと、
処理部は、モデルデータ及び剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、求めたヤコビアンJに基づき、読み出した筋・腱・靭帯の発生力fを、次式により、剛体リンクの接続箇所での力である一般化力τに変換するステップと、
τ=J
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、一般化力τと剛体リンクの現在の角度及び速度に基づき、一般化力τを受けた結果発生する運動について、全身の剛体リンクの加速度を求め、求めた加速度に基づき、順力学計算法により各剛体リンクの速度及び位置を計算するステップと、
処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイルに記憶するステップと、
をコンピュータに実行させて、前記ワイヤ及び前記バーチャルリンクに発生される力又は発生する力から前記剛体リンクの運動を計算する筋・腱・靭帯・骨格の力学計算のために用いられる前記筋・腱・靭帯・骨格の身体力学モデルデータを記憶したコンピュータ読取り可能な記録媒体が提供される。

本発明の第7の解決手段によると、
人体、生物又は動物等の身体の筋・腱・靱帯をワイヤ及びワイヤ間に接続されるバーチャルリンクで表現し、骨を剛体リンクで表現した、筋・腱・靭帯・骨格の身体力学モデルデータを記憶したコンピュータ読取り可能な記録媒体であって、
前記身体力学モデルデータは、
複数自由度の関節を表現するジョイントで複数個が結合されて骨格を構成した剛体リンクについての形状データ、質量・慣性モーメント・質量中心を含む力学データを含む剛体リンクデータと、
前記剛体リンクデータで表された骨の所定個所に固定された始点及び終点間を結び、骨に固定された0個以上の滑りを許す経由点を通り、前記剛体リンクの動きに応じて長さと張力が変化し得るように構成された、前記ワイヤについての端点及び/又は経由点の位置データと、
複数の前記ワイヤの始点又は終点が固定される前記バーチャルリンクについての、形状データ及び位置データと
を含み、
前記ワイヤ及び/又は前記バーチャルリンクにより発生される力及びワイヤの長さと前記剛体リンクの運動とが相互作用するように構成され、

処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータをモデルデータファイルから読み込むステップと、
処理部は、剛体リンクの角度・位置・速度を記憶した剛体リンクファイルから、現在の剛体リンクの角度・位置・速度を読み込み、また、剛体リンクに与えられる加速度を加速度ファイルから読み込むステップと、
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、各ワイヤの長さの関節角度に関するヤコビアンJを計算するステップと、
処理部は、加速度ファイルから読み出した剛体リンクの加速度と、剛体リンクファイルから読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な、剛体リンクの接続箇所での力である一般化力τを計算するステップと、
処理部は、一般化力ファイルに求めた一般化力τを記憶するステップと、
処理部は、先に求めたJに基づき、次式をfに対して解くことによって、一般化力τから各ワイヤ/バーチャルリンクに発生される発生力fを求めるステップと、
τ=J
処理部は、求めた剛体リンク発生力fを発生力ファイルに記憶するステップと、
をコンピュータに実行させて、剛体リンクに与えられる加速度からワイヤ/バーチャルリンクに発生される力又は発生する力を計算する筋・腱・靭帯・骨格の力学計算のために用いられる前記筋・腱・靭帯・骨格の身体力学モデルデータを記憶したコンピュータ読取り可能な記録媒体が提供される。
【0015】
【発明の実施の形態】
1.力学モデル
1-1.概説
図1に、本実施の形態を利用したシステムの説明図の一例を示す。本システムでは、たとえば、MRIやCTなどの医療機器で得られる骨の像から骨の幾何モデルを得て、これと筋・腱・靭帯に関する解剖学的知見から、本実施の形態により筋・腱・靭帯のモデルが得られる。このモデルを本実施の形態のフォーマットにより出力することで、様々なアプリケーションによる解析に用いたり、多数のモデルを含むデータベースに登録したりすることができる。なお、実施の形態では人体のモデルを中心に説明するが、本発明は、これに限らず、動物、生物等の適宜の身体モデルに広く適用することができる。
【0016】
本実施の形態は、主に、以下の2点の特徴を含む。
・ワイヤ/バーチャルリンクによる筋・腱・靭帯のモデル化法
これは、人体の筋・腱、靱帯を、骨に固定された始点・終点を結び、骨または仮想的な骨に固定された0個以上の経由点を通るワイヤとしてモデル化する方法である。
・上記モデルのVRML(Virtual Reality Modeling Language)形式での記述方法
これは、筋・腱・靱帯情報を骨格の三次元幾何形状とともに三次元モデルの標準的な記述フォーマットであるVRML形式で記述することにより、上記モデルを様々なソフトウェアで共有できるようにする方法である。
以下、それぞれについて詳細を述べる。
【0017】
1-2.ワイヤ/バーチャルリンクによる筋・腱・靭帯のモデル化法筋・腱・靭帯は以下のように定義される。
・筋:骨と骨を接続し、長さは比較的自由に変化する。
・腱:筋の両端にあり、筋を骨と接続している。
・靭帯:骨と骨を接続し、長さはほとんど変化しない。
【0018】
図2に、筋・腱・靭帯のワイヤモデルの説明図の一例を示す。筋・腱、靭帯を骨または仮想的な骨(バーチャルリンク)に固定された始点・終点を結び、0個以上の経由点を通るワイヤとしてモデル化する。解剖学情報からモデルを作成するときの原則は以下の通りである。(いくつかの実例を後述する)
・バーチャルリンクは、筋・靭帯が終端で分岐する場合に導入される。
・経由点は、ワイヤが骨の突起などの固定点を通り、その前後で自由に滑ることができる場合に導入される。
・ 筋の端が1個の骨またはバーチャルリンクに接続されている場合、両端の腱はモデルに含めない。筋の端が2つ以上に分岐する場合のみ腱を導入する。
【0019】
モデル作成の手順は以下の通りである。
(a)モデル化に使用するワイヤ/バーチャルリンクの数、配置、結線の設計解剖学の教科書などを参照し、ワイヤ、バーチャルリンクの配置・接続関係を決める。
(b)ワイヤの始点、経由点、終点及びバーチャルリンクの位置決め市販のモデリングソフトなどを用いて、各点とバーチャルリンクそれぞれの三次元位置を入力する。
(c)骨格、筋・腱・靭帯情報の保存
ワイヤ/バーチャルリンク、始点・終点・経由点に後述する規則に従って名前・階層構造を付加し、骨格の幾何情報とともにVRML形式で出力する。
【0020】
次に、手順(a)の具体例を以下の順で説明する。
(1)一部位を始点と終点のみからなる単純な1本のワイヤで置き換えるモデル
(2)一部位を始点と経由点と終点からなる1本のワイヤで置き換えるモデル
(3)一部位を複数のワイヤで置き換えるモデル
(4)一部位をバーチャルリンクと複数のワイヤで置き換えるモデル
(5)複合モデル
以下、各モデルについて説明する。
【0021】
(1)一部位を始点と終点のみからなる単純な1本のワイヤで置き換えるモデル図3は、上腕骨に停止する小円筋のモデル説明図の一例である。
多くの筋・腱は起点と終点の両端点のみからなる単純な1本のワイヤでモデル化される。
【0022】
(2)一部位を始点と経由点と終点からなる1本のワイヤで置き換えるモデル図4は下肢帯の腹側に位置する内閉鎖筋モデルの説明図の一例である。
この例では、筋が這っている小坐骨切痕の部分が、筋の作用の支点として働いている。このような場合、筋の張力は起点から終点を結ぶ直線上にはなく、従って正しい筋力方向をモデル化するために経由点を挿入する。経由点は、内閉鎖筋の例のように筋が骨の一部分に引っ掛かっている場合の他、腱鞘による腱の拘束をモデル化する場合などにおいて挿入される。
【0023】
(3)一部位を複数のワイヤで置き換えるモデル
図5は、大胸筋モデルの説明図の一例である。
種々の筋型のうち複数の起始を持ち1つの共通の腱に終わるn頭筋や、広く板状の腱を持つ板状筋などは、1本のワイヤではなく複数のワイヤを用いてその機能をモデル化する。n頭筋ではn本のワイヤを用いる。広く板状の腱を持つ筋において、単一の骨上に筋が広がりを持って付着する場合には2~4本程度のワイヤを用い、筋の広がりがさらに大きく複数の骨にまたがる様な場合にはさらに多くのワイヤを用いてモデル化する。
【0024】
(4)一部位をバーチャルリンクと複数のワイヤで置き換えるモデル
図6に、二頭筋の2つのモデルの説明図を示す。n頭筋などの分岐を含む部位において上記(3)の方法を取れば、分岐点が筋の停止に集中するモデルになる(図6上)。上記(3)のモデルでは不十分である場合、他の方法(4)として、バーチャルリンクを導入してワイヤの途中に分岐を設ける(図6下)。
このようなモデルが必要な部位として上腕二頭筋が挙げられる。
【0025】
図7に、上腕二頭筋のモデルの説明図を示す。
上腕二頭筋の停止部においては腱が分岐し、分岐した腱がそれぞれ別々の骨に癒着するという配置になっている。従って上腕二頭筋の機能を再現するには腱の分岐をモデル化する必要がある。上腕二頭筋の場合は二本の筋(長頭と短頭)と二本の腱に部分化し、これらの分岐点にバーチャルリンクを置く。このように分岐のモデル化の際にバーチャルリンクが必要となる理由は、ワイヤは1つの起点に始まり0点以上の経由点を通り1つの終点に終わる、というワイヤモデルの原則があるからである。この原則は、ワイヤの張力計算法に由来している。バーチャルリンクは骨リンクと違って質量を持たないようにすることができるが、バーチャルリンク上に置かれた点間の相対位置は不変である、張力を伝播する、という点においてはリンクとして扱うことが可能である。なお、バーチャルリンクは、所定の質量をもつように設定することもできる。
【0026】
(5)複合モデル
ここでは、肘関節に配置する靭帯の例を示す。
図8は肘関節における靭帯の配置と、靭帯の拘束で与えられる肘関節対偶の説明図である。
図8左の靭帯の拘束により図8右のように関節対偶が決まる。橈骨は尺骨とは独立して旋回することができる。しかし、橈骨と尺骨は常に独立して動くわけではなく、上腕と前腕との間の屈曲(及び伸展)において2つの骨は同調して回転する。このような複雑な靭帯配置をモデル化するために、経由点を含む単一ワイヤモデルとバーチャルリンクを持つ複数ワイヤモデルを複合したモデルを考える。
【0027】
図9は、肘関節靭帯のモデル化の説明図である。
尺骨に始まり経由点によって橈骨を束ね再び尺骨に戻って終わる、そのような半ループ状の靭帯によって橈骨と尺骨の間の対偶をモデル化する。さらに上腕骨・前腕骨間の靭帯をモデル化するために、半ループ状の靭帯上にバーチャルリンクを挟み、バーチャルリンクに付着する3つの靭帯をTの字に結線する。軟骨などもこのようにモデル化することができる。
【0028】
1-3.上記モデルのVRML形式での記述方法
上記モデルは、統一的なフォーマットで記述して様々なソフトウェア・データベースで扱えるようにする必要がある。このとき、独自のフォーマットを定義するとその仕様決定のための労力が大きいだけでなく、読み込みのためのソフトウェア開発の負担も発生する。本実施の形態では、データが筋・腱、靭帯の数値データだけではなく骨形状の幾何データをも含むことを考慮し、仮想現実において形状、質感、アニメーションデータ等を記述する標準的なフォーマットであるVRML(Virtual Reality Modeling Language)の形式で筋・腱、靭帯情報を記述することとし、そのためのデータ仕様を開発した。VRMLファイルの読み込み・出力は多くの三次元モデリングソフトでサポートされており、本発明により上記モデルの作成を特殊なソフトウェアを使うことなく行うことができるようになる。
【0029】
図10に、Transform(トランスフォーム)ノードの書式の説明図の一例を示す。VRMLは、配置したいオブジェクトの種類によって形状(Shape)、質感(Material)などのノードを記述していく形式である。ノード間に階層構造をつけることで、あるノードの影響が及ぶ範囲を定義することができる。本発明では、筋・腱、靭帯の情報を記述するために座標変換を定義するTransformノードとノードに一意な名前をつけるためのDEFノードを利用する。VRMLファイル中の典型的な書式は図のようになる。これによってnode_nameという名前のTransformノードを定義し、その位置・姿勢をtranslation、 rotationによりそれぞれ指定することができる。
【0030】
ここでは、1個の筋・腱・靭帯、バーチャルリンクおよび始点・終点・経由点をそれぞれ1つのTransformノードで表し、始点・終点・経由点を表すTransformノードは、それが属する筋・腱・靭帯のTransformノードの子ノードとする。また、筋・腱・靭帯、バーチャルリンクを表すTransformノードは種類別にそれぞれmuscles(筋)、 tendons(腱)、 ligamenta(靭帯)、 virtual_bones(バーチャルリンク)というTransformノードの子リンクとする。骨形状を表すノード群もbones(骨)というTransformノードの下にまとめておく。
【0031】
筋・腱・靭帯およびそれらの始点・終点・経由点を表すTransformノードの名前は以下に示す命名規則に従ってつける。なお、バーチャルリンクには任意の名前をつけてよい。
・靱帯 {R|L|C}_Lig_LigamentaName
・筋 {R|L|C}_Mus_MuscleName
・腱 {R|L|C}_Ten_TendonName
・始点 ElementName_Org_LinkName
・終点 ElementName_End_LinkName
・経由点 ElementName_n_LinkName
ただし、
・R、L、C:それぞれ右半身、左半身、体幹の区別を表す
・LigamentaName、MuscleName、TendonName: それぞれ靭帯、筋、腱の固有名
・ElementName:経由点が属する靱帯・筋・腱の名前
・n:経由点の番号
・LinkName:経由点が固定されている骨またはバーチャルリンク名
(例)
筋の名前:L_Mus_Supraspinatus(左半身の棘上筋)
点の名前:L_Mus_Supraspinatus_Org_lscapula(ワイヤの始点、骨lscapulaに固定)
【0032】
図11に、筋・腱・靭帯情報と骨形状データを含んだVRMLデータの階層構造の説明図の一例を示す。実際のVRMLファイルには、このほか骨のポリゴンデータ、経由点の位置データなどが入る。
【0033】
2.ハードウェア
図12は、本実施の形態に関するハードウェアの構成図である。
このハードウェアは、中央処理装置(CPU)である処理部1、入力部2、出力部3、表示部4及び記憶部5を有する。また、処理部1、入力部2、出力部3、表示部4及び記憶部5は、スター又はバス等の適宜の接続手段で接続されている。
【0034】
記憶部5は、モデルデータ(定常データ)を記憶したモデルデータファイル51、剛体リンクに対する外力(例:床、壁等による外力、運動による外力)等で筋・腱・靭帯のワイヤ/バーチャルリンクに対応するアクチュエータに与えられる力(張力)又はアクチュエータが発生すべき力等のアクチュエータの発生力(発生する力又は発生される力)fを記憶した発生力ファイル52、剛体リンクに与えられる加速度又はそこに発生すべき加速度等の剛体リンクの加速度を記憶した加速度ファイル53を記憶した加速度ファイル53、剛体リンクの角度・位置・速度を記憶した剛体リンクファイル54、後述する計算されたヤコビアンを記憶するヤコビアンファイル55、一般化力(剛体リンクのヒンジ(関節)でのトルク(例:球面、3自由度))を記憶した一般化力ファイル56、を含む。
【0035】
ここで、剛体リンクは、骨格を表現するものであり、また、ワイヤ/バーチャルリンクは、筋・腱・靭帯を表現するものである。
モデルデータとしては、以下が例示される。
・剛体リンクの形状データ
・剛体リンクの質量・慣性モーメント・質量中心の位置等の力学データ
・ワイヤの端点・経由点の位置
・バーチャルリンク(質量を持った剛体リンクのひとつとしてもよいし、質量のない剛体リンクのひとつとしてもよい)の形状データ
・バーチャルリンクの力学データ
【0036】
3.力学計算法
3-1.概説
図13に、本実施の形態を利用したシステムの説明図の一例を示す。本実施の形態の順動力学計算法を用いると、筋・腱・靭帯を含む詳細なモデルと筋力のモデルから発生する運動と関節にかかる力などが計算できる。順動力学計算法では、筋力モデル、筋・腱・靭帯モデルを入力データとして運動、関節にかかる力を出力データとして計算する。一方、逆動力学計算法を用いると、詳細モデルと運動データからその運動を行うために筋・靭帯が発生する力、そのとき関節にかかる力などが計算できる。逆動力学計算法では、運動データ、筋・腱・靭帯モデルを入力データとして筋・腱・靭帯の力、関節にかかる力を出力データとして計算する。
【0037】
本実施の形態では、筋・腱・靭帯を含むモデルとして上述のような、特に、人間の筋・腱・靱帯について「1.力学モデル」のワイヤ/バーチャルリンクによるモデルを用いる。
図14に、筋・腱・靭帯のワイヤモデルの構成図を示す。ここでは、一例としてこのような力学モデルを対象として力学計算法を説明する。上記「1-2.ワイヤ/バーチャルリンクによる筋・腱・靭帯のモデル化法」で説明した他のモデルに対しても同様にこの計算法を適用することができる。
【0038】
このモデルは、図のように1本の筋・靭帯を始点・終点を結び経由点を通るワイヤとしてモデル化するものである。バーチャルリンクは端点が2つ以上ある筋・靭帯をモデル化するために導入された特殊なリンクで、質量・慣性モーメントをもたない仮想的な骨である。動力学計算においては、バーチャルリンクに作用する合力が常に0となる必要がある。
【0039】
3-2.力学計算の準備
順動力学計算・逆動力学計算とも、その準備としてワイヤの長さの関節角に対するヤコビアンJLiを求める計算をすべての筋・腱・靭帯について行う。JLiは、ワイヤiの長さlの時間微分l’と一般化速度θ’(関節の角速度)を次式のように関係付ける行列である。なお、「’」は微分を示す。
l’=JLiθ’
Liは以下の手順で計算する。要素iがm個の端点(始点・終点を含む)・経由点からなるものとし、端点・経由点jからj+1までの距離をli、j、li、jのθに関するヤコビアンをJLi,jとすると、JLiはJLi,jの和、すなわち
【0040】
【数1】
JP0004212022B2_000002t.gif
【0041】
と表される。経由点jの位置をpi,jとすると、
i,j=(pi,j+1-pi,j(pi,j+1-pi,j
だから、
【0042】
【数2】
JP0004212022B2_000003t.gif
【0043】
となる。ここで、Jpi,jは、pi,jのθに関するヤコビアンであるから、以下に示す文献4の方法などを用いて計算することができる。これによって得られたJLi,jの和を計算するとJLiが計算できる。
(文献4)
D.E. Orin and W.W. Schrader: “Efficient Computation of the Jacobian for Robot Manipulators,” International Journal of Robotics Research, vol.3, no.4, pp.66-75, 1984.(リンク位置の関節角に関するヤコビアンを高速に計算する方法)
【0044】
Liをすべてのワイヤについて集めた行列J(J=[JL1L2 …JLi…])を用いて、筋・腱の発生する力fとそれと等価な一般化力τの関係は次式のように表される。
τ=Jf (1)
以下、この式に基づき順動力学・逆動力学計算を行うための手順を示す。
【0045】
3-3.順動力学計算
順動力学計算では筋力(発生力)fが与えられているので、式(1)に従ってτを計算し関連発明「リンク系動力学高速計算法(特願 2001-228804)」等による順動力学計算を行う。
【0046】
図15は、順動力学計算についてのフローチャートを示す。
処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータを記憶部のモデルデータファイルから読み込む(S101)。処理部は、身体モデルに加えられる、剛体リンクに対する外力又は所望の発生する力等の、筋・腱・靭帯についてのアクチュエータに対応するワイヤ/バーチャルリンクに発生される又は発生する発生力fを記憶部の発生力ファイル32から読み込む(S10)。処理部は、記憶部の剛体リンクファイル34から現在の剛体リンクの角度・位置・速度を読み出す(S10)。処理部は、モデルデータ及び剛体リンクのデータに基づき、ワイヤ長さの関節角度に関するヤコビアンJを計算する(S10)。
【0047】
図16に、ヤコビアンJの計算についてのフローチャートを示す。すなわち、「3-2.力学計算の準備」で説明したように、次の手順でJを求めることができる。
(1)処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度からワイヤiのワイヤ長l及び経由点(始点・終点を含む)の位置pi,jを計算する(S1071)。
(2)処理部は、[数2]に従い、ヤコビアンJLi,jを計算する(S1073)。
(3)処理部は、[数1]に従い、求めたJLi,jの総和によりJLiを求め、J=[JL1L2 ・・・ JLi ・・・]よりJを求める(S1075)。
(4)処理部は、Jをヤコビアンファイルに記憶する(S1077)。
【0048】
処理部は、求めたJに基づき、読み出した筋・腱・靭帯の発生力fを前出した(1)式により一般化力τに変換する(S10)。すなわち、処理部は、剛体リンクのヒンジ(関節)でのトルク(例:球面、3自由度)にこれらの発生力fを変換する。処理部は、記憶部の一般化力ファイル35に求めた一般化力τを記憶する(S111)。
【0049】
処理部は、一般化力τを受けた結果発生する運動を剛体リンク系の順動力学計算法により計算する(S113)。すなわち、処理部は、一般化力τと現在の剛体リンクの角度及び位置から全身の剛体リンクの加速度を求め、求めた加速度に基づき、各剛体リンクの運動の結果としての速度及び位置を計算する。処理部は、求めた剛体リンクの角度・位置・速度を剛体リンクファイル34に記憶する(S115)。この際、時刻、順番等の識別番号等に対応してそれぞれの状態又はタイミング等で計算されたデータを適宜記憶することができる。
【0050】
以下に、剛体リンク系の順動力学計算について説明する。まず、次のような式が与えられるとする。
θ’’=A-1(θ){τ—B(θ,θ’)—C(θ)}
( ここで、
θ:角度、
θ’:速度、
θ’’:加速度、
A(θ):慣性行列、
B(θ,θ’):コリオリ遠心力、
C(θ):重力 )
なお、これらA(θ)、B(θ,θ’)、C(θ)は、モデルデータ等から決定される。
このような、上式において、τ、θ(角度)、θ’(速度)が与えられたとき、θ’’(加速度)を求めるのが順動力学計算法である。
【0051】
3-4. リンク系動力学高速計算法
3-4-1. 概要
本計算法は以下の手順からなる(特願2001-228804参照)。
手順1. 組立:関節による拘束がなく全リンクが独立な状態から、関節を1個ずつ追加し、新しい関節における拘束力とまだ追加されていない関節の加速度を仮想仕事の原理に基づき計算する(文献5参照)。なお、この時点で計算される拘束力と加速度は実際のリンク系における値ではない。
手順2. 分解:手順1.とは逆の順序で関節を切断しながら、実際のリンク系における切断関節の拘束力と関節加速度を決定していく。
(文献5)
Y. Nakamura and M. Ghodoussi: Dynamics Computation of Closed-Link Robot Mechanisms with Nonredundant and Redundant Actuators, IEEE Transactions on Robotics and Automation, vol.5, no.3, pp.294-302,1989.
【0052】
3-4-2. リンク系の例
図17に、2リンクの説明図を示す。
以下、図のような関節iと剛体リンクp、cからなる2リンク系を例に具体的な計算法を示す。
【0053】
まず運動学的な関係を考える。リンクp、cに固定された座標系の並進速度・角速度をまとめたベクトルをそれぞれr’pi、r’ciとする。なお、「’」は微分を示す。また、関節iの位置でのリンクp、cの重心の速度をそれぞれr’i,pi、r’i,ciとし、関節iの拘束条件が行列KCiを用いて
Ci(r’i,ci-r’i,pi)=O (a1)
と表されているものとする。ここでKciは、モデルデータ(関節角度、剛体リンク長、等)により計算される。同様に関節iの関節速度θ’が行列KJiを用いて、
θ’=KJi(r’i,ci-r’i,pi) (a2)
となるものとする。ここで、KJiは、モデルデータ(リンクの結合点、等)により計算される。r’ci、r’pi,とr’i,ci、r’i,piの関係はヤコビアンJi,ci、Ji,piを用いて以下のように表される。
r’i,k=Ji,kr’ (k=c、p) (a3)
ここで、ヤコビアンJi,kは関節位置の速度からリンク重心の速度を計算するものである。
【0054】
次に運動方程式を考える。各リンクの原点周りの慣性行列をM、重力・速度依存項(ひとつのリンクのコリオリ遠心力、ジャイロ効果)をC、作用するリンクの重心位置での一般化力をτ,(k=cipi)とすると、運動方程式は以下のようになる。なお、M、C、は、モデルデータから計算される。
【0055】
cir’’ci+Cci=τGci(k=c,p) (a4)
τ=[τ ττ・・・τ・・・]
pi,rciをこの系の一般化座標と考えると、6自由度のリンク系2つが関節iで拘束された閉リンク機構とみなせる。このとき、拘束力(関節で発生するトルク以外の全ての力)F、関節トルクτと一般化力の関係は仮想仕事の原理より次のようになる(上述文献参照)。
【0056】
τGci=Hi,ci+Hji,ciτ (a5)
τGpi=-Hi,pi-Hji,piτ (a6)
ここでHi,k=Kcii,k
ji,k=KJii,k
(k=c,p
である。
【0057】
式(a1)、(a3)を時間微分した式と式(a4)-(a6)を解くと拘束力Fが次式のように求まる。
=S-1ii(-SJiiτ+Hi,ci-1ci-Hi,pi-1pipi
ii=Hi,pi-1pii,pi+Hi,ci-1cii,ci
Jii=Hi,pi-1piJi,pi+Hi,ci-1ciJi,ci
さらにこれを用いて関節加速度θ’’を計算する。
以上の計算法を拡張すると、任意の2つのリンク系を接続する計算手順が導出できる。
【0058】
3-4-3. 並列計算
並列計算時の計算手順は以下のようになる。
(1)全リンクをプロセス数個のグループに分割する。
(2)各グループ内でリンクを接続する計算を並列に行う。
(3)手順2.でできたグループどうしを接続する計算を可能ならば並列に行い、リンク系を完成させる。
このように本計算法は高い並列性を持っており、プロセス数に応じて最適なスケジューリングが可能である。
【0059】
3-5.逆動力学計算
逆動力学計算では、まず、次に示す文献6などの計算法を用いて通常のリンク系の逆動力学計算を行ってτを計算してから、式(1)を解く。このとき、筋・腱・靭帯についてはそのバイオメカニカルな特性に対して問題に応じたモデル化を行うことが必要である。例えば、筋・腱・靭帯は引っ張り力しか発生できないので、fの要素はすべて負であるなどのようにモデルを仮定することができる。
(文献6)
J.Y.S. Luh, M.W. Walker and R.P.C. Paul: “On-line Computational Scheme for Mechanical Manipulators,” ASME Journal on Dynamic Systems, Measurement and Control, vol.104, pp.69-76, 1980.(リンク系の逆動力学を高速に計算する方法)
【0060】
図18は、逆動力学計算についてのフローチャートを示す。
処理部は、力学計算の対象となる剛体リンク及びワイヤ/バーチャルリンクの形状及び力学データを含むモデルデータを記憶部のモデルデータファイル31から読み込む(S201)。処理部は、現在の剛体リンクの角度(関節角)・位置・速度を記憶部の剛体リンクファイル34から読み込み(S203)、また、剛体リンクに与えられる加速度を加速度ファイル33から読み込む(S205)。
【0061】
処理部は、モデルデータ及び現在の剛体リンクの角度・位置・速度に基づき、上述のように、各々のワイヤの長さの関節角度に関するヤコビアンJを計算する(S207)。
処理部は、ニュートン・オイラー法等による剛体リンク系の逆動力学計算法により、加速度ファイル33から読み出した剛体リンクの加速度と、剛体リンクファイル32から読み出した角度及び速度に基づき、その剛体リンクについての与えられた加速度による運動を発生するのに必要な一般化力τを計算する(S209)。
【0062】
以下に、剛体リンク系の逆順動力学計算について補足説明する。まず、次のような式が与えられるとする。
A(θ)θ’’+B(θ,θ’)+C(θ)=τ
( ここで、
θ:角度、
θ’:速度、
θ’’:加速度、
A(θ):慣性行列、
B(θ,θ’):コリオリ遠心力、
C(θ):重力 )
なお、これらA(θ)、B(θ,θ’)、C(θ)は、モデルデータ等から決定される。上式において、θ(角度)、θ’(速度)及びθ’’(加速度)が与えられたとき、τを求めるのが逆動力学計算法である。
【0063】
処理部は、記憶部の一般化力ファイル35に求めた一般化力τを記憶する(S211)。
処理部は、(1)式に従い、先に求めたJに基づき、一般化力τから全身の剛体リンクを運動させる筋・腱・靭帯のワイヤの張力に対応する、各ワイヤ/バーチャルリンクに発生される発生力fを求める(S213)。なお、処理部は、求めた発生力に基づき、運動の結果としての剛体リンクの速度及び加速度を計算することもできる。処理部は、求めた剛体リンク発生力fを発生力ファイル32に記憶する(S215)。
【0064】
4.追記
本発明の力学モデル計算方法又は力学モデル計算装置・システムは、その各手順をコンピュータに実行させるための力学モデル計算処理プログラム、力学モデル計算処理プログラムを記録したコンピュータ読み取り可能な記録媒体、力学モデル計算処理プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【0065】
【発明の効果】
本発明によれば、骨の幾何データと筋・腱・靭帯のデータを持った人体の詳細なモデルを市販のモデリングソフトウェアにより作成することができる。また、それを本発明の方法を用いてファイルに保存することにより、多数のモデルをデータベース化したり、複数のアプリケーションで共用することができる。
また、本発明によれば、骨の幾何データと筋・腱・靭帯のデータを持った人体の詳細なモデルに対して順動力学計算(筋力から運動を計算)および逆動力学計算(運動を行うのに必要な筋力・靭帯力を計算)を高速に実行することができる。
【図面の簡単な説明】
【図1】本実施の形態を利用したシステムの説明図の一例。
【図2】筋・腱・靭帯のワイヤモデルの説明図の一例。
【図3】上腕骨に停止する小円筋のモデル説明図の一例。
【図4】下肢帯の腹側に位置する内閉鎖筋モデルの説明図の一例。
【図5】大胸筋モデルの説明図の一例。
【図6】二頭筋の2つのモデルの説明図。
【図7】上腕二頭筋のモデルの説明図。
【図8】肘関節における靭帯の配置と、靭帯の拘束で与えられる肘関節対偶の説明図。
【図9】肘関節靭帯のモデル化の説明図。
【図10】 Transformノードの書式の説明図の一例。
【図11】筋・腱・靭帯情報と骨形状データを含んだVRMLデータの階層構造の説明図の一例。
【図12】本実施の形態に関するハードウェアの構成図。
【図13】本実施の形態を利用したシステムの説明図の一例。
【図14】筋・腱・靭帯のワイヤモデルの構成図。
【図15】順動力学計算についてのフローチャート。
【図16】ヤコビアンJの計算についてのフローチャート。
【図17】2リンクの説明図。
【図18】逆動力学計算についてのフローチャート。
【符号の説明】
1 処理部
2 入力部
3 出力部
4 表示部
5 記憶部
51 モデルデータファイル
52 発生力ファイル
53 加速度ファイル
54 剛体リンクファイル
55 ヤコビアンファイル
56 一般化力ファイル
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17