changh95/slam_lecture_codes

Code exercises for the SLAM courses

C++

415

358 commits

updated Aug 6, 2026

See the code

README

fastcampus_slam_codes

This repository contains code exercises for the following lecture series provided by @changh95 at FastCampus:

Actively reworking the repository now. Stay tuned, because A LOT OF NEW TUTORIALS are on the way!

Zero-to-Hero SLAM lectures for Physical AI and 3D Computer Vision

The course can be found here.

The course content is essentially a superset of 'Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving', but with a more general focus within robotics, drones, AR/VR, autonomous driving.

Table of Contents

  • Chapter 1: Introduction to SLAM
  • Chapter 2: Dive into SLAM (Front-end)
  • Chapter 3: Dive into SLAM (Back-end)
    • 3.1 Part 3 introduction
    • 3.2 Factor graph
    • 3.3 Nonlinear least squares
    • 3.4 Nonlinear optimization
    • 3.5 Optimization on manifolds
    • 3.6 Graph-based SLAM
    • 3.7 Schur complement
    • 3.8 Auto-diff
    • 3.9 Continuous-time optimization
    • 3.10 Sparsity in SLAM
    • 3.11 Bundle adjustment
    • 3.12 Nonlinear solvers
    • 3.13 g2o hands-on
    • 3.14 GTSAM hands-on
    • 3.15 Ceres-solver hands-on
    • 3.16 SymForce hands-on
    • 3.17 SLAM systems
    • 3.18 Various map representations
    • 3.19 VSLAM system architecture
    • 3.20 LiDAR SLAM system architecture
    • 3.21 RADAR SLAM system architecture
    • 3.22 Event SLAM system architecture
    • 3.23 Inertial odometry basics
    • 3.24 Leg odometry basics
    • 3.25 Sensor fusion
  • Chapter 4: Classical SLAM
    • 4.1 Part 4 introduction
    • 4.2 Feature-based VSLAM
    • 4.3 Direct VSLAM
    • 4.4 Visual-inertial odometry
    • 4.5 2D LiDAR SLAM
    • 4.6 3D LiDAR SLAM
    • 4.7 Sensor fusion SLAM
    • 4.8 ORB-SLAM 2
    • 4.9 Basalt-VIO
    • 4.10 Cartographer
    • 4.11 KISS-SLAM
    • 4.12 GLIM
    • 4.13 FAST-LIO2
    • 4.14 FAST-LIVO2
  • Chapter 5: Advanced SLAM - AI Integration and Hardware Optimization
    • 5.1 Part 5 introduction
    • 5.2 SLAM + Object detection + Segmentation
    • 5.3 SLAM + Depth estimation
    • 5.4 SLAM + Camera pose regression
    • 5.5 SLAM + Deep feature matching
    • 5.6 SLAM + Deep optical flow / scene flow
    • 5.7 SLAM + Differentiable bundle adjustment
    • 5.8 SLAM + Feed-forward 3D transformer
    • 5.9 SLAM + NeRF / Implicit neural field
    • 5.10 SLAM + Gaussian Splatting
    • 5.11 SLAM + Video generation
    • 5.12 SLAM + VLM/VLA
    • 5.13 SLAM + 3D Scene graph
    • 5.14 SLAM + Certifiably optimal algorithm
    • 5.15 SLAM + Auto-encoder / diffusion
    • 5.16 SLAM + Graph processor
    • 5.17 DSP-SLAM
    • 5.18 Kimera
    • 5.19 ConceptFusion
    • 5.20 Gaussian Splatting SLAM
    • 5.21 MASt3r-SLAM
    • 5.22 PIN-SLAM
    • 5.23 Suma++
    • 5.24 Differences between desktop, server, and embedded boards
    • 5.25 Characteristics of real-time SLAM
    • 5.26 Characteristics of auto-labeling / data-crunching SLAM
    • 5.27 C++ build configuration optimization
    • 5.28 SIMD acceleration and CPU optimization techniques
    • 5.29 SIMD acceleration hands-on
    • 5.30 Introduction to NVIDIA Jetson
    • 5.31 CUDA acceleration hands-on
  • Final projects
    • Project 1: SLAM for autonomous driving
    • Project 2: SLAM for drones
    • Project 3: SLAM for mobile scanner systems
    • Project 4: SLAM for quadruped robots
    • Project 5: SLAM for humanoid robots
    • Project 6: SLAM for VR/AR headsets

Libraries in Base Docker Image

LibraryDescription
OpenCV 4.12 (with contrib)Computer vision, feature detection (ORB, SIFT, TEBLID), ArUco markers
Eigen 5.0Linear algebra, matrix operations
SophusLie groups (SO3, SE3) for robotics
Ceres SolverNonlinear least squares optimization
g2oGraph-based optimization for SLAM
GTSAMFactor graph optimization
PoseLibMinimal pose solvers (P3P, 5-point, homography)
OpenGVGeometric vision algorithms (relative/absolute pose, triangulation)
PCLPoint cloud processing
Pangolin3D visualization
easy_profilerCPU profiling with GUI
SymForceSymbolic computation for robotics
RerunModern 3D visualization for robotics

Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving

The course can be found here.

This course contains the following contents:

ai
cpp
python
slam

Contributors

changh95

357 commits

eogml88

1 commits

changh95/slam_lecture_codes

Code exercises for the SLAM courses

C++

415

358 commits

