# afondiel/self-driving-cars-specialization architecture

> Architecture diagram of the GitHub repository afondiel/self-driving-cars-specialization, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/afondiel/self-driving-cars-specialization
- Repository: https://github.com/afondiel/self-driving-cars-specialization

## Overview

This repository is a study-resource collection for the University of Toronto Self-Driving Cars Specialization, not an autonomous-driving runtime. A learner follows four course curricula through notes and supporting resources: vehicle architecture and control, state estimation and localization, visual perception, and motion planning. The README documents the course topics and links each course to its weekly notes. The tree also contains course labs and reference materials; their detailed relationships to particular topics are not established by the excerpts, so they are shown as course resources without inferred workflow edges.

Main entry points: [`Course4-Motion-Planning-for-Self-Driving-Cars`](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course4-Motion-Planning-for-Self-Driving-Cars) (Planning Curriculum), [`Course1-Introduction-to-Self-Driving-Cars`](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course1-Introduction-to-Self-Driving-Cars) (Vehicle Foundations), [`Course2-State-Estimation-and-Localization-for-Self-Driving-Cars`](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars) (Estimation Curriculum), [`Course3-Visual-Perception-for-Self-Driving-Cars`](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course3-Visual-Perception-for-Self-Driving-Cars) (Perception Curriculum)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_intro["Introduction"]
  node_course1["Vehicle Foundations"]
  node_architecture["Autonomy Architecture"]
  node_safety["Safety Assurance"]
  node_vehicle_models["Vehicle Models"]
  node_vehicle_control["Vehicle Control"]
end

subgraph group_estimation["State Estimation"]
  node_course2["Estimation Curriculum"]
  node_least_squares["Least Squares"]
  node_kalman["Kalman Filters"]
  node_gnss_ins["GNSS INS"]
  node_lidar_estimation["LIDAR Estimation"]
end

subgraph group_perception["Visual Perception"]
  node_course3["Perception Curriculum"]
  node_visual_geometry["3D Vision"]
  node_visual_features["Visual Features"]
  node_object_detection["Object Detection"]
  node_segmentation["Segmentation"]
  node_stereo_helper["Stereo Image Helper"]
end

subgraph group_planning["Motion Planning"]
  node_course4["Planning Curriculum"]
  node_planning_problem["Planning Problem"]
  node_mapping["Planning Maps"]
  node_mission["Mission Planning"]
  node_behavior["Behavior Planning"]
  node_reactive["Reactive Planning"]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_course1
node_learner -->|"studies"| node_course2
node_learner -->|"studies"| node_course3
node_learner -->|"studies"| node_course4
node_course1 -->|"covers"| node_architecture
node_course1 -->|"covers"| node_safety
node_course1 -->|"covers"| node_vehicle_models
node_course1 -->|"covers"| node_vehicle_control
node_course2 -->|"covers"| node_least_squares
node_course2 -->|"covers"| node_kalman
node_course2 -->|"covers"| node_gnss_ins
node_course2 -->|"covers"| node_lidar_estimation
node_course3 -->|"covers"| node_visual_geometry
node_course3 -->|"covers"| node_visual_features
node_course3 -->|"covers"| node_object_detection
node_course3 -->|"covers"| node_segmentation
node_course4 -->|"covers"| node_planning_problem
node_course4 -->|"covers"| node_mapping
node_course4 -->|"covers"| node_mission
node_course4 -->|"covers"| node_behavior
node_course4 -->|"covers"| node_reactive

