You are on page 1of 15

Software Architecture

Course 1, Module 2, Lesson 3

1
Learning Objectives

• Describe the basic architecture of a typical self-driving


software system
• Identify the standard software decomposition
o Environment Perception
o Environment Mapping
o Motion Planning
o Controller
o System Supervisor
Software Architecture | High-level

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Environment Perception

Inputs
Vehicle
GPS / IMU / Wheel Position
Odometry Localization

Bounding Object Dynamic Objects


LIDAR Dynamic Object Boxes Dynamic Object Tracks Object Motion
Cameras Detection Tracking Prediction
Radar
Static
Static Object Objects
HD Road
Map Detection

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Environmental Maps

Occupancy Grid Map


Object tracks Occupancy Grid Map

LIDAR
Localization Map
Localization Map

Prior Road Map


Detailed Road Map
Vehicle Position
Detailed Road Map
Segmented Image
Static Objects

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Environmental Maps

Occupancy Grid Map


Object tracks Occupancy Grid Map

LIDAR
Localization Map
Localization Map

Prior Road Map


Detailed Road Map
Vehicle Position
Detailed Road Map
Segmented Image
Static Objects

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Environmental Maps

Occupancy Grid Map


Object tracks Occupancy Grid Map

LIDAR
Localization Map
Localization Map

Prior Road Map


Detailed Road Map
Vehicle Position
Detailed Road Map
Segmented Image
Static Objects

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Environmental Maps

Occupancy Grid Map


Object tracks Occupancy Grid Map

LIDAR
Localization Map
Localization Map

Prior Road Map


Detailed Road Map
Vehicle Position
Detailed Road Map
Segmented Image
Static Objects

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Motion Planning
Current Goal
Detailed Road Map Mission Planner
Vehicle Position
Mission Path

Dynamic Objects
Behavior Planner

Occupancy Grid Behavior Constraints


Planned Trajectory

Vehicle Position Local Planner


Dynamic Objects Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Motion Planning
Current Goal
Detailed Road Map Mission Planner 7 4
1 8
2 2
Vehicle Position
7 13 1
Mission Path 5 1 2
1 2
1 6 8 9 7 0
9
Dynamic Objects
Behavior Planner 9 3 8 9 4

11 6
Occupancy Grid Behavior Constraints
Planned Trajectory

Vehicle Position Local Planner


Dynamic Objects Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Motion Planning
Current Goal
Detailed Road Map Mission Planner
Vehicle Position
Mission Path

Dynamic Objects
Behavior Planner

Occupancy Grid Behavior Constraints


Planned Trajectory

Vehicle Position Local Planner


Dynamic Objects Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Motion Planning
Current Goal
Detailed Road Map Mission Planner
Vehicle Position
Mission Path

Dynamic Objects
Behavior Planner

Occupancy Grid Behavior Constraints


Planned Trajectory

Vehicle Position Local Planner


Dynamic Objects Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | Vehicle Controller

Throttle percentage

Velocity Controller Brake percentage

Planned Trajectory

Vehicle Position

Steering Controller Steering Angle

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Software Architecture | System Supervisor
Environment
Perception

Environment
Mapping
Software Supervisor Sensor
Hardware Supervisor
Outputs
Motion Planning

Controller

Environment
System Supervisor
Mapping

Sensors
Output Actuation

Environment Motion
Controller
Perception Planning
Summary

• Describe the basic architecture of a self-driving software


system
o Environment Perception
o Environment Mapping
o Motion Planning
o Controller
o System Supervisor
• Next: Closer look at Environment Mapping

You might also like