22 #include <selforg/abstractcontroller.h>
23 #include <selforg/controller_misc.h>
28 #include <selforg/matrix.h>
50 virtual void init(
int sensornumber,
int motornumber,
RandGen* randGen = 0);
78 virtual bool store(FILE* f)
const;
130 virtual void learn();
133 static double g(
double z)
139 static double g_s(
double z)
146 static double clip(
double r,
double x){
Matrix type.
Definition: matrix.h:65
matrix::Matrix AC
Definition: soxexpand.h:104
matrix::Matrix v_avg
Definition: soxexpand.h:111
matrix::Matrix h
Definition: soxexpand.h:101
matrix::Matrix x_buffer[buffersize]
Definition: soxexpand.h:110
Abstract class for robot controller (with some basic functionality).
Definition: abstractcontroller.h:46
virtual void seth(const matrix::Matrix &h)
Definition: soxexpand.cpp:129
double initFeedbackStrength
initial value of diagonals of C
Definition: soxexpand.h:36
static SoxExpandConf getDefaultConf()
Definition: soxexpand.h:54
virtual bool store(FILE *f) const
stores the controller values to a given file.
Definition: soxexpand.cpp:242
virtual bool restore(FILE *f)
loads the controller values from a given file.
Definition: soxexpand.cpp:253
virtual void stepNoLearning(const sensor *, int number_sensors, motor *, int number_motors)
performs one step without learning. Calulates motor commands from sensor inputs.
Definition: soxexpand.cpp:151
matrix::Matrix b
Definition: soxexpand.h:102
SoxExpandConf conf
Definition: soxexpand.h:107
double sensor
Definition: types.h:29
paramval causeaware
Definition: soxexpand.h:122
paramint s4avg
Definition: soxexpand.h:125
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
static const unsigned short buffersize
Definition: soxexpand.h:96
unsigned int numberContextSensors
number of sensors considered as context sensors
Definition: soxexpand.h:37
static double g(double z)
neuron transfer function
Definition: soxexpand.h:133
matrix::Matrix A
Definition: soxexpand.h:98
matrix::Matrix x_c
Definition: soxexpand.h:113
paramval harmony
Definition: soxexpand.h:121
matrix::Matrix R
Definition: soxexpand.h:105
virtual void setContextC(const matrix::Matrix &CC)
Definition: soxexpand.cpp:119
unsigned short number_sensors
Definition: soxexpand.h:94
double paramval
Definition: configurable.h:88
paramval creativity
Definition: soxexpand.h:119
bool TLE
Definition: soxexpand.h:116
virtual ~SoxExpand()
Definition: soxexpand.cpp:57
matrix::Matrix x_smooth
Definition: soxexpand.h:114
bool loga
Definition: soxexpand.h:117
This controller implements the standard algorihm described the Chapter 3 (Homeokinesis) with body exp...
Definition: soxexpand.h:46
static double g_s(double z)
derivative of g
Definition: soxexpand.h:139
matrix::Matrix L
Definition: soxexpand.h:103
SoxExpand(const SoxExpandConf &conf=getDefaultConf())
Definition: soxexpand.cpp:24
virtual void setC(const matrix::Matrix &C)
Definition: soxexpand.cpp:111
matrix::Matrix y_buffer[buffersize]
Definition: soxexpand.h:109
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: soxexpand.cpp:61
double max(const matrix::Matrix &v)
returns the largest element
Definition: controller_misc.cpp:318
virtual void learn()
learn values model and controller (A,b,C,h)
Definition: soxexpand.cpp:190
virtual void setA(const matrix::Matrix &A)
Definition: soxexpand.cpp:102
int t
Definition: soxexpand.h:115
paramint s4delay
Definition: soxexpand.h:126
virtual matrix::Matrix getC()
Definition: soxexpand.cpp:107
paramval epsA
Definition: soxexpand.h:124
paramval epsC
Definition: soxexpand.h:123
matrix::Matrix S
Definition: soxexpand.h:100
matrix::Matrix x
Definition: soxexpand.h:112
int paramint
Definition: configurable.h:98
double motor
Definition: types.h:30
Configuration object for SoxExpand.
Definition: soxexpand.h:35
matrix::Matrix contextCoupling
coupling of context senors to bias
Definition: soxexpand.h:38
static double one_over(double x)
calculates the inverse the argument (useful for Matrix::map)
Definition: soxexpand.h:150
matrix::Matrix C
Definition: soxexpand.h:99
virtual matrix::Matrix getContextC()
Definition: soxexpand.cpp:116
paramval sense
Definition: soxexpand.h:120
double min(const matrix::Matrix &v)
returns the smallest element
Definition: controller_misc.cpp:307
unsigned short number_motors
Definition: soxexpand.h:95
static double clip(double r, double x)
function that clips the second argument to the interval [-first,first]
Definition: soxexpand.h:146
virtual int getMotorNumber() const
returns the mumber of motors the controller was initialised with or 0 if not initialised ...
Definition: soxexpand.h:64
virtual int getSensorNumber() const
returns the number of sensors the controller was initialised with or 0 if not initialised ...
Definition: soxexpand.h:62
virtual matrix::Matrix geth()
Definition: soxexpand.cpp:125
virtual matrix::Matrix getA()
Definition: soxexpand.cpp:98
virtual void step(const sensor *, int number_sensors, motor *, int number_motors)
performs one step (includes learning).
Definition: soxexpand.cpp:135
int c
Definition: hexapod.cpp:56