#include <dinvert3channelcontroller.h>
Inherits InvertController.
Inheritance diagram for DInvert3ChannelController:


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[tbuffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1) | |
| double ** | y_buffer |
| buffer for output values, y[tbuffersize]=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
| DInvert3ChannelController | ( | int | numberchannels, | |
| int | buffersize | |||
| ) | [inline] |
| double** allocateMatrix | ( | int | m, | |
| int | n | |||
| ) | [inline] |
| virtual void calculateControllerValues | ( | double * | x_smooth, | |
| double * | y | |||
| ) | [inline, protected, virtual] |
calculate controller ouptus
| virtual void calculateDelayedValues | ( | double ** | source, | |
| paramval | number_steps_of_delay_, | |||
| double * | target | |||
| ) | [inline, protected, virtual] |
calculate delayed values
| virtual double calculateE | ( | const double * | x_, | |
| const double * | x_delay, | |||
| const double * | y_delay | |||
| ) | [inline, protected, virtual] |
| virtual void calculateSmoothValues | ( | double ** | source, | |
| paramval | number_steps_for_averaging_, | |||
| double * | target | |||
| ) | [inline, protected, virtual] |
| void freeMatrix | ( | double ** | mat, | |
| int | m | |||
| ) | [inline] |
| virtual double g | ( | double | z | ) | [inline, virtual] |
neuron transfer function
| virtual double g_s | ( | double | z | ) | [inline, virtual] |
| virtual int getInternalParamNames | ( | paramkey *& | keylist | ) | [inline, virtual] |
| virtual int getInternalParams | ( | paramval * | vallist, | |
| int | length | |||
| ) | [inline, virtual] |
| virtual constparamkey getName | ( | ) | const [inline, virtual] |
| virtual void init | ( | int | sensornumber, | |
| int | motornumber | |||
| ) | [inline, virtual] |
initialisation of the controller with the given sensor/ motornumber Must be called before use.
Reimplemented from AbstractController.
| virtual void inverseMatrix | ( | double ** | Q, | |
| double ** | Q_1 | |||
| ) | [inline, protected, virtual] |
| virtual void learn | ( | const double * | x_, | |
| const double * | x_delay, | |||
| const double * | y_delay | |||
| ) | [inline, protected, virtual] |
| virtual void learnModel | ( | const double * | x_actual, | |
| double * | y_effective | |||
| ) | [inline, protected, virtual] |
| virtual void putInBuffer | ( | double ** | buffer, | |
| const double * | values | |||
| ) | [inline, protected, virtual] |
| virtual double squash | ( | double | z | ) | [inline, virtual] |
squashing function, to protect against to large weight updates
| virtual void step | ( | const sensor * | x_, | |
| int | sensornumber, | |||
| motor * | y_, | |||
| int | motornumber | |||
| ) | [inline, virtual] |
performs one step (includes learning). Calulates motor commands from sensor inputs.
Reimplemented from AbstractController.
| virtual void stepNoLearning | ( | const sensor * | x_, | |
| int | sensornumber, | |||
| motor * | y_, | |||
| int | motornumber | |||
| ) | [inline, virtual] |
performs one step without learning. Calulates motor commands from sensor inputs.
Reimplemented from AbstractController.
| double** A |
model matrix
int BUFFER_SIZE [protected] |
| double** C |
controller matrix
| double* h |
bias vector
double** L [protected] |
| char name[50] |
Reimplemented from Configurable.
int NUMBER_CHANNELS [protected] |
double** Q_buf1 [protected] |
double** Q_buf2 [protected] |
| int t |
number of steps, needed for ringbuffer x_buffer
| double** x_buffer |
buffer for input values, x[tbuffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1)
double* x_effective [protected] |
double* x_smooth [protected] |
| double* xsi4E |
| double* xsi4Model |
| double** y_buffer |
buffer for output values, y[tbuffersize]=actual value(if already calculated!), y[(t-1+buffersize)buffersize]=y(t-1)
double* y_effective [protected] |
double* z [protected] |
1.4.7