LifeModeler.com  |  Overview  |  Modeling  |  Tutorials  |  Appendix

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

Ergonomics Application - Lifting Styles

This simple example examines the effect of lifting heavy objects using a "crouch lift" or a knee dominant lift and and a lift by rotating at the hips.

The shoulder, lumbar, hip and knee torques are compared for each lift.

An inverse dynamics - forward dynamics method is used to first "train" the joints to generate the torques necessary for the human model to lift the objects. Motion capture data for the correct and incorrect lifts are used to provide the target motion.

Features of this model include:

  • Simulation using two sets of motion data
  • Human model holding objects.
  • Inverse dynamics forward dynamics simulations

Sections


Generating the Body Segments, Joints, and Motion Data

In this phase, the SLF file is used to create the human body model from measurements, joints from joint data, posture from posture data and motion from recorded motion data. The body segments are created using the parameters stored in the SLF file.

This file contains information on the subject name, gender, age, height and weight. LifeMOD™ uses this information to extract body segment measurements and mass properties from the internal anthropometric database.

Passive joints are created for the inverse-dynamics phase of the simulation process. For this model passive joints will be created for the inverse-dynamics simulation. The passive joint consists of a tri-axis hinge joint (3 DOF) which includes angulation stops, stiffness and damping torques. This type of joint is used primarily to stabilize the body during the inverse-dynamics simulation. The parameters are included in the SLF file

Finally, the motion data (MOCAP) for the Leg_lift lifting activity is imported into the model and used to drive the motion agents created on the model. There are two components to the motion agent. A yellow sphere designates the location of the data point and the red sphere designates the marker location on the human model. The yellow sphere is attached to the red sphere via a bushing element with properties designated below. During the inverse dynamic simulation, the yellow sphere will move according to the MOCAP data, while influencing the motion of the red sphere attached to the body. It is during this analysis that muscle contraction histories will be recorded. The motion agent stiffness properties are entered in the panel in Figure 1. The motion trajectory data is included in the SLF file.


Figure 1: Exchange panel to import body and joint parameters and motion data


Figure 2: The resulting model and motion data installed.

Step 1: Bring up import panel
Launch the LifeMOD™ software. Select CREATE NEW MODEL to start a new modeling session. Select XCHANGE from the main-menu and IMPORT SLF MODEL FILE.

Step 2: Import the body, joints, posture and motion
Select Model Library and Full Body Lifting with Knees from the Model Library. The panel displayed in figure 1 will then list a summary of the contents of the file. Also, in the Build line at the bottom of the file are the components contained in the file. Leave each box checked except ground reaction force and select APPLY to create the body segments, joints, posture and motion agents.


Running the Equilibrium Analysis

In order to fit the model to the data positions, an equilibrium analysis must be performed. This is a dynamics analysis which holds the positions of the data-driven motion agents (yellow balls) fixed, while finding the minimum energy configuration in the springs of the motion agents. The motion agents with the higher weights will have more influence on the model and the initial configuration.


Figure 3: Imported model (left) After static analysis (center) after synchronization (right).

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

Step 4: Run the equilibrium simulation
Specify the end time of the simulation as 1 second with 100 time steps using the "Robust" integrator settings. Check "Freeze Motion Agents for Equilibruim Analysis" and select ANALYZE.

Step 5: Update the model configuration with static results
Select "Update Model Posture with Equilibrium Results" to change the position of the body to match the last frame in the simulation.

Step 6: Align the body markers with data
After the the configuration is updated there will still be a discrepancy between the yellow spheres and the red spheres due to differences between the body geometry and the test subject and differences between the positioning of the markers in the model and the subject. Select "Synchronize Body Marker Locations with Data Location".


Create Foot/Floor Attachments

With the model in position, the feet are attached to the floor using ADAMS/View bushing elements. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 4: Attaching the feet of the model to ground using bushing elements

Step 7: Create the left foot contact element
Create an ADAM's bushing force to create ground and feet contact. Select the create bushing icon from the main toolbox, select .World.Andy_Left_Foot as the first body and .World.ground as the second body. Right-click on ground to bring up the location panel under the main toolbox, enter (0.2,0,0.37) as the location. Select OK. Rename .World.BUSH_Lfoot. Modify and set parameters to figure 5.

OR

Use the following ADAMS/View commands to create markers on the foot and the floor.

marker create marker=.World.Andy_Left_Foot.ground loc= .2,0,.37 rel= .World
marker create marker=.World.ground.Lfoot loc= .2,0,.37 rel= .World

