Damped Least Squares

Definition

Damped least squares (DLS), a.k.a. the Levenberg–Marquardt or singularity-robust inverse, replaces the exact Jacobian inverse with the solution of a Tikhonov-regularized least-squares problem, trading exact task-velocity reconstruction for bounded joint velocities near a singularity. For a map with SVD singular values , the damped inverse weights each direction by instead of , so the gain stays finite (peaking at ) as . In this project DLS appears twice in the singularity stack: as Tikhonov regularization of the coordinate transform (damping , notation.md) and as the damped circumcentroidal-Jacobian inverse (damping ), with the damping switched on variably (Chiaverini) only inside a singular region.

Key Equations

Tikhonov regularization of (Layer 1). The generalized velocity is recovered from the regularized normal equations, with a constant isotropic floor and variable damping that switches on once :

\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 here is squared: it is added to , whose eigenvalues are the squared singular values, so acts in -units against .

Damped circumcentroidal-Jacobian inverse (Layer 3, middle tier). With the SVD , the damped pseudoinverse used in the singular band is

(\boldsymbol{J}^\oplus)^+=\boldsymbol{V}\operatorname{diag}\!\Big(\frac{s_i}{s_i^2+\lambda_J^2}\Big)\boldsymbol{U}^\top. \tag{current_sota eq 6.5}

Each per-direction gain peaks at exactly when — this peak fixes the third threshold in the singularity threshold cascade, below which damping would actively drive the dying direction toward zero and freezing (hold-last) is the honest move.

Fixed-base ancestor (Chiaverini). Both project forms specialize Chiaverini’s singularity-robust inverse and its variable damping, for a fixed-base end-effector Jacobian with minimum singular value and activation threshold :

Confining to the region keeps the inverse as accurate as the pseudoinverse away from singularities while staying continuous and well-conditioned through the transition; multiple simultaneous singularities add an isotropic floor (Chiaverini eq 20) — the same role plays in eq 6.3 above.

Regime

Chiaverini (fixed-base, redundant arm) and Ott (fixed-base rigid manipulator) are neither free-flying nor free-floating. The transferable content is the SVD/variable-damping machinery; this project applies it to the free-flying circumcentroidal transform and its block .

Source Support

  • chiaverini1997singularity — origin of the DLS inverse , the damped-gain form, variable damping in a singular region, and the isotropic floor . Fixed-base, redundant; neither flying nor floating.
  • ott2008cartesian — operational-space inertia and the manipulability-potential singularity treatment; the damped/regularized inverse is the kinematic counterpart of its impedance-distortion-near-singularity analysis. Fixed-base rigid manipulator.
  • holt1992inertial — (carried from the original stub) inertial-frame singularity-robust inverse usage.
  • Code provenance (ours). The project implements this as gamma_regularization (g_reg) — the source never says “Tikhonov”; the shape is what identifies it (a structural, not lexical, join — ast-grep matches it, grep tikhonov does not). sims_gnc/breve_controller.py:484–490 is eq 6.3 verbatim: onset = g_reg.floor (the role; in the rejected mission_tikhonov_020_jun19 A/B), constant floor = g_reg.damping (). Source-verified 2026-06-23.

Open Questions

  • The activation threshold (Chiaverini) and the project floors are tuned, not derived from a tracking-accuracy bound; what is the optimal that minimizes reconstruction error for a given singularity proximity?
  • Damping the squared transform () vs. damping the Jacobian SVD directly () are reconciled only empirically via the Spearman link between and ; an analytic equivalence is open.
  • Subsystem reach ([base, ee]). This regularization damps the coupled circumcentroidal block (, ), not the decoupled CoM loop. Whether near-singular spikes in the CoM channel are this block’s forward-Euler artifact (cured in code by implicit base-damping integration) or a separate CoM-loop effect is unresolved — decide via the -independent lag-1 autocorrelation test on the logged (subsystem_decomposition, evidence_map).