All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dynamicgraph::sot::FeatureGeneric Class Reference

Class that defines a generic implementation of the abstract interface for features. More...

#include <sot/core/feature-generic.hh>

Inheritance diagram for dynamicgraph::sot::FeatureGeneric:
[legend]

Public Member Functions

virtual const std::string & getClassName (void) const
 
virtual void display (std::ostream &os) const
 Display the information related to this generic implementation. More...
 
Output signals
 FeatureGeneric (const std::string &name)
 Default constructor. More...
 
virtual ~FeatureGeneric (void)
 Default destructor. More...
 
virtual unsigned int & getDimension (unsigned int &dim, int time)
 Get the dimension of the feature. More...
 
Methods to trigger computation related to this feature.
virtual dg::VectorcomputeError (dg::Vector &res, int time)
 Compute the error between the desired value and the value itself. More...
 
virtual dg::MatrixcomputeJacobian (dg::Matrix &res, int time)
 Compute the Jacobian of the value according to the robot state.. More...
 
Dealing with the reference value to be reach with this feature.
 DECLARE_REFERENCE_FUNCTIONS (FeatureGeneric)
 
- Public Member Functions inherited from dynamicgraph::sot::FeatureAbstract
void featureRegistration (void)
 Register the feature in the stack of tasks. More...
 
void initCommands (void)
 
 FeatureAbstract (const std::string &name)
 Default constructor: the name of the class should be given. More...
 
virtual ~FeatureAbstract (void)
 Default destructor. More...
 
unsigned int getDimension (int time)
 Short method. More...
 
unsigned int getDimension (void) const
 Shortest method. More...
 
virtual dg::VectorcomputeErrorDot (dg::Vector &res, int time)
 Callback for signal errordotSOUT. More...
 
virtual void setReference (FeatureAbstract *sdes)=0
 
virtual void unsetReference (void)
 
virtual const FeatureAbstractgetReferenceAbstract (void) const =0
 
