Clinical Application - Gait Analysis
The motion capture was performed for two individuals to compare various aspects of their functional gait parameters. Two models will be built in LifeMOD™ and the simulations performed with the models walking side-by side for a visual comparison, as well as examining gait kinematics, kinetics and ground reaction forces.
Features of this model include:
- Inverse-dynamics simulation
- Forward-dynamics simulation
- Model driven with motion-capture data
- Two human simulation models
- Direct model comparison
Steps
Generating the Body Segments
In this phase, the human segments of models are created for both bodies. The first body, "Connor" is created from properties in the model library. The second body, "Casey" is created from properties in model library.
Step 1: Bring up segments panel and set fields
Launch the LifeMOD™ software and select CREATE NEW MODEL to begin a new modeling session. Select XCHANGE from the main-menu and IMPORT SLF MODEL FILE from the sub-menu.
Step 2: Import the Connor body from the model library
Select Lower Body Gait Case 2 as the Model Library SLF File. Make sure Body is checked and select APPLY to create the Connor body
Step 3: Import the Casey body from the model library
Select Lower Body Gait Case 1 as the Model Library SLF File.
Make sure Body is checked and select APPLY to create the Casey body
Generating the 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. The torque functions are simple, lightly damped springs to stabilize the model during the inverse-dynamics simulation. For information on selecting specific model parameters for this section see Choosing Model Parameters.
Step 4: Bring up joint create panel
Select JOINTS on the main-menu and CREATE BASE JOINT SET on the sub-menu.
Step 5: Create the passive spring-damper joints on Casey
Select "Prepare Model with Recording Joints (To be trained in an inverse-dynamics simulation)." Specify the nominal joint stiffness to be 1e5 and the damping to be 1e4. Select the right and left legs and select APPLY.
Step 6: Set active the Connor model
Specify the active model (at the top of the panel) to be "Connor".
Step 7: Create the passive spring-damper joints on Connor
Specify the nominal joint stiffness to be 1e5 and the damping to be 1e4. Select the right and left legs and select APPLY.
Generating the Motion Agents
The models, as they exist, are passive and must be driven with an external force. To drive the model to capture the simple joint angle histories for each joint, Motion Agents will be added to the model. The motion agents have the effect of guiding the model to track the segment motion contained in the motion input file.
The steps include importing the motion data file, creating the motion agents, fitting the model to the data, and synchronizing the motion agents. The synchronization process reduces the slight differences between the model and the data.
For this example only a subset of the captured data is used. The discarded data represents known inaccuracies such as occlusions, etc.
Step 8: Bring up MOCAP data import panel
Select MOTION on the main-menu and IMPORT MOTION CAPTURE DATA on the sub-menu. Specify Motion Library.
Step 9: Read in the motion capture data for the Connor model
Select "Lower Body: Gait Case 2" as the motion library file. Specify the Data Prefix as Gait_Connor and Use FULL Data Set. Select APPLY.
Step 10: Bring up the motion agent create panel
Select MOTION on the main-menu and CREATE BASE MOTION AGENT SET on the sub-menu.
Step 11: Specify the the weights on the motion agents and create
Select "Helen Hayes Lower Body Protocol". If data does not exist for a particular marker, the option tab will be rendered inactive. Adjust the weights as in Figure 4 to increase the contribution of the motion agents of these markers where data is considered to be more reliable and artifact-free. Check "Global" and Data Prefix to Gait_Connor. Select APPLY.
Step 12: Set active the Casey model
Specify the active model (at the top of the panel) to be "Casey".
Step 13: Bring up MOCAP data import panel
Select MOTION on the main-menu and IMPORT MOTION CAPTURE DATA on the sub-menu. Specify the Motion Library.
Step 14: Read in the motion capture data for the Casey model
Select "Lower Body: Gait Case 1" as the motion library file. Specify the Data Prefix as Gait_Casey and Use FULL Data Set.
Step 15: Bring up the motion agent create panel
Select MOTION on the main-menu and CREATE BASE MOTION AGENT SET on the sub-menu.
Step 16: Specify the the weights on the motion agents and create
Select "Helen Hayes Lower Body Protocol". If data does not exist for a particular marker, the option tab will be rendered inactive. Adjust the weights as in Figure 4 to increase the contribution of the motion agents of these markers where data is considered to be more reliable and artifact-free.Check "Global" and set the Data Prefix to Gait_Casey.
Running the Equilibrium Analysis
In order to fit the model to the data positions, an equilibrium analysis must be performed. This is a dynamics analytics 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.
Step 17: Set active both models
Specify the active model (at the top of the panel) to be "ALL".
Step 18:Bring up analyze panel
Select ANALYZE on the main-menu and DYNAMICS on the sub-menu.
Step 19: Run the equilibrium simulation
Check "Freeze Motion Agents for Equilibrium Analysis" and run the simulation for 4 seconds and 100 time steps using the "Robust" integrator settings.
Step 20: Set active Casey model
Specify the active model (at the top of the panel) to be "Casey".
Step 21: Update the model configuration with equilibrium results
Select "Update Posture with Equilibrium Results" button to adjust the starting posture of the model to the equilibrium position.
Step 22: Set active Connor model
Specify the active model (at the top of the panel) to be "Connor".
Step 23: Update the model configuration with equilibrium results
Select "Update Posture with Equilibrium Results" button to adjust the starting posture of the model to the equilibrium position.
Step 24: Synchronize marker locations
Select "Synchronize Body Marker Locations with Data Locations" button to move the body marker locations to the locations of the data.
Step 25: Set active Casey model
Specify the active model (at the top of the panel) to be "Casey".
Step 26: Synchronize marker locations
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 parameters for this section see Choosing Model Parameters.
Step 27: Create the ground contact marker
Create a marker to designate the location and orientation of the ground (z-axis pointing normal to surface) Select the create marker icon from the main toolbox. Select any location and modify the location to (0,0,0) and orientation to (0,-90,0). Rename .World.ground.flr.
OR
Create the marker by using the following ADAMS/View commands.
marker cre marker=.World.ground.flr loc= 0,0,0 ori= 0.0, -90.0, 0.0 rel= .World
Step 28: Bring up the contact panel
Select CONTACTS on the main-menu and CREATE BASE CONTACT SET on the sub-menu.
Step 29: Create the contact forces between the feet and the floor
Check "Create Contact Surface Graphics", set depth to 10, X-length to 3000 and Y-length to 3000. Check force vectors to create scaled force graphics during animation and check simple so as to create only two vectors instead of one per contact element on the feet. See figure 6 for contact parameters. Select APPLY.
Step 30: Set active Connor model
Specify the active model (at the top of the panel) to be "Connor".
Step 31: Create the contact forces between the feet and the floor
Check "Create Contact Surface Graphics", set depth to 10, X-length to 3000 and Y-length to 3000. Check force vectors to create scaled force graphics during animation and check simple so as to create only two vectors instead of one per contact element on the feet. See figure 6 for contact parameters. Select APPLY.
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 the rotations of the joints ("training" elements) are recorded to be used in the following forward dynamics simulation.
Step 32: Set active both models
Specify the active model (at the top of the display panel) to be "ALL".
Step 33: Bring up analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu.
Step 34: Run the simulation
Set the gravity to -9806 in the Y-direction and run the simulation for 2.5 seconds and 250 time steps using the "Default" integrator settings.
Step 35: 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" joints.
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. For information on selecting specific model parameters for this section see Choosing Model Parameters.
Step 36: Set active Connor model
Specify the active model (at the top of the panel) to be "Connor".
Step 37: Bring up the joints training panel
Select JOINTS from the main-menu and TRAINING from the sub-menu.
Step 38: Update joints with ACTIVE elements
Select "Install Trained Driver Rotational Elements".
Step 39: Set the fields and update the joints
Specify the Servo proportional gain at 1e5 and the derivative gain at 1e3. Select APPLY to update the leg joints with the active elements. 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.
Step 40: Bring up the motion agent tracker panel
Select MOTION on the main-menu and CREATE TRACKER AGENT on the sub-menu.
Step 41: Create the tracking agent
Set the stiffness parameters as in Figure 9 and specify all freedoms as driven except for the Y-dof which is specified as free. This allows the model to create the proper ground reaction force.
Step 42: Set active Casey model
Specify the active model (at the top of the panel) to be "Casey".
Step 43: Bring up the joints training panel
Select JOINTS from the main-menu and TRAINING from the sub-menu.
Step 44: Update joints with ACTIVE elements
Select "Intall Trained Driver Rotational Joint Elements" .
Step 45: Set the fields and update the joints
Specify the Servo proportional gain at 1e6 and the derivative gain at 1e5. Select APPLY to update the leg joints with the active elements
Step 46: Bring up the motion agent tracker panel
Select MOTION on the main-menu and CREATE TRACKER AGENT on the sub-menu.
Step 47: Create the tracking agent
Set the stiffness parameters as in Figure 9 and specify all freedoms as driven except for the Y-dof which is specified as free. This allows the model to create the proper ground reaction force.
Running the Forward Dynamics Simulation
With the joint formulated to include PD-servo controllers 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.
Step 48: Set active both models
Specify the active model (at the top of the panel) to be "ALL".
Step 49: Bring up analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu.
Step 50: Run the simulation
Set the gravity to -9806 in the Y-direction, select "Disable Motion Agents" and "Intial Static" and run the simulation for 2.5 seconds and 250 time steps using the "Robust" integrator settings.
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
Step 51: Display simulation
Use the ADAMS/View toolbox to animate the model.
Step 52: Display simulation with skin/skel model
Set the external display to skin and the internal to skeleton using the LifeMOD Display Toolbox. Use the ADAMS/View toolbox to animate the model
Step 53: 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 54: Plot the Connor left hip joint torques
Select "Connor_Left_Hip", 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 55: Plot the Casey left hip joint torques
Select "Casey_Left_Hip", 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 56: Animate right view
Select ANIMATION from the sub-menu. Select Divide Window. Select right view and select PLAY.
Step 57: Fix camera and animate right view
Check "Fix Camera to Marker " box and enter ".World.Connor_Lower_Torso.cm " as the marker to be tracked. Select Zoom and enter 0.0, 574.0, -1150.0 as the center coordinates and 2.6 as the scale. Select right view and select PLAY.
Step 58: Plot the Connor left knee joint torques
Select DATA DISPLAY in the sub-menu. Select "Connor_Left_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. Check "New Plot" and select CREATE FULL PLOT.
Step 59: Plot the Casey left knee joint torques
Select "Casey_Left_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 60: Animate top view
Select ANIMATION in the sub-menu. Select Divide Window. Select top view and select PLAY.
Step 61: Plot the Connor left ankle joint torques
Select DATA DISPLAY in the sub-menu. Select "Connor_Left_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. Check "New Plot" and select CREATE FULL PLOT.
Step 62: Plot the Casey left ankle joint torques
Select "Casey_Left_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 63: Animate ISO view
Select ANIMATION in the sub-menu. Select "Divide Window," iso view and select PLAY.
Step 64: Plot the ground reaction force for Connor right foot
Select DATA DISPLAY in the sub-menu. Select Contacts as the Data Type "Connor_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 65: Plot the ground reaction force for Connor left foot
Select "Connor_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 66: Plot the ground reaction force for Casey right foot
Select "Casey_GRX_Rfoot_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 67: Plot the ground reaction force for Casey left foot
Select "Casey_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 68: Animate right view
Select ANIMATION in the sub-menu. Select "Divide Window," right view and select PLAY.
Step 69: Plot the Connor right hip flexion angle
Select DATA DISPLAY in the sub-menu. Select Joints as the Data Type. Select "Connor_Right_Hip", Angle characteristic and sagittal 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 70: Plot the Casey right hip flexion angle
Select "Casey_Right_Hip", Angle 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 71: Plot the Connor right knee flexion angle
Select "Connor_Right_Knee", Angle 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 72: Plot the Casey right knee flexion angle
Select "Casey_Right_Knee", Angle 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 73: Plot the Connor right ankle flexion angle
Select "Connor_Right_Ankle", Angle 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 74: Plot the Casey right ankle flexion angle
Select "Casey_Right_Ankle", Angle 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 75: Fix camera and animate right view
Select ANIMATION in the sub-menu. Check "Camera Track" box and enter ".World.Connor_Lower_Torso" as the part to be tracked. Select right view and select PLAY.
Step 76: DEMO COMPLETE
Further
This model was put forth to demonstrate the creation of a active human model driven using data from a motion capture system. Obviously the model can be further refined and improved, from the point developed in this example. The intention with this example was to touch of the various modeling functions of both the LifeMOD™ Biomechanics Modeler and ADAMS/View necessary to create a model of this nature for this application.
This model may be refined in many areas including:
- Creating a force-based knee joint to examine local loadings on ligaments and (see Force-Based Knee Joint tutorial ).
- Create muscles to drive motion.
- Create a detailed foot model to understand the balancing activity of the foot.
Acknowledgement
A special thanks for furnishing the data for this model to:
Diego Crovato
eMotion S.r.l
Italy www.emotion3d.com/contact.html |