Algorithmic Singularity

Definition

An algorithmic singularity is a configuration at which the lower-priority task’s
null-space-projected Jacobian loses rank even though every individual task Jacobian remains
full-rank
. In the task-priority redundancy-resolution scheme of Chiaverini (1997), with a primary
(end-effector) task Jacobian and a secondary (constraint) task Jacobian
, the projected matrix
degenerates whenever the two tasks conflict in the available redundant DOF. Unlike a
kinematic singularity (loss of end-effector mobility, fixed by the arm
geometry), an algorithmic singularity is a property of the task pair: it is trajectory-dependent
and hard to predict in advance. The source assumes a fixed-base terrestrial redundant manipulator
(a 7-DOF arm); the phenomenon is purely kinematic and regime-agnostic, so it transfers to a
free-flying space manipulator once the task Jacobians are taken in the appropriate (e.g.
circumcentroidal) coordinates.

Key Equations

Symbols per notation.md.

Here are the primary/secondary task Jacobians and
the null-space-projected secondary Jacobian. These task-priority symbols
are not yet in notation.md (which carries for the EE Jacobian); they
are reproduced source-faithfully and flagged for central addition — they do not reuse the
load-bearing glyph.

Projected secondary Jacobian (Chiaverini Eq. before 21):

Algorithmic singularity occurs (Chiaverini Eq. 21) iff the task null spaces share a nonzero direction:

\;\Longleftrightarrow\; \mathcal{R}(\boldsymbol{J}_C^T)\cap\mathcal{R}(\boldsymbol{J}_E^T)\neq\{\boldsymbol{0}\},$$ at which $\tilde{\boldsymbol{J}}_C$ drops rank with $\boldsymbol{J}_C,\boldsymbol{J}_E$ still full rank; in the worst case $\mathcal{N}^{\perp}(\boldsymbol{J}_C)\subset\mathcal{N}^{\perp}(\boldsymbol{J}_E)$ gives $\tilde{\boldsymbol{J}}_C=\boldsymbol{O}$ (tasks fully incompatible). ## Source Support - [chiaverini1997singularity](../sources/chiaverini1997singularity.md) — coins and analyzes the algorithmic singularity for task-priority redundancy resolution; SVD characterization via the range-space overlap $\mathcal{R}(\boldsymbol{J}_C^T)\cap\mathcal{R}(\boldsymbol{J}_E^T)$; develops a new inverse-kinematics solution that avoids inverting the ill-conditioned $\tilde{\boldsymbol{J}}_C$, yielding continuous joint velocities and accurate primary-task tracking. Fixed-base 7-DOF arm; no space regime assumed. ## Related Topics - [kinematic_singularity](kinematic_singularity.md) — the contrasting failure mode: loss of end-effector mobility from a single Jacobian's rank drop, independent of task assignment. - [task_priority_control](task_priority_control.md) — the control architecture (primary task in the Cartesian space, secondary in its null space) within which algorithmic singularities arise. - [task_priority_redundancy](task_priority_redundancy.md) — the redundancy-resolution layer whose null-space projection $(\boldsymbol{I}-\boldsymbol{J}_E^{\dagger}\boldsymbol{J}_E)$ creates the projected matrix that can degenerate. - [singularity_robust_inverse](singularity_robust_inverse.md) — the damped-least-squares / numerical- filtering inverses applied to keep $\tilde{\boldsymbol{J}}_C$ (and $\boldsymbol{J}_E$) usable near singularity. - [kinematic_redundancy_resolution](kinematic_redundancy_resolution.md) — the broader problem of selecting one inverse-kinematics solution; algorithmic singularities are an obstacle specific to multi-task (constraint-augmented) resolution. ## Open Questions - The source treats a fixed-base arm. For our free-flying base, do the task Jacobians enter in circumcentroidal coordinates ($\boldsymbol{J}_{\nu_e}^{\oplus}$), and does the $\mathcal{R}(\boldsymbol{J}_C^T)\cap\mathcal{R}(\boldsymbol{J}_E^T)$ overlap test still cleanly separate algorithmic from kinematic singularities once base–arm coupling is folded in? - Chiaverini notes algorithmic singularities are trajectory-dependent and "difficult to predict"; can our guidance layer pre-screen scheduled task pairs to keep $\tilde{\boldsymbol{J}}_C$ away from rank loss, rather than only reacting via a singularity-robust inverse? - The proposed solution leaves a steady-state secondary-task error that "cannot be avoided" at an algorithmic singularity — what is the acceptable error floor for an inspection constraint task on the actuated base?