Singularity Threshold Cascade and the Four-Layer Conditioning Stack

Statement

Proximity to singularity for the coordinated free-flying controller is measured by the
minimum singular value of the coordinate transform,
(notation.md). Because
is singular exactly where its lower-right block
is — empirically the two minimum singular values track with
Spearman rank correlation — a single scalar suffices to schedule the
whole conditioning stack.

Amplification bound. From the SVD ,
the generalized-velocity reconstruction
amplifies each task component by , so for a commanded task speed ,

\boldsymbol{x}=\sum_i \frac{\boldsymbol{u}_i^\top\boldsymbol{z}}{s_i}\,\boldsymbol{v}_i \;\Rightarrow\; \lVert\boldsymbol{x}\rVert \le \frac{v}{\sigma_{\min}(\boldsymbol{\Gamma})} \;\Leftrightarrow\; \sigma_{\min}(\boldsymbol{\Gamma}) \le \frac{v}{\lVert\boldsymbol{x}\rVert}. \tag{current_sota eq 6.1}

The cascade (ours). Threading one velocity currency through three floors:

  • First floor — full-speed budget. Setting to the highest
    tolerable rate turns the bound into a commanded-speed budget, \sigma_{\mathrm{crit},1}=\frac{v}{x_{\max}}\simeq\frac{0.90}{2\pi}=0.143, \tag{current_sota eq 6.2} with and the wrist rate .
    Above no derating is needed.
  • Second floor — floored-speed budget. .
    Once the impedance derate has bottomed out, the speed budget is exhausted and the controller
    switches from regularization to explicit damping.
  • Third floor — damped-inverse honesty floor. . The
    damped-inverse gain peaks at when ; below
    this, damping actively drives the dying direction toward zero, so the honest action is to freeze
    (hold-last). This reproduces the code’s .

The four-layer conditioning stack (ours). Built on :

  1. Tikhonov regularization — recover the generalized velocity from the
    regularized normal equations with a constant isotropic floor : \dot{\boldsymbol{q}}=\big(\boldsymbol{\Gamma}^\top\boldsymbol{\Gamma}+\lambda_\Gamma\boldsymbol{I}\big)^{-1}\boldsymbol{\Gamma}^\top\boldsymbol{y}, \qquad \lambda_\Gamma=\max\!\big(\beta^2,\ \sigma_{\mathrm{crit},1}^2-\sigma_G^2\big). \tag{current_sota eq 6.3} The damping is squared because it is added to ,
    whose eigenvalues are the squared singular values; it switches on once
    .
  2. Impedance derate — an emergent slowdown via the gain ramp
    : \gamma(\sigma_G)= \begin{cases} \sigma_{\mathrm{crit},1} & \sigma_G\le\sigma_{\mathrm{crit},2},\\[2pt] 1 & \sigma_G\ge\sigma_{\mathrm{crit},1},\\[2pt] \sigma_{\mathrm{crit},1}+(1-\sigma_{\mathrm{crit},1})\dfrac{\sigma_G-\sigma_{\mathrm{crit},2}}{\sigma_{\mathrm{crit},1}-\sigma_{\mathrm{crit},2}} & \text{otherwise,} \end{cases} \tag{current_sota eq 6.4} applied to the arm gains
    and the base wrench . Crucially
    scales the gains, not the command: softening relocates the
    cruise-lag equilibrium to a larger lag (the arm goes slack rather than driving into the singular
    direction), which holds . A literal speed derate ()
    is a different operation that cannot beat the amplification bound and collapses the error floor.
  3. Damped inverse (three-tier) — with the SVD
    : (\boldsymbol{J}^\oplus)^+= \begin{cases} \boldsymbol{V}\operatorname{diag}(1/s_i)\boldsymbol{U}^\top, & \sigma_G\ge\sigma_{\mathrm{crit},2}\ \text{(undamped)},\\[4pt] \boldsymbol{V}\operatorname{diag}\!\Big(\dfrac{s_i}{s_i^2+\lambda_J^2}\Big)\boldsymbol{U}^\top, & \sigma_{\mathrm{crit},3}\le\sigma_G<\sigma_{\mathrm{crit},2}\ \text{(damped)},\\[6pt] (\boldsymbol{J}^\oplus)^+_{\mathrm{last}}, & \sigma_G<\sigma_{\mathrm{crit},3}\ \text{(hold-last)}. \end{cases} \tag{current_sota eq 6.5}
  4. Hold-last (freeze) — below the and
    inverses are frozen at their last well-conditioned value. (The 7-DOF
    extension additionally freezes the redundant self-motion / null-space direction below
    , where it swings violently.)

