Versions Compared

Key

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

Table of Contents
maxLevel3

Info

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

Purpose

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:

...

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.

 



Questions

46. 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.

57. Based on information in the Messages window, what is the root-mean-squared (RMS) error of all the markers in the last frame of the motion? Include units. Does this seem reasonable? Explain.

68. What was the value of the maximum marker error in the last frame? Include units. Which marker had this maximum error, and why?
Hint: Think about the weighted least squares problem.

...

To setup an inverse dynamics analysis:

  • Open the inverse dynamics tool dialog window by clicking the Tools menu and selecting Inverse Dynamics.
  • Load an inverse dynamics tool setup file by clicking Load, selecting file subject01_Setup_InverseDynamics.xml, and clicking Open.
    Note: If the Motion From File textbox appears red, this means the textbox was filled with an inappropriate file name. Make sure the motion file was saved with the correct file name in the Inverse Kinematics section. 
  • Note the folder listed in the Directory textbox, located in the Output section of the dialog. The storage file containing the inverse dynamics results will be saved in this folder: Documents\Opensim\Models\Gait2354\ResultsInverseDynamics.

A detailed explanation of the Inverse Dynamics Tool can be found on the Inverse Dynamics page of the documentation.

 

To perform inverse dynamics:

  • Click Run.

  • Notice the progress bar in the lower right-hand corner of the program. Wait until the bar disappears before proceeding. 
    Note: Closing the inverse dynamics tool dialog during the analysis doesn't affect the Inverse Dynamics tool running.
  • To visualize the inverse dynamics 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.

  • It is often useful to view the ground reaction forces with the inverse dynamics results. in the Navigator panel, go to Motions and right-click on IDResults (which are what the Inverse Dynamics Tool). Then choose Associate Motion Data... from the drop-down menu. Choose subject01_walk1_grf.mot and click Open. Green arrows are now shown that represent ground reaction force vectors collected from a force plate.

  • Close the inverse dynamics tool dialog window.
 

When completed, examine the results of the inverse dynamics solution by plotting the net moments at the left and right ankles:

  • Click Tools and select Plot.
  • In the Plotter window, click the Y-Quantity button and select Load File.
  • In the file browser, go to the ResultsInverseDynamics folder, select the file inverse_dynamics.sto, and click Open.
  • In the menu, select ankle_angle_r_moment and ankle_angle_l_moment by clicking the corresponding checkboxes, then click OK.
    Note: To quickly find these quantities, type ankle into the pattern text box.
  • Click the X-Quantity button, select time, and click OK.
  • Back in the Plotter window, click Add to add the moment curves to the plot.
  • Print your plot by right-clicking on the plot and selecting Print.
    Note: To export the plot as an image by right-clicking the plot and selecting Export Image.
  • After printing the plot and answering questions 7-8, Close the Plotter and inverse dynamics dialog window

In solving the inverse dynamics problem, both kinematic data and force plate data were used, making this an over-determined problem. In other words, the problem has more equations than unknowns (i.e., degrees of freedom). Due to errors in the experimental motion data and inaccuracies in the musculoskeletal model, it turns out that Newton's second law is violated, or  [3]. One method to handle this inconsistency is to compute and apply residual forces and moments to a particular body segment in the model, such that Newton's second law becomes:

† An analogous equation relates the ground reaction moment,  to the residual moment,  .

In this musculoskeletal model, the residuals are applied to the pelvis segment.

To see the residuals from the inverse dynamics solution, in a new plot window, Plot pelvis_tx_force, pelvis_ty_force, and pelvis_tz_force versus time. Using this plot, answer question 9.

While applying residual forces and moments makes the model's motion dynamically consistent with the external forces , this strategy is undesirable because the residuals can be large. More advanced strategies have been developed to deal with the problem of residuals and dynamic inconsistencies, such as least-squares optimization [3], the Residual Elimination Algorithm (REA) [5], and the Residual Reduction Algorithm (RRA) [6]. OpenSim implements a Residual Reduction Algorithm as part of its workflow for generating muscle-actuated simulations [6]. A detailed explanation of the Residual Reduction Algorithm (RRA) can be found on the Residual Reduction Algorithm page of the documentation. For additional information on these strategies, please also see [3], [5], [6], and [7].


Questions

79. On your plot of the ankle moments, identify when heel strike, stance phase, toe off, and swing phase occur for each curve (i.e., left leg and right leg).

810. Based on your plot and the angle convention for the ankle, give an explanation of what is happening at the ankle just before toe-off.
Hint: It may be useful to use the Coordinate sliders to understand the angle convention for the ankle.

911. 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?

...