Processing math: 100%
sot-core  4.11.8
Hierarchical task solver plug-in for dynamic-graph.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Stack-of-Tasks

As explained in class dynamicgraph::sot::FeatureAbstract,

{\bf E}(t) = {\bf e}({\bf q}(t), t)= {\bf s}({\bf q}(t)) - {\bf s}^*(t)

thus:

\dot{\bf E}= \frac{\partial{\bf e}}{\partial{\bf q}} \dot{\bf q} + \frac{\partial{\bf e}}{\partial t} \\

The features are responsible for computing:

  • {\bf E}(t)
  • \frac{\partial{\bf e}}{\partial t}
  • \frac{\partial{\bf e}}{\partial{\bf q}}

The class dynamicgraph::sot::Task takes some features outputs as inputs. It imposes an exponential decrease, i.e. \dot{\bf E} = -\lambda {\bf E} . It gives:

-\lambda {\bf e} = \frac{\partial{\bf e}}{\partial{\bf q}} \dot{\bf q} + \frac{\partial{\bf e}}{\partial t}

and computes solutions as:

\dot{\bf q} = \frac{\partial{\bf e}}{\partial{\bf q}}^{\dagger} \left( - \lambda {\bf e} - \frac{\partial{\bf e}}{\partial t} \right) + K v

where:

  • \frac{\partial{\bf e}}{\partial{\bf q}}^{\dagger} is the pseudo-inverse of \frac{\partial{\bf e}}{\partial{\bf q}},
  • \dot{\bf q} \in \mathbb{R}^n,
  • K \in \mathcal{M}_{n,m}(\mathbb{R}) is a base of the kernel of \frac{\partial{\bf e}}{\partial{\bf q}}, of dimension m,
  • and v spans \mathbb{R}^m so that K v spans the kernel of \frac{\partial{\bf e}}{\partial{\bf q}}.

v is a free parameters left to tasks of lower priority.