93188 - PLATFORMS AND ALGORITHMS FOR AUTONOMOUS DRIVING M

Academic Year 2020/2021

  • Docente: Marko Bertogna
  • Credits: 6
  • SSD: ING-INF/05
  • Language: English
  • Moduli: Marko Bertogna (Modulo 1) Paolo Falcone (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Advanced Automotive Electronic Engineering (cod. 9238)

Learning outcomes

The course aims at providing the required notions to understand the processing pipeline of an autonomous driving system, including perception, planning and actuation on high-performance embedded platforms. It will apply a heterogeneous set of techniques ranging from computer vision and machine/deep learning techniques to embedded robotics and control, addressing multiple problems in the automotive domain, like lane and object detection, state estimation, precise positioning, sensor fusion and path planning.

Course contents

Sensors
This block will introduce the course, explaining the sensors typically adopted by an autonomous driving system to perceive the environment.

High-performance embedded architectures
The principal high-performance embedded computing platforms will be introduced, explaining how they are able to provide the required performance (per Watt) to execute the heavy workload of an autonomous driving application in real-time.

Computer vision & Deep learning
Computer Vision and Deep Learning techniques will be applied to autonomous driving problems. Examples include lane detection, vehicle detection and tracking based-on camera feeds.

Sensor fusion
This block will explore filters and techniques to determine and predict the position of road users (cars, pedestrian, other vehicles) in the surrounding environment. Example include Kalman filters to fuse the information provided by the different sensors to produce a more precise estimation of the tracked objects.

Localization
This block will address the techniques adopted to determine the precise position of the ego vehicle within the environmental map. The mathematical models behind bayesian filters will be explained and applied to use cases of interest.

Vehicle modeling This block presents the most used vehicle models oriented to the design of path planners and vehicle motion control algorithms, including the unicycle, the bicycle and the two tracks models, with special emphasis on the model nonlinearities and uncertainties, which can be relevant for path planning and vehicle motion control.

Basics of control theory and constrained optimization The objective of this block is to recall the basics of control theory and optimization that will be used for path planning and vehicle motion control design. Stability analysis tools, SISO design tools methods, with emphasis on the satisfaction of the performance requirements relevant for vehicle motion control will be recalled, while MIMO design tools like LQ, pole-placement will be overviewed. Basics of constrained convex optimization will be recalled.

Path planning After mathematically formulating the path planning problem, in this block we will overview state-of-the-art path planning methods. Model-based path planning tools will be studied in depth, with special emphasis on optimization-based and potential fields methods. The hierarchical decision-making architecture will be introduced to illustrate the constraints set by the underlying vehicle motion control on the path planning and vice versa.

Vehicle control for path following This block will formulate the longitudinal and lateral vehicle motion control problem for path following applications. Feedback/Feedforward schemes will be presented taking advantage of preview information. The impact of sensor noises and actuator dynamics on the closed-loop performance will be emphasized to highlight the connections with the previous blocks of the course. Robustness design issues will be introduced. The impact of steering actuators nonlinearities on the closed-loop performance will be illustrated.

Readings/Bibliography

First part:

- Probabilistic Robotics. Wolfram Burgard, Sebastian Thrun,
Dieter Fox. 2005
- Creating Autonomous Vehicle Systems. Liyun Li, Jean Luc
Gaudiot, Jie Tang, Shaoshan Liu . 2018
- Udacity robotics & SDCE course
- Coursera self driving course
- Many papers in the robotics and computer vision domains

Second part:

- “FeedbackSystems. AnIntroductionforScientistsand Engineers”. Karl Johan Åström, Richard M. Murray. Available here: https://www.cds.caltech.edu/~murray/books/AM05/pdf/am08-complete_22Feb09.pdf

- “PredictiveControl forLinear and HybridSystems”, Francesco Borrelli, Alberto Bemporad, ManfredMorari. Available here: https://www.amazon.it/Predictive-Control-Linear-Hybrid-Systems/dp/1107016886

- “ModelPredictiveControl: Theory, Computation, and Design”. James B. Rawlings, David Q. Mayne, MoritzM. Diehl. Available here: https://sites.engineering.ucsb.edu/~jbraw/mpc/

Teaching methods

Theoretical classes followed by practical exercises in the laboratory. The teaching material will be made available online from the course website.

Assessment methods

1st part of the course:
– 5 assignments (it is mandatory to do at least 3 assignments)
Note: the more assignments accomplished, the higher the grade
– Oral exam (questions about the contents of the chosen
assignments)

2nd part of the course:
– 3 compulsory assignments with grades
– Oral exam

Teaching tools

The development tools required to execute the assigments will be presented and made available during classes.

Office hours

See the website of Marko Bertogna

See the website of Paolo Falcone