#include <invertmotorcontroller.h>
Inherits AbstractController.
Inherited by BasicController, InvertMotorBigModel, InvertMotorNStep, and InvertMotorSpace.
Inheritance diagram for InvertMotorController:
Public Member Functions | |
InvertMotorController (unsigned short buffersize, const std::string &name, const std::string &revision) | |
virtual paramval | getParam (const paramkey &key) const |
virtual bool | setParam (const paramkey &key, paramval val) |
virtual paramlist | getParamList () const |
The list of all parameters with there value as allocated lists. | |
Protected Member Functions | |
void | putInBuffer (matrix::Matrix *buffer, const matrix::Matrix &vec, int delay=0) |
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 | desens |
paramval | s4delay |
number of timesteps of delay in the SML | |
paramval | s4avg |
number of timesteps used for smoothing the controller output values | |
paramval | steps |
number of timesteps is used for controller learning | |
paramval | epsA |
learning rate factor for model learning | |
paramval | factorB |
additional learning rate factor for model bias | |
paramval | zetaupdate |
paramval | dampA |
damping term for model (0: no damping, 0.1 high damping) | |
short | logaE |
logarithmic error is used for learning 1: controller 2: model 3: both | |
short | rootE |
root error is used for learning 1: controller 2: model 3: both | |
short | relativeE |
if not 0: a relative error signal is used (xsi is normalised in respect to |y|) | |
paramval | squashSize |
size of the box, where the parameter updates are clipped to | |
paramval | adaptRate |
adaptation rate for learning rate adaptation | |
paramval | nomUpdate |
nominal update of controller in respect to matrix norm | |
paramval | noiseB |
size of the additional noise for model bias B | |
paramval | noiseY |
size of the additional noise for motor values | |
paramval | teacher |
factor for teaching signal | |
int | t |
unsigned short | buffersize |
bool | initialised |
Implements standart configureable interface for some useful parameters like epsC, epsA, s4avg ...
InvertMotorController | ( | 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
Reimplemented in InvertMotorBigModel.
virtual paramlist getParamList | ( | ) | const [inline, virtual] |
The list of all parameters with there value as allocated lists.
Reimplemented from Configurable.
Reimplemented in InvertMotorBigModel.
void putInBuffer | ( | matrix::Matrix * | buffer, | |
const matrix::Matrix & | vec, | |||
int | delay = 0 | |||
) | [inline, protected] |
Reimplemented in BasicController, and InvertMotorBigModel.
unsigned short buffersize [protected] |
bool initialised [protected] |
short logaE [protected] |
logarithmic error is used for learning 1: controller 2: model 3: both
short relativeE [protected] |
if not 0: a relative error signal is used (xsi is normalised in respect to |y|)
short rootE [protected] |
root error is used for learning 1: controller 2: model 3: both
paramval squashSize [protected] |
size of the box, where the parameter updates are clipped to
int t [protected] |
paramval zetaupdate [protected] |