How it Works
MTP personalizes the model’s muscle-tendon properties by minimizing the designated cost terms throughout the provided movement data. It does this by adjusting each property as it iterates through the movement in order to reduce error between the model and the experimental data.
MTP can also estimate muscle excitations for muscles that do not have available measured EMG data using Synergy Extrapolation (SynX).
Muscle-tendon Properties
The following muscle-tendon properties are optimized during MTP:
- Electromechanical delay
- Activation time constant
- Activation nonlinearity constant
- EMG scale factor
- Optimal fiber length
- Tendon slack length
- Synergy Weights and Commands (if using SynX)
Muscle Groups
MTP is able to group muscles together based on expected physiologcal similarities between muscles. For example, we might expect the three vasti muscles to have similar muscle activations and normalized fiber lengths, and so we can group these muscles together. SynX also uses muscle groups to define which muscles have measured EMG data, and which muscles do not have measured EMG data and need to be estimated with SynX. The four types of muscle groups that MTP uses are as follows:
- Activation Muscle Groups: Muscles that we would expect to have similar activation profiles (ie lateral hamstrings; BFSH and BFLH will have similar activations to each other). In the RCNL model, these groups all have ActivationGroup in their name.
- Normalized Fiber Length Muscle Groups: Muscles that we would expect to have similar normalized fiber lengths. In the RCNL model, these groups all have NormalizedFiberLengthGroup in their name.
- Collected EMG Muscle Groups: Muscle groups that we do have experimental EMG data for. Unlike the other groups, these must have the same name as the respective EMG channel name your EMG data file.
- Missing EMG Muscle Groups: Muscle groups that we do not have experimental EMG data for. Every muscle in the model should be accounted for in either collected EMG muscle groups, or missing EMG muscle groups.
Cost Terms
There are a series of cost terms that can be used to facilitate the personalization. They are listed here by the name of the cost term as it is passed in the <type> element of an <RCNLCostTerm> in an XML settings file.
- inverse_dynamic_joint_moment - how closely the experimental joint moments should be tracked
- activation_time_constant - how closely this term should match the
<error_center> - activation_nonlinearity_constant - how closely this term should match the
<error_center> - optimal_muscle_fiber_length - how closely the activation time constant should match the
<error_center> - tendon_slack_length - how closely the activation time constant should match the
<error_center> - emg_scale_factor - how closely the activation time constant should match the
<error_center> - normalized_muscle_fiber_length - how much this term can deviate from the initial value
- passive_muscle_force - how much passive muscle force is allowed for the motion
- grouped_normalized_muscle_fiber_length - how much deviation from the mean value of the group is allowed
- grouped_emg_scale_factor - how much deviation from the mean value of the group is allowed
- grouped_electromechanical_delay - how much deviation from the mean value of the group is allowed
- muscle_excitation_penalty - a penalty for muscle excitations above a certain level