Human Performance Application - Bicycle Rider
One of the most powerful features of the LifeMOD/BodySIM™ Biomechanics Modeler is the capability to create sophisticated human models which may interact with the environment or other mechanical systems. In this example a detailed model of a mountain bicycle is merged with a human model.
The human model is attached to the bicycle and inverse dynamics simulation is performed with the bicycle pedaling itself at a set velocity. During this simulation, the muscle contractile histories are recorded in the legs. The histories are then used in the muscle force models to produce a forward dynamics simulation in which the human model then pedals the bicycle. Three simulations are then performed: 1) baseline, 2) a simulation with a series of 3 inch bumps, and 3) a simulation with a series of 6 inch bumps.
Muscle forces are then compared for the three trials to examine the effect of the bump on the strength requirements of the muscles in order to maintain a constant speed.
Key skills exercised in this tutorial include:
- Development of a body model driven by muscle forces (legs) and joint torques (upper body)
- Importing a mountain bicycle model (full vehicle dynamics).
- Developing human/bike interface forces
- Combining a passive strength model (upper body) and active model (lower body)
- Development of trainable point-to-point muscle forces
- Inverse-dynamics, forward-dynamics simulations
- Terrain forces
- Parameter variation study
- Strip chart data reporting
Sections
Generating the Body Segments
The process begins by creating the segments of the base human model. For this example, segment dimensions, scale parameters and pass properties are secured from the GeBod anthropometric database.
Step 1: Bring up segments panel and set fields
Select SEGMENTS on the main-menu and CREATE BASE SET on the sub-menu. Select the GeBod anthropometric database. Select OK to set parameters
Step 2: Create the body
Select "Create Full 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. This model will have a combination of Hybrid III strength joints and passive stiffness joints. The passive joints are on the legs to stabilize the model during the inverse-dynamics simulation and the HIII joints are positioned at the spine and arms for a passive response to the bicycle forces during the forward-dynamics simulation. For information on selecting specific model parameters for this section see Choosing Model Parameters.
Step 3: Bring up joint create panel
Select JOINTS on the main-menu and CREATE BASE SET on the sub-menu.
Step 4: Create passive spring damper joints (with joint limits) for the model
Select "Spring Damper Joints with Stops" button.
Step 5: Set the parameterized stiffness and damping values
Set the nominal joint stiffness to 100 and the damping to 10.
Step 6: Create the parameterized joints
Select "Modify" to bring up the individual joint set matrices.
Step 7: Create H3 joints for the spine
Set the Hybrid III scale functions as in Figure 3 then select APPLY.
Step 8: Create Passive joints at the left leg
Set the parameters as in Figure 4 then select APPLY.
Step 9: Create H3 joints for the left arm
Set the Hybrid III scale functions as in Figure 5 then select APPLY.
Step 10: Create passive joints at the right leg
Set the parameters as in Figure 4 then select APPLY.
Step 11: Create H3 joints for the right arm
Set the Hybrid III scale functions as in Figure 5 then select APPLY.
Creating 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.
Step 12: Bring up the soft tissue panel
Select SOFT TISSUES on the main-menu and CREATE BASE SET on the sub-menu.
Step 13: set the fields for the muscle generation
Select the light bulb to bring up the panel displayed in figure 7. 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 14: Create the soft tissues on the legs
Specify "Execute" to create the muscle sets on the legs.
Merging Bicycle Model
A previously created model of a mountain bicycle exists in the environment library. The model consists of parts, constraints and forces. It also has simple terrain model which simulates the bicycle riding over a series of bumps. The height of the bumps is parameterized and may be adjusted to observe how the human model responds to the disturbance.
Step 15: Bring up the Import Mechanical Environment panel
Select XCHANGE from the main-menu and IMPORT MECHANICA ENVIRONMENT from the sub-menu. Select Mechanical Environment Library and Bicycle for the Model Library SLF File.
Step 16: Import the bicycle mechanical model
Select Apply to import the bicycle model into the human model database.
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.
Step 17: Bring up the posture panel
Select POSTURE from the main-menu and CONFIGURE BASE MODEL from the sub-menu.
Step 18: Put model in bicycle riding posture
Select "Load Posture" from the bottom of the panel in figure 11 and import the BicycleRiding.slf file to import the joint angles for the model.
Attaching the Human Model to the Bicycle
With the human model in position relative to the bicycle, the human model is now attached to the bicycle at the hands, feet and pelvis using bushing force elements.
Step 19: Create bushing elements between the hands and the grips
Use the following ADAMS/View commands to create the bushing forces between the hands and the grips:
Markers for Left Hand:
marker create marker=.World.Joe_Left_Hand.b1 loc=7.5,26,19.5 ori=0,0,0 rel=.World
marker create marker=.World.Frame.b1 loc=7.5,26,19.5 ori=0,0,0 rel=.World
Bushing Forces for Left Hand:
force cre ele bush bush=.World.Bush1 i_mark=.World.Joe_Left_Hand.b1 j_mark=.World.Frame.b1 stiff=1000.0,1000.0,1000.0 damp=100,100,100 & force_preload=0.0,0.0,0.0 tstiffness=1.0E+003,1.0E+003,1.0E+003 tdamping=1.0E+002,1.0E+002,1.0E+002 torque_preload=0.0,0.0,0.0
Markers for Right Hand:
marker create marker=.World.Joe_Right_Hand.b2 loc=-7.5,26,19.5 ori=0,0,0 rel=.World marker create marker=.World.Frame.b2 loc=-7.5,26,19.5 ori=0,0,0 rel=.World
Bushing Forces for Right Hand:
force cre ele bush bush=.World.Bush2 i_mark=.World.Joe_Right_Hand.b2 j_mark=.World.Frame.b2 stiff=1000.0,1000.0,1000.0 damp=100,100,100& force_preload=0.0,0.0,0.0 tstiffness=1.0E+003,1.0E+003,1.0E+003 tdamping=1.0E+002,1.0E+002,1.0E+002 torque_preload=0.0,0.0,0.0
Step 20: Create bushing elements between the feet and the pedals
Use the following ADAMS/View commands to create the bushing forces between the feet and the pedals:
Markers for Left Foot:
marker create marker=.World.Joe_Left_Foot.b3 loc=5.7,0,7 ori=0,0,0 rel=.World
marker create marker=.World.Lpedal.b3 loc=5.7,0,7 ori=0,0,0 rel=.World
Bushing Forces for Left Foot:
force cre ele bush bush=.World.Bush3 i_mark=.World.Joe_Left_Foot.b3 j_mark=.World.Lpedal.b3 stiff=1000.0,1000.0,1000.0 damp=100,100,100 &
force_preload=0.0,0.0,0.0 tstiffness=1.0E+001,1.0E+001,1.0E+001 tdamping=1.0E+001,1.0E+001,1.0E+001 torque_preload=0.0,0.0,0.0
Markers for Right Foot:
marker create marker=.World.Joe_Right_Foot.b4 loc=-5.7,0,-7 ori=0,0,0 rel=.World
marker create marker=.World.Rpedal.b4 loc=-5.7,0,-7 ori=0,0,0 rel=.World
Bushing Forces for Right Foot:
force cre ele bush bush=.World.Bush4 i_mark=.World.Joe_Right_Foot.b4 j_mark=.World.Rpedal.b4 stiff=1000.0,1000.0,1000.0 damp=100,100,100& force_preload=0.0,0.0,0.0 tstiffness=1.0E+001,1.0E+001,1.0E+001 tdamping=1.0E+001,1.0E+001,1.0E+001 torque_preload=0.0,0.0,0.0
Step 21: Create bushing elements between the pelvis and the seat
Use the following ADAMS/View commands to create the bushing forces between the pelvis and the seat:
Markers:
marker create marker=.World.Joe_Lower_Torso.b5 loc=0,25,-9 ori=0,0,0 rel=.World
marker create marker=.World.Frame.b5 loc=0,25,-9 ori=0,0,0 rel=.World
Bushing Forces:
force cre ele bush bush=.World.Bush5 i_mark=.World.Joe_Lower_Torso.b5 j_mark=.World.Frame.b5 stiff=1000.0,1000.0,1000.0 damp=100,100,100 &
force_preload=0.0,0.0,0.0 tstiffness=1.0E+003,1.0E+003,1.0E+003 tdamping=1.0E+002,1.0E+002,1.0E+002 torque_preload=0.0,0.0,0.0
Running the Inverse Dynamics Simulation
The bicycle model is equipped with a motion driver at the crank arm, which results in the bicycle pedaling itself. With the feet attached to the bicycle, the legs will be driven through the pedal cycle. During this phase, the muscle contraction histories will be recorded and used in the contractile elements in the subsequent forward-dynamics simulation.
Step 22: Bring up analyze panel
Select ANALYZE from the main-menu, select DYNAMICS from the sub-menu.
Step 23: Run the simulation
Run the simulation for 5 seconds and 500 time steps using the default integrator settings.
Step 24: Display animation
When the simulation is complete, use the ADAMS/View toolbox to animate the simulation.
Step 25: Display animation with skin/skeletal model
In the LifeMOD/BodySIM Display Toolbox, select Skin for the External graphical representation and Skeleton for the internal to display a skeletal model with transparent skin.
Running the Forward 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.
The motion drive will be removed from crank and the bicycle will be pedaled by the human model.
Step 26: Bring up soft tissues training panel
Select SOFT TISSUES on the main-menu and TRAINING on the sub-menu.
Step 27: Install ACTIVE contractile element
Select the light bulb to bring up the INSTALL TRAINED LINEAR DRIVER ELEMENTS panel.
Step 28: 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 29: Deactivate crank motion on the bicycle
Use the ADAMS/View command to deactivate the crank motion driver:
entity attr entity_name=.World.MOTION_1 active=off dependents_active=off
Step 30: Bring up analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu.
Step 31: Run BASELINE simulation
Set the gravity vector at -386 in the negative Y direction. Run the simulation for 5.0 seconds and 500 time steps using the default integrator settings.
Step 32: Save the baseline analysis
Select SAVE ANALYSIS and enter the name Baseline. Select GO.
Step 33: Bring up the results panel.
Select RESULTS on the main-menu and DATA DISPLAY on the sub-menu.
Step 34: Display muscle strip charts
Select Joe_VasMed_Rtiss_1 as the Soft Tissue, Tension as the Characteristic and select Create Strip Chart Display. Select Joe_GlutMax1_Rtiss_1 as the Soft Tissue, Tension as the Characteristic and select Create Strip Chart Measure.
Step 35: Turn muscle graphics scaling on
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 bulb under Animation Scaling Graphics in the Results panel.
Step 36: Display animation
Using the ADAMS/View toolset to animate the simulation results.
Step 37: Save the muscle strip chart curves
On each strip chart, right click on the curve and select "save".
Step 38: Set the bump height to 3 inches
Modify one of the parameters in the bicycle model to set the bump height to 3 inches using the following ADAMS/View command:
variable modify variable_name=.World.DV_Bump_Height real=3
Step 39: Bring up analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu.
Step 40: Run Bump_3 simulation
Set the gravity vector at -386 in the negative Y direction. Run the simulation for 5.0 seconds and 500 time steps using the default integrator settings.
Step 41: Save the bump_3 analysis
Select SAVE ANALYSIS and enter the name Bump_3. Select GO.
Step 42: Bring up the results panel.
Select RESULTS on the main-menu and ANIMATION on the sub-menu.
Step 43: Turn muscle graphics scaling on
Turn on the global scaling of the muscle graphics by selecting Tissues, Global and the light bulb under Animation Scaling Graphics in the Results panel.KI
Step 44: Display animation
Using the ADAMS/View toolset to animate the simulation results.
Step 45: Save the muscle strip chart curves
On each strip chart, right click on the curve and select "save".
Step 46: Bring up analyze panel
Select ANALYZE from the main-menu and DYNAMICS from the sub-menu.
Step 47: Set the bump height to 6 inches
Modify one of the parameters in the bicycle model to set the bump height to 6 inches using the following ADAMS/View command:
variable modify variable_name=.World.DV_Bump_Height real=6
Step 48: Run Bump_6 simulation
Set the gravity vector at -386 in the negative Y direction. Run the simulation for 5.0 seconds and 500 time steps using the default integrator settings.
Step 49: Save the bump_6 analysis
Select SAVE ANALYSIS and enter the name Bump_6. Select GO.
Step 50: Bring up the results panel.
Select RESULTS on the main-menu and ANIMATION on the sub-menu.
Step 51: Turn muscle graphics scaling on
Turn on the global scaling of the muscle graphics by selecting Tissues, Global and the light bulb under Animation Scaling Graphics in the Results panel.
Step 52: Display animation
Using the ADAMS/View toolset to animate the simulation results.
Interrogating the Results
When the series of simulations are complete the results may be compared to examine the effect of the system disturbance on the muscle patterns. In Figure 18 the muscle forces for the Vastus Lateralis, Semitendonosis, and Adductor Magnus is plotted for the left leg. The effects of the disturbance are apparent as the model attempts to maintain the same speed through the bump. The effect is seen in both muscle groups but most noticeably in the quadriceps force as would be expected since the disturbance occurs on the left leg down stroke.
Figure 10 displays the quadriceps, hamstrings and gasctroc muscle forces for the Baseline simulation. What can be observed is the timings of the various groups to produce the pedaling action.
Figure 11 displays the same muscle forces with the 6 inch bump. The disturbance is apparent in the muscle signals.
Various data may be presented from the forward-dynamics simulation including:
- Major knee flexor/extensor muscle tensions
- Pedal forces
- Head accelerations
Step 53: Bring up results panel
Select RESULTS from the main-menu and DATA DISPLAY from the sub-menu. Select "Results Window" to bring up the results processor.
Step 54: Plot the left vastus lateralis force - Baseline Simulation
Select "Joe_VasLat_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Baseline analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 55: Plot the left semitendonosis force - Baseline Simulation
Select "Joe_SemTen_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Baseline analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 56: Plot the left adductor magnus force - Baseline Simulation
Select "Joe_AddMag_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Baseline analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 57: Animate right view
Select ANIMATION from the sub-menu to bring up the animation panel. Select Scale Joint/Tissue Graphics, Tissues, Scale Globally and the light bulb to scale the tissues during animation. Select right view and Play the animation.
Step 58: Animate front view
Select front view and select PLAY.
Step 59: Plot the left vastus lateralis force - Bump_3 Simulation
Select DATA DISPLAY in the sub-menu. Select "Joe_VasLat_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bump_3 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 60: Plot the left semitendonosis force - Bump_3 Simulation
Select "Joe_SemTen_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bump_3 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Check new plot and select Create Full Plot.
Step 61: Plot the left adductor magnus force - Bump_3 Simulation
Select "Joe_AddMag_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bump_3 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 62: Animate right view
Select right view and select PLAY.
Step 63: Plot the left vastus lateralis force - Bump_6 Simulation
Select "Joe_VasLat_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bujp_6 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 64: Plot the left semitendonosis force - Bump_6 Simulation
Select "Joe_SemTen_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bujp_6 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Check new plot and select Create Full Plot.
Step 65: Plot the left adductor magnus force - Bump_6 Simulation
Select "Joe_AddMag_Ltiss_1" as the soft tissue, "Tension" characteristic, and .World.Bujp_6 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 66: Animate right view
Select right view and select PLAY.
Step 67: Bring up joints results panel
Select JOINTS on the sub-menu.
Step 68: Plot neck forces - Baseline Analysis
Select "Joe_Lower_Neck" as the joint, "Torque" characteristic, Sagittal component and .World.Baseline analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 69: Plot neck forces - Bump_3 Analysis
Select "Joe_Lower_Neck" as the joint, "Torque" characteristic, Sagittal component and .World.Bump_3 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 70: Plot neck forces - Bump_6 Analysis
Select "Joe_Lower_Neck" as the joint, "Torque" characteristic, Sagittal component and .World.Bump_6 analysis. Select a low pass butterworth data filter with a cuttoff frequency of 5.0 and an order of 1. Select Create Full Plot.
Step 71: Animate right view
Select right view and select PLAY.
Step 72: Close plot window
Select MODEL WINDOW to return to the model. DEMO COMPLETE
Further
This model could be used to explore may issues including training methods, bicycle suspension design, riding postures, etc.
This model may be refined in many areas including:
- Creating detailed knee joints to examine the soft tissue strain on the knee during certain riding postures and loads. (see Detailed Knee Joint Application).
- Parametric studies of vehicle parameters including: various terrains, speeds, suspension settings, bicycle dimensions, etc.
- Comparing muscle force requirements for various riding styles including standing vs. sitting, etc.
|