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

Human Performance Application - Fighting

The LifeMOD/BodySIM™ Biomechanics Modeler can be used to create as many as six separate interacting models in an environment. Contact forces can be created between segments of each model to allow for human-human forces to be inflicted. This example involves the generation of two human models. One model is active and punches the other model in the chest. The second model, being only passive, simply recoils from the punch and falls to the ground.

Features of this model include:

  • Creating multiple human models in a single environment
  • Creating body to body contact forces
  • Creating foot-floor contact
  • Generation of passive and active models
  • Multiple function joints
  • Using the human model data export and import feature
  • Personalizing the body parameters
  • Contact elements between body segments and environment
  • Posture manipulation

Steps


Generating of the Body Segments

In this phase, the human segments of models are created for both bodies. The first body, "Joe" is created from the GeBod anthropometric database, with some editing of the parameter table. The second body, "Fred" is created from the GeBod database using standard parameters.


Figure 1: Segments creation panel and both Joe and Fred models


Figure 2: Editing the body parameters table

Step 1: Bring up segments panel and set fields for first body
Select SEGMENTS from the main-menu and CREATE BASE SET from the sub-menu. Set the human model name to Joe and specify the full body. Select '"Create Model from Anthropometric Database" and select "GeBod" as the database with parameters of "male", height of 70 inches and weight of 170 lbs. Select "Grip hands". Select OK.

Step 2: Bring up the detailed measurements panel
Select "Edit Body Measurements" to bring up the Body Segment Measurement table.

Step 3: Make adjustments to the geometry of the human model
Make adjustments to the table (See Figure 2) and select OK.

Step 4: Create the first body
Select CREATE BODY MODEL on the segments panel to create the body.

Step 5: Bring up segments panel and set fields for second body
Set the human model name to Fred and specify the full body. Select "Create Model from Anthropometric Database" and select "GeBod" as the database with parameters of "male", height of 62 inches and weight of 150 lbs. Select OK.

Step 6: Create the second body
Select CREATE BODY MODEL on the segments panel to create the body.


Creating the Hybrid III Joints

In this phase, the human segments created in the first phase are connected together with kinematic joints. At the same time torque functions are created at each joint degree of freedom.

Since the Fred model will be the model which is struck by Joe, it will be a reactive model only. For this case, the spring-damper torque functions available from the Hybrid III will be used. The torque is based on a nonlinear joint stiffness, damping, friction and hysteresis (losses), specific to each DOF for each joint as derived from the physical Hybrid III crash dummy. For information on selecting specific model parameters for this section see Choosing Model Parameters.

 


Figure 4: Complete set of joints established on the Fred model. Joints can be depicted as spheres (left) and joint axes (right).


Figure 4: Spinal Joint Matrix panel with HII scale factor set to .6


Figure 5: Left arm joint matrix


Figure 6: Left Leg Joint Matrix panel with HIII scale factors set for each joint.

 

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

Step 8: Create Hybrid III strength joints
Select "Hybrid III Crash Dummy Strength Characteristics". Enter .6 as the Hybrid III scale factor. Select MODIFY.

Step 9: Create Hybrid III strength joints on the right leg
Enter the scale factors as in figure 6 on the right leg matrix panel. Select APPLY.

Step 10: Create Hybrid III strength joints on the left leg
Enter the scale factors as in figure 6 on the left leg matrix panel. Select APPLY.

Step 11: Create Hybrid III strength joints on the left arm
Hybrid III scale factors should all be set to .6 and select APPLY.

Step 12: Create Hybrid III strength joints on the right arm
Hybrid III scale factors should all be set to .6 and select APPLY.

Step 13: Create Hybrid III strength joints on the spine
Hybrid III scale factors should all be set to .6 and select APPLY.


Posing the Fred Human Model

With the joints created on the Fred model, the joint angles may now be modified to adjust the starting posture of the model.


Figure 7: Adjusting the joint angles of the Fred model to change the starting posture

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

Step 15: Load existing values
Select "Load Current Joint Angles" button.

Step 16: Adjust the right shoulder and elbow joints
Specify -44 for the right shoulder sagittal angle, and -84 for the right elbow sagittal angle. Select SHOULDER and ELBOW to create the right arm joints.

Step 17: Adjust the left shoulder and elbow joints
Specify -20 for the left shoulder sagittal angle, and -78 for the left elbow sagittal angle. Select SHOULDER and ELBOW to create the left arm joints.

