Linear Hill Stretch Receptor

Look here for other video tutorials using stretch receptors!


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 receptor.

The stretch receptor model is almost identical to the biomechanical muscle model. So please see it for a detailed description of how the muscle works. 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.

Mathematical Muscle Model

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).


 
Figure 1. Differential equation used to model stretch receptor.

T Muscle Tension.
A Active tension applied by stimulation of membrane voltage.
Kse Serial spring constant (SE).
Kpe Parallel spring constant (PE).
B Damping Coefficient.
X Muscle Length.
SIa(t) Discharge rate of Ia fibers.
SII(t) Discharge rate of II fibers.

Stretch Receptor Properties

The stretch receptor has three properties in addition to the ones found in the Linear Hill muscle part type. They are shown below.

Apply Tension
If this is false then the tensions from the stretch receptor are not actually applied to the parts even though they are generated internally to managed the length changes. Normal, there are far fewer stretch receptors that there are muscle fibers, so they generate very little if any of the actual tension to move the animal. Setting this to false allows you to use the same basic parameters you used for the muscle so your gamma motor neurons can be similar to the alpha motor neurons, but they will not actually produce forces and require you to change the muscle strengths to compensate. Sometimes you may need the receptor to actually apply forces though. If so then set this to true.
Default value: False
Acceptable range: True/False

Ia Discharge Constant
This is a constant that is multiplied by the length of the serial portion of the muscle to determine the spikes per second for the Ia fibers.
Default value: 100 Spikes/sm
Acceptable range: Any value greater than or equal to 0.

II Discharge Constant
This is a constant that is multiplied by the length of the parallel portion of the muscle to determine the spikes per second for the II fibers.
Default value: 100 Spikes/sm
Acceptable range: Any value greater than or equal to 0.

Ib Discharge Constant
This is a constant that is multiplied by the tension of the muscle to determine the spikes per second for the Ib fibers.
Default value: 100 Spikes/sN
Acceptable range: Any value greater than or equal to 0.