Versions Compared


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

Table of Contents


The tutorial below is designed for use with OpenSim version 4.0 and later. A version of the tutorial compatible with OpenSim version 3.3 is available here.

I. Objectives


The purpose of this tutorial is to demonstrate how OpenSim solves an inverse kinematics and dynamics problem using experimental data. To diagnose movement disorders and study human movement, biomechanists frequently ask human subjects to perform movements in a motion capture laboratory and use computational tools to analyze these movements. A common step in analyzing a movement is to compute the joint angles and joint moments of the subject during movement. OpenSim has tools for computing these quantities:


II. Generic Musculoskeletal Model


In this tutorial, you will be using a generic musculoskeletal model with 23 degrees of freedom and actuated by 54 muscles entitled 3DGaitModel2354.
Note: Detailed information about the model can found on the Gait2392 and 2354 Models page

To load the generic musculoskeletal model into OpenSim:

  • Click the File menu and select Open Model.
  • Find the Gait2354_Simbody folder in your default OpenSim resources directory— \Documents\OpenSim\Models for PC and Mac.  
    Note: When you first launch OpenSim, you are prompted to provide a path to install the resources folder, the default is in your systems Documents folders.
  • Open the Gait2354_Simbody folder, select the file gait2354_simbody.osim, and click Open.


III. Scaling A Musculoskeletal Model


Subject-specific modeling involves (i) scaling a generic musculoskeletal model to modify the anthropometry, or physical dimensions, of the generic model so that it matches the anthropometry of a particular subject and (ii) registering the markers placed on the model to match the locations on the subject. Scaling and Registration are the most important steps in solving inverse kinematics and inverse dynamics problems because IK and ID solutions are sensitive to the accuracy of the scaling and registration.

To scale the generic model and register the markers: 

  • Click the Tools menu and select Scale Model.

  • At the bottom of the Scale Tool dialog, click Load to input a settings file.

  • In the file browser, ensure that you are in the Gait2354 folder, select the file subject01_Setup_Scale.xml and click Open.

This Scale Setup file is an xml file that contains pre-configured settings to scale and register the generic gait2354 musculoskeletal model to the dimensions of a subject that we have experimental data for. A detailed explanation of the Scale Tool can be found on the Scaling page of the documentation.

Model Scaling

In OpenSim, the scaling step adjusts both the dimensions of the body segments, as well as the mass properties (mass and inertia tensor). Scaling can be performed using a combination of two methods:

(1) Manual Scaling: Scaling that allows the user to scale a segment based on some predetermined scale factor. Manual scaling is sometimes necessary when suitable data are not available, or if the scale factors were determined using an alternative algorithm.

(2) Measurement-based Scaling: Scaling that determines scale factors for a body segment by comparing distance measurements between specified landmarks on the model, known as model markers, and the corresponding experimental marker positions. 

Marker Registration

In OpenSim, the registration step adjusts the location of model markers to match the location of markers on the subject. To do this, you must first estimate a pose for the model that closely resembles the pose of the subject during the experimental static trial.

To complete the scale step:

  • In the Scale Tool dialog, click Run.

  • When complete, a new, scaled and registered model entitled subject01 will appear in Visualizer window. Notice the pink model markers around the new model. 

  • To save the scaled model, either click File and select Save Model, or right-click on the model name, subject01, in the Navigator window, and select Save As.
  • Save the scaled model as gait2354_scaled.osim, and click Save.
    Note: ensure that you are in the Gait2354 folder.

  • Once you have answered Questions 1-5, below, close the Scale Tool Dialog by clicking Close. At this point, you may close the generic model (right-click the model name in the Navigator window, and select Close) or hide the model (right-click the model name, and select Display -> Hide).



1. Based on information in the Scale Tool dialog, what is the mass of the generic musculoskeletal model? What was the mass of the subject?


To set up an inverse kinematics analysis:

  • Open the Inverse Kinematics Tool dialog window by clicking the Tools menu and selecting Inverse Kinematics.
  • Load an inverse kinematics tool setup file by clicking Load, selecting the file subject01_Setup_IK.xml, and clicking Open.
    Note: In the file browser, ensure that you are in the Gait2354_Simbody folder,

subject01_Setup_IK.xml contains pre-configured settings for the inverse kinematics tool. Notice the text boxes in the dialog window are now filled with values. A detailed explanation of the Inverse Kinematics Tool can be found on the Inverse Kinematics page of the documentation.


Navigate to the Weights tab.

  • View which markers are selected for use in the inverse kinematics analysis, and their corresponding weights.

  • Enable the tracking for the marker R.Knee.Lat. Notice the row turns red and the Run button is now greyed out. You will be unable to run the inverse kinematics tool because there is no experimental data found for the R.Knee.Lat marker in the subject_walk1.trc file. Disable the R.Knee.Lat marker and notice the Run button is now clickable.

To perform inverse kinematics:

  • Click Run. The model will begin to move as the inverse kinematics problem is being solved for each frame of the experimental data.

  • Notice the progress bar in the lower right-hand corner of the program. Wait until the bar disappears before proceeding. 
    Note: Closing the inverse kinematics tool dialog during the analysis doesn't affect the Inverse Kinematics tool running.
  • To visualize the inverse kinematics solution, animate the model by using the motion slider and video controls. The model should walk through one full gait cycle. 
    NoteYou can loop and control the speed of the animation.

  • The inverse kinematics solution is saved to subject01_walk1_ik.mot, as specified in the setup file. 
    Note: Be sure to use the exact file name given, as this file is used later.

  • To compare experimental marker data with inverse kinematics results, in the Navigator panel, go to Motions and right-click on IKResults (which are what the Inverse Kinematics Tool just generated). Then choose Associate Motion Data... from the drop-down menu. Choose subject01_walk1.trc and click Open. Model markers are shown in pink and experimental markers are shown in blue. Hit play in the Motion Toolbar. The virtual markers should correspond closely to the experimental marker locations as the animation proceeds. 

  • Click the Window menu and select Messages. The Messages window records details of all steps you have performed. Take a minute to explore the Messages window. Then, scroll to the very bottom. The line above InverseKinematicsTool completed... provides the markers errors and model coordinate errors (e.g., joint angle errors) associated with the last frame of the motion.
    Note: All marker errors have units in meters, and all coordinate errors have units in radians.

  • Once you have answered Questions 4-6, below, close the Inverse Kinematics Tool Dialog by clicking Close.


4. In the Inverse Kinematics Tool dialog window, click the Weights tab and scroll through the list of markers in the top half of the weights tab. Which markers have weighting values less than one? Why?
Hint: Think about joints that have not been modeled.


9. What are the maximum magnitudes of the residual forces? Using the mass of the subject from Question 1, what fraction of body weight are the maximum residual forces? 


The experimental gait data were collected by Jill Higginson and Chand John in the Neuromuscular Biomechanics Lab at the University of Delaware [8]. The data include marker trajectories and ground reaction forces for an adult male walking at a self-selected speed on an instrumented split-belt treadmill. Please note that the data distributed with OpenSim is from a different subject than the one described in the paper. Data collection protocols were the same for both subjects.