Skip to main content

Neural Control Personalization

Neural Control Personalization (NCP) calculates the optimal muscle synergies (see below) to reproduce a given movement with minimal error. NCP can be used for a model with muscles where EMG data is present, is not present, or a combination of both. Generally, NCP will be used to find muscle synergies that match the muscle activations from experimental EMG data and modeled joint moments as closely as possible.

info

Muscle synergies are used in biomechanics to reduce the dimensionality of modeling neural control. Rather than controlling each muscle activation independently, a synergy activation can be applied to multiple muscles through a muscle-specific synergy weight. For more information, see synergy extrapolation

Muscle activations can be calculated from synergy weight and synergy activations through:

ai(t)=wis(t)a_{i}(t) = \sum{w_{i}s(t)}

where:

  • wiw_i is a matrix of synergy weights
  • s(t)s(t) is a time-varying vector of synergy activations
  • ai(t)a_i(t) is a time-varying vector of muscle activations

A more thorough formulation for NCP can be found in this paper (Shourijeh, 2020)

Inputs

image

Outputs

  • Updated NMSM Pipeline model file (.osimx)
  • synergyWeights.sto: each muscle with its corresponding constant synergy weight values
  • synergyCommands.sto: each synergy signal throughout the movement
  • modelMoments.sto: calculates the resulting joint moments of the model throughout the motion
  • muscleActivations.sto: calculates the resulting muscle activation values through the motion