Overview
This course provides a detailed understanding of motion control algorithms used in autonomous driving. Participants will explore various control techniques, including Pure Pursuit, kinematic controllers, PID controllers, Stanley controllers, and Model Predictive Control (MPC). The course also covers optimization frameworks like CasADi and offers hands-on experience in implementing motion control algorithms using C++ or Python in a CARLA-ROS simulation environment.
Objectives
By the end of this course, leaner will be able to:
-
Understand the role and challenges of motion control in autonomous driving
-
Apply control techniques to achieve accurate and stable vehicle motion
-
Implement controllers for steering, throttle, and braking
-
Learn the principles and advantages of Model Predictive Control (MPC)
-
Utilize optimization frameworks like CasADi for solving optimal control problems
-
Develop C++ or Python code for motion control algorithms
-
Integrate and evaluate control algorithms in a CARLA-ROS environmen
Prerequisites
-
Python Basics
-
Control System Fundamentals
-
Modern C++ Knowledge
Course Outline
-
Role of motion control in autonomous driving
-
Longitudinal and lateral control
-
Actuators and their dynamics: steering, throttle, and brakes
-
Challenges in motion control: latency, disturbances, model uncertainty
-
Setting up CARLA-ROS environment for control algorithm development
-
Kinematic bicycle model and its application in control design
-
Pure Pursuit controller for path following
-
PID controllers for feedback control
-
Stanley controller for lateral control
-
Implementing basic control techniques using C++ or Python
-
Introduction to CasADi as an optimization framework
-
Defining and solving optimization problems
-
Integration of CasADi with motion control algorithms
-
Applying CasADi for autonomous driving optimization tasks
-
Introduction to Model Predictive Control (MPC) principles
-
Prediction model and cost function formulation
-
Applying constraints and using optimization techniques
-
Understanding linear and nonlinear MPC
-
Implementing MPC for trajectory tracking using CasADi
-
Vehicle dynamics modeling for longitudinal and lateral motion
-
Tire models and slip angle analysis
-
Vehicle stability considerations
-
Simulating vehicle dynamics and analyzing control actions
-
Integrating motion control algorithms with CARLA and ROS
-
Publishing and subscribing to control commands and vehicle states
-
Evaluating control performance across driving scenarios
-
Tuning controller parameters for optimal results
-
Developing and testing complete motion control systems in CARLA-ROS