All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 Types inherited from dynamicgraph::Entity
typedef std::map< std::string,
SignalBase< int > * > 
SignalMap
 
typedef std::map< const
std::string, command::Command * > 
CommandMap_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::VectorcomputeError (dg::Vector &error, int time)
 
VectorMultiBoundcomputeTaskExponentialDecrease (VectorMultiBound &errorRef, int time)
 
dg::MatrixcomputeJacobian (dg::Matrix &J, int time)
 
dg::VectorcomputeErrorTimeDerivative (dg::Vector &res, int time)
 
void display (std::ostream &os) const
 
virtual void commandLine (const std::string &cmdLine, std::istringstream &cmdArgs, std::ostream &os)
 
virtual std::ostream & writeGraph (std::ostream &os) const
 
- Public Member Functions inherited from dynamicgraph::sot::TaskAbstract
 TaskAbstract (const std::string &n)
 
- Public Member Functions inherited from dynamicgraph::Entity
 Entity (const std::string &name)
 
virtual ~Entity ()
 
const std::string & getName () const
 
virtual const std::string & getClassName () const =0
 
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

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 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)
 

Protected Attributes

FeatureList_t featureList
 
bool withDerivative
 
- Protected Attributes inherited from dynamicgraph::Entity
std::string name
 
SignalMap signalMap
 
CommandMap_t commandMap
 

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

Constructor & Destructor Documentation

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

Member Function Documentation

void dynamicgraph::sot::Task::addControlSelection ( const Flags act)
void dynamicgraph::sot::Task::addFeature ( FeatureAbstract s)
void dynamicgraph::sot::Task::addFeatureFromName ( const std::string &  name)
void dynamicgraph::sot::Task::clearControlSelection ( void  )
void dynamicgraph::sot::Task::clearFeatureList ( void  )
virtual void dynamicgraph::sot::Task::commandLine ( const std::string &  cmdLine,
std::istringstream &  cmdArgs,
std::ostream &  os 
)
virtual
dg::Vector& dynamicgraph::sot::Task::computeError ( dg::Vector error,
int  time 
)
dg::Vector& dynamicgraph::sot::Task::computeErrorTimeDerivative ( dg::Vector res,
int  time 
)
dg::Matrix& dynamicgraph::sot::Task::computeJacobian ( dg::Matrix J,
int  time 
)
VectorMultiBound& dynamicgraph::sot::Task::computeTaskExponentialDecrease ( VectorMultiBound errorRef,
int  time 
)
void dynamicgraph::sot::Task::display ( std::ostream &  os) const
virtual

Reimplemented from dynamicgraph::Entity.

dynamicgraph::sot::Task::DYNAMIC_GRAPH_ENTITY_DECL ( )
protected
FeatureList_t& dynamicgraph::sot::Task::getFeatureList ( void  )
inline
bool dynamicgraph::sot::Task::getWithDerivative ( void  )
void dynamicgraph::sot::Task::initCommands ( void  )
void dynamicgraph::sot::Task::setControlSelection ( const Flags act)
void dynamicgraph::sot::Task::setWithDerivative ( const bool &  s)
virtual std::ostream& dynamicgraph::sot::Task::writeGraph ( std::ostream &  os) const
virtual

Reimplemented from dynamicgraph::Entity.

Member Data Documentation

dg::SignalPtr< double,int > dynamicgraph::sot::Task::controlGainSIN
dg::SignalPtr< Flags,int > dynamicgraph::sot::Task::controlSelectionSIN
dg::SignalPtr< double,int > dynamicgraph::sot::Task::dampingGainSINOUT
dg::SignalTimeDependent< dg::Vector,int > dynamicgraph::sot::Task::errorSOUT
dg::SignalTimeDependent< dg::Vector,int > dynamicgraph::sot::Task::errorTimeDerivativeSOUT
FeatureList_t dynamicgraph::sot::Task::featureList
protected
bool dynamicgraph::sot::Task::withDerivative
protected