click node_course1 "https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course1-Introduction-to-Self-Driving-Cars"
click node_architecture "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w2-notes.md"
click node_safety "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w3-notes.md"
click node_vehicle_models "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w4-notes.md"
click node_vehicle_control "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w5-notes.md"
click node_course2 "https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars"
click node_least_squares "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w1-notes.md"
click node_kalman "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w2-notes.md"
click node_gnss_ins "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w3-notes.md"
click node_lidar_estimation "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w4-notes.md"
click node_course3 "https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course3-Visual-Perception-for-Self-Driving-Cars"
click node_visual_geometry "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w1-notes.md"
click node_visual_features "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w2-notes.md"
click node_object_detection "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w4-notes.md"
click node_segmentation "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w5-notes.md"
click node_stereo_helper "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/resources/w1/lab/files_management.py"
click node_course4 "https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course4-Motion-Planning-for-Self-Driving-Cars"
click node_planning_problem "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w1-notes.md"
click node_mapping "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w2-notes.md"
click node_mission "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w3-notes.md"
click node_behavior "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w5-notes.md"
click node_reactive "https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w6-notes.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_course1,node_architecture,node_safety,node_vehicle_models,node_vehicle_control toneBlue
class node_course2,node_least_squares,node_kalman,node_gnss_ins,node_lidar_estimation toneAmber
class node_course3,node_visual_geometry,node_visual_features,node_object_detection,node_segmentation,node_stereo_helper toneMint
class node_course4,node_planning_problem,node_mapping,node_mission,node_behavior,node_reactive toneRose
class node_learner toneIndigo
```

## Components

### Introduction

- [Vehicle Foundations](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course1-Introduction-to-Self-Driving-Cars): `Course1-Introduction-to-Self-Driving-Cars`
- [Autonomy Architecture](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w2-notes.md): `Course1-Introduction-to-Self-Driving-Cars/course1-w2-notes.md`
- [Safety Assurance](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w3-notes.md): `Course1-Introduction-to-Self-Driving-Cars/course1-w3-notes.md`
- [Vehicle Models](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w4-notes.md): `Course1-Introduction-to-Self-Driving-Cars/course1-w4-notes.md`
- [Vehicle Control](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course1-Introduction-to-Self-Driving-Cars/course1-w5-notes.md): `Course1-Introduction-to-Self-Driving-Cars/course1-w5-notes.md`

### State Estimation

- [Estimation Curriculum](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars): `Course2-State-Estimation-and-Localization-for-Self-Driving-Cars`
- [Least Squares](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w1-notes.md): `Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w1-notes.md`
- [Kalman Filters](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w2-notes.md): `Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w2-notes.md`
- [GNSS INS](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w3-notes.md): `Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w3-notes.md`
- [LIDAR Estimation](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w4-notes.md): `Course2-State-Estimation-and-Localization-for-Self-Driving-Cars/course2-w4-notes.md`

### Visual Perception

- [Perception Curriculum](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course3-Visual-Perception-for-Self-Driving-Cars): `Course3-Visual-Perception-for-Self-Driving-Cars`
- [3D Vision](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w1-notes.md): `Course3-Visual-Perception-for-Self-Driving-Cars/course3-w1-notes.md`
- [Visual Features](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w2-notes.md): `Course3-Visual-Perception-for-Self-Driving-Cars/course3-w2-notes.md`
- [Object Detection](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w4-notes.md): `Course3-Visual-Perception-for-Self-Driving-Cars/course3-w4-notes.md`
- [Segmentation](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/course3-w5-notes.md): `Course3-Visual-Perception-for-Self-Driving-Cars/course3-w5-notes.md`
- [Stereo Image Helper](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course3-Visual-Perception-for-Self-Driving-Cars/resources/w1/lab/files_management.py): `Course3-Visual-Perception-for-Self-Driving-Cars/resources/w1/lab/files_management.py`

### Motion Planning

- [Planning Curriculum](https://github.com/afondiel/self-driving-cars-specialization/tree/main/Course4-Motion-Planning-for-Self-Driving-Cars): `Course4-Motion-Planning-for-Self-Driving-Cars`
- [Planning Problem](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w1-notes.md): `Course4-Motion-Planning-for-Self-Driving-Cars/course4-w1-notes.md`
- [Planning Maps](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w2-notes.md): `Course4-Motion-Planning-for-Self-Driving-Cars/course4-w2-notes.md`
- [Mission Planning](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w3-notes.md): `Course4-Motion-Planning-for-Self-Driving-Cars/course4-w3-notes.md`
- [Behavior Planning](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w5-notes.md): `Course4-Motion-Planning-for-Self-Driving-Cars/course4-w5-notes.md`
- [Reactive Planning](https://github.com/afondiel/self-driving-cars-specialization/blob/main/Course4-Motion-Planning-for-Self-Driving-Cars/course4-w6-notes.md): `Course4-Motion-Planning-for-Self-Driving-Cars/course4-w6-notes.md`

### Other components

- **Learner**

## Connections

- Learner → Vehicle Foundations: studies (evidence: `README.md`)
- Learner → Estimation Curriculum: studies (evidence: `README.md`)
- Learner → Perception Curriculum: studies (evidence: `README.md`)
- Learner → Planning Curriculum: studies (evidence: `README.md`)
- Vehicle Foundations → Autonomy Architecture: covers (evidence: `README.md`)
- Vehicle Foundations → Safety Assurance: covers (evidence: `README.md`)
- Vehicle Foundations → Vehicle Models: covers (evidence: `README.md`)
- Vehicle Foundations → Vehicle Control: covers (evidence: `README.md`)
- Estimation Curriculum → Least Squares: covers (evidence: `README.md`)
- Estimation Curriculum → Kalman Filters: covers (evidence: `README.md`)
- Estimation Curriculum → GNSS INS: covers (evidence: `README.md`)
- Estimation Curriculum → LIDAR Estimation: covers (evidence: `README.md`)
- Perception Curriculum → 3D Vision: covers (evidence: `README.md`)
- Perception Curriculum → Visual Features: covers (evidence: `README.md`)
- Perception Curriculum → Object Detection: covers (evidence: `README.md`)
- Perception Curriculum → Segmentation: covers (evidence: `README.md`)
- Planning Curriculum → Planning Problem: covers (evidence: `README.md`)
- Planning Curriculum → Planning Maps: covers (evidence: `README.md`)
- Planning Curriculum → Mission Planning: covers (evidence: `README.md`)
- Planning Curriculum → Behavior Planning: covers (evidence: `README.md`)
- Planning Curriculum → Reactive Planning: covers (evidence: `README.md`)
