NOTE: This repository contains the source code of OpenSim 4.x. For OpenSim 3.x or earlier, see this link.
OpenSim is software that lets users develop models of musculoskeletal structures and create dynamic simulations of movement, such as this one:
More information can be found at our websites:
- OpenSim website, in particular the support page.
- SimTK project website.
This repository contains:
- OpenSim's C++ libraries.
- OpenSim's C++ examples.
- OpenSim's command-line applications (inverse kinematics, computed muscle control, etc.).
- OpenSim's Java and Python bindings.
This repository does not include source code for the OpenSim GUI. The source code for the Opensim GUI can be found here.
Download and Setup
Depending on your needs, there are different ways of downloading and setting up OpenSim:
- OpenSim GUI
- Matlab and Python Scripting
- Scriptiong in Conda
- C++ Development
- Build Instructions for Windows, macOS, and Linux (Ubuntu and Debian).
- Developer's Guide
- API Reference
- Looking for help?
Documentation
OpenSim's documentation can be found in our Documentation website. OpenSim's C++ API reference can be found here.
A simple example of an elbow simulation in C++, Python and Matlab can be found in the OpenSim API Example page of this repository's wiki.
Examples and Tutorials for OpenSim can be found in the Examples and tutorials website. These tutorials move from introductory to more advanced, so you can learn OpenSim in a progressive way. Additional OpenSim-based tutorials, homework problems, and project ideas are available on the Biomechanics of Movement classroom site.
Releases
This repository contains releases for OpenSim 4.x. You can find all of the OpenSim's releases in the Releases page of this repository.
Build instructions
We provide scripts to build OpenSim on Windows, macOS and Linux (Ubuntu and Debian). The instructions to download and execute the scripts can be found in the Build Instructions page of this repository's wiki.
Contribute
There are many ways in which you can participate in this project. For example:
- Report bugs and request features by submitting a GitHub Issue.
- Ask and answer questions on our Forum.
- Review and test new Pull Requests.
- Review the Documentation and the Wiki by reporting typos, confusing explanations and adding/suggesting new content.
- Fix bugs and contribute to OpenSim's source code by creating a Pull Requests.
Please, read our Developer's guide, Developer's Guidelines and our Code of Conduct before making a pull request.
License
Licensed under the Apache License, Version 2.0. See the full text of the Apache License, Version 2.0 for more information. This license makes OpenSim suitable for commercial, government, academic, and personal use.
Third-party components have their own licenses. see our Notice, and Acknowledgements webpages for more information.
How to acknowledge us
Acknowledging the OpenSim project helps us and helps you. It allows us to track our impact, which is essential for securing funding to improve the software and provide support to our users (you). If you use OpenSim, we would be extremely grateful if you acknowledge us by citing the following paper:
Seth A, Hicks JL, Uchida TK, Habib A, Dembia CL, et al. (2018) OpenSim: Simulating musculoskeletal dynamics and neuromuscular control to study human and animal movement. PLOS Computational Biology 14(7): e1006223. https://doi.org/10.1371/journal.pcbi.1006223
If you use plugins, models, or other components contributed by your fellow researchers, you must acknowledge their work as described in the license that accompanies each of these files.
Funding
The OpenSim project is currently supported by the following:
- United States National Institutes of Health (NIH)
- Mobilize Center (P41 EB027060)
- Restore Center (P2C HD101913)
- Wu Tsai Human Performance Alliance
Past funding includes the following grants and contracts:
- United States National Institutes of Health (NIH)
- Simulation of Biological Structures (Simbios; U54 GM072970)
- Simulation in Rehabilitation Research (NCSRR; R24 HD065690, P2C HD065690)
- Mobilize Center (U54 EB020405)
- United States Defense Advanced Research Projects Agency (DARPA)
- Warrior Web (W911QX-12-C-0018)