---
title: "OpenSim: Open-Source Software to Create and Analyze Dynamic Simulations of Movement"
title_ru: "OpenSim: программный комплекс для симуляции мышечно-скелетной динамики движения"
authors: [Delp, Anderson, Arnold, Loan, Habib, John, Guendelman, Thelen]
year: 2007
venue: "IEEE Transactions on Biomedical Engineering"
venue_tier: "Q1"
doi: "10.1109/TBME.2007.901024"
tags: [opensim, musculoskeletal, biomechanics, simulation, kinematics, kinetics, validation]
relevance_to_smartrep: 3
direction: "🅲"
---

# OpenSim: Эталонный симулятор мышечно-скелетной динамики

## TL;DR (≤3 предложения)

OpenSim — open-source платформа для создания и анализа динамических симуляций движения человека: от кинематики до мышечных активаций через обратную динамику. Стандарт де-факто в биомеханике для вычисления суставных моментов, мышечных сил и энергозатрат из motion capture данных. Для SmartRep: OpenSim — gold standard валидации; OpenCap (2023) обеспечивает OpenSim pipeline из видео, что открывает безмаркерный анализ упражнений.

## Проблема

Биомеханический анализ движения (joint moments, muscle forces, энергозатраты) требует специализированных симуляторов. Ручной расчёт обратной динамики для 53+ DOF системы невозможен без программных инструментов. Нужна validated open-source платформа.

## Гипотеза / вклад

- **Полный pipeline:** маркеры → scaling → inverse kinematics → inverse dynamics → muscle optimization.
- **Мышечно-скелетные модели:** библиотека анатомических моделей (Gait2392, Full Body Running, ARMS и т.д.).
- **API и расширяемость:** C++ plugin API, Python/MATLAB интерфейсы.
- **Seth et al. 2018** (PLoS CB) — масштабируемая архитектура для современных multi-body моделей.

## Метод

### Inverse Kinematics

Минимизация: $\min_q \sum_i w_i \|x_i^{marker} - x_i^{model}(q)\|^2$

где $q$ — обобщённые координаты (joint angles), $x_i^{marker}$ — позиции маркеров.

### Inverse Dynamics

$$\tau = M(q)\ddot{q} + C(q, \dot{q}) + G(q)$$

— суставные моменты $\tau$ из кинематики.

### Static Optimization

$$\min_{a} \sum_j a_j^n \quad \text{s.t.} \quad \tau = R(q) F(a, l, v)$$

где $a$ — мышечные активации, $F$ — мышечные силы (Hill model), $R$ — момент-плечи.

### Архитектура (Mermaid)

```
Motion Capture markers → Scale model to subject
         ↓
Inverse Kinematics → q(t), dq/dt, d²q/dt²
         ↓
Inverse Dynamics → joint moments τ(t)
         ↓
Static Optimization → muscle activations a(t)
         ↓
Outputs: joint moments, muscle forces, EMG predictions, metabolic cost
```

## Датасеты

| Применение | Метрика | OpenSim результат |
|---|---|---|
| Gait analysis | Joint moment RMSE | <3% body weight × height |
| Running | Peak knee moment | 0.91 correlation с force plate |
| Squat analysis | Hip/knee/ankle moments | Validated vs EMG |

## Сравнение с SOTA

OpenSim vs AnyBody: OpenSim open-source, AnyBody коммерческий с более детальными мышечными моделями. OpenSim vs BoB (Biomechanics of Bodies): OpenSim имеет большую community. Для исследований: OpenSim стандарт де-факто (~10K+ citations).

## Ограничения / слабости

- Требует маркерных данных (традиционный pipeline) — дорого, лабораторные условия.
- Scaling model на каждого субъекта — ручная работа.
- Не real-time (~минуты на обработку одного гейта).
- OpenCap (2023) частично решает проблему маркеров через видео.

## Релевантность SmartRep

- **Gold standard 🅲:** OpenSim — reference для валидации joint angles из нашей pose estimation модели. SmartRep joint angles vs OpenSim joint angles = метрика точности.
- **Биомеханические метрики:** joint moments (пиковый момент колена при приседе) как target метрика качества техники — вычислить через OpenSim на размеченном датасете, использовать как GT.
- **Мышечные активации:** предсказанные EMG-подобные активации из OpenSim → обучающий сигнал для biomechanics-informed качества техники.
- **OpenCap integration:** OpenCap (видео → OpenSim) позволяет получить биомеханически значимые метрики без lab-grade оборудования → реалистичный pipeline для SmartRep датасета.

## Gap для нас

OpenSim не работает в real-time и требует lab setup. **Ниша SmartRep:** OpenSim как offline annotation tool — прогнать размеченные упражнения через OpenCap → OpenSim, получить joint moments как biomechanical GT, обучить lightweight regressor в SmartRep предсказывать эти моменты из 2D видео. Real-time proxy для OpenSim-level биомеханики.

## Код / данные

- OpenSim: opensim.stanford.edu (open-source, Apache 2.0)
- Модели: simtk.org/projects/opensim
- Python API: github.com/opensim-org/opensim-core

## Цитата (BibTeX)

```bibtex
@article{delp2007opensim,
  title={OpenSim: open-source software to create and analyze dynamic simulations of movement},
  author={Delp, Scott L and Anderson, Frank C and Arnold, Allison S and Loan, Peter and Habib, Ayman and John, Chand T and Guendelman, Eran and Thelen, Darryl G},
  journal={IEEE transactions on biomedical engineering},
  volume={54},
  number={11},
  pages={1940--1950},
  year={2007},
  publisher={IEEE}
}

@article{seth2018opensim,
  title={OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement},
  author={Seth, Ajay and Hicks, Jennifer L and Uchida, Thomas K and Habib, Ayman and Dembia, Christopher L and Dunne, James J and others},
  journal={PLOS Computational Biology},
  volume={14},
  number={7},
  year={2018}
}
```
