Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Applied Control Systems 1: autonomous cars: Math + PID + MPC
Bestseller
Rating: 4.7 out of 5(2,003 ratings)
15,512 students

Applied Control Systems 1: autonomous cars: Math + PID + MPC

Modeling + state space systems + PID + Model Predictive Control + Python simulation: lateral control for autonomous cars
Last updated 11/2025
English
German [Auto],English [Auto],

What you'll learn

  • mathematical modelling of systems
  • reformulating models into state-space equations
  • applying a PID controller to systems (simple magnetic train catching objects)
  • applying Model Predictive Control (MPC) to systems (autonomous car: lane changing maneuvers)

Course content

8 sections148 lectures17h 55m total length
  • Course guide5:07

    This lecture gives you a guide for how to study the course in order to take the maximum value out of it.

  • Intro to Control - how to control systems with a controller 16:52
  • Intro to Control - how to control systems with a controller 26:34

    This lecture explains how a controller uses the error between reference and tank volume to set the mass flow rate, with modern implementations as computer algorithms.

  • Open VS Closed Loop System6:36

    Explore the key differences between open loop and closed loop systems, highlighting how feedback from sensors and controllers adjusts input to achieve targets like mass flow rate and tank level.

  • Controlling the water tank in a Python simulation2:52
  • Intro to a proportional controller4:44

    A proportional controller multiplies the error by a gain to set the mass flow rate, steering the water tank toward the desired volume as the error approaches zero.

  • Modelling the water tank 11:45
  • Modelling the water tank 212:13
  • Numerical integration applied to the water tank model9:52

    Learn how to approximate volume over time using numerical integration, applying the trapezoidal rule to update water volume with discrete time steps, mass flow rate, and density.

  • Combining math with the control structure7:07

    Explore a closed loop water tank system modeled in continuous and discrete mathematics. A proportional controller updates mass flow rate at 50 Hz to track changing volume references.

  • Water tank simulation - proportional controller2:28
  • Intro to a PID simulation2:26
  • Follow up!0:58

    This video directs you to the PID simulation codes at the end of the first section and the NPC codes at the NPC coding section, and requests your feedback.

  • PID: Modelling the train with forces 16:27
  • PID: Modelling the train with forces 29:36
  • PID: Going from system input to system output using numerical integration10:00

    Translate acceleration into velocity and then position through numerical integration. Convert continuous equations to discrete form for implementation in code, using time steps and a water tank analogy.

  • PID: Magnetic train simulation - proportional controller1:59
  • PID: Proportional controller overshoot explanation 14:39

    A proportional controller converts position error into acceleration via kp, causing the train to overshoot and oscillate around the reference point as force aligns with the error.

  • PID: Proportional controller overshoot explanation 26:28

    Explain how a proportional controller yields zero acceleration at zero error, yet the train overshoots because velocity remains nonzero and the position keeps moving past the target.

  • PID: Proportional controller overshoot explanation 33:40

    Explain why a proportional controller cannot handle two integrators in a train model and how adding a derivative controller enables reaching the target position.

  • PID: Intro to Derivative Control10:24
  • PID: Tuning the controller6:11
  • PID: Proportional & Derivative controller & magnetic train simulation in Python9:01
  • PID: Intro to Integral Control4:35

    Explore the PID controller integral part and how gravity on an inclined rail yields normal and tangential components, balanced by normal force and motion via tangential component.

  • PID: Python magnetic train simulation at an inclination angle1:49

    Move to a 45-degree incline to reveal the tangential component of gravity accelerates the train along the rails, and incorporate this component in magnet-induced force equations.

  • PID: Mathematical modelling of the train with the inclination angle 13:43
  • PID: Mathematical modelling of the train with the inclination angle 28:45
  • PID: Proportional, Derivative, Integral Control combined16:03
  • PID: Magnetic train simulation (inclination angle & PID)2:26
  • Test your PID fundamental understanding
  • Intro to (Linux & macOS Terminal) & (Windows Command Prompt)12:54

    Explore Linux terminal, macOS terminal, and Windows command prompt to run Python files, navigate folders with cd and ls or dir, and master basic terminal commands.

  • Python installation instructions0:51
  • Installing the Python environment and its libraries (Windows 11)5:14

    Install python on Windows 11, add to path, test hello world, then install numpy, matplotlib, scipy, cvxopt, qp solvers, sympy, control, and moviepy for MPC and LQR in autonomous vehicles.

  • Installing the Python environment and its libraries (Linux Ubuntu)4:43
  • Installing the Python environment and its libraries (macOS)8:04

    Install python 3.8.7 on macOS, test with a hello world script in the terminal, then install pip and numpy.

  • PID train code explanation 117:56

    The lecture explains Python code for a pid train simulation that catches cubes on an inclined rail, detailing library imports, random positions, time arrays, and preallocated data structures.

  • PID train code explanation 211:15

    Explain a Python multi-trial simulation with nested loops, computing PID error, derivative, and integral, applying force with gravity, and updating velocity and position via trapezoidal integration to get x and y.

  • PID train code explanation 311:18
  • Short intro to Python animation tools12:24

    Explore how to create Python animations with Matplotlib, build figures with subplots, define animated objects, and use FuncAnimation to visualize data over frames.

  • Quick code & animation explanation (water tanks)28:29
  • Codes for the P & PID controllers (Python 3, Numpy & Matplotlib needed)0:06

Requirements

  • Basic Calculus: Functions, Derivatives, Integrals
  • Vector-Matrix multiplication

Description

The world is changing! The technology is changing! The advent of automation in our societies is spreading faster than anyone could have anticipated. At the forefront of our technological progress is autonomy in systems. Self driving cars and other autonomous vehicles are likely to be part of our every day lives. How would you like to understand and be able design these autonomous vehicles? How would you like to understand Mathematics behind it?

Welcome! In this course, you will be exposed to one of the most POWERFUL techniques there are, that are able to guide and control systems precisely and reliably.

You are going to DESIGN, MASTER and APPLY:

  • mathematical models in the form of state-space systems and equations of motion

  • a PID controller to a simple magnetic train that needs to catch objects that randomly fall from the sky

  • a Model Predictive Controller (MPC) to an autonomous car in a simple lane changing maneuver on a straight road at a constant forward speed.

You will LEARN the fundamentals and the logic of Modelling, PID and MPC that will allow you to apply it to other systems you might encounter in the future.

You need 3 things when solving an Engineering problem: INTUITION, MATHEMATICS, CODING! You can't choose - you really need them all. After this course, you will master Modelling, PID and MPC in all these 3 ways. That's a promise!

I'm very excited to have you in my course and I can't wait to teach you what I know.

Let's get started!

Who this course is for:

  • Science and Engineering students
  • Working Scientists and Engineers
  • Control Engineering enthusiasts