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 dynamicgraph::Vector & | computeControlLaw (dynamicgraph::Vector &control, const int &time) |
| Compute the control law. More...
|
|
|
|
SignalPtr< dynamicgraph::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< dynamicgraph::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< dynamicgraph::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 dynamicgraph::Vector& dynamicgraph::sot::Sot::computeControlLaw |
( |
dynamicgraph::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<dynamicgraph::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.
◆ maxControlIncrementSquaredNorm
double dynamicgraph::sot::Sot::maxControlIncrementSquaredNorm |
|
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()
.
- Warning
- This is a security feature and is not a good way of adding a proper constraint on the control generated by SoT.
◆ 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<dynamicgraph::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<dynamicgraph::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.
The documentation for this class was generated from the following file: