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 Dancing

This demonstration problem will illustrate the generation of a forward dynamics gait model using motion data recorded from a digitized motion capture source. The motion capture (MOCAP) data is assigned to the model using a Motion Agent set and the inverse dynamics simulation is performed. The motion agents are removed, and the recorded joint angle histories are used to drive the torque functions in the joints for the forward dynamics simulation.

Key skills exercised in this tutorial include:

  • Creating a model, joints, and motion from the model library
  • Increasing the biofidelity of the foot segment
  • Creating foot/floor contact forces
  • Assigning MOCAP data through motion agent sets.
  • Running inverse-dynamics simulations
  • Running forward-dynamics simulations

Sections


Generating the Body Segments, Joints and Motion

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/BodySIM™ 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 referred to as the "training" phase. 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. They are later removed and replaced with Servo-type torque generators for the "trained" phase. The parameters of the passive joints are included in the SLF file

Finally, the motion data (MOCAP) for the dancing maneuver 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 joint rotation 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: Segment creation panel set up for the Jenn model. In this case, it is assumed that the first .5 seconds of the data is unusable.

 


Figure 2: The resulting model with the joints, posture and motion data installed.

Step 1: Bring up the import panel
Select _Xchange from the main-menu and IMPORT SLF MODEL FILE from the sub-menu.

Step 2: Import the body, joints and motion from the model library
Specify Model Library and Full Body Dancing for the Model Library SLF File. Select Build Body and Joints. Select Use PARTIAL Data Set with a simulation start time of .5 seconds and an end time of 3 seconds. In this example it is assumed that this window of the data is the most accurate for the simulation. Next, select Apply to create the segmented model with joints.

 


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: Data locations when agents first created (left), after moving into center of data cloud (center) and after equilibrium simulation (right)

 

Step 3: Bring up parameters panel
Select PARAMETERS on the main-menu and MOTION AGENTS on the sub-menu. Select Plug-in-gait Marker Set.

Step 4: Reduce the scale of the translation stiffness/damping on the motion agents
Enter 5e-4 and 5e-3 for the Global Translational Stiffness and Global Translational Damping respectively. Select Install Values to reduce the force in the motion agents springs.

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

Step 6: Run the equilibrium simulation
Check "Freeze Motion Agents for Equilibrium Analysis" and run the simulation for 2 seconds and 100 time steps using the robust integrator settings.

Step 7: Update the model configuration with static results
Select "Update Posture with Equilibrium Results" button to adjust the starting posture of the model to the equilibrium position.

Step 8: Align the body markers with data
Select "Synchronize Body Marker Locations with Data Locations" button to move the body marker locations to the locations of the data.


Creating the Foot-Floor Contacts

The contact ellipsoids automatically created at the time of segment generation, will now be used to create the foot-floor contact elements. For information on selecting specific model arresters for this section see Choosing Model Parameters.

Floor
Figure 4: Contact generation panel set to create contacts on the ellipsoids of the feet

Step 9: Create the ground contact marker
Create a marker to designate the location and orientation of the ground (z-axis pointing normal to surface) using the main toolbox. Rename the marker .World.ground.flr and modify the location to be 0, -50, 0 with an orientation of 0, -90, 0.
OR
Create the ground contact marker using the following ADAMS/View commands.

marker cre marker=.World.ground.flr loc= 0,-50,0 ori= 0.0, -90.0, 0.0 rel= .World

Step 10: Bring up the contact panel
Select CONTACTS on the main-menu and CREATE BASE CONTACT SET on the sub-menu.

Step 11: Create the contact forces between the feet and the floor
Specify Ellipsoid-Plane contact. Check "Create Contact Surface Plane ", set thickness to 10, X-length to 5000 and Y-length to 5000. Check force vectors to create scaled force graphics during animation and check single so as to create only two vectors instead of one per contact element on the feet. Set the contact parameters as in figure 4. (Note: Change Mu Dynamic and Stiction Transition Velocity before selecting Ellipsoid-Plane contact)


Running the Inverse Dynamics Simulation

From this simulation, it can be seen that the human model will track the motion data. Discrepancies between the recorded motion history and the performance of the model can be witnessed by observing the Motion Agents during animation. A yellow sphere will track the motion exactly, a red sphere is rigidly attached to the body segment. When a discrepancy between the data and the kinematics restraints in the model occur there will be a separation of these two spheres (the bushing uniting the two parts extends). This flexibility allows the Motion Agents to become "motion influencers" rather that motion governors. This allows for errors in data, measurement and collection.

As a product of the inverse-dynamics simulation or the "training" phase, the rotations of the joints are recorded to be used in the following forward-dynamics simulation.


Figure 5: Animation sequence for the inverse-dynamics analysis, and close-up view of motion agent activity (right).

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

Step 13: Run the simulation
Set the gravity to -9806 in the Y-direction and run the simulation for 2.0 seconds and 200 time steps using the robust integrator settings.

Step 14: Display animation
Display animation using the ADAMS/View toolbox.


Preparing the Model for the Forward Dynamics Simulation

