Localization & SLAM · Theory · M8
M8-T4 — SLAM in Feature-Poor Environments
When the world offers no constraint in some direction, no algorithm can invent one. The skill is to notice, and to know what to do instead.
Corridors, tunnels, open fields, bare walls and snow are places where sensors see plenty of data and very little information. A lidar in a long straight corridor sees wall after wall, all parallel; a camera facing a white wall sees pixels, no corners. The estimator produces an answer whose error in the unconstrained direction is arbitrary. This lesson shows how to detect such degeneracy from the information matrix, what to do about it, and what is still unsolved.
Learning objectives
After this lesson, you should be able to:
- Define geometric and visual degeneracy and give examples for lidar and camera.
- Compute the eigenvalues of a simple information matrix and identify the degenerate direction.
- Describe degeneracy-aware strategies: detection, partial updates, fusion with other sensors, and constraints.
- Distinguish the established analysis from the active research on localizability-aware registration.
The problem and the intuition
Try to find your position along an endless, featureless hallway with your eyes closed, using only your hands on the walls. You can tell how far you are from each wall and whether you are straight, but not how far along you have walked. The walls are the same everywhere along the hallway. The information about forward position is missing from the data, not hidden in noise. A good estimator should report exactly that: “sideways and heading known, forward unknown”, and a good system should fill the gap from somewhere else (wheels, an IMU, a landmark).
In the least-squares language of Module 4, the problem is well-posed in some directions and ill-posed in others. The Hessian H = JᵀΩJ (the information matrix) has large eigenvalues for the directions the data constrain and small ones for the others. A small eigenvalue means that a large change in the estimate along that eigenvector barely changes the cost.
Degeneracy is a property of the data, visible in the information matrix. Detect it with eigenvalues, report it, and constrain the estimator in that direction with something else.
Analysis, remedies and open problems
Problem. Detect, in real time, that the sensor data do not constrain some degrees of freedom of the pose, prevent the estimator from drifting arbitrarily in them, and recover constraints from other information.
Assumptions. A least-squares (or Kalman) estimator with linearisable residuals; a Jacobian J of the residuals with respect to the pose; independent sensors or priors that can constrain the missing directions.
Established: detection by eigen-analysis
For a Gauss–Newton step the normal equations are H δ = −b with H = Σ JᵢᵀΩJᵢ. Take the eigendecomposition H = V Λ Vᵀ. Eigenvalue λk measures the curvature of the cost along eigenvector vk; the standard deviation of the estimate along vk is 1/√λk. The condition number κ = λmax/λmin and the smallest eigenvalue indicate degeneracy (Zhang, Kaess and Singh, 2016). Translation and rotation have different units, so the translational and rotational blocks are analysed separately or scaled.
For point-to-plane lidar registration the translational block is Σ nᵢnᵢᵀ (the sum of outer products of the surface normals). In a corridor all normals are perpendicular to the corridor axis, so the block has rank 1 or 2 depending on the floor and ceiling and is singular along the axis.
Established: what to do
- Information-form fusion. Add priors or other sensors as additional terms to H (M8-L3). A wheel odometer that constrains forward motion adds information exactly along the weak direction; the combined H is well-conditioned.
- Partial update. Zhang et al. (2016) remap the solution: apply the update only along eigenvectors with large eigenvalues and keep the prediction in the others.
- Report it. Output the degeneracy flag and the covariance to downstream modules so that the planner or supervisor can slow down or ask for help.
- Change the sensing geometry. Visual: line features (Pumarola et al., 2017) or direct methods for textureless scenes; lidar: a sensor with a vertical field of view, or a second lidar looking forward.
Active research
- Localizability-aware registration. X-ICP (Tuna et al., 2023) classifies the localizability of each direction from the contribution of correspondences and constrains the optimisation accordingly, avoiding the arbitrary step in degenerate cases while using all the information available.
- Degeneracy-aware factors. Hinduja et al. (2019) include degeneracy information in factor-graph SLAM so that the back end knows which components of a relative-pose factor are uninformative.
- Learned detection and recovery. Methods that predict degeneracy from data or learn to switch sensors exist but have little guarantee of generalisation.
- Theory. Observability analysis for mixed lidar-inertial and visual-inertial systems (M6-T6) tells what is observable in principle; connecting it to practical thresholds is not settled.
- H
- information (Hessian) matrix of the least-squares problem.
- λk, vk
- eigenvalue and eigenvector of H: the information along that direction.
- κ
- condition number λmax / λmin.
- localizability
- how well the data constrain a direction of the pose.
Strengths, limitations, failure modes
| Technique | Strength | Limitation |
|---|---|---|
| Eigenvalue detection | Cheap; tells the direction and the size | Threshold is scene- and sensor-dependent; mixed units need scaling |
| Information-form fusion | Principled; automatic hand-off to the other sensor | Needs a calibrated, honest covariance for every source |
| Partial (remapped) update | Prevents arbitrary steps | Discards weak information that may still be useful |
| Extra sensing / constraints | Removes the cause | Cost, weight, power, calibration |
A worked example: eigenvalues of a corridor
- The matrix. A robot in a corridor sees 300 wall points with normals (0, ±1) in the robot frame, and a few noise points that give a tiny along-corridor component. The translational block of H is Σ nnᵀ ≈ [[2.1, 0], [0, 300]]. The eigenvalues are 300 (sideways) and 2.1 (along the corridor), with eigenvectors (0, 1) and (1, 0).
- Reading it. The condition number is 300 / 2.1 = 143: the along-corridor information is 143 times smaller than the sideways information. The little information there is comes from outlier points, not from real constraint, so its formal standard deviation (0.02 m / √2.1 ≈ 0.014 m for unit-weight points) is meaningless. Read the eigenvalues relatively, not absolutely, and flag the direction.
- Adding wheel odometry. The wheels give forward motion with σo = 0.05 m per step: information 1/0.05² = 400 along the corridor. The combined block is [[2.1 + 400, 0], [0, 300 + 400]] = [[402, 0], [0, 700]]. The condition number falls from 143 to 1.7. The forward direction now follows the wheels, and the sideways direction is dominated by the lidar and wheels together.
- A partial update. A scan match proposes a step of (0.35, 0.01) m. The along-corridor component (0.35 m) lies on the degenerate eigenvector (eigenvalue 2.1 below a threshold of, say, 10), so it is zeroed: the applied step is (0, 0.01) and the prior (wheel) estimate is kept for the forward direction.
- Visual analogue. A camera facing a white wall: the image gradients are all noise, so the structure tensor (M6-T1) has two tiny eigenvalues and the tracker returns nothing; a camera looking along a corridor sees converging lines (a vanishing point) that constrain heading but not distance, a close relative of the lidar case.
The third lab of this module reproduces the corridor case with a Kalman-style fusion and asks you to make the system degrade gracefully.
Engineering implications and limitations
Engineering implications
- Compute and log the eigenvalues of the registration information matrix at runtime (M5-L2). The log is the primary evidence when a mission fails in a corridor.
- Fuse by information, not by switching. A soft hand-off through covariances is more stable than if-else logic on a threshold.
- Scale before comparing. Normalise the translational and rotational blocks, or analyse them separately, before applying a threshold.
- Provide an independent constraint in the first place: wheels, IMU, UWB beacons, fiducials or a map prior at the ends of long corridors.
- Tell the planner. A localizability flag lets the robot slow down, stop at a marker, or plan routes with better observability.
- Test in the feature-poor places of your site, not just in the lab.
Limits
No algorithm recovers information that the data do not contain. Eigenvalue thresholds are heuristic and depend on the sensor and scene; scale mismatch between translation and rotation blocks makes naive thresholds wrong. The theory of observability is well developed for idealised systems, but the connection to practical, noisy, nonlinear registration and to the design of principled thresholds is still an area of research, as is the integration with learning-based components.
Common misconceptions
“More points fix degeneracy.”
Points on parallel walls all constrain the same directions; their number does not add information along the missing one.
“A small residual means the pose is right.”
In a degenerate direction the residual is flat: any position along the corridor fits equally well.
“Degeneracy is a lidar problem.”
Cameras have the analogue: textureless walls, pure rotation, planar scenes (M6-T3, M6-T9).
“Pick the smaller eigenvalue threshold and the problem is solved.”
A threshold detects the problem; it does not provide the missing constraint.
Engineering takeaways
- Degeneracy is visible in the information matrix: small eigenvalues mark directions the data do not constrain.
- The corridor example has eigenvalues 300 and 2.1; fusing wheel odometry (information 400) brings the condition number from 143 to 1.7.
- Established: eigen-analysis, information-form fusion, partial updates, reporting. Active research: localizability-aware registration (X-ICP), degeneracy-aware factors, learned detection.
- Detect, report and constrain with another source; no algorithm creates information.
- Scale or separate translation and rotation blocks before thresholding.
References and further reading
Primary papers. The text separates the established analysis from the active research.
- Zhang, J., Kaess, M. and Singh, S. (2016). On degeneracy of optimization-based state estimation problems. IEEE ICRA.
- Tuna, T. et al. (2023). X-ICP: Localizability-aware LiDAR registration for robust localization in extreme environments. IEEE Transactions on Robotics 40.
- Hinduja, A., Ho, B.-J. and Kaess, M. (2019). Degeneracy-aware factors with applications to underwater SLAM. IEEE/RSJ IROS.
- Pumarola, A., Vakhitov, A., Agudo, A., Sanfeliu, A. and Moreno-Noguer, F. (2017). PL-SLAM: Real-time monocular visual SLAM with points and lines. IEEE ICRA.
- Censi, A. (2007). An accurate closed-form estimate of ICP’s covariance. IEEE ICRA.
- Cadena, C. et al. (2016). Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age. IEEE Transactions on Robotics 32(6).
Knowledge check
Three conceptual questions. Write an answer, then reveal the explanation. Your answers stay in your browser.
Question 1
The translational block of H has eigenvalues 400 and 5 with eigenvectors (0,1) and (1,0). What does the robot know, and what should the system do?
Explanation
The sideways position (along (0,1)) is well constrained (400); the position along (1,0) is weakly constrained (5, 80 times less). The system should flag degeneracy along (1,0), keep the prior or other sensor (wheels, IMU) for that direction, and not apply the scan-match step along it.
Question 2
Adding 300 more wall points on the same parallel walls to a corridor registration changes the sideways eigenvalue a lot and the forward one hardly at all. Why?
Explanation
Each wall point’s normal is perpendicular to the corridor, so it adds only to the sideways direction of ΣnnT; it adds nothing along the axis. More points on the same geometry cannot create information in the missing direction.
Question 3
Why must translation and rotation blocks be scaled or analysed separately when thresholding eigenvalues?
Explanation
They have different units (metres versus radians), so a single threshold mixes incomparable quantities and may flag or miss degeneracy wrongly; rescaling makes the eigenvalues comparable or the blocks are analysed with their own thresholds.
What’s next
When the world gives no constraint and the global positioning system is also unavailable, a robot must navigate with what it carries. The next lesson covers localisation without GNSS.
Related content
Nothing below is required to finish this lesson.
- BeforeM8-T3: Multi-Session and Multi-Robot SLAM
Merge maps across sessions and robots with inter-robot loop closures and distributed optimisation.
- LabM8-L3: Diagnose Localization in a Feature-Poor Environment
Localization slides along a corridor: detect the degenerate direction and constrain it.
Get notified when the next lesson and new labs are released.
One email per new lesson or lab.