Use the following ADAMS/View command to create the bushing element.

force create element_like bushing bushing_name=.World.BUSH_Lfoot i_marker_name=.World.Andy_Left_Foot.ground j_marker_name=.World.ground.Lfoot stiffness=(1e8(newton/meter)),(1e8(newton/meter)),(1e8(newton/meter)) damping=(1e6(newton-sec/meter)),(1e6(newton-sec/meter)),(1e6(newton-sec/meter)) tstiffness=1.0E+006,1.0E+006,1.0E+006 tdamping=1.0E+004,1.0E+004,1.0E+004


Figure 5: Parameters for contact bushings

Step 8: Create the right foot contact element
Create a second bushing for the right foot. Select the create bushing icon from the main toolbox, select .World.Andy_Right_Foot as the first body and .World.ground as the second body. Right-click on ground to bring up the location panel under the main toolbox, enter (0.6,0,0.37). Select OK. Rename .World.BUSH_Rfoot. Modify and set parameters to figure 5.

OR

Use the following ADAMS/View commands to create markers on the foot and the floor.

marker create marker=.World.Andy_Right_Foot.ground loc= 0.6, 0, 0.37 rel= .World
marker create marker=.World.ground.Rfoot loc= 0.6, 0, 0.37 rel= .World

Use the following ADAMS/View command to create the bushing element.

force create element_like bushing bushing_name=.World.BUSH_Rfoot i_marker_name=.World.Andy_Right_Foot.ground j_marker_name=.World.ground.Rfoot stiffness=(1e8(newton/meter)),(1e8(newton/meter)),(1e8(newton/meter)) damping=(1e6(newton-sec/meter)),(1e6(newton-sec/meter)),(1e6(newton-sec/meter)) tstiffness=1.0E+006,1.0E+006,1.0E+006 tdamping=1.0E+004,1.0E+004,1.0E+004


Merging the Objects Model with the Human Model

Pre-built models of a dumbell and rack are imported for each hand and moved into position. Contact forces are created between the dumbells and racks. Grip forces are created to enable the model to pick up the dumbells.



Figure 6: Panel used to import external geometry

 


Figure 7: Parameters for the rack/dumbell contacts


Figure 8: Panel to create a grip force between the hands and dumbells

Step 9: Bring up the import mechanical environment panel
Select File-Import. Select Parasolid as the file type.

Step 10: Find and select the dumbell file
Right-click and select browse. Go to (Local Disk)/MSC.Software/MSC.ADAMS/(current version)/lifemod/Libraries/Environment/Mace and select dumbell.x_t as the file to import. Select OPEN.

Step 11: Create the right dumbell
Select Part Name, right-click in the field and select Part-Create. Name the part .World.Rdumbell. Set the location to be (7511192876, 0.1859185284, -0.1076989155) and orientation to be (90.3165821341, 89.9808339216, 299.4156191499). Select OK. Set the location of the parasolid file to (0,0,0) with and orientation of (0,0,0) relative to .World.Rdumbell. Select OK.

Step 12: Create the left dumbell
Select File-Import. Keep the same file. Right-click in the Part Name field and select Part-Create. Name the part .World.Ldumbell. Set the location to (7.124068221E-002, 0.1857961908, -0.1076989155) and orientation to (90.2620741209, 89.9214109599, 299.3298260575). Select OK. Keep the location and orientation at (0,0,0) but relative to .World.Ldumbell. Select OK.

Step 13: Find and select the rack file
Select File-Import. In the same location as the dumbell file select rack.x_t as the parasolids file to import. Select OPEN.

Step 14: Create the right rack
Right-click in the Part Name field and select Part-Create. Name the part .World.Rrack. Set the location to (0.742317, 6.22389731E-002, -5.1079164594E-002) and orientation to (90,90,270). Select OK. Keep the location and orientation of the parasolid file at (0,0,0) but set it relative to .World.Rrack. Select OK.

Step 15: Create the left rack
Select File-Import. Create a new part named Lrack. Set the location to 6.2317E-002, 6.22389731E-002, -5.1079164594E-002) and orientation to (90.0, 90.0, 270.0). Set the parasolid file relative to .World.Lrack. Select OK.

Step 16: Give the imported files mass
Right-click .World.Rdumbell and select MODIFY. Select Define Mass By Geometry and Material Type and select .materials.steel. Select APPLY. Select "User Input" and set the mass to 10. Select OK. Repeat for .World.Ldumbell. For the racks leave the mass as default.

