The OpenSim software platform has a broad set of capabilities, summarized below:
Create and Edit Models
- Full-Featured and Flexible Modeling Platform. OpenSim allows you to build models of a broad range of musculoskeletal structures and many other mechanisms. Models can include any combination of rigid bodies, simple and complex joints, constraints, springs, dampers, contact, controllers, muscles, and other actuators. The graphical user interface (GUI) allows you to load and visualize your models, and edit any of their properties.
- Muscle Models. OpenSim’s Hill-type muscle models capture the active and passive force generating properties of muscles and are based on well-tested models of muscle-tendon dynamics from the literature.
- Musculoskeletal Model Library. OpenSim ships with a set of extensively validated musculoskeletal models of the upper and lower extremities. In addition to research-grade models, there are simplified models for prototyping and teaching. Our online model library includes user-contributed models.
Analyze and Simulate Models and Motions
- Tools to Import Experimental Data. OpenSim can import and visualize marker data, joint kinematics, and external forces. Our users have created and shared toolboxes compatible with several common motion capture systems.
- Model Scaling. The Scale Tool creates subject-specific musculoskeletal models based on experimentally measured data.
- Inverse Dynamics, Static Optimization, and Forward Dynamics. OpenSim has fast and robust tools for performing inverse kinematics, inverse kinetics and generating forward simulations of movement. The static optimization tool solves the muscle redundancy problem based on algorithms in the literature.
- Muscle-Driven Simulations of Motion. The Computed Muscle Control tool can generate muscle-driven forward simulations of movement. The algorithm has been used to simulate motions including walking, running, cycling, jumping, and pathological gait.
- Probe Models and Motions. OpenSim allows you to probe your models and simulations to analyze virtually any quantity of interest. For example, you can use the graphical plotter to create plots of muscle moment-arms, joint kinematics, muscle forces, and more. With the analysis and probe tools you can dive deeper to get muscle work, center of mass trajectories, and much more
- Visualization, Movies, and Images. In the OpenSim GUI, you can visualize virtually any component of your models. OpenSim supports the import of .stl and .obj files, so you can visualize geometry created in other software platforms. OpenSim also has movie and image capture tools so you can create compelling visuals for presentations and publications.
Customize Workflows and Extend the Software
- Scripting Interface for Matlab and the GUI. The full OpenSim library of models and tools is available through Matlab and GUI scripting. This allows Matlab programmers and GUI users to set up batch processing routines or extend OpenSim’s functionality, without programming in C++.
- Extensible Application Programming Interface (API). The API provides programmatic access to the underlying computational infrastructure and algorithms employed by the graphical interface. This enables users with programming skills to write their own programs and OpenSim plug-ins. In this way, they can combine existing functionality in new ways and develop new model components (e.g., new controllers and muscles) and analyses tailored for their specific research questions. Plug-ins are accessible through the graphical interface and are a convenient way of sharing technical innovations with others.
- Fast and Robust Dynamics Engine. OpenSim is built on the fast and robust Simbody dynamics engine. Simbody is free and open source and includes its own set of documentation and examples.