Tutorials
Golfing
Bike
Dancing
Bungee Jump
Muscle Relocation
Antagonistic Muscles
Hip Replacement
Detailed Knee
Detailed Spine
Rehabilitation Machine
Gait Analysis
Walking
Lifting Styles
Bed Settling
Fighting
Car Crash
Fall
Grasping
NeckSIM:Whiplash
Tennis

Orthopedics Application - Antagonistic Muscles

LifeMOD/BodySIM provides two methods of accurately producing muscular forces; the trainable element and the Hill-base element. These can now be combined to model co-contraction or antagonistic effects in the human model.

To illustrate this feature a simple arm model will be created with base muscles. A simple elbow flexure will be performed for two cases. In the first case, the model will be composed entirely of trainable muscle elements. In this case there will not be antagonistic muscle forces. In the second case the trainable triceps muscles will be replaced with Hill-based muscles.

The Hill-based muscles consist of both a passive and contractile element. The contractile element is driven with an normalized activation curve. This curve is usually based on EMG experimental data, but for this example a simple input curve will be used. The intention is to turn on the triceps muscle force during elbow flexure to oppose the force in the biceps muscle. The change in the elbow joint force and the biceps muscle force necessary to flex the elbow will be compared with the preceding analysis.

The simulation will be repeated with a different triceps activation curve to examine the effects on the elbow force and the biceps muscle force necessary to flex the elbow.

 

Key skills exercised in this tutorial include:

  • Development of trainable muscle forces
  • Development of Hill-based muscle forces
  • Modeling antagonistic muscle effects
  • Inverse-dynamics, forward-dynamics simulations.
  • Scaled muscle force graphics animation
  • Creating data strip charts

Sections

 


Generating the Body Segments

In this phase, the arm model is created for simulation. The model will consist of a right arm and the upper body.


Figure 1: Body segment create panel and full body model

Step 1: Bring up segments panel and set fields
Begin the ADAMS/View modeling session and select the LifeMOD/BodySIM™ button at the bottom left portion of the screen. Select SEGMENTS from the main-menu and CREATE BASE SET from the sub-menu.

Step 2: Create the body
Generate a full body model using the GeBod database. Select a 70 lbs, 170 inch tall male. Select Create Body Parameter Table APPLY to create the body measurement table, then select Create Human Segments APPLY to create the body.


Reducing the Model

In this phase, the segments of the model are deleted to focus only on the right arm. All segments are deleted except for the head, neck, upper_torso, central_torso, lower_torso, right_scapula, right_upper_arm, right_lower_arm, right_hand.


Figure 2: Segment delete panel and the resulting sub-model

Step 3: Bring up segment delete panel
Select SEGMENTS on the main-menu and DELETE on the sub-menu.

Step 4: Delete the various body segments
All segments are deleted except for the head, neck, upper_torso, central_torso, lower_torso, right_scapula, right_upper_arm, right_lower_arm, right_hand.

 


Generating the Joints

In this phase, the human segments created in the first phase are connected together with kinematic joints. At the same time passive torque functions are created at each joint degree of freedom. The passive joints are created on the arm and trunk to stabilize the model during the inverse-dynamics simulation and includes a spring-damper torque and angle limiting torque for each rotation degree of freedom for the individual joint (scapular, shoulder, elbow, wrist, upper neck, lower neck, thoracic and lumbar). For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 3: Arm model with joints (right) and panel to create the passive joints on the right arm.

Step 5: Bring up joint create panel
Select JOINTS in the main-menu and CREATE BASE SET in the sub-menu. Select the light bulb next to prepare model with Trainable Joints.

Step 6: Create passive spring damper joints with angle limits for the model
Check the Right Arm and the Spinal joint sets to 1 and the damping to .1. Select MODIFY to bring up the joint matrix panels.

Step 7: Set all the spinal joints to fixed and create the first set
Select "Fixed" as the joint option for each degree-of-freedom for each spinal joint and select apply to create fixed joints in the spine.

Step 8: Set the right scapular joint and shoulder joint to fixed and create the set
Select "Fixed" as the joint option for each degree-of-freedom for each right arm joint, except for the right elbow sagittal freedom which should remain as passive. Select apply to create fixed joints in the arm.


Creating the Muscle Forces