Step 17: Fix the racks to the ground
Select the fixed joint icon from the Main Toolbox. Select .World.Rrack as the first body and .World.ground as the second. select any vertex on the rack. Seleczt the icon again and select .World.Lrack as the first body and .World.ground as the second. Select any location the rack.

Step 18: Create contact forces between the right rack and dumbell
Select CONTACTS from the main menu and CREATE INDIVIDUAL CONTACT from the sub-menu. Set the parameters to figure 7. Set .World.Rdumbell.SOLID310 as contact solid 1 and .World.Rrack.SOLID312 as contact solid 2. Set .World.Rdumbell.cm as the reference marker. Select APPLY.

Step 19: Create contact forces between the left rack and dumbell
Select CONTACTS from the main menu and CREATE INDIVIDUAL CONTACT from the sub-menu. Set the parameters to figure 7. Set .World.Ldumbell.SOLID311 as contact solid 1 and .World.Lrack.SOLID313 as contact solid 2. Set .World.Ldumbell.cm as the reference marker. Select APPLY.

Step 20: Create grip force between right dumbell and right hand
Select CONTACTS from the main menu and CREATE GRIP FORCE from the sub-menu. Set the paramters to figure 8. Select Right Hand as the Body and .World.Rdumbell.cm as the External Entity Marker. Select APPLY.

Step 21: Create grip force between left dumbell and left hand
Select Left Hand as the Body and .World.Ldumbell.cm as the External Entity Marker. Set parameters to figure 8. Select APPLY


Running the Inverse-Dynamics Simulation for the Leg_lift Lift

With the human model in the proper position, the model connected to the ground at the feet and a gripping force installed at the hands, an inverse-dynamics simulation may be performed. In this phase, the motion agents will drive the model while the learning elements in the joints record the joint angle histories. The learning elements will be replaced with active elements in a subsequent forward dynamics simulation.


Figure 9: Successive animation frames from the inverse-dynamics simulation

Step 22: Bring up the motion agents parameters panel
Select _PARAMETERS on the main-menu and MOTION AGENTS on the sub-menu.

Step 23: Increase the weighting on the feet motion agents
Select "Golf Marker Set." Set the weighting coefficients to 10 for RLATM, RHEEL, R2MET, RLATM, LHEEL, L2MET. This will cause a greater spring force at those locations which will increase the contribution of the feet agents to the motion of the model. Select INTALL VALUES.

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

Step 25: Run the simulation
Set gravity to -9.80665 in the Y direction and run the simulation 3.2 seconds and 160 time steps using the "Default" integrator settings. Select ANALYZE.

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


Preparing the Model for Forward Dynamics Simulation for the Leg_lift Lift

After the inverse-dynamics simulation is performed the joint angle histories are now recorded from the learning elements each joint. The training elements are then replaced with active elements utilizing the recorded angle histories for the forward-dynamics simulation. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 10: Panel to update the passive learning joint elements with active elements

Step 17: Bring up the joint training panel
Select JOINTS from the main-menu and TRAINING from the sub-menu.

Step 18: Install ACTIVE contractile elements on muscles
Select "Install Trained Driver Rotational Joint Elements" to bring up the sub-pane. Enter 3e5 for the proportional gain and 3000 for the derivative gain. Select APPLY.


Running the Forward Dynamics Simulation

With the active elements installed on the joints, the model is now ready for forward dynamics simulation.


Figure 11: Disable motion agents and run the forward dynamics simulation

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

Step 20: Disable motion agents and run the forward dynamics simulation
Select "Disable Motion Agents". Run the simulation 3.2 seconds and 160 time steps using the "Default" integrator settings. Select ANALYZE.

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


Set up the Model for the Back_lift Lift

Motion capture data for the Back_lift lift is read into LifeMOD™ and the indirect dynamics forward dynamics process is repeated.


Figure 12: Update the joint formulations with passive (TRAINABLE) elements

Step 22: Save the first analysis
Select SAVE ANALYSIS and enter the name Leg_lift. Select OK.

Step 23: Bring up the MOCAP data import panel
Select MOTION on the main-menu and IMPORT MOTION CAPTURE DATA on the sub-menu.

Step 24: Read in the motion capture data for the Back_lift lift
Select Motion Library and Full_Body: Lifting with Hips for the Motion Library SLF File. Set "Back_lift" as the data prefix and select APPLY to read the data.

Step 25: Bring up the motion edit base set panel
Select MOTION on the main-menu and EDIT BASE SET on the sub-menu.

