Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

















OpenSim Moco is a software package for solving common problems in simulation biomechanics including tracking simulations, predictive simulations, muscle-redundancy problems, and more. Moco brings state-of-the-art direct collocation optimal control methods to the wider biomechanics community without requiring numerical expertise to solve complex problems. Moco leverages OpenSim’s existing modeling capabilities to allow you to seamlessly make the transition from model building to simulation a seamless process in your research.

...

  1. Download the OpenSim 4.3 beta software from SimTK.
    1. Go to the "Download Latest Releases" dropdown menu.
    2. Choose the option labeled "OpenSim Release Betas" that matches your platform ending in win64.exe (Windows) or mac.pkg (macOS).
  2. Install OpenSim to a location of your choice; perhaps C:\OpenSim 4.3 (on Windows).
  3. If you use Windows, edit your PATH environment variable to include OpenSim’s bin directory (e.g., C:\OpenSim 4.3\bin). See here for instructions. Make sure to remove any previous OpenSim installations from your PATH.
  4. Run the OpenSim application to open the GUI. If the instructions below do not work, go the OpenSim executable in the bin folder and launch it from there.  
    1. Windows: open the Start menu and click OpenSim 4.3
    2. macOS: go to Applications and click OpenSim 4.3
  5. A prompt will appear to install the OpenSim resources to a location of your choice; perhaps C:\Users\<PROFILE_NAME_HERE>\Documents\OpenSim\4.3 (on Windows; replace <PROFILE_NAME_HERE> with your Windows profile name). These resources include the workshop example files.  We will refer to this directory as <RESOURCES_DIR> in the remaining instructions below.


Matlab

  1. Configure OpenSim with Matlab by starting Matlab and running configureOpenSim.m, located at Code\Matlab in the OpenSim resources folder; perhaps C:\Users\<PROFILE_NAME_HERE>\Documents\OpenSim\4.3<RESOURCES_DIR>\Code\Matlab (on Windows; replace <PROFILE_NAME_HERE> with your Windows profile name).

  2. After the script completes, restart Matlab and test the configuration by checking the timestamp from running 

    Code Block
    >> org.opensim.modeling.opensimCommon.GetVersionAndDate()

     in the Matlab command window; the date should be in July 2021. Test that the visualizer is working by running the following:

    Code Block
    >> cd 'C:\Users\<profile>\Documents\OpenSim\4.3\Code\Matlab\Moco'
    >> exampleSlidingMass

    You should see a visualizer window appear with a sliding mass animation. Hit ESC twice to close the window.

  3. Note for OpenSim 3.3 users: You cannot concurrently use OpenSim 3.3 and 4.3 in Matlab; to switch versions you must re-run configureOpenSim.m and edit your PATH environment variable.

