Reference card · Lesson 7
Planes and degeneracy
One skill, used twice: reading the smallest eigenvalue of a 3×3 matrix.
This tests pure translation with rotation fixed. Passing it does not certify full pose observability. The threshold rejects scans only in the loose path.
Key equations
Warm-up, from memory
$$ \mathbf{J} = \begin{bmatrix}\mathbf{n}^{\top} & (\mathbf{q}\times\mathbf{n})^{\top}\end{bmatrix}, \qquad \mathbf{H} \leftarrow \mathbf{H} + w\,\mathbf{J}^{\top}\mathbf{J} $$
From points to a plane
$$ \mathbf{c} = \frac{1}{n}\sum_{k}\mathbf{p}_k, \qquad \mathbf{C} = \frac{1}{n}\sum_{k}(\mathbf{p}_k - \mathbf{c})(\mathbf{p}_k - \mathbf{c})^{\top} $$
The second eigen-test: degeneracy
$$ \mathbf{H}_t = \sum_i w_i\,\mathbf{n}_i\mathbf{n}_i^{\top} $$
Practice
$$ \begin{aligned}
\mathbf{c} &= \tfrac{1}{n}\textstyle\sum_k \mathbf{p}_k, \qquad \mathbf{C} = \tfrac{1}{n}\textstyle\sum_k (\mathbf{p}_k - \mathbf{c})(\mathbf{p}_k - \mathbf{c})^{\top}\\
\mathbf{n} &= \text{eigenvector of } \lambda_0, \qquad \text{accept plane if }\lambda_0\le\rho\,\lambda_1\\
\mathbf{H}_t &= \textstyle\sum_i w_i\,\mathbf{n}_i\mathbf{n}_i^{\top}, \qquad \text{loose translation gate rejects if } \lambda_{\min}(\mathbf{H}_t)/\mathrm{tr}(\mathbf{H}_t) < \tau
\end{aligned} $$
Explain the idea
Explain the idea
A plane fit uses the smallest-eigenvalue eigenvector of a point covariance as its
normal, provided the point spread is sufficiently planar. For a whole scan, the
smallest eigenvalue of the translation information identifies a weak motion direction.
A small residual can coexist with that weakness, and a translation test alone does not
certify the full pose. An estimator may reject the scan, use independent motion
information, or solve only well-constrained directions.