|
Load place1.ccm show camera view show spike recorder run the model |
When designing networks for spatial navigation tasks, it is often useful to shortcut some of the processing involved in converting environmental stimuli to input for the network. This example uses the position output of the SpatialLocation component and a FeatureDiscretizer to generate spikes on different channels according to a discretization of the environment.
The spikes can be visualized on the SpikePositionRecorder. This receives the position input directly and combines them with spikes generated by the feature discretizer. The display shows spikes on different channels in different colors.
The feature discretizer works by comparing the input vector with features selected so far. When a new vector is sufficiently different from those already known, it is marked as a new feature. One effect of this is that in preliminary exploration of the environment, as soon as a new feature is created, its field extends over vectors previously assigned to an earlier feature. This is why dots of different color often overlap in early exploration. The true fields can be seen by running the simulation until the animat has achieved reasonable coverage of the environment, clearing the display ("clear history" button) and continuing the run ("continue" button on the workbench).
In this example, the animat is driven by two signal generators, one generating a noise signal for the rate of change of angle, and one for the speed, which just delivers a fixed value. The result is that it runs at random within the specified boundaries.
|
Load place3.ccm show camera view show spike recorder run the model |
In this example, the animat first runs around a predefined rectangular trajectory. As it does so, the feature discretizer reads its position and records a new feature each time the position vector is sufficiently different from all features known so far. The discretizer also produces a regular spiking output of the current feature that is displayed by the spike position recorder.
This provides pre-processed place input for a network model. But for modeling animal behavior, it is also necessary for the network to drive the animat in the environment. There are a variety of ways to do this, but the most direct is by using the feature discretizer in reverse and the animat in "move to desired location" mode.
This occurs in the example after a few circuits of the trajectory. The event sequence generator sends a signal to the InsertionSwitch which takes the animat off the defined path and lets it run according to desired location signals. These are generated by sending random spikes from a SpikeGenerator back through the feature detector to produce the locations of previously created features. The animat then moves towards these features until another spike switches it to a new desired location. This is the phase where it leaves the path and crosses the central space in straight lines.
|
Load whiskers.ccm show camera view show spike recorder show whisker signals run the model |
Whiskers sense the proximiry to walls and other solid objects. In this example the animat runs around a rectangular channel, using whisker input to change direction when it hits a wall. The position is guided by specifying the direction and a constant speed, with the direction signal constructed by integrating the input from left and right wiskers along with some random spikes. The integration is done by a leaky integrator component, which has a vector defining what contribution differnt spikes make to the preferred direction. The first two elements of the vector are of differnt signs, indicating that with input from the left wisker it should turn right, and input from the right wisker it should turn left.