...

  1. If paths to previous OpenSim versions exist on your PYTHONPATH environment variable, remove them. (If you used OpenSim 4.2 with Python, this step is likely necessary.)
  2. Download Anaconda.
  3. Download the Anaconda environment file (conda_env_tgcs2021.yml) and place it directory of your choice; perhaps C:\Users\<PROFILE_NAME_HERE>\Documents\OpenSim\4.3\Code\Python (on Windows; replace <PROFILE_NAME_HERE> with your Windows profile name)<RESOURCES_DIR>\Code\Python. This environment includes the following packages:
    1. Python 3.8
    2. NumPy 1.20.2
    3. Matplotlib
    4. Spyder (Python IDE)
  4. Open the Anaconda Prompt (terminal on macOS).
  5. Before proceeding, you may need to initialize conda for shell interaction by running

    Code Block
    C:\> conda init <shell-name>

    where <shell-name> is one of the following: cmd.exe (Windows default), bash (macOS default), powershell, fish, zsh, tcsh, xonsh.

  6. Navigate to the location of the Anaconda environment file. For example, if using cmd.exe on Windows:

    Code Block
    C:\> cd "C:\Users\<profile>\Documents\OpenSim\4.3\Code\Python"


  7. Create the environment from the file:

    Code Block
    C:\> conda env create -f conda_env_tgcs2021.yml


  8. Deactivate any existing environments and activate the Moco workshop environment. The prefix "opensim_moco_tgcs2021" should now appear in the Anaconda Prompt.

    Code Block
    (base) C:\> conda deactivate
    C:\> conda activate opensim_moco_tgcs2021
    (opensim_moco_tgcs2021) C:\>


  9. Navigate to folder sdk\Python in the OpenSim 4.3 installation; perhaps C:\OpenSim 4.3\sdk\Python (on Windows).
  10. If using Windows, first run the following:

    Code Block
    (opensim_moco_tgcs2021) C:\> python setup_win_python38.py


  11. Install OpenSim by running

    Code Block
    (opensim_moco_tgcs2021) C:\> python -m pip install .


  12. If using macOS, you may need to update the DYLD_LIBRARY_PATH to include the OpenSim and Simbody libraries:

    Code Block
    $ export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:<YOUR_INSTALL_DIRECTORY_HERE>/sdk/lib"
    $ export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:<YOUR_INSTALL_DIRECTORY_HERE>/sdk/Simbody/lib"

    where <YOUR_INSTALL_DIRECTORY_HERE> is the directory where you placed OpenSim installation.

  13. Once installation completes, test the configuration by checking the timestamp from running 

    Code Block
    (opensim_moco_tgcs2021) C:\> python
    >>> import opensim as osim
    >>> osim.GetVersionAndDate()
    >>> quit()

    in the Anaconda Prompt; the date should be in July 2021. Test that the visualizer is working by running the following

    Code Block
    (opensim_moco_tgcs2021) C:\> cd "C:\Users\<profile><PROFILE_NAME_HERE>\Documents\OpenSim\4.3\Code\Python\Moco"
    (opensim_moco_tgcs2021) C:\> python exampleSlidingMass.py

    You should see a visualizer window appear with a sliding mass animation. Hit ESC twice to close the window. If you get an error about loading DLL failure check that PATH has been updated correctly before relaunching the shell.

  14. The workshop examples can be complete by using a text editor and running the scripts from the Anaconda Prompt via "python <script_name>.py". However, if you prefer using an interactive development environment (IDE) similar to Matlab, we've included the Spyder IDE in the Anaconda environment. Launch Spyder by simply running

    Code Block
    (opensim_moco_tgcs2021) C:\> spyder

...


Workshop examples

The examples for the hands-on portion of the workshop can be located in the following directories.

IMU-tracking example

Code Block
(Matlab) <RESOURCES_DIR>/Code/Matlab/Moco/exampleSquatToStand/exampleIMUTracking
(Python) <RESOURCES_DIR>/Code/Python/Moco/exampleSquatToStand/exampleIMUTracking

EMG-tracking example

Code Block
(Matlab) <RESOURCES_DIR>/Code/Matlab/Moco/exampleEMGTracking
(Python) <RESOURCES_DIR>/Code/Python/Moco/exampleEMGTracking

Each directory contains the example file with code portions removed that you will fill in during the workshop. There are also files ending in "_answers" that have the answers pre-filled in, if you prefer to follow along with that instead. The Python versions of the examples contain an extra file ending in "_helpers", containing helper functions for these examples; the same helper functions for the Matlab examples are located at the bottom of each example file.

OpenSim/Moco docs

View the Doxygen here.

Slides and cheat sheet

View file
nameOpenSimMocoWorkshopTGCS2021.pdf
height250
View file
nameMocoCheatSheet.pdf
height250

...

Visit the Moco website here.

Moco publication

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

View file
namejournal.pcbi.1008493.pdf
height250

...

Workshop survey

Please fill out our TODO. Thank  post-workshop survey.  Thank you!