Robot Simulator of the Robotics Group for Self-Organization of Control: HomeokinBase Class Reference

# HomeokinBase Class Reference

Abstract class (interface) for robot controller that use are based on the homeokinetic prinziple. More...

`#include <homeokinbase.h>`

Inherits AbstractController.

Inherited by InvertMotorController, and SeMoX.

Collaboration diagram for HomeokinBase:
[legend]

List of all members.

## 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

## Detailed Description

Abstract class (interface) for robot controller that use are based on the homeokinetic prinziple.

Implements standard buffers and configureable interface for some useful parameters like epsC, epsA, s4avg ...

## Constructor & Destructor Documentation

HomeokinBase | ( | unsigned short | buffersize,
|  | const std::string & | name,
|  | const std::string & | revision |
| ) |  |  | `[inline]`

## Member Function Documentation

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

## Member Data Documentation

unsigned short buffersize`[protected]`

paramval epsA`[protected]`

learning rate factor for model learning

paramval epsC`[protected]`

learning rate factor for controller learning

paramval factorB`[protected]`

additional learning rate factor for model bias

bool initialised`[protected]`

paramint logaE`[protected]`

logarithmic error is used for learning 1: controller 2: model 3: both

paramint rootE`[protected]`

root error is used for learning 1: controller 2: model 3: both

paramint s4avg`[protected]`

number of timesteps used for smoothing the controller output values

paramint s4delay`[protected]`

number of timesteps of delay in the SML

paramval squashSize`[protected]`

size of the box, where the parameter updates are clipped to

int t`[protected]`

The documentation for this class was generated from the following file:

- homeokinbase.h