TSFS12 Autonomous vehicles – planning, control, and learning systems, 6 hp for D, I, M, and Y
Lecturers: Erik Frisk (erik.frisk@liu.se) and Jan Åslund (jan.aslund@liu.se).
Please contact us for further information.
Note: This is a static page, for links to reading material, lecture notes, and other course material, see the public git repository at https://gitlab.liu.se/vehsys/tsfs12.
Autonomous Vehicles
Currently, an enormous interest in autonomous vehicles both within academia and industry, with applications for example in self-driving cars and trucks, and unmanned aerial vehicles. This course provides the theoretical and technological basis for how such systems work, and in particular covers algorithms and tools for planning, control, and learning in autonomous vehicles. An autonomous system often consists of components for planning, control, and learning and the interaction between these is studied from a system perspective with a strong implementation focus.
Below is an illustration of a typical architecture for an autonomous vehicle, adapted from Paden et al., IEEE Trans. on intelligent vehicles (2016).
The objective of the course is to cover all parts of such an architecture and give a theoretical, technological, and practical foundation for how planning and control for autonomous vehicles can be realized in complex scenarios. The overall aim is an understanding of how methods from different fields can be integrated and applied in autonomous vehicles.
After passing the course, a student should be able to:
- explain and identify possibilities and challenges with autonomous vehicles in society.
- describe, use, and evaluate common system architectures for autonomous vehicles.
- choose necessary sensor equipment and explain how different components are used as well as explain how these are interacting within planning, control, simultaneous localization and mapping, perception, and other central parts of an autonomous vehicle.
- describe and compare modern algorithms for motion planning and control of vehicles with kinematic and dynamic motion constraints, and in addition, motivate the choice of method in a specific scenario.
- describe and suggest strategies for how robustness in the systems can be achieved by using feedback control and in addition apply optimal control and model predictive control in autonomous vehicles.
- explain and evaluate the interaction between motion planning and control of an autonomous vehicle.
- identify how learning can be used for an autonomous vehicle.
- implement low-complexity controllers and planners for systems of cooperating autonomous vehicles.
- implement functions on existing hardware platforms using available software libraries to solve common problems for autonomous vehicles in a laboratory environment.
- describe parts of the latest research within the field and in addition, read and comprehend new methods presented in scientific literature.
Course organization
The course is organized into lectures, exercises, hand-in assignments and a final mini-project. There is no final, written, exam in the course and the examination is based on the hand-in assignments and mini projects.
To pass the course with a grade of 3, it is required to complete five hand-in assignments and present them in either written or oral format (examination form varies), and complete a final project. The final project typically involves experiments on a hardware platform, and present it in a short written report and in an oral presentation.
The projects are typically performed using either of two hardware platforms, a mini-drone called CrazyFlie, or a modified RC-car equipped with Lidars, a camera, an IMU, Raspberry-Pi, and Arduino boards.
To obtain a grade of 4 or 5, it is also required to complete additional smaller hand-in exercises, widening the scope of selected parts of the course or going deeper into selected theoretical aspects of the course.
Course content
- Introduction to autonomous systems and vehicles; identification of possibilities and challenges.
- Common system architectures in autonomous decision-making, machine learning, planning, and control.
- Dynamic models for planning and control of autonomous vehicles.
- Fundamental planning algorithms in graphs and trees for the motion of simple robots.
- Advanced algorithms for motion planning for non-holonomic vehicles described by dynamic motion equations with differential constraints.
- Introduction to and use of methods for simultaneous localization and mapping for autonomous vehicles.
- Control of autonomous vehicles; path following, model predictive control (MPC), and control of path velocity.
- Learning systems within autonomous vehicles: reinforcement learning, machine learning using deep neural networks, and Markov decision processes (MDP).
- Cooperating autonomous vehicles, including ground vehicles and flying vehicles, and the required communication.
Lecture and exercise plan
This is a static page, for links to reading material, lecture notes, and other course material, see the public git repository at https://gitlab.liu.se/vehsys/tsfs12.
Lecture | Topic |
---|---|
Lec 1 | Introduction |
Lec 2 | Discrete motion planning |
Hand-in 1 | Discrete motion planning |
Lec 3 | Modelling of ground vehicles |
Lec 4 | Planning with differential constraints |
Hand-in 2 | Planning with differential constraints |
Lec 5 | Optimization for motion planning |
Lec 6 | Control of autonomous vehicles I |
Lec 6 | Model predictive control for autonomous vehicles |
Hand-in 3 | Path-following for autonomous vehicles |
Lec 8 | Control of autonomous vehicles II |
Lec 9 | Collaborative control |
Hand-in 4 | Collaborative control |
Lec 10 | Learning for autonomous vehicles I |
Hand-in 5 | Learning for autonomous vehicles |
Proj | Introduction to mini-project |
Lec 11 | Learning for autonomous vehicles II and guest lecture |
Proj | Project seminar |