Date: Thu, 30 Jun 2022 13:13:03 -0700 (PDT) Message-ID: <1504054476.1887.1656619983581@simtk-confluence.stanford.edu> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1886_526107761.1656619983580" ------=_Part_1886_526107761.1656619983580 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html Joint Reactions Analysis

# Joint Reactions Analysis

The topics covered in this section include:

=20 =20

## Overview

JointReaction is an OpenSim Analysis for calculating resultant forces an= d moments at joint.  Specifically, it calculates the joint forces and = moments transferred between consecutive bodies as a result of all loads act= ing on the model. These forces and moments correspond to the internal loads= carried by the joint structure. These loads represent the contributions of= all un-modeled joint structures that would produce the desired joint kinem= atics, such as cartilage contact and any omitted ligaments. The reaction lo= ad acts at the joint center (mobilizer frame) of both the parent and child = bodies. The loads can be reported and expressed in either the child, parent= , or ground frames. The default behavior is to express the force on the chi= ld in the ground frame. For more detailed description of the method impleme= ntation see Tibiofemoral Contact Force during Crouch Gait (Steele = et al, in review).

In this section, we provide a conceptual review of the inputs and output= s for a JointReaction Analysis along with a set of troubleshooting tips and= best practices. Running an Analysis like JointReaction is covered in detai= l in the How= to Use the Analysis Tool section.

## Input

Inputs Specific to JointReaction:

1. joint_names: List of t= he names of the joints of interest. JointReaction reports loads for only li= sted joints that exist in the model. Joint names may be repeated any number= of times to allow reporting on different bodies or with respect to differe= nt reference frames. Using the keyword 'all' reports the loads for all join= ts in the model. Default is 'all'.
2. apply_on_bodies: List of th= e body (parent or child) on which the corresponding reaction occurred. If t= he array has only one entry, that selection is applied to all joints specif= ied in joint_names. The default is 'child'.
3. express_in_frame: List of t= he frames (ground, parent, or child) in which the corresponding reaction is= expressed. If the array has only one entry, that selection is applied to a= ll joints specified in joint_names.
4. forces_file: The name of a = file containing forces storage. If a file name is provided, the applied for= ces for all actuators will be constructed from the forces_file instead of f= rom the states. This option should be used to calculate joint loads from st= atic optimization results.

## Output

JointReaction prints results to one storage file with the suffix "_React= ionLoads.sto". This file contains rows of time-stamped data containing the = 3 force and 3 moment vector components of the reaction load at each joint s= pecified. Each data column label includes all information about how the loa= d is applied and expressed. Specifically, the form is
< joint n= ame >on<body>in<frame>_<component>.&= nbsp;

For example, the column containing the z-component of hip force occurrin= g on the femur and expressed in the femur frame would be labeled "hip_on_fe= mur_in_femur_FZ" while the y-component of the knee moment occurring on the = tibia and expressed in the ground frame would have the label "knee_on_tibia= _in_ground_MY".

## Best = Practices and Troubleshooting Tips

1. If JointReaction doesn't recognize a specified joint, body, or frame na= me, it will perform its default action. The overall default action is to re= port the loads on all joints as applied to the joint's child body and expre= ssed in the ground reference frame.
2. Consistency of modeling inputs to the Analyze tool: The v= alidity of the joint loads depends on modeling assumptions and correct mode= ling practices. JointReaction is very sensitive to the consistency of all i= nputs that define a dynamic trial, including the following inputs to the An= alyze Tool: <model_file>, <replace_force_set>, <force_set_fi= les>, <states_file>, <coordinates_file>, <speeds_file>= , <lowpass_cutoff_frequency_for_coordinates>,<external_loads_file&= gt;, <external_loads_model_kinematics_file>, <lowpass_cuttoff= _frequency_for_load_kinematics>
3. If any of these files are not associated with the same dynamic trial, t= he system of accelerations and forces will not be consistent. Therefore, Jo= intReaction will calculate incorrect joint loads.
4. Special Types of Forces: Certain types of forces and actu= ators, called SpringGeneralizedForce, CoordinateLimitForce, and CoordinateA= ctuator, are associated with specific degrees of freedom and treated as par= t of the joint structure. This means that any contribution fro= m these components will be treated as part of the resultant loads reported = by JointReaction instead of body forces. As an example, consider a r= eserve actuator on the hip joint of a gait model. If this reserve actuator = is defined as a CoordinateActuator, its contribution is treated as a residu= al force provided by the joint and therefore will be added to the resultant= load at the hip. However, if the hip reserve is defined as a TorqueActuato= r, its torque will be treated as a motor external to the joint and attached= between the pelvis and femur. Therefore, its torque will not be added to t= he reported resultant load at the hip.

## Joint Rea= ctions vs Inverse Dynamics

Users should be aware of the differences between Inverse Dynamics calcul= ations and Joint Reaction calculations:

• Inverse Dynamics calculates the net generalized forces at all degrees o= f freedom in the model. These generalized forces only account for the model= motion and applied external forces.  Inverse Dynamics ignores the con= tribution of muscles, motors, and all other actuators when calculating new = generalized forces at each joint.
• The JointReaction analysis calculates the resultant forces and moments = the joint structure caries in response to all motions and forces in the mod= el, including muscles, motors, and all other actuators.

To illustrate the difference, let's consider the hip joint, which is mod= eled as a ball and socket and actuated by muscles. This joint allows three = rotations, but prohibits translations.

• Inverse Dynamics will report the net torques (generalized forces for th= e hip) that the muscles must overcome.
• JointReaction will report the vector of compressive forces that the hip= caries to prevent translation of the ball through the socket.  JointR= eaction will report zero for all hip torques because the ball and socket ca= n not produce torques or resist rotation. The only exception would occur if= Coordinate Limit Forces or Coordinate Actuators were applied at the hip. &= nbsp;These are interpreted as part of the joint structure that act along th= e generalized coordinate direction, and JointReaction will includ= e their contribution as part of the resultant joint load.

=20

Next: Probes

=20
------=_Part_1886_526107761.1656619983580--