You are viewing the documentation for OpenSim 3.x. Are you looking for the latest OpenSim 4.0 Documentation?

How to Use IAA

The topics covered in this section include:

Command-line Execution

The Induced Acceleration Analysis is run using the command analyze -S <setup file name>, for example,

analyze -S subject01_Setup_IAA.xml

Setup Files and XML Tag Definitions

Induced Acceleration Analysis Properties

The Induced Acceleration Analysis is performed using the AnalyzeTool (inputs defined in the section on Getting Started with Analyses) and is added to its set of Analyses. The specific XML properties for an Induced Accelerations analyis are presented below.  You can also download the setup file used to analyze a running simulation as published in Hamner, SR, Seth, A, Delp, SL. Muscle contributions to propulsion and support during running, Journal of Biomechanics, vol. 43, pp. 2709-2716, 2010.

Example: Sample properties for the setup of an Induced Acceleration Analysis

<InducedAccelerations name="InducedAccelerations">
  
<!--Flag (true or false) specifying whether whether on. -->
<on> true </on>
 
<!-- Starting time for the Analysis.-->
<start_time> 0.0 </start_time>
 
<!--End time for the Analysis.-->
<end_time> 1.5 </end_time>
 
<!--Specifies how often to store results during a simulation.-->
<step_interval> 10 </step_interval>
 
<!--Flag (true or false) indicating whether output angles are in degrees.-->
<in_degrees> true </in_degrees>
 
<!--Names of the coordinates for which to compute induced accelerations. The key word 'All' indicates that the analysis should be performed for all coordinates.-->
<coordinate_names> knee_angle_r </coordinate_names>

<!--Names of the bodies for which to compute induced accelerations. The key word 'All' indicates that the analysis should be performed for all bodies. Use 'center_of_mass' for the induced accelerations of the system mass center -->
<body_names> center_of_mass </body_names>

<!-- ConstraintSet for replacing the ExternalForces applied to the model. The analysis expects a constraint for every ExternalForce applied to the model and that the corresponding constraint is listed in the same order. -->
<ConstraintSet>
  <objects>
  <RollingOnSurfaceConstraint name="right_foot_contact">
  
    <!-- Specify to disable constraint by default -->
    <isDisabled> true </isDisabled>

    <!-- Specify the rolling body for this constraint -->
    <rolling_body> calcn_r </rolling_body>

    <!-- Specify the body containing the surface (plane) that the rolling body rolls on. -->
    <surface_body> ground </surface_body>

    <!-- Surface's normal direction defined in the surface body -->
    <surface_normal> 0 1 0 </surface_normal>

    <!-- Surface height in the direction of the normal in the surface body: -->
    <surface_height> 0 </surface_height>

    <!-- Coulomb friction coefficient for rolling on the surface-->
    <friction_coefficient> 0.75 </friction_coefficient>

    <!-- A guess at the area of contact approximated by a circle-->
    <contact_radius> 0.01 </contact_radius>
  </RollingOnSurfaceConstraint>

  <RollingOnSurfaceConstraint name="left_foot_contact">
    <!-- Specify to disable constraint by default -->
    <isDisabled> true </isDisabled>

    <!-- Specify the rolling body for this constraint -->
     <rolling_body> calcn_l </rolling_body>

    <!-- Specify the body containing the surface (plane) that the rolling body rolls on. -->
    <surface_body> ground </surface_body>

    <!-- Surface's normal direction defined in the surface body -->
    <surface_normal> 0 1 0 </surface_normal>

    <!-- Surface height in the direction of the normal in the surface body -->
    <surface_height> 0 </surface_height>

    <!-- Coulomb friction coefficient for rolling on the surface: -->
    <friction_coefficient> 0.75 </friction_coefficient>

    <!-- A guess at the area of contact approximated by a circle -->
    <contact_radius> 0.01 </contact_radius>
  </RollingOnSurfaceConstraint>
  </objects>
</ConstraintSet>

<!-- Minimum magnitude of force necessary to turn on constraint.-->
<force_threshold> 6 </force_threshold>

<!-- Only compute the potential (acceleration/N) of an actuator to accelerate the model..-->
<compute_potentials_only> false </compute_potentials_only>

<!-- Report individual (induced) force contributions to constraint reactions forces in addition to resulting accelerations -->
<report_constraint_reactions> true </report_constraint_reactions>
 
</InducedAccelerations>

Evaluating Induced Accelerations with Static Optimization Results

The Induced Acceleration Analysis uses the states and controls from a forward simulation or provided by the AnalyzeTool to compute all actuator forces, including muscle forces, and to apply them to the model to determine their contributions to the system acceleration.  The Induced Acceleration Analysis does not directly take actuator forces as an input, however, if the option to <compute_potentials_only> is true, then all forces are set to unity (controls and states do not determine the applied force) and the result is the potential of that actuator to accelerate the system per unit of force (moment). The potentials can be used to compute the induced acceleration when muscle forces are known, for example, from performing Static Optimization. Taking the product of the muscle force (estimated from Static Optimization) and the potential of a muscle to accelerate a joint or the center of mass (from an Induced Acceleration Analysis) yields each muscle force's contribution to the acceleration of interest. The product of muscle forces and their potentials is easily performed using Excel or MATLAB.

 





OpenSim is supported by the Mobilize Center , an NIH Biomedical Technology Resource Center (grant P41 EB027060); the Restore Center , an NIH-funded Medical Rehabilitation Research Resource Network Center (grant P2C HD101913); and the Wu Tsai Human Performance Alliance through the Joe and Clara Tsai Foundation. See the People page for a list of the many people who have contributed to the OpenSim project over the years. ©2010-2024 OpenSim. All rights reserved.