AbstractWiring Class Reference

Abstract wiring-object between controller and robot. More...

#include <abstractwiring.h>

Inherits Inspectable.

Inherited by DerivativeWiring, FeedbackWiring, One2OneWiring, and WiringSequence.

Inheritance diagram for AbstractWiring:

Inheritance graph
[legend]
Collaboration diagram for AbstractWiring:

Collaboration graph
[legend]
List of all members.

Public Types

typedef double sensor
typedef double motor

Public Member Functions

 AbstractWiring (NoiseGenerator *noise)
 constructor
virtual ~AbstractWiring ()
 destructor
virtual bool init (int robotsensornumber, int robotmotornumber, RandGen *randGen=0)=0
 Initializes the number of sensors and motors from robot (to be precise the internal parameters rsensornumber and rmotornumber!), calculates the number of sensors and motors on controller side.
virtual bool wireSensors (const sensor *rsensors, int rsensornumber, sensor *csensors, int csensornumber, double noise)=0
 Realizes wiring from robot sensors to controller sensors.
virtual bool wireMotors (motor *rmotors, int rmotornumber, const motor *cmotors, int cmotornumber)=0
 Realizes wiring from controller motor outputs to robot motors.
virtual int getRobotSensornumber ()
 Returns the number of sensors on robot side.
virtual int getRobotMotornumber ()
 Returns the number of motors on robot side.
virtual int getControllerSensornumber ()
 Returns the number of sensors on controller side.
virtual int getControllerMotornumber ()
 Returns the number of motors on controller side.
virtual std::list< iparamkeygetInternalParamNames () const
 Returns the list of the names of all internal parameters.
virtual std::list< iparamvalgetInternalParams () const
 Returns a list of the values of all internal parameters (in the order given by getInternalParamNames()).

Protected Attributes

int rsensornumber
 number of sensors at robot side
int rmotornumber
 number of motors at robot side
int csensornumber
 number of sensors at controller side
int cmotornumber
 number of motors at controller side
NoiseGeneratornoiseGenerator
 noise generator

Detailed Description

Abstract wiring-object between controller and robot.

Implements wiring of robot sensors to inputs of the controller and controller outputs to robot motors.

Examples:

integration/main.cpp.


Member Typedef Documentation

typedef double motor

typedef double sensor


Constructor & Destructor Documentation

AbstractWiring ( NoiseGenerator noise  )  [inline]

constructor

Parameters:
noise NoiseGenerator that is used for adding noise to sensor values

virtual ~AbstractWiring (  )  [inline, virtual]

destructor


Member Function Documentation

virtual int getControllerMotornumber (  )  [inline, virtual]

Returns the number of motors on controller side.

virtual int getControllerSensornumber (  )  [inline, virtual]

Returns the number of sensors on controller side.

virtual std::list<iparamkey> getInternalParamNames (  )  const [inline, virtual]

Returns the list of the names of all internal parameters.

Reimplemented from Inspectable.

Reimplemented in FeedbackWiring, and One2OneWiring.

virtual std::list<iparamval> getInternalParams (  )  const [inline, virtual]

Returns a list of the values of all internal parameters (in the order given by getInternalParamNames()).

Reimplemented from Inspectable.

Reimplemented in FeedbackWiring, and One2OneWiring.

virtual int getRobotMotornumber (  )  [inline, virtual]

Returns the number of motors on robot side.

virtual int getRobotSensornumber (  )  [inline, virtual]

Returns the number of sensors on robot side.

virtual bool init ( int  robotsensornumber,
int  robotmotornumber,
RandGen randGen = 0 
) [pure virtual]

Initializes the number of sensors and motors from robot (to be precise the internal parameters rsensornumber and rmotornumber!), calculates the number of sensors and motors on controller side.

Must be overloaded to calculate and provide the appropriate numbers controllersensornumber (csensornumber), controllermotornumber (cmotornumber), robotsensornumber (rsensornumber) and robotmotornumber (rmotornumber),

Parameters:
randGen pointer to random generator, if not given then a new one is created
Returns:
returns false on error, otherwise true

Implemented in DerivativeWiring, FeedbackWiring, One2OneWiring, SelectiveOne2OneWiring, and WiringSequence.

virtual bool wireMotors ( motor rmotors,
int  rmotornumber,
const motor cmotors,
int  cmotornumber 
) [pure virtual]

Realizes wiring from controller motor outputs to robot motors.

Must be overloaded in order to implement the appropriate mapping.

Parameters:
rmotors pointer to array of motorvalues for robot
rmotornumber number of robot motors
cmotors pointer to array of motorvalues from controller
cmotornumber number of motorvalues from controller
Returns:
returns false if error, else true

Implemented in DerivativeWiring, FeedbackWiring, One2OneWiring, and WiringSequence.

virtual bool wireSensors ( const sensor rsensors,
int  rsensornumber,
sensor csensors,
int  csensornumber,
double  noise 
) [pure virtual]

Realizes wiring from robot sensors to controller sensors.

Must be overloaded in order to implement the appropriate mapping.

Parameters:
rsensors pointer to array of sensorvalues from robot
rsensornumber number of sensors from robot
csensors pointer to array of sensorvalues for controller
csensornumber number of sensors to controller
noise size of the noise added to the sensors
Returns:
returns false on error, otherwise true

Implemented in DerivativeWiring, FeedbackWiring, One2OneWiring, SelectiveOne2OneWiring, and WiringSequence.


Member Data Documentation

int cmotornumber [protected]

number of motors at controller side

int csensornumber [protected]

number of sensors at controller side

NoiseGenerator* noiseGenerator [protected]

noise generator

int rmotornumber [protected]

number of motors at robot side

int rsensornumber [protected]

number of sensors at robot side


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