|
Public Member Functions |
virtual double | g (double z) |
| neuron transfer function
|
virtual double | g_s (double z) |
virtual double | squash (double z) |
| squashing function, to protect against to large weight updates
|
| Invert3ChannelController () |
virtual void | step (const sensor *x_, int sensornumber, motor *y_, int motornumber) |
| performs one step (includes learning). Calulates motor commands from sensor inputs.
|
virtual void | stepNoLearning (const sensor *x_, int sensornumber, motor *y_, int motornumber) |
| performs one step without learning. Calulates motor commands from sensor inputs.
|
Public Attributes |
double | A [NUMBER_CHANNELS][NUMBER_CHANNELS] |
| model matrix
|
double | C [NUMBER_CHANNELS][NUMBER_CHANNELS] |
| controller matrix
|
double | h [NUMBER_CHANNELS] |
| bias vector
|
double | x_buffer [BUFFER_SIZE][NUMBER_CHANNELS] |
| buffer for input values, x[t%buffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1)
|
double | y_buffer [BUFFER_SIZE][NUMBER_CHANNELS] |
| buffer for output values, y[t%buffersize]=actual value(if already calculated!), y[(t-1+buffersize)buffersize]=y(t-1)
|
double | xsi4E [NUMBER_CHANNELS] |
double | xsi4Model [NUMBER_CHANNELS] |
int | t |
| number of steps, needed for ringbuffer x_buffer
|
Protected Member Functions |
virtual void | inverseMatrix (double Q[NUMBER_CHANNELS][NUMBER_CHANNELS], double Q_1[NUMBER_CHANNELS][NUMBER_CHANNELS]) |
virtual double | calculateE (const double *x_, const double *x_delay, const double *y_delay) |
virtual void | learn (const double *x_, const double *x_delay, const double *y_delay) |
virtual void | learnModel (const double *x_actual, double *y_effective) |
virtual void | calculateDelayedValues (double source[BUFFER_SIZE][NUMBER_CHANNELS], paramval number_steps_of_delay_, double *target) |
| calculate delayed values
|
virtual void | calculateSmoothValues (double source[BUFFER_SIZE][NUMBER_CHANNELS], paramval number_steps_for_averaging_, double *target) |
virtual void | calculateControllerValues (double *x_smooth, double *y) |
| calculate controller ouptus
|
virtual void | putInBuffer (double buffer[BUFFER_SIZE][NUMBER_CHANNELS], const double *values) |
virtual int | getInternalParamNames (paramkey *&keylist) |
virtual int | getInternalParams (paramval *vallist, int length) |
Implements standart parameters: eps, rho, mu, stepnumber4avg, stepnumber4delay