Module 1 — Autonomous Driving Fundamentals¶
Parent: Phase 5 — Autonomous Driving
Time: 3–4 months
Prerequisites: Phase 3 (Computer Vision, Sensor Fusion), Phase 1 §4 (C++/CUDA).
Why this comes first¶
Before studying openpilot's codebase or advanced research, you need the foundational vocabulary: how autonomous vehicles perceive, plan, and control. This module covers the algorithms and theory that every ADAS engineer uses daily.
1. Computer Vision for Driving¶
-
Lane detection:
- Traditional: Hough transform, sliding window, IPM (inverse perspective mapping).
- Deep learning: LaneNet, SCNN, U-Net for lane segmentation.
- Output: polylines or polynomial coefficients for lane boundaries.
-
Object detection:
- 2D: YOLO family, CenterNet, FCOS — bounding boxes for vehicles, pedestrians, cyclists.
- 3D: PointPillars, SECOND (LiDAR); FCOS3D, DETR3D (monocular camera).
- Bird's Eye View (BEV): lifting 2D camera features to BEV space for unified 3D detection.
-
Semantic segmentation:
- Drivable area, lane markings, curbs, obstacles.
- Models: DeepLab, SegFormer, lightweight edge variants.
- Panoptic segmentation: combining semantic + instance for complete scene understanding.
-
Depth estimation:
- Monocular depth (MiDaS, DepthAnything) — useful when no LiDAR is available.
- Stereo matching: classic block matching, deep stereo (AANet, RAFT-Stereo).
Projects: * Implement lane detection on a dashcam video using both Hough transform and a U-Net. Compare robustness in curves, shadows, and night. * Train a YOLO model on KITTI or nuScenes for 2D vehicle detection. Measure mAP and inference FPS on Jetson.
2. Planning and Decision Making¶
-
Behavior planning:
- High-level decisions: lane keep, lane change, merge, turn, stop.
- Finite state machines (FSM) and behavior trees.
- Rule-based vs. learning-based behavior planning.
-
Motion planning:
- Path planning: A, RRT, RRT, hybrid A* (for non-holonomic vehicles).
- Trajectory optimization: minimize jerk/acceleration while avoiding collisions.
- Frenet frame: decompose planning into longitudinal (speed) and lateral (lane offset) components.
- Lattice planners: discretize trajectory space, evaluate candidates against cost functions.
-
Prediction:
- Constant velocity / constant turn-rate models (baseline).
- Learning-based: TNT, LaneGCN, MTR — multi-modal trajectory prediction.
- Interaction-aware: graph neural networks for modeling agent-agent interactions.
- Map-conditioned: use lane geometry and traffic rules to constrain predictions.
Projects: * Implement RRT* for path planning in a 2D grid with obstacles. Extend to a bicycle model for non-holonomic constraints. * Build a simple behavior FSM: CRUISE → FOLLOW → LANE_CHANGE → STOP. Test in CARLA with traffic.
3. Control Theory for Autonomous Vehicles¶
-
Vehicle dynamics:
- Bicycle model: front/rear axle, slip angle, yaw rate.
- Tire models: linear cornering stiffness, Pacejka magic formula (overview).
- Vehicle state estimation: combine IMU + wheel odometry + GPS for localization.
-
Lateral control:
- Stanley controller: cross-track error + heading error, used in early AV and openpilot.
- Pure pursuit: geometric path following using a lookahead point.
- MPC (Model Predictive Control): optimize a sequence of steering commands over a horizon, subject to dynamics constraints.
-
Longitudinal control:
- PID for speed tracking (adaptive cruise control).
- MPC for combined speed + following distance.
- Jerk-limited profiles for passenger comfort.
-
Combined lateral + longitudinal:
- LQR (Linear Quadratic Regulator) for path tracking with speed control.
- Cascaded MPC: separate lateral/longitudinal MPC with coordination.
Projects: * Implement a Stanley controller for lane following in CARLA. Tune gains for different speeds. * Implement PID-based ACC (Adaptive Cruise Control): maintain target speed, slow for lead vehicle, stop-and-go. Test in CARLA. * (Advanced) Implement a simple MPC for combined lateral + longitudinal control. Compare smoothness and tracking error vs Stanley + PID.
Resources¶
| Resource | Why |
|---|---|
| CARLA Simulator | Test all algorithms in simulation before touching real hardware |
| Autonomous Driving in the Real World (Shaoshan Liu et al.) | Comprehensive AV textbook |
| Apollo Auto | Reference full-stack AV for architectural comparison |
| KITTI / nuScenes | Benchmark datasets |
| Phase 3 — Computer Vision, Sensor Fusion | Prerequisite modules in this roadmap |
Next¶
→ Module 2 — openpilot Reference Stack — Study a real, production-deployed ADAS end-to-end.