The base abstract class for khepera sensors. More...

Inheritance diagram for KheperaSensor:

Public Member Functions

 KheperaSensor (ConfigurationParameters &params, QString prefix)
 Constructor.
virtual ~KheperaSensor ()
 Destructor.
virtual void save (ConfigurationParameters &params, QString prefix)
 Saves the parameters of the sensor into the ConfigurationParameters object.
- Public Member Functions inherited from Sensor
 Sensor (ConfigurationParameters &params, QString prefix)
 Constructor and Configure.
 ~Sensor ()
 Destructor.
QString name ()
 Return the name of the Sensor.
void setName (QString name)
 Use this method for changing the name of the Sensor.
virtual int size ()=0
 Return the number of neurons on which the Sensor will set the input.
virtual void update ()=0
 Update the state of the Sensor every time step; the actual behaviour is implemented in subclasses.
- Public Member Functions inherited from NoisyDevice
 NoisyDevice (ConfigurationParameters &params, QString prefix)
 Constructor and Configure.
 ~NoisyDevice ()
 Destructor.
- Public Member Functions inherited from ParameterSettableInConstructor
 ParameterSettableInConstructor (ConfigurationParameters &, QString)
void addObserver (RuntimeParameterObserver *obs)
getRuntimeParameter (QString paramName)
virtual ParameterSettableUIgetUIManager ()
 ParameterSettable ()
virtual void postConfigureInitialization ()
void removeObserver (RuntimeParameterObserver *obs)
void setRuntimeParameter (QString paramName, T newvalue)
QString typeName () const
- Public Member Functions inherited from ConcurrentResourcesUser
void addUsableResource (QString resource)
void addUsableResources (QStringList resources)
void declareResource (QString name, T *resource, QString lockBuddy="")
void deleteResource (QString name)
T * getResource (QString name, bool *resourceExists=NULL)
bool hasResource (QString name) const
void removeAllUsableResources ()
void removeUsableResource (QString resource)
void removeUsableResources (QStringList resources)
virtual void shareResourcesWith (ResourcesUser *buddy)
void usableResources (QStringList resources)
bool usedResourcesExist (QStringList *nonExistingResources=NULL) const

Static Public Member Functions

static void describe (QString type)
 Describes all the parameters for this sensor.

Protected Member Functions

virtual void resourceChanged (QString resourceName, ResourceChangeType changeType)
 The function called when a resource used here is changed.
- Protected Member Functions inherited from Sensor
QString actualResourceNameForMultirobot (QString resourceName) const
 Returns the actual resource name to use.
void checkAllNeededResourcesExist ()
 Checks whether all resources we need are existing and throws an exception if they aren't.
void resetNeededResourcesCheck ()
 Resets the check on needed resources so that the next call to checkAllNeededResourcesExist() will perform the full check and not the quick one.
- Protected Member Functions inherited from NoisyDevice
double applyNoise (double v, double minValue, double maxValue) const
 Adds noise to the value.
- Protected Member Functions inherited from ParameterSettableInConstructor
void notifyChangesToParam (QString paramName)
- Protected Member Functions inherited from ConcurrentResourcesUser
T * getResource ()
virtual void notifyResourceChange (ResourceHandler *resource, ResourceChangeType changeType)=0
ResourcesUseroperator= (const ResourcesUser &other)
 ResourcesUser ()
 ResourcesUser (const ResourcesUser &other)

Protected Attributes

QString m_kheperaResource
 The name of the resource associated with the e-puck robot.
QString m_neuronsIteratorResource
 The name of th resource associated with the neural network iterator.

Additional Inherited Members

- Public Types inherited from ParameterSettableInConstructor
enum  Property
- Public Types inherited from ConcurrentResourcesUser
typedef
Resource::ResourceChangeType 
ResourceChangeType
- Public Attributes inherited from ParameterSettableInConstructor
 AllowMultiple
 Default
 IsList
 IsMandatory
- Static Public Attributes inherited from ParameterSettableInConstructor
static const double Infinity
static const int MaxInteger
static const int MinInteger
- Static Protected Member Functions inherited from ParameterSettableInConstructor
static Descriptor addTypeDescription (QString type, QString shortHelp, QString longHelp=QString(""))
static void setGraphicalEditor (QString type)

