Task Servoing
The desired terms, ,
,
, and
, from (1), (1), (1), and (1), respectively are provided by higher-level task servoing.
Commonly, the high-level reference of a task is simply to attain some pose, and in the case of a wrench task, some force and/or torque.
For acceleration tasks, if the desired task value is expressed as a pose, position, or orientation, then it must be converted to an acceleration. This is done here using a feedforward (PD) controller,
(1)
noindent where is the feedforward frame acceleration term,
and
are the current pose error and its derivative, with
and
, their proportional and derivative gains respectively.
This term also serves to remove drift at the controller level and stabilize the output of the task.
The terms,
and
, are not explicitly defined here because they are representation dependent (see citep{Siciliano2008}).
For wrench and torque tasks a similar servoing controller can be developed using a Proportional-Integral (PI) controller.
(2)
This servoing helps stabilize the whole-body controller by driving the desired task values to some fixed state in asymptotically stable manner.
Without the servoing the the task error objective term, , could change discontinuously between time steps resulting in discontinuous jumps in the optimal joint torques determined between two time steps.