Robotsystem of the Robot Group Leipzig: InvertMotorController Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Directories
- Examples

- Search for |

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

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

[legend]
Collaboration diagram for InvertMotorController:

[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:

- invertmotorcontroller.h