This class implements the Stack of Task. It allows to deal with the priority of the controllers through the shell. More...
#include <sot.hh>
Public Types | |
typedef std::list< TaskAbstract * > | StackType |
Defines a type for a list of tasks. More... | |
Public Types inherited from dynamicgraph::Entity | |
typedef std::map< const std::string, command::Command * > | CommandMap_t |
typedef std::map< std::string, SignalBase< sigtime_t > * > | SignalMap |
Public Member Functions | |
virtual void | defineNbDof (const size_type &nbDof) |
This method defines the part of the state vector which correspond to the free flyer of the robot. More... | |
virtual const std::string & | getClassName () const |
Returns the name of this class. More... | |
virtual const size_type & | getNbDof () const |
Sot (const std::string &name) | |
Default constructor. More... | |
virtual std::ostream & | writeGraph (std::ostream &os) const |
This method write the priority between tasks in the output stream os. More... | |
~Sot (void) | |
Methods to handle the stack. | |
virtual const StackType & | tasks () const |
virtual void | push (TaskAbstract &task) |
Push the task in the stack. It has a lowest priority than the previous ones. If this is the first task, then it has the highest priority. More... | |
virtual TaskAbstract & | pop (void) |
Pop the task from the stack. This method removes the task with the smallest priority in the task. The other are projected in the null-space of their predecessors. More... | |
virtual bool | exist (const TaskAbstract &task) |
This method allows to know if a task exists or not. More... | |
virtual void | remove (const TaskAbstract &task) |
Remove a task regardless to its position in the stack. It removes also the signals connected to the output signal of this stack. More... | |
virtual void | removeDependency (const TaskAbstract &key) |
This method removes the output signals depending on this task. More... | |
virtual void | up (const TaskAbstract &task) |
This method makes the task to swap with the task having the immediate superior priority. More... | |
virtual void | down (const TaskAbstract &task) |
This method makes the task to swap with the task having the immediate inferior priority. More... | |
virtual void | clear (void) |
Remove all the tasks from the stack. More... | |
Methods to compute the control law following the | |
recursive definition of the stack of tasks. | |
virtual dynamicgraph::Vector & | computeControlLaw (dynamicgraph::Vector &control, const sigtime_t &time) |
Compute the control law. More... | |
Public Member Functions inherited from dynamicgraph::Entity | |
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< sigtime_t > & | getSignal (const std::string &signalName) |
const SignalBase< sigtime_t > & | 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 & | logger () |
const Logger & | logger () const |
const Logger & | 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< sigtime_t > * | test () |
virtual void | test2 (SignalBase< sigtime_t > *) |
virtual std::ostream & | writeCompletionList (std::ostream &os) const |
virtual | ~Entity () |
Static Public Member Functions | |
static void | taskVectorToMlVector (const VectorMultiBound &taskVector, Vector &err) |
Number of joints by default. More... | |
Public Attributes | |
Methods to handle signals | |
SignalPtr< dynamicgraph::Vector, sigtime_t > | q0SIN |
Intrinsec velocity of the robot, that is used to initialized the recurence of the SOT (e.g. velocity coming from the other OpenHRP plugins). More... | |
SignalPtr< dynamicgraph::Matrix, sigtime_t > | proj0SIN |
A matrix K whose columns are a base of the desired velocity. In other words, where is the free parameter to be computed. More... | |
SignalPtr< double, sigtime_t > | inversionThresholdSIN |
This signal allow to change the threshold for the damped pseudo-inverse on-line. More... | |
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > | controlSOUT |
Allow to get the result of the computed control law. More... | |
Static Public Attributes | |
static const std::string | CLASS_NAME |
Specify the name of the class entity. More... | |
static const double | INVERSION_THRESHOLD_DEFAULT = 1e-4 |
Threshold to compute the dumped pseudo inverse. More... | |
Protected Attributes | |
bool | enablePostureTaskAcceleration |
Option to disable the computation of the SVD for the last task if this task is a Task with a single FeaturePosture. More... | |
double | maxControlIncrementSquaredNorm |
Maximum allowed squared norm of control increment. A task whose control increment is above this value is discarded. It defaults to std::numeric_limits<double>::max() . More... | |
size_type | nbJoints |
Store the number of joints to be used in the command computed by the stack of tasks. More... | |
StackType | stack |
This field is a list of controllers managed by the stack of tasks. More... | |
Protected Attributes inherited from dynamicgraph::Entity | |
CommandMap_t | commandMap |
Logger | logger_ |
std::string | name |
SignalMap | signalMap |
Methods to display the stack of tasks. | |
virtual void | display (std::ostream &os) const |
SOTSOT_CORE_EXPORT friend std::ostream & | operator<< (std::ostream &os, const Sot &sot) |
Additional Inherited Members | |
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< sigtime_t > &signals) |
This class implements the Stack of Task. It allows to deal with the priority of the controllers through the shell.
typedef std::list<TaskAbstract *> dynamicgraph::sot::Sot::StackType |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Display the stack of tasks in text mode as a tree.
Reimplemented from dynamicgraph::Entity.
|
virtual |
|
virtual |
|
inlinevirtual |
Returns the name of this class.
Reimplemented from dynamicgraph::Entity.
|
inlinevirtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlinevirtual |
|
static |
|
virtual |
|
virtual |
This method write the priority between tasks in the output stream os.
Reimplemented from dynamicgraph::Entity.
|
friend |
|
static |
SignalTimeDependent<dynamicgraph::Vector, sigtime_t> dynamicgraph::sot::Sot::controlSOUT |
|
protected |
Option to disable the computation of the SVD for the last task if this task is a Task with a single FeaturePosture.
|
static |
|
protected |
Maximum allowed squared norm of control increment. A task whose control increment is above this value is discarded. It defaults to std::numeric_limits<double>::max()
.
|
protected |
SignalPtr<dynamicgraph::Matrix, sigtime_t> dynamicgraph::sot::Sot::proj0SIN |
SignalPtr<dynamicgraph::Vector, sigtime_t> dynamicgraph::sot::Sot::q0SIN |
|
protected |