#include <homeokinbase.h>
Inherits AbstractController.
Inherited by InvertMotorController.
Inheritance diagram for HomeokinBase:


Public Member Functions | |
| HomeokinBase (unsigned short buffersize, const std::string &name, const std::string &revision) | |
Protected Member Functions | |
| void | putInBuffer (matrix::Matrix *buffer, const matrix::Matrix &vec, int delay=0) |
| put new value in ring buffer | |
| virtual matrix::Matrix | calculateDelayedValues (const matrix::Matrix *buffer, int number_steps_of_delay_) |
| calculate delayed values | |
| virtual matrix::Matrix | calculateSmoothValues (const matrix::Matrix *buffer, int number_steps_for_averaging_) |
| calculate time-smoothed values | |
| virtual double | calcErrorFactor (const matrix::Matrix &e, bool loga, bool root) |
| calculates the error_factor for either logarithmic (E=ln(e^T*e)) or square (E=sqrt(e^t*e)) error | |
Static Protected Member Functions | |
| static double | g (double z) |
| neuron transfer function | |
Protected Attributes | |
| paramval | epsC |
| learning rate factor for controller learning | |
| paramval | epsA |
| learning rate factor for model learning | |
| paramval | factorB |
| additional learning rate factor for model bias | |
| paramint | s4delay |
| number of timesteps of delay in the SML | |
| paramint | s4avg |
| number of timesteps used for smoothing the controller output values | |
| paramint | logaE |
| logarithmic error is used for learning 1: controller 2: model 3: both | |
| paramint | rootE |
| root error is used for learning 1: controller 2: model 3: both | |
| paramval | squashSize |
| size of the box, where the parameter updates are clipped to | |
| int | t |
| unsigned short | buffersize |
| bool | initialised |
Implements standard buffers and configureable interface for some useful parameters like epsC, epsA, s4avg ...
| HomeokinBase | ( | unsigned short | buffersize, | |
| const std::string & | name, | |||
| const std::string & | revision | |||
| ) | [inline] |
| virtual double calcErrorFactor | ( | const matrix::Matrix & | e, | |
| bool | loga, | |||
| bool | root | |||
| ) | [inline, protected, virtual] |
calculates the error_factor for either logarithmic (E=ln(e^T*e)) or square (E=sqrt(e^t*e)) error
| virtual matrix::Matrix calculateDelayedValues | ( | const matrix::Matrix * | buffer, | |
| int | number_steps_of_delay_ | |||
| ) | [inline, protected, virtual] |
calculate delayed values
| virtual matrix::Matrix calculateSmoothValues | ( | const matrix::Matrix * | buffer, | |
| int | number_steps_for_averaging_ | |||
| ) | [inline, protected, virtual] |
calculate time-smoothed values
| static double g | ( | double | z | ) | [inline, static, protected] |
neuron transfer function
| void putInBuffer | ( | matrix::Matrix * | buffer, | |
| const matrix::Matrix & | vec, | |||
| int | delay = 0 | |||
| ) | [inline, protected] |
put new value in ring buffer
unsigned short buffersize [protected] |
bool initialised [protected] |
paramval squashSize [protected] |
size of the box, where the parameter updates are clipped to
int t [protected] |
1.4.7