dynamicgraph::sot::Task Class Reference

Class that defines the basic elements of a task. More...

#include "Definition"

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

Public Types

typedef std::list< FeatureAbstract * > FeatureList_t
 

Public Member Functions

 Task (const std::string &n)
 
void initCommands (void)
 
void addFeature (FeatureAbstract &s)
 
void addFeatureFromName (const std::string &name)
 
void clearFeatureList (void)
 
FeatureList_tgetFeatureList (void)
 
void setControlSelection (const Flags &act)
 
void addControlSelection (const Flags &act)
 
void clearControlSelection (void)
 
void setWithDerivative (const bool &s)
 
bool getWithDerivative (void)
 
dg::Vector & computeError (dg::Vector &error, int time)
 
VectorMultiBoundcomputeTaskExponentialDecrease (VectorMultiBound &errorRef, int time)
 
dg::Matrix & computeJacobian (dg::Matrix &J, int time)
 
dg::Vector & computeErrorTimeDerivative (dg::Vector &res, int time)
 
void display (std::ostream &os) const
 
virtual std::ostream & writeGraph (std::ostream &os) const
 
- Public Member Functions inherited from dynamicgraph::sot::TaskAbstract
 TaskAbstract (const std::string &n)
 

Public Attributes

dg::SignalPtr< double, int > controlGainSIN
 
dg::SignalPtr< double, int > dampingGainSINOUT
 
dg::SignalPtr< Flags, int > controlSelectionSIN
 
dg::SignalTimeDependent< dg::Vector, int > errorSOUT
 
dg::SignalTimeDependent< dg::Vector, int > errorTimeDerivativeSOUT
 
- Public Attributes inherited from dynamicgraph::sot::TaskAbstract
MemoryTaskAbstractmemoryInternal
 
dg::SignalTimeDependent< VectorMultiBound, int > taskSOUT
 
dg::SignalTimeDependent< dg::Matrix, int > jacobianSOUT
 

Protected Member Functions

 DYNAMIC_GRAPH_ENTITY_DECL ()
 
- Protected Member Functions inherited from dynamicgraph::sot::TaskAbstract
void taskRegistration (void)
 

Protected Attributes

FeatureList_t featureList
 
bool withDerivative
 

Detailed Description

Class that defines the basic elements of a task.

A task is defined as \( {\bf s} ={\bf e}({\bf q}) \) where \({\bf s} \) is a set of features and \({\bf q}\) the actuated joints of the robot.
It is assumes that \( \dot{\bf e} = - \lambda {\bf e} \). Moreover as it assumed that this task can provide: \( {\bf J} = \frac{\delta f}{\delta {\bf q}} \) It then possible to compute \( \dot{\bf q} = -\lambda {\bf J}^{\#} \dot{\bf e}\) with \( \dot{\bf e} = {\bf s}^{des} - {\bf s}^* \), and \( {\bf s}^{des}\) the desired feature and \( {\bf s}^* \) the one currently measured.

It is possible to add features or clear the list of features. This class makes also possible to select some of the listed of features to compute the control law through setControlSelection, addControlSelection, clearControlSelection.

Member Typedef Documentation

◆ FeatureList_t

Constructor & Destructor Documentation

◆ Task()

dynamicgraph::sot::Task::Task ( const std::string &  n)

Member Function Documentation

◆ addControlSelection()

void dynamicgraph::sot::Task::addControlSelection ( const Flags act)

◆ addFeature()

void dynamicgraph::sot::Task::addFeature ( FeatureAbstract s)

◆ addFeatureFromName()

void dynamicgraph::sot::Task::addFeatureFromName ( const std::string &  name)

◆ clearControlSelection()

void dynamicgraph::sot::Task::clearControlSelection ( void  )

◆ clearFeatureList()

void dynamicgraph::sot::Task::clearFeatureList ( void  )

◆ computeError()

dg::Vector& dynamicgraph::sot::Task::computeError ( dg::Vector &  error,
int  time 
)

◆ computeErrorTimeDerivative()

dg::Vector& dynamicgraph::sot::Task::computeErrorTimeDerivative ( dg::Vector &  res,
int  time 
)

◆ computeJacobian()

dg::Matrix& dynamicgraph::sot::Task::computeJacobian ( dg::Matrix &  J,
int  time 
)

◆ computeTaskExponentialDecrease()

VectorMultiBound& dynamicgraph::sot::Task::computeTaskExponentialDecrease ( VectorMultiBound errorRef,
int  time 
)

◆ display()

void dynamicgraph::sot::Task::display ( std::ostream &  os) const

◆ DYNAMIC_GRAPH_ENTITY_DECL()

dynamicgraph::sot::Task::DYNAMIC_GRAPH_ENTITY_DECL ( )
protected

◆ getFeatureList()

FeatureList_t& dynamicgraph::sot::Task::getFeatureList ( void  )
inline

◆ getWithDerivative()

bool dynamicgraph::sot::Task::getWithDerivative ( void  )

◆ initCommands()

void dynamicgraph::sot::Task::initCommands ( void  )

◆ setControlSelection()

void dynamicgraph::sot::Task::setControlSelection ( const Flags act)

◆ setWithDerivative()

void dynamicgraph::sot::Task::setWithDerivative ( const bool &  s)

◆ writeGraph()

virtual std::ostream& dynamicgraph::sot::Task::writeGraph ( std::ostream &  os) const
virtual

Member Data Documentation

◆ controlGainSIN

dg::SignalPtr<double, int> dynamicgraph::sot::Task::controlGainSIN

◆ controlSelectionSIN

dg::SignalPtr<Flags, int> dynamicgraph::sot::Task::controlSelectionSIN

◆ dampingGainSINOUT

dg::SignalPtr<double, int> dynamicgraph::sot::Task::dampingGainSINOUT

◆ errorSOUT

dg::SignalTimeDependent<dg::Vector, int> dynamicgraph::sot::Task::errorSOUT

◆ errorTimeDerivativeSOUT

dg::SignalTimeDependent<dg::Vector, int> dynamicgraph::sot::Task::errorTimeDerivativeSOUT

◆ featureList

FeatureList_t dynamicgraph::sot::Task::featureList
protected

◆ withDerivative

bool dynamicgraph::sot::Task::withDerivative
protected