teaching_robots_navigation

SLAM Algorithm Variations: Technical Verification & Architectural Mapping

This document provides a detailed breakdown of how major SLAM paradigms (EKF-SLAM, FastSLAM, Graph-SLAM, and Grid-based SLAM) map onto the core navigation architecture centered around the Landmark Recogniser, Dead Reckoner, and Map Builder.


1. Architectural Foundation

All standard SLAM variations share a unified functional decomposition:


2. Technical Analysis of the 4 Variations

Variation 1: Feature-Based SLAM (Extended Kalman Filter - EKF SLAM)

Overview

EKF-SLAM represents the classic parametric approach where the environment is modeled as a set of sparse geometric landmarks, and uncertainty is modeled strictly as a Gaussian distribution.

Mathematical Formulation

The state vector $\mathbf{x}_t$ concatenates the 2D/3D robot pose $\mathbf{x}_r$ with the positions of $N$ static landmarks $\mathbf{m}_1, \dots, \mathbf{m}_N$:

\[\mathbf{x}_t = \begin{bmatrix} \mathbf{x}_r \\ \mathbf{m}_1 \\ \vdots \\ \mathbf{m}_N \end{bmatrix}_{((3+2N) \times 1)}, \quad \mathbf{\Sigma}_t = \begin{bmatrix} \mathbf{\Sigma}_{rr} & \mathbf{\Sigma}_{rm} \\ \mathbf{\Sigma}_{mr} & \mathbf{\Sigma}_{mm} \end{bmatrix}\]

Mapping to Architecture Modules

Teaching Key takeaway


Variation 2: Particle Filter SLAM (FastSLAM / RBPF)

Overview

FastSLAM uses Rao-Blackwellized Particle Filtering (RBPF) to solve the multi-modal distribution problem and scale beyond the $O(N^2)$ limitation of EKF-SLAM.

Mathematical Factorization

Exploits conditional independence: given the true robot trajectory $x_{1:t}$, landmark locations $m_1, \dots, m_N$ are conditionally independent of one another:

\[P(x_{1:t}, M \mid z_{1:t}, u_{1:t}) = P(x_{1:t} \mid z_{1:t}, u_{1:t}) \prod_{i=1}^{N} P(m_i \mid x_{1:t}, z_{1:t})\]

Mapping to Architecture Modules

Teaching Key Takeaway


Variation 3: Graph-Based SLAM (Pose Graph / Factor Graph)

Overview

Modern industry-standard SLAM framing (e.g., ORB-SLAM, Cartographer, GTSAM). Replaces recursive filtering with non-linear global optimization over a graph network.

Mathematical Formulation

Constructs a graph $\mathcal{G} = (\mathcal{V}, \mathcal{E})$ where vertices $\mathcal{V}$ are robot poses $x_i$ and edges $\mathcal{E}$ are spatial constraints $z_{ij}$. Solves the non-linear least-squares problem:

\[\mathbf{x}^* = \arg\min_{\mathbf{x}} \sum_{(i,j) \in \mathcal{E}} \mathbf{e}_{ij}(\mathbf{x}_i, \mathbf{x}_j)^T \mathbf{\Omega}_{ij} \mathbf{e}_{ij}(\mathbf{x}_i, \mathbf{x}_j)\]

where $\mathbf{e}{ij}$ is the error residual between predicted and measured relative transforms, and $\mathbf{\Omega}{ij}$ is the information matrix.

Mapping to Architecture Modules

Teaching Key Takeaway


Variation 4: Grid-Based SLAM (GMapping / Occupancy Grid SLAM)

Overview

Used extensively in indoor ground robotics where spatial boundaries (walls, obstacles) cannot be easily parameterized by discrete geometric primitives (points/lines).

Mathematical Formulation

Discretizes space into a grid of cells $m_i \in {0, 1}$ (free/occupied). Updates each cell independently using log-odds representation $l_t(m_i)$:

\[l_t(m_i) = l_{t-1}(m_i) + \text{inv\_sensor\_model}(z_t, x_t) - l_0\]

where $l_0 = \log \frac{P(m_i=1)}{P(m_i=0)}$ is the prior.

Mapping to Architecture Modules


3. Comparative Matrix

Paradigm Landmark Recogniser Role Dead Reckoner Role Map Builder Backend Complexity        
EKF-SLAM Geometric feature extractor (corners/lines) Kinematic state prediction Single joint covariance update ($\mathbf{\Sigma}_t$) $\mathcal{O}(N^2)$        
FastSLAM Feature matcher for likelihood evaluation Particle motion sampling $K$ independent sets of landmark EKFs $\mathcal{O}(K \log N)$        
Graph-SLAM Scan matching & Loop closure detector Odometry constraint generator ($\mathbf{z}_{i, j}$) Sparse Non-linear Least-Squares ($\mathbf{g2o}/\mathbf{GTSAM}$) $\mathcal{O}( \mathcal{V} + \mathcal{E} )$
Grid-SLAM Dense scan-to-map alignment (ICP) Odometry prior calculation Raycasting & Log-odds grid updates $\mathcal{O}(\text{Grid Cells})$        

4. Graphic Errata & Presentation Notes

When presenting the generated synthesis diagram in class, note the following rendering corrections for student clarity:

  1. Variation 2 Box (Top Right):
    • Graphic text: "Core core replicatom particles:"
    • Correction: “Core modules replicated per particle”
  2. Central Architecture Box (Bottom Center):
    • Graphic text: WHEEL ENCODER (or suimetry)
    • Correction: “WHEEL ENCODER (or similar for odometry)”
  3. Variation 3 Box (Bottom Left):
    • Graphic text: Incremental Pose Contstraints
    • Correction: “Incremental Pose Constraints”