Step 18: Adjust the left hip, knee and ankle joints
Specify 20 for the left hip sagittal angle, and -15 for the left knee sagittal angle. Select HIP, KNEE and ANKLE to create the left leg joints

Step 19: Adjust the right hip, knee and ankle joints
Specify -20 for the right hip sagittal angle, and 25 for the right knee sagittal angle and 5 for the right ankle sagittal angle. Select HIP, KNEE and ANKLE to create the right leg joints.

Step 20: Adjust the spinal joints
Specify 10 for the thoracic sagittal angle, and 10 for the lumbar sagittal angle and 5 for the right ankle sagittal angle. Select THORACIC and LUMBAR to create the right leg joints.

Step 21: Move the model into place
Reposition the model by modifying the location of the Lower_Torso segment. Enter the ADAMS/View command:

part mod rigid name part=.World.Fred_Lower_Torso location=-13.7, -1.2, 1.674015748 orientation=180,90,180 rel=.World

Step 22: Set active the Joe model
Select "Joe" for the active body.


Creating the Passive Joints on Model Joe

The second model, "Joe" has a combination of Hybrid III passive joint torques and motion driven joints (to punch the other human model).


Figure 8: Active and passive joints on the puncher model

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

Step 24: Create Hybrid III strength joints on right leg
Select "Hybrid III Crash Dummy Strength Characteristics". Enter a 3 scale factor, check right leg and select EXECUTE.

Step 25: Create Hybrid III strength joints on left leg
Select "Hybrid III Crash Dummy Strength Characteristics". Enter a 7 scale factor, check left leg and select EXECUTE.


Adding Active Joints to the Human Model

The active joints are driven using torque functions to create the necessary driving torque at the particular joint degree-of-freedom to track an input data table. The data table is input via an ADAMS/View spline.

Simulation Time Right Shoulder Left Shoulder Lumbar Neck Right Elbow
0 52 -18 0 0 -130
0.1 42 -14 2 -2 -125
0.2 32 -10 74 -4 -120
0.3 22 -8 6 -6 -100
0.4 -22 -6 8 -8 -70
0.5 -42 -4 10 -10 -40
0.6 -42   10 -10 -40
0.7 -42   10 -10 -40
0.8 -22   8 -8 -70
0.9 22   6 -6 -100
1 32   4 -4 -120
1.1 42   2 -2 -125
1.2 52   0 0 -130
1.3 52   -2 2 -130
1.4 52   -4 4 -130
1.5 52   -6 6 -130

Figure 9: Data table for the active joints in the model

Figure 10: Right Arm Joint Matrix panel for active/passive combination joints


Figure 11: Left Arm Joint Matrix panel for active/passive combination joints


Figure 12: Spinal Joint Matrix panel for active/passive combination joints

Step 26: Create the right shoulder spline using data from manual
Create the spline function for the right should using the following ADAMS/View command:

data_element create spline &
spline=.World.Joe_Rshoulder_spline &
x=0.0, 0.1, 0.2, 0.3, .4, .5, .6, .7, .8, .9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 &
y=52, 42, 32, 22, -22, -42, -42, -42, -22, 22, 32, 42, 52, 52, 52, 52 &
linear_extrapolate=no &
units=no_units

Step 27: Create the left shoulder spline using data from manual
Create the spline function for the left should using the following ADAMS/View command:

data_element create spline &
spline=.World.Joe_Lshoulder_spline &
x=0.0, 0.1, 0.2, 0.3, .4, .5 &
y=-18, -14, -10, -8, -6, -4 &
linear_extrapolate=no &
units=no_units

Step 28: Create the lumber spline using data from manual
Create the spline function for the lumbar spine using the following ADAMS/View command:

data_element create spline &
spline=.World.Joe_Lumbar_spline &
x=0.0, 0.1, 0.2, 0.3, .4, .5, .6, .7, .8, .9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 &
y=0,2,4,6,8,10,10,10,8,6,4,2,0,-2,-4,-6 &
linear_extrapolate=no &
units=no_units

Step 29: Create the neck spline using data from manual
Create the spline function for the neck using the following ADAMS/View command:

data_element create spline &
spline=.World.Joe_Neck_spline &
x=0.0, 0.1, 0.2, 0.3, .4, .5, .6, .7, .8, .9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 &
y=0,-2,-4,-6,-8,-10,-10,-10,-8,-6,-4,-2,0,2,4,6 &
linear_extrapolate=no &
units=no_units

Step 30: Create the elbow spline using data from manual
Create the spline function for the neck using the following ADAMS/View command:

