#include <abstractcontroller.h>
Inherits Configurable, Inspectable, and Storeable.
Inherited by AbstractControllerAdapter, AbstractIAFController, ClassicReinforce, FFNNController, InvertController, InvertMotorController, MutualInformationController, ReplayController, SineController, and use_java_controller.
Inheritance diagram for AbstractController:


Public Types | |
| typedef double | sensor |
| typedef double | motor |
Public Member Functions | |
| AbstractController (const std::string &name, const std::string &revision) | |
| contructor (hint: use $ID$ for revision) | |
| 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. | |
| virtual int | getSensorNumber () const =0 |
| virtual int | getMotorNumber () const =0 |
| virtual void | step (const sensor *sensors, int sensornumber, motor *motors, int motornumber)=0 |
| performs one step (includes learning). | |
| virtual void | stepNoLearning (const sensor *, int number_sensors, motor *, int number_motors)=0 |
| performs one step without learning. | |
The controller gets a number of input sensor values each timestep and has to generate a number of output motor values.
Interface assumes the following usage:
| typedef double motor |
| typedef double sensor |
| AbstractController | ( | const std::string & | name, | |
| const std::string & | revision | |||
| ) | [inline] |
contructor (hint: use $ID$ for revision)
| virtual int getMotorNumber | ( | ) | const [pure virtual] |
Implemented in AbstractControllerAdapter, AbstractIAFController, BasicController, ClassicReinforce, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MutualInformationController, ReplayController, SineController, and use_java_controller.
| virtual int getSensorNumber | ( | ) | const [pure virtual] |
Implemented in AbstractControllerAdapter, AbstractIAFController, BasicController, ClassicReinforce, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MutualInformationController, ReplayController, SineController, and use_java_controller.
| virtual void init | ( | int | sensornumber, | |
| int | motornumber, | |||
| RandGen * | randGen = 0 | |||
| ) | [pure virtual] |
initialisation of the controller with the given sensor/ motornumber Must be called before use.
The random generator is optional.
Implemented in AbstractControllerAdapter, AbstractIAFController, AbstractMultiController, BasicController, ClassicReinforce, DiscreteControllerAdapter, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MeasureAdapter, MutualInformationController, OneActiveMultiPassiveController, ReplayController, and SineController.
| virtual void step | ( | const sensor * | sensors, | |
| int | sensornumber, | |||
| motor * | motors, | |||
| int | motornumber | |||
| ) | [pure virtual] |
performs one step (includes learning).
Calculates motor commands from sensor inputs.
| sensors | sensors inputs scaled to [-1,1] | |
| sensornumber | length of the sensor array | |
| motors | motors outputs. MUST have enough space for motor values! | |
| motornumber | length of the provided motor array |
Implemented in AbstractControllerAdapter, AbstractIAFController, AbstractMultiController, BasicController, ClassicReinforce, DiscreteControllerAdapter, Discretesizable, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MeasureAdapter, MutualInformationController, OneActiveMultiPassiveController, ReplayController, SineController, and use_java_controller.
| virtual void stepNoLearning | ( | const sensor * | , | |
| int | number_sensors, | |||
| motor * | , | |||
| int | number_motors | |||
| ) | [pure virtual] |
performs one step without learning.
Implemented in AbstractControllerAdapter, AbstractIAFController, AbstractMultiController, BasicController, ClassicReinforce, DiscreteControllerAdapter, Discretesizable, FFNNController, InvertMotorBigModel, InvertMotorNStep, InvertMotorSpace, InvertNChannelController, MeasureAdapter, MutualInformationController, OneActiveMultiPassiveController, ReplayController, SineController, and use_java_controller.
1.4.7