LiDAR–inertial estimation course › Lesson 7 › Reference card

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.