Threshold-limited friction-damped controller. More...
#include <Neuro/SaccadeControllers.H>
Public Member Functions | |
ThresholdFrictionSaccadeController (OptionManager &mgr, const SaccadeBodyPart bodypart) | |
Constructor. | |
virtual | ~ThresholdFrictionSaccadeController () |
Destructor. | |
Protected Member Functions | |
virtual void | doEvolve (SimEventQueue &q) |
evolve one time step | |
virtual void | computeWhenNewPercept (SimEventQueue &q) |
This method is called each time a new percept has arrived. | |
virtual void | computeWhenResetPos (SimEventQueue &q) |
This method is called each time a reset is made. | |
virtual Point2D< int > | computeWhenNewDecision (SaccadeState &sacstate, bool &blinkstate, SimEventQueue &q) |
This method is called each time a new decision is requested. | |
Protected Attributes | |
OModelParam< SimTime > | itsMaxIdle |
max time (in s) before we return to IEP |
Threshold-limited friction-damped controller.
ThresholdFrictionSaccadeController combines the features of ThresholdSaccadeController and FrictionSaccadeController.
The ThresholdSaccadeController determines when a new saccade is warranted. The FrictionSaccadeController is fed with the average covert location over the duration of the percept queue of the Threshold controller. It then is responsible for inducing slow drifts of overt attention towards that average, in between two saccades. In addition, this controller will return to the center of the image if it does not move in some time.
Definition at line 284 of file SaccadeControllers.H.
ThresholdFrictionSaccadeController::ThresholdFrictionSaccadeController | ( | OptionManager & | mgr, | |
const SaccadeBodyPart | bodypart | |||
) |
Constructor.
See the two base classes for parameters.
maxidle | max time (in seconds) before we naturally return to the center of the image. This will happen if the covert shifts are so chaotic that we never decide to follow them overtly. | |
part | As this controller may be used either for the eye or for the head (as part of bigger controllers that include both eye and head), this should be either SaccadeBodyPartEye or SaccadeBodyPartHead and will determine which model options we use for our internal parameters (eye or head) |
Definition at line 457 of file SaccadeControllers.C.
References ModelComponent::addSubComponent().
ThresholdFrictionSaccadeController::~ThresholdFrictionSaccadeController | ( | ) | [virtual] |
Destructor.
Definition at line 478 of file SaccadeControllers.C.
Point2D< int > ThresholdFrictionSaccadeController::computeWhenNewDecision | ( | SaccadeState & | sacstate, | |
bool & | blinkstate, | |||
SimEventQueue & | q | |||
) | [protected, virtual] |
This method is called each time a new decision is requested.
Implements SaccadeController.
Definition at line 533 of file SaccadeControllers.C.
References SimEventQueue::check(), SaccadeController::getPreviousDecision(), OModelParam< T >::getVal(), SaccadeController::haveDecisions(), Point2D< T >::isValid(), itsMaxIdle, SimEventQueue::now(), Point2DT::p, SACSTATE_SAC, SEQ_ANY, and Point2DT::t.
void ThresholdFrictionSaccadeController::computeWhenNewPercept | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a new percept has arrived.
Implements SaccadeController.
Definition at line 493 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept(), Point2D< T >::isValid(), and WTAwinner::p.
void ThresholdFrictionSaccadeController::computeWhenResetPos | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a reset is made.
Implements SaccadeController.
Definition at line 519 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept(), and WTAwinner::p.
void ThresholdFrictionSaccadeController::doEvolve | ( | SimEventQueue & | q | ) | [protected, virtual] |
evolve one time step
Implements SaccadeController.
Definition at line 482 of file SaccadeControllers.C.
max time (in s) before we return to IEP
Definition at line 320 of file SaccadeControllers.H.
Referenced by computeWhenNewDecision().