Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
Implements one to one wiring of robot sensors to inputs of the controller and controller outputs to robot motors. More...
#include <one2onewiring.h>
Public Member Functions | |
One2OneWiring (NoiseGenerator *noise, int plotMode=Controller, int blind=0, const std::string &name="One2OneWiring") | |
constructor More... | |
virtual | ~One2OneWiring () |
destructor More... | |
![]() | |
AbstractWiring (NoiseGenerator *noise, int plotMode=Controller, const std::string &name="AbstractWiring") | |
constructor More... | |
virtual | ~AbstractWiring () |
destructor More... | |
virtual bool | init (int robotsensornumber, int robotmotornumber, RandGen *randGen=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. More... | |
virtual bool | wireSensors (const sensor *rsensors, int rsensornumber, sensor *csensors, int csensornumber, double noiseStrength) |
Realizes wiring from robot sensors to controller sensors. More... | |
virtual bool | wireMotors (motor *rmotors, int rmotornumber, const motor *cmotors, int cmotornumber) |
Realizes wiring from controller motor outputs to robot motors. More... | |
virtual int | getRobotSensornumber () |
Returns the number of sensors on robot side. More... | |
virtual int | getRobotMotornumber () |
Returns the number of motors on robot side. More... | |
virtual int | getControllerSensornumber () |
Returns the number of sensors on controller side. More... | |
virtual int | getControllerMotornumber () |
Returns the number of motors on controller side. More... | |
virtual std::list < SensorMotorInfo > | wireSensorInfos (const std::list< SensorMotorInfo > &robotSensorInfos) |
routes the infos of the motors from robot to controller More... | |
virtual std::list < SensorMotorInfo > | wireMotorInfos (const std::list< SensorMotorInfo > &robotMotorInfos) |
routes the infos of the motors from robot to controller More... | |
virtual void | reset () |
reset internal state More... | |
void | addSensorMotorInfosToInspectable (const std::list< SensorMotorInfo > &robotSensorInfos, const std::list< SensorMotorInfo > &robotMotorInfos, const std::list< SensorMotorInfo > &controllerSensorInfos, const std::list< SensorMotorInfo > &controllerMotorInfos) |
used by WiredController to pass infos to inspectable More... | |
![]() | |
Inspectable (const iparamkey &name="") | |
TYPEDEFS END. More... | |
virtual | ~Inspectable () |
virtual iparamkeylist | getInternalParamNames () const |
The list of the names of all internal parameters given by getInternalParams(). More... | |
virtual iparamvallist | getInternalParams () const |
virtual iparamvalptrlist | getInternalParamsPtr () const |
be careful: matrices will be ignored More... | |
virtual ilayerlist | getStructuralLayers () const |
Specifies which parameter vector forms a structural layer (in terms of a neural network) The ordering is important. More... | |
virtual iconnectionlist | getStructuralConnections () const |
Specifies which parameter matrix forms a connection between layers (in terms of a neural network) The orderning is not important. More... | |
virtual void | addInspectableValue (const iparamkey &key, iparamval const *val, const std::string &descr=std::string()) |
This is the new style for adding inspectable values. More... | |
virtual void | addInspectableMatrix (const iparamkey &key, const matrix::Matrix *m, bool only4x4AndDiag=true, const std::string &descr=std::string()) |
This is the new style for adding inspectable values. More... | |
virtual void | addInspectableDescription (const iparamkey &key, const std::string &descr) |
adds a description for the given parameter using info-lines The line will start (appart from the #I) with a D for description followed by the key end then followed by the string. More... | |
virtual void | addInfoLine (std::string infoLine) |
Adds an info line to this inspectable instance. More... | |
virtual void | addInfoLines (std::list< std::string > infoLineList) |
Adds a bunch of infolines with addInfoLine to this inspectable instance. More... | |
virtual void | removeInfoLines () |
Removes all infolines from this inspectable instance. More... | |
virtual const infoLinesList & | getInfoLines () const |
Returns all infolines added to this inspectable instance. More... | |
virtual void | addInspectable (Inspectable *insp) |
Adds an inspectable as a child object. More... | |
virtual void | removeInspectable (Inspectable *insp) |
Removes an inspectable as a child object. More... | |
virtual void | setNameOfInspectable (const iparamkey &name) |
set the name of the inspectable More... | |
virtual const iparamkey | getNameOfInspectable () const |
return the name of the inspectable, getName() would conflict with Configurable::getName() too often More... | |
virtual const inspectableList & | getInspectables () const |
Returns the list containing all inspectable children. More... | |
Protected Member Functions | |
virtual bool | initIntern () |
initializes the number of sensors and motors on robot side, calculate number of sensors and motors on controller side More... | |
virtual bool | wireSensorsIntern (const sensor *rsensors, int rsensornumber, sensor *csensors, int csensornumber, double noise) |
Realizes one to one wiring from robot sensors to controller sensors. More... | |
virtual bool | wireMotorsIntern (motor *rmotors, int rmotornumber, const motor *cmotors, int cmotornumber) |
Realizes one to one wiring from controller motor outputs to robot motors. More... | |
Protected Attributes | |
int | blind |
motor * | blindmotors |
number of blind channels More... | |
![]() | |
int | plotMode |
using plotTypes this variables defines what is plotted More... | |
matrix::Matrix | mNoise |
for storing the noise values More... | |
sensor * | noisevals |
int | noisenumber |
int | rsensornumber |
number of sensors at robot side More... | |
matrix::Matrix | mRsensors |
copy of the last robot sensors More... | |
int | rmotornumber |
number of motors at robot side More... | |
matrix::Matrix | mRmotors |
copy of the last robot motors More... | |
int | csensornumber |
number of sensors at controller side More... | |
matrix::Matrix | mCsensors |
copy of the last controller sensors More... | |
int | cmotornumber |
number of motors at controller side More... | |
matrix::Matrix | mCmotors |
copy of the last controller motors More... | |
NoiseGenerator * | noiseGenerator |
noise generator More... | |
RandGen * | randGen |
random generator used in NoiseGenerator (in case it is needed by subclasses) More... | |
bool | initialised |
![]() | |
iparamkey | name |
iparampairlist | mapOfValues |
imatrixpairlist | mapOfMatrices |
infoLinesList | infoLineStringList |
Additional Inherited Members | |
![]() | |
enum | PlotTypes { Nothing =0, Robot =1, Controller =4, Noise =8 } |
typedef double | sensor |
typedef double | motor |
![]() | |
typedef std::string | iparamkey |
typedef double | iparamval |
typedef std::pair< iparamkey, iparamval const * > | iparampair |
typedef std::pair< iparamkey, std::pair< const matrix::Matrix *, bool > > | imatrixpair |
typedef std::list< iparamkey > | iparamkeylist |
typedef std::list< std::string > | infoLinesList |
typedef std::list< iparamval > | iparamvallist |
typedef std::list< iparamval const * > | iparamvalptrlist |
typedef std::list< iparampair > | iparampairlist |
typedef std::list< imatrixpair > | imatrixpairlist |
typedef struct Inspectable::ILayer | ILayer |
typedef struct Inspectable::IConnection | IConnection |
typedef std::list< ILayer > | ilayerlist |
typedef std::list< IConnection > | iconnectionlist |
typedef std::list< const Inspectable * > | inspectableList |
Implements one to one wiring of robot sensors to inputs of the controller and controller outputs to robot motors.
One2OneWiring | ( | NoiseGenerator * | noise, |
int | plotMode = Controller , |
||
int | blind = 0 , |
||
const std::string & | name = "One2OneWiring" |
||
) |
constructor
noise | NoiseGenerator that is used for adding noise to sensor values |
plotMode | see AbstractWiring |
blind | number of blind channels (additional sensors and motors coupled directly) |
|
virtual |
destructor
|
protectedvirtual |
initializes the number of sensors and motors on robot side, calculate number of sensors and motors on controller side
initializes the number of sensors and motors from robot, calculate
Implements AbstractWiring.
Reimplemented in SelectiveOne2OneWiring, and MotorNoiseWiring.
|
protectedvirtual |
Realizes one to one wiring from controller motor outputs to robot motors.
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 |
Implements AbstractWiring.
Reimplemented in MotorNoiseWiring.
|
protectedvirtual |
Realizes one to one wiring from robot sensors to controller sensors.
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 |
Implements AbstractWiring.
Reimplemented in SelectiveOne2OneWiring, and SelectiveNoiseWiring.
|
protected |
|
protected |
number of blind channels
blind motor values