Nonlinear Model Predictive Control for Connected Autonomous Vehicles

Dr.-Ing. Mohamed Abdelaal

Supervisor: S. Schön


Autonomous driving has gained a lot of attention in the last decade due to its anticipated positive social-economic impacts including the enhancement of traffic efficiency. Moreover, it is expected that driverless cars will reduce traffic accidents and fatalities. Therefore, there are a large number of research institutes and companies working on the development of autonomous driving algorithms. This includes providing algorithms for vehicle control, environment perception, localization, and communication among vehicles and smart infrastructure. In this project, we are focusing on developing controllers for autonomous driving purposes. There are many types of controllers that can be used to achieve a fully autonomous vehicle, among them, Nonlinear Model Predictive Control (NMPC) has proven successful results and has been employed in many recent publications. Nonlinear Model Predictive Control (NMPC) is a numerical optimization-based controller that has been widely used for various transportation systems such as autonomous ships and autonomous vehicles. It was mainly used for trajectory tracking and path following problems, but due to its ability to handle systematically states and control input constraints of the system over a future horizon and the great development in the optimization algorithms, it started to get attention to be used for collision avoidance too. Although there are many publications that utilize Nonlinear Model Predictive Control for autonomous driving, they lack considering proper geometrical representation for the vehicle, adaptation of the algorithms for digital map utilization, and also explicit robustness design.

In this work, autonomous vehicles are assumed to be connected, i.e. there is a communication medium for them to exchange information (see Figure C.10). A nonlinear kinematic bicycle model of the vehicle, with longitudinal acceleration and steering angle inputs, is used to predict its trajectory over a finite future horizon, which is then used to formulate and solve online a dynamic optimization problem. This optimization problem is solved in discrete control interval suitable for the system dynamics. At each step, the NMPC algorithm computes an open-loop sequence of control input adjustments. The first input in the optimal sequence is injected into the system, and the entire optimization is repeated at subsequent control intervals. The objective function has a stage cost function that minimize the deviation from the predefined reference path or trajectory. The optimization problem has two types of constraints: physical and operational constraints. The physical constraints represent the maximum/minimum values for the acceleration and steering angle inputs and their rate of change in order to guarantee consistency of the model to the real vehicle. The operational constraints are used for collision avoidance among vehicles by representing each vehicle geometrically as an elliptic disk and develop separation condition for moving disks, and navigation within the road corridors obtained from digital maps.

Fig. C.10: Connected Autonomous Vehicles

The current contribution of this work is: 

  • Extend the research of a networked control system for vehicle collision avoidance that relies on only maneuvering to allow more complex collision avoidance behaviors like simultaneous maneuvering and acceleration/deceleration.
  • Representing the vehicle geometry as an elliptic disk, instead of the traditional circular disk, which is better in approximating the vehicle shape and leads to smaller distances among the vehicles at the closest point of approach. 
  • Adaptation of NMPC to handle reference paths driving corridors generated from digital maps. This relies on other literature that present automatic procedures for generating driving corridors from OpenStreetMap which expands the original map representation, replacing polylines by Bézier curves. Quadratic Bézier curves are represented implicitly for the proper usage of them as nonlinear constraints for the NMPC optimization problem.


The proposed NMPC algorithm is evaluated on MATLAB using the static C-code generated from an ACADO toolkit and qpOASES. The generated C-code is ready to be deployed on any realtime platform for future experimental evaluation. The future anticipated contribution is: 

  • Explicit robust design of the NMPC technique in order to guarantee a know bounded tracking error by the means of Lyapunov functions. 
  • Experimental validation of the proposed techniques in cooperation with the Institute of Automatic Control (IRT) at RWTH Aachen University.