data_element create spline &
spline=.World.Joe_Relbow_spline &
x=0.0, 0.1, 0.2, 0.3, .4, .5, .6, .7, .8, .9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5 &
y=-130,-125,-120,-100,-70,-40,-40,-40,-70,-100,-120,-125,-130,-130,-130,-130 &
linear_extrapolate=no &
units=no_units

Step 31: Create the active and passive joints on the right arm
Specify the parameters for the right arm as is Figure 10 and select APPLY.

Step 32: Create the active and passive joints on the left arm
Specify the parameters for the left arm as is Figure 11 and select APPLY.

Step 33: Create the active and passive joints on the spine
Specify the parameters for the spinal joints as is Figure 12 and select APPLY.


Posing the Joe Human Model

With the active and passive joints created on the Joe model, the joint angles must be modified to place the model in the posture at the start of the simulated punching event.


Figure 13: Posture modify panel and resulting posture for Joe (puncher) model.


Figure 14: Models before translating and rotating red model (left) and after (right).

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

Step 35: Load current joint angles
Select "Load Current Joint Angles" button.

Step 36: Adjust the right shoulder and elbow
Specify 52 for the right shoulder sagittal angle, and -130 for the right elbow sagittal angle.

Step 37: Adjust the left shoulder and elbow
Specify -18 for the left shoulder sagittal angle, and -135 for the left elbow sagittal angle.

Step 38: Adjust the right hip, knee, ankle
Specify -18 for the right hip sagittal angle, 23 for the right knee sagittal angle and -7 for the right ankle.

Step 39: Adjust the left hip, knee, ankle
Specify 15 for the left hip sagittal angle, 18 for the left knee sagittal angle and -10 for the left ankle.

Step 40: Turn on the first body
Specify ALL for the active body.

Step 41: Rotate and translate the second body
Reposition the model by modifying the location of the Lower_Torso segment. Enter the ADAMS/View command:

part mod rigid name part=.World.Joe_Lower_Torso location=11.2, 4.1, 1.7 orientation=180,90,0 rel=.World


Creating the Environment Contact Forces

With the models in place, contact forces must be designated between the Fred model who will be punched and will fall to the floor. Forces will also be created for the Joe model who will be standing on the floor. These forces will be between the segments of the Fred model and the environment. For information on selecting specific model parameters for this section see Choosing Model Parameters.


Figure 15: Contact panel set up to create right foot contacts on the Fred Model

Step 42: Create the ground marker
Create a marker to indicate the location and orientation of the ground (floor). The z-axis is pointing normal to the contact surface. Use the following ADAMS/View command to create the marker.

marker create marker=.World.ground.g location=-4.1540197817, -31.7518454266, -32.5409133732 orientation=180.0, 90.0, 90.0 rel=.World

Step 43: Set active the Fred model and bring up the contacts panel
Contact forces can only be created on one model at a time. Therefore, specify the Fred model as the active body and first body to generate contacts. Select CONTACTS on the main-menu and CREATE BASE SET on the sub-menu.

Step 44: Create contact between the various segments and the floor
Specify Head, Upper_Torso, Right_Upper_Arm, Right_Lower_Arm, Left_Upper_Arm, Left_Lower_Arm Right_Lower_Leg, Left_Lower_Leg, Right_Foot_Multiple and Left_Foot_Multiple as the contact segments. Specify .World.ground.g as the contact surface marker and set the parameters as in Figure 15. Select APPLY to create the contacts.

Step 45: Set active the Joe model
Set active the Joe model to create contacts.

Step 46: Create a bushing force element between the left foot and the floor
Since the left foot will not move during the punching simulation, it can be considered as fixed to the floor. Issue the following ADAMS/View to create the fixed joint between the foot and floor:

marker create marker=.World.Joe_Left_Foot.fix location = 26.1083821273, -25.9910445258, 5.3811277636 orientation=0.0, 0.0, 0.0

marker create marker=.World.ground.fix location = 26.1083821273, -25.9910445258, 5.3811277636 orientation=0.0, 0.0, 0.0

force cre element_like bushing bushing=.World.Lbush &
stiffness=1.0E+004,1.0E+004,1.0E+004 &
damping=1000.0,1000.0,1000.0 &
force_preload=0.0,0.0,0.0 &
tstiffness=1.0E+004,1.0E+004,1.0E+004 &
tdamping=1000.0,1000.0,1000.0 &
torque_preload=0.0,0.0,0.0 &
i_marker_name = .World.Joe_Left_Foot.fix &
j_marker_name = .World.ground.fix1

