24 #ifndef __ABSTRACTCONTROLLER_H
25 #define __ABSTRACTCONTROLLER_H
58 virtual void init(
int sensornumber,
int motornumber,
RandGen* randGen = 0)= 0;
75 virtual void step(
const sensor* sensors,
int sensornumber,
76 motor* motors,
int motornumber)= 0;
81 motor* ,
int number_motors)= 0;
88 const motor* ,
int number_motors) {};
107 virtual int SIdx(
const std::string& name);
110 virtual int MIdx(
const std::string& name);
virtual void sensorInfos(std::list< SensorMotorInfo > sensorInfos)
the controller is notified about the information on sensor.
Definition: abstractcontroller.cpp:29
Interface for objects, that can be stored and restored to/from a file stream (binary).
Definition: storeable.h:33
Abstract class for robot controller (with some basic functionality).
Definition: abstractcontroller.h:46
double sensor
Definition: types.h:29
random generator with 48bit integer arithmentic
Definition: randomgenerator.h:34
std::map< std::string, int > sensorIndexMap
Definition: abstractcontroller.h:117
AbstractController(const std::string &name, const std::string &revision)
contructor (hint: use $ID$ for revision)
Definition: abstractcontroller.h:52
double sensor
Definition: abstractcontroller.h:48
virtual int MIdx(const std::string &name)
returns the index of the motor with the given name (if not found then 0 and all motor names are print...
Definition: abstractcontroller.cpp:58
virtual void motorInfos(std::list< SensorMotorInfo > motorInfos)
the controller is notified about the information on motors.
Definition: abstractcontroller.cpp:36
virtual int SIdx(const std::string &name)
returns the index of the sensor with the given name (if not found then 0 and all sensor names are pri...
Definition: abstractcontroller.cpp:43
Interface for objects, that can be stored and restored to/from a file stream (binary).
Definition: sensormotorinfo.h:33
virtual SensorMotorInfo SInfo(int index)
returns the Information for the sensor with given index
Definition: abstractcontroller.cpp:73
virtual void init(int sensornumber, int motornumber, RandGen *randGen=0)=0
initialisation of the controller with the given sensor/ motornumber Must be called before use...
Interface for inspectable objects.
Definition: inspectable.h:48
Abstact class for configurable objects.
Definition: configurable.h:81
double motor
Definition: types.h:30
std::map< int, SensorMotorInfo > motorInfoMap
Definition: abstractcontroller.h:120
virtual void stepNoLearning(const sensor *, int number_sensors, motor *, int number_motors)=0
performs one step without learning.
std::map< std::string, int > motorIndexMap
Definition: abstractcontroller.h:118
virtual void step(const sensor *sensors, int sensornumber, motor *motors, int motornumber)=0
performs one step (includes learning).
virtual void motorBabblingStep(const sensor *, int number_sensors, const motor *, int number_motors)
called in motor babbling phase.
Definition: abstractcontroller.h:87
double motor
Definition: abstractcontroller.h:49
virtual SensorMotorInfo MInfo(int index)
returns the Information for the motor with given index
Definition: abstractcontroller.cpp:82
std::map< int, SensorMotorInfo > sensorInfoMap
Definition: abstractcontroller.h:119
virtual int getMotorNumber() const =0
virtual int getSensorNumber() const =0