Learning track
Localization & SLAM
How a robot works out where it is while it builds a map of where it has been. Theory lessons for the ideas, labs where you fix real failures.
68 of 68 theory lessons and 35 of 35 labs are open. Items marked coming soon are not yet available. Start with M1-T1: What Is SLAM?.
Course resources Video lectures, syllabi, lecture notes, books, code and datasets from other universities and laboratories, each checked and with its licence.
How the track works
Every module pairs theory with practice. A lesson explains an idea with intuition, the mathematics, a worked robotics example and its limits. The lab that follows hands you a robot that fails in an observable way and you follow the loop Problem → Experiment → Diagnose → Fix → Evaluate → Understand. Labs run in your browser in Python and are graded on hidden scenarios; the simulator keeps its ground truth to itself. Module 7 is different: it uses ROS 2 on your own computer, and says so. Related research: the SLAM research area. Related tracks: Robot Foundations, Sensors.
Module 1
SLAM Foundations
What SLAM is, why it is hard, and the frames, motion and sensors every later module builds on.
Theory (6)
- M1-T1What Is SLAM?Theory
- M1-T2Localization vs Mapping vs SLAMTheory
- M1-T3Why SLAM Is DifficultTheory
- M1-T4Robot Poses and Coordinate FramesTheory
- M1-T5Odometry and Motion ModelsTheory
- M1-T6Sensors Used in SLAMTheory
Labs (3)
- M1-L1Understand Localization, Mapping, and SLAMBrowser lab
- M1-L2Diagnose Drifting OdometryBrowser lab
- M1-L3Fix Incorrect Coordinate FramesBrowser lab
Module 2
Mathematical Foundations
Rigid-body geometry, probability, Bayesian estimation and data association, the mathematics under every SLAM algorithm.
Theory (7)
- M2-T12D Rigid-Body TransformationsTheory
- M2-T23D Rotations and Rigid-Body TransformationsTheory
- M2-T3Rotation Matrices, Quaternions, and Pose RepresentationTheory
- M2-T4Probability and UncertaintyTheory
- M2-T5Bayesian EstimationTheory
- M2-T6Motion and Observation ModelsTheory
- M2-T7Data AssociationTheory
Labs (4)
- M2-L1Transform Points Between Coordinate FramesBrowser lab
- M2-L2Diagnose a Pose-Transformation ErrorBrowser lab
- M2-L3Understand Pose UncertaintyBrowser lab
- M2-L4Match Observations to LandmarksBrowser lab
Module 3
Mapping and State Estimation
Maps, scan matching and the classical filters: occupancy grids, ICP, EKF-SLAM and particle filters.
Theory (8)
- M3-T1Occupancy Grid MappingTheory
- M3-T2Landmark-Based MappingTheory
- M3-T3Feature-Based MappingTheory
- M3-T4Scan MatchingTheory
- M3-T5ICP FundamentalsTheory
- M3-T6Filtering-Based SLAMTheory
- M3-T7EKF-SLAMTheory
- M3-T8Particle Filters and FastSLAMTheory
Labs (5)
- M3-L1Build a 2D Occupancy GridBrowser lab
- M3-L2Fix a Misaligned MapBrowser lab
- M3-L3Diagnose Scan-Matching FailureBrowser lab
- M3-L4Explore Particle-Filter LocalizationBrowser lab
- M3-L5Implement a Simplified EKF-SLAMBrowser lab
Module 4
Graph-Based SLAM
The modern formulation: pose graphs, least squares, loop closure, robust costs and bundle adjustment.
Theory (8)
- M4-T1Front-End and Back-End SLAMTheory
- M4-T2Pose GraphsTheory
- M4-T3Nonlinear Least SquaresTheory
- M4-T4Graph OptimizationTheory
- M4-T5Loop ClosureTheory
- M4-T6Robust Optimization and Outlier HandlingTheory
- M4-T7Bundle AdjustmentTheory
- M4-T8Factor Graphs and Incremental SmoothingTheory
Labs (4)
- M4-L1Visualize a Pose GraphBrowser lab
- M4-L2Correct Accumulated Trajectory DriftBrowser lab
- M4-L3Diagnose a Broken Loop ClosureBrowser lab
- M4-L4Compare Trajectories Before and After OptimizationBrowser lab
Module 5
LiDAR SLAM
From point clouds to registration, the LOAM family, LiDAR-inertial systems, maps and loop closure.
Theory (11)
- M5-T1LiDAR Point Clouds for SLAMTheory
- M5-T2Point-Cloud PreprocessingTheory
- M5-T3Feature ExtractionTheory
- M5-T4Scan RegistrationTheory
- M5-T5LOAM ArchitectureTheory
- M5-T6A-LOAMTheory
- M5-T7LeGO-LOAMTheory
- M5-T8LIO-SAMTheory
- M5-T9FAST-LIO and FAST-LIO2Theory
- M5-T10Map Construction and Loop ClosureTheory
- M5-T11Dense Map RepresentationsTheory
Labs (5)
- M5-L1Fix Point-Cloud PreprocessingBrowser lab
- M5-L2Diagnose Poor Scan RegistrationBrowser lab
- M5-L3Understand the LOAM PipelineBrowser lab
- M5-L4Diagnose LiDAR SLAM DriftBrowser lab
- M5-L5Investigate a Failed LiDAR Mapping RunBrowser lab
Module 6
Visual and Visual-Inertial SLAM
Cameras, features, visual odometry, ORB-SLAM, visual-inertial fusion and calibration.
Theory (9)
- M6-T1Camera Models and Image FeaturesTheory
- M6-T2Feature Detection and TrackingTheory
- M6-T3Visual OdometryTheory
- M6-T4Monocular, Stereo, and RGB-D SLAMTheory
- M6-T5ORB-SLAM ArchitectureTheory
- M6-T6Visual-Inertial OdometryTheory
- M6-T7Visual-Inertial SLAMTheory
- M6-T8Sensor Calibration and SynchronizationTheory
- M6-T9Failure Modes in Visual SLAMTheory
Labs (4)
- M6-L1Diagnose Feature-Tracking FailureBrowser lab
- M6-L2Understand Visual Odometry DriftBrowser lab
- M6-L3Investigate ORB-SLAM Failure ModesBrowser lab
- M6-L4Diagnose Camera–IMU Synchronization ErrorsBrowser lab
Module 7
SLAM with ROS 2
Running SLAM on a real stack: TF, message timing, SLAM Toolbox, map reuse, Nav2 and performance.
Theory (8)
- M7-T1SLAM System Architecture in ROS 2Theory
- M7-T2TF Frames and Coordinate ConsistencyTheory
- M7-T3Sensor Topics and Message TimingTheory
- M7-T4SLAM Toolbox and Mapping WorkflowsTheory
- M7-T5Mapping vs Localization ModeTheory
- M7-T6Map Saving and ReuseTheory
- M7-T7SLAM and Nav2 IntegrationTheory
- M7-T8Real-Time Performance and Resource ConstraintsTheory
Labs (5)
- M7-L1Debug a ROS 2 SLAM PipelineROS 2 project
- M7-L2Fix a TF Configuration ErrorROS 2 project
- M7-L3Diagnose Sensor Timestamp ProblemsROS 2 project
- M7-L4Configure Mapping and LocalizationROS 2 project
- M7-L5Debug SLAM-to-Nav2 IntegrationROS 2 project
Module 8
Advanced SLAM and Research
Dynamic scenes, semantics, multi-robot, degraded environments, learning, evaluation and open problems.
Theory (9)
- M8-T1Dynamic EnvironmentsTheory
- M8-T2Semantic SLAMTheory
- M8-T3Multi-Session and Multi-Robot SLAMTheory
- M8-T4SLAM in Feature-Poor EnvironmentsTheory
- M8-T5GPS-Denied LocalizationTheory
- M8-T6Learning-Based SLAMTheory
- M8-T7Neural and Implicit MappingTheory
- M8-T8SLAM Evaluation and BenchmarkingTheory
- M8-T9Current Research DirectionsTheory
Labs (4)
- M8-L1Handle Dynamic Objects in MappingBrowser lab
- M8-L2Compare SLAM Trajectories Using Evaluation MetricsBrowser lab
- M8-L3Diagnose Localization in a Feature-Poor EnvironmentBrowser lab
- M8-L4Evaluate a SLAM System Under Controlled FailuresBrowser lab
Module 9
Capstone
Put every piece together: an end-to-end pipeline, its evaluation, failure diagnosis and an engineering report.
Theory (2)
- M9-T1End-to-End SLAM System ArchitectureTheory
- M9-T2Engineering Tradeoffs and System EvaluationTheory
Labs (1)
- M9-L1Build and Debug an End-to-End SLAM PipelineBrowser lab
Get notified when the next module is released.
One email per new module.