Detailed Description

The base abstract class for khepera sensors.

This class simply has a couple of parameters that are common to all khepera sensors (see below). Some of the sensors work directly with Worldsim objects, while others need an instance of the Arena to work. Those that do not need an Arena generally also work with objects created using the Arena object, but in most of the cases are slower. See the description of individual sensors for more information about what each sensor needs.

In addition to all parameters defined by the parent class (Sensor), this class also defines the following parameters:

  • khepera: the name of the resource associated with the khepera robot to use (default is "robot")
  • neuronsIterator: the name of the resource associated with the neural network iterator (default is "neuronsIterator")

The resources required by this Sensor are:

  • name defined by the khepera parameter: the simulated physical khepera robot
  • name defined by the neuronsIterator parameter: the object to iterate over neurons of the neural network

Definition at line 58 of file kheperasensors.h.

Constructor & Destructor Documentation

KheperaSensor ( ConfigurationParameters params,
QString  prefix 
)

Constructor.

This also reads configuration parameters. Moreover this adds the khepera and neuronsIterator resources to the list of resources used here

Parameters
paramsthe ConfigurationParameters containing the parameters for the sensor
prefixthe path prefix to the paramters for this sensor

Definition at line 34 of file kheperasensors.cpp.

References Sensor::actualResourceNameForMultirobot(), ConfigurationHelper::getString(), KheperaSensor::m_kheperaResource, KheperaSensor::m_neuronsIteratorResource, and ConcurrentResourcesUser::usableResources().

~KheperaSensor ( )
virtual

Destructor.

Definition at line 47 of file kheperasensors.cpp.

Member Function Documentation

void describe ( QString  type)
static

Describes all the parameters for this sensor.

Parameters
typethe name with which this sensor is registered into the factory

Reimplemented from Sensor.

Reimplemented in KheperaWheelSpeedsSensor, KheperaGroundSensor, KheperaSampledLightSensor, KheperaSampledProximityIRSensor, and KheperaProximityIRSensor.

Definition at line 63 of file kheperasensors.cpp.

References ParameterSettableInConstructor::addTypeDescription(), ParameterSettable::StringDescriptor::def(), ParameterSettable::Descriptor::describeString(), and ParameterSettable::StringDescriptor::help().

void resourceChanged ( QString  resourceName,
ResourceChangeType  changeType 
)
protectedvirtual

The function called when a resource used here is changed.

Parameters
resourceNamethe name of the resource that has changed.
chageTypethe type of change the resource has gone through (whether it was created, modified or deleted)

Reimplemented from ConcurrentResourcesUser.

Definition at line 74 of file kheperasensors.cpp.

References Sensor::resetNeededResourcesCheck().

void save ( ConfigurationParameters params,
QString  prefix 
)
virtual

Saves the parameters of the sensor into the ConfigurationParameters object.

Parameters
paramsthe ConfigurationParameters where save the parameters of the sensors
prefixthe path prefix for the parameters to save

Reimplemented from Sensor.

Reimplemented in KheperaWheelSpeedsSensor, KheperaGroundSensor, KheperaSampledLightSensor, KheperaSampledProximityIRSensor, and KheperaProximityIRSensor.

Definition at line 52 of file kheperasensors.cpp.

References ConfigurationParameters::createParameter(), KheperaSensor::m_kheperaResource, KheperaSensor::m_neuronsIteratorResource, and ConfigurationParameters::startObjectParameters().

Member Data Documentation

QString m_kheperaResource
protected

The name of the resource associated with the e-puck robot.

Definition at line 110 of file kheperasensors.h.

Referenced by KheperaSensor::KheperaSensor(), KheperaSensor::save(), KheperaSampledProximityIRSensor::update(), and KheperaSampledLightSensor::update().

QString m_neuronsIteratorResource
protected

The name of th resource associated with the neural network iterator.

Definition at line 116 of file kheperasensors.h.

Referenced by KheperaSensor::KheperaSensor(), and KheperaSensor::save().


The documentation for this class was generated from the following files: