This repository consolidates key concepts, lessons, and project summaries from a multi-module program covering Lidar, Radar, Computer Vision, Kalman Filters, and Sensor Fusion.
Each section provides foundational theory paired with practical implementations in C++, Python, and MATLAB.
- Learn the basics of lidar technology and point cloud data.
- Use a simulated highway environment to generate and visualize point clouds.
- Apply RANSAC plane fitting to segment road points from obstacles.
- Use KD-Trees and Euclidean clustering for fast obstacle grouping.
- Run your full pipeline on real-world point cloud data.
- Build a complete detection pipeline: segmentation → clustering → bounding boxes.
- Overview of radar systems and their applications.
- FMCW radar fundamentals
- Hardware & schematics
- Radar equation and signal power relationships
- Estimate range and velocity using FFT and Doppler processing.
- Learn clutter formation and removal using CFAR
- Estimate Angle of Arrival (AoA)
- Perform clustering on radar detections
- Levels of autonomy
- Typical sensor suites
- Camera fundamentals
- Intro to OpenCV
- Compute Time-to-Collision (TTC) using lidar and camera.
- Learn image gradients, filtering, corner detection, feature tracking.
- Build a complete 2D feature-tracking pipeline in OpenCV.
- Fuse 2D image data with 3D lidar points for improved robustness.
- Build a multi-sensor fusion tracker to estimate TTC and motion in 3D.
- Learn from Sebastian Thrun
- Understand prediction & update cycles
- Implement a Kalman Filter in Python
- Implement a high-performance Extended Kalman Filter (EKF) in C++
- Fuse radar and lidar measurements for real-time tracking
- Overcome EKF limitations with nonlinear motion
- Use sigma points & the Unscented Transform
- Apply UKF to lidar/radar fusion
- Build a complete UKF tracking pipeline for multiple vehicles on a highway.
Includes MATLAB tools for:
- FMCW radar generation
- Range/Doppler detection
- Frequency estimation
- Maximum range computation
- Select training + guard cells
- Convert training cells from dB → linear
- Exclude guard cells & CUT
- Compute average noise, convert back to dB, add offset
- Compare CUT to threshold
- Mark detections
- C++17, Python, MATLAB
- Point Cloud Library (PCL)
- OpenCV
- Udacity Lidar & Radar simulators
- FMCW Radar models
- Kalman Filters (KF, EKF, UKF)
- KD-Tree data structures
Note: This project uses the official Udacity Fixed-Wing Simulator and includes partial control code intended for educational and practice purposes.