Modeling and track planning for the automation of BMW model car - Tabuchi Fukuhara, Rubén Toshiharu (2017)
In recent years, autonomous driving technologies have become a topic of growing interest due to the promise of safer and more convenient mode of transportation. An essential element in every autonomous driving system is the control algorithm. Classical control schemes, like PID, are not able to manage Multiple Inputs-Multiple Outputs, complex, non-linear systems. A more recent control strategy is Model predictive control (MPC), a modern control method that has shown promising results in systems with complex dynamics. In MPC, a sequence of optimal control inputs are predicted within a short time horizon based on the car dynamics, and soft or hard restriction of the system. In this work, three different nonlinear-MPC (NMPC) controllers were formulated based on a kinematic, and two dynamic models (double-track and single-track). The steering system’s dynamics were additionally identified using experimental data. Each MPC was solved applying direct methods, by transforming the optimal control problem to a Nonlinear programming (NLP) problem using the Multiple shooting scheme with a Runge-Kutta 4 integrator. The NLPs were solved using the state-of-the-art optimization solver IpOpt. Before the real-time implementation, all the NMPC controllers were simulated in different scenarios and multiple configurations. The results allowed to select the most suitable controllers to be implemented in a 1:5 scale robotic car. Finally, two NMPC controllers based on the kinematic, and the single-track dynamic model were implemented in the robotic car. The algorithms were tested in two different scenarios at the maximum possible speed. The obtained results from the tests were very promising, and provide compelling evidence that MPC could be implemented as the core of future autonomous driving algorithms, since it computes the optimal control inputs, taking in consideration the restrictions inherent to the system.