virtual FeatureAbstractgetReferenceAbstract (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
 
virtual std::ostream & writeGraph (std::ostream &os) const
 This method write a graph description on the file named FileName. More...
 
virtual SOT_CORE_DEPRECATED bool withErrorDot (void) const
 Return true for children that provide the errordot output signal. More...
 
virtual SignalTimeDependent
< dg::Vector, int > & 
getErrorDot ()
 
- Public Member Functions inherited from dynamicgraph::Entity
 Entity (const std::string &name)
 
virtual ~Entity ()
 
const std::string & getName () const
 
virtual std::string getDocString () const
 
bool hasSignal (const std::string &signame) const
 
SignalBase< int > & getSignal (const std::string &signalName)
 
const SignalBase< int > & getSignal (const std::string &signalName) const
 
std::ostream & displaySignalList (std::ostream &os) const
 
virtual std::ostream & writeCompletionList (std::ostream &os) const
 
virtual SignalBase< int > * test ()
 
virtual void test2 (SignalBase< int > *)
 
const std::string & getCommandList () const
 
CommandMap_t getNewStyleCommandMap ()
 
command::CommandgetNewStyleCommand (const std::string &cmdName)
 
SignalMap getSignalMap () const
 

Public Attributes

Input signals
dg::SignalPtr< dg::Vector, int > errorSIN
 Input for the error. More...
 
dg::SignalPtr< dg::Matrix, int > jacobianSIN
 Input for the Jacobian. More...
 
- Public Attributes inherited from dynamicgraph::sot::FeatureAbstract
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 \( [ 0 1 0] \). More...
 
SignalPtr< dg::Vector, int > errordotSIN
 Derivative of the reference value. More...
 
SignalTimeDependent
< dg::Vector, int > 
errorSOUT
 This signal returns the error between the desired value and the current value : \( {\bf s}^*(t) - {\bf s}(t)\). More...
 
SignalTimeDependent
< dg::Vector, int > 
errordotSOUT
 Derivative of the reference value. More...
 
SignalTimeDependent
< dg::Matrix, int > 
jacobianSOUT
 This signal returns the Jacobian of the current value according to the robot state: \( J(t) = \frac{\delta{\bf s}^*(t)}{\delta {\bf q}(t)}\). More...
 
SignalTimeDependent< unsigned
int, int > 
dimensionSOUT
 Returns the dimension of the feature as an output signal. More...
 

Static Public Attributes

static const std::string CLASS_NAME
 
- Static Public Attributes inherited from dynamicgraph::sot::FeatureAbstract
static const std::string CLASS_NAME
 Store the name of the class. More...
 

Protected Attributes

unsigned int dimensionDefault
 
- Protected Attributes inherited from dynamicgraph::Entity
std::string name
 
SignalMap signalMap
 
CommandMap_t commandMap
 

Additional Inherited Members

- Public Types inherited from dynamicgraph::Entity
typedef std::map< std::string,
SignalBase< int > * > 
SignalMap
 
typedef std::map< const
std::string, command::Command * > 
CommandMap_t
 
- Protected Member Functions inherited from dynamicgraph::Entity
void addCommand (const std::string &name, command::Command *command)
 
void entityRegistration ()
 
void entityDeregistration ()
 
void signalRegistration (const SignalArray< int > &signals)
 
void signalDeregistration (const std::string &name)
 

Detailed Description

Class that defines a generic implementation of the abstract interface for features.

This class is very useful if the feature can be easily computed using the basic operator provided. For instance a free space controller on a end-effector is basically directly computed from the Jacobian provided by dyn and some appropriate addition and soustraction. Instead of building a specific feature for this, it is possible to use the signals and plug the computed error, Jacobian and activation to the input of this generic feature implementation.

Constructor & Destructor Documentation

dynamicgraph::sot::FeatureGeneric::FeatureGeneric ( const std::string &  name)

Default constructor.

virtual dynamicgraph::sot::FeatureGeneric::~FeatureGeneric ( void  )
inlinevirtual

Default destructor.

Member Function Documentation

virtual dg::Vector& dynamicgraph::sot::FeatureGeneric::computeError ( dg::Vector res,
int  time 
)
virtual

Compute the error between the desired value and the value itself.

Implements dynamicgraph::sot::FeatureAbstract.

virtual dg::Matrix& dynamicgraph::sot::FeatureGeneric::computeJacobian ( dg::Matrix res,
int  time 
)
virtual

Compute the Jacobian of the value according to the robot state..

Implements dynamicgraph::sot::FeatureAbstract.

dynamicgraph::sot::FeatureGeneric::DECLARE_REFERENCE_FUNCTIONS ( FeatureGeneric  )
virtual void dynamicgraph::sot::FeatureGeneric::display ( std::ostream &  os) const
virtual

Display the information related to this generic implementation.

Reimplemented from dynamicgraph::Entity.

Reimplemented in dynamicgraph::sot::FeatureTask.

virtual const std::string& dynamicgraph::sot::FeatureGeneric::getClassName ( void  ) const
inlinevirtual

Returns the name of the class.

Reimplemented from dynamicgraph::sot::FeatureAbstract.

Reimplemented in dynamicgraph::sot::FeatureTask.

virtual unsigned int& dynamicgraph::sot::FeatureGeneric::getDimension ( unsigned int &  dim,
int  time 
)
virtual

Get the dimension of the feature.

Implements dynamicgraph::sot::FeatureAbstract.

Member Data Documentation

const std::string dynamicgraph::sot::FeatureGeneric::CLASS_NAME
static

Field storing the class name.

unsigned int dynamicgraph::sot::FeatureGeneric::dimensionDefault
protected
dg::SignalPtr< dg::Vector,int > dynamicgraph::sot::FeatureGeneric::errorSIN

Input for the error.

dg::SignalPtr< dg::Matrix,int > dynamicgraph::sot::FeatureGeneric::jacobianSIN

Input for the Jacobian.