Step 47: Create a bushing force element between the right foot and the floor
Since the right foot will not move during the punching simulation, it can be considered as fixed to the floor. Issue the following ADAMS/View to create the fixed joint between the foot and floor:

marker create marker=.World.Joe_Right_Foot.fix location = 5.2694873594, -29.2027936596, -1.5595139056 orientation=0.0, 0.0, 0.0

marker create marker=.World.ground.fix2 location = 5.2694873594, -29.2027936596, -1.5595139056 orientation=0.0, 0.0, 0.0

force cre element_like bushing bushing=.World.Rbush &
stiffness=1.0E+004,1.0E+004,1.0E+004 &
damping=1000.0,1000.0,1000.0 &
force_preload=0.0,0.0,0.0 &
tstiffness=1.0E+004,1.0E+004,1.0E+004 &
tdamping=1000.0,1000.0,1000.0 &
torque_preload=0.0,0.0,0.0 &
i_marker_name = .World.Joe_Right_Foot.fix &
j_marker_name = .World.ground.fix2


Creating Contact Between the Fist and Upper Torso

With the environmental forces created, the interaction forces must be created between the fist of Joe and the upper_torso of Fred.


Figure 16: Contact marker created on the upper torso of the "Fred" model.


Figure 17: Contact panel set up for the contact between the fist of Fred and the chest of Joe

Step 48: Bring up the single contact force create panel
Select "Create Individual Contact". Select .World.Fred_Upper_Torso.Ellipsoid as the contact solid 1 and .World.Joe_Right_Hand.Ellipsoid as contact solid 2.. Set the parameters as in Figure 17 and select APPLY.

Step 49: Set active both human models
Set active ALL.


Running the Dynamics Simulation

With the forces in place, the punching simulation is ready to be run.


Figure 18: Analyze panel for the dynamic punching simulation

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

Step 51: Run the simulation
Set gravity at -386.0885826772 in the -y direction and run the simulation for 1.5 seconds and 150 time steps using the default integrator settings.


Interrogating the Results

When the simulation is complete the model may be animated. Figure 19 displays the model animation. To gain insight to the dynamics of the landing and potential injury producing events it would be useful to plot:

  • Head acceleration of the person punched
  • Chest acceleration
  • Punching force


Figure 19: Animation sequence of the event


Figure 20: Results panel set up to plot the head acceleration of Fred

Step 52: Display simulation
Use the ADAMS/View tools to animate the simulation

Step 53: Display simulation with skeletal model
Set the external display to none and the internal display to skeleton using the BodySIM Display Toolbox. Use the ADAMS/View tools to animate the simulation

Step 54: Display simulation with stick model
Set the external display to none and the internal display to stick using the BodySIM Display Toolbox. Use the ADAMS/View tools to animate the simulation

Step 55: Display simulation with dummy model
Set the external display to dummy and the internal display to none using the BodySIM Display Toolbox. Use the ADAMS/View tools to animate the simulation

Step 56: Display simulation with skel/skin model
Set the external display to skin and the internal display to skeleton using the BodySIM Display Toolbox. Use the ADAMS/View tools to animate the simulation

Step 57: Bring up results panel
Select RESULTS on the main-menu and DATA DISPLAY on the sub-menu. Select Body Motion as the Data Type. Select the "Results Window" button to bring up the post processor.

Step 58: Plot the head acceleration
Select "Fred_Head" as the body segment, and "CM_Acceleration" as the characteristic and magnitude component. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select PLOT CURVE.

Step 59: Plot the chest acceleration
Select "Fred_Upper_Torso" as the body segment, and "CM_Acceleration" as the characteristic and magnitude component. Select a low pass butterworth data filter with a cutoff frequency of 5.0 and an order of 1. Select PLOT CURVE.

Step 60: Animate iso view
Select ANIMATION in the sub-menu. Specify zoom with center coordinates of -26, -25, -18 and a scale of 2. Select iso view and select PLAY.

Step 61: Animate front view
Specify zoom with center coordinates of -20,5.6,-33 and a scale of 3. Select front view and select PLAY.

Step 62: DEMO COMPLETE


Further

This model was put forth to demonstrate the capability of creating multiple, interacting human models in a single environment. Obviously the model can be further refined and improved, from the point developed in this example. This model may be refined in many ways including:

  • Creating an active reaction from the punched model such as blocking, movement, etc.
  • Developing different activities such as throwing, tripping,etc.
  • Creating a feedback controller to have models compensate based on the activities of the other models.
  • Import motion capture data for the exact punching sequence.