Reference/Terms

Manipulability Task

Unweighted residual and Jacobian for src/robokit/terms/dense/manipulability_task.py.

Residual

Let $\mathbf{J}^p_w\in\mathbb{R}^{3\times n}$ be the world-frame position Jacobian of the target link. Its Yoshikawa manipulability is:

$$m = \sqrt{\det(\mathbf{J}^p_w(\mathbf{J}^p_w)^\top)}.$$

The residual is:

$$e=\frac{1}{m+\epsilon}.$$

Minimizing it moves the robot away from singular configurations.

Jacobian

For $\mathbf{A}=\mathbf{J}^p_w(\mathbf{J}^p_w)^\top$:

$$\frac{\partial e}{\partial q_j} = -\frac{1}{(m+\epsilon)^2} \frac{1}{2m} \frac{\partial\det(\mathbf{A})}{\partial q_j}.$$

Every column of $\mathbf{J}^p_w$ is differentiated analytically. Floating-base columns are zero.