はじめに
アスリートのパフォーマンスや、筋肉への負担を解析するには、筋繊維から生じる活動電位を記録する筋電計が用いられることが多いです。
しかしながら筋電計を使用するためには、機器の設定や、計測対象となる身体部位へのセンサ貼付など、多くの労力、時間、ノウハウが必要になります。
また、様々な年代の人たちや体格の違いがある人たちに対して、ある動きに対する筋肉の負担を計測したい場合もあるかと思います。そのような場合、条件に適合する人たちを一定数集めた上で、個々人を筋電計で計測するのは非常に困難であることは想像に難くありません。
近年、人間の構造や機能を、コンピュータ上で様々な年齢や体格の人物をデジタルヒューマンとして再現して、筋肉や骨の動きをシミュレーションし、安全かつ容易に、特定の動作に対する身体への影響を把握する動きがあります。
例えば、自動車搭乗時の身体的負担を軽減することを目的として、デジタルヒューマンシミュレータを活用して自動車の内装設計に活用しているカーメーカーもあります。
このデジタルヒューマンを用いてシミュレーションを行うソフトウェアは、筋骨格モデルシミュレータと呼ばれ、オープンソースとして広く公開されているものから、高精度といった特徴を掲げる商用のものまで複数存在します。
これまで複数の筋骨格シミュレータを使用してきましたが、筋骨格モデルシミュレータの特徴は様々であり、目的に合致する筋骨格モデルシミュレータを選択することが非常に重要であると考えています。
ところが、筋骨格シミュレータの特徴を取り扱った初級者用のドキュメントはあまり存在せず、初級者が筋骨格シミュレータを選択するための調査は、少しハードルが高いように感じていました。
このようなことから、本稿では筋骨格シミュレータ初級者を想定し、既存のいくつかの筋骨格モデルシミュレータおよび、参考としてロボット用動力学シミュレータであるChoreonoidに関して、その特徴とそのシミュレータに触れた感想をコメントとして記述しています。
OpenSIM
[開発元]
[特徴]
- スタンフォード大学で開発開始された
- オープンソースで、ソースコードが入手可能(ライセンス: Apache 2.0)
- クロスプラットフォーム(Windows, Mac, Linux)
- APIが公開されているため、自作アプリへの組み込みが比較的容易
- 比較的公開ドキュメントが整備されている
- モデルデータやモーションキャプチャデータ、ユーティリティがコミュニティで入手可能
[コメント]
- 筋骨格シミュレータの知見を得たい時は、まずはOpenSIMから!
- 使いこなせればかなり強力で、気にいらない部分はソースを修正して自分だけのOpenSimを作ることも可能
- 名称がよく似たソフトとして、仮想環境を作成するOpenSimulatorがあるため、注意(略してOpenSimなどとされることもあり、ややこしい)
DhaibaWorks
[開発元]
[特徴]
- リアルタイム逆運動学
- 人体の骨格構造を再現したリンク構造モデルと、表皮形状を再現した人体機能モデル"DhaibaBodyを用いてシミュレーション
- 手のひらのみのモデル(DhaibaHand)も存在
- プラグインなどで拡張可能
- 日本発で、マニュアルやUIが日本語
- 日本人成人男女モデルがあらかじめ用意されているので、日本人により適した製品開発に役立てられる
[コメント]
- UIが充実しており、直観的な操作ができそうでユーザビリティに優れてそう
SIMM
[開発元]
(以前はMusculographics Inc. でしたが、ホームページを発見できませんでした。その後、社内メンバーから共有してもらったURLを掲載しておきます。)
[特徴]
- 筋肉の設定や骨の変形など、モデル作成と変更が容易に実施可能なGUIが用意されている
- 人体以外に、動物や昆虫等の筋骨格モデルの作成も可能
- 動力学計算部分のソースコードを出力できるので、筋肉モデルや筋力計算アルゴリズム等をカスタマイズ可能
- 他ソフトウェアからデータの入出力、運動を独自に構築可能
- 床反力も計算、表示可能で、フォースプレートがなくても逆動力学の計算がある程度可能
[コメント]
- クルマと人間の衝突時の衝撃も計算可能で、カーメーカーも活用しているとのこと
Anybody Modeling System
[開発元]
[特徴]
- 全身モデルがある程度最初から用意されており、外部からの力や道具を自由に追加可能
- 精度を重視し、筋骨格モデルが詳細、精巧に作成されている
- AnyScriptと呼ばれるスクリプト言語を用い、関節を屈曲するなどの動きや条件を設定可能
- AnyBodyの開発元が、実測と比較する検証作業を定期的に実施、その論文を公開しているため、信頼性を使用前確認可能
- 床反力推定機能により、フォースプレートを使用不可能な場合においても床反力の算出が可能
[コメント]
- 独自スクリプトによる動作制御や、定期的な精度検証など、機能のかなりの充実と高い精度の維持に注力しているという印象
Choreonoid
[開発元]
[特徴]
- ロボット用統合GUIシミュレータ
- オープンソースでソースコードを入手可能(MITライセンス)
- 動力学シミュレータとしての使用も可能
- 物理エンジンは産総研では開発されたAISTエンジンを使用で、他のODEやPhysXなどの物理エンジンと切り替え可能
- ROSとの連携も可能
- カメラやレーザーレンジセンサとしった視覚系センサのシミュレーション機能も装備
[コメント]
-
ChoreonoidのHPのドキュメントも比較的充実しており、ロボット動作の入門には適している
-
コレオノイド開発者の中岡慎一郎さんには、仕様に関する相談で多大なご協力をいただき、感謝申し上げます
まとめ
これまで述べた通り、筋骨格シミュレータは複数あり、それぞれ特徴を持ちます。
例えば、無料のシミュレータは、手軽にダウンロードして使用する事ができる半面、中には、ユーザビリティや、信頼性への懸念が存在するソフトもあります。
対して、有料のシミュレータはユーザビリティや精度、信頼性は高い傾向があり、かつ、購入元からのサポートを受けられることも多いですが、数百万円する高額なソフトも珍しくありません。
自身の目的をしっかり確認した上で適切なシミュレータを選択することが重要であると考えます。
本ドキュメントが、初級者の筋骨格シミュレータを選択するための一助となれば幸いです。