A configurable motor moving the iCub fingers to the given position. More...
Public Member Functions | |
iCubConfigurableHandPosToVelMotor (ConfigurationParameters ¶ms, QString prefix) | |
Constructor. | |
~iCubConfigurableHandPosToVelMotor () | |
Destructor. | |
virtual void | save (ConfigurationParameters ¶ms, 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 ¶ms, 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 ProportionalController & | proportionalController () 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 ¶ms, QString prefix) | |
Constructor. | |
virtual | ~iCubMotor () |
Destructor. | |
Public Member Functions inherited from Motor | |
Motor (ConfigurationParameters ¶ms, QString prefix) | |
Constructor and Configure. | |
~Motor () | |
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. | |
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) |
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
-
params the ConfigurationParameters containing the parameters prefix the 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
|
static |
Generates a description of this class and its parameters.
- Parameters
-
type the string representation of this class name
Definition at line 1210 of file icubmotors.cpp.
References ParameterSettableInConstructor::addTypeDescription(), ParameterSettable::EnumDescriptor::def(), ParameterSettable::StringDescriptor::def(), ParameterSettable::RealDescriptor::def(), iCubPosToVelMotor::describe(), ParameterSettable::Descriptor::describeEnum(), ParameterSettable::Descriptor::describeReal(), ParameterSettable::Descriptor::describeString(), ParameterSettable::StringDescriptor::help(), ParameterSettable::EnumDescriptor::help(), ParameterSettable::RealDescriptor::help(), ParameterSettableInConstructor::IsMandatory, ParameterSettable::RealDescriptor::limits(), ParameterSettable::StringDescriptor::props(), ParameterSettable::EnumDescriptor::props(), and ParameterSettable::EnumDescriptor::values().
|
virtual |
Saves current parameters into the given ConfigurationParameters object.
- Parameters
-
params the ConfigurationParameters object in which parameters should be saved prefix the 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().
|
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().
|
virtual |
Performs the motor update. This also reads the activation of output neurons.
Implements Motor.
Definition at line 1219 of file icubmotors.cpp.
References Motor::checkAllNeededResourcesExist(), MultiMotorController::getEncoder(), MultiMotorController::getLimits(), NeuronsIterator::getOutput(), linearMap(), max(), min(), Motor::name(), iCubMotor::neuronsIteratorResource, NeuronsIterator::nextNeuron(), iCubPosToVelMotor::proportionalController(), NeuronsIterator::setCurrentBlock(), and MultiMotorController::velocityMove().
The documentation for this class was generated from the following files:
- experiments/include/icubmotors.h
- experiments/src/icubmotors.cpp