Step 26: Exchange the motion data in the existing motion agents
Enter "Back_lift" as the data prefix and select APPLY.

Step 27: Bring up the joints edit base set panel
Select JOINTS on the main-menu and TRAINING on the sub-menu.

Step 28: Update joint formulation with passive (Training) elements
Select "Re-Install Recording Passive Rotational Joint Elements" to reinstall the joint recording elements for an inverse-dynamics simulation.


Running the Inverse-Dynamics Simulation for the Back_lift Lift

With the passive (recording) elements installed on the joints, an inverse-dynamics simulation may be performed. In this phase, the motion agents will drive the model while the trainable elements in the joints record the joint angle histories. The recordable elements will be replaced with trained active elements in a subsequent forward dynamics simulation. Also, the position of the objects to be lifted must be adjusted due to minor inconsistencies between both sets of motion data.


Figure 13: Successive animation frames from the inverse-dynamics simulation


Figure 14: Moving the weights into place for the new motion capture data

Step 29: Move the objects into place
Use the cursor to select the dumbells, racks and fixed joints. Select the position icon in the main toolbox . Change the view to top-view (SHIFT-T). Translate the parts 8cm to the forward. Cursor select the right dumbell, rack and joint, and translate 7cm to the left. Select the left dumbell, rack and joint and translate 7 cm to the right.

Step 31: Run the simulation
Run the simulation 3.2 seconds and 160 time steps using the "Default" integrator settings. Select ANALYZE.

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


Preparing the Model for Forward Dynamics Simulation for the Back_lift Lift

After the inverse-dynamics simulation is performed the joint angle histories are now recorded from the trainable elements each joint. The trainable elements are then replaced with trained active elements utilizing the recorded angle histories for the forward-dynamics simulation.


Figure 15: Panel to update the passive learning joint elements with active elements

Step 33: Bring up the joint training panel
Select JOINTS from the main-menu and TRAINING from the sub-menu.

Step 34: Install ACTIVE contractile elements on muscles
Select Install Trained Driver Rotational Elements light bulb to bring up the sub-panel and select Apply.


Running the Forward Dynamics Simulation for the Back_lift Lift

With the trained active elements installed on the joints, the model is now ready for forward dynamics simulation.


Figure 16: Disable motion agents and run the forward dynamics simulation

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

Step 36: Disable motion agents and run the forward dynamics simulation
Select "Disable Motion Agents". Run the simulation 3.2 seconds and 160 time steps using the "Default" integrator settings. Select ANALYZE.

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

Step 38: Save the second analysis
Select SAVE ANALYSIS and enter the name Back_lift. Select OK.


Interrogating the Results

When the simulation is complete the model may be animated and the results reviewed. Various data may be presented from the forward-dynamics simulation including:

  • Compare joint torques between the two analyses
  • Compare joint kinematics


Figure 17: Thoracic torque for both Leg_lift and Back_lift lifts


Figure 18: Right hip torque for both lifts


Figure 19: Right shoulder sagittal plane torque for both lifts


Figure 20: Right knee sagittal plane torque for both lifts


Figure 21: Animation frames display differences in lifting techniques


Figure 22: Animation frames displaying the scaling joint torque graphics

 


Figure 23: Results panel and location of the button to toggle between the model window and the post processor.

Step 39: Bring up results panel
Select RESULTS in the main-menu and DATA DISPLAY in the sub-menu. Select Joints as the Data Type and the post processor button.

Step 40: Plot the thoracic muscle torque for the Leg_lift case
Specify the .World.Leg_lift analysis. Select Andy_Thoracic for the joint, the torque characteristic and the sagittal component. Select CREATE FULL PLOT to create the data curve.

Step 41: Plot the thoracic muscle torque for the Back_lift case
Specify the .World.Back_lift analysis. Select Andy_Thoracic for the joint, the torque characteristic and the sagittal component. Select a low pass butterworth data filter with a cutoff frequency of 30.0 and an order of 1. Select CREATE FULL PLOT to create the data curve.

Step 42: Animate Leg_lift case side view
Select ANIMATION in the sub-menu. Specify the .World.Leg_lift analysis. Select right view, divide window. Select PLAY.

Step 43: Turn on the Joint Torque Graphics
Turn on the joint graphics and select the external body representation as none and the internal as stick using the LifeMOD Display Toolbox. Turn on the local scaling of the joint graphics by selecting Scale Joint/Tissue Graphics, Joints, Scale Globally and the light bulb to scale the muscle graphics. See figure 22 for a display of the scaling joint torque graphics.