All four layers diverge through the shared factor — the
analytic root of the conditioning.

Assumptions

  • The circumcentroidal map and its lower-right block
    go singular together (see
    circumcentroidal_decoupling); is a faithful proxy
    for end-effector-about-CoM conditioning (Spearman with
    ).
  • Free-flying regime (fully-actuated 6-DOF base). The amplification bound and cascade are about
    conditioning of the kinematic reconstruction, not about momentum conservation — they do not
    assume the free-floating GJM machinery.
  • Numerical values are configuration-specific: ,
    (UR3 wrist rate), , giving
    .
  • The nonredundant () case is assumed for the three-tier inverse; the redundant () case
    layers an additional null-space freeze.

Proof sketch

The four-layer threshold sizing is derived in
threshold_derivation.md; the determinant root of the
elbow singularity in singularity_geometry.md; and the
impedance-vs-speed-derate A/B in
derate_impedance_vs_speed.md. Aligning
threshold_derivation’s detailed -floor audit () with the
cascade below is a Phase-D reconciliation check.

  1. SVD ; invert to get
    . The dominant
    term gives the operator-norm bound
    (eq 6.1).
  2. Invert the bound at the velocity limit to read off the first floor
    (eq 6.2); square it for the second floor; identify
    the damped-gain peak as the third floor.
  3. Show each layer’s switch-on condition aligns with a floor: Tikhonov damping
    activates at
    ; the derate ramp saturates between
    and ; the three-tier inverse switches
    undamped→damped at and damped→freeze at .
  4. Argue (impedance vs. speed derate) that scaling gains relocates the cruise-lag equilibrium
    (eq 4.14, circumcentroidal_decoupling) rather than throttling
    the command, hence holds instead of collapsing the error floor. (A/B comparison
    to be lifted from the private derate report into generated/math/.)

The chiaverini1997singularity SVD/variable-damping machinery (the DLS inverse

and the singular-region variable damping )
is the fixed-base ancestor of layers 1 and 3; the cascade design — the three coupled thresholds and
the impedance-vs-speed derate distinction — is ours.

Source / provenance

  • Literature: chiaverini1997singularity — the
    damped-least-squares inverse, numerical filtering, and variable damping in a singular region
    (fixed-base, redundant manipulator; neither free-flying nor free-floating). Source of the
    damped-gain form reused in layers 1 and 3.
  • Ours: the threshold cascade (),
    the single- scheduling across all four layers, the impedance-derate-vs-speed-derate
    distinction, and the application to the circumcentroidal coordinate transform .
  • Private master: my_writing/equations/current_sota.md §6.1–6.4 (eqs 6.1–6.5), derived from
    final.tex §7.

Caveats

  • and are tuned to the UR3
    arm and the cruise; they must be re-derived for any other arm/speed.
  • The Spearman link between and
    is empirical, not proven; an analytic bound is open.
  • A literal speed derate collapses the tracking-error floor (~) where the impedance
    derate holds it; conflating the two is a known failure mode — keep them distinct.
  • The hat/breve distinction is load-bearing for the underlying
    blocks; see circumcentroidal_decoupling. This page lives on the
    reduced/circumcentroidal side (, the subsystem).
  • Subsystem attribution ([base, ee]). All four layers — Tikhonov
    regularization included — act on the coupled circumcentroidal block, not on the
    decoupled CoM loop. So “Tikhonov damps the CoM” is a category error: whether near-singular
    spikes in the CoM channel share this block’s forward-Euler mechanism is an
    open question — see subsystem_decomposition,
    error_floor.md §4, evidence in
    evidence_map.
  • The 7-DOF redundant self-motion freeze () is a separate mechanism, not part of the
    three-floor cascade above.

Implementation (sims wiki)

External — into the code wiki via the sims_wiki/ symlink (resolves in Obsidian, not GitHub).

  • breve_controller — the four-layer regularization / derate / damped-inverse / hold-last stack scheduled on .