With the joint angle history recorded from the inverse-dynamics simulation, it may now be used in a proportional-derivative controller to produce a torque to recreate the motion history. The process entails removing the Motion Agents and updating the joints to include the PD controllers or "trained" elements.

Also a tracker agent will be installed. The tracker agent is a motion agent which is driven using data recorded from the inverse-dynamics analysis. The agent will be used to guide the model and account for any dynamic instabilities. It consists of a simple bushing with a relatively small spring stiffness. For information on selecting specific model arresters for this section see Choosing Model Parameters.


Figure 6: Panel to install PD-Servo controllers ("trained" elements) on the joints for forward dynamics simulation.


Figure 7: Panel to create tracker agent

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

Step 16: Update the joints with the Active element
Select "Install Trained Driver Rotational Joint Elements."

Step 17: Set fields and update joints
Enter 1e5 and 1e3 for the servo proportional and derivative gain respectively. A rule of thumb in selecting controller gains is to select a relatively high proportional gain, and a derivative gain at about 10% of the proportional gain. These values may be varied using the Parameters selection from the LifeMOD™ main menu to note the effect on the simulation results.Select EXECUTE.

Step 18: Bring up the motion agent tracker panel
Select MOTION on the main-menu and CREATE TRACKER AGENT on the sub-menu.

Step 19: Create the tracking agent
Set the stiffness parameters as in Figure 7 and specify all freedoms as driven.

Step 20: Bring up parameters panel
Select PARAMETERS on the main-menu and MOTION AGENTS on the sub-menu. Select Plug-in-gait Marker Set.

Step 21: Change the scale of the translation stiffness/damping on the motion agents
Enter 1.0 for both Global Translational Stiffness and Global Translational Damping respectively. Select Install Values.

 


Running the Forward Dynamics Simulation

With the joint formulated to include PD-servo controllers ("trained" elements) based on motion recorded from the inverse-dynamics analysis and the foot-floor contact forces installed, the model is now ready a forward dynamics simulation.


Figure 8: Animation sequence showing model motion and ground reaction force vectors

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

Step 23: Disable motion agents and run the simulation
Set the gravity to -9806 in the Y-direction, check "Disable Motion Agents," and run the simulation for 2.0 seconds and 200 time steps using the robust integrator setting.


Interrogating the Results

When the simulation is complete the model may be animated. To gain insight to the dynamics of gait and the joint reactions necessary for locomotion.

  • Hip, knee and ankle torques
  • Ground reaction force


Figure 9: Panel set up to plot the left hip torque


Figure 10: Left leg torques (left plot), ground reaction forces (right plot)

Step 24: Display simulation
Use the ADAMS/View toolbox to animate the model.

Step 25: Display simulation with skin/skel model
Set the display to skin/skel and use the ADAMS/View toolbox to animate the model

Step 26: Bring up results panel
Select RESULTS on the main-menu and DATA DISPLAY on the sub-menu. Select Joints as the data type. Select "Results Window" button to bring up the results processor.

Step 27: Plot the right hip sagittal torque
Select "Jenn_Right_Hip", torque characteristic and sagittal component. Check "Filter Data" and select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Select CREATE FULL PLOT.

Step 28: Plot the right knee joint torques
Select "Jenn_Right_Knee", torque characteristic and sagittal component. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Select CREATE FULL PLOT.

Step 29: Plot the right ankle joint torques
Select "Jenn_Right_Ankle", torque characteristic and sagittal component. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Select CREATE FULL PLOT.

Step 30: Animate side view
Select ANIMATION on the sub-menu. Select front view and select PLAY.

Step 31: Animate front view
Select right view and select PLAY.

Step 32: Animate iso view
Select iso view and select PLAY.

Step 33: Bring up contact results panel
Select DATA DISPLAY in the sub-menu. Select CONTACTS as the data type.

Step 34: Plot the ground reaction force for right foot
Select "Jenn_GRX_Rfoot_1", magnitude component. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Check "New Plot" and select CREATE FULL PLOT.

Step 35: Plot the ground reaction force for left foot
Select "Jenn_GRX_Lfoot_1", magnitude component. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Select CREATE FULL PLOT.

Step 36: Animate iso view
Select ANIMATION on the sub-menu. Select iso view and select PLAY.

Step 37: Animate front view
Select front view and select PLAY.

Step 38: Bring up body motion results panel
Select DATA DISPLAY on the sub-menu. Select BODY MOTION as the data type.

Step 39: Plot the head acceleration
Select "Jenn_Head", Y component and CM_ Acceleration characteristic. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 5. Check New Plot and select CREATE FULL PLOT.

Step 40: Animate right view
Select ANIMATION from sub-menu. Select right view and select PLAY.

Step 41: DEMO COMPLETE


Further

This model was put forth to demonstrate the capability of a forward dynamics gait model to assess the internal reactions and external ground reactions of locomotion.

  • This model may be refined in many areas including:
  • Creating the full body
  • Adding a balance control controller.
  • Refine the foot further to verify ground reaction results to force plane measurements
  • Add point-to-point muscle forces instead of torques
  • Add force-based knee joints to the model.

Acknowledgement

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

Mike Kocourek
Business Development Manager, Life Sciences Division
Vicon Motion Systems, Inc.
www.vicon.com