updated Aug 6, 2026

See the code

README

fastcampus_slam_codes

This repository contains code exercises for the following lecture series provided by @changh95 at FastCampus:

Actively reworking the repository now. Stay tuned, because A LOT OF NEW TUTORIALS are on the way!

Zero-to-Hero SLAM lectures for Physical AI and 3D Computer Vision

The course can be found here.

The course content is essentially a superset of 'Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving', but with a more general focus within robotics, drones, AR/VR, autonomous driving.

Table of Contents

  • Chapter 1: Introduction to SLAM
  • Chapter 2: Dive into SLAM (Front-end)
  • Chapter 3: Dive into SLAM (Back-end)
    • 3.1 Part 3 introduction
    • 3.2 Factor graph
    • 3.3 Nonlinear least squares
    • 3.4 Nonlinear optimization
    • 3.5 Optimization on manifolds
    • 3.6 Graph-based SLAM
    • 3.7 Schur complement
    • 3.8 Auto-diff
    • 3.9 Continuous-time optimization
    • 3.10 Sparsity in SLAM
    • 3.11 Bundle adjustment
    • 3.12 Nonlinear solvers
    • 3.13 g2o hands-on
    • 3.14 GTSAM hands-on
    • 3.15 Ceres-solver hands-on
    • 3.16 SymForce hands-on
    • 3.17 SLAM systems
    • 3.18 Various map representations
    • 3.19 VSLAM system architecture
    • 3.20 LiDAR SLAM system architecture
    • 3.21 RADAR SLAM system architecture
    • 3.22 Event SLAM system architecture
    • 3.23 Inertial odometry basics
    • 3.24 Leg odometry basics
    • 3.25 Sensor fusion
  • Chapter 4: Classical SLAM
    • 4.1 Part 4 introduction
    • 4.2 Feature-based VSLAM
    • 4.3 Direct VSLAM
    • 4.4 Visual-inertial odometry
    • 4.5 2D LiDAR SLAM
    • 4.6 3D LiDAR SLAM
    • 4.7 Sensor fusion SLAM
    • 4.8 ORB-SLAM 2
    • 4.9 Basalt-VIO
    • 4.10 Cartographer
    • 4.11 KISS-SLAM
    • 4.12 GLIM
    • 4.13 FAST-LIO2
    • 4.14 FAST-LIVO2
  • Chapter 5: Advanced SLAM - AI Integration and Hardware Optimization
    • 5.1 Part 5 introduction
    • 5.2 SLAM + Object detection + Segmentation
    • 5.3 SLAM + Depth estimation
    • 5.4 SLAM + Camera pose regression
    • 5.5 SLAM + Deep feature matching
    • 5.6 SLAM + Deep optical flow / scene flow
    • 5.7 SLAM + Differentiable bundle adjustment
    • 5.8 SLAM + Feed-forward 3D transformer
    • 5.9 SLAM + NeRF / Implicit neural field
    • 5.10 SLAM + Gaussian Splatting
    • 5.11 SLAM + Video generation
    • 5.12 SLAM + VLM/VLA
    • 5.13 SLAM + 3D Scene graph
    • 5.14 SLAM + Certifiably optimal algorithm
    • 5.15 SLAM + Auto-encoder / diffusion
    • 5.16 SLAM + Graph processor
    • 5.17 DSP-SLAM
    • 5.18 Kimera
    • 5.19 ConceptFusion
    • 5.20 Gaussian Splatting SLAM
    • 5.21 MASt3r-SLAM
    • 5.22 PIN-SLAM
    • 5.23 Suma++
    • 5.24 Differences between desktop, server, and embedded boards
    • 5.25 Characteristics of real-time SLAM
    • 5.26 Characteristics of auto-labeling / data-crunching SLAM
    • 5.27 C++ build configuration optimization
    • 5.28 SIMD acceleration and CPU optimization techniques
    • 5.29 SIMD acceleration hands-on
    • 5.30 Introduction to NVIDIA Jetson
    • 5.31 CUDA acceleration hands-on
  • Final projects
    • Project 1: SLAM for autonomous driving
    • Project 2: SLAM for drones
    • Project 3: SLAM for mobile scanner systems
    • Project 4: SLAM for quadruped robots
    • Project 5: SLAM for humanoid robots
    • Project 6: SLAM for VR/AR headsets

Libraries in Base Docker Image

LibraryDescription
OpenCV 4.12 (with contrib)Computer vision, feature detection (ORB, SIFT, TEBLID), ArUco markers
Eigen 5.0Linear algebra, matrix operations
SophusLie groups (SO3, SE3) for robotics
Ceres SolverNonlinear least squares optimization
g2oGraph-based optimization for SLAM
GTSAMFactor graph optimization
PoseLibMinimal pose solvers (P3P, 5-point, homography)
OpenGVGeometric vision algorithms (relative/absolute pose, triangulation)
PCLPoint cloud processing
Pangolin3D visualization
easy_profilerCPU profiling with GUI
SymForceSymbolic computation for robotics
RerunModern 3D visualization for robotics

Computer Vision, LiDAR processing, and Sensor Fusion for Autonomous Driving

The course can be found here.

This course contains the following contents:

ai
cpp
python
slam

Contributors

changh95

357 commits

eogml88

1 commits

Languages

C++

68.4%

Python

21.0%

Dockerfile

3.6%

CMake

3.4%

Shell

2.9%