|
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
|
double ** | allocateMatrix (int m, int n) |
void | freeMatrix (double **mat, int m) |
virtual constparamkey | getName () const |
| return the name of the object (with version number)
|
virtual void | init (int sensornumber, int motornumber) |
| initialisation of the controller with the given sensor/ motornumber Must be called before use.
|
| DInvert3ChannelController (int numberchannels, int buffersize) |
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.
|
virtual int | getInternalParamNames (paramkey *&keylist) |
virtual int | getInternalParams (paramval *vallist, int length) |
Public Attributes |
double ** | A |
| model matrix
|
double ** | C |
| controller matrix
|
double * | h |
| bias vector
|
double ** | x_buffer |
| buffer for input values, x[t%buffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1)
|
double ** | y_buffer |
| buffer for output values, y[t%buffersize]=actual value(if already calculated!), y[(t-1+buffersize)buffersize]=y(t-1)
|
double * | xsi4E |
double * | xsi4Model |
int | t |
| number of steps, needed for ringbuffer x_buffer
|
char | name [50] |
Protected Member Functions |
virtual void | inverseMatrix (double **Q, double **Q_1) |
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, paramval number_steps_of_delay_, double *target) |
| calculate delayed values
|
virtual void | calculateSmoothValues (double **source, paramval number_steps_for_averaging_, double *target) |
virtual void | calculateControllerValues (double *x_smooth, double *y) |
| calculate controller ouptus
|
virtual void | putInBuffer (double **buffer, const double *values) |
Protected Attributes |
int | NUMBER_CHANNELS |
int | BUFFER_SIZE |
double * | x_smooth |
double * | x_effective |
double * | y_effective |
double ** | Q_buf1 |
double ** | Q_buf2 |
double ** | L |
double * | z |
Implements standart parameters: eps, rho, mu, stepnumber4avg, stepnumber4delay