iCubFingertipsTouchSensor Class Reference

A sensor registering contacts with the iCub fingertips. More...

Inheritance diagram for iCubFingertipsTouchSensor:

Public Member Functions

 iCubFingertipsTouchSensor (ConfigurationParameters &params, QString prefix)
 Constructor.
 
 ~iCubFingertipsTouchSensor ()
 Destructor.
 
virtual void save (ConfigurationParameters &params, QString prefix)
 Saves current parameters into the given ConfigurationParameters object.
 
virtual int size ()
 Returns the number of neurons required by this sensor.
 
virtual void update ()
 Performs the sensor update. This also modifies the activation of input neurons.
 
- Public Member Functions inherited from iCubSensor
 iCubSensor (ConfigurationParameters &params, QString prefix)
 Constructor.
 
virtual ~iCubSensor ()
 Destructor.
 
- 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 save (ConfigurationParameters &params, QString prefix)
 Save the parameters into the ConfigurationParameters.
 
void setName (QString name)
 Use this method for changing the name of the Sensor.
 
- 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 ParameterSettable
void addObserver (RuntimeParameterObserver *obs)
 
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)
 Generates a description of this class and its parameters.
 
- Static Public Member Functions inherited from iCubSensor
static void describe (QString type)
 Describes all the parameters for this sensor.
 
- Static Public Member Functions inherited from Sensor
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)
 

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
 
- 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.
 
- 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 iCubSensor
QString icubResource
 The name of the resource associated with the iCub robot.
 
QString neuronsIteratorResource
 The name of th resource associated with the neural network iterator.
 

Detailed Description

A sensor registering contacts with the iCub fingertips.

The touch sensor of the iCub fingertips (this doesn't check contacts with palm). There are five sensors, one for each figertip. This sensor works both when the iCub is dynamic and when it is kinematic, as it uses Wolrd::smartCheckContacts. The neuron corresponding to each touch sensor is set to either 0 or 1 depending on whether the sensor is active (i.e. is in touch with something) or not. When the iCub is dynamic, it is also possible to specify whether contacts with all objects in the world should be registered or only with objects defined by the experiment using the "checkAllObjects" parameter. When the iCub is kinematic only collisions with objects defined by the experiment are checked. Check the "Fingertip Touch Sensor.png" image for information on the location of the touch sensor on the fingertip.

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

  • icub: the name of the resource associated with the iCub robot to use
  • hand: the hand to use. Choose between "right" and "left"
  • checkAllObjects: a boolean value specifying whether to check collisions with all objects or not (see the class description for more information)
  • alpha: the aperture of the touch sensor in degrees (see the image)
  • h: the height of the touch sensor (see the image)
  • drawSensor: if true the location of the touch sensor is drawn

The resources required by this Sensor are:

  • evonetIterator: the object to iterate over neurons of the neural network
  • world: the simulated physical world
  • icub: the simulated physical iCub robot
  • evorobotexperiment: the pointer to the current experiment, which must be a subclass of EvoRobotExperiment. This is needed to get the list of objects defined by the experiment

Definition at line 666 of file icubsensors.h.

Constructor & Destructor Documentation

iCubFingertipsTouchSensor ( ConfigurationParameters params,
QString  prefix 
)

Constructor.

Creates and configures the sensor

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

Definition at line 1619 of file icubsensors.cpp.

References ConfigurationHelper::getBool(), ConfigurationHelper::getDouble(), ConfigurationHelper::getString(), iCubSensor::icubResource, iCubSensor::neuronsIteratorResource, ConfigurationHelper::throwUserConfigError(), toDegree(), toRad(), and ConcurrentResourcesUser::usableResources().

Destructor.

Definition at line 1650 of file icubsensors.cpp.

Member Function Documentation

void save ( ConfigurationParameters params,
QString  prefix 
)
virtual

Saves current parameters into the given ConfigurationParameters object.

Parameters
paramsthe ConfigurationParameters object in which parameters should be saved
prefixthe name and path of the group where to save parametrs

Reimplemented from iCubSensor.

Definition at line 1655 of file icubsensors.cpp.

References ConfigurationParameters::createParameter(), iCubSensor::save(), ConfigurationParameters::startObjectParameters(), and toDegree().

int size ( )
virtual

Returns the number of neurons required by this sensor.

Returns
the number of neurons required by this sensor

Implements Sensor.

Definition at line 1703 of file icubsensors.cpp.

void update ( )
virtual

Performs the sensor update. This also modifies the activation of input neurons.

Implements Sensor.

Definition at line 1677 of file icubsensors.cpp.

References Sensor::checkAllNeededResourcesExist(), Sensor::name(), iCubSensor::neuronsIteratorResource, EvonetIterator::nextNeuron(), EvonetIterator::setCurrentBlock(), and EvonetIterator::setInput().


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