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 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
static double g_s (double z)
 first dervative
static double g_s_inv (double z)
 inverse of the first derivative
static double g_s (double z, double xsi)
 an exact formula for inversion if neuron.
static double g_2s_div_s (double z, double xsi)
 an exact formula for g''/g'
static double squash (double z)
 squashing function (-0.1 to 0.1), to protect against to large weight updates
static double squash (void *d, double z)
 squashing function with adjustable clipping size, to protect against too large weight updates

Protected Attributes

paramval epsC
paramval desens
paramval s4delay
paramval s4avg
paramval steps
paramval epsA
paramval factorB
paramval zetaupdate
paramval dampA
short logaE
short rootE
short relativeE
paramval squashSize
paramval adaptRate
paramval nomUpdate
paramval noiseB
paramval noiseY
paramval teacher
int t
unsigned short buffersize
std::string name
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

static double g_2s_div_s ( double  z,
double  xsi 
) [inline, static, protected]

an exact formula for g''/g'

static double g_s ( double  z,
double  xsi 
) [inline, static, protected]

an exact formula for inversion if neuron.

static double g_s ( double  z  )  [inline, static, protected]

first dervative

static double g_s_inv ( double  z  )  [inline, static, protected]

inverse of the first derivative

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

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.

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

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

static double squash ( void *  d,
double  z 
) [inline, static, protected]

squashing function with adjustable clipping size, to protect against too large weight updates

static double squash ( double  z  )  [inline, static, protected]

squashing function (-0.1 to 0.1), to protect against to large weight updates


Member Data Documentation

paramval adaptRate [protected]

unsigned short buffersize [protected]

paramval dampA [protected]

paramval desens [protected]

paramval epsA [protected]

paramval epsC [protected]

paramval factorB [protected]

bool initialised [protected]

short logaE [protected]

std::string name [protected]

Reimplemented from Configurable.

paramval noiseB [protected]

paramval noiseY [protected]

paramval nomUpdate [protected]

short relativeE [protected]

short rootE [protected]

paramval s4avg [protected]

paramval s4delay [protected]

paramval squashSize [protected]

paramval steps [protected]

int t [protected]

paramval teacher [protected]

paramval zetaupdate [protected]


The documentation for this class was generated from the following file:
Generated on Mon Aug 7 16:50:27 2006 for Robotsystem of the Robot Group Leipzig by  doxygen 1.4.7