The most generic representation of the whole-body controller used in ORCA can be summarized by the following optimization problem,

(1)\underset{\optvar}{\argmin} &\quad \ft(\optvar)   \\
\text{s.t.}            &\quad G\optvar \leq \bs{h}  \\
                       &\quad A\optvar = \bs{b}  \tp

  • s.t.: subject to

The objective, \ft(\optvar), is a function of the optimization variable, \optvar, and is determined by control objectives, or tasks. The resolution of the objective is subject to (s.t.) the affine inequality and equality constraints, which ensure that the control constraints are respected.

To understand how whole-body controllers are formulated in ORCA, we begin with a brief description of the free-floating rigid body dynamics. The parameterization of the dynamics forms the optimization variable. The control objectives, or tasks, and constraints are then detailed and written in terms of the optimization variable. Finally, task prioritization schemes are discussed.