Join members of the OpenSim Team on Wednesday July 26th for an introduction to OpenSim and new tools for rapidly developing musculoskeletal simulations.
New tools for rapidly developing musculoskeletal simulations are enabling more researchers to leverage simulations by reducing the barrier to entry and the burden of processing data. In this workshop, we will present new web-based tools that automatically calculate skeletal kinematics from video (OpenCap) or marker data (AddBiomechanics), and that can be combined with direct collocation methods to generate muscle-driven simulations. Participants will go “under the hood” with a combination of didactic portions and hands-on examples so that they can leverage and extend these open-source tools.
Please follow the instructions below to prepare for the workshop.
Install Anaconda
Anaconda is a Python distribution that includes package and environment management. It is required for the OpenCap portion of the workshop, and optional for the AddBiomechanics portion. If using Python for both, we will use Anaconda to create separate environments for the OpenCap and AddBiomechanics examples.
- Download and install Anaconda.
Part 1: OpenCap
1. Create account
- Create an OpenCap account: https://www.app.opencap.ai/.
2. Install requirements
The second demo of the OpenCap portion of the workshop may be completed in Windows, Mac, or Linux. It will require cloning/downloading the opencap-processing Github repository and setting up a Python environment using Anaconda. Follow the install instructions here or perform the following steps:
- Open the Anaconda Prompt.
Create environment (python 3.9 recommended)
(base) C:\Users\me> conda create -n opencap-processing python=3.9
Activate environment
(base) C:\Users\me> conda activate opencap-processing
Install OpenSim within environment
(opencap-processing) C:\Users\me> conda install -c opensim-org opensim=4.4=py39np120
(Optional): Install an IDE such as Spyder
(opencap-processing) C:\Users\me> conda install spyder
- Clone/download the repository to your machine
- Using Git
Navigate to the directory where you want to download the code. For example:
(opencap-processing) C:\Users\me> cd Documents
Clone the repository
(opencap-processing) C:\Users\me\Documents> git clone https://github.com/stanfordnmbl/opencap-processing.git
- Without using Git
- Download the repository by visiting https://github.com/stanfordnmbl/opencap-processing/archive/refs/heads/main.zip
- Unzip the folder
- We will assume your PATH looks like C:\Users\me\Documents\opencap-processing and that the path to the README file is C:\Users\me\Documents\opencap-processing\README.md
- Using Git
- Install required Python packages
Navigate to the repository (make sure you are in Documents)
(opencap-processing) C:\Users\me\Documents> cd opencap-processing
Install packages
(opencap-processing) C:\Users\me\Documents\opencap-processing> python -m pip install -r requirements.txt
Create environment variable for authentication, you will be prompted to provide your OpenCap credentials. An environment variable (
.env
file) will be saved after authenticating.(opencap-processing) C:\Users\me\Documents\opencap-processing> python createAuthenticationEnvFile.py
Run example.py to verify that everything was correctly installed so far. If you get some plots popping out, then you can proceed to step 10.
(opencap-processing) C:\Users\me\Documents\opencap-processing> python createAuthenticationEnvFile.py
If you're a Mac user, you can stop here. If you're on Windows or Linux, you'll need this extra step. This part of the workshop will involve running dynamic simulations of walking using OpenSimAD, which is a custom version of OpenSim with support for Automatic Differentiation (AD). OpenSimAD requires a compiler, which is not installed by default on Windows, and the OpenBLAS libraries, which you need to manually install on Linux.
(Windows only): Install Visual Studio
The Community variant is sufficient and is free for everyone.
During the installation, select the workload Desktop Development with C++.
- The code was tested with the 2017, 2019, and 2022 Community editions.
(Linux only): Install OpenBLAS libraries
sudo apt-get install libopenblas-base
Run Examples/example_walking_opensimAD.py to verify that everything was correctly installed so far. If you see some IPOPT iterations, then you're all set. We'll go through the example during the workshop.
(opencap-processing) C:\Users\me\Documents\opencap-processing> cd Examples (opencap-processing) C:\Users\me\Documents\opencap-processing\Examples> example_walking_opensimAD.py
Part 2: AddBiomechanics
1. Create account
- Create an AddBiomechanics account: https://addbiomechanics.org/.
2. Software requirements
The AddBiomechanics portion of the workshop may be completed in either Windows or Mac. On Mac, OpenSim scripting examples may only be performed in Matlab. Windows users may use Matlab or a Python conda environment for the scripting examples.
- Windows 10 or later (64-bit) or Mac (macOS 11 or later)
- Python via Anaconda
- Python 3.10
- Matplotlib
- Matlab
- Matlab 2016b or later (64-bit). Matlab 2018a or later is best.
- A text editor (e.g., Notepad++)
3. OpenSim installation
OpenSim with Python (Windows only)
- Open the Anaconda Prompt.
Create a new conda environment for Python 3.10.
(base) C:\Users\me> conda create -n addbio-processing python=3.10 matplotlib
Activate the conda environment.
(base) C:\Users\me> conda activate addbio-processing
- If paths to previous OpenSim versions exist on your PYTHONPATH environment variable, remove them and restart the shell.
Install the OpenSim conda package. This installs a version of OpenSim including Moco that is compatible with Python 3.10 and includes NumPy 1.21.
(addbio-processing) C:\Users\me> conda install -c opensim-org opensim-moco=4.4.1=py310np121
Launch a Python interpreter from your conda environment.
(addbio-processing) C:\Users\me> python
Test the OpenSim configuration by checking the timestamp from running
>>> import opensim >>> opensim.GetVersionAndDate()
in the Python interpreter; the date should be in June 2023.
OpenSim with Matlab
- Download the OpenSim 4.4.1 software.
- Windows:
- Mac:
- Install OpenSim to a location of your choice; perhaps C:\opensim-core-4.4.1 (on Windows).
- If you use Windows, edit your PATH environment variable to include OpenSim’s bin directory (e.g., C:\opensim-core-4.4.1\bin). See here for instructions. Make sure to remove any previous OpenSim installations from your PATH.
Configure OpenSim with Matlab by starting Matlab and running configureOpenSim.m, located at C:\opensim-core-4.4.1\Resources\Code\Matlab.
After the script completes, restart Matlab and test the configuration by checking the timestamp from running
>> org.opensim.modeling.opensimCommon.GetVersionAndDate()
in the Matlab command window; the date should be in July 2023.
Test that the visualizer is working by running the following:
>> cd 'C:\opensim-core-4.4.1\Resources\Code\Matlab\Moco' >> exampleSlidingMass
You should see a visualizer window appear with a sliding mass animation. Hit ESC twice to close the window.
- Note for OpenSim 3.3 users: You cannot concurrently use OpenSim 3.3 and 4.4 in Matlab; to switch versions you must re-run configureOpenSim.m and edit your PATH environment variable.
4. Download the example data
Download the example data: ExampleData.zip
Documentation
OpenSim API docs
View the OpenSim API documentation here.
Moco cheat sheet
Moco website
Visit the Moco website here.
Slides
TODO
Publications
Uhlrich SD, Falisse A, Kidzinski L, Muccini J, Ko M, Chaudhari AS, Hicks JL, Delp SL (2022) OpenCap: 3D human movement dynamics from smartphone videos. bioRxiv. https://doi.org/10.1101/2022.07.07.499061
Werling K, Bianco NA, Raitor M, Stingel J, Hicks JL, Collins SH, Delp SL, Liu CK (2023) AddBiomechanics: Automating model scaling, inverse kinematics, and inverse dynamics from human motion data through sequential optimization. bioRxiv. https://doi.org/10.1101/2023.06.15.545116
Dembia CL, Bianco NA, Falisse A, Hicks JL, Delp SL (2020) OpenSim Moco: Musculoskeletal optimal control. PLoS Comput Biol 16(12): e1008493. https://doi.org/10.1371/journal.pcbi.1008493
Workshop survey
Please fill out our post-workshop survey. Thank you!