Cartesian Acceleration Task

Probably the most important, if not most prevalent, task is to move a link on the robot from one pose to another. Typically it is the end-effector(s) which are of interest. These tasks, which are generally expressed as desired positions or orientations, are converted to acceleration tasks, through means of task servoing. More details on task servoing are provided in Task Servoing. Once given a desired operational-space acceleration for a link, \acc^{\text{des}}_{i}, an acceleration task consists in finding the joint-space values which produce \acc^{\text{des}}_{i},

(1)\acc^{\text{des}}_{i} = J_{i}(\q)\jsrd + \dot{J}_{i}(\q,\jsr)\jsr \tc

where J_{i}(\q) and \dot{J}_{i}(\q,\jsr) are the link Jacobian and its derivative. For the control objective, one simply rewrites the task as an error which must be minimized,

(2)\fa_{i} = \left\| J_{i}(\q)\jsrd + \dot{J}_{i}(\q,\jsr)\jsr - \acc_{i}^{\text{des}} \right\|_{2}^{2} \tp

Using the squared l^{2}-norm produces a quadratic error term, which defines the objective function \fa_{i} to be minimized. The objective function \fa_{i} is then rewritten in terms of the optimization variable, \optvar,

(3)\fa_{i} = \left\| \bmat{J_{i}(\q) & \0 } \optvar - \left(\acc_{i}^{\text{des}} - \dot{J}_{i}(\q,\jsr)\jsr \right)  \right\|_{2}^{2} \tp

In (3) the term \0 represents a matrix of zeros. Regrouping terms as,

(4)\Ea &= \bmat{J_{i}(\q) & \0 }

(5)\fveca &= \acc_{i}^{\text{des}} - \dot{J}_{i}(\q,\jsr)\jsr \tc

allows (3) to be written in the classical least-squares form as,

(6)\fa_{i} = \left\| \Ea \optvar - \fveca \right\|_{2}^{2}  \tp

The dependencies of \Ea and \fveca have been removed for brevity.

w_{task} . \lVert \mathbf{E}x + \mathbf{f} \rVert_{W_{norm}}

\underset{n\times 1}{\mathrm{Y}} =  \underset{n\times p}{X} \times
\underset{p\times 1}{\theta} + \underset{n\times 1}{\varepsilon}