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.
All standard SLAM variations share a unified functional decomposition:
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.
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}\]Landmark Recogniser (Data Association): Extracts discrete geometric point/line features from sensors and computes predicted observations $\hat{\mathbf{z}}i = h(\bar{\mathbf{x}}{r, t}, \mathbf{m}_{i})$. Calculates innovation:
\[\mathbf{y}_i = \mathbf{z}_i - \hat{\mathbf{z}}_i\]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.
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})\]Dead Reckoner (Proposal Distribution): Each particle $k \in {1, \dots, K}$ samples a new robot pose independently from the probabilistic motion model:
\[x_t^{(k)} \sim P(x_t \mid x_{t-1}^{(k)}, u_t)\]Modern industry-standard SLAM framing (e.g., ORB-SLAM, Cartographer, GTSAM). Replaces recursive filtering with non-linear global optimization over a graph network.
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.
g2o or GTSAM to adjust the full pose sequence simultaneously.Used extensively in indoor ground robotics where spatial boundaries (walls, obstacles) cannot be easily parameterized by discrete geometric primitives (points/lines).
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.
| 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})$ |
When presenting the generated synthesis diagram in class, note the following rendering corrections for student clarity:
"Core core replicatom particles:"WHEEL ENCODER (or suimetry)Incremental Pose Contstraints