The next step in the process is to create soft tissues (muscles) on the model. LifeMOD/BodySIM™ automatically creates a set of basic muscle groups for the body. Muscles consist of training elements or trained elements. The training elements are simple data collectors which record the contraction history of the muscle during an activity when the model is moved using external drivers such as motion agents. The trained elements use the contraction data in a PD-Servo linear force actuator to induce the force on the skeleton the replicate the recorded motion. Muscle parameters such as physiological cross sectional area (pCSA) and maximum tissue stress are used to calculate the maximum force potential of the particular muscle. LifeMOD/BodySIM™ contains a database of pCSA values for each muscle and is scaled accordingly based on the input body parameters (ht, wt, gender and age). Further, the force output of the muscle may be scaled from 0% to 200% to change the contributions of each particular muscle. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 4: Muscle groups created on the model. Note that the color of the muscles is "rust" indicating passive training elements.


Figure 5: Panel set up to create the right arm muscle groups. The default tissue stress is used and the muscle tone multiplier is set to 200.


Figure 6: Panel set up to create the right arm muscle groups.

Step 9:Bring up the tissue set create panel
Select SOFT TISSUES on the main-menu and CREATE BASE SET on the sub-menu.

Step 10: Set the fields for the muscle generation
Select the light bulb to bring up the panel displayed in figure 5. Set the muscle tone multiplier to be 200%, indicating an above average muscle strength. The tissue stress to be 259 lbs/in2 and the muscle resting load to be 0 lbs. Check right arm.

Step 11: Create the muscles
Select EXECUTE to create the muscles.


Posing the Human Model

After the joints are created on the model the posture of the model may be adjusted, and the model moved into place. The posture may be adjusted by recalling one of several postures in the posture library then further modify the joint angles if necessary. The body is moved into place by selecting the Lower_Torso segment and changing the location.


Figure 7: The model placed in the riding posture


Figure 8: Posture modification panel to place the model in the riding posture.

Step 12: Bring up posture panel
Select POSTURE on the main-menu and CONFIGURE BASE MODEL on the sub-menu.

Step 13: Load the current joint angles
Select the button on the panel in figure 8 to load the current joint angles for the model.

Step 14: Update the right shoulder joint
Enter -40 for the sagittal angle of the shoulder joint. Select the Shoulder button to update the joint with the angle.

Step 15: Update the right elbow joint
Enter -10 for the sagittal angle of the elbow joint. Select the Elbow button to update the joint with the angle.

 


Adding Motion Agents to the Human Model

The model, as it exists, is passive and must be driven or manipulated with an external force. To drive the model to capture the simple flexion and extension motion of the neck, Motion Agents will be added to the model. The motion will have the effect of simply rotating the lower arm through its motion, all the while the contraction of the muscles will be recorded for the subsequent forward-dynamics simulation.



Figure 9: Data for the driving spline for the motion agent. The left column is the simulation time and the right column is the angle of the lower arm.


Figure 10: Panel set up to create the motion agent to move the lower arm

Step 16: Create a spline using data from Figure 9.
Create the data spline using the ADAMS/View commands:

data _element create spline &
spline=.World.Eric_SPLINE_1 &
x = 0.0, 1.0, 2.0, 3.0, 4.0, &
y = 0.0, -10.0, -20.0, -40.0, -60.0 &
line ar_extrapolate=no &
units=no_units

Step 17: Bring up motion agent create panel
Select MOTION on the main-menu and CREATE INDIVIDUAL AGENT on the sub-menu.

Step 18: Create motion agent on left leg
Select Eric_Right_Lower_Arm for the body segment. Use the Manually Select Location agent positioning method with a location of -1.8, 10.7, 13.4. Set the parameters as in Figure 10. Set the rotational stiffness to 1e6 and the rotational damping to 1e4. Set the X_dof, the Ry_dof and Rz_dof to fixed and the Y_dof and the Z_dof to free. Set the Rx_dof to driven and select the Eric_Spline_1 as the driving spline. Select APPLY to create the motion agent

 


Running the Inverse-Dynamics Simulation

With the model developed, complete with passive training muscle groups and motion agents a inverse-dynamics simulation may be performed to capture the contraction of the muscles for the elbow flexion activity.


Figure 11. Animations from the inverse-dynamics simulation


Figure 12: Analyze panel set to run inverse-dynamics simulation

Step 19: Create a fixed joint between the upper_torso and ground
Use the following ADAMS/View commands to create a fixed joint between the upper_torso and ground:

