This class gives the abstract definition of a feature. More...
#include <feature-abstract.hh>
Public Member Functions | |
FeatureAbstract (const std::string &name) | |
Default constructor: the name of the class should be given. More... | |
void | featureRegistration (void) |
Register the feature in the stack of tasks. More... | |
virtual const std::string & | getClassName (void) const |
Returns the name class. More... | |
void | initCommands (void) |
virtual | ~FeatureAbstract (void) |
Default destructor. More... | |
Methods returning the dimension of the feature. | |
virtual unsigned int & | getDimension (unsigned int &res, int time)=0 |
Verbose method. More... | |
unsigned int | getDimension (int time) |
Short method. More... | |
unsigned int | getDimension (void) const |
Shortest method. More... | |
Methods to control internal computation. | |
The main idea is that some feature may have a lower frequency than the internal control loop. In this case, the methods for computation are called only when needed. | |
virtual dynamicgraph::Vector & | computeError (dynamicgraph::Vector &res, int time)=0 |
Compute the error between the desired feature and the current value of the feature measured or deduced from the robot state. More... | |
virtual dynamicgraph::Matrix & | computeJacobian (dynamicgraph::Matrix &res, int time)=0 |
Compute the Jacobian of the error according the robot state. More... | |
virtual dynamicgraph::Vector & | computeErrorDot (dynamicgraph::Vector &res, int time) |
Reference | |
virtual void | setReference (FeatureAbstract *sdes)=0 |
virtual void | unsetReference (void) |
virtual const FeatureAbstract * | getReferenceAbstract (void) const =0 |
virtual FeatureAbstract * | getReferenceAbstract (void)=0 |
virtual bool | isReferenceSet (void) const |
virtual void | addDependenciesFromReference (void)=0 |
virtual void | removeDependenciesFromReference (void)=0 |
void | setReferenceByName (const std::string &name) |
std::string | getReferenceByName (void) const |
Public Member Functions inherited from dynamicgraph::Entity | |
virtual void | display (std::ostream &os) const |
std::ostream & | displaySignalList (std::ostream &os) const |
Entity (const std::string &name) | |
const std::string & | getCommandList () const |
virtual std::string | getDocString () const |
LoggerVerbosity | getLoggerVerbosityLevel () |
LoggerVerbosity | getLoggerVerbosityLevel () |
const std::string & | getName () const |
command::Command * | getNewStyleCommand (const std::string &cmdName) |
CommandMap_t | getNewStyleCommandMap () |
SignalBase< int > & | getSignal (const std::string &signalName) |
const SignalBase< int > & | getSignal (const std::string &signalName) const |
SignalMap | getSignalMap () const |
double | getStreamPrintPeriod () |
double | getStreamPrintPeriod () |
double | getTimeSample () |
double | getTimeSample () |
bool | hasSignal (const std::string &signame) const |
Logger & | logger () |
Logger const & | logger () const |
Logger & | logger () |
Logger const & | logger () const |
void | sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="") |
void | sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const std::string &lineId="") |
void | setLoggerVerbosityLevel (LoggerVerbosity lv) |
void | setLoggerVerbosityLevel (LoggerVerbosity lv) |
bool | setStreamPrintPeriod (double t) |
bool | setStreamPrintPeriod (double t) |
bool | setTimeSample (double t) |
bool | setTimeSample (double t) |
virtual SignalBase< int > * | test () |
virtual void | test2 (SignalBase< int > *) |
virtual std::ostream & | writeCompletionList (std::ostream &os) const |
virtual | ~Entity () |
Public Attributes | |
Input signals: | |
SignalPtr< Flags, int > | selectionSIN |
This vector specifies which dimension are used to perform the computation. For instance let us assume that the feature is a 3D point. If only the Y-axis should be used for computing error, activation and Jacobian, then the vector to specify is . More... | |
SignalPtr< dynamicgraph::Vector, int > | errordotSIN |
Derivative of the reference value. More... | |
Static Public Attributes | |
static const std::string | CLASS_NAME = "FeatureAbstract" |
Store the name of the class. More... | |
Output signals: | |
SignalTimeDependent< dynamicgraph::Vector, int > | errorSOUT |
This signal returns the error between the desired value and the current value : . More... | |
SignalTimeDependent< dynamicgraph::Vector, int > | errordotSOUT |
Derivative of the error with respect to time: . More... | |
SignalTimeDependent< dynamicgraph::Matrix, int > | jacobianSOUT |
Jacobian of the error wrt the robot state: . More... | |
SignalTimeDependent< unsigned int, int > | dimensionSOUT |
Returns the dimension of the feature as an output signal. More... | |
virtual std::ostream & | writeGraph (std::ostream &os) const |
This method write a graph description on the file named FileName. More... | |
virtual SignalTimeDependent< dynamicgraph::Vector, int > & | getErrorDot () |
Additional Inherited Members | |
Public Types inherited from dynamicgraph::Entity | |
typedef std::map< const std::string, command::Command *> | CommandMap_t |
typedef std::map< std::string, SignalBase< int > *> | SignalMap |
Protected Member Functions inherited from dynamicgraph::Entity | |
void | addCommand (const std::string &name, command::Command *command) |
void | entityDeregistration () |
void | entityRegistration () |
void | signalDeregistration (const std::string &name) |
void | signalRegistration (const SignalArray< int > &signals) |
Protected Attributes inherited from dynamicgraph::Entity | |
CommandMap_t | commandMap |
Logger | logger_ |
std::string | name |
SignalMap | signalMap |
This class gives the abstract definition of a feature.
A feature computes:
The task is in general computed from the value of the feature at the current instant . The derivative of is:
FeatureAbstract. Each feature has a reference of the same type and compute an error by comparing errorSIN signals from itself and from the reference."
Definition at line 76 of file feature-abstract.hh.
FeatureAbstract::FeatureAbstract | ( | const std::string & | name | ) |
Default constructor: the name of the class should be given.
Definition at line 24 of file feature-abstract.cpp.
|
inlinevirtual |
Default destructor.
Definition at line 93 of file feature-abstract.hh.
|
pure virtual |
|
pure virtual |
Compute the error between the desired feature and the current value of the feature measured or deduced from the robot state.
Implemented in dynamicgraph::sot::FeaturePose< representation >, dynamicgraph::sot::FeatureGeneric, dynamicgraph::sot::Feature1D, dynamicgraph::sot::FeatureJointLimits, dynamicgraph::sot::FeatureLineDistance, dynamicgraph::sot::FeatureVisualPoint, dynamicgraph::sot::FeatureVector3, dynamicgraph::sot::FeaturePosture, and TestFeature.
|
virtual |
Callback for signal errordotSOUT
Copy components of the input signal errordotSIN defined by selection flag selectionSIN.
Reimplemented in dynamicgraph::sot::FeaturePose< representation >, and dynamicgraph::sot::FeaturePosture.
Definition at line 95 of file feature-abstract.cpp.
|
pure virtual |
Compute the Jacobian of the error according the robot state.
Implemented in dynamicgraph::sot::FeaturePose< representation >, dynamicgraph::sot::FeatureGeneric, dynamicgraph::sot::Feature1D, dynamicgraph::sot::FeatureJointLimits, dynamicgraph::sot::FeatureLineDistance, dynamicgraph::sot::FeatureVisualPoint, dynamicgraph::sot::FeatureVector3, dynamicgraph::sot::FeaturePosture, and TestFeature.
void FeatureAbstract::featureRegistration | ( | void | ) |
Register the feature in the stack of tasks.
Definition at line 66 of file feature-abstract.cpp.
|
inlinevirtual |
Returns the name class.
Reimplemented from dynamicgraph::Entity.
Reimplemented in dynamicgraph::sot::FeaturePose< representation >, dynamicgraph::sot::FeatureGeneric, dynamicgraph::sot::Feature1D, dynamicgraph::sot::FeatureJointLimits, dynamicgraph::sot::FeatureVisualPoint, dynamicgraph::sot::FeatureLineDistance, dynamicgraph::sot::FeatureVector3, and dynamicgraph::sot::FeatureTask.
Definition at line 82 of file feature-abstract.hh.
|
pure virtual |
Verbose method.
Implemented in dynamicgraph::sot::FeaturePose< representation >, dynamicgraph::sot::FeatureGeneric, dynamicgraph::sot::Feature1D, dynamicgraph::sot::FeatureJointLimits, dynamicgraph::sot::FeatureLineDistance, dynamicgraph::sot::FeatureVisualPoint, dynamicgraph::sot::FeatureVector3, dynamicgraph::sot::FeaturePosture, and TestFeature.
|
inline |
Short method.
Definition at line 111 of file feature-abstract.hh.
|
inline |
Shortest method.
Definition at line 121 of file feature-abstract.hh.
|
inlinevirtual |
Definition at line 202 of file feature-abstract.hh.
|
pure virtual |
|
pure virtual |
std::string FeatureAbstract::getReferenceByName | ( | void | ) | const |
Definition at line 88 of file feature-abstract.cpp.
void FeatureAbstract::initCommands | ( | void | ) |
Definition at line 52 of file feature-abstract.cpp.
|
inlinevirtual |
Definition at line 217 of file feature-abstract.hh.
|
pure virtual |
|
pure virtual |
void FeatureAbstract::setReferenceByName | ( | const std::string & | name | ) |
Definition at line 83 of file feature-abstract.cpp.
|
inlinevirtual |
Definition at line 214 of file feature-abstract.hh.
|
virtual |
This method write a graph description on the file named FileName.
Reimplemented from dynamicgraph::Entity.
Definition at line 70 of file feature-abstract.cpp.
|
static |
Store the name of the class.
Definition at line 79 of file feature-abstract.hh.
SignalTimeDependent<unsigned int, int> dynamicgraph::sot::FeatureAbstract::dimensionSOUT |
Returns the dimension of the feature as an output signal.
Definition at line 196 of file feature-abstract.hh.
SignalPtr<dynamicgraph::Vector, int> dynamicgraph::sot::FeatureAbstract::errordotSIN |
Derivative of the reference value.
Definition at line 176 of file feature-abstract.hh.
SignalTimeDependent<dynamicgraph::Vector, int> dynamicgraph::sot::FeatureAbstract::errordotSOUT |
Derivative of the error with respect to time: .
Definition at line 189 of file feature-abstract.hh.
SignalTimeDependent<dynamicgraph::Vector, int> dynamicgraph::sot::FeatureAbstract::errorSOUT |
This signal returns the error between the desired value and the current value : .
Definition at line 185 of file feature-abstract.hh.
SignalTimeDependent<dynamicgraph::Matrix, int> dynamicgraph::sot::FeatureAbstract::jacobianSOUT |
Jacobian of the error wrt the robot state: .
Definition at line 193 of file feature-abstract.hh.
This vector specifies which dimension are used to perform the computation. For instance let us assume that the feature is a 3D point. If only the Y-axis should be used for computing error, activation and Jacobian, then the vector to specify is .
Definition at line 173 of file feature-abstract.hh.