Summary This paper describes autonomous racing of RC race cars based on mathematical optimization. Using a dynamical model of the vehicle, control inputs are computed by receding horizon based controllers, where the objective is to maximize progress on the track subject to the requirement of staying on the track and avoiding opponents. Two different control formulations are presented. The first controller employs a two-level structure, consisting of a path planner and a nonlinear model predictive controller (NMPC) for tracking. The second controller combines both tasks in one nonlinear optimization problem (NLP) following the ideas of contouring control. Linear time varying models obtained by linearization are used to build local approximations of the control NLPs in the form of convex quadratic programs (QPs) at each sampling time. The resulting QPs have a typical MPC structure and can be solved in the range of milliseconds by recent structure exploiting solvers, which is key to the real-time feasibility of the overall control scheme. Obstacle avoidance is incorporated by means of a high-level corridor planner based on dynamic programming, which generates convex constraints for the controllers according to the current position of opponents and the track layout. The control performance is investigated experimentally using 1:43 scale RC race cars, driven at speeds of more than 3 m s and in operating regions with saturated rear tire forces (drifting). The algorithms run at 50 Hz sampling rate on embedded computing platforms, demonstrating the real-time feasibility and high performance of optimization-based approaches for autonomous racing. Copyright © 2014 John Wiley & Sons, Ltd.
@cite_28: We address the problem of real-time obstacle avoidance on low-friction road surfaces using spatial Nonlinear Model Predictive Control (NMPC). We use a nonlinear four-wheel vehicle dynamics model that includes load transfer. To overcome the computational difficulties we propose to use the ACADO Code Generation tool which generates NMPC algorithms based on the real-time iteration scheme for dynamic optimization. The exported plain C code is tailored to the model dynamics, resulting in faster run-times in effort for real-time feasibility. The advantages of the proposed method are shown through simulation.
@cite_30: Optimization problems in chemical engineering often involve complex systems of nonlinear DAE as the model equations. The direct multiple shooting method has been known for a while as a fast off-line method for optimization problems in ODE and later in DAE. Some factors crucial for its fast performance are briefly reviewed. The direct multiple shooting approach has been successfully adapted to the specific requirements of real-time optimization. Special strategies have been developed to effectively minimize the on-line computational effort, in which the progress of the optimization iterations is nested with the progress of the process. They use precalculated information as far as possible (e.g. Hessians, gradients and QP presolves for iterated reference trajectories) to minimize response time in case of perturbations. In typical real-time problems they have proven much faster than fast off-line strategies. Compared with an optimal feedback control computable upper bounds for the loss of optimality can be established that are small in practice. Numerical results for the Nonlinear Model Predictive Control (NMPC) of a high-purity distillation column subject to parameter disturbances are presented. # 2002 Published by Elsevier Science Ltd.
@cite_22: Two frameworks based on Model Predictive Control (MPC) for obstacle avoidance with autonomous vehicles are presented. A given trajectory represents the driver intent. An MPC has to safely avoid obstacles on the road while trying to track the desired trajectory by controlling front steering angle and differential braking. We present two different approaches to this problem. The first approach solves a single nonlinear MPC problem. The second approach uses a hierarchical scheme. At the high-level, a trajectory is computed on-line, in a receding horizon fashion, based on a simplified point-mass vehicle model in order to avoid an obstacle. At the low-level an MPC controller computes the vehicle inputs in order to best follow the high level trajectory based on a nonlinear vehicle model. This article presents the design and comparison of both approaches, the method for implementing them, and successful experimental results on icy roads.Copyright © 2010 by ASME
@cite_3: In this work we initiate a mathematical analysis of rally racing techniques. We provide an empirical description of Trail-Braking (TB) and Pendulum-Turn (PT) cornering, two of the most common rally racing maneuvers. We introduce a low order vehicle model that can be efficiently used within an optimization scheme. The model incorporates the appropriate level of detail to reproduce modes of operation typical of those encountered in rally, off-road racing. We use a numerical scheme to study different trajectory optimization scenarios during cornering. We show that our modeling approach is capable of reproducing TB and PT as special cases of the minimum-time solution with additional constraints.
In order to avoid relying on the feasibility of the path planner, one-level approaches have been investigated e.g. in @cite_3 , where optimal trajectories and the associated open-loop control inputs for rally racing maneuvers are calculated numerically in simulation. @cite_22 , obstacle avoidance is incorporated into the tracking controller by using an additional cost term that penalizes coming too close to the obstacle. However, the controller is reported to perform worse than its two-level counterpart, especially if the car has to diverge from the reference trajectory. A one-level approach similar to @cite_22 is studied in @cite_28 in simulation, where obstacle avoidance is incorporated into the problem formulation by using a spatial reformulation and imposing constraints on the transformed variables. While in @cite_3 @cite_22 the solution to the NLP is obtained by a standard nonlinear solver with prohibitively long solve times, @cite_28 uses real-time iterations @cite_30 to achieve the low computation times needed for a real-time implementation. However, it is assumed that there is only one side where the obstacle can be overtaken, which may not be the case in practical racing situations.