#include <invertmotorbigmodel.h>
Inherits InvertMotorController.
Inheritance diagram for InvertMotorBigModel:


Public Member Functions | |
| InvertMotorBigModel (const InvertMotorBigModelConf &conf=getDefaultConf()) | |
| virtual void | init (int sensornumber, int motornumber) |
| initialisation of the controller with the given sensor/ motornumber Must be called before use. | |
| virtual | ~InvertMotorBigModel () |
| virtual int | getSensorNumber () const |
| returns the number of sensors the controller was initialised with or 0 if not initialised | |
| virtual int | getMotorNumber () const |
| returns the mumber of motors the controller was initialised with or 0 if not initialised | |
| virtual void | step (const sensor *, int number_sensors, motor *, int number_motors) |
| performs one step (includes learning). | |
| virtual void | stepNoLearning (const sensor *, int number_sensors, motor *, int number_motors) |
| performs one step without learning. Calulates motor commands from sensor inputs. | |
| virtual bool | store (FILE *f) const |
| stores the controller values to a given file. | |
| virtual bool | restore (FILE *f) |
| loads the controller values from a given file. | |
| virtual iparamkeylist | getInternalParamNames () const |
| The list of the names of all internal parameters given by getInternalParams(). | |
| virtual iparamvallist | getInternalParams () const |
| virtual ilayerlist | getStructuralLayers () const |
| Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering is important. | |
| virtual iconnectionlist | getStructuralConnections () const |
| Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The orderning is not important. | |
| virtual paramval | getParam (const paramkey &key) const |
| returns the value of the requested parameter or 0 (+ error message to stderr) if unknown. | |
| virtual bool | setParam (const paramkey &key, paramval val) |
| sets the value of the given parameter or does nothing if unknown. | |
| virtual paramlist | getParamList () const |
| The list of all parameters with there value as allocated lists. | |
| virtual void | setTeachingMode (bool onOff) |
| virtual bool | getTeachingMode () |
| virtual void | setMotorTeachingSignal (const motor *teaching, int len) |
| void | calcCandHUpdatesTeaching (matrix::Matrix &C_update, matrix::Matrix &H_update, int y_delay) |
| calculates the Update for C and H using the teaching signal | |
| void | getLastMotors (motor *motors, int len) |
Static Public Member Functions | |
| InvertMotorBigModelConf | getDefaultConf () |
Protected Member Functions | |
| virtual void | fillBuffersAndControl (const sensor *x_, int number_sensors, motor *y_, int number_motors) |
| puts the sensors in the ringbuffer, generate controller values and put them in the | |
| virtual void | calcEtaAndBufferIt (int delay) |
| calculates the first shift into the motor space useing delayed motor values. | |
| virtual void | learnController () |
| learn H,C with motors y and corresponding sensors x | |
| virtual void | calcCandHUpdates (matrix::Matrix &C_update, matrix::Matrix &H_update, int y_delay) |
| calculates the Update for C and H | |
| virtual void | updateCandH (const matrix::Matrix &C_update, const matrix::Matrix &H_update, double squashSize) |
| updates the matrix C and H | |
| virtual void | learnModel (int delay) |
| learn A, (and S) using motors y and corresponding sensors x | |
| virtual matrix::Matrix | calculateControllerValues (const matrix::Matrix &x_smooth) |
| returns controller output for given sensor 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 | |
Protected Attributes | |
| unsigned short | number_sensors |
| unsigned short | number_motors |
| matrix::Matrix | A |
| current response function of the model | |
| matrix::Matrix | C |
| Controller Matrix. | |
| matrix::Matrix | H |
| Controller Bias. | |
| matrix::Matrix | R |
| C*A. | |
| matrix::Matrix | SmallID |
| small identity matrix in the dimension of R | |
| matrix::Matrix | xsi |
| current output error | |
| double | xsi_norm |
| norm of matrix | |
| double | xsi_norm_avg |
| average norm of xsi (used to define whether Modell learns) | |
| double | pain |
| if the modelling error (xsi) is too high we have a pain signal | |
| matrix::Matrix * | x_buffer |
| matrix::Matrix * | y_buffer |
| matrix::Matrix * | eta_buffer |
| matrix::Matrix | zero_eta |
| matrix::Matrix | x_smooth |
| matrix::Matrix | y_teaching |
| teaching motor signal | |
| InvertMotorBigModelConf | conf |
|
|
|
|
|
|
|
||||||||||||||||
|
calculates the Update for C and H
|
|
||||||||||||||||
|
calculates the Update for C and H using the teaching signal
|
|
||||||||||||||||
|
calculates the error_factor for either logarithmic (E=ln(e^T*e)) or square (E=sqrt(e^t*e)) error
Reimplemented from InvertMotorController.
|
|
|
calculates the first shift into the motor space useing delayed motor values.
|
|
|
returns controller output for given sensor values
|
|
||||||||||||||||||||
|
puts the sensors in the ringbuffer, generate controller values and put them in the
|
|
|
|
|
|
The list of the names of all internal parameters given by getInternalParams(). The naming convention is "v[i]" for vectors and "A[i][j]" for matrices, where i, j start at 0.
Implements Inspectable.
|
|
|
Implements Inspectable.
|
|
||||||||||||
|
|
|
|
returns the mumber of motors the controller was initialised with or 0 if not initialised
Reimplemented from AbstractController.
|
|
|
returns the value of the requested parameter or 0 (+ error message to stderr) if unknown.
Reimplemented from InvertMotorController.
|
|
|
The list of all parameters with there value as allocated lists.
Reimplemented from InvertMotorController.
|
|
|
returns the number of sensors the controller was initialised with or 0 if not initialised
Reimplemented from AbstractController.
|
|
|
Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The orderning is not important.
Reimplemented from Inspectable.
|
|
|
Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering is important. The first entry is the input layer and so on.
Reimplemented from Inspectable.
|
|
|
|
|
||||||||||||
|
initialisation of the controller with the given sensor/ motornumber Must be called before use.
Reimplemented from AbstractController.
|
|
|
learn H,C with motors y and corresponding sensors x
|
|
|
learn A, (and S) using motors y and corresponding sensors x
|
|
|
loads the controller values from a given file.
Implements Storeable.
|
|
||||||||||||
|
|
|
||||||||||||
|
sets the value of the given parameter or does nothing if unknown.
Reimplemented from InvertMotorController.
|
|
|
|
|
||||||||||||||||||||
|
performs one step (includes learning). Calulates motor commands from sensor inputs. Reimplemented from AbstractController.
|
|
||||||||||||||||||||
|
performs one step without learning. Calulates motor commands from sensor inputs.
Reimplemented from AbstractController.
|
|
|
stores the controller values to a given file.
Implements Storeable.
|
|
||||||||||||||||
|
updates the matrix C and H
|
|
|
current response function of the model
|
|
|
Controller Matrix.
|
|
|
|
|
|
|
|
|
Controller Bias.
|
|
|
|
|
|
|
|
|
if the modelling error (xsi) is too high we have a pain signal
|
|
|
C*A.
|
|
|
small identity matrix in the dimension of R
|
|
|
|
|
|
|
|
|
current output error
|
|
|
norm of matrix
|
|
|
average norm of xsi (used to define whether Modell learns)
|
|
|
|
|
|
teaching motor signal
|
|
|
|
1.3.8