This class implements the Stack of Task. It allows to deal with the priority of the controllers through the shell.
More...
#include <sot/core/sot.hh>
|
| virtual const std::string & | getClassName () const |
| | Returns the name of this class. More...
|
| |
| | Sot (const std::string &name) |
| | Default constructor. More...
|
| |
| | ~Sot (void) |
| |
| virtual void | defineNbDof (const unsigned int &nbDof) |
| | This method defines the part of the state vector which correspond to the free flyer of the robot. More...
|
| |
| virtual const unsigned int & | getNbDof () const |
| |
| virtual std::ostream & | writeGraph (std::ostream &os) const |
| | This method write the priority between tasks in the output stream os. More...
|
| |
|
| 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...
|
| |
|
recursive definition of the stack of tasks.
|
| virtual dg::Vector & | computeControlLaw (dg::Vector &control, const int &time) |
| | Compute the control law. More...
|
| |
|
|
| SignalPtr< dg::Vector, int > | 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< dg::Matrix, int > | proj0SIN |
| | A matrix K whose columns are a base of the desired velocity. In other words, \( \dot{q} = K * u \) where \( u \) is the free parameter to be computed. More...
|
| |
| SignalPtr< double, int > | inversionThresholdSIN |
| | This signal allow to change the threshold for the damped pseudo-inverse on-line. More...
|
| |
| SignalTimeDependent< dg::Vector, int > | controlSOUT |
| | Allow to get the result of the computed control law. More...
|
| |
This class implements the Stack of Task. It allows to deal with the priority of the controllers through the shell.
◆ StackType
Defines a type for a list of tasks.
◆ Sot()
| dynamicgraph::sot::Sot::Sot |
( |
const std::string & |
name | ) |
|
◆ ~Sot()
| dynamicgraph::sot::Sot::~Sot |
( |
void |
| ) |
|
|
inline |
◆ clear()
| virtual void dynamicgraph::sot::Sot::clear |
( |
void |
| ) |
|
|
virtual |
Remove all the tasks from the stack.
◆ computeControlLaw()
| virtual dg::Vector& dynamicgraph::sot::Sot::computeControlLaw |
( |
dg::Vector & |
control, |
|
|
const int & |
time |
|
) |
| |
|
virtual |
◆ defineNbDof()
| virtual void dynamicgraph::sot::Sot::defineNbDof |
( |
const unsigned int & |
nbDof | ) |
|
|
virtual |
This method defines the part of the state vector which correspond to the free flyer of the robot.
◆ display()
| virtual void dynamicgraph::sot::Sot::display |
( |
std::ostream & |
os | ) |
const |
|
virtual |
Display the stack of tasks in text mode as a tree.
◆ down()
| virtual void dynamicgraph::sot::Sot::down |
( |
const TaskAbstract & |
task | ) |
|
|
virtual |
This method makes the task to swap with the task having the immediate inferior priority.
◆ exist()
| virtual bool dynamicgraph::sot::Sot::exist |
( |
const TaskAbstract & |
task | ) |
|
|
virtual |
This method allows to know if a task exists or not.
◆ getClassName()
| virtual const std::string& dynamicgraph::sot::Sot::getClassName |
( |
void |
| ) |
const |
|
inlinevirtual |
Returns the name of this class.
◆ getNbDof()
| virtual const unsigned int& dynamicgraph::sot::Sot::getNbDof |
( |
| ) |
const |
|
inlinevirtual |
◆ pop()
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.
◆ push()
| virtual void dynamicgraph::sot::Sot::push |
( |
TaskAbstract & |
task | ) |
|
|
virtual |
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.
◆ remove()
| virtual void dynamicgraph::sot::Sot::remove |
( |
const TaskAbstract & |
task | ) |
|
|
virtual |
Remove a task regardless to its position in the stack. It removes also the signals connected to the output signal of this stack.
◆ removeDependency()
| virtual void dynamicgraph::sot::Sot::removeDependency |
( |
const TaskAbstract & |
key | ) |
|
|
virtual |
This method removes the output signals depending on this task.
◆ tasks()
| virtual const StackType& dynamicgraph::sot::Sot::tasks |
( |
| ) |
const |
|
inlinevirtual |
◆ taskVectorToMlVector()
| static void dynamicgraph::sot::Sot::taskVectorToMlVector |
( |
const VectorMultiBound & |
taskVector, |
|
|
Vector & |
err |
|
) |
| |
|
static |
Number of joints by default.
◆ up()
| virtual void dynamicgraph::sot::Sot::up |
( |
const TaskAbstract & |
task | ) |
|
|
virtual |
This method makes the task to swap with the task having the immediate superior priority.
◆ writeGraph()
| virtual std::ostream& dynamicgraph::sot::Sot::writeGraph |
( |
std::ostream & |
os | ) |
const |
|
virtual |
This method write the priority between tasks in the output stream os.
◆ operator<<
Wrap the previous method around an operator.
◆ CLASS_NAME
| const std::string dynamicgraph::sot::Sot::CLASS_NAME |
|
static |
Specify the name of the class entity.
◆ controlSOUT
| SignalTimeDependent<dg::Vector, int> dynamicgraph::sot::Sot::controlSOUT |
Allow to get the result of the computed control law.
◆ enablePostureTaskAcceleration
| bool dynamicgraph::sot::Sot::enablePostureTaskAcceleration |
|
protected |
Option to disable the computation of the SVD for the last task if this task is a Task with a single FeaturePosture.
◆ INVERSION_THRESHOLD_DEFAULT
| const double dynamicgraph::sot::Sot::INVERSION_THRESHOLD_DEFAULT |
|
static |
Threshold to compute the dumped pseudo inverse.
◆ inversionThresholdSIN
| SignalPtr<double, int> dynamicgraph::sot::Sot::inversionThresholdSIN |
This signal allow to change the threshold for the damped pseudo-inverse on-line.
◆ nbJoints
| unsigned int dynamicgraph::sot::Sot::nbJoints |
|
protected |
Store the number of joints to be used in the command computed by the stack of tasks.
◆ proj0SIN
| SignalPtr<dg::Matrix, int> dynamicgraph::sot::Sot::proj0SIN |
A matrix K whose columns are a base of the desired velocity. In other words, \( \dot{q} = K * u \) where \( u \) is the free parameter to be computed.
- Note
- K should be an orthonormal matrix.
◆ q0SIN
| SignalPtr<dg::Vector, int> dynamicgraph::sot::Sot::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).
◆ stack
This field is a list of controllers managed by the stack of tasks.