Model Predictive Control for Autonomous and Semiautonomous Vehicles

In this thesis we consider the problem of designing and implementing Model Predictive Controllers (MPC) for lane keeping and obstacle avoidance of autonomous or semi-autonomous ground vehicles. Vehicle nonlinear dynamics, fast sampling time and limited computational resources of embedded automotive hardware make it a challenging control design problem. MPC is chosen because of its capability of systematically taking into account nonlinearities, future predictions and operating constraints during the control design stage.We start from comparing two different MPC based control architectures. With a given trajectory representing the driver intent, the controller has to autonomously avoid obstacles on the road while trying to track the desired trajectory by controlling front steering angle and differential braking. The first approach solves a single nonlinear MPC problem for both replanning and following of the obstacle free trajectories. While the second approach uses a hierarchical scheme. At the high-level, new trajectories are computed on-line, in a receding horizon fashion, based on a simplified point-mass vehicle model in order to avoid the obstacle. At the low-level an MPC controller computes the vehicle inputs in order to best follow the high level trajectory based on a higher fidelity nonlinear vehicle model. Experimental results of both approaches on icy roads are shown. The experimental as well as simulation results are used to compare the two approaches. We conclude that the hierarchical approach is more promising for real-time implementation and yields better performance due to its ability of having longer prediction horizon and faster sampling time at the same time. Based on the hierarchical approach for autonomous drive, we propose a hierarchical MPC framework for semi-autonomous obstacle avoidance, which decides the necessity of control intervention based on the aggressiveness of the evasive maneuver necessary to avoid collisions. The high level path planner plans obstacle avoiding maneuvers using a special kind of curve, the clothoid. The usage of clothoids have a long history in highway design and robotics control. By optimizing over a small number of parameters, the optimal clothoids satisfying the safety constraints can be determined. The same parameters also indicate the aggressiveness of the avoiding maneuver and thus can be used to decide whether a control intervention is needed before its too late to avoid the obstacle. In the case of control intervention, the low level MPC with a nonlinear vehicle model will follow the planned avoiding maneuver by taking over control of the steering and braking. The controller is validated by both simulations and experimental tests on an icy track.In the proposed autonomous hierarchical MPC where the point mass vehicle model is used for high level path replanning, despite of its successful avoidance of the obstacle, the controller's performance can be largely improved. In the test, we observed deviations of the actual vehicle trajectory from the high level planned path. This is because the point mass model is overly simplified and results in planned paths that are infeasible for the real vehicle to track. To address this problem, we propose an improved hierarchical MPC framework based on a special coordinate transformation in the high level MPC. The high level uses a nonlinear bicycle vehicle model and utilizes a coordinate transformation which uses vehicle position along a path as the independent variable. That produces high level planned paths with smaller tracking error for the real vehicle while maintaining real-time feasibility. The low level still uses an MPC with higher fidelity model to track the planned path. Simulations show the method's ability to safely avoid multiple obstacles while tracking the lane centerline. Experimental tests on an autonomous passenger vehicle driving at high speed on an icy track show the effectiveness of the approach.In the last part, we propose a robust control framework which systematically handles the system uncertainties, including the model mismatch, state estimation error, external disturbances and etc. The framework enforces robust constraint satisfaction under the presence of the aforementioned uncertainties. The actual system is modeled by a nominal system with an additive disturbance term which includes all the uncertainties. A Tube-MPC approach is used, where a robust control invariant set is used to contain all the possible tracking errors of the real system to the planned path (called the nominal path ). Thus all the possible actual state trajectories in time lie in a tube centered at the nominal path. A nominal NMPC controls the tube center to ensure constraint satisfaction for the whole tube. A force-input nonlinear bicycle vehicle model is developed and used in the RNMPC control design. The robust invariant set of the error system (nominal system vs. real system) is computed based on the developed model, the associated uncertainties and a predefined disturbance feedback gain. The computed invariant set is used to tighten the constraints in the nominal NMPC to ensure robust constraint satisfaction. Simulations and experiments on a test vehicle show the effectiveness of the proposed framework.