19 #ifndef __INVERTMOTORSPACE_H
20 #define __INVERTMOTORSPACE_H
26 #include <selforg/matrix.h>
27 #include <selforg/noisegenerator.h>
40 virtual void init(
int sensornumber,
int motornumber,
RandGen* randGen = 0);
59 virtual bool store(FILE* f)
const;
Matrix type.
Definition: matrix.h:65
matrix::Matrix * y_buffer
Definition: invertmotorspace.h:79
class for robot controller that uses the georg's matrixlib for direct matrix inversion for n channels...
Definition: invertmotorspace.h:36
virtual void init(int sensornumber, int motornumber, RandGen *randGen=0)
initialisation of the controller with the given sensor/ motornumber Must be called before use...
Definition: invertmotorspace.cpp:52
double sensor
Definition: types.h:29
unsigned short number_motors
Definition: invertmotorspace.h:70
virtual std::list< ILayer > getStructuralLayers() const
Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering...
Definition: invertmotorspace.cpp:240
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
virtual void learnModel(const matrix::Matrix &x, const matrix::Matrix &y)
learn A, using motors y and corresponding sensors x
Definition: invertmotorspace.cpp:192
virtual std::list< IConnection > getStructuralConnections() const
Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The...
Definition: invertmotorspace.cpp:248
unsigned short buffersize
Definition: homeokinbase.h:68
matrix::Matrix x_smooth
Definition: invertmotorspace.h:80
matrix::Matrix B
Definition: invertmotorspace.h:76
matrix::Matrix R
Definition: invertmotorspace.h:74
double sensor
Definition: abstractcontroller.h:48
virtual void learnController(const matrix::Matrix &x, const matrix::Matrix &x_smooth, int delay)
learn h,C, delayed motors y and corresponding sensors x
Definition: invertmotorspace.cpp:137
matrix::Matrix * x_buffer
Definition: invertmotorspace.h:78
matrix::Matrix A
Definition: invertmotorspace.h:72
Extended HomeokinBase class (still abstract) for robot controller work in motorspace and use possibly...
Definition: invertmotorcontroller.h:36
virtual matrix::Matrix calculateControllerValues(const matrix::Matrix &x_smooth)
returns controller output for given sensor values
Definition: invertmotorspace.cpp:212
matrix::Matrix C
Definition: invertmotorspace.h:73
virtual bool store(FILE *f) const
stores the controller values to a given file (binary).
Definition: invertmotorspace.cpp:217
virtual int getSensorNumber() const
returns the number of sensors the controller was initialised with or 0 if not initialised ...
Definition: invertmotorspace.h:45
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 ...
Definition: invertmotorspace.cpp:112
virtual int getMotorNumber() const
returns the mumber of motors the controller was initialised with or 0 if not initialised ...
Definition: invertmotorspace.h:47
double cInit
Definition: invertmotorspace.h:83
double motor
Definition: types.h:30
virtual ~InvertMotorSpace()
Definition: invertmotorspace.cpp:44
virtual void step(const sensor *, int number_sensors, motor *, int number_motors)
performs one step (includes learning).
Definition: invertmotorspace.cpp:86
virtual bool restore(FILE *f)
loads the controller values from a given file (binary).
Definition: invertmotorspace.cpp:228
unsigned short number_sensors
Definition: invertmotorspace.h:69
InvertMotorSpace(int buffersize, double cInit=0.1, bool someInternalParams=true)
Definition: invertmotorspace.cpp:25
bool someInternalParams
Definition: invertmotorspace.h:82
double motor
Definition: abstractcontroller.h:49
matrix::Matrix H
Definition: invertmotorspace.h:75
virtual void stepNoLearning(const sensor *, int number_sensors, motor *, int number_motors)
performs one step without learning. Calulates motor commands from sensor inputs.
Definition: invertmotorspace.cpp:105
NoiseGenerator * BNoiseGen
Definition: invertmotorspace.h:77
Interface and basic class for noise generator.
Definition: noisegenerator.h:37