marker create marker=.World.Eric_Upper_Torso.ground location=5, 9, 3 rel=.world
marker create marker=.World.ground.Chest location=5, 9, 3 rel=.world

constraint create joint Fixed joint_name=.World.Chest_Ground &
i_marker_name=.World.Eric_Upper_Torso.ground & j_marker_name=.World.ground.Chest

Step 20: Bring up the analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu

Step 21: Run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 4 seconds and 100 time steps using the contacts optimized integrator settings.

Step 22: Display simulation results
Use the ADAMS/View main toolbox to animate the model.


Running the Forward Dynamics Simulation

With the muscle contraction history recorded from the inverse-dynamics simulation, it is now used in linear PD-Servo formulation to produce a force to recreate the motion history. The process entails deactivating the Motion Agents and updating the muscles. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 13: Panel set to run the analysis. Be sure to disable motion agents.


Figure 14: Model with active "trained" muscle force elements. Note that the color of the muscles is now red indicating active elements.

Step 23: Bring up soft tissue Training panel
Select SOFT TISSUES on the main-menu and TRAINING on the sub-menu. Select the light bulb to bring up the INSTALL TRAINED DRIVER CONTRACTILE ELEMENTS panel.

Step 24: Update the muscles using inverse dynamics data
Specify 1e6 as the proportional gain and 1e4 as the derivative gain. These values control how well the PD-servo actuators will track the desired contraction at each time step in the analysis. Note that the individual muscle will not produce a force greater than the physiological cross section area (pCSA) times the maximum tissue stress. Select APPLY to update the muscles.

Step 25: Bring up the results panel
Select RESULTS from the main-menu and DATA DISPLAY from the sub-menu

Step 26: Create a strip chart to measure the force in the elbow
Select Joints as the DATA TYPE. Select Eric_Right_Elbow as the Joint, Force as the Characteristic and Mag as the Component. Select Create Strip Chart Measure to create the strip chart.

Step 27: Bring up the tissue results panel
Select Soft Tissues as the DATA TYPE. Select Eric_Pmaj1_Rtiss_1 as the Soft Tissue, Tension as the Characteristic.

Step 28: Create a strip chart to measure the biceps force
Select Create Strip Chart Measure to create the strip chart.

Step 29: Bring up the analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu

Step 30: Disable the motion agent and run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 4 seconds and 100 time steps using the default integrator settings.

Step 31: View the simulation results
Use the ADAMS/View main toolbox to animate the model.

Step 32: Save the elbow force curve
In order to preserve the elbow force curve in the strip chart to compare it to the next simulation; it must be saved by right-clicking on the curve.

Step 33: Save the biceps force curve
Save the biceps curve force in the same manner as above.

Step 34: Save the first analysis.
Select SAVE ANALYSIS and enter the name No_Antag. Select GO.


Replace the Triceps with Hill-Based Muscles

To introduce co-contraction or antagonistic effects into the arm model, the trainable triceps muscles will be replaced with the Hill-based muscles. The Hill-based muscles consist of both a passive and contractile element. The contractile element is driven with an normalized activation curve. This curve is usually based on EMG experimental data, but for this example a simple input curve will be used. The intention is to turn on the triceps muscle force during elbow flexure to oppose the force in the biceps muscle. The change in the elbow joint force and the biceps muscle force necessary to flex the elbow will be compared with the preceding analysis. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 15: Replacing the trained triceps muscle elements with the Hill-based muscle elements.


Figure 16: Selecting the light bulb brings up the sub-panel to set the Hill-based muscle parameters.

Step 35: Bring up the muscles delete panel.
Select SOFT TISSUES on the main-menu and DELETE on the sub-menu.

Step 36: Delete Triceps 1, 2 and 3
Delete the three individual triceps muscles by selecting Eric_Tric1_Rtiss_1, Eric_Tric2_Rtiss_1 and Eric_Tric3_Rtiss1 for deletion.

Step 37: Bring up the create base tissue set panel
Select SOFT TISSUES on the main-menu and CREATE BASE TISSUE SET on the sub-menu.

Step 38: Select the Hll-based muscle elements
Select the light bulb next to the Hill-based muscle elements to bring up the Hill muscle global parameters sub-panel.

Step 39: Update the Hill parameters
Set the passive element stiffness parameter (k) to .21 and the physiological cross sectional area (pCSA) to .25.

Step 40: Create the activation spline
Create the data splines using the ADAMS/View commands:

data _element create spline &
spline=.World.Eric_Activation &
x = 0.0, 1.0, 2.0, 3.0, 4.0, &
y = 0.0, .25, .25, .25, .25 &
line ar_extrapolate=no &
units=no_units

Step 41: Bring up the right arm muscles panel
Enter the Eric_Activation spline into the activation spline field, check right arm and select Modify to bring up the right arm muscles panel.

Step 42: Turn off all muscles except for the triceps 1, 2 and 3.
Uncheck all muscles except for triceps 1, 2 and 3 so as to not create redundant muscles over the existing trainable muscles.

Step 43: Create the Hill-based muscles
Select APPLY to create the triceps muscles.

 


Running the Forward Dynamics Simulation

With the triceps muscles replaced, a second forward dynamics simulation is performed to examine the effects of the co-contraction.

 

Step 44: Bring up the analyze panel
Select ANALYZE on the main-menu and DYNAMICS on the sub-menu.

Step 45: Disable motion agent and run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 4 seconds and 100 time steps using the default integrator settings.

Step 46: View the simulation results
Use the ADAMS/View main toolbox to animate the model.

Step 47: Save the elbow force curve
In order to preserve the elbow force curve in the strip chart to compare it to the next simulation; it must be saved by right-clicking on the curve.

Step 48: Save the biceps force curve
Save the biceps curve force in the same manner as above.

Step 49: Save the second analysis.
Select SAVE ANALYSIS and enter the name Antag_1. Select GO.

Step 50: Change the activation curve
Modify the Eric_Activation spline using the following ADAMS/View command:

data _element modify spline &
spline=.World.Eric_Activation &
x = 0.0, 1.0, 2.0, 3.0, 4.0, &
y = 0.0, .25, .5, .5, .5 &
line ar_extrapolate=no &
units=no_units

Step 51: Disable motion agent and run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 4 seconds and 100 time steps using the default integrator settings.

Step 52: View the simulation results
Use the ADAMS/View main toolbox to animate the model.

Step 53: Save the third analysis.
Select SAVE ANALYSIS and enter the name Antag_2. Select GO.


Interrogating the Results

When the simulation is complete the model may be animated and the results may be plotted.

 


Figure 17: Strip charts for the elbow force and the biceps force for all three cases. The graphics indicate increasing elbow joint force and biceps force with increasing triceps activation.


Figure 18: Animation frame displaying scaled muscles.

Step 54: Bring up results panel
Select RESULTS in the main-menu and ANIMATION in the sub-menu.

Step 55: Scale muscle graphics for the Antag_2 case
Select ANIMATION in the sub-menu. Specify .World.Antag_2 as the Default Analysis and Select APPLY. Turn on the global scaling of the muscle graphics by selecting Scale Joint/Tissue Graphics, Tissues, Scale Globally and the light in the Results panel.

Step 56: Animate the Antag_2 case
Select left view and select PLAY to animate the model with the scaling muscles and the animated strip charts.

Step 57: Scale muscle graphics for the Antag_1 case
Select ANIMATION in the sub-menu. Specify .World.Antag_1 as the Default Analysis and Select APPLY. Turn on the global scaling of the muscle graphics by selecting Scale Joint/Tissue Graphics, Tissues, Global and the light in the Results panel.

Step 58: Animate the Antag_1 case
Select left view and select PLAY to animate the model with the scaling muscles and the animated strip charts.

Step 59: Scale muscle graphics for the No_Antag case
Select ANIMATION in the sub-menu. Specify .World.No_Antag as the Default Analysis and Select APPLY. Turn on the global scaling of the muscle graphics by selecting Scale Joint/Tissue Graphics, Tissues, Global and the light in the Results panel.

Step 60: Animate the No_Antag case
Select left view and select PLAY to animate the model with the scaling muscles and the animated strip charts.

Step 61: DEMO COMPLETE


Further

This model was put forth to demonstrate the creation partial body model to examine the effects of muscular co-contraction. The intention with this example was to touch of the various modeling functions of both the LifeMOD/BodySIM™ Biomechanics Modeler and ADAMS/View necessary to create a detailed muscular reactions of this nature.

This model may be refined in many areas including:

  • Including more movements
  • Including more muscles in the model
  • Creating wrapping functions on the muscles for more accurate line-of-sight.