Class that defines the basic elements of a task. More...
#include "Definition"
Public Types | |
typedef std::list < FeatureAbstract * > | FeatureList_t |
![]() | |
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_t & | getFeatureList (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) |
VectorMultiBound & | computeTaskExponentialDecrease (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 |
![]() | |
TaskAbstract (const std::string &n) | |
![]() | |
Entity (const std::string &name) | |
virtual | ~Entity () |
const std::string & | getName () const |
virtual const std::string & | getClassName () 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::Command * | getNewStyleCommand (const std::string &cmdName) |
SignalMap | getSignalMap () const |
void | sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const char *file="", int line=0) |
void | setLoggerVerbosityLevel (LoggerVerbosity lv) |
LoggerVerbosity | getLoggerVerbosityLevel () |
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 |
![]() | |
MemoryTaskAbstract * | memoryInternal |
dg::SignalTimeDependent < VectorMultiBound, int > | taskSOUT |
dg::SignalTimeDependent < dg::Matrix, int > | jacobianSOUT |
Protected Member Functions | |
DYNAMIC_GRAPH_ENTITY_DECL () | |
![]() | |
void | taskRegistration (void) |
![]() | |
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 |
![]() | |
std::string | name |
SignalMap | signalMap |
CommandMap_t | commandMap |
Logger | logger_ |
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.
typedef std::list< FeatureAbstract* > dynamicgraph::sot::Task::FeatureList_t |
dynamicgraph::sot::Task::Task | ( | const std::string & | n | ) |
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 | ) |
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 | ||
) |
|
virtual |
Reimplemented from dynamicgraph::Entity.
|
protected |
|
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 |
Reimplemented from dynamicgraph::Entity.
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 |
|
protected |
|
protected |