Friction-damped mass-spring saccade controller. More...
#include <Neuro/SaccadeControllers.H>
Public Member Functions | |
FrictionSaccadeController (OptionManager &mgr, const SaccadeBodyPart bodypart) | |
Constructor. | |
virtual | ~FrictionSaccadeController () |
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< double > | itsSpringK |
spring stiffness | |
OModelParam< double > | itsFrictionMu |
friction coeff | |
OModelParam< Dims > | itsDims |
Image size so that we stay inside it. | |
OModelParam< SimTime > | itsTimeStep |
Simulation time step. | |
Friends | |
class | ThresholdFrictionSaccadeController |
class | MonkeySaccadeController |
Friction-damped mass-spring saccade controller.
FrictionSaccadeController acts like a mass (at saccade center) connected to the covert focus of attention through a spring of zero rest length, and sliding on a plane in the presence of friction.
Definition at line 150 of file SaccadeControllers.H.
FrictionSaccadeController::FrictionSaccadeController | ( | OptionManager & | mgr, | |
const SaccadeBodyPart | bodypart | |||
) |
Constructor.
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 194 of file SaccadeControllers.C.
FrictionSaccadeController::~FrictionSaccadeController | ( | ) | [virtual] |
Destructor.
Definition at line 214 of file SaccadeControllers.C.
Point2D< int > FrictionSaccadeController::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 289 of file SaccadeControllers.C.
References Point2D< T >::clampToDims(), OModelParam< T >::getVal(), SaccadeController::havePercepts(), itsDims, SACSTATE_FIX, SACSTATE_SMO, SACSTATE_UNK, SimTime::secs(), and sqrt().
void FrictionSaccadeController::computeWhenNewPercept | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a new percept has arrived.
Implements SaccadeController.
Definition at line 260 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept(), Point2D< T >::i, WTAwinner::p, SimTime::secs(), and WTAwinner::t.
void FrictionSaccadeController::computeWhenResetPos | ( | SimEventQueue & | q | ) | [protected, virtual] |
This method is called each time a reset is made.
Implements SaccadeController.
Definition at line 275 of file SaccadeControllers.C.
References SaccadeController::getPreviousPercept(), Point2D< T >::i, WTAwinner::p, and WTAwinner::t.
void FrictionSaccadeController::doEvolve | ( | SimEventQueue & | q | ) | [protected, virtual] |
evolve one time step
Implements SaccadeController.
Definition at line 218 of file SaccadeControllers.C.
References SimTime::computeDeltaT(), SaccadeController::getPreviousPercept(), OModelParam< T >::getVal(), SaccadeController::havePercepts(), Point2D< T >::i, itsFrictionMu, itsSpringK, itsTimeStep, SimEventQueue::now(), WTAwinner::p, and SimTime::secs().
OModelParam<Dims> FrictionSaccadeController::itsDims [protected] |
Image size so that we stay inside it.
Definition at line 171 of file SaccadeControllers.H.
Referenced by computeWhenNewDecision().
OModelParam<double> FrictionSaccadeController::itsFrictionMu [protected] |
OModelParam<double> FrictionSaccadeController::itsSpringK [protected] |
OModelParam<SimTime> FrictionSaccadeController::itsTimeStep [protected] |
Simulation time step.
Definition at line 172 of file SaccadeControllers.H.
Referenced by doEvolve().