InvertMotorController Class Reference

Abstract class (interface) for robot controller that use direct matrix inversion and a time loop in motor domain. More...

#include <invertmotorcontroller.h>

Inherits AbstractController.

Inherited by BasicController, InvertMotorBigModel, InvertMotorNStep, and InvertMotorSpace.

Inheritance diagram for InvertMotorController:

Inheritance graph
[legend]
Collaboration diagram for InvertMotorController:

Collaboration graph
[legend]
List of all members.

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

Detailed Description

Abstract class (interface) for robot controller that use direct matrix inversion and a time loop in motor domain.

Implements standart configureable interface for some useful parameters like epsC, epsA, s4avg ...


Constructor & Destructor Documentation

InvertMotorController ( 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

virtual paramval getParam ( const paramkey key  )  const [inline, virtual]

Reimplemented in InvertMotorBigModel.

virtual paramlist getParamList (  )  const [inline, virtual]

The list of all parameters with there value as allocated lists.

Returns:
list of key-value pairs

Reimplemented from Configurable.

Reimplemented in InvertMotorBigModel.

void putInBuffer ( matrix::Matrix buffer,
const matrix::Matrix vec,
int  delay = 0 
) [inline, protected]

virtual bool setParam ( const paramkey key,
paramval  val 
) [inline, virtual]

Reimplemented in BasicController, and InvertMotorBigModel.


Member Data Documentation

paramval adaptRate [protected]

adaptation rate for learning rate adaptation

unsigned short buffersize [protected]

paramval dampA [protected]

damping term for model (0: no damping, 0.1 high damping)

paramval desens [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]

short logaE [protected]

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

paramval noiseB [protected]

size of the additional noise for model bias B

paramval noiseY [protected]

size of the additional noise for motor values

Reimplemented in InvertMotorNStep.

paramval nomUpdate [protected]

nominal update of controller in respect to matrix norm

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 s4avg [protected]

number of timesteps used for smoothing the controller output values

paramval s4delay [protected]

number of timesteps of delay in the SML

paramval squashSize [protected]

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

paramval steps [protected]

number of timesteps is used for controller learning

int t [protected]

paramval teacher [protected]

factor for teaching signal

paramval zetaupdate [protected]


The documentation for this class was generated from the following file:
Generated on Tue Sep 16 22:01:25 2008 for Robotsystem of the Robot Group Leipzig by  doxygen 1.4.7