The base abstract class for the Sensor hierarchy. More...
Public Member Functions | |
Sensor (ConfigurationParameters ¶ms, QString prefix) | |
Constructor and Configure. | |
~Sensor () | |
Destructor. | |
QString | name () |
Return the name of the Sensor. | |
void | save (ConfigurationParameters ¶ms, QString prefix) |
Save the parameters into the ConfigurationParameters. | |
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 ParameterSettableInConstructor | |
ParameterSettableInConstructor (ConfigurationParameters &, QString) | |
void | addObserver (RuntimeParameterObserver *obs) |
T | getRuntimeParameter (QString paramName) |
virtual ParameterSettableUI * | getUIManager () |
ParameterSettable () | |
virtual void | postConfigureInitialization () |
void | removeObserver (RuntimeParameterObserver *obs) |
void | setRuntimeParameter (QString paramName, T newvalue) |
QString | typeName () const |
Public Member Functions inherited from ParameterSettable | |
void | addObserver (RuntimeParameterObserver *obs) |
T | getRuntimeParameter (QString paramName) |
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) |
Describe all the parameter for configuring the Sensor. | |
Static Public Member Functions inherited from ParameterSettableInConstructor | |
static void | describe (QString type) |
static QString | fullParameterDescriptionPath (QString type, QString param) |
static QString | fullSubgroupDescriptionPath (QString type, QString sub) |
Static Public Member Functions inherited from ParameterSettable | |
static void | describe (QString type) |
static QString | fullParameterDescriptionPath (QString type, QString param) |
static QString | fullSubgroupDescriptionPath (QString type, QString sub) |
Protected Member Functions | |
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 ParameterSettableInConstructor | |
void | notifyChangesToParam (QString paramName) |
Protected Member Functions inherited from ParameterSettable | |
void | notifyChangesToParam (QString paramName) |
Protected Member Functions inherited from ConcurrentResourcesUser | |
T * | getResource () |
ResourcesUser & | operator= (const ResourcesUser &other) |
virtual void | resourceChanged (QString name, ResourceChangeType changeType) |
ResourcesUser () | |
ResourcesUser (const ResourcesUser &other) | |
Protected Member Functions inherited from ResourcesUser | |
ResourcesUser (const ResourcesUser &other) | |
virtual void | notifyResourceChange (ResourceHandler *resource, ResourceChangeType changeType)=0 |
ResourcesUser & | operator= (const ResourcesUser &other) |
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) |
Protected Attributes inherited from ConcurrentResourcesUser | |
ResourceCollectionHolder | m_resources |
Detailed Description
The base abstract class for the Sensor hierarchy.
A Sensor is an object that read data from a resource and put that data into the neural network converting it into the appropriate way In child class implement also the resourceChanged() function to get notified of resources creation/modification
Definition at line 97 of file neuroninterfaces.h.
Constructor & Destructor Documentation
Sensor | ( | ConfigurationParameters & | params, |
QString | prefix | ||
) |
Constructor and Configure.
- Parameters
-
params is the ConfigurationParameters containing the parameters prefix is the path prefix to the paramters for this Sensor
Definition at line 30 of file neuroninterfaces.cpp.
References ConfigurationHelper::getString(), and Sensor::setName().
~Sensor | ( | ) |
Destructor.
Definition at line 38 of file neuroninterfaces.cpp.
Member Function Documentation
|
protected |
Returns the actual resource name to use.
This function mangles the name of the resource so that the correct name is used in case of multirobot setups. NOTE: use this only for resources that are robot-specific because the name is always mangled (no check is done to see if resourceName is already the name of an existing resource)
Definition at line 85 of file neuroninterfaces.cpp.
Referenced by EpuckSensor::EpuckSensor(), iCubSensor::iCubSensor(), KheperaSensor::KheperaSensor(), and MarXbotSensor::MarXbotSensor().
|
protected |
Checks whether all resources we need are existing and throws an exception if they aren't.
The result of the check is stored, so subsequent calls to this functions are quick (unless you call resetNeededResourcesCheck(), see that function description)
Definition at line 65 of file neuroninterfaces.cpp.
References ConfigurationHelper::throwUserMissingResourceError(), and ConcurrentResourcesUser::usedResourcesExist().
Referenced by FakeSensor::update(), iCubArmJointsSensor::update(), EpuckProximityIRSensor::update(), KheperaProximityIRSensor::update(), ObjectPositionSensor::update(), ColorCameraSensor::update(), MarXbotProximityIRSensor::update(), LinearCameraSensor::update(), EpuckGroundIRSensor::update(), KheperaSampledProximityIRSensor::update(), MarXbotGroundBottomIRSensor::update(), iCubPalmTargetDistSensor::update(), iCubPalmTouchSensor::update(), EpuckLinearCameraSensor::update(), MarXbotGroundAroundIRSensor::update(), iCubHandTouchSensor::update(), MarXbotLinearCameraSensor::update(), EpuckSampledProximityIRSensor::update(), iCubTorsoJointsSensor::update(), iCubHeadJointsSensor::update(), iCubPCHeadJointsSensor::update(), MarXbotTractionSensor::update(), iCubHandJointsSensor::update(), MarXbotSampledProximityIRSensor::update(), iCubFingertipsTouchSensor::update(), MarXbotAttachmentDeviceSensor::update(), iCubPalmPatchesTouchSensor::update(), and HandObjectVisualOffsetSensor::update().
|
static |
Describe all the parameter for configuring the Sensor.
Definition at line 51 of file neuroninterfaces.cpp.
References ParameterSettableInConstructor::addTypeDescription(), ParameterSettable::Descriptor::describeString(), and ParameterSettable::StringDescriptor::help().
Referenced by FakeSensor::describe(), EpuckSensor::describe(), iCubSensor::describe(), MarXbotSensor::describe(), KheperaSensor::describe(), and ObjectPositionSensor::describe().
QString name | ( | ) |
Return the name of the Sensor.
Typically, it is the name of the subclass
Definition at line 57 of file neuroninterfaces.cpp.
Referenced by iCubPalmTargetDistSensor::iCubPalmTargetDistSensor(), ObjectPositionSensor::ObjectPositionSensor(), FakeSensor::resourceChanged(), iCubArmJointsSensor::resourceChanged(), ObjectPositionSensor::resourceChanged(), iCubPalmTargetDistSensor::resourceChanged(), iCubPalmTouchSensor::resourceChanged(), iCubTorsoJointsSensor::resourceChanged(), iCubHeadJointsSensor::resourceChanged(), iCubPCHeadJointsSensor::resourceChanged(), iCubHandJointsSensor::resourceChanged(), Sensor::setName(), FakeSensor::update(), iCubArmJointsSensor::update(), EpuckProximityIRSensor::update(), KheperaProximityIRSensor::update(), ObjectPositionSensor::update(), ColorCameraSensor::update(), MarXbotProximityIRSensor::update(), LinearCameraSensor::update(), EpuckGroundIRSensor::update(), KheperaSampledProximityIRSensor::update(), MarXbotGroundBottomIRSensor::update(), iCubPalmTargetDistSensor::update(), iCubPalmTouchSensor::update(), EpuckLinearCameraSensor::update(), MarXbotGroundAroundIRSensor::update(), iCubHandTouchSensor::update(), MarXbotLinearCameraSensor::update(), EpuckSampledProximityIRSensor::update(), iCubTorsoJointsSensor::update(), iCubHeadJointsSensor::update(), iCubPCHeadJointsSensor::update(), MarXbotTractionSensor::update(), iCubHandJointsSensor::update(), MarXbotSampledProximityIRSensor::update(), iCubFingertipsTouchSensor::update(), MarXbotAttachmentDeviceSensor::update(), iCubPalmPatchesTouchSensor::update(), and HandObjectVisualOffsetSensor::update().
|
protected |
Resets the check on needed resources so that the next call to checkAllNeededResourcesExist() will perform the full check and not the quick one.
Call this if you get notified that a resource has been deleted so that we can check if it is available again when you need it
Definition at line 80 of file neuroninterfaces.cpp.
Referenced by EpuckSensor::resourceChanged(), iCubSensor::resourceChanged(), MarXbotSensor::resourceChanged(), KheperaSensor::resourceChanged(), FakeSensor::resourceChanged(), and ObjectPositionSensor::resourceChanged().
|
virtual |
Save the parameters into the ConfigurationParameters.
- Parameters
-
params is the ConfigurationParameters where save the parameters prefix is the path prefix for the parameters to save
Implements ParameterSettableInConstructor.
Reimplemented in ObjectPositionSensor, and FakeSensor.
Definition at line 41 of file neuroninterfaces.cpp.
References ConfigurationParameters::createParameter(), and ConfigurationParameters::startObjectParameters().
Referenced by FakeSensor::save(), EpuckSensor::save(), iCubSensor::save(), MarXbotSensor::save(), KheperaSensor::save(), and ObjectPositionSensor::save().
void setName | ( | QString | name | ) |
Use this method for changing the name of the Sensor.
Definition at line 61 of file neuroninterfaces.cpp.
References Sensor::name().
Referenced by Sensor::Sensor().
|
pure virtual |
Return the number of neurons on which the Sensor will set the input.
- Warning
- this method has to be called in any situation; when re-implement it does not rely on conditions/variables available only after the initilization because this method might be called before the Sensor initialization
Implemented in HandObjectVisualOffsetSensor, iCubPalmPatchesTouchSensor, MarXbotAttachmentDeviceSensor, iCubFingertipsTouchSensor, MarXbotSampledProximityIRSensor, iCubHandJointsSensor, MarXbotTractionSensor, iCubPCHeadJointsSensor, iCubHeadJointsSensor, iCubTorsoJointsSensor, EpuckSampledProximityIRSensor, MarXbotLinearCameraSensor, iCubHandTouchSensor, MarXbotGroundAroundIRSensor, EpuckLinearCameraSensor, iCubPalmTouchSensor, iCubPalmTargetDistSensor, MarXbotGroundBottomIRSensor, KheperaSampledProximityIRSensor, EpuckGroundIRSensor, LinearCameraSensor, MarXbotProximityIRSensor, EpuckProximityIRSensor, ColorCameraSensor, KheperaProximityIRSensor, ObjectPositionSensor, iCubArmJointsSensor, and FakeSensor.
|
pure virtual |
Update the state of the Sensor every time step; the actual behaviour is implemented in subclasses.
Implemented in HandObjectVisualOffsetSensor, iCubPalmPatchesTouchSensor, MarXbotAttachmentDeviceSensor, iCubFingertipsTouchSensor, MarXbotSampledProximityIRSensor, iCubHandJointsSensor, MarXbotTractionSensor, iCubPCHeadJointsSensor, iCubHeadJointsSensor, iCubTorsoJointsSensor, EpuckSampledProximityIRSensor, MarXbotLinearCameraSensor, iCubHandTouchSensor, MarXbotGroundAroundIRSensor, EpuckLinearCameraSensor, iCubPalmTouchSensor, iCubPalmTargetDistSensor, MarXbotGroundBottomIRSensor, KheperaSampledProximityIRSensor, EpuckGroundIRSensor, LinearCameraSensor, MarXbotProximityIRSensor, ColorCameraSensor, ObjectPositionSensor, EpuckProximityIRSensor, KheperaProximityIRSensor, iCubArmJointsSensor, and FakeSensor.
The documentation for this class was generated from the following files:
- experiments/include/neuroninterfaces.h
- experiments/src/neuroninterfaces.cpp