AnyBody 特徴
■ フルボディ
AnyBodyの人體モデルは剛體である骨、骨の接合部である関節、筋腱で構成されています。
それらを組み合わせた全身のモデルが最初から用意されており、外部からの力や道具を自由に追加することができます。そのため、簡単に動きを再現して解析をおこなうことができます。
足や手、頸、脊椎、肩関節などは詳細なモデルが用意されているので、必要に応じて、より細かい解析をおこなうこともできます。
また、AnyBodyでは、起始と停止を直線でつなぐ筋肉と骨の表面と接觸し、骨に巻きつきながら走行する筋肉(Wrapping Muscle)の両方を再現することによって、より現実に即した解析を可能にしています。
■ AnyBodyのインターフェース
AnyBodyの解析では基本的に複雑なアルゴリズムを作る必要はなく、動作と條件を設定するだけで半自動的に解析することができます。
それらの設定にはAnyScriptと呼ばれるスクリプト言語を使用します。
これは『Class』と呼ばれるユニットによる単純な定義、例えば、股関節を何度屈曲する、座標(x、y、z)に點を作る、などを組み合わせて、動きや條件を設定します。
『Class』はAnyBody特有のものですが、覚える必要は無く、AnyBody內で機能を調べたり、必要な機能を持つ『Class』を挿入することがいつでもできます。複雑なモデルや動作でも、『Class』による単純な定義を積み重ねることによって、簡単に構築して、再現することができます。
GUIはとてもシンプルで、AnyScriptと組み合わせることで、幅広い運用をすることができます。
右図はGUIのModel ViewとAnyScriptを組み合わせて、 「モデル」と「出力グラフ」、「力ベクトル」を同じ畫面に表示したものです。
■ 多數の検証スタディ
AnyBody開発元は、解析結果の信頼性を評価するために、実測と比較した検証作業を定期的におこない、その論文を公開しています。
また、AnyBodyを用いたユーザが、2014年と2015年の"Grand Knee Challenge"というインビボでの膝関節負擔結果と比較した、シミュレーション推定のコンペティションにおいて、受賞者となりました! AnyBodyをインストールすると、肩関節、脊椎、膝の人工関節等の検証で使用されたモデルが提供されます。
■ 人體モデルへのアクセスと編集
AnyBodyでは人體モデルを構成するすべてのデータにアクセスすることができます。それによって、どんな係數や計算によって、體型が決定されているのか、確認することができます。また、それらの數字は全て編集することができ、モデルの身長や體重、體脂肪率に加えて、足と胴、上腕と前腕など、各部位の比も自由に変えることができます。
さらに、データがあれば、既存のモデルを使うだけでなく、人種や性別、年齢などに応じた、新しい人體モデルを作成することもできます。 筋肉や骨のパラメータを変更し、モデルの編集を行うことで、筋肉の強い人や弱い人、片足の人や人工関節に置換した人など、特殊な身體の狀態に合わせた解析をおこなうことができます。
■ クローズドチェインのシームレス対応
バイサイクリング、歩行、両手でモノをつかむこと等は、運動的に閉鎖しているシステムで、クローズドチェインと呼びます。バイオメカニックスには、クローズドチェインを含むモデルが非常に多いです。
AnyBodyは、オープンチェインの仮定に頼らず、モデルの全體的な位置解析をおこない、筋肉を含む平衡の冗長系を立て、筋動員アルゴリズムでモデルを解析します。ユーザはその過程をシームレスに実行できます。
■ 人體動作の入力
AnyBody Modeling Systemでは、
人體動作を規定する方法の一つとしてモーションキャプチャシステムを使う方法があります。その際のマーカセットの例として右図に、Vicon Plug–in-Gaitのマーカーセットを示します。
AnyBody Modeling Systemではモーションデータはc3d形式でのインポートに対応しております。
當社ではモーションキャプチャの測定を含め、AnyBodyを用いた運動中の筋活動などを解析、出力するサービスをおこなっております。詳細は以下のページをご確認ください。
■ 床反力の推定機能
AnyBodyには、反力の推定という機能があります。
これは、フォースプレートの設置が困難な場所やフォースプレートの無い場所での動作における反力を求めるのに大変役に立ちます。反力を推定したい部位に仮想筋と呼ばれるポイントを、フォースプレートの代わりに接觸判定用のプレートを、それぞれ作成します。仮想筋とプレートの距離を條件にして、仮想筋の活動を制御するように設定し、仮想筋を含めた全身の筋肉に対して、筋活動の最適化をおこないます。そして、仮想筋の発揮する力から、反力を推定します。推定の際に設定するのは、接觸判定用のプレートの範囲や摩擦係數などがあります。
■ 日本人の人體モデル
AnyBody Modeling Systemは、筋骨格モデリングシステムで、 剛體力學のアプローチで筋力や関節モーメントを計算します。そのため、結果の精度は、人體モデルの寸法に非常に依存すると考えられます。
デフォルトの人體モデルの寸法は、おおよそヨーロッパの歐米人の中央値に妥當します。しかし、日本人の人體寸法及び人體比率と異なる可能性がありますので、既存モデルを日本人の人體寸法に合わせるようにスケーリングする必要になります。
インターネット上や、研究機関からは體形データが提供されております。それらデータを含め、ユーザ様がお使いになりたい日本人の人體寸法データがある場合など、當社は、それらのデータを利用した人體モデルのスケーリング法を提供しています。
■ AnyScript
AnyBodyでは、AnyScriptと呼ばれるスクリプト言語でモデルを構築します。モデルは、剛體とみなされているセグメント(骨)、セグメント間の接合部、そして生理學的特性を持つ筋腱から構成されています。ドライバにより動作を定義し、ユーザは外部力を加えることが可能です。システムは、この動作に伴う個々の筋力と関節力の変動を計算します。これらの情報から、腱の弾性エネルギー、代謝、筋肉活性化と拮抗筋活動などの特性が導き出されます。
AnyScriptは、AnyBodyを動かすオブジェクト指向のモデリング言語です。構文的にはJavaやC++と似ていて、JavaScriptに近い言語です。上記枠內のスクリプトは、簡単な筋の組み合わせをAnyScriptモデルで記述したプログラムの一部です。
AnyScriptはオブジェクト指向の言語のため、セグメント、関節、筋、力、そして動作などの新しい要素を容易に追加することができます。これらの要素は全て筋骨格モデルの定番パーツであり、AnyScriptではこの要素を表すクラスが事前に定義されています。
例えばセグメントを追加する場合など、AnyScriptモデルの中から相當するオブジェクトの定義をおこなうだけで実行できます。セグメントの重量など要素のプロパティは、オブジェクト定義を設定するだけで定義されます。
AnyScriptは、変數と數式によって動作するという意味で本質的にパラメトリックです。
この方法で、腕の長さを人體の身長の関數としたり、全體重に釣り合う筋力を作成したりすることが容易におこなえます。モデル寸法間の複雑な身體計測関係を、自由に定義することが可能です。
AnyFolder BodyParameters = {
AnyVar BodyMass = 75;
AnyVar Density = 1000;
}; //Bodyparameters
AnySeg Foot = {
Mass = 0.0145*.BodyParameters.BodyMass;
AnyVar Length = 0.24;
AnyVar Radius= (Mass/(3.1416*Length*.BodyParameters.Density)
)^0.5;
■ 要素の再利用
體內の多くの要素は、多くのものが類似しています。そのため、新しい要素をゼロから定義することはほとんどありません。欲しい要素は、他のモデルや現在使用しているモデル內の別の箇所から、類似するものをコピーして利用できます。コピーの方法は、オブジェクト定義を行っている行をテキストとしてコピーし、挿入したい箇所に貼り付けるだけです。
■ MatLab、Python等で操作
Anybodyではコンソール版が提供されており、MatLabのようなサードパーティのソフトから操作することができます。さらに、Pythonからですと、"AnyPyTools"というツールキットが提供され、多數AnyBody解析の自動化、結果取得と処理、及びパラメータ解析を効率的におこなうことができます。