Optimization Vector

In Free-Floating Rigid Body Dynamics we expressed the equations of motion as an affine function of our optimization variable, \optvar. Here, we look at each component in \optvar and detail its meaning, position in the overall vector, and dimensions.

\optvar =
\bmat{
\jsrd_{fb}\\
\jsrd_{j}\\
\torque_{fb}\\
\torque_{j}\\
\we_{0}\\
\vdots\\
\we_{n}\\
}

  • \jsrd_{fb} : Floating base joint acceleration (6 \times 1)
  • \jsrd_{j} : Joint space acceleration (n_{\dof} \times 1)
  • \torque_{fb} : Floating base joint torque (6 \times 1)
  • \torque_{j} : Joint space joint torque (n_{\dof} \times 1)
  • \we_{n} : External wrench (6 \times 1)

Each of these variables are termed Control Variables in ORCA and are used to define every task and constraint.

These variables can of course be combined for convenience:

  • \jsrd : Generalised joint acceleration, concatenation of \jsrd_{fb} and \jsrd_{j} (6+n_{\dof} \times 1)
  • \torque : Generalised joint torque, concatenation of \torque_{fb} and \torque_{j} (6+n_{\dof} \times 1)
  • \we : External wrenches (n_{\text{wrenches}} 6 \times 1)
  • \optvar : The whole optimization vector (6 + n_{\dof} + 6 + n_{\dof} + n_{wrenches}6 \times 1)

With our optimization varible well defined, we can now formulate the optimization problem.