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 - Muscle Relocation

The LifeMOD/BodySIM™ Biomechanics Modeler creates a scalable human model with many major muscle groups on the body. With the capability to create full body muscle groups, LifeMOD/BodySIM™ can be used to evaluate the timing sequence and force delivery magnitudes of individual muscle groups for various activities.

An inverse dynamics - forward dynamics method is used to first "train" the muscles to generate the forces necessary to replicate desired motion of the limb.

A partial body model is developed to evaluate the muscle group activities for leg motion.

Simulations are performed for two cases with a change in the pelvic attachment of the gluteus medius muscle to examine the change in load of this particular muscle and load-sharing of the surrounding muscles.

A simple hip flex activity is simulated and various muscle forces are reported and viewed graphically via scaling muscle graphics.

Key skills exercised in this tutorial include:

  • Development of trainable muscle forces
  • Inverse-dynamics, forward-dynamics simulations.
  • Scaled muscle force graphics animation

Sections


Generating the Body Segments

The body segments for the complete body are generated first, then the model is reduced to focus on the cervical spine. The body is created using the GeBod database for a male who is 70 inches tall weighing 170 lbs.


Figure 1: Panel settings to create 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 to create the body measurement table, then select Create Human Model from Parameter Table to create the body.


Reducing the Model

The segments of the full body model are reduced to concentrate on the lower torso and the left leg. The upper_torso will be fixed to ground in subsequent steps.



Figure 2: Reducing the full body model

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

Step 4: Delete the extra segments
Use the body segment delete panel to remove the segments.


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 leg 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 (hip, knee, ankle). For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 3: Leg model with joints (right) and panel to create the passive joints on the left leg

Step 5: Bring up joint create panel
Select JOINTS in the main-menu and CREATE BASE SET in the sub-menu.

Step 6: Create passive spring damper joints with angle limits for the model
Select the light bulb for "Prepare Model with trainable Joints (To be trained in an inverse-dynamics simulation)". Select GO next to prepare joints with spring dampers.

Step 7: Set the parameterized stiffness and damping values
Check the Left Leg only and set the nominal joint stiffness to 100 and the damping to 10.

Step 8: Create the parameterized joints
Select EXECUTE to bring up the joint panel for the left leg and create the joints.


Creating the Soft Tissues

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.


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 left leg muscle groups


Figure 6: Panel set up to create the left leg 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 100%, the tissue stress to be 259 lbs/in2 and the muscle resting load to be .5 lbs.

Step 11: Create the soft tissues except for the Psoas Major on the body
On the tissue panel, select APPLY to create the muscle groups. The psoas muscle group spans to the central_torso segment which was removed for model simplification.


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: Put the model in Muscle Relocation posture
Select Load Posture to bring up the library database navigator. Select Muscle Relocation as the posture to move the leg into position in figure 8.


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 "pulling and pushing" the leg to drive it 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 1 (top) and spline 2 (bottom) for the motion agent


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

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

data _element create spline &
spline=.World.Casey_SPLINE_1 &
x = 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 &
y = 0.0, -20.0, -35, -41, -42, &
-41, -35, -20.0, 0.0 &
line ar_extrapolate=no &
units=no_units

data_element create spline &
spline=.World.Casey_SPLINE_2 &
x = 0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 &
y = 0.0, -10, -5, 12, 18, 13, -5, -11, 0.0 &
linear_extrapolate=no &
units=no_units

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

Step 16: Create motion agent on left leg
Select Casey_Head for the body segment. Use the Manually Select Location agent positioning method with a location of 3.7,-25,19. Set the parameters as in Figure 10. Set all dof's to free except for the y-dof which is set to driven referring to the Spline_2 created in the prior step and the z-dof which is set to driven referring to the Spline_1.


Running the First 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 flexion-extension activity.


Figure 11. Animations from the inverse-dynamics simulation


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

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

marker create marker=.World.Jerry_Lower_Torso.ground location=-1,3,-3 rel=.world

marker create marker=.World.ground.body location=-1,3,-3 rel=.world

constraint create joint Fixed joint_name=.World.FIX1 i_marker_name=.World.Jerry_Lower_Torso.ground j_marker_name=.World.ground.body

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

Step 19: Run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 8 seconds and 200 time steps using the robust integrator settings.

Step 20: Display animation
Use the ADAMS/View main toolbox to animate the model.


Running the First Direct-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: Leg model with active "trained" muscle force elements. Note that the color of the muscles is now red indicating active elements.

Step 21: Bring up soft tissue Training panel
Select SOFT TISSUES on the main-menu and TRAINING on the sub-menu.

Step 22: Install ACTIVE contractile element
Select the light bulb to bring up the INSTALL TRAINED DRIVER CONTRACTILE ELEMENTS panel.

Step 23: Set fields and update muscles
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.

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

Step 25: Run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 8 seconds and 200 time steps using the default integrator settings. Select "Disable Motion Agents".

Step 26: Display animation
Use the ADAMS/View main toolbox to animate the model.

Step 27: Save the first analysis.
Select SAVE ANALYSIS and enter the name Run1. Select GO.

Step 28: Bring up the results panel.
Select RESULTS on the main-menu and DATA DISPLAY on the sub-menu.

Step 29: Display glut medius forces
Select Soft Tissues as the Data Type. Select Jerry_GlutMed1_Ltiss_1 as the Soft Tissue, Tension as the Characteristic and select Create Strip Chart Display. Select Jerry_GlutMed2_Ltiss_1 as the Soft Tissue, Tension as the Characteristic and select Create Strip Chart Display.

Step 30: Turn muscle graphics scaling on
Turn on the global scaling of the muscle graphics by selecting ANIMATION in the sub-menu. Select the Scale Joint;/Tissue Graphics. Select Tissues, Scale Globally and then select the light bulb.

Step 31: Display animation
Use the ADAMS/View main toolbox to animate the model with the data measures.

Step 32: Save the Glut Medius curves
On each strip chart, right click on the curve and select "save".


Prepare the Model for the Second Inverse-Dynamics Simulation

A second simulation case is performed using a different head motion. The passive elements are restored to the muscle tissues and the motion agent is created with new data to move the head from side to side.


Figure 15: Relocating the gluteus medius pelvic attachment from the original position (left) to the new position (right).


Figure 16: The panel used to modify the location of the attachment point

Step 33: Bring up soft tissue edit properties panel
Select SOFT TISSUES on the main-menu and EDIT PROPERTIES on the sub-menu. Select the light bulb at Edit Tissue Attachment Points.

Step 34: Relocate the gluteus medius pelvis attachment
The pelvic attachment is moved by cursor entering the name of the attachment World.Jerry_Lower_Torso.LGlutMed1_ell and the location 5.3482942546, 1.5733867016, 1.0578233139 in the panel in figure 15.

Step 35: Bring up the tissue edit panel
Select SOFT TISSUES from the main-menu and TRAINING from the sub-menu.

Step 36: Restore the TRAINING elements in the muscles
Locate Install Trainable elements and select the checkmark.


Running the Second Inverse-Dynamics Simulation

A second simulation case is performed using the motion agent created for the first inverse dynamics simulation

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

Step 38: Run the dynamics simulation
Set gravity at -386.0885826772 in the y direction and run the simulation for 8 seconds and 200 time steps using the default integrator settings.

Step 39: Display animation
Use the ADAMS/View main toolbox to animate the model.


Running the Second Direct-Dynamics Simulation

With the muscle contraction history recorded from the inverse-dynamics simulation, it may now be used in an active muscle formulation to produce a force to recreate the motion history. The process updating the muscles and running the dynamics analysis while deactivating the motion agent.

Step 40: Bring up soft tissue training panel
Select SOFT TISSUES on the main-menu and TRAINING on the sub-menu.

Step 41: Install ACTIVE contractile element
Select the light bulb to bring up the INSTALL TRAINED LINEAR DRIVER ELEMENTS panel.

Step 42: Set fields and update joints
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.

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

Step 44: 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 400 time steps using the default integrator settings.


Interrogating the Results

When the simulation is complete the model may be animated and the results may be plotted. Scaled force vectors at the muscles can be a valuable key in extracting information on the behavior of the model.

Various data may be presented from the forward-dynamics simulation including:

  • Gluteus medius muscle force comparison between runs.
  • Surrounding tissue load sharing changes between runs.


Figure 17: Anterior and medial gluteus medius forces for both runs.


Figure 18: Three animation frames displaying scaling force muscle graphics

Step 45: Bring up results panel
Select RESULTS in the main-menu and DATA DISPLAY in the sub-menu. Select the post-processor button to bring up the plotting window.

Step 46: Plot the gluteus medius anterior muscle forces for run 1
Set the analysis to "Run1". Select Soft Tissues as the Data Type. Select Jerry_GlutMed1_Ltiss_1 for the soft tissue and tension characteristic. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select Create Full Plot.

Step 47: Plot the gluteus medius anterior muscle forces for run 2
Set the analysis to "Last_Run". Select Jerry_GlutMed1_Ltiss_1 for the soft tissue and tension characteristic. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select Create Full Plot.

Step 48: Plot the gluteus medius anterior muscle forces for run 1
Set the analysis to "Run1". Select Jerry_GlutMed1_Ltiss_1 for the soft tissue and tension characteristic. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select Create Full Plot.

Step 49: Plot the gluteus medius medial muscle forces for run 2
Set the analysis to "Last_Run". Select Jerry_GlutMed2_Ltiss_1 for the soft tissue and tension characteristic. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select Create Full Plot.

Step 50: Turn muscle graphics scaling on and animate side view
Select ANIMATION in the sub-menu. Turn on the global scaling of the muscle graphics by selecting Scale Joint/Tissue Graphics, Tissues, Global and the light in the Results panel. Select right view, divide screen and select PLAY to animate the model with the plot.

Step 51: Animate back view
Select back view, divide screen and select PLAY to animate the model with the plot.

Step 52: DEMO COMPLETE


Further

This model was put forth to demonstrate the creation partial body model to examine the effects of relocating a hip flexor muscle. The resulting force on this muscle as well as the surrounding, load-sharing tissues were compared for two cases. 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 joint of this nature.

This model may be refined in many areas including:

  • Including more movements
  • Including more muscles in the model