OpenSimとは — 開発背景と特徴
OpenSimは、スタンフォード大学のNIH指定センターであるNCSRR(Simulation in Rehabilitation Research)が中心となって開発している、筋骨格動力学シミュレーションのためのオープンソースソフトウェアです[1]。2007年にIEEE Transactions on Biomedical Engineeringで発表され、以降、動作解析から筋張力推定、治療計画の評価まで幅広い分野で使われてきました。
オープンソースで誰でも使える
OpenSimの大きな特徴は、商用ライセンス費用がかからないオープンソースであることです。数値計算の基盤にはSimTKが使われており、GUIから直感的に操作できるほか、Python・MATLAB・C++のAPIを通じてバッチ処理やカスタム解析にも対応します。公式サイトでは、世界中の数百の研究チームに利用されていると説明されています[2]。
最新バージョン
GitHubで公開されている`opensim-core`リポジトリでは、2025年4月22日に4.5.2がリリースされるなど、現在も活発にメンテナンスされています[3]。4.x系では従来のGUIに加え、Python APIやOpenSim Mocoなど周辺ツールが充実し、ワークフロー全体をスクリプトで自動化できるようになりました。
研究と臨床をつなぐ設計思想
OpenSimは当初から、病的歩行の原因分析や手術・治療計画の評価など、研究と臨床応用を橋渡しする目的で設計されてきました[1]。単なる解析ツールではなく「被験者ごとのモデルを作り、そのモデル上で仮説を検証する」ためのプラットフォームという位置づけです。
筋骨格モデルの構造
OpenSimで使う筋骨格モデルは、骨格セグメント・関節・筋腱ユニットの組み合わせで構成されます。要素ごとに見ていきましょう。
Hill型筋モデル
筋張力の推定には、生理学に基づくHill型筋モデルが使われます。Zajacが1989年にまとめた総説は、筋腱を「中枢神経系と骨格をつなぐインターフェース」として整理し、Hill型モデルを現代の筋骨格シミュレーションの基礎として位置づけました[4]。
OpenSimでは、Hill型を実装した複数の筋モデルが選べます。Millardらは2013年に、弾性腱付き平衡モデル・減衰平衡モデル・剛体腱モデルの3種類を比較し、計算速度と精度のトレードオフを明らかにしました[5]。研究目的によって使い分けができる設計になっています。
代表モデル1: Gait2392
もっとも広く使われているのが、下肢歩行解析向けのGait2392モデルです。公式ドキュメントによれば、23自由度の3次元モデルで、92本の筋腱アクチュエータ(76筋)で下肢と体幹を表現します[6]。健常者の歩行解析の標準モデルとして、多くの研究で採用されています。
代表モデル2: Arnold 2010
Arnoldらが2010年に発表した下肢モデルは、21体の献体から得られた筋アーキテクチャデータを反映し、44本の筋腱コンパートメントで下肢を詳細に表現しています[7]。Gait2392より解剖学的な再現性が高く、臨床研究でよく選ばれます。
代表モデル3: Rajagopal 2016
より新しい全身モデルとしては、Rajagopalらが2016年に発表したフルボディ歩行モデルがあります。37自由度を持ち、下肢は80本の筋腱ユニット、上半身は17個のトルクアクチュエータで表現されます[8]。走行を含む高強度動作まで対応できる設計で、スポーツ応用でも広く使われています。
OpenSimの解析パイプライン
OpenSimでの動作解析は、おおむね以下の流れで進みます。公式チュートリアルでは各ステップの役割が明確に定義されています[9]。
| ステップ | 役割 | 入力 | 出力 |
|---|---|---|---|
| 1. スケーリング | 汎用モデルを被験者の体格に合わせる | 静止姿勢のマーカー位置、身長・体重 | 被験者固有モデル |
| 2. 逆運動学 | 関節角度を推定 | マーカー軌跡 | 関節角度(キネマティクス) |
| 3. 逆動力学 | 関節モーメントを算出 | 関節角度、床反力 | 関節モーメント・関節反力 |
| 4. 静的最適化 | 筋張力を推定 | 関節モーメント | 各筋の張力・活性化 |
| 5. CMC / Moco | 順動力学シミュレーション | モデル+実験データ | 筋活動パターン、運動軌跡 |
スケーリング・逆運動学・逆動力学
最初の3ステップは、計測データからモデル上で動きを再現する基礎工程です。スケーリングは汎用モデルを被験者の体格に合わせる作業、逆運動学はマーカー軌跡から関節角度を計算する工程、逆動力学は関節角度と床反力から正味の関節反力・関節モーメントを算出する工程として整理されています[9]。ここまでの段階は、キネマティクス+キネティクスの標準的な動作解析に相当します。
静的最適化とCMC
OpenSimの真価が発揮されるのは、筋レベルの解析に入ってからです。静的最適化は、関節モーメントを満たす筋張力の組み合わせをフレームごとに解く手法で、最も使われる筋力推定法のひとつです。より高度な手法として、Thelen and Andersonが2006年に発表したCMC(Computed Muscle Control)があります。CMCは筋励起を調整しながら実験の関節運動を追従させ、筋冗長性の解消に一般的な静的最適化の枠組みを使う仕組みです[10]。
OpenSim Moco
2020年にDembiaらが発表したOpenSim Mocoは、筋骨格系の最適制御問題を直接コロケーション法で解く拡張ツールです[11]。従来は専門的な最適化フレームワークが必要だった動作予測・最適化シミュレーションを、OpenSimのモデルを使いながら実行できるようになりました。
精度検証と限界
OpenSimの出力をどこまで信頼してよいかは、モデルと解析条件によって変わります。査読論文での検証結果をいくつか紹介します。
歩行・走行での検証
Rajagopalらが2016年に発表したフルボディモデルでは、健常歩行と走行のシミュレーション結果が、逆動力学で求めた関節モーメントとピーク値で3%以内のRMSE誤差に収まりました。筋活動も実験EMGの主要パターンと定性的に一致しており、muscle-drivenシミュレーションの精度を裏付ける結果となっています[8]。
個別化モデルの重要性
Banksらは2022年、OpenSimにEMG最適化を組み込んだ被験者固有モデルを評価し、「個別化モデルが一般的な静的最適化より妥当な内部力学推定に必要」と結論しています[12]。汎用モデルをそのまま使うと、被験者の体格や筋特性の違いが誤差として残るため、計測したEMGや画像データでモデルを調整する価値が大きいわけです。
限界 — モデル依存の推定値
筋張力や活性化の推定値は、選んだ筋骨格モデル、個体差、EMGの日差変動、最適化の設定条件に大きく依存します。OpenSimの出力は直接計測の代替ではなく、あくまでモデル前提の下での推定値として扱う必要があります[9][11]。論文発表や臨床判断に使う際は、前提条件と検証範囲を明記することが重要です。
活用事例 — スポーツ、リハビリ、マーカーレス連携
臨床応用
NCSRRの公式説明では、脳性麻痺、脳卒中、脊髄損傷、変形性関節症、義肢・装具、スポーツ医学といった幅広い臨床分野でOpenSimが使われていると明示されています[2]。とくに病的歩行の原因分析や手術前後の治療計画評価では、被験者固有モデルを使ったシミュレーションの意義が示されてきました[1]。
スポーツ動作解析
Rajagopalらの全身モデルは、健常歩行だけでなく走行を含む高強度動作のmuscle-drivenシミュレーションで精度が検証されています[8]。陸上競技、自転車競技、野球投球など、さまざまなスポーツ動作の筋張力推定がOpenSimを使って進められています。
マーカーレスモーションキャプチャーとの連携
近年注目されるのが、AI姿勢推定(マーカーレス)とOpenSimを組み合わせたワークフローです。Pagnonらが2022年に発表したPose2Simは、OpenPoseなどで得たマーカーレス2D姿勢推定の結果を、OpenSimのフルボディ逆運動学モデルに入力できるオープンソースパイプラインです。歩行・走行・自転車の検証では、角度誤差が3〜4度程度に収まることが報告されました[13]。従来の光学式モーションキャプチャーがなくても、カメラだけで筋骨格解析まで到達できる道が開けつつあります。
MYoACTやTheia3D、KinaTraxといった商用マーカーレスサービスも、同じ流れで筋骨格解析との連携を深めています。
