Free C++ source code for the stretch receptor model is available.
Proprioceptors allow organisms to sense important properties of their muscles. This allows them to know where their limbs are and to quickly respond to
disturbances. Two of the most important proprioceptors are the stretch receptors
and the golgi tendon organs. The type Ia fiber
of the stretch receptor signals how fast the length of the muscle is changing. Type II fibers
of the stretch receptor provides information about the overall length of the muscle, and type Ib fibers
from the Golgi tendon organ let the organism
know how much tension is being applied to the muscle. It can use these sense signals in positive and negative feedback loops to regulate the stiffness of the muscle during
walking and standing, and to recover when a limb is disturbed. You can get
signals for all three of these fiber types by using the linear hill stretch
The stretch receptor model is almost identical to the biomechanical muscle model. So please see it for a detailed description of how the
For a more detailed understanding of how the stretch receptor is modeled please see (Shadmehr and Wise; Shadmehr and Arbib 1992)
The primary difference between the stretch receptor and biomechanical muscle models is that the stretch receptor has constants that convert the length or tension changes into an appropriate discharge rate
for the fiber types.
So the length of the serial portion of the receptor is multiplied by a constant to turn this value into a discharge rate that can then be used in your neural network, or can be charted.
One important thing to remember here though is that the resting length of the serial and
parallel sections are determined by the Pe Length Percentage defined for the muscle. So when calculating
the constants you will need you must keep this in mind.
Stretch receptors will often be used with the inverse muscle dynamics current. This stimulus allows you to
use a data file that predicts what the length and velocity of the stretch receptor should be during a movement,
and it uses this and the muscles properties to compute the current stimulus that needs to be applied to a
gamma motor neuron to maintain the receptors tension, and thus keep the type Ia firing rate constant. This allows
the Ia signal to be used as an error signal that can detect when the predicted movements do not match the
actual movements. Please see the section on this stimulus for more details.
The equations used to simulate the stretch receptor is shown below. To see how this is derived please see
(Shadmehr and Wise; Shadmehr and Arbib 1992).
This project was supported by: