|
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