iCubPalmPatchesTouchSensor Class Reference

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

Inheritance diagram for iCubPalmPatchesTouchSensor:

List of all members.

Classes

struct  Triangle
 The structure representing a triangle. More...

Public Member Functions

 iCubPalmPatchesTouchSensor (ConfigurationParameters &params, QString prefix)
 Constructor.
 ~iCubPalmPatchesTouchSensor ()
 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.

Static Public Member Functions

static void describe (QString type)
 Generates a description of this class and its parameters.

Detailed Description

A sensor registering contacts with the iCub palm.

The touch sensor of the iCub palm (this doesn't check contacts with fingertips). There are four sensors corresponding to the four patches of touch sensors on the real iCub hand. 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. The position of the four sensors is roughly corresponding to the position of the four patches on the real robot hand palm.

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 wheter to check collisions with all objects or not (see the class description for more information)
  • drawSensor: if true the location of the touch sensors 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 757 of file icubsensors.h.


Constructor & Destructor Documentation

iCubPalmPatchesTouchSensor ( 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 1545 of file icubsensors.cpp.

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

Destructor.

Definition at line 1574 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 1579 of file icubsensors.cpp.

References ConfigurationParameters::createParameter(), and ConfigurationParameters::startObjectParameters().

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 1654 of file icubsensors.cpp.


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