Step 44: Animate the Leg_lift case, side view
Select right view and select PLAY. Observe the scaling joint torque bubbles.

Step 45: Animate Back_lift case side view
Turn of Joint Torque Scaling, and select skeleton as the internal representation in the LifeMOD Display Toolbox. Specify the .World.Back_lift analysis. Select right view, divide window. Select PLAY.

Step 46: Turn on the Joint Torque Graphics
Turn on the joint graphics and select the external body representation as none and the internal as stick using the LifeMOD Display Toolbox. Turn on the local scaling of the joint graphics by selecting Scale Joint/Tissue Graphics, Joints, Scale Globally and the light bulb to scale the muscle graphics. See figure 18 for a display of the scaling joint torque graphics.

Step 47: Animate the Back_lift case, side view
Select right view and select PL AY. Observe the scaling joint torque bubbles.

Step 48: Superimpose both cases for animation
In the results panel select Compare Cases and .World.Back_lift for Case 1 and .World.Leg_lift for Case 2. Select PLAY.

Step 49: Plot the hip joint torque for the Leg_lift case
Select DATA DISPLAY in the sub-menu. Specify the .World.Leg_lift analysis. Select Andy_Right_Hip for the joint, the torque characteristic and the sagittal component. Check New Plot and select CREATE FULL PLOT to create the data curve.

Step 50: Plot the hip joint torque for the Back_lift case
Specify the .World.Back_lift analysis. Select Andy_Right_Hip for the joint, the torque characteristic and the sagittal component. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select CREATE FULL PLOT to create the data curve.

Step 51: Animate Leg_lift case side view
Select ANIMATION in the sub-menu. Specify the .World.Leg_lift analysis. Select right view, divide window. Select PLAY.

Step 52: Animate Back_lift case side view
Specify the .World .Back_lift analysis. Select right view, divide window. Select PLAY.

Step 53: Superimpose both cases for animation
In the results panel select Compare Cases and .World.Back_lift for Case 1 and .World.Leg_lift for Case 2. Select PLAY.

Step 54: Plot the knee joint torque for the Leg_lift case
Select DATA DISPLAY in the sub-menu. Specify the .World.Leg_lift analysis. Select Andy_Right_Knee for the joint, the torque characteristic and the sagittal component. Check "New Plot" and select CREATE FULL PLOT to create the data curve.

Step 55: Plot the knee joint torque for the Back_lift case
Specify the .World.Back_lift analysis. Select Andy_Right_Knee for the joint, the torque characteristic and the sagittal component. Select CREATE FULL PLOT to create the data curve.

Step 56: Animate Leg_lift case side view
Select ANIMATION in the sub-menu. Specify the .World.Leg_lift analysis. Select right view, divide window. Select PLAY.

Step 57: Animate Back_lift case side view
Specify the .World.Back_lift analysis. Select right view, divide window. Select PLAY.

Step 58: Superimpose both cases for animation
In the results panel select Compare Cases and .world.Back_lift for Case 1 and .world.Leg_lift for Case 2. Select PLAY.

Step 59: Plot the right shoulder torque for the Leg_lift case
Select DATA DISPLAY in the sub-menu. Specify the .world.Leg_lift analysis. Select Andy_Right_Shoulder for the joint, the torque characteristic and the sagittal component. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Check "New Plot" and select CREATE FULL PLOT to create the data curve.

Step 60: Plot the right shoulder torque for the Back_lift case
Specify the World .Back_lift analysis. Select Andy_Right_Hip for the joint, the torque characteristic and the sagittal component. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select CREATE FULL PLOT to create the data curve.

Step 61: Animate Leg_lift case side view
Select ANIMATION in the sub-menu.Specify the .World.Leg_lift analysis. Select right view, frame increment = 2, divide window. Select PLAY.

Step 62: Animate Back_lift case side view
Specify the World .Back_lift analysis. Select right view, divide window. Select PLAY.

Step 63: Superimpose both cases for animation
In the results panel select Compare Cases and .world.Back_lift for Case 1 and .world.Leg_lift for Case 2. Select PLAY.

Step 64: DEMO COMPLETE


Further

This model could be further refined:

  • to examine the effects on full-body muscles
  • to model grasping in greater detail
  • to evaluate effects of muscle force weakening

Acknowledgement

A special thanks for furnishing the data for this model to:

John Jolly
University of Pittsburgh
Neuromuscular Research Laboratory
http://www.pitt.edu/~neurolab

 
Back To Top