AbstractControllerAdapter Class Reference

Abstract adapter class (interface) for robot controller. More...

#include <abstractcontrolleradapter.h>

Inherits AbstractController.

Inherited by AbstractMultiController, DiscreteControllerAdapter, and MeasureAdapter.

Inheritance diagram for AbstractControllerAdapter:

Inheritance graph
[legend]
Collaboration diagram for AbstractControllerAdapter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AbstractControllerAdapter (AbstractController *controller)
 contructor (hint: use $ID$ for revision)
virtual ~AbstractControllerAdapter ()
virtual void init (int sensornumber, int motornumber, RandGen *randGen=0)
 initialisation of the controller with the given sensor/ motornumber Must NORMALLY be called before use.
virtual int getSensorNumber () const
virtual int getMotorNumber () const
virtual void step (const sensor *sensors, int sensornumber, motor *motors, int motornumber)
 performs one step (includes learning).
virtual void stepNoLearning (const sensor *sensors, int sensornumber, motor *motors, int motornumber)
 performs one step without learning.
virtual iparamkeylist getInternalParamNames () const
 The list of the names of all internal parameters given by getInternalParams().
virtual iparamvallist getInternalParams () const

Protected Attributes

AbstractControllercontroller
int sensorNumber
int motorNumber

Detailed Description

Abstract adapter class (interface) for robot controller.

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:

This is an abstract adapter class, it's useful for implementing adapters such as the DescreteController, which can be used with all Controllers.


Constructor & Destructor Documentation

AbstractControllerAdapter ( AbstractController controller  )  [inline]

contructor (hint: use $ID$ for revision)

virtual ~AbstractControllerAdapter (  )  [inline, virtual]


Member Function Documentation

virtual iparamkeylist getInternalParamNames (  )  const [inline, virtual]

The list of the names of all internal parameters given by getInternalParams().

The naming convention is "v[i]" for vectors and "A[i][j]" for matrices, where i, j start at 0.

Returns:
: list of keys

Reimplemented from Inspectable.

Reimplemented in AbstractMultiController, DiscreteControllerAdapter, MeasureAdapter, and OneActiveMultiPassiveController.

virtual iparamvallist getInternalParams (  )  const [inline, virtual]

Returns:
: list of values

Reimplemented from Inspectable.

Reimplemented in AbstractMultiController, DiscreteControllerAdapter, MeasureAdapter, and OneActiveMultiPassiveController.

virtual int getMotorNumber (  )  const [inline, virtual]

Returns:
Number of motors the controller was initialised with or 0 if not initialised

Implements AbstractController.

virtual int getSensorNumber (  )  const [inline, virtual]

Returns:
Number of sensors the controller was initialised with or 0 if not initialised

Implements AbstractController.

virtual void init ( int  sensornumber,
int  motornumber,
RandGen randGen = 0 
) [inline, virtual]

initialisation of the controller with the given sensor/ motornumber Must NORMALLY be called before use.

For all ControllerAdapters call first AbstractControllerAdapter::init(sensornumber,motornumber) if you overwrite this method

Implements AbstractController.

Reimplemented in AbstractMultiController, DiscreteControllerAdapter, MeasureAdapter, and OneActiveMultiPassiveController.

virtual void step ( const sensor sensors,
int  sensornumber,
motor motors,
int  motornumber 
) [inline, virtual]

performs one step (includes learning).

Calculates motor commands from sensor inputs.

Parameters:
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

Implements AbstractController.

Reimplemented in AbstractMultiController, DiscreteControllerAdapter, Discretesizable, MeasureAdapter, and OneActiveMultiPassiveController.

virtual void stepNoLearning ( const sensor sensors,
int  sensornumber,
motor motors,
int  motornumber 
) [inline, virtual]

performs one step without learning.

See also:
step

Implements AbstractController.

Reimplemented in AbstractMultiController, DiscreteControllerAdapter, Discretesizable, MeasureAdapter, and OneActiveMultiPassiveController.


Member Data Documentation

AbstractController* controller [protected]

int motorNumber [protected]

int sensorNumber [protected]


The documentation for this class was generated from the following file:
Generated on Tue Sep 16 22:01:19 2008 for Robotsystem of the Robot Group Leipzig by  doxygen 1.4.7