DInvert3ChannelController Class Reference

#include <dinvert3channelcontroller.h>

Inheritance diagram for DInvert3ChannelController:

Inheritance graph
[legend]
Collaboration diagram for DInvert3ChannelController:

Collaboration graph
[legend]
List of all members.

Detailed Description

class for robot controller that use naglaa's direct matrix inversion for n channels (simple one layer networks)

Implements standart parameters: eps, rho, mu, stepnumber4avg, stepnumber4delay

Definition at line 16 of file dinvert3channelcontroller.h.

Public Member Functions

virtual double g (double z)
 neuron transfer function
virtual double g_s (double z)
virtual double squash (double z)
 squashing function, to protect against to large weight updates
double ** allocateMatrix (int m, int n)
void freeMatrix (double **mat, int m)
virtual constparamkey getName () const
 return the name of the object (with version number)
virtual void init (int sensornumber, int motornumber)
 initialisation of the controller with the given sensor/ motornumber Must be called before use.
 DInvert3ChannelController (int numberchannels, int buffersize)
virtual void step (const sensor *x_, int sensornumber, motor *y_, int motornumber)
 performs one step (includes learning). Calulates motor commands from sensor inputs.
virtual void stepNoLearning (const sensor *x_, int sensornumber, motor *y_, int motornumber)
 performs one step without learning. Calulates motor commands from sensor inputs.
virtual int getInternalParamNames (paramkey *&keylist)
virtual int getInternalParams (paramval *vallist, int length)

Public Attributes

double ** A
 model matrix
double ** C
 controller matrix
double * h
 bias vector
double ** x_buffer
 buffer for input values, x[tbuffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1)
double ** y_buffer
 buffer for output values, y[tbuffersize]=actual value(if already calculated!), y[(t-1+buffersize)buffersize]=y(t-1)
double * xsi4E
double * xsi4Model
int t
 number of steps, needed for ringbuffer x_buffer
char name [50]

Protected Member Functions

virtual void inverseMatrix (double **Q, double **Q_1)
virtual double calculateE (const double *x_, const double *x_delay, const double *y_delay)
virtual void learn (const double *x_, const double *x_delay, const double *y_delay)
virtual void learnModel (const double *x_actual, double *y_effective)
virtual void calculateDelayedValues (double **source, paramval number_steps_of_delay_, double *target)
 calculate delayed values
virtual void calculateSmoothValues (double **source, paramval number_steps_for_averaging_, double *target)
virtual void calculateControllerValues (double *x_smooth, double *y)
 calculate controller ouptus
virtual void putInBuffer (double **buffer, const double *values)

Protected Attributes

int NUMBER_CHANNELS
int BUFFER_SIZE
double * x_smooth
double * x_effective
double * y_effective
double ** Q_buf1
double ** Q_buf2
double ** L
double * z


Constructor & Destructor Documentation

DInvert3ChannelController int  numberchannels,
int  buffersize
[inline]
 

Definition at line 138 of file dinvert3channelcontroller.h.


Member Function Documentation

double** allocateMatrix int  m,
int  n
[inline]
 

Definition at line 109 of file dinvert3channelcontroller.h.

virtual void calculateControllerValues double *  x_smooth,
double *  y
[inline, protected, virtual]
 

calculate controller ouptus

Definition at line 508 of file dinvert3channelcontroller.h.

virtual void calculateDelayedValues double **  source,
paramval  number_steps_of_delay_,
double *  target
[inline, protected, virtual]
 

calculate delayed values

Definition at line 477 of file dinvert3channelcontroller.h.

virtual double calculateE const double *  x_,
const double *  x_delay,
const double *  y_delay
[inline, protected, virtual]
 

Definition at line 323 of file dinvert3channelcontroller.h.

virtual void calculateSmoothValues double **  source,
paramval  number_steps_for_averaging_,
double *  target
[inline, protected, virtual]
 

Definition at line 490 of file dinvert3channelcontroller.h.

void freeMatrix double **  mat,
int  m
[inline]
 

Definition at line 117 of file dinvert3channelcontroller.h.

virtual double g double  z  )  [inline, virtual]
 

neuron transfer function

Definition at line 86 of file dinvert3channelcontroller.h.

virtual double g_s double  z  )  [inline, virtual]
 

Definition at line 93 of file dinvert3channelcontroller.h.

virtual int getInternalParamNames paramkey *&  keylist  )  [inline, virtual]
 

Definition at line 272 of file dinvert3channelcontroller.h.

virtual int getInternalParams paramval vallist,
int  length
[inline, virtual]
 

Definition at line 276 of file dinvert3channelcontroller.h.

virtual constparamkey getName  )  const [inline, virtual]
 

return the name of the object (with version number)

Reimplemented from Configurable.

Definition at line 128 of file dinvert3channelcontroller.h.

virtual void init int  sensornumber,
int  motornumber
[inline, virtual]
 

initialisation of the controller with the given sensor/ motornumber Must be called before use.

Reimplemented from AbstractController.

Definition at line 133 of file dinvert3channelcontroller.h.

virtual void inverseMatrix double **  Q,
double **  Q_1
[inline, protected, virtual]
 

Definition at line 282 of file dinvert3channelcontroller.h.

virtual void learn const double *  x_,
const double *  x_delay,
const double *  y_delay
[inline, protected, virtual]
 

Definition at line 408 of file dinvert3channelcontroller.h.

virtual void learnModel const double *  x_actual,
double *  y_effective
[inline, protected, virtual]
 

Definition at line 448 of file dinvert3channelcontroller.h.

virtual void putInBuffer double **  buffer,
const double *  values
[inline, protected, virtual]
 

Definition at line 525 of file dinvert3channelcontroller.h.

virtual double squash double  z  )  [inline, virtual]
 

squashing function, to protect against to large weight updates

Definition at line 101 of file dinvert3channelcontroller.h.

virtual void step const sensor x_,
int  sensornumber,
motor y_,
int  motornumber
[inline, virtual]
 

performs one step (includes learning). Calulates motor commands from sensor inputs.

Reimplemented from AbstractController.

Definition at line 213 of file dinvert3channelcontroller.h.

virtual void stepNoLearning const sensor x_,
int  sensornumber,
motor y_,
int  motornumber
[inline, virtual]
 

performs one step without learning. Calulates motor commands from sensor inputs.

Reimplemented from AbstractController.

Definition at line 249 of file dinvert3channelcontroller.h.


Member Data Documentation

double** A
 

model matrix

Definition at line 47 of file dinvert3channelcontroller.h.

int BUFFER_SIZE [protected]
 

Definition at line 36 of file dinvert3channelcontroller.h.

double** C
 

controller matrix

Definition at line 48 of file dinvert3channelcontroller.h.

double* h
 

bias vector

Definition at line 49 of file dinvert3channelcontroller.h.

double** L [protected]
 

Definition at line 43 of file dinvert3channelcontroller.h.

char name[50]
 

Definition at line 58 of file dinvert3channelcontroller.h.

int NUMBER_CHANNELS [protected]
 

Definition at line 35 of file dinvert3channelcontroller.h.

double** Q_buf1 [protected]
 

Definition at line 41 of file dinvert3channelcontroller.h.

double** Q_buf2 [protected]
 

Definition at line 42 of file dinvert3channelcontroller.h.

int t
 

number of steps, needed for ringbuffer x_buffer

Definition at line 57 of file dinvert3channelcontroller.h.

double** x_buffer
 

buffer for input values, x[tbuffersize]=actual value, x[(t-1+buffersize)buffersize]=x(t-1)

Definition at line 51 of file dinvert3channelcontroller.h.

double* x_effective [protected]
 

Definition at line 39 of file dinvert3channelcontroller.h.

double* x_smooth [protected]
 

Definition at line 38 of file dinvert3channelcontroller.h.

double* xsi4E
 

Definition at line 54 of file dinvert3channelcontroller.h.

double* xsi4Model
 

Definition at line 55 of file dinvert3channelcontroller.h.

double** y_buffer
 

buffer for output values, y[tbuffersize]=actual value(if already calculated!), y[(t-1+buffersize)buffersize]=y(t-1)

Definition at line 52 of file dinvert3channelcontroller.h.

double* y_effective [protected]
 

Definition at line 40 of file dinvert3channelcontroller.h.

double* z [protected]
 

Definition at line 44 of file dinvert3channelcontroller.h.


Generated on Tue Apr 4 19:05:05 2006 for Robotsystem from Robot Group Leipzig by  doxygen 1.4.5