Skip to content

Algorithm Overview

JokerJohn edited this page Apr 21, 2026 · 2 revisions

Algorithm Overview

DCReg is organized around three core modules.

1. Spectral Degeneracy Detection

Starting from the ICP normal equation H = J^T J, DCReg forms the Schur complements for rotation and translation:

  • S_R = H_RR - H_Rt H_tt^{-1} H_tR
  • S_t = H_tt - H_tR H_RR^{-1} H_tR

This removes misleading coupling effects and exposes subspace-level observability directly.

Method overview

2. Physical-Axis Degeneracy Characterization

The raw Schur eigenvectors are aligned to physical motion axes:

  • rotation: roll / pitch / yaw
  • translation: x / y / z

This produces:

  • raw Schur eigenvalues
  • aligned eigenvalues in physical coordinates
  • degeneracy mask
  • axis contribution ratios
  • clamped eigenvalues used by the solver
Detection Characterization
Detection Characterization

3. Preconditioned Linear Solve

DCReg clamps only the weak aligned eigenvalues, builds a block-diagonal preconditioner, and solves the normal equation with PCG. This stabilizes the weak directions without over-regularizing the fully observable ones.

Source Entry Points

Clone this wiki locally