iCubConfigurableHandPosToVelMotor Class Reference

A configurable motor moving the iCub fingers to the given position. More...

Inheritance diagram for iCubConfigurableHandPosToVelMotor:

Public Member Functions

 iCubConfigurableHandPosToVelMotor (ConfigurationParameters &params, QString prefix)
 Constructor.
 
 ~iCubConfigurableHandPosToVelMotor ()
 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 motor.
 
virtual void update ()
 Performs the motor update. This also reads the activation of output neurons.
 
- Public Member Functions inherited from iCubPosToVelMotor
 iCubPosToVelMotor (ConfigurationParameters &params, QString prefix)
 Constructor.
 
virtual ~iCubPosToVelMotor ()
 Destructor.
 
real getK () const
 Returns the value of the gain (k) used by the proportional controller.
 
real getMaxVelocity () const
 Returns the maximum velocity used by the proportional controller.
 
const ProportionalControllerproportionalController () const
 Returns a const reference to the proportional controller.
 
void setK (real k)
 Sets the value of the gain (k) used by the proportional controller.
 
void setMaxVelocity (real maxVelocity)
 Sets the maximum velocity used by the proportional controller.
 
- Public Member Functions inherited from iCubMotor
 iCubMotor (ConfigurationParameters &params, QString prefix)
 Constructor.
 
virtual ~iCubMotor ()
 Destructor.
 
- Public Member Functions inherited from Motor
 Motor (ConfigurationParameters &params, QString prefix)
 Constructor and Configure.
 
 ~Motor ()
 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 iCubPosToVelMotor
static void describe (QString type)
 Describes all the parameters for this sensor.
 
- Static Public Member Functions inherited from iCubMotor
static void describe (QString type)
 Describes all the parameters for this motor.
 
- Static Public Member Functions inherited from Motor
static void describe (QString type)
 Describe all the parameter for configuring the Motor.
 
- 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 Motor
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 iCubMotor
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 configurable motor moving the iCub fingers to the given position.

A motor for the iCub hand. This allows to specify which joints should be controlled and to group joints so that a single outpu neuron can control more than one joint at a time (see the jointsGroups parameter). Moreover it is possible to limit the movement of fingers to a fraction of their original range (see the maxClosure parameter). This motor receives the desidered position of joints and moves them in velocity

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

  • icub: the name of the resource associated with the iCub robot to use
  • hand: the hand to control. Choose between "right" and "left"
  • jointsGroups: this parameter allows specifying which joints should be controlled together. The format is like this: joint1,joint2/joint5,joint6,joint3/joint4. In this case we have three groups of joints: (joint1 and joint2), (joint5, joint6 and joint3) and (joint4). Joints in the same group are controlled together, while joints that are not listed in any group are not controlled. This parameter is compulsory, if it is not present, the program throws an exception. The allowed joint names are: Aperture, Thumb1, Thumb2, Thumb3, Index1, Index2, Middle1, Middle2, Others (case insensitive)
  • maxClosure: this parameter allows limiting joint excursion to a portion of the original one. If set to 1.0 all joints move within their limits, otherwise their upper limit is set to maxClosure portion of the original upper limit. This applies to all controlled joints. A value of 0.0 disables all joint movements
  • k: this parameter is the gain for the proportional controller converting position displacement (desired position minus current position) to a velocity to apply to the joint
  • maxvel: this is the maximum allowed velocity that can be applied to a joint (absolute value). Velocities greater than this are truncated to +maxvel or -maxvel

The resources required by this Motor are:

  • evonetIterator: the object to iterate over neurons of the neural network
  • robot: the simulated physical iCub robot

Definition at line 685 of file icubmotors.h.

Constructor & Destructor Documentation

iCubConfigurableHandPosToVelMotor ( ConfigurationParameters params,
QString  prefix 
)

Constructor.

Creates and configures the motor

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

Definition at line 1093 of file icubmotors.cpp.

References ConfigurationHelper::getDouble(), ConfigurationHelper::getString(), ConfigurationParameters::getValue(), iCubMotor::icubResource, iCubMotor::neuronsIteratorResource, ConfigurationHelper::throwUserConfigError(), and ConcurrentResourcesUser::usableResources().

Destructor.

Definition at line 1162 of file icubmotors.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 iCubPosToVelMotor.

Definition at line 1166 of file icubmotors.cpp.

References ConfigurationParameters::createParameter(), iCubPosToVelMotor::save(), iCubConfigurableHandPosToVelMotor::size(), and ConfigurationParameters::startObjectParameters().

int size ( )
virtual

Returns the number of neurons required by this motor.

Returns
the number of neurons required by this motor

Implements Motor.

Definition at line 1249 of file icubmotors.cpp.

Referenced by iCubConfigurableHandPosToVelMotor::save().


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