19 #ifndef __DERLININVERT_H
20 #define __DERLININVERT_H
59 virtual void init(
int sensornumber,
int motornumber,
RandGen* randg);
79 virtual bool store(FILE* f)
const;
Matrix type.
Definition: matrix.h:65
virtual bool restore(FILE *f)
loads the controller values from a given file.
Definition: derlininvert.cpp:613
abstract class (interface) for invertable models.
Definition: invertablemodel.h:33
matrix::Matrix A_Hat
Model Matrix (motors to sensors) with input shift.
Definition: derlininvert.h:129
std::list< IConnection > iconnectionlist
Definition: inspectable.h:88
double cNonDiag
cNonDiag is the size of the nondiagonal elements in respect to the diagonal (cInit) ones ...
Definition: derlininvert.h:35
int buffersize
buffersize size of the time-buffer for x,y,eta
Definition: derlininvert.h:33
virtual void step(const sensor *, int number_sensors, motor *, int number_motors)
performs one step (includes learning).
Definition: derlininvert.cpp:177
double grang2
Definition: derlininvert.h:161
int managementInterval
interval between subsequent management function calls
Definition: derlininvert.h:199
NoiseGenerator * YNoiseGen
Noisegenerator for noisy motor values.
Definition: derlininvert.h:139
matrix::Matrix x_smooth
Definition: derlininvert.h:175
paramval dampS
damping of S matrix
Definition: derlininvert.h:200
matrix::Matrix mue1
Definition: derlininvert.h:185
matrix::Matrix * rho_buffer
Definition: derlininvert.h:170
paramval intstate
Definition: derlininvert.h:208
InvertableModel * model
model used as world model
Definition: derlininvert.h:43
virtual void setMotorTeachingSignal(const motor *teaching, int len)
The given motor teaching signal is used for this timestep.
Definition: derlininvert.cpp:730
int fantReset
number of fantasy control events before reseting internal state
Definition: derlininvert.h:195
matrix::Matrix DeltaH_Old
Definition: derlininvert.h:153
matrix::Matrix ID_Sensor
identity matrix in the dimension of sensor space
Definition: derlininvert.h:149
virtual iparamkeylist getInternalParamNames() const
The list of the names of all internal parameters given by getInternalParams().
Definition: derlininvert.cpp:627
matrix::Matrix P
A*G'*C.
Definition: derlininvert.h:141
MultiLayerFFNN * sat
satilite network, that learns and teaches
Definition: derlininvert.h:187
virtual void stepNoLearning(const sensor *, int number_sensors, motor *, int number_motors)
performs one step without learning. Calulates motor commands from sensor inputs.
Definition: derlininvert.cpp:195
matrix::Matrix y_sat
Definition: derlininvert.h:177
unsigned short number_sensors
Definition: derlininvert.h:124
matrix::Matrix Rm1
R^-1.
Definition: derlininvert.h:147
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 ...
Definition: derlininvert.cpp:203
matrix::Matrix Dinverse
Inverse Noise Matrix.
Definition: derlininvert.h:134
matrix::Matrix y_teaching
teaching motor signal
Definition: derlininvert.h:189
paramval epsSat
learning rate for satellite network
Definition: derlininvert.h:204
paramval satelliteTeaching
teaching rate for sat teaching
Definition: derlininvert.h:205
virtual iconnectionlist getStructuralConnections() const
Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The...
Definition: derlininvert.cpp:719
double sensor
Definition: types.h:29
int t_delay
Definition: derlininvert.h:198
matrix::Matrix DeltaC_Old
Definition: derlininvert.h:152
unsigned short number_motors
Definition: derlininvert.h:125
matrix::Matrix H
Controller Bias.
Definition: derlininvert.h:135
matrix::Matrix * eta_buffer
Definition: derlininvert.h:171
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
matrix::Matrix ID
identity matrix in the dimension of R
Definition: derlininvert.h:148
matrix::Matrix * y_buffer
Definition: derlininvert.h:167
int fantControl
interval length for fantasising
Definition: derlininvert.h:193
virtual void setSensorTeachingSignal(const sensor *teaching, int len)
The given sensor teaching signal (distal learning) is used for this timestep.
Definition: derlininvert.cpp:737
double EE_sqr
Definition: derlininvert.h:165
matrix::Matrix CST
Definition: derlininvert.h:151
matrix::Matrix x_smooth_long
Definition: derlininvert.h:180
matrix::Matrix Q1
Definition: derlininvert.h:144
matrix::Matrix y_integration
Definition: derlininvert.h:182
virtual int getMotorNumber() const
returns the mumber of motors the controller was initialised with or 0 if not initialised ...
Definition: derlininvert.h:66
double TLE
Definition: derlininvert.h:159
NoiseGenerator * BNoiseGen
Noisegenerator for noisy bias.
Definition: derlininvert.h:138
virtual int getSensorNumber() const
returns the number of sensors the controller was initialised with or 0 if not initialised ...
Definition: derlininvert.h:64
static DerLinInvertConf getDefaultConf()
Definition: derlininvert.h:104
bool someInternalParams
someInternalParams if true only some internal parameters are exported, otherwise all ...
Definition: derlininvert.h:38
Definition: derlininvert.h:32
bool useS
useS decides whether to use the S matrix in addition to the A matrix
Definition: derlininvert.h:37
matrix::Matrix * ysat_buffer
Definition: derlininvert.h:168
matrix::Matrix * x_buffer
Definition: derlininvert.h:166
virtual bool store(FILE *f) const
stores the controller values to a given file.
Definition: derlininvert.cpp:600
double sensor
Definition: abstractcontroller.h:48
DerLinInvert(const DerLinInvertConf &conf=getDefaultConf())
Definition: derlininvert.cpp:29
double xsi_norm
norm of matrix
Definition: derlininvert.h:156
double paramval
Definition: configurable.h:88
Extended HomeokinBase class (still abstract) for robot controller work in motorspace and use possibly...
Definition: invertmotorcontroller.h:36
double cInit
cInit size of the C matrix to initialised with.
Definition: derlininvert.h:34
matrix::Matrix zero_eta
Definition: derlininvert.h:174
matrix::Matrix PID_deriv
Definition: derlininvert.h:183
matrix::Matrix B
Model Bias.
Definition: derlininvert.h:137
matrix::Matrix C
Controller Matrix.
Definition: derlininvert.h:131
paramval PIDint
Definition: derlininvert.h:206
matrix::Matrix vau1
Definition: derlininvert.h:184
void getLastMotors(motor *motors, int len)
Definition: derlininvert.cpp:571
bool modelInit
size of the unit-map strenght of the model
Definition: derlininvert.h:36
matrix::Matrix x_intern
fantasy sensor values
Definition: derlininvert.h:192
matrix::Matrix DD
Noise Matrix.
Definition: derlininvert.h:133
struct DerLinInvertConf DerLinInvertConf
double xsi_norm_avg
average norm of xsi (used to define whether Modell learns)
Definition: derlininvert.h:157
paramval weighting
general weighting factor between update concepts
Definition: derlininvert.h:203
InvertableModel * sat
satellite network, that learns and teaches (can be 0)
Definition: derlininvert.h:44
double modelCompliant
learning factor for model (or sensor) compliant learning
Definition: derlininvert.h:40
virtual void management()
handles inhibition damping etc.
Definition: derlininvert.cpp:583
matrix::Matrix xsi
current output error
Definition: derlininvert.h:155
double causal
Definition: derlininvert.h:162
matrix::Matrix Q
Granger2.
Definition: derlininvert.h:143
matrix::Matrix A
Model Matrix (motors to sensors)
Definition: derlininvert.h:127
matrix::Matrix v_smooth
Definition: derlininvert.h:173
paramval dampC
damping of C matrix
Definition: derlininvert.h:201
double motor
Definition: types.h:30
matrix::Matrix CCT_inv
Definition: derlininvert.h:150
matrix::Matrix y_forecast
Definition: derlininvert.h:181
virtual ~DerLinInvert()
Definition: derlininvert.cpp:61
matrix::Matrix * chi_buffer
Definition: derlininvert.h:169
matrix::Matrix DeltaHY_Old
Definition: derlininvert.h:154
virtual ilayerlist getStructuralLayers() const
Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering...
Definition: derlininvert.cpp:711
matrix::Matrix calcDerivatives(const matrix::Matrix *buffer, int delay)
Calculates first and second derivative and returns both in on matrix (above).
Definition: derlininvert.cpp:576
matrix::Matrix S
additional Model Matrix (sensors to sensors)
Definition: derlininvert.h:130
matrix::Matrix y_smooth_long
Definition: derlininvert.h:178
matrix::Matrix y_smooth
Definition: derlininvert.h:176
bool useTeaching
flag whether there is an actual teachning signal or not
Definition: derlininvert.h:190
bool useFantasy
if true fantasising is enabled
Definition: derlininvert.h:41
matrix::Matrix eta
Definition: derlininvert.h:172
double grang1
Definition: derlininvert.h:160
multi layer neural network with configurable activation functions
Definition: multilayerffnn.h:35
matrix::Matrix GSC
G_Prime times Controller Matrix.
Definition: derlininvert.h:132
matrix::Matrix eta_smooth
Definition: derlininvert.h:179
virtual void learnModel(int delay)
learn conf.model, (and S) using motors y and corresponding sensors x
Definition: derlininvert.cpp:520
double motor
Definition: abstractcontroller.h:49
matrix::Matrix HY
Controller Bias-Y.
Definition: derlininvert.h:136
int t_rand
initial random time to avoid syncronous management of all controllers
Definition: derlininvert.h:197
matrix::Matrix A0
Definition: derlininvert.h:128
virtual matrix::Matrix calculateControllerValues(const matrix::Matrix &x_smooth)
returns controller output for given sensor values
Definition: derlininvert.cpp:554
matrix::Matrix ATA_inv
Definition: derlininvert.h:146
std::list< ILayer > ilayerlist
Definition: inspectable.h:87
virtual double calcMatrixNorm(const matrix::Matrix &m)
calculates the city block distance (abs) norm of the matrix. (abs sum of absolutes / size of matrix) ...
Definition: derlininvert.cpp:746
double causalfactor
Definition: derlininvert.h:163
std::list< iparamkey > iparamkeylist
Definition: inspectable.h:59
std::list< iparamval > iparamvallist
Definition: inspectable.h:61
virtual void init(int sensornumber, int motornumber, RandGen *randg)
initialisation of the controller with the given sensor/ motornumber Must be called before use...
Definition: derlininvert.cpp:73
matrix::Matrix RRT_inv
Definition: derlininvert.h:145
DerLinInvertConf conf
Definition: derlininvert.h:212
double EE_mean
Definition: derlininvert.h:164
int fantControlLen
length of fantasy control
Definition: derlininvert.h:194
virtual void learnController(int delay)
learn values H,C This is the implementation uses a better formula for g^-1 using Mittelwertsatz ...
Definition: derlininvert.cpp:270
paramval gamma
Definition: derlininvert.h:209
int c
Definition: hexapod.cpp:56
paramval dampH
damping of H vector
Definition: derlininvert.h:202
virtual iparamvallist getInternalParams() const
Definition: derlininvert.cpp:667
double pain
if the modelling error (xsi) is too high we have a pain signal
Definition: derlininvert.h:158
paramval PIDdrv
Definition: derlininvert.h:207
class for robot controller is based on InvertMotorNStep
Definition: derlininvert.h:55
matrix::Matrix RG
Granger1.
Definition: derlininvert.h:142
matrix::Matrix R
C*A.
Definition: derlininvert.h:140
Interface and basic class for noise generator.
Definition: noisegenerator.h:37