|
Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
Implements a wiring where the motors are copied to several motors and the sensors are fusioned. More...
#include <copywiring.h>


Public Types | |
| typedef std::vector< std::list < int > > | Assignment |
Public Types inherited from AbstractWiring | |
| enum | PlotTypes { Nothing =0, Robot =1, Controller =4, Noise =8 } |
| typedef double | sensor |
| typedef double | motor |
Public Types inherited from Inspectable | |
| 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 |
Public Member Functions | |
| CopyWiring (const Assignment &sensor_assignment, const Assignment &motor_assignment, NoiseGenerator *noise, int plotMode=Controller|Robot, const std::string &name="CopyWiring") | |
| constructor More... | |
| virtual | ~CopyWiring () |
| destructor More... | |
| virtual void | reset () |
| reset internal state More... | |
Public Member Functions inherited from AbstractWiring | |
| 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... | |
| 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... | |
Public Member Functions inherited from Inspectable | |
| 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... | |
Static Public Member Functions | |
| static Assignment | motorFromSensorAssignment (const Assignment &sensor_assignment) |
| returns the inverse Assignment of the given sensor assignemnt (typically the right thing) 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 | |
| Assignment | s_assign |
| Assignment | m_assign |
Protected Attributes inherited from AbstractWiring | |
| 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 |
Protected Attributes inherited from Inspectable | |
| iparamkey | name |
| iparampairlist | mapOfValues |
| imatrixpairlist | mapOfMatrices |
| infoLinesList | infoLineStringList |
Implements a wiring where the motors are copied to several motors and the sensors are fusioned.
| typedef std::vector< std::list<int> > Assignment |
| CopyWiring | ( | const Assignment & | sensor_assignment, |
| const Assignment & | motor_assignment, | ||
| NoiseGenerator * | noise, | ||
| int | plotMode = Controller|Robot, |
||
| const std::string & | name = "CopyWiring" |
||
| ) |
constructor
| sensor_assignment | for each controller sensor a list of robot sensor it is averaged over |
| motor_assignment | for each robot motor a list of controller motors it is averaged over |
| noise | NoiseGenerator that is used for adding noise to sensor values |
| plotMode | see AbstractWiring |
|
virtual |
destructor
|
protectedvirtual |
initializes the number of sensors and motors on robot side, calculate number of sensors and motors on controller side
Implements AbstractWiring.
|
static |
returns the inverse Assignment of the given sensor assignemnt (typically the right thing)
|
virtual |
reset internal state
Reimplemented from AbstractWiring.
|
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.
|
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.
|
protected |
|
protected |