kth royal institute of technology
Licentiate Thesis in Electrical Engineering Lateral Model Predictive Control for Autonomous Heavy-Duty Vehicles
Sensor, Actuator, and Reference Uncertainties
GONÇALO COLLARES PEREIRA
Stockholm, Sweden 2020
Lateral Model Predictive Control for Autonomous Heavy-Duty Vehicles
Sensor, Actuator, and Reference Uncertainties
GONÇALO COLLARES PEREIRA
Academic Dissertation which, with due permission of the KTH Royal Institute of Technology, is submitted for public defence for the Degree of Licentiate of Engineering on Tuesday the 15th September 2020 at 10:00 a.m. in Harry Nyquist at KTH Royal Institute of Technology, Malvinas väg 10, Stockholm.
Licentiate Thesis in Electrical Engineering KTH Royal Institute of Technology Stockholm, Sweden 2020 © Gonçalo Collares Pereira
ISBN: 978-91-7873-580-8 TRITA-EECS-AVL-2020:38
Printed by: Universitetsservice US-AB, Sweden 2020 Abstract
Autonomous vehicle technology is shaping the future of road transportation. This technology promises safer, greener, and more efficient means of transportation for everyone. Autonomous vehicles are expected to have their first big impact in closed environments, such as mining areas, ports, and construction sites, where heavy-duty vehicles (HDVs) operate. Although research for autonomous systems has boomed in recent years, there are still many challenges associated with them. This thesis addresses lateral motion control for autonomous HDVs using model predictive control (MPC). First, the autonomous vehicle architecture and, in particular, the control module architecture are introduced. The control module receives the current vehicle states and a trajectory to follow, and requests a velocity and a steering-wheel angle to the vehicle actuators. Moreover, the control module needs to handle system delays, maintain certain error bounds, respect actuation constraints, and provide a safe and comfortable ride. Second, a linear robust model predictive controller for disturbed discrete-time nonlinear systems is presented. The optimization problem includes the initial nom- inal state of the system, which allows to guarantee robust exponential stability of the disturbance invariant set for the discrete-time nonlinear system. The controller effectiveness is demonstrated through simulations of an autonomous vehicle lateral control application. Finally, the controller limitations and possible improvements are discussed with the help of a more constrained autonomous vehicle example. Third, a path following reference aware MPC (RA-MPC) for autonomous vehi- cles is presented. The controller makes use of the linear time-varying MPC frame- work, and considers control input rates and accelerations to account for limitations on the vehicle steering dynamics and to provide a safe and comfortable ride. More- over, the controller includes a method to systematically handle references generated by motion planners which can consider different algorithms and vehicle models from the controller. The controller is verified through simulations and through experi- ments with a Scania construction truck. The experiments show an average lateral error to path of around 7 cm, not exceeding 27 cm on dry roads. Finally, the nonlinear curvature response of the vehicle is studied and the MPC prediction model is modified to account for it. The standard kinematic bicycle model does not describe accurately the lateral motion of the vehicle. Therefore, by extending the model with a nonlinear function that maps the curvature response of the vehicle to a given request, a better prediction of the vehicle’s movement is achieved. The modified model is used together with the RA-MPC and verified through simulations and experiments with a Scania construction truck, where the improvements of the more accurate model are verified. The experiments show an average lateral error to path of around 5 cm, not exceeding 20 cm on wet roads.
Sammanfattning
Autonoma fordon f¨orv¨antas f˚aen stor inverkan p˚aframtidens transporter av gods och personer. En teknologi som lovar s¨akrare,gr¨onareoch effektivare transporter till alla. Den typ av verksamhet som autonoma fordon f¨orstf¨orv¨antas f˚aett st¨orregenomslag inom ¨artransporter i avskilda omr˚aden,s˚asom gruvomr˚aden,hamnar och byggplatser. Aven¨ om forskning kopplat till autonoma system har exploderat under den senaste ˚aren kvarst˚arfortfarande ett flertal fr˚agest¨allningar. Denna avhandling fokuserar p˚alateral r¨orelsestyrning av tunga autonoma fordon med modellprediktiva regulatorer (MPC). Avhandlingen best˚arav fyra huvuddelar. I f¨orstdelen introduceras det autonoma fordonets systemarkitektur, med fokus p˚aregulatormodulen. Regulatormodulen gener- erar hastighet och rattvinkel referenser till fordonets hastighetaktuator och rattvinkelak- tuator baserat p˚afordonets nuvarande tillst˚andsamt den givna referensbanan som for- donet skall f¨olja.Regulatormodulen beh¨over dessutom hantera f¨ordr¨ojningari systemet, s¨akerst¨allaatt systemet inte ¨overskrider givna felmarginaler, hantera aktuator och system- begr¨ansningar,och sist men inte minst framf¨orafordonet p˚aett s¨akert och komfortabelt s¨att. I andra delen presenteras en robust modellprediktiv regulator f¨or ett tidsdiskret olinj¨art system med st¨orningar.I optimeringsproblemet inkluderas systemets nominella initialtill- st˚and,detta m¨ojligg¨orgaranterad robust exponentiell stabilitet f¨ordet tidsdiskreta olinj¨ara systemets st¨orningsinvarianta tillst˚andsm¨angd.Regulatorns prestanda visas genom simu- leringar av ett autonomt fordon d¨arregulatorn kontrollerar fordonets laterala r¨orelse. Begr¨ansningaroch potentiella f¨orb¨attringarav regulatorn diskuteras utifr˚anexempel med ¨okadebegr¨ansningar. I tredje delen presenteras en referens medveten modellprediktiv regulator (RA-MPC), en regulator utvecklad f¨oratt styra ett autonomt fordon l¨angsen given referensbana. Regulator baseras p˚aen linj¨arttidsvarierande MPC och begr¨ansningari fordonets styrdy- namik hanteras genom att ber¨aknadessa baserat p˚ain insignalernas, referensbana, v¨arden och derivator. Genom att beakta begr¨ansningarnap˚adetta s¨att m¨ojligg¨orsen komfortabel och s¨aker k¨orning.En systematisk metod f¨oratt hantera referensbanor som genererats av r¨orelseplanerarebaseras p˚aalgoritmer och modeller som skiljer sig fr˚ande som anv¨ands i regulatorn presenteras ocks˚a.Den metoden ¨ar¨aven implementerad i regulatorn. Regu- latorn har utv¨arderatsmed s˚av¨alsimuleringar som tester. Testerna har genomf¨ortsi en Scania lastbil av anl¨aggningstyp. Experimenten visade p˚aen lateral avvikelse fr˚anrefer- ensbana p˚a7 cm i genomsnitt och en maximal avvikelse p˚a27 cm d˚afordonet k¨ordes p˚a torr asfalt. I den sista delen studeras olinj¨arrespons i fordonets kurvaturreglering och hur detta kan hanteras i MPC’ns prediktions modell av fordonet presenteras ocks˚a.En prediktions modell baserad p˚aen standard kinematisk cykelmodell beskriver inte fordonets laterala r¨orelsetillr¨ackligt bra f¨ordet studerade systemet. Dock, genom att utvidga modellen med en funktion som mappar fordonets respons mot en given kurvaturbeg¨arankan noggrannhet av fordonets r¨orelsef¨orb¨attras.Modellen tillsammans med RA-MPC utv¨arderadesgenom simuleringar och tester. Testerna har genomf¨ortsi en Scania lastbil av anl¨aggningstyp. Utv¨arderingenvisade att den introducerade modellen gav en f¨orb¨attradprecision. Exper- imenten visade p˚aen lateral avvikelse fr˚anreferensbanan p˚a5 cm i genomsnitt och en maximal avvikelse p˚a20 cm d˚afordonet k¨ordesp˚av˚atasfalt.
To my parents and brother
Acknowledgments
There are many who I have to thank for the work presented in this thesis. First, I would like to thank Jonas M˚artensson,for giving me the opportunity to work at the Division of Decision and Control at KTH, for his guidance, and the endless discussions we have. A special thanks goes to one of my co-supervisors Henrik Pettersson, for all his advice and knowledge, and a never ending patience that puts up with me wanting to run just one more experiment. Not to mention the good taste in music that lightens the mood in the vehicles. I am also thankful to Bo Wahlberg, who always grounds me and makes me see the bigger picture giving suggestions and ideas. A big thanks goes to two of my colleagues Pedro Lima and Rui Oliveira. Not only have I collaborated academically with them, but also they are responsible for making my life in Sweden easier and better. A thank you also to Scania and all my colleagues. In particular, I would like to thank Lars Hjorth, Assad Alam, and Kalle Fagerberg for giving me the chance to work at Scania. Moreover, thanks to all the people of the autonomous transport solutions research department that have contributed and developed the vehicle used in the experiments. A special big thanks to the motion planning and control group with whom I had the pleasure of interacting daily. Together with Scania, I would like to thank the Wallenberg Artificial Intelli- gence, Autonomous Systems, and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation, for financing my project and this research. Furthermore, I would like to acknowledge all my friends and colleagues that have been with me for the past years. From the trips with WASP, to life in Stockholm, and to office work at KTH and Scania, I have always enjoyed the good company, the good mood, and the good discussions. I would like to thank Anamarija, Henrik, Jezdimir, Jonas, Manuel, Oskar, Pedro L., Pedro R., Rui, Sebasti˜ao,and Truls for proofreading parts of this thesis, and Henrik for helping me translate the Swedish abstract. Last but not least, I am forever grateful to my family and all my friends around the world that have constantly encouraged me and helped me throughout this journey. To all of you, Thank You!
Gon¸caloCollares Pereira June 2020.
Contents
Contents xi
Acronyms xv
Notation xvii
1 Introduction 1 1.1 Motivation ...... 2 1.1.1 Environment Motivation ...... 4 1.1.2 Health and Safety Motivation ...... 5 1.1.3 Economic Motivation ...... 7 1.2 Autonomous Vehicles ...... 10 1.2.1 Applications ...... 11 1.2.2 Challenges ...... 13 1.3 Problem Statement ...... 18 1.3.1 Thesis Outline and Contributions ...... 20 1.3.2 Other Publications by the Author ...... 22
2 Background 25 2.1 Autonomous Vehicle Modules ...... 25 2.1.1 Route Planning ...... 25 2.1.2 Perception ...... 27 2.1.3 Localization ...... 29 2.1.4 Situation Awareness ...... 30 2.1.5 Motion Planning ...... 33 2.1.6 Motion Control ...... 40 2.2 Control and Optimization Fundamentals ...... 76 2.2.1 Controllability, Reachability, Invariance, and Stability . . . . 77 2.2.2 Convexity and Sets ...... 80 2.2.3 Optimization Fundamentals for Control ...... 81 2.3 Summary ...... 84
xi xii CONTENTS
3 Control Module Architecture 87 3.1 Delay Prediction ...... 89 3.2 Path Sampling ...... 90 3.2.1 Circular Arc Projection ...... 90 3.2.2 MPC Horizon ...... 93 3.3 Constraints Setup ...... 95 3.4 Longitudinal Control ...... 97 3.5 Lateral Control ...... 97 3.6 Output Conversion ...... 97 3.7 Conclusion ...... 98
4 Linear Time-Varying Robust Model Predictive Control 99 4.1 Problem Statement ...... 100 4.2 Controller Formulation ...... 101 4.2.1 Terminal Weights Computation ...... 105 4.2.2 Assumptions Summary ...... 107 4.2.3 Controller Design Summary ...... 107 4.2.4 Stability Analysis ...... 108 4.3 Application: Autonomous Driving ...... 111 4.3.1 Vehicle Model ...... 111 4.3.2 Simulation ...... 114 4.4 Limitations of the Approach ...... 115 4.5 Conclusion ...... 123
5 Reference Aware Model Predictive Control 125 5.1 Problem Statement ...... 126 5.2 Controller Formulation ...... 128 5.2.1 LTV-MPC ...... 128 5.2.2 Controller Design ...... 129 5.2.3 Controller References ...... 132 5.2.4 Reference Aware MPC ...... 134 5.3 Vehicle Model ...... 136 5.3.1 Road-Aligned Spatial-Based Kinematic Bicycle Model . . . . 136 5.3.2 Vehicle Curvature Response Modeling ...... 138 5.4 Results ...... 141 5.4.1 Performance ...... 142 5.4.2 Scenario ...... 142 5.4.3 Controller Setup ...... 143 5.4.4 Simulations ...... 144 5.4.5 Experiments ...... 148 5.5 Conclusion ...... 153
6 Conclusions and Future Work 155 6.1 Conclusions ...... 155 CONTENTS xiii
6.2 Future Work ...... 157
Appendices 161
A MPC Feasibility and Stability 163
B QP Formulation 165
Bibliography 167
Acronyms
4WS 4 Wheel-Steering A* A-star algorithm ACC Adaptive Cruise Control ADAS Advanced Driver-Assistance Systems ARE Algebraic Riccati Equation CACC Cooperative Adaptive Cruise Control CAV Connected and Autonomous Vehicle CC Cruise Control CL-RRT Closed-Loop Rapidly-Exploring Random Trees algorithm EKF Extended Kalman Filter eMPC Explicit MPC EU European Union EV Electric Vehicles FOV Field of View GCDC Grand Cooperative Driving Challenge GDP Gross Domestic Product GHG Green House Gases GNSS Global Navigation Satellite System GPS Global Positioning System GPU Graphics Processing Unit HDV Heavy-Duty Vehicle HIL Hardware In the Loop IMU Inertial Measurement Unit LDV Light-Duty Vehicle LMPC Linear MPC LPV Linear Parameter-Varying LQ Linear Quadratic
xv xvi
LQE Linear Quadratic Estimation LQR Linear Quadratic Regulator LTI Linear Time-Invariant LTV Linear Time-Varying LiDAR Light Detection And Ranging MDP Markov Decision Processes MIQP Mixed-Integer Quadratic Programming MPC Model Predictive Control mRPI Minimal Robust Positively Invariant NMPC Nonlinear Model Predictive Control PID Proportional-Integrative-Derivative PPC Pure-Pursuit Control QP Quadratic Programming RC Car Radio-Controlled Car RPI Robust Positively Invariant RRT Rapidly-Exploring Random Trees algorithm RTI Real-Time Iteration RTK Real Time Kinematic RaDAR Radio Detection And Ranging SMC Sliding Mode Control SQP Sequential Quadratic Programming SoNaR Sound Navigation and Ranging US United States V2I Vehicle-To-Infrastructure V2V Vehicle-To-Vehicle WASP Wallenberg Artificial Intelligence, Autonomous Systems, and Software Program WHO World Health Organization Notation
z system states. u system control inputs. f(z, u) system dynamics. zr system states reference. ur system control inputs reference. z˘ z˘ = z − zr, system error with respect to the reference. ai|t variable a at time instant t + i predicted at time instant t. N number of prediction horizon points. T ut ut = [u0|t, u1|t, ..., uN−1|t] . T zt zt = [z0|t, z1|t, ..., zN|t] . N N0 set of all natural numbers from 0 to N.
N0, + set of all positive natural numbers including zero. R set of all real numbers.
R0, + set of all positive real numbers including zero. d(z, S) infimum Euclidean distance between point z and any other point in set S, i.e., d(z, S) = inf{|z − s| | s ∈ S}. ρ(A) spectral radius of matrix A. A ≺ 0 matrix A is negative-definite, equality means semi-definite. A 0 matrix A is positive-definite, equality means semi-definite. diag([A, A, A]) matrix with the diagonal filled with A matrices.
xvii
Chapter 1
Introduction
utonomous vehicles are becoming a reality and soon will be available to the A general public. In recent years, research for this technology has boomed, major vehicle manufacturers, suppliers, technology companies, and universities have started projects and collaborations with the objective of developing fully self-driving vehicles. This overwhelming interest comes from the endless possibilities and gains autonomous vehicles can bring to society and to planet Earth. This thesis focuses on the control of autonomous heavy-duty vehicles (HDV), such as trucks and buses (see Fig. 1.1). More specifically, it uses model predictive control (MPC), an optimization-based technique, to laterally control the vehicle to follow a path. HDVs present different challenges when compared to passenger cars, because of their big dimensions, slow dynamics, and abrupt dynamic changes during operation, e.g., a fully loaded truck which can weigh 40 t vs an empty one which weighs closer to 15 t. HDVs operate in highly constrained environments, e.g., trucks work in mining sites, which are highly disturbed and have tight maneuvering areas, and buses operate in city like environments, which often have badly parked vehicles and/or road construction, leading to very small clearance spaces. There- fore, the control for this type of vehicles needs to be accurate, i.e., tracking closely the path. Moreover, the steering actuation should be calm and smooth, since ag- gressive steering leads to higher wear and tear, decreasing the lifetime of the vehicle components, leading to higher operation costs. Additionally, fast steering can lead to unpredictable driving behavior and increased chances of rollover, which should be avoided at all times in order to achieve a stable and safe autonomous vehicle. This work is a cooperation between KTH - Royal Institute of Technology [1] and Scania CV AB [2], and is partially supported by the Wallenberg Artificial Intelli- gence, Autonomous Systems, and Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation [3]. Scania and the Division of Decision and Control Systems at KTH have a long lasting research collaboration, where over the years many topics related to HDVs have been investigated. According to the European Commission there are four main vehicle categories: M - vehicles carrying
1 2
Fig. 1.1: Scania bus and trucks experimental and research platforms (courtesy of Scania CV AB). passengers; N - vehicles carrying goods; L - 2 and 3 wheeled vehicles and quadri- cycles; T- Agricultural and forestry tractors and their trailers [4]. Furthermore, vehicles that belong to the M and N categories are classified as light-duty vehicles (LDVs), which are passenger cars and vans, or heavy-duty vehicles (HDVs), which are trucks, buses, and coaches [4]. More specifically, HDVs are defined as freight vehicles with more than 3.5 t, or passenger vehicles with more than 8 seats [5]. The rest of this chapter is organized as follows. Section 1.1 details the global need for autonomous vehicles. A definition for autonomous vehicle is provided in Section 1.2, followed by the introduction of some specific applications and challenges in these vehicles. Finally, in Section 1.3 this thesis problem statement is presented, together with the research challenges and the thesis outline and main contributions.
1.1 Motivation
Climate change continues to happen endangering Earth life as we know it. The need for cleaner and more efficient means of transportation is now bigger than ever. Furthermore, safety is also a growing concern for road users. On the other hand, population and economic growth demand better, faster, more convenient and reliable transportation, which leads to an increase in the overall number of vehicles, in turn increasing pollution and decreasing safety. All in all, autonomous vehicles in conjunction with other new and emerging technologies, such as, e.g., connectivity and electrification, will help improve and reduce the harmful effects of road transportation. More specifically, new technologies in HDVs can improve operation in all mentioned aspects in many applications, consider the examples presented in Fig. 1.2. The following subsections shed some light on the impact and importance that autonomous vehicle technology has and will have globally, by presenting a three- pronged motivation: environment; health and safety; and economical. 1.1. MOTIVATION 3
(a) Three truck platoon. (b) A truck clearing snow.
(c) A truck being loaded with a container. (d) A truck being loaded in a mine.
(e) A truck transporting harvested logs. (f) An electric bus at a charging station.
Fig. 1.2: Examples of applications, where vehicle automation is beneficial (courtesy of Scania CV AB). 4
1.1.1 Environment Motivation
The total number of vehicles in the world is hard to know precisely but a good estimate is 1320 M in 2016 for cars, trucks and buses [6]. This number has been increasing, in fact just recently, in 2017, the United States (US) (273 M registered vehicles [7]) has been surpassed as the country with most number of cars in the world by China with a staggering 300 M registered vehicles [8]. Moreover, the yearly compiled statistical analysis, done by the European Com- mission, shows that in 2016, 21.10 % of the total human-related CO2 emissions in the European Union (EU) were caused by road transportation. Looking at the reports from previous years it is clear this number has slightly increased from 20.46 % in 2014 and 20.77 % in 2015. The same trend is noticeable in green house gases (GHG), in 2016, 17.64 % of the total human-related emissions in the EU were caused by road transportation. Which has also increased from previous years, in 2014, 16.89 % and, in 2015, 17.13 %. [9–11] When comparing HDVs with passenger cars an interesting trend can be seen, in both GHG and CO2 emissions, the share of the emissions for HDV is growing in respect to the share of cars emissions. In the 2015-2016 time-frame, HDVs emissions share grew by ≈ 0.4 percentage points (to ≈26.2 % emissions share). At the same time, conventional cars saw their emissions share decrease from ≈61.1 % to ≈60.7 %. The share for the other means of road transportation has kept mostly constant. [9, 10] An important technology that will help reduce road transport pollution is elec- tric vehicles (EV) (plug-in and battery electric). The number of EV worldwide is up from 3.4 M in 2017 to 5.6 M in 2018 [12]. However, when compared to the 1320 M total number of vehicles worldwide [6], the share of EV (0.4 %, vs the number in 2016) is still very small. Nevertheless, of all new car registrations, EV comprised around 1.5 % in the EU in 2017. The share of registrations is not the same for all countries, e.g., in Sweden, electric vehicle registration is 5.5 % of all new cars. Norway is the clear world leader with 39.2 % of new car registrations being electric vehicles. The share for new EV has been rising from circa 0.2 %, in 2012, to circa 1.5 %, in 2017, in the EU. [13] The expected impact of autonomous vehicles in the environment is not easy to predict. According to a study done by the National Renewable Energy Laboratory of the US Department of Energy [14], if only the energy benefits of self-driving vehicles occur, 90 % of fuel savings is expected to happen. On the other hand, if only the possible disadvantages are considered, the energy usage can increase to more than 250 %. All in all, the authors say that most likely the technology will lead to fuel savings. The concerns with the possible increase in energy use have been expressed by many (e.g., [15–17]) and are mostly related with use intensity increases, i.e., since riding a car will be cheaper and easier than ever, people might take more trips or do bigger commutes to work, leading to more kilometers driven. According to Fisher et al. [18], industrial automated systems (e.g., autonomous mining trucks) are more efficient and precise, not only increasing equipment up- 1.1. MOTIVATION 5 time, but also reducing resource consumption. This results in a more environmental friendly mining operation since energy consumption is more efficient and less waste is generated. Further, according to the North American Council for Freight Effi- ciency, a two-truck platoon can lead to nominal fuel savings of 10 % for the trailing vehicle and 4 % for the leading vehicle, when compared to the vehicles driving sep- arately by themselves. Moreover, in [19] van de Hoef shows platoon coordination is crucial to fully exploit the potential of HDV platooning for reduced fuel con- sumption and presents simulations to showcase the gains of having large number of HDVs platooning. All in all, autonomous vehicles have the potential and capability of helping the environment. The concerns about use intensity increase are not to be taken lightly, but further improvements in related technologies, and correct education of society, to continue increasing the usage of car-sharing and public transportation, are key to mitigate this problem. In particular for HDVs, the gains are clearer, since the use intensity is economically driven, the optimization of resources is set from the start, and the kilometers driven are automatically minimized.
1.1.2 Health and Safety Motivation Health concerns for drivers is an everyday topic, specially when it comes to truck driving. Long-haul truck driving is a demanding profession, not only because of the endless driving hours, but also because the driver is seldom at home and is always on the job. Sieber et al. in [20] presented the results of a health survey of U.S. long-haul truck drivers, and report that obesity (69 % vs 31 %) and current smoking (51 % vs 19 %) were twice as prevalent in long-haul truck drivers as in the US adult working population. Furthermore, 61 % of the interviewees reported having two or more of the following risk factors:
• Hypertension;
• Obesity;
• Smoking;
• High cholesterol;
• No physical activity;
• 6 h or fewer of sleep per 24 h period.
These risk factors are known to increase the risk of other health problems [21, 22]. Furthermore, these are not just US specific, e.g., a study made in Australia [23] shows that truck drivers may use more stay-awake drugs, such as smoking, to help combat fatigue. Moreover, the health problems experienced by truck drivers are not limited to physical conditions, according to Garbarino et al. [24], truck drivers also experience mental health problems such as, stress, anxiety and depression. 6
Health hazards in mines have been studied for a long time. In 1978, Cho et al. [25] described the situation in mines at the time with regard to their conditions, and their influence on diseases and disabilities. Some of the hazards mentioned are:
• Accidents; • Dust, including poisoning by certain ores; • High temperature and humidity; • Noise and vibration; • Toxic gases.
These hazards can result in multiple health problems, e.g., contusions, fractures, lung diseases, ore poisoning, and hearing impairment [25]. Overtime, the conditions in mines have improved but there are still health risks present, e.g., the US Na- tional Institute for Occupational Safety and Health reports [26] that coal workers’ pneumoconiosis (a lung disease) is the underlying contributing cause of death for 4118 workers from 2007 through 2016. Road transportation is the most dangerous means of transportation [27]. The World Health Organization (WHO) reports [28] that approximately 1.35 M people die from traffic crashes each year, that road traffic injuries are the 8th leading cause of death for people of all ages, and more specifically the 1st cause of death for children and young adults (aged 5 − 29 years of age). Moreover, in [29] the WHO states that between 20 M and 50 M more people suffer from non-fatal injuries, that can lead to disabilities. The WHO enumerates some risk factors for road traffic accidents [28, 29]:
• Speeding; • Driving under the influence (alcohol and drugs); • Not using motorcycle helmets, seat-belts, and child restraints; • Distracted driving (e.g., use of mobile phones); • Unsafe road infrastructure; • Unsafe vehicles; • Inadequate post-crash care; • Inadequate law enforcement of traffic laws.
Many of these risk factors are caused by human error, in fact a study [30], by the National Highway Traffic Safety Administration from the U.S. Department of Transportation, shows that 94 % of the times an accident occurs, the accident’s critical reason is attributed to the human driver (for data collected between 2005 1.1. MOTIVATION 7 and 2007). Removing the human from the driving task will improve overall health and safety [18, 31–34]. The health risks and problems for humans in the commercial applications men- tioned (long-haulage and mining) are mitigated, since autonomous vehicles will perform the task without any physical human presence. Note, that to achieve this it is not a requirement to have fully autonomous vehicles, related technologies, such as tele-operation [35], can enable partially automated vehicles to be remotely con- trolled by an operator in necessary situations, that the automated vehicle is still not able to take care on its own. Once again, by removing the human from the equation the risk factors for road accidents are also reduced. Driving under the influence of alcohol, distracted driving, speeding, and inadequate law enforcement of the traffic laws, will be com- pletely mitigated, since the vehicle is programmed to follow the rules, and it cannot be distracted. Furthermore, these vehicles are equipped with the latest safety tech- nologies, so even if they were human driven they would be automatically safer than older vehicles. Moreover, these vehicles will be able to detect faster that an accident is eminent, and also react faster to an accident, which will most likely lead to faster and more adequate post-crash care. On the other hand, autonomous vehicles might bring other safety risks, e.g., connected autonomous vehicles are more prone to be hacked and could possibly be forced to cause collisions and gridlocks [36]. All things considered, autonomous vehicles are bound to improve health and safety for users. New safety risks need also to be investigated and mitigated, which will be possible with the improvement of cybersecurity and other related technolo- gies. For HDVs, the gains are even more straightforward than for normal passenger cars, since the health risk associated with commercial driving disappears automat- ically by the removal of the physical human driver.
1.1.3 Economic Motivation In 2019, the world population was 7.713 billion and is expected to be 8.548 billion by 2030 [37], so the need for goods and transport will also grow. The number of kilometers driven per year is higher than ever, the US Federal Highway Adminis- tration reports that the yearly average traveled vehicle kilometers for all US roads has increased 0.63 % in 2019 with respect to 2018 [38]. This trend is also noticeable in the EU, in 2016, each person inside the EU did 10 784 km by road transportation on average [9]. This is an increase of 1.96 % from the previous year (10 577 km in 2015) [10]. Moreover, there was also a 4.76 % increase in the t-km amount of goods transported by road inside the EU from 2015 to 2016 [9, 10]. Road transport is the main means of transport inside the EU. It accounts for 49.3 % of the total goods transported in 2016, coming in more than 15 % before the second most used mean, maritime transportation (32.3 %). In terms of passenger transport, the difference is even bigger, road transport accounted for 81 % (71 % - passenger cars, 1.9 % - powered two-wheelers, 8.1 % - buses and coaches) of the total passenger transport, the second most used mean is air, accounting for 10.5 %. [9] 8
The WHO [29] says that road traffic injuries cause economic losses not only to the individuals who suffer them, but also their families, and nations. These costs come from the treatment, and the loss of productivity caused for the individual and their families that need to take time off to take care of the injured. They also say that most countries spend 3 % of their gross domestic product (GDP) in traffic crashes. The World has seen an increase in truck driver shortage in recent years, and this problem is estimated to get worse [39–41]. For example, in the US there was a shortage of roughly 60.8 k drivers in the trucking industry in 2018, an increase of nearly 20 % from 2017 [42]. The same study [42] by the American Trucking Associations reports that if the same trend holds up, the shortage of drivers in the US can be bigger than 160 k by 2028. In [41], McKinnon et al. enumerate the reasons for the current driver shortage:
• Growth in the demand for road freight transport - in many countries the freight transport growth is closely coupled to economic growth;
• Relative unattractiveness of the occupation - unappealing professional to po- tential recruits;
• Low wage rates - low incentive to enter the profession;
• Working conditions - unsocial hours, poor amenities, and stress;
• Changing nature of the job - less job satisfaction because of performance monitoring, and less sense of adventure;
• Public image - is often poor and the drivers’ social status is considered low;
• Increased regulation - tightened controls on drivers hours;
• Demographics - it is an old sector that does not attract young people;
• Qualification requirements - high levels of qualification and certification deter potential recruits;
• Industry structure - almost half the drivers are also owners.
There is no single solution to this problem, and some solutions are proposed in the study, one such solution is platooning and automation. This offers technical fixes to the problem: in the case of platooning, allowing a convoy of trucks to be driven by a single driver while the rest of the drivers would be resting, and, in the case of full automation, replacing the driver. The demand for raw materials is also growing with the technological, population, and economical developments [18,43]. In [18], Fisher et al. explain that the decrease accessibility and/or quality of the mineral deposits, lead to increases in capital and labor needed to extract meaningful and useful quantities of resources. Fisher et al., 1.1. MOTIVATION 9 argue that ”automation essentially substitutes capital for labor and other inputs to achieve the same or a better production outcome”, particularly in the case of mine sites, it will not only move mine workers to a safer environment, but also reduce the number of employees, as machine operators undertake multiple tasks simultaneously and take less time in shift changes. Moreover, by moving the workers elsewhere, the costs of transportation and housing of employees at remote mine sites are reduced, as well as, environmental and social impacts. These changes in work environment and conditions, might also help reduce the shortage of skilled workers that are willing to work away from home in inhospitable environments. Finally, Fisher et al. enumerate some of the possible efficiency gains from automation in mine sites:
• Increased up-time and machine utilization - remote controlled and automated equipment can be better utilized, e.g., usually following blasting there are significant delays, because humans cannot approach the site and these can be significantly reduced;
• Increased predictability, control, and precision - this eliminates unnecessary inefficiencies, e.g., unnecessary wear and tear and fuel consumption, since the equipment will operate more efficiently;
• Better maintenance - diagnostic tools that are part of the automated equip- ment allow faults to be identified more quickly, reducing the equipment down- time and the risk of catastrophic failures. Increasing the lifetime of the equip- ment, and saving on parts and fuel, by, for instance, making sure tire pressures are maintained at the correct levels.
In general, it is estimated that connected and autonomous vehicles (CAVs) will have a strong impact in the overall economy. McKinsey & Company [44] estimates that autonomous vehicles can lead to economic gains ranging from 200 billion to 1.9 trillion US dollars per year by 2025. From which, 100 billion to 500 billion US dollars would come from self-driving vehicles in the trucking industry. Clements et al. [45], note that most of the savings for the trucking industry would come from cutting the driver cost. In fact, a study made by the American Transportation Research Institute [46] shows that 42 % of the total average marginal cost per mile is related to driver wages and benefits. Furthermore, in [45], Clements et al. study the effects of connected and autonomous vehicles in 13 different industries, where some industries will see economic gains and others will see losses. But, overall, the authors conclude that CAVs will potentially have a positive impact of 1.2 trillion US dollars per year on the US economy.
The next section starts by clarifying the different levels of vehicle automation and their implications. Next, it presents some applications for autonomous vehicles. Finally, it introduces some of the different challenges autonomous vehicle technology is still facing. 10
1.2 Autonomous Vehicles
An autonomous or self-driving vehicle is a motorized vehicle that is capable of sensing, planning, moving, and interacting with its environment safely, without the active intervention of a human, or at least with limited human intervention. The standard J3016 was created by the Society of Automotive Engineers [47] to establish a clear responsibility definition of the autonomous vehicle system vs the human. This is the de facto standard (i.e., it is widely adopted by the public, industry, and academia) for automation of vehicles, and it enumerates 6 different levels of automation:
0. No Automation - The human driver is in complete control of the vehicle at all times;
1. Driver Assistance - The system helps the human driver with the control of the vehicle in some specific aspects, but in general the human driver is ex- pected to perform all aspects of the driving task. Some examples of systems helping the vehicle are: adaptive cruise control; lane-keep assist; and elec- tronic stability control. In this level, the system can only provide assistance in one steering or acceleration/deceleration at a time;
2. Partial Automation - The system is able to take control of both steering and acceleration/deceleration at the same time. An example of such an au- tomation is platooning. The human is still fully responsible for monitoring the environment and taking over if needed;
3. Conditional Automation - The system is now in control of all safety-critical functions, and is responsible for monitoring the environment and acting ac- cordingly. However, the human driver is still expected to respond if the system requests human intervention;
4. High Automation - The system is in complete control of the vehicle when requested by the human driver and under certain conditions, for which the system was designed. While in operation, the system initiates deactivation if the design conditions are no longer met, for example, a possible case would be extreme weather conditions. Furthermore, when the system requests de- activation, it needs to be able to handle situations where the driver does not take over immediately, by falling back to minimal risk conditions. When re- quested for control by the human driver, the system might delay deactivation if human control would compromise safety;
5. Full Automation - Given a destination the system is able to take the vehicle there. The system only deactivates if the human passenger/driver requests it (the system may delay disengagement for safety reasons), or if the vehicle has reached its destination. 1.2. AUTONOMOUS VEHICLES 11
This thesis considers the higher levels of autonomous vehicle automation, where the system is running by itself with no intervention from the human driver. How- ever, for safety reasons, in all experiments realized there is always a safety driver that is able to take over the vehicle at any time. Having defined the automation level for self-driving vehicles, it is important to understand what this technology can be used for and the challenges it still faces.
1.2.1 Applications Nowadays, advanced driver-assistance systems (ADAS) have been simplifying and slowly replacing the human driver in everyday tasks, e.g.: • Adaptive cruise control (ACC) - allows a vehicle to follow a specific speed while avoiding collisions with vehicles in front; • Lane centering - allows a vehicle to steer into the center of the lane of travel; • Automatic parking - allows a vehicle to move from a traffic lane to a parking spot; These systems are commercially available and when combined they can provide al- ready some level of autonomy. This is the case for the Tesla autopilot functionality which is classified as a level 2 automated system [48]. This functionality is designed to drive the vehicle to a destination, while suggesting and making (after human ap- proval) lane changes, navigating highway interchanges, taking exits, finally reaching the destination, and parking. The increasing presence of autonomous functionality on vehicles gives an idea of where the technology can go, and what can be done with it. There are many possible applications for autonomous vehicles. Consider, e.g., the following categories: long- haulage, industrial, and urban.
1.2.1.1 Long-Haulage Application One of the first applications that will start to appear in the upcoming years is pla- tooning for highway driving. This technology represents partial vehicle automation (level 2). In fact, McKinsey and Company, in [49], predicts that autonomous trucks will roll out in four waves: 1- platooning with driver in all trucks; 2- platooning with driver in the leading truck; 3- drivers pickup and drop-off the trucks on high- ways, where the vehicles drive themselves; 4- full autonomous trucks. Platooning consists of a group of HDVs driving at close inter-vehicular distances, this leads to decreased air-drag, leading to increased fuel savings and road capacity [50]. Pla- tooning already happens to some extent with normal driven HDVs, but, to fully exploit its beneficial effects, the vehicles need to drive very close together, which is not safe for human drivers. Automated HDVs are able to drive at such distances, due to accurate sensor perception, information from vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication, and precise automatic control. 12
1.2.1.2 Industrial Application Autonomous functionality will not only improve on-road driving applications, but also off-road. In fact, near-term autonomy is better suited for industrial applications such as, e.g., mining areas, construction sites, and loading terminals [51]. There are many advantages for a faster and simpler deployment of autonomous vehicles in industrial applications: • Well defined automation task with a clear and direct return on investment; • Fewer to no human-machine interactions, and the necessary interactions can be done by trained and specialized personnel; • Operation area is bounded and geo-fenced; • Safety requirements are more easily set, since the environment is controlled; • Legislation is simpler to uphold, because of the conditions and location where the vehicle is operating; In general, industrial applications, have more controlled environments that allow for targeted solutions to the problem, and do not need to generalize and work for all conditions. However, these applications also present their own specific challenges, since they are normally harsher environments than on-road driving. For example, mining areas, do not normally have smooth drivable surfaces, present dust clouds, and do not have a fixed map, i.e., the drivable area is in constant evolution with new drivable regions being created and previous ones being cut-off [52]. Autonomous solutions for industrial applications are already being tested and/or in operation. For example, Scania and Rio Tinto have already started testing an autonomous transport solution at Rio Tinto’s Dampier Salt mine [53]. Another example is the Yangshan deep water port in Shanghai, China, where the automation of many of the terminal’s functions reduces labor costs, increases handling efficiency, and reduces carbon emissions [54].
1.2.1.3 Urban Application Much of the recent public interest in autonomous vehicles is linked to one applica- tion of autonomous functionality, robo-taxis. As the name entails, a robo-taxi is a vehicle that provides the service of a taxi, but instead of having a driver it has an autonomous system making it a self-driving vehicle. This type of application opens up a lot of possibilities and is set to revolutionize not only the way society uses vehicles, but also related businesses, and even city design [55, 56]. A growing trend in the use of vehicles is mobility-as-a-service, i.e., instead of buying and owning a vehicle to move from point A to point B, the user pays for the service of being moved from point A to point B. However, with human driven vehicles, mobility-as-a-service was always very limited, because of the price associated with it. Self-driving vehicles mitigate part of this cost by removing the 1.2. AUTONOMOUS VEHICLES 13 driver, this leads to more affordable prices for the consumer, which in turn allows for mass adoption of the technology [57]. Due to the complex scenes and interactions with other agents, this type of appli- cation is most likely one of the hardest to develop and be able to guarantee safety. The next subsection gives an overview of some challenges autonomous vehicle tech- nology still faces.
1.2.2 Challenges Despite all the hype around self-driving vehicles, this technology, still faces chal- lenges before it is widely available and accepted by the public. Among other chal- lenges, not only the technology needs to mature, but also the infrastructure needs to be developed, consumer acceptance needs to be improved, and legislation needs to be implemented. [58]
1.2.2.1 Technology Maturity
Nowadays, ADAS systems seem to provide already some degree of autonomy, but they are still far from level 5 autonomy. ADAS combines the information collected by a set of sensors, such as, global positioning system (GPS), cameras, radio detec- tion and ranging (RaDAR) systems, and even light detection and ranging (LiDAR) systems to perceive their current position and environment, allowing the vehicle to act and respond according to the human driver requests [59]. These systems are able to combine sensor information to perform specific tasks to a certain level, but for higher levels of automation, the system needs to be improved. On the one hand, the necessary hardware for fully autonomous vehicles is likely to be available in the upcoming years, both in terms of computational power and in terms of sensing capabilities. On the other hand, software is and will remain the critical bottleneck for the technology. [60] The software required for higher levels of automation is still not good enough [60]. One of the most challenging tasks is sensor fusion and perception, i.e., fusing the information of all sensors to be able to detect and interpret the environment [61]. Some of the hardest challenges are related with the deterioration of sensor performance under specific conditions, e.g., cameras are affected by strong, low- angle sunlight, while LiDARs are affected by fog and snowfall. So, to have a good perception and estimation of the environment it is necessary to have multiple sensor sources that use different technologies, minimizing the risk of the vehicle becoming blind [62]. Furthermore, after perceiving its environment the vehicle still needs to be able to decide how to reach its goal, negotiate its motion with other agents, and act on it. This is not easy to do and represents tasks where humans are inherently good at. For example, a human driver is able to perceive when it must violate a traffic rule to proceed or overcome an obstacle (e.g., an illegally parked vehicle). Moreover, a human-driver can understand when to cross an intersection or not by looking 14 at other drivers and understanding their intentions, i.e., humans negotiate and agree with other agents easily. Both these examples, showcase the complexity and difficulties of creating a set of rules that represent all possible scenarios. So, high level autonomous systems need to have algorithms that are capable of generalizing and handling unpredictable situations in a reasonable amount of time. [63] Moreover, even if the full system is working, is it safe? Does it have fail-safe mechanisms? For example, a human driver is able to handle a flat tire and perform a safe stop, a fully autonomous vehicle also needs to handle this. I.e., how can one prove the system is working well in all possible situations? Testing, certification, and validation of these systems is a key concern when it comes to autonomous vehicles deployment [64]. Another related and important topic is security. Not only safe autonomous behavior is important, but also the connectivity aspect of this technology exposes it to other risks, e.g., like hacking [65]. A recent study [36] shows that, for Manhattan, when 10 -20 % of vehicles are hacked at rush hour half the city became inaccessible to the rest. Furthermore, hacked vehicles can force collisions, posing a risk not only to the vehicle’s passengers but also other road users. All in all, an indicator that the technology is not mature yet and still experimen- tal is its high cost. There is no exact price released for a fully autonomous vehicle, and the price tags are bound to change before these vehicles are commercially avail- able. However, in general, the autonomous system hardware and software price can range from 70 k to 150 k US $ [66], other estimates are even more expensive, e.g., in [67], a simple analysis of hardware cost leads to a price tag of 250 k US $. How- ever, this cost is expected to decrease with the increase production of hardware components needed for these systems, e.g., Waymo started selling its LiDAR to other companies for exactly this reason [68, 69]. The combination of different sen- sor setups and software technology can also lead to different system costs, but there is still no clear winner when it comes to the sensor setup [60].
1.2.2.2 Infrastructure
The environment where an autonomous vehicle is deployed also plays an important role when it comes to automation of vehicles [62]. Nowadays, roads around the world do not look the same nor are they built in the same way. This makes the generalization of autonomous vehicles harder. Consider, e.g., traffic lights, road signs, lane markings, bus stops, and road material, these can change from country to country, and even from city to city [62]. These differences make the higher levels of automation a harder problem. If everything was standardized it would be much easier to program the vehicle to interpret and act on its environment. It is expected that new infrastructure being built becomes more standardized and smart, e.g., consider radio transmitters installed in traffic lights (and eventu- ally replacing them) to inform the nearby vehicles of their current status [70]. This would not only simplify the task of sensing and interpreting the information from traffic lights, as it would also improve the range in which the information would be 1.2. AUTONOMOUS VEHICLES 15 available, since line of sight would no longer be a requirement to know the color status of the traffic light. Other examples of smart and connected infrastructure are, smart intersections [71] and smart roads [72]. Smart intersections, contain fixed sensing and computation hardware to detect and warn of eminent dangers to nearby vehicles, helping human-drivers (and eventually autonomous vehicles) ap- proaching the intersection. Smart roads, can not only provide network connectivity to vehicles, but also real-time information about traffic, road conditions, and/or possible accidents. They can even act as a sensor input for autonomous vehicles, since they can provide information about vehicle position and velocity on the road. Autonomous vehicles are normally linked with connected vehicles, since con- nectivity brings new possibilities and simplifies the automation task. While there are already multiple connectivity options deployed and operational (2G-4G), which provide connectivity to multiple internet of things applications, the higher capac- ity, data rate, and lower latency, makes 5G the ideal choice to maximize safety and efficiency of road transportation [73]. The current network infrastructure presents multiple challenges, e.g., current roaming solutions are designed to support single users traveling outside the coverage of their home networks. This presents many difficulties, as the current architecture is designed to route all traffic to the home network first. This increases latency1 and it is a problem for the latency-critical and/or high data throughput automotive case. Another problem is that when switching networks after losing coverage of the home network, the mobile device loses connectivity for some time (up to 120 s), this is a serious problem for a safety- critical application like autonomous driving [73]. Furthermore, for vehicles to be able to communicate to other vehicles (V2V) or infrastructure (V2I), communica- tion and message standards need to be set and agreed by all. This problem has been recognized by researchers and initial strides were already made to solve it, e.g., consider both Grand Cooperative Driving Challenges (GCDC) held in 2011 [74] and 2016 [75]. However the communication issue is still not solved, after GCDC 2016, Ploeg et al. in [76] conclude that the current standardized message sets did not support the cooperative maneuvers to a sufficient extent. A recent study done by KPMG [77] where 25 countries are compared on how prepared they are for autonomous vehicles, shows that in terms of infrastructure the most prepared countries are The Netherlands and Singapore, and the least prepared are Brazil and Russia. The study takes into consideration, among other factors, the quality and coverage of mobile network, the density of electric-vehicles charging stations, and road quality.
1.2.2.3 Consumer Acceptance and Awareness
One of the big barriers to autonomous vehicles is public acceptance and awareness of the technology. According to a survey made by Pew Research Center [78], 56 % of
1For networks, latency is the amount of time it takes a packet to travel from source to desti- nation. 16
Americans would not ride in a driverless vehicle, and 87 % would favor a requirement that all driverless vehicles have a human safety driver that can take over in case of emergency. Furthermore, a recent study by Hewitt et al. [79] conducted with people living in the US, shows that users are less accepting of higher levels of autonomy vs the lower levels, and also displayed less intention of using highly autonomous vehicles. On the other hand, KPMG’s study [77] reports that both the US and the United Kingdom are the bottom two countries when it comes to consumer acceptance, so these numbers might be different in other countries. According to KPMG’s study [77], Indians and Mexicans are the top 2 countries when it comes to consumer acceptance.
One of the key aspects influencing consumer acceptance is safety. A study done by Moody et al. on international perception of autonomous vehicle safety [80], shows that countries with higher motorization rates and lower road death rates tend to report worse perceptions of autonomous vehicles safety, which indicates that consumers in developed countries are less optimistic of autonomous vehicles than those in developing countries. Moreover, Moody et al. find that across all countries young males report higher current perceptions of autonomous vehicle safety and fewer years until they are safe enough to use, which the authors argue could lead to more rapid manifestations of road safety benefits, given that young males are the part of the population most linked to risky driving and pedestrian behavior. The perception of safety by the general public gets highly influenced by mass media coverage of road accidents involving autonomous vehicles, e.g., the Uber accident that killed a woman in 2018 [81]. But one most also not forget that on average 3698 people die per day due to road accidents, and a lot more people are injured or disabled [28]. The difference is that these accidents are already part of everyday life and, usually, do not get the same media coverage. Mass media coverage is a good thing, since it raises safety and technology maturity issues, however singled out examples of when this new technology failed, should not be taken as the ultimate safety analysis of the technology.
Safety is also linked to ethical and social dilemmas, e.g., consider the following one presented in [82]: An autonomous vehicle is driving on a road and a collision is eminent, either it kills several people that are crossing the road or it can swerve and kill a passerby. What should the vehicle do? What if the decision is between a pedestrian crossing the road and the passenger of the vehicle? What if it is between several pedestrians crossing and its own passenger? This dilemma can be endlessly modified with different nuances, e.g., are the pedes- trians crossing the road in a designated area such as a crosswalk, or saving one or multiple children vs saving one or multiple elderly people. In [82], Bonnefon et al. found that study participants tended to agree that utilitarian autonomous 1.2. AUTONOMOUS VEHICLES 17 vehicles2 would be better for everyone, but they would prefer to ride in autonomous vehicles that protect their passengers at all costs. Although these ethical dilemmas are important and should not be ignored, Holstein et al. [83] argue that the focus should be on practical technological solutions and their social consequences, rather than on idealized unsolvable problems, that even humans have problem solving and that do not have a general solution under all circumstances. Another issue that influences consumer acceptance is the replacement of many jobs by autonomous vehicles and what happens to the people that got unemployed [84]. A prediction made by the International Transport Forum in 2017 [85], shows that of the 6.4 M potential driver jobs in 2030, between 3.4 to 4.4 (53.1 -68.8 %) would become redundant if driverless trucks are deployed quickly. Note that this does not necessarily mean all those drivers will be made redundant, in fact it is predicted that by 2030 about 5.6 M drivers will be available and willing to work under current conditions, so this also means that if nothing is done the truck driver shortage will continue. Moreover, not all is grim when it comes to jobs, because autonomous vehicles are also creating them [86,87]. Besides the obvious jobs related to developing, building, and selling these vehicles, other jobs are being created, e.g., special technicians, dispatchers, and general support staff at warehouses and delivery locations [87]. Furthermore, when it comes to the mining industry Cosbey et al. [88] predict that jobs will be created in the development, observation, service, and maintenance of remotely controlled autonomous equipment as well as in data processing, systems, and process analysis.
1.2.2.4 Legislation
Legislation for autonomous vehicles is one of the big challenges, not only in terms of deployment and liability, but also in terms of software development. A human- driver breaks the law while driving to avoid worst outcomes, e.g., consider a child running into the street in front of a car, a human-driver swerves over a double line to avoid the child, an autonomous vehicle should make the same decision (assuming there are no other consequences other than breaking the law) [89]. This means that the autonomous vehicle needs to be programmed to break the law when needed. The issue then becomes when should the system break the law, how to define what is acceptable or not. Note that the autonomous system will make its decisions based on probabilities and predictions, so there will be a need for hard number definitions on the software of what is acceptable or not. In contrast, legislation can also help alleviate the problem with ethical dilemmas such as the one presented in the previous subsection [82]. A period of transition where fully autonomous, semi autonomous, and tradi- tional driven vehicles will coexist is bound to happen. And this period of transition will also happen for the liability of a vehicle accident, i.e., nowadays when there
2An utilitarian autonomous vehicle makes the decision based on greater good, i.e., in the dilemma it would sacrifice its passenger and save several pedestrians crossing the road. 18 is a road accident the driver and its insurance are liable for the damages, and this is bound to shift to the companies behind the hardware and software that is driv- ing the autonomous vehicle. In fact, e.g., Volvo already declared that it would pay for any injuries or property damage if its IntelliSafe Autopilot system causes a crash. [90] When it comes to deployment of such a system there are a lot of things to consider and legislation, many times, makes it harder. Different countries have different road legislation, e.g., in most countries the vehicle drives on the right side of the road, but in some, e.g., the United Kingdom, the vehicle drives on the left side of the road. Autonomous systems need to be prepared to cross borders and change and adapt to the local traffic laws. Furthermore, the current autonomous vehicle legislation varies from country to country and everyone is in a race to be the leader when it comes to autonomous technology leading to new laws and legal frameworks being proposed and approved by different countries regularly [91]. This race also leads to some lack of cooperation between countries, so even the new laws being created are not standardized [92], which will make the deployment of autonomous functionality harder, due to the different requirements in each country. KPMG’s study [77] on autonomous vehicle readiness, reports that the two coun- tries most prepared in terms of legislation and policy are Singapore and the United Kingdom, while the least prepared are Mexico and Brazil. Singapore’s government is working hard to consolidate the city-state’s positions as a center for autonomous vehicles, and it has already announced that from 2022 on some areas will use driver- less buses and shuttles for off-peak and on-demand commuting [77].
The next section presents the research challenges and questions this thesis ad- dresses.
1.3 Problem Statement
The autonomous vehicle system objective is to complete missions while driving it- self. For example, consider the mission of going from city A to city B. First, the vehicle needs to decide how to reach the destination by defining a route (which roads to take, which exits, etc.). Second, the autonomous vehicle understands how its current environment looks like using sensors. Moreover, the vehicle localizes itself, other road users, and obstacles. Third, the system predicts how the environ- ment will look like in the future, to understand what actions it can make safely. Fourth, the autonomous vehicle plans a local path to avoid obstacles and follow the overall planned route, taking into consideration the predicted obstacles and road-users. Finally, the system controls the vehicle to follow the local plan. All of this sub-problems can be viewed as building blocks that together compose the autonomous vehicle system. The considered autonomous vehicle architecture is detailed in Chapter 2. This thesis addresses the motion control problem for autonomous HDVs, in par- ticular the lateral control problem. The objective of the control module is to make 1.3. PROBLEM STATEMENT 19
Planned Path Initial vehicle position Vehicle path [m] Y
X [m]
Fig. 1.3: Vehicle lateral control example.
the vehicle track the local plan received. The motion control module can be fur- ther partitioned in sub-modules (Chapter 3), where the two main sub-modules are longitudinal and lateral control of the vehicle. The longitudinal control module re- sponsibility is to control the vehicle speed, making it follow a speed profile, braking at a desired point, etc.. Compared to a human driver it controls the brake and throttle pedals of the vehicle. The lateral control module of the vehicle is the main focus of this thesis and can be explained with the example presented in Fig. 1.3. In Fig. 1.3, the vehicle is represented by the red dot and the local plan is presented in black. Considering the vehicle is moving, the lateral controller makes the vehicle steer onto the path, achieving the path presented in red. Compared to a human driver it controls the vehicle steering-wheel angle to make the vehicle turn. The motion control module objective is to follow the path, while providing a safe and comfortable ride and respecting actuation constraints. Furthermore, the motion controller has to control the vehicle considering the current environment conditions and disturbances. For example, the vehicle can be driving over different surfaces, such as, snow, ice, gravel, dirt, asphalt, and can be disturbed by wind gusts or potholes. Additionally, the controller needs to be fast and light in order to be real-time, such that it can be implemented and experimented with real vehicles. Note that there are limited computation resources on the vehicles, and these are shared among all modules. Finally, the controller should also be general in order to be used with different vehicles, e.g., a truck and a bus, with minimum model and/or parameter changes. 20
There are still many open questions when it comes to motion control of au- tonomous vehicles. The following questions summarize the work presented in this thesis:
• How can robustness be guaranteed for a linear time-varying (LTV) controller formulation, when the system is subject to unknown but bounded input and state disturbances?
• How to achieve the desired smooth and calm vehicle behavior, while handling time-varying safety and actuation constraints, and maintaining tracking ac- curacy?
• How to handle interface disturbances between motion planning and control modules, e.g., different vehicle models and different computation methods?
• How to modify the common kinematic bicycle model, such that better closed- loop performance is obtained when the modified model is used in the con- troller?
The next section presents the outline, detailed chapter contents, and contribu- tions of this thesis.
1.3.1 Thesis Outline and Contributions This section outlines the remainder chapters of this thesis and their contributions. Chapters marked with an * contain experimental evaluations.
Chapter 2: Background This chapter introduces the system architecture for autonomous driving and pro- vides a literature review for each module. First, the long term goals of the system are planned with a route planner. Then, the vehicle sensors interface with the per- ception and localization modules for the system to be able to localize and under- stand its environment. This scene is then analyzed and evaluated by the situational awareness module that in turn decides the best action to achieve the desired goals. After, the motion planner module uses this action to create a feasible obstacle-free local plan for the vehicle to follow. Finally, the motion controller module makes use of the vehicle actuators to track the desired local plan. In the end of the chapter, the main concepts for discrete control and optimization used throughout this thesis are introduced.
Chapter 3: Control Module Architecture This chapter introduces in detail the architecture considered for the control mod- ule. This module receives the planned trajectory/path from the motion planner as 1.3. PROBLEM STATEMENT 21 well as the current vehicle position from the localization module. First, a future vehicle position is predicted from the current position and previous control requests to account for the actuation delay of the vehicle. Then, using the predicted posi- tion the motion plan is sampled and references for both the lateral and longitudinal control are obtained. The longitudinal control is done through a velocity request to the vehicle velocity controller. The lateral controller makes a vehicle curvature request that is transformed to a steering-wheel angle request using a vehicle spe- cific nonlinear mapping. The steering-wheel angle request is then tracked by a lower level controller that actuates a servo motor. Finally, throughout this chapter assumptions made by the controller are presented.
Chapter 4: Linear Time-Varying Robust Model Predictive Control This chapter presents a robust model predictive controller for discrete-time nonlin- ear systems. The controller prediction model uses a linearized time-varying version of the original discrete-time system. Moreover, the optimization problem includes the initial nominal state of the system, which is constrained to be in the vicinity of the measured real system states. This allows to guarantee robust exponential stability of the disturbance invariant set for the discrete-time nonlinear system that constraints the initial nominal position. The proposed controller is posed as a quadratic program and real-time capable. After, the proposed control method is verified through simulations of an autonomous vehicle application example. Fi- nally, the limitations of the proposed approach are discussed with the help of a more constrained autonomous vehicle example. The chapter is primarily based on the publication:
• G. Collares Pereira, P. F. Lima, B. Wahlberg, H. Pettersson, and J. M˚artensson. Linear Time-Varying Robust Model Predictive Control for Discrete-Time Nonlinear Systems. In 2018 IEEE Conference on Decision and Control (CDC), pages 2659-2666, Dec 2018.
Chapter 5: Reference Aware Model Predictive Control* This chapter presents a path following controller for autonomous vehicles, making use of the linear time-varying MPC framework. The controller considers control input rates and accelerations to account for limitations in the vehicle steering dy- namics and to provide a safe and comfortable ride. Moreover, the controller includes a method to systematically handle model references generated by motion planning algorithms that consider different vehicle models from the controller. Additionally, this chapter presents a vehicle specific model modification for lateral control of autonomous vehicles. The standard kinematic bicycle model yaw-rate is modified, introducing a curvature dependent function, to better predict the vehicle curva- ture response. The controller and model modification are verified and compared to 22 the SA-MPC [93] through simulations and experimentally with a modified Scania construction truck. The chapter is primarily based on the publications:
• G. Collares Pereira, P. F. Lima, B. Wahlberg, H. Pettersson, and J. M˚artensson. Reference Aware Model Predictive Control for Autonomous Vehicles. To ap- pear in 2020 IEEE Intelligent Vehicles Symposium (IV);
• G. Collares Pereira, P. F. Lima, B. Wahlberg, H. Pettersson, and J. M˚artensson. Nonlinear Curvature Modeling for MPC of Autonomous Vehicles. To appear in 2020 IEEE 23rd International Conference on Intelligent Transportation Systems (ITSC).
Chapter 6: Conclusions and Future Work This chapter summarizes the work presented in the thesis and outlines future re- search directions.
1.3.2 Other Publications by the Author The following publications by the author influenced the work presented, but are not covered in this thesis:
• G. Collares Pereira, L. Svensson, P. F. Lima and J. M˚artensson. Lateral Model Predictive Control for Over-Actuated Autonomous Vehicle. In 2017 IEEE Intelligent Vehicles Symposium (IV), Los Angeles, CA, 2017, pp. 310- 316;
• S. Kokogias, L. Svensson, G. Collares Pereira, R. Oliveira, X. Zhang, X. Song, and J. M˚artensson.Development of platform-independent system for cooperative automated driving evaluated in GCDC 2016. IEEE Transactions on Intelligent Transportation Systems, 19(4):1277-1289, April 2018;
• P. F. Lima, G. Collares Pereira, J. M˚artensson,and B. Wahlberg. Progress maximization model predictive controller. In 2018 21st International Con- ference on Intelligent Transportation Systems (ITSC), pages 1075-1082, Nov 2018;
• P. F. Lima, G. Collares Pereira, J. M˚artensson,and B. Wahlberg. Experi- mental validation of model predictive control stability for autonomous driving. Control Engineering Practice, 81:244-255, 2018;
• R. Oliveira, P. F. Lima, G. Collares Pereira, J. M˚artensson, and B. Wahlberg. Path planning for autonomous bus driving in highly constrained environ- ments. In 2019 IEEE Intelligent Transportation Systems Conference (ITSC), pages 2743-2749, Oct 2019; 1.3. PROBLEM STATEMENT 23
The publications are ordered by date. In the presented publications the thesis author has participated actively in the discussions and derivations of the theory and results, as well as, in the paper writing.
Chapter 2
Background
riving is a hard and complex task, which humans are used to and do without D significant difficulty. For an autonomous vehicle, this task is divided in many smaller sub-tasks, and each sub-task addresses a specific challenge. This chapter introduces the fundamental modules of an autonomous vehicle system. Namely, route planning, perception, localization, situation awareness, motion planning, and motion control. Section 2.1, presents the modules and a brief literature review of solutions developed for each. Special attention is given to the motion control module, since this is the main focus of this thesis. Then in Section 2.2, the necessary concepts of discrete optimization and control theory are defined. Finally, in Section 2.3 a summary of the chapter is presented.
2.1 Autonomous Vehicle Modules
This Section describes the main modules of an autonomous vehicle system. For each module it describes its objective and provides a short literature review. Fig. 2.1 presents an overview of the system architecture1. Six modules are highlighted in the figure: route planning; perception; localization; situation awareness; motion planning; and motion control. Both vehicle sensors and vehicle actuators are repre- sented in the figure for completeness. However, they will not be introduced in this Chapter since it is focused mostly on software (i.e., methods, algorithms).
2.1.1 Route Planning The route planning module objective is to provide a high-level plan to achieve the mission goal. For example, a mission goal can be going from city A to city B, and the plan should specify which roads to take, which lanes to keep, which exits to take, and eventually provide alternative routes.
1Other modules could be considered for an autonomous system, but the ones presented rep- resent a minimal and typical system representation.
25 26
Route planning
Vehicle sensors
Perception Localization Pedestrians GPS Other vehicles Lane-markings Traffic lights Features Free space 3D-map
Situation awareness Scene understanding and prediction Behavior selection
Motion planning Path planning Trajectory planning
Motion control Lateral control Longitudinal control
Vehicle actuators
Fig. 2.1: System architecture of an autonomous vehicle (adapted from Lima [94]). The software modules introduced in this Chapter are highlighted in gray.
The route obtained can be optimal with respect to different metrics, i.e., it could be the shortest route between two points, or the fastest, or the cheapest, etc. The decision and choice depends on the application and ultimately the user. This functionality is very similar to what is already commercially available in GPS navigation solutions. Consider Google maps [95], it already provides many of the aforementioned features, and takes it some steps further. It gives multiple means of travel, like public transportation, plane, and car. In the public transportation case it even lets the user know how crowded it normally is at specific times [96]. Route planning makes use of a road network (normally contained in a map), which is usually represented as a directed graph. The graph edge weights, i.e., the cost of going through a specific road segment, is where the specific application or user choice of the optimal route comes into play (this cost can also be a combination 2.1. AUTONOMOUS VEHICLE MODULES 27 of multiple objectives). There are many different algorithms to solve the routing problem, probably the most well known is Dijkstra [97]. Dijkstra’s algorithm is the standard solution to the one-to-all shortest path problem. The algorithm iteratively goes through every vertex and arcs starting from the initial vertex. It iteratively updates the cost of each connected vertex, by adding the current cost to the cost of traversing the arc to that vertex [98]. Many improvements have been proposed to Dijkstra’s algorithm, and other algorithms that, e.g., have goal-directed approaches, or hierarchical techniques. For a comprehensive study of this topic, the reader is referred to a survey by Bast et al. [98]. Although route planning is a well known problem and already has well known solutions, there are still some challenges. A typical situation in route planning, is to have an agent planning and optimizing individually its own route, which might not be optimal when considering other agents. This can happen for several reasons, such as unusual traffic congestion due to many agents wanting to go through the same road at the same time, or possible fuel savings for HDVs obtained by platooning. To solve such issues, the vehicles need to not only think about themselves, but also consider other agents and current traffic trends. For platoon planning and coordination the reader is referred to the review by Bhoopalam et al. [99], where the authors conclude that there are still open challenges related to optimization, uncertainty, sustainability, and network design. Being a high-level mission planner, route planning can be done locally on the vehicle or centralized by a global coordinator. Either way, it is mostly not affected by the immediate surroundings of the vehicle. For that reason, in Fig. 2.1, it is presented above the vehicle sensors. All other modules are periodically using infor- mation at high frequencies from the vehicle sensors, and, therefore, are presented below them.
2.1.2 Perception A human is able to drive a vehicle because he (she) is able to sense and perceive the environment through mostly his (her) eyes but also his (her) ears. Human drivers are able to see and hear their surroundings, and, from that information, perceive what is happening around them, acting accordingly. An autonomous ve- hicle needs to be able to do the same, in fact the equivalent to eyes and ears for an autonomous vehicle are vehicle sensors, and the equivalent to the human perception and interpretation capability is the perception module of the vehicle. The perception module is responsible for detecting, identifying, classifying, and tracking different objects in the environment surrounding the vehicle. Fig. 2.2 shows two examples of vehicle perception. The top image presents a camera image and the identified and classified road users with bounding boxes. The bottom image shows a 3D image of a LiDAR point cloud also with the identified and classified bounding boxes on the road users. This module receives real-time data generated by sensors and fuses them to create a map of the environment. To have an accurate map, multiple sensors are 28
(a) Camera based perception (courtesy of Neurala [100]).
(b) LiDAR based perception (courtesy of Popular Science [101]).
Fig. 2.2: Examples of perception using different sensors for autonomous vehicles. 2.1. AUTONOMOUS VEHICLE MODULES 29 used: RaDARs; LiDARs; monocular and stereo cameras; GPSs; inertial measure- ment units (IMUs); and sound navigation and ranging sensors (SoNaRs). Fusing information from multiple sensors allows for a better understanding of the sur- rounding environment, than using each sensor data-stream individually, since the shortcomings of one sensor can be mitigated by another and vice-versa. [61] A self-driving vehicle needs to be able to perceive lane-markings, traffic signs, other vehicles, pedestrians, and other static and dynamic obstacles. The perception module needs to perceive all the aforementioned agents, but also needs to handle measurement errors, sensor noise, and environment conditions. One of the oldest approaches of representing the environment is using an occupancy grid map [102, 103]. The environment map is represented as grid cells, and each cell stores the probability for existence of an obstacle, where the size of the cells is tuned based on the application and granularity necessary. For dynamic obstacle tracking there are other, more suitable, approaches, such as Kalman filters [104], particle filters [105], or even combination of different methods [106]. For a more detailed discussion of sensor fusion and perception for autonomous driving the reader is referred to the recent surveys by Van Brummelen et al. [107] and by Badue et al. [108].
2.1.3 Localization
Vehicle localization is the task of estimating the state of the vehicle (e.g., position, orientation, speed, acceleration), both with respect to its surroundings (locally) and with respect to a map (globally). This module is essential for safe, comfortable, and precise vehicle motion. For example, consider yourself in a dark room walking around virtually blind. Even if you know where the obstacles are, if you do not know where you are in respect to those obstacles (locally) or in respect to the room walls (globally), you are very likely to bump into obstacles and hurt yourself while trying to move inside the room. Nowadays, GPS2 sensors are widely available, in fact, most people are using them on a daily basis with their phones. This might lead to the erroneous idea that vehicles simply need to have a GPS to localize themselves, since this is basically what people use to drive/move from ”A” to ”B”. However, this is not true since the position provided by the readily available GPS sensors is not accurate enough for autonomous vehicle applications (accuracy of up to 2 m [109]). There are more accurate systems such as real time kinematic GPS, which makes use of model assumptions and extra communication with a base station to accurately estimate the vehicle position (accuracy of 1 cm [110]). However, even this more advanced, expensive, and accurate GPS systems, have reliability issues. For example, consider a vehicle in a city environment, or in a long tunnel, or an HDV operating inside a
2The correct term that should be used here is global navigation satellite system (GNSS), for ease of readability, the term GPS is being used interchangeably since it is more well known. 30 mine. The satellite communication will fail (or degrade) and the system will not provide a reliable and accurate position anymore. To mitigate these problems, multiple sensors are used and fused together to localize the vehicle. Thrun et al. in [111] use an unscented Kalman filter to fuse the data from GPS, IMU, and wheel encoders, which together with accurate vehicle modeling proved to be accurate and reliable even with GPS outages, since the Stanley vehicle ended up being the winning robot of the second DARPA Grand Challenge. Broggi et al. in [112] rely on GPS3 way-point following. When GPS fails (around 40 %-50 % of the distance covered on the tests) other functions are activated to localize the system, such as, lane following and barrier following. Lane following uses camera images to detect lane markings on the road. Barrier following uses guard rails and general barriers obstacles obtained via a laser-based obstacle detector. Other approaches where high-precision GPS is not used online, normally make use of a previously recorded high-precision map (which are most likely obtained using a more complete and complex sensor rig, that includes high-precision GPS). Ziegler et al. in [113] make use of a digital map, together with feature-based and lane-marking-based localization techniques that are enabled by front and rear facing cameras mounted on the vehicle. These localization techniques use online recognition to detect features and lane-markings in the current field of view (FOV) of the vehicle, and match these with the known map, allowing to position the vehicle in respect to the map. In [114], Ward and Folkesson use an extended Kalman filter together with an iterative closest point matching method on radar measurements to localize the vehicle against a recorded map. The map is obtained and created from a single pass through with the vehicle on the same route. Akai et al. in [115] implemented an extended Kalman filter using data from wheel encoders, a gyroscope, and a LiDAR point cloud scan matching against a pre-recorded map. For a more in depth discussion of the current state-of-the-art of vehicle local- ization techniques the reader is referred to the survey by Kuutti et al. [116].
2.1.4 Situation Awareness
The objective of the situation awareness module is to determine the vehicle action, as well as provide scene understanding and prediction of the vehicle’s surroundings. Examples of possible vehicle actions are: maintain lane; overtake; yield; park; start moving. A human driver is able to make decisions not only based on the current perception of the environment, but also on their expected behavior, and/or predic- tions of the other agents. For example, when overtaking on a highway a human driver considers multiple things: is there space to overtake, is it safe to change lane, does it break traffic rules (e.g., speed limit), is the vehicle being overtaken aware and maintaining their current course. All these considerations make use of human intuition and capacity to predict and anticipate movements.
3In fact the authors say GNSS, but to maintain text coherence the term GPS is used. 2.1. AUTONOMOUS VEHICLE MODULES 31
Fig. 2.3: Examples of motion prediction with different types of motion model (cour- tesy of Lef`evreet al. [121]).
The first step to scene understanding is to know the surroundings of the vehicle. This task is shared with the perception module to a certain extent and it is not easy to define a clear boundary between perception and situation awareness. Nowadays, an approach that has proven successful is to use machine learning techniques, such as convolutional neural networks (e.g., [117, 118]), which allow to detect and track the scene. For a detailed survey of different methods and algorithms used, the reader is referred to Schwarting et al. [63] and Janai et al. [119]. Normally, an object can be classified by the way it moves (e.g., [120]) and/or the way it looks (e.g., [118]). Both these classifications help understand the scene and predict agents movement and intention. If all obstacles and agents are connected and autonomous, allowing them to broadcast their intentions and future predicted motion and actions, then the need for environment prediction would be very limited. However, autonomous vehi- cles are being designed to drive and interact with non autonomous non connected agents. So, for them to operate they need to predict and anticipate the environ- ment. Lef`evreet al. in [121] classify motion modeling and prediction in three levels, physics-based, maneuver-based, and interaction-aware based motion; Fig. 2.3 de- picts an example for each of these prediction models. Physics-based motion models are the simplest, since they assume agents motion only depends on the laws of physics. For example, consider the works by Ziegler et al. in [113] and Ferguson et al. in [122], where assumptions like constant speed are made and future states are predicted. These motion models can be as complex 32 as desired, e.g., Ammoun and Nashashibi in [123] assume Gaussian noise and use Kalman filtering to predict the future positions of other agents. Maneuver-based motion models are more advanced as they take into consider- ation the agents intended maneuver (e.g., turn left on the intersection). However, these models still represent the vehicles as independent maneuvering entities, i.e., the vehicle motion being predicted is not influenced by other agents. An easy ex- ample of such models, is to consider the more likely trajectories the vehicle can take. Consider Fig. 2.3, the normal behavior of the vehicle approaching the inter- section is to turn left, turn right, or stop. Assuming there is prior knowledge of the possible cluster of trajectories (e.g., Atev et al. [124]), it is possible to predict the future vehicle motion by comparing the cluster trajectories to the current one being executed (e.g., Hu et al. [125]). Another possible prediction approach is to directly estimate the intended maneuver by using available information, such as, the road network, vehicle state (e.g., position, speed, heading, yaw rate), and even driver behavior (e.g., head movement, driving style). For example, Kumar et al. in [126] use a support vector machine and Bayesian filter for online lane change intention prediction. The more complex motion prediction models are the ones where interaction with other agents is taken into consideration. In [127], Lawitzky et al. compute the intention and collision probability of a maneuver. The scene prediction is achieved by doing a safety evaluation and using the assumption that drivers avoid collisions, which allows for the computation of a prediction of the probabilities for all possible actions for all agents. Agamennoni et al. in [128] use a Bayesian approach to infer the behavior of other agents. In particular, they apply their algorithm to an intersection scenario where a vehicle merges into a main road, and, as expected, the merging vehicle is predicted to yield to the traffic on the main road. Although, interaction-aware motion models seem like the obvious choice for prediction, as noted by Lef`evreet al. [121], these models and algorithms are computationally expensive and further work is needed for real-time implementation capability. For a more detailed discussion on vehicle prediction and estimation the reader is referred to the survey by Lef`evreet al. [121]. Once the current and future environment is mapped and estimated, the au- tonomous vehicle is able to make a decision.4 The easiest decision making (behav- ior generator) method for autonomous vehicles is hierarchical and concurrent finite state machines, these have been used in the DARPA challenges, e.g., [111,129,130], and continue to be used, e.g., [113,131,132]. On the one hand, state machines allow for a clear, comprehensible, and traceable top-down modeling of reactive systems, being easy to use and verify. On the other hand, state machines are specifically tailored to tasks, i.e., they switch between predefined behaviors, so they lack the ability to generalize to unknown situations and to deal with uncertainties. To ad-
4The system architecture depends on the approach, algorithms, and methods being used. Some approaches plan multiple paths/trajectories for multiple actions, and only after re-estimating and re-evaluating the effect on the environment, would the system make a decision. This is briefly mentioned in the next subsection 2.1.5. 2.1. AUTONOMOUS VEHICLE MODULES 33 dress these issues, several methods have been proposed: Gaussian based approaches (e.g., [133,134]); Markov decision processes (MDP) and generalizations approaches (e.g., [135–137]). The reader is referred to the survey by Schwarting et al. [63] for a more detailed discussion. Finally, it is important to mention that it is in the situation awareness module where safety starts to be taken into consideration. Decisions to take actions in- evitably lead to situations where collisions and accidents can occur. The only way to avoid these situations would be to not have vehicles on the road at all, or have them all stopped. Traffic rules are not enough in order to guarantee safety, because many times they need to be broken in order to avoid an accident. On the other hand, if the vehicle is overly cautious it might just decide not to move. In order to address these issues, both academia (e.g., Althoff et al. in [138]) and industry (e.g., Shalev-Shwartz et al. from Mobileye in [139], and Nist´eret al. from NVIDIA in [140]), are developing algorithms and methods to maintain safety distances while adapting to human driving behavior.
2.1.5 Motion Planning
The motion planning module responsibility is to compute a path or trajectory, while respecting vehicle dynamic constraints, being safe, and smooth, such that the motion is comfortable for passengers. The big difference between a trajectory and a path is that the first is parameterized in time, while the latter is not. A trajectory describes where the vehicle will be at a specific time. A path only describes where the vehicle will be, not when. Independently of computing a path or trajectory, the objective of the module is always the same, and it needs to compute a plan from the current vehicle state5 to a goal state, while satisfying constraints, such as, road boundaries, speed limit, actuation limitations, and obstacles. The following review for the planning module is significantly more extensive than for previous modules, because the planned path/trajectory is one of the main inputs to the motion controller. Making it important to understand how the planned references are created, what they consider, and their limitations. While the route planner plans to achieve the mission goal, taking into account the road-network and user preference, such as fastest or cheapest route. The motion planner plans for the next seconds or minutes, taking into account vehicle and local environment constraints, where, e.g., other vehicles and traffic lights/signs are considered. Motion planning can be considered the main responsible in decision making, because if the motion is planned, then the decision to make a maneuver is also made. Moreover, motion planning has been the focus of research for many decades, and different algorithms have been proposed depending on the structure of the environment, i.e., if it is structured or unstructured.
5This is not always the case, it could be from some other state, e.g., a previously planned point. 34
Structured environments are, e.g., roads and parking lots, environments where there are clear rules on how the vehicle and traffic should move. These guidelines are usually defined as road markings and road signs, that indicate road direction, number of lanes, allowed or prohibited overtaking/crossing, etc. . Another example, of a structured environment is a parking lot, where the vehicle follows the traffic rules to reach a parking spot, and where the vehicle needs to park with a specific pose occupying only one parking space. A planned path or trajectory in structured environments, provides a plan that, e.g., overtakes another vehicle and returns to the original lane, or takes the inner most lane of a roundabout to take the last exit, or keeps a safe longitudinal distance from the vehicles on the same lane on the highway. Due to the structure of the environment, most planning cases involve maneuvers in the vicinity of a known path. For example, the planner can access a highway map and use the lanes center lines to plan in their vicinity. Unstructured environments are the rest of the environments that do not present any clear structure on how a vehicle should drive. This is the case for off-road driving environments, such as, mining sites and harbors, particularly important applications for HDVs. This type of environment gives the vehicle a much wider range of motion, from which the motion planner has to select the most appropri- ate maneuver to reach the goal. On the other hand, since there are many more possible motions to achieve the same goal, the problem complexity and size can grow very fast, becoming hard to compute it in real-time6. Furthermore, in these environments it is more common to have drastic environmental changes, e.g., on a mine, piles of rock might be dumped in a specific spot and the vehicle has to re-plan around it. The algorithms used to solve these challenges are normally more exploratory in nature, allowing them to search for the best motion to achieve the goal. Following the presentation by Gonz´alezet al. in [141], motion planning al- gorithms for non-holonomic vehicles can be divided in four types of methods: graph-based; sampling-based; interpolation-based; and optimization-based. Fig. 2.4 presents an example for each type of method. The following subsections pro- vide a description and a small literature review of each type.
2.1.5.1 Graph-Based Methods
Graph-based methods discretize the environment as a graph, where the vertices correspond to possible configurations of vehicle states (e.g., position, and heading) and the edges represent transitions between those states. The desired path is then found by performing a search for a minimum-cost path in the graph. Handling static obstacles becomes trivial, since vertices and edges that collide with obstacles are ignored in the search, meaning that the solution (if found) is collision free.
6This is not to say it is easy to compute in real-time for structured environments. 2.1. AUTONOMOUS VEHICLE MODULES 35
(a) Lattice-based planning (courtesy of Piv- (b) Sampling-based planning (courtesy of toraiko et al. [142]). In light gray the Jeon et al. [143]). In red the road-limits lattice-graph, the resulting plan is shown are presented, in green the goal line, in blue with the thick black line, and in the top each of the expanded nodes (vehicle states), left corner the motion primitives used to in salmon each of the expanded branches generate the lattice are presented. (sub-plans) connected to the nodes, and the optimal trajectory is shown in black.
(c) Interpolation-based planning (courtesy (d) Optimization-based planning (courtesy of Gonz´alezet al. [144]). of Helmeier et al. [145]).
Fig. 2.4: Examples of motion planning for autonomous vehicles. 36
Creating the graph is not a trivial task and the ability to run the algorithms in real-time greatly depends on the graph used. Ideally, the graph should have a very large number of nodes and edges, such that every little spot of the free-space is covered by a node. However, the more nodes and edges are considered, the larger is the computational expense and the longer it will take to plan a path. Moreover, since non-holonomic vehicles are being considered, the transition between states is constrained by the dynamics of the system. To solve this issue, a common approach is to discretize the space-state using motion primitives computed offline that respect the vehicle dynamics (e.g., Ferguson et al. [122] and Cirillo [146]). When the motion primitives generate a graph that covers the state-space uniformly the graph is called a lattice (see Fig. 2.4a). Probably the most famous algorithm to search a graph is Dijkstra [97], which finds the shortest-path between two vertices. For example, in the 2007 DARPA Urban Challenge both Bohren et al. [147] and Bacha et al. [148] use this algorithm to solve part of the planning problem. An extension to this algorithm is the A-star (A?) algorithm proposed by Hart et al. [149]. The most important difference is the cost function decision, which defines the order in which the nodes are explored based on the weights attributed to each node. A? is significantly faster than Dijkstra, since it searches the graph in a smarter way, and, under certain conditions, it is still optimal and complete. Due to its computation efficiency, A? and extensions have been widely used in autonomous vehicles. In [150], Ziegler et al. propose the A? algorithm together with a Voronoi-based cost function to plan in unstructured environments and parking lots. Ferguson et al. in [122] make use of a lattice-based planner together with anytime dynamic A? to plan complex maneuvers for Boss, the vehicle that won the 2007 DARPA Urban Challenge. These methods have also been used for HDV motion planning. In [146], Cirillo implements a lattice-based planner using a time- bounded A? algorithm to ensure real-time operation. Ljungqvist et al. in [151] also propose a lattice-based planner, but for the task of reversing a general 2-trailer system, while maintaining real-time performance. Although it is not trivial to handle dynamic obstacles with these approaches, it is possible. For example, Ziegler and Stiller in [152] do trajectory planning on- road using a spatiotemporal lattice. This approach allows the vehicle to consider oncoming traffic while overtaking, as well as to merge into slower moving traffic.
2.1.5.2 Sampling-Based Methods
Sampling-based planners incrementally grow tree-like paths that have the root ori- gin in the initial vehicles states. These planners explore the obstacle free space by sampling a point from it and adding it to the current tree while connecting the branch (path). The branch is created while respecting motion constraints and guaranteeing a safe collision-free movement. The algorithm finishes when a node is sufficiently close to the desired goal state. The advantage of these algorithms vs graph-based is that they are capable of handling higher dimensional spaces 2.1. AUTONOMOUS VEHICLE MODULES 37
(Gonz´alezet al. [141]), solving real-time constraints that deterministic methods cannot meet. The disadvantage is that these algorithms are only probabilistically complete, i.e., if a solution exists the probability of finding it approaches one as time increases (Katrakazas et al [153]). The most used sampling method for autonomous vehicles is likely to be rapidly- exploring random trees (RRT), originally proposed by LaValle [154]. RRT is known to generate sub-optimal paths, and undesirable oscillatory behavior (Gonz´alezet al. [141], Katrakazas et al [153], Karaman et al. [155]). To address the issue of sub-optimality, Karaman and Frazzoli in [156] propose the RRT? algorithm, that is provably asymptotically optimal. RRT? has been used by Jeon et al. in [143] for optimal trajectory planning using the half-car dynamic model. The authors showcase their results with a trajectory for a U-turn maneuver (see Fig. 2.4b) and a trajectory for a circuit. Another RRT approach for autonomous driving is presented by Kuwata et al. in [157] called closed-loop RRT (CL-RRT). CL-RRT uses a controller and a system model to do forward simulation of the system states. Afterwards, instead of sam- pling randomly from the state-space (as RRT does), it selects a sample from the input space of the controller and adds the simulated dynamically feasible trajec- tory to the tree. Due to operational safety concerns, Evestedt et al. in [158] extend the CL-RRT algorithm with a sampling recovery method using brake profile regen- eration. Basically, when the algorithm detects an obstacle collision, a new speed profile for that branch (path) is computed in order to bring the vehicle to a safe stop. Then, the system is re-simulated and that trajectory is added to the tree, which leads to many more safe trajectories. The authors showcase their approach by implementing the algorithm on a modified Scania G480 mining truck in a simple constructed scenario.
2.1.5.3 Interpolation-Based Methods
Interpolation-based planners receive a set of waypoints (e.g., obtained from a graph or a sampling based method) and compute a smooth plan, by inserting new data points within the range of the received points. These methods use the original points to generate a new continuous and smooth trajectory that respects vehicle constraints and is safe (e.g., avoids obstacles) [159]. Obstacles can be easily avoided by using interpolation-based methods, since these generate a trajectory to go around the obstacle, re-entering the original plan after overcoming it [141]. Most likely, the first types of interpolation planners are Dubins [160] and Reeds and Shepp [161]. The first makes use of straight lines and circular arcs to construct the shortest path between two poses, and the second extends the first method by allowing vehicle reversing. These algorithms are simple, and consider instantaneous changes of curvature, i.e., they go from straight line to maximum (or minimum) allowed curvature, which leads to the shortest path, but are not actually feasible. Having this non-feasible path leads to big tracking errors when trying to follow it, since it is impossible to do maximum steer instantaneously. It is possible to 38 address these issues by considering more complex vehicle models. For example, Frachaird and Scheuer in [162] extend the Reeds and Shepp algorithm to consider continuous curvature paths, by including clothoid arcs for the allowed motions. In [163], Oliveira et al. extend previous works by considering sharpness (curvature rate) continuous paths and steering acceleration constraints. A possible classification of interpolation-based planners is by types of curve used, e.g., clothoid, polynomial, B´ezier,or spline. Although clothoids do not have a closed-form expression, their continuous curvature property makes them easy to track by a controller; also they are used for road construction making them an obvious choice for on-road planning (e.g., Funke and Gerdes [164], and Brezak and Petrovi´c[165]). Polynomial curves are used not only because of their smoothness properties, but also to meet interpolation constraints (e.g., position, heading, curvature) at specific points. Polynomials have been used in overtaking scenarios by Petrov and Nashashibi [166] and Cong et al. [167], and lane change scenarios by Glaser et al. [168]. B´eziercurves are parametric curves based on control points to define their shape, their core is Bernstein polynomials. Gonz´alezet al. in [144] used a B´ezier based planner (see Fig. 2.4c) for urban environments, to perform intersections and handle obstacle avoidance. Similarly, Han et al. [169] implemented a B´eziercurve planner to perform an overtaking scenario, and also to go around a small track, while avoiding obstacles. Finally, a spline is a piecewise polynomial parametric curve, i.e., it is a curve divided in intervals where each interval is described by a polynomial. For example, Berglund et al. [170] use a b-spline based planner for an autonomous mining vehicle, and Bacha et al. [148] use cubic splines to solve part of the planning task of the vehicle Odin which participated in the 2007 DARPA Urban Challenge.
2.1.5.4 Optimization-Based Methods Optimization-based planners minimize or maximize a function describing the plan- ning criteria, while explicitly handling constraints. Recently, these approaches have been gaining attention, both due to the ever increasing computing power and the number of numerical optimization tools available. The planning problem is set up as an optimization problem with the vehicle model, actuator limitations, and free space as constraints, and the planning criteria (e.g., smooth plan) as the optimiza- tion objectives. A straightforward approach when defining the optimization problem is to di- rectly use a nonlinear formulation and solver. Ziegler et al. in [171] formulate the on-road trajectory planning as a nonlinear optimization. The main objective is to track the center of the driving corridor, but to achieve a comfortable and smooth trajectory, acceleration, jerk, and yaw-rate are also penalized in the cost-function. Furthermore, the authors consider dynamic obstacles, by constraining each of the planned points individually depending on the prediction of the environment at that 2.1. AUTONOMOUS VEHICLE MODULES 39 time. Nonlinear optimization has two main disadvantages, it is difficult to imple- ment in real-time, and the solution to the problem might only be a local optimum trajectory [63]. The motion planning problem, with all the constraints and objectives, is highly nonlinear, but it can be linearized in order to get a convex problem that is easier to solve in real-time. In [172], Bevan et al. do three convex optimization prob- lems successively in order to obtain the solution (or approximate solution) to their original non-convex optimization problem, which includes vehicle dimensions and space-varying road boundaries. Oliveira et al. in [173]7, use a sequential quadratic programming (SQP) formulation to plan for an autonomous bus driving in con- strained environments, where awareness of the bus overhangs is important. To solve the problem, the authors introduce a new classification for sweepable obstacles (where the overhangs can go through), and make use of the accuracy improvements of the successive QP problems solved, allowing to achieve a successful obstacle avoidance. Multiple objectives can be explicitly considered when setting up the problem as an optimization. Oliveira et al. in [173]7 minimize the deviation from the road centerline, the change in control input (steering actuation), and the amount the overhangs exit the drivable region. Achieving a smooth trajectory and minimum disturbance to other road-users due to forcing, as much as possible, the bus to be inside its lane. In [145], Helmeier et al. plan a minimum curvature trajectory around a racetrack (see Fig. 2.4d). This objective is not exactly the same as minimum time around the racetrack, but the authors consider it to be a good trade- off between computation time needed to solve the problem and loss of optimality on time around the racetrack. Andersen et al. in [174] formulate an optimal control problem that is in the boundary of planning and control. The optimization problem actively changes the trajectory in order to maximize the visibility of the autonomous vehicle, i.e., the problem is formulated in order to increase visibility of blind spots occluded by other road-users. The authors argue that this increases safety since it increases the vehicle’s gathered information to make decisions. To guarantee collision free and safe plans, there are many assumptions made about obstacles and vehicle body (see Fig. 2.5). It is important to simplify the vehicle body shape in order to able to solve the problem in real-time. In [171], Ziegler et al. decompose the vehicle geometry with circles in order to check for collision with obstacles (that are represented by polygons). Batkovic et al. in [175]8 model the vehicle body and other road users as ellipses. Oliveira et al. in [173]7, approximate the vehicle body of a bus by a fixed set of points. Each of these methods has their advantages and disadvantages, and it is hard to determine the best method for all scenarios and vehicle configurations. For example, Schwarting
7This thesis author is a co-author of this work. 8This work is in the border of control and planning, since both tasks are being done simulta- neously. It is mentioned in this section, because it is a good example of possible vehicle and road users modeling. 40
Fig. 2.5: Modeling the vehicle body (adapted and courtesy of Oliveira [177]). Circles - Ziegler et al. [171], ellipses - Batkovic et al. [175], and points - Oliveira et al. [173]. et al. in [176] model the ego vehicle with circles, but the other road-users with ellipses to describe the Gaussian uncertainty of their position. Finally, it is important to mention that optimization planners, as interpolation- based ones, can also be used after another planning method, to achieve a more optimal trajectory with respect to some criteria. Oliveira et al. in [178], use a greedy path optimization approach to minimize length of the path that is originally generated by a lattice-based planner. Dolgov et al. in [179], use a nonlinear problem formulation to increase the smoothness of the trajectory generated by an A?-based method.
The previous presented work focuses on single maneuver planning. Some works consider planning multiple maneuvers evaluating all trajectories and deciding which one is best to take according to a set of criteria. Evestedt et al. in [180], compute multiple trajectories for merging scenarios and based on feasibility, safety, comfort, and progress each trajectory leads to, the best is chosen. Note that this approach allows the authors to also take into account how the planning vehicle would affect the other road-users for each plan it can do, allowing it to take into consideration the other vehicles’ limitations and comfort. In [181], Heinrich et al. parallelize the planning task with a graphics processing unit (GPU), allowing them to obtain a set of collision-free plans. Afterwards, these plans are evaluated to pick the safest trajectory, considering the uncertainty of the vehicle executing each trajectory and the uncertainty of other road-users.
For a more detailed discussion on motion planning methods the reader is referred to the surveys by Gonz´alezet al. [141], Katrakazas et al. [153], and Paden et al. [182].
2.1.6 Motion Control The motion control module responsibility is to stabilize and guide the vehicle to- wards a given reference path or trajectory. As explained before, a trajectory is parameterized in time, so tracking it is more restrictive than tracking a path, since it needs to track a reference pose at a specific time. Independently of the reference used, the motion controller has to handle disturbances to the vehicle, correcting its 2.1. AUTONOMOUS VEHICLE MODULES 41 states (e.g., position, yaw, velocity) back to the desired reference while maintaining the actuation limits and achieving a smooth and comfortable ride. The vehicle dis- turbances can be divided in external and internal. External disturbances are, e.g., potholes, rain, snow, or gravel. Internal disturbances are, e.g., model uncertainty or unmodeled actuator dynamics. Furthermore, smooth actuation is important not only because of possible passengers, but also to reduce wear and tear of the vehicle, increasing the vehicle components lifetime. The motion controller receives the vehicle states estimated by the perception and localization module, as well as, a feasible reference path or trajectory from the motion planning module. Usually, the path (or trajectory) and its vicinity are assumed safe and collision-free, i.e., if the vehicle tracks the plan with a sufficiently small error9, no accident will occur. The controller is responsible for actuating the steering wheel (or wheel angles), throttle, and brakes (or individual wheel torque) of the vehicle. The control design can be divided into two sub-tasks, longitudinal and lateral control, or treated as one problem, combined control. Longitudinal control is responsible for tracking a longitudinal position in a tra- jectory, by minimizing the longitudinal displacement, speed, and acceleration errors to it. This task is usually divided in two loops, an inner faster loop that takes care of the throttle and brake control, and an outer slower loop that performs a higher level tracking on velocity and acceleration. A basic form of longitudinal control is a cruise controller (CC), where the driver sets a desired speed and the vehicle tracks it. Nowadays, a more advanced form is also widely available, where the vehicle tracks not only a desired speed, but also maintains a safety distance to other road- users, called adaptive cruise control (ACC) (consider the review by Bj¨ornander and Grunske [183], and more recently the review by He et al. [184]). Cooperative ACC (CACC) is a more advanced type of longitudinal control, that assumes communica- tion between nearby vehicles, and is of special interest for vehicle platoons (consider the review by Wang et al. [185]). Lateral control is responsible for tracking a desired path by minimizing the lat- eral and heading errors to it. The more common approach is actuating on the steer- ing wheel in order to change the wheels angles and make the vehicle turn. Another approach is torque vectoring and differential braking, where different wheels are rotating at significantly different speeds changing the heading of the vehicle (e.g., Vignati et al [186], or the recent video by Rivian performing a tank turn [187]). An- other approach is 4 wheel-steering (4WS), also known as all wheel steering, which is already available on commercially available cars (e.g., Audi’s A8 [188]) enhancing vehicle handling and stability to some extent. 4WS taken to its limits can allow lane changes without changing the direction of the vehicle (e.g., Collares Pereira
9Sufficiently small error is open for interpretation. A more robust and safe system would also provide a safe collision free tube which the vehicle cannot exit. Another approach is for the controller to also have access to the obstacles and road information, allowing it to actively avoid collisions. The disadvantage is that this approach requires a more complex controller. 42 et al. [189]10), or parallel parking with sideways motion (e.g., DLR’s ROboMO- bil [190]). Combined longitudinal and lateral control can allow for higher maneuverability and enhanced stability of the vehicle. This approach is in general more complex, since it makes less assumptions about the current states of the vehicle. For example, decoupled lateral control of the vehicle is usually computed under the assumption the vehicle will keep constant speed. During normal operation the vehicle speeds up and down and assuming constant velocity may lead to problems, e.g., the same steering at a higher speed leads to a higher lateral acceleration, which can cause drifting. This type of controller can be easily designed in a model predictive control (MPC) framework, but in practice the computation power needed to solve the optimization problem makes it hard to implement (e.g., Rosalia et al. [191]). Since this thesis focuses on lateral control of autonomous vehicles, an in-depth review is made for the motion control module, and in particular for lateral control applications. There are many different approaches to solve the motion control problem of an autonomous vehicle, the following subsections are divided by control methods: geometric, proportional-integrative-derivative (PID), fuzzy, sliding mode, linear quadratic (LQ), H2 and H∞, and model predictive control (MPC).
2.1.6.1 Geometric Control Geometric controllers are methods that make use of geometry analysis to derive a control law. The most famous geometrical controller is the pure-pursuit. Another, also well known, geometry based controller is the Stanley controller, named after the Stanford team vehicle that participated in the 2005 DARPA Grand Challenge.
Pure-Pursuit Control Pure-pursuit control (PPC) is one of the first known methods to address the path following problem (Amidi and Thorpe [192] and Wallace et al. [193]). The pure- pursuit control law is simple and based on a geometric approach inspired by human driving. Humans look at the road and focus on a point some distance ahead making the vehicle drive in the direction of the point in focus. In PPC the goal position is chosen on the reference path based on a user-defined look-ahead distance. Then, a circular arc is used to connect the current vehicle position to the goal, see Fig. 2.6 for an illustration. The circular arc defines a specific curvature (inverse of its radius) which is used to compute the required steering angle. The PPC method has been applied in numerous instances due to its versatility and ease of implementation. The 2005 DARPA Grand Challeng had two vehicles with PPC [195] and the 2007 DARPA Urban Challenge had three [196]. Snider in [194] implements the PPC method together with the simulator CarSim [197] and showcases the capabilities and shortcomings of different look-ahead distance tuning
10This thesis author is a co-author of this work. 2.1. AUTONOMOUS VEHICLE MODULES 43
Fig. 2.6: Pure-pursuit controller illus- Fig. 2.7: Stanley controller illustration tration (courtesy of Snider [194]). From (courtesy of Snider [194]). The wheel the goal position (gx, gy) and the look- angle δ is computed from the lateral ahead distance ld, the radius R of the (efa) and heading (θe) errors to the path circular arc necessary to steer the vehi- point (cx, cy). cle to the goal point is computed. of the controller. The main disadvantage of this method is that, by design, it can never obtain null error to a path in curvy roads. In other words, the PPC cuts corners since it always follows a point ahead. Over the years, the original PPC has been modified to address some of its shortcomings. For example, in [198], Shan et al. modify the PPC to use a clothoid curve instead of a circular arc, and use a fuzzy logic controller to decide on the look- ahead distance. The authors present results comparing the proposed method with the controller used by MIT’s team in the 2007 DARPA Grand Challenge [199] and with the Stanley controller [111] (presented in the next subsection). The proposed method performs better, showing smaller lateral error to path and maintaining a higher average speed on the experiments.
Stanley Controller
The Stanley controller is a geometric based controller that got famous for being the steering controller used in the vehicle that won the 2005 DARPA Grand Challenge [111]. This controller implements a nonlinear control law based on the lateral and heading errors to path from the vehicle’s front axle center to the closest point on path, see Fig. 2.7 for an illustration. Thrun et al. in [111] show that the Stanley controller makes the lateral error to path converge exponentially to zero (for initially small errors). The tuning of the controller is done by scaling the lateral error to path with a gain, forcing the controller to actuate more (or less) to a value of error. Later, in [200], Hoffmann et al. extend the method to stabilize the vehicle yaw dynamics at higher speeds by 44 adding a negative feedback term based on yaw-rate. Furthermore, the authors add a servo motor steering response damper term in order to avoid instability caused by the servo motor. Finally, the authors guarantee the lateral error correction term in the control law is not oversensitive to noise at low-speeds, by adding a tunable velocity offset. As for the PPC, in [194] Snider implements the Stanley method together with the simulator CarSim [197] and showcases the capabilities and shortcomings of different tunings of the controller. As expected, higher controller gains lead to lower lateral error to path. However, higher gains also lead to more instability, specially at high-speeds. The author compares the Stanley controller to the PPC and concludes that the Stanley does not cut corners and achieves smaller lateral error to path. On the other hand, the Stanley is less robust to disturbances and requires a continuous curvature path, i.e., it does not handle well discontinuities on the path. The Stanley controller as been widely used and modifications to it have also been proposed. Amer et al. in [201] propose an adaptive modified Stanley controller for trajectory tracking of an autonomous armored vehicle. The authors modify the controller by adding extra tuning parameters, which are modified online. The online tuning is done with a fuzzy logic supervisor, allowing the controller to adapt to different trajectories and improving the controller performance. Fleischmann et al. in [202] modify the Stanley controller by adding a look-ahead distance, using a mean of recent past errors, and adding an integrative term on the lateral error to path part of the control law. The authors are able to successfully implement their approach on an agricultural tractor with a round baler, achieving a lateral error to path no greater than 25 cm following a pre-recorded GPS track. Cibooglu et al. in [203] propose an hybrid method using the PPC and Stanley controller methods. The authors method weighs both the PPC and Stanley control laws at the same time, where the weighing is changed to account for very sharp turns in the path. The approach is tested and compared using simulation, and the authors conclude that their hybrid approach performs better than both the PPC and Stanley controllers individually.
2.1.6.2 PID Control
The proportional-integrative-derivative (PID) control is the most common control method used in the world [204, 205]. What makes the PID control so widespread is its simplicity and versatility. The PID control law continuously computes the difference between a desired set-point and the current measured value of the process variable. Then, it computes a control signal taking into account the error variable, its integral, and its derivative, multiplying each term by a respective gain. The gains can be tuned and fixed, or alternatively can be varying by using a gain- schedule approach based on a scheduling variable (e.g., longitudinal velocity). To learn about PID control and its tuning, the book by Astr¨om[204]˚ is a good start. 2.1. AUTONOMOUS VEHICLE MODULES 45
Fig. 2.8: Block diagram of PID with anti- Fig. 2.9: PD control architecture for windup (courtesy of Kolb et al. [209]). ACC and CACC (courtesy of Lidstr¨om et al. [208]).
PID control has been widely used for longitudinal control of vehicles. Hima et al. in [206] implement a PID with anti-windup11 for cruise control, see Fig. 2.8. The controller requests a desired acceleration or deceleration to track the desired velocity for the vehicle, and assumes that this reference is tracked by lower level controllers already implemented on the vehicle. In [207], Osman et al. propose a PID with a feed-forward PD controller for a cruise control system. The authors showcase their proposed method vs the normal PID and vs the normal PID with a standard feed-forward term, showing that their approach is more robust to disturbances. Lidstr¨omet al. in [208] present Halmstad’s University entry to GCDC 2011. The longitudinal control architecture designed allows the vehicle to perform both ACC and CACC, by taking into consideration the platoon leader, see Fig. 2.9. The authors propose two PD controllers: one tracks the position of the preceding vehicle; the other tracks the desired acceleration. If in ACC mode, the desired acceleration is always from the preceding vehicle. Otherwise, if in CACC mode the desired acceleration is the minimum between that of the preceding vehicle and the platoon leader. PIDs have also been used for lateral control of vehicles. Marino et al. in [210] propose a nested PID steering lateral controller. First, a reference yaw-rate is designed with PID control techniques. Then, the steering angle is designed to track the generated yaw-rate using a PI controller. Kolb et al. in [209] propose a control method for path tracking, where a PID and a PPC are combined. The PID corrects the lateral error to path. The PPC tracks the next path point. The authors conclude that by combining these two simple methods the overall path tracking performance is improved, since the shortcomings of each control strategy are partly addressed by the other. Finally, the combined controller is implemented
11Integral windup occurs due to limitations in physical systems, i.e., when the process is satu- rated. Anti-windup approaches detect the saturation and prevent the integral error from growing. 46 in a 1 : 32 scaled truck, where a maximum lateral error of 1 cm is achieved while following a path. Zakaria et al. in [211] address both the longitudinal and lateral control problems of an autonomous vehicle with PIDs. The longitudinal control is done with a PID to track velocity. The lateral control is done with a P controller on heading error and a PID on lateral error to path. To increase the accuracy of path tracking, the authors propose a curvature-varying velocity reference profile, such that the vehicle slows down for turns. Furthermore, the authors use a velocity dependent look-ahead distance, meaning that it decreases with lower velocities and vice-versa. When it comes to PIDs it is hard to define a set of tuning gains that work well for all operating conditions. A common way of tackling this challenge is different gains at different times. In general, the idea is to improve system performance, by changing the response of the feedback loop and adapting to the current operating conditions. For example, Broggi et al. in [212] implement a P controller for steering an autonomous vehicle, where the controller gain is inversely proportional to the vehicle’s velocity. Zhao et al. in [213], implement a path tracking adaptive-PID controller. The authors design the control gains based on the sampling time and previously measured lateral errors to path. PID techniques have also been used to design more complex control loops, where a reference variable is designed with a PID. Then, this reference is used in nonlinear mapping functions, or other controllers, to compute the desired control. Menhour et al. in [214] propose a combined longitudinal and lateral flatness-based12 nonlinear controller. This controller makes use of a PI and a PID both with feed-forward terms to design the flat output references, which are used to compute wheel torque and steering angle for the vehicle. Goh et al. in [216] design a path tracking controller with sideslip stabilization. First, system error dynamics are imposed with P, PD, and feed-forward terms. After, using a nonlinear model the steering and rear thrust angles are computed. The steering angle is directly actuated on the vehicle, while the rear thrust angle is sent to another nonlinear mapping to obtain a desired wheel speed. This reference is then tracked by a faster feedback control loop that actuates through individual torques on the rear wheels of the vehicle. Recently, the authors have extended their work and have made the vehicle transverse a more difficult path while drifting (see a video of the experiments in [217]), showcasing the impressive capabilities of MARTY (a modified 1981 DMC DeLorean) and their methods [218].
2.1.6.3 Fuzzy Control
Fuzzy logic has its origins in a 1965 paper by Zadeh [219]. The term fuzzy means that the logic involved can deal with concepts that are not necessarily defined as true or false, but rather as partially true, i.e., instead of defining a boolean variable
12This type of controller assumes fictitious outputs for the system, called flat outputs, and expresses the system as a function of these flat outputs and their time-derivatives [215]. 2.1. AUTONOMOUS VEHICLE MODULES 47
0 or 1 it allows for a continuous range of numbers in between [220]. Fuzzy control is a method based on fuzzy logic. An interested reader is directed to a recent article by Zadeh [221] written to celebrate the 50th anniversary since the original paper, where the author elaborates on the name fuzzy and describes some of his contributions since then. Usually, fuzzy control is applied in systems where no mathematical model is known or where accurate models are difficult to obtain and use [222]. The con- trol input variables are transformed into linguistic variables by using membership functions. The control request is chosen based on fuzzy rules of the form if-then. Consider the simplistic example presented by Rupp et al. in [222],
if lateral error to path is left then steering angle is right, the lateral error to path is the linguistic input variable and the steering angle is the controller output. The idea behind fuzzy control is to make the system behave as a human would control it. This has the advantage of allowing for some good initial guesses by experienced engineers. However, the controller tuning is not straight- forward and is done manually during tests. Another advantage of these controllers is that they are easy to read and understand. On the other hand, if the num- ber of variables is too large, the system becomes unmanageable and unreadable. Furthermore, stability analysis cannot be done without mathematical models. Probably the first fuzzy controller for a vehicle was proposed by Sugeno and Nishida in [223], where the front wheels of a model car are controlled to traverse a double corner scenario. Since then, fuzzy controllers have been extensively used for lateral control of vehicles. In [224], Hessburg and Tomizuka implement and compare a fuzzy logic controller to a PID and a frequency shaped linear quadratic controller, showing comparable performance between controllers up to 50 km h−1 on a test-vehicle. In [225], Naranjo et al., propose a simple steering fuzzy logic controller with only four rules to perform lane-change and overtaking maneuvers, showcasing the controller capabilities with an experiment.
Chaib et al. in [226] use simulations to compare four different controllers (H∞, adaptive, proportional, and fuzzy control) over a test track circuit while being perturbed with wind, and with varying speed and road friction coefficient. The authors conclude that the self regulating adaptive control scheme obtains the best performance, and the proportional controller the worst. While the H∞ and fuzzy controllers perform similarly. More recently in [227], Wang et al. implemented two fuzzy logic controllers, one for steering and another for velocity, verifying the proposed controllers with simulations and experiments. The authors also compare the fuzzy controllers to a PID (with constant gains), and conclude that the fuzzy controllers have a better performance. Fuzzy control has also been used for longitudinal control of vehicles. In [228], Asere et al. implement a fuzzy cruise controller. Using simulations the method is compared to a PI controller, where the fuzzy controller is able to reach steady-state faster than the PI controller. Naranjo et al. in [229] implement a fuzzy controller 48 that uses throttle and brake request to achieve both ACC and stop and go func- tionality. The authors showcase their method with experiments up to 55 km h−1. In [230], Tsai et al. implement a fuzzy controller for ACC and stop and go func- tionality, which tracks the desired distance to the front vehicle. The proposed method is verified with both simulations and experiments for speeds ranging from 0 to 120 km h−1. P´erez et al. in [231] propose a fuzzy controller for cooperative ACC and implement it in a Citro¨enC3. The vehicle and controller are then used to participate in the first GCDC competition, where the system was able to handle failures and finish all heats.
2.1.6.4 Sliding Mode Control
Sliding mode control (SMC) makes use of a variable structure controller to be robust to model uncertainties and disturbances [222]. In general, SMC is a nonlinear control method that uses a discontinuous control law to alter the dynamics of the controlled system. The system dynamics are altered to follow a sliding surface. This sliding surface is defined in the state-space of the system and designed to make the system become asymptotically stable under certain conditions. The control law is then derived to achieve the desired dynamics of the sliding variable. For a more detailed introduction to SMC the reader is referred to the book by Shtessel et al. [232]. In the book [233], Ferrara presents work with SMC for longitudinal and lateral control of vehicles. Moreover, the author presents the main advantages for SMC: (1) theoretically exact compensation of bounded matched uncertainties; (2) reduced system order dynamics when the sliding surface has been reached; and (3) finite- time convergence to the sliding surface. The author also presents the disadvantages: (1) chattering, due to discontinuities on the control input and the switching between laws; (2) system insensitivity only for perturbations that affect the same state as the control input; (3) the finite-time convergence is only guaranteed for the sliding variables, the state variables converge asymptotically; and (4) non-ideal closed-loop performance in the presence of parasitic dynamics, discretization, and noises. The biggest disadvantage is most likely the chattering, a possible way of handling this issue is by using a higher-order SMC [222]. For example, a well-known second-order SMC is the super-twisting algorithm [234]. Autonomous vehicles longitudinal control has seen applications of SMC. In [235], Rajamani et al. present a cascaded control loop with SMC for longitudinal control of a vehicle. The first SMC of the cascade defines a desired acceleration for each car of a platoon ensuring string stability. The second SMC tracks the desired acceleration by making throttle and brake requests. Furthermore, the authors also consider how to create space between vehicles for safe merging and splitting of platoons in the presence of communication constraints. The effectiveness of the control method is showcased with experimental results of an eight car platoon drive, consisting of continuous 6-8 h driving per day during 3 weeks. 2.1. AUTONOMOUS VEHICLE MODULES 49
Ferrara and Pisu in [236] present a second order sliding mode controller for CC and ACC of a vehicle. The controller capabilities are verified through simulation where the robustness against sensor noise and wind gusts up to 10 m s−1 is demon- strated. In [237], Nouveli`ereand Mammar also implement a second order SMC for ACC, more specifically they implement the super-twisting algorithm [234]. The authors showcase their method with experimental results, drawing conclusions of the controller’s impact to increase road capacity and safety. Ferrara and Vecchio in [238] present a first and second order SMC for a platoon of vehicles. The authors consider two operation modes: a cruising mode for normal platooning; and a col- lision avoidance mode for when a collision is detected. The proposed methods are verified in simulation where both the distance to pedestrians and to other vehicles are considered. Driver assistance systems for lateral control have also seen SMC applications. In [239], Canale et al. present an active stability system based on yaw control using a second order SMC. The control design considers a nonlinear static map for reference generation, as well as, a feed-forward term to improve the yaw-rate transient response. The approach is successfully verified in simulation for three different scenarios with speeds up to 100 km h−1. Imine et al. in [240] design an active steering assist system with SMC for rollover avoidance of HDVs. The rollover avoidance is based on the control of the vehicle’s lateral acceleration. The approach is verified with an instrumented Renault truck on a zigzag and a ramp test. SMC has also been proposed for lateral control of higher autonomy level vehicles. In [241], Tagne et al. use the super-twisting algorithm to control an autonomous vehicle to follow a path while minimizing the lateral error to it. The proposed con- troller is verified experimentally with a Peugeot 308, where the robustness to high lateral acceleration, and uncertainties in vehicle parameters (such as tire cornering stiffness and vehicle mass) is highlighted. Dominguez et al. in [242] propose a proportional controller based on desired lateral velocity and a kinematic vehicle model. More interestingly, the authors com- pare their approach to PPC, Stanley, and SMC controllers performing experiments on a Renault Zoe ZE. The authors conclude that the SMC and the lateral velocity controller perform the best, and also that the lateral velocity controller is smoother than the SMC. In [243], Alcal´aet al. propose two sliding mode controllers, one for lateral and another for longitudinal control of the vehicle. The authors compare their approach to a Lyapunov based control law. Both, controllers are designed to track desired lateral and longitudinal velocities and yaw-rate of the vehicle. The SMCs achieve better tracking errors, but the Lyapunov method provides smoother steering control. Rupp and Stolz in [222] compare five different controllers (Stanley, Fuzzy, SMC, LQR, and MPC) on a simple simulated example. The SMC provides the smoothest and smallest lateral errors, while the LQR provides the smoothest and smallest an- gular errors. On the other hand, the SMC is the most aggressive with the control input requests. The approaches are summarized as follows: the Stanley controller is simple and provides a smooth performance; the LQR has low computational com- 50 plexity, is robust, and simple to tune; the SMC is very robust, but its discrete-time performance needs to be evaluated; the MPC has high computational complexity, but good performance and the ability to handle constraints.
2.1.6.5 Linear Quadratic Control
Linear quadratic (LQ) control methods are concerned with controlling a system with minimum cost. The most famous is the linear quadratic regulator (LQR) controller, which is a feedback controller that minimizes the following problem, Z ∞ z(t)TQz(t) + u(t)TRu(t) dt, (2.1) 0 where,z ˙ = Az + Bu are the system dynamics, and Q 0 and R 0 are the optimization objectives for the state and control input cost, respectively. This problem has a unique solution13 and the optimal state feedback is u(t) = Kz(t), with the feedback controller K = −R−1BTP , where P 0 is the unique solution to the algebraic Riccatti equation (ARE),
ATP + PA − PBR−1BTP + Q = 0. (2.2)
The optimal cost for (2.1) is V (z(t)) = z(t)TP z(t) and the resulting closed-loop systemz ˙ = (A + BK)z is exponentially stable [244,245]. The discrete time version of this control method is used in Chapter 4 for disturbance rejection and the ARE solution is used as a terminal cost for the finite-horizon control problem to guarantee stability. Another important LQ method is the linear quadratic Gaussian (LQG) con- troller. This method assumes that the disturbances to the system and the mea- surement noise are stochastic. The objective of the controller is to minimize the expected value of the quadratic cost in (2.1). The solution to this problem is given by the feedback law u(t) = Kzˆ(t), where the controller K is the LQR controller for the system without noise or disturbances, and the system statesz ˆ(t) are estimated using a Kalman filter14 on the measured states and control input request. [246] These control methods have the advantage of guaranteeing stability, being op- timal with respect to the designed cost function, and easily tuned due to the direct penalty of control and states of the system. Furthermore, these methods are easy to use due to the wide availability of tools to design them (e.g., MathWorks Control System Toolbox [247]). On the other hand, these methods require good mathemat- ical models of the system, this is specially true for the LQG where there are no guaranteed stability margins [246, 248]. Moreover, LQR requires that all system states are measured and available for feedback which is normally not the case for real systems, this is solved with the Kalman filter on the LQG.
13Given that the pair (A, B) is controllable and (A, Q1/2) is observable. 14Also known as linear quadratic estimation (LQE). 2.1. AUTONOMOUS VEHICLE MODULES 51
As expected, LQ control methods have been applied to longitudinal control of autonomous vehicles. In [249], Alam et al. present a decentralized LQR controller for a platoon of HDVs. The proposed controller is string stable, and simulations with a platoon of six vehicles showcase its effectiveness. Alam et al. extend their work in [250] by considering bumpless switching between the brake and motor con- trollers, as well as designing two LQRs to generate references for these controllers. Experimental results with three Scania tractor-trailer HDVs are presented. The platoon is able to stay together, since the third vehicle does not undershoot more than the preceding vehicle, i.e., the distance error between vehicles is being atten- uated throughout the platoon. Once more, the authors extend their work in [50], where the decentralized LQR based CACC is tested using three Scania tractor- trailer HDVs on Swedish public highways. The controller is able to maintain the desired inter-vehicular spacing. However, small disturbances, caused by varying road grade, are observed in both velocity and spacing for the follower vehicles. Moreover, the fuel consumption is evaluated and the following vehicles are shown to save up to 6.5 % fuel and 8.6 % energy. Stankovi´cet al. in [251] present a longitudinal LQ controller for a platoon of vehicles. The method is string and asymptotically stable, while tracking given reference signals and the preceding vehicle in the platoon. Simulations of a ten vehicle platoon, show how different velocity profiles and changes in inter-vehicular distance are tracked. Stankovi´cet al. extend their work in [252] by proposing an LQG control method that makes use of the previous LQ together with a Kalman filter. The robustness to stochastic noise is shown through simulations of an eight vehicle platoon. As expected, the LQG controlled platoon vehicles track the desired velocities and distances without noticeable oscillations, while the LQ controlled platoon has small oscillations. Lateral control of autonomous vehicles has also seen applications of LQ methods. In [253], Hsiao and Tomizuka propose a lateral position LQR controller. The con- troller is experimentally tested around a test-track and compared to a look-ahead controller. The LQR has slightly better performance, presenting slightly smaller error to path and a smoother steering control input. Kim et al. in [254] propose a LQR for lateral control of a vehicle together with a PID for longitudinal control. The controllers are verified in simulation, where a test-track following scenario is presented. Jeon et al. propose an LQG for front steering wheel control in [255]. The authors propose two LQG controllers, one with road curvature information and one without. The controllers are experimentally tested using a Hyundai IONIQ on a path following scenario with speeds up to 36 km h−1. The controller with road curvature information has a path tracking performance more than two times better. Snider in [194] implements three different LQ methods together with the simu- lator CarSim [197]: the first only considers feedback control; the second considers both feedback and feed-forward actuation; and the third considers also a look-ahead distance. As discussed for other control methods, higher weight on lateral error to path leads to smaller tracking errors, but it might also cause instability at high speeds. The author concludes that the LQR with look-ahead provides some ro- 52 bustness to disturbances. However, it cuts more corners and overshoots more than the second feed-forward one. Comparing to other methods (PPC and Stanley) the LQR with feed-forward seems to be the best approach. More specifically, in the road course simulation it is able to stabilize the vehicle for all velocities simulated, and provides the smallest lateral error to path. Reversing a truck-trailer vehicle is one of the hardest tasks a human driver has to do with HDVs. To address this problem Ljungqvist et al. in [256], propose a LQ control method based on a kinematic model for the system. The authors prove closed-loop stability for a set of paths and showcase their method in simulation. Ljungqvist et al. extend their work in [257], by considering a lattice based planner that creates a kinematically feasible and obstacle free path for the hybrid LQ con- troller to follow. The controller is hybrid, due to the two different feedback gains for forward and reverse motion. The approach is verified both with simulations and experiments using a Scania tractor-trailer HDV. Experiments are successfully run for figure eight following while reversing, for a two-point turn maneuver, and for a T-turn maneuver.
2.1.6.6 H2 and H∞ Control
H2 and H∞ control are robust control methods that model uncertainties and pa- rameter variations to obtain an optimal control law for the system [222,246]. As the name implies H2 control minimizes the H2-norm, and H∞ control the H∞-norm, for the transfer function of the system. These controllers are able to handle colored disturbances and measurement noise, as well as frequency weighting of the input and controlled output [258]. Following Skogestad and Postlethwaite book [246] notation, consider the state- space realization of a system P , the controller K, the closed-loop transfer function of the system given by the linear fractional transformation Fl(P,K), and for simplicity F , Fl(P,K). Then, the H2 optimal control problem is to find the stabilizing controller K that minimizes,
s Z ∞ 1 H kF k2 = tr F (jw) F (jw) dw, 2π −∞ where tr(·) is the trace of the matrix, and the notation F H is the conjugate trans- pose of F . It is hard to understand what is being minimized, since it is defined in the frequency domain. For ease of understanding, note that the time domain LQG control method mentioned previously is a special case of H2 control where white noise is considered. Moreover, H∞ control was initially motivated by the shortcom- ings of the LQG controller. In 1981 Zames published [259], where he argues that the poor robustness of the LQG can be attributed to the integral criterion of the H2 norm, as well as the unrealistic representation of uncertainties by white noise. 2.1. AUTONOMOUS VEHICLE MODULES 53
The H∞ optimal control problem is to find all stabilizing controllers K that minimize, kF k = max σ¯ (F (jw)) , ∞ w whereσ ¯ is the maximum singular value of the matrix. In general, H2 control is minimizing the root-mean-square value of the errors being controlled, and H∞ control is minimizing the worst case `2-norm of the errors being controlled. [246] H2 and H∞ control methods have advantages over other methods, as these are, by design, stable and robust to disturbances and uncertainties, and are readily applicable to multivariate systems with cross-coupling between channels. On the other hand, they do not handle well nonlinear constraints (e.g., actuator satura- tion). They require a high level of mathematical understanding and are not easy to apply. They require a reasonably good model of the system and, depending on the weighing/shaping transfer functions, they might result in high-order dynamic controllers that are complex to realize. [222, 260] Both H2 and H∞ methods have been proposed for vehicle longitudinal control. 15 In [261], Morand et al. compare PI, H∞, and CRONE controllers. The authors present frequency response analysis for all controllers to conclude that the CRONE controller is better, since it does not break the desired constraints, while the PI and H∞ do so in some cases. However, the authors also present step responses and wind disturbance rejection for all controllers, and the H∞ has the best performance, since it does not present overshoot and has a faster rise-time than the PI and CRONE. Xu et al. in [263] consider a decentralized robust H∞ controller for a platoon of vehicles. The authors take into consideration varying road-slopes, aerodynamic drag, and wireless communication delay. The robust controller is compared against a regular controller that can ensure string-stability if disturbances are not considered. Not surprisingly, the proposed controller is significantly better. Morbidi et al. in [264] consider decentralized CACC comparing an LQR with mixed H2 and H∞ control designed via compensator blending. Through simula- tion, the authors showcase that both approaches are able to achieve a string stable platoon, concluding that the mixed H2 and H∞ controller is considered better, be- cause the same scenario is performed with smoother and less control input. In [265], Schmied and Colaneri extend [264]. However, instead of considering control of a full platoon, only one vehicle is controlled on multi-lane scenarios, where lane changing and merging scenarios are considered. The authors showcase their approach by studying how the controlled vehicle behaves and also how it affects the other traffic participants. The mixed H2 and H∞ controller is able to maintain string-stability of other traffic participants by making lane changes and adapting the longitudinal behavior of the ego vehicle. When it comes to the lateral control problem, H2 and H∞ methods have also been used. In [206], Hima et al. present an H∞ controller that uses the front wheels steering angle to perform lane following and changing scenarios. The approach
15This controller is a specific method based on regulator design with robust loop shaping [262]. 54 achieves a good performance at high speeds for the straight parts of the path. Shimakage et al. in [266], present an H2 method for lane-keeping. Torque control of the steering-wheel is used to turn the front-wheels of the vehicle. Robustness against disturbances and parameter variation is shown by µ-analysis (see definition in [246]) and a step response simulation with parameter variation. A straight lane following experiment shows effectiveness and smoothness of the approach, when compared to human driven results. As mentioned before, in [226], Chaib et al. use simulations to compare four different controllers (H∞, adaptive, proportional, and fuzzy control) over a test track circuit with varying speed, while being perturbed with wind and different road surfaces. Although the adaptive controller is concluded to be the best one, it is also the most complicated to implement. On the other hand, the H∞ controller has good performance and it is simpler to implement. Hwang and Chang in [267] propose a mixed H2 and H∞ control method for path following. The approach is verified with both static and dynamic obstacle avoidance while following a path. Additionally, the authors compare their approach with a PID where they conclude mixed H2 and H∞ method is superior at handling uncertainties. In [268], Xu et al. propose a mixed H2 and H∞ control method for a 4WS vehicle. The authors compare the approach with both a P and a H∞ controller for step response, sinusoidal, fishhook, and double lane change scenario simulations. The mixed H2 and H∞ controller has a better yaw-rate tracking performance, and achieves less overshoot, smoother control requests, and smaller side-slip angles.
2.1.6.7 Model Predictive Control Model predictive control (MPC) methods were originally developed in the 70s to control power plants and petroleum refineries [269, 270]. Decades ago, MPC could only be used for processes with slow dynamics, because of the high computational cost and the low computational power available. Nowadays, MPC is widely used and studied for multiple applications. Both due to the much higher computational power available and the improvement in solving methods for the optimization problem [271]. The trajectory tracking optimization problem can be written as,
Z tg min L(¯z(t), u(t)) dt u tc s.t.z ˙(t) = f(z(t), u(t)), (2.3) z¯(t) = z(t) − zr(t), z(tc) = zc, z(t) ∈ Z(t), u(t) ∈ U(t).
The objective is to compute the necessary control input, u, from the current time, tc, to the goal time, tg, to track a desired trajectory, zr. The minimization is done according to the stage-cost function L, that penalizes the difference from 2.1. AUTONOMOUS VEHICLE MODULES 55 the reference trajectory and the control input used. Furthermore, the tracking starts in the current position, zc, and it needs to respect the system dynamics, f(z(t), u(t)), as well as the allowed state-space and actuator constraints, Z(t) and U(t). Equivalently, the path following problem can be written by neglecting the time dynamics of the system and only considering the state of the system in space. In order for a computer to solve (2.3), the continuous optimization problem is discretized and the integral is changed to the sum of points [272]. Then, a receding horizon control (RHC) approach is used. Where the optimal control inputs are computed over a fixed number of prediction horizon points, N, and where only the first control input is applied to the system at each time step. On the next controller iteration, the procedure is repeated for the shifted horizon reference points and the updated system states [271]. The number of horizon points, together with the number of constraints, and the complexity of the system model, influence the problem complexity. Higher complexity makes the optimization problem harder to solve, making it harder to apply the control method in practice. The difficulty to solve the problem in real- time is the major disadvantage of MPC. Other disadvantages compared to other controllers are: • it requires an accurate model (or good-enough model) - the problem complex- ity grows with the accuracy of the model; • it requires an optimization algorithm - normally, an optimization problem is solved online at each iteration and the solver does not guarantee convergence to the optimum in bounded time; • guaranteeing stability and feasibility for the system is not simple and usually increases problem complexity; • increasing robustness to disturbances for the controller usually also increases problem complexity. The biggest advantage of MPC is its ability to explicitly handle both input and state constraints, which can represent: physical, economical, safety, and/or comfort constraints. Other controllers, are usually not able to handle all constraint types, and, even if it is possible to introduce constraints, this is normally done in an ad-hoc fashion making it much more complex to implement and interpret. Other important advantages are: • simple control policy for all types of systems - linear and nonlinear, single or multiple input with single or multiple output; • optimal controller with respect to a designed cost, which can be related to tracking performance, comfort, and/or economical reasons (usually sub- optimal due to the RHC approach); • well understood tuning parameters; 56
• straightforward, flexible, intuitive, and easy to read problem formulation - where the control objectives can be explicitly optimized in the cost function, and the system constraints directly taken into consideration; • takes into consideration future dynamics of the system and reference changes, acting accordingly; • development time is much shorter than other advanced control methods; • easy maintenance, i.e., changing system model or performance requirements does not require complete redesign and can sometimes be done online. The MPC method advantages, from a theoretical point of view, far outweigh the disadvantages. On the other hand, from a practical (implementation) point of view, the advantages outweigh the disadvantages if the method is implementable in real-time. Thus, for these reasons, MPC is the main control method studied in this thesis, and considerations on practical implementation capabilities are always done throughout Chapters 4-5. The following literature review for MPC methods applied to autonomous driving is more complete than the ones presented before for other methods, since MPC is the main method studied in this thesis. The rest of this subsection is divided into two main areas, nonlinear MPC and linear MPC.
Nonlinear MPC Nonlinear MPC (NMPC) as the name entails does not explicitly16 linearize neither the model nor the constraints and solves a problem of the form,
min J(¯zi|t, ui|t, z¯N|t) ut
s.t. z˙i+1|t = f(zi|t, ui|t), gm(zi|t, ui|t) 6 0, z¯i|t = zi|t − zr,i|t, z0|t = zt = zc, N−1 M ∀i ∈ N0 , ∀m ∈ N1 , where, J is the desired function to optimize and is usually of the form,
N−1 X J(¯zi|t, ui|t, z¯N|t) = jf (¯zN|t) + j(¯zi|t, ui|t), i=0 where j can be non-convex. Furthermore, all the state constraints are expressed in inequality constraint form making use of the real-valued functions g1, g2, ..., gM .
16Note that the solving method might do successive linearizations to find the solution for the problem. However, if it converges to some solution the nonlinear problem is solved (it might be a local solution). 2.1. AUTONOMOUS VEHICLE MODULES 57
NMPC has been studied for longitudinal control of vehicles. In [273], Matute et al. present an NMPC based CC, where the objective is to track a desired speed profile while maintaining velocity, acceleration, and jerk constraints. Simulations showcase the advantages of this approach in adapting the velocity profile to account for future changes, achieving a smoother and more comfortable behavior than ini- tially planned. Shakouri et al. in [274] use a NMPC method for ACC. The controller does distance and velocity tracking by controlling the brake and throttle of the vehicle. This approach is compared to a gain-scheduled LQ controller for throttle and a PI controller for the brake, a control architecture that had been proposed by the authors in [275]. The control approaches are compared in simulation in an ACC scenario at high-speeds and in a stop & go scenario. Overall, the NMPC controller is far smoother and more comfortable than the LQ-PI controller. Moreover, in the stop and go scenario the LQ-PI controller does not react/brake enough and causes a potential collision with the front vehicle, while the NMPC is able to stop safely. Lang et al. study the fuel benefits of MPC applied to CACC in [276]. The authors study and compare nonlinear and linear MPC to solve the control problem. The controllers objective is to minimize the fuel consumption, while maintaining a certain distance from other vehicles and keeping the velocity and acceleration within certain intervals. First, the full nonlinear problem is solved offline where the fuel benefits of allowing more or less distance between vehicles is studied. The authors conclude that bigger spacing between vehicles allows for smoother and calmer accelerations leading to higher fuel savings (in this study air-drag reduction by forming a platoon was not taken into consideration). However, the trade-off is that higher inter-vehicle distance leads to diminished road throughput. Second, the optimization problem is solved with RHC NMPC, where the fuel savings of different allowed distances and prediction horizon lengths are studied. The authors conclude a prediction horizon of 20 s and a control horizon of 10 s give a very similar result when compared to the full offline optimization. Finally, the nonlinear approach is compared to a linear MPC previously proposed by the authors in [277]. The authors conclude that the linear MPC obtains very similar results, with the benefit of being easier to implement. Schmied et al. in [278] propose NMPC for CACC of a following vehicle on a two vehicle platoon. The authors consider interactions with a traffic light, which allows the controller to better plan its acceleration and deceleration maneuvers. Hardware- in-the-loop (HIL) experiments on a dynamic test bench are used to measure fuel consumption and pollutants emissions. The scenario consists of two vehicles with multiple stop & go maneuvers caused by traffic light interactions. The NMPC is able to maintain an acceptable longitudinal distance with smooth and anticipatory behavior. Which results in a 13 % fuel consumption reduction and up to 28 % pollutants emissions reduction, when compared to the front vehicle. The use of MPC for lateral control of autonomous vehicles continues to be widely studied. Topics range from lane-keeping in highways, to city driving, racing, 58 and off-road. Furthermore, vehicle handling, stability, and robustness are still open problems to solve. Borrelli et al. in [279] propose a nonlinear MPC approach for active-steering control. The method uses the front steering angle to stabilize the vehicle along the desired path, while obeying to physical actuation limits. The controller is verified in simulation performing an obstacle avoidance double lane change maneuver on snow, with different entry speeds. The nonlinear solver takes 0.1 − 1.7s, which makes it hard to implement on a real system. This work is extend by Keviczky et al. in [280], where side wind rejection and controller stability are studied on a similar scenario. Both works, discuss the length of the prediction and control horizons. The necessary horizon lengths for stability depend on the speed of the vehicle, and, as expected, high speeds with short horizons lead to instability. Falcone et al. in [281] extend [279, 280], where an additional convex constraint bounding the control effort and predicted states is computed to guarantee stabil- ity. Furthermore, the authors solve the optimization problem using SQP, i.e., the controller solves multiple QP problems sequentially until it converges to a solution for the nonlinear problem. In simulations, this approach is compared to a linear MPC, which only uses an ad-hoc constraint on the front tire slip angle to stabilize at high speeds. Although, the authors conclude the performance of both controllers is identical, the nonlinear controller is more general and provides a better guarantee of stability than the linear one. On the other hand, the nonlinear controller requires more computation time. Falcone et al. in [282] use their previous control formulation [279] to study the difference between using a complex (tenth-order) model or a simplified bicycle model in the controller. The models have different computational complexities, and also different control inputs. The complex one uses front steering angle and individual wheel braking torques. The simpler one uses front steering angle and braking yaw moment. Simulation of double lane change shows similar performance with both controllers for entry speeds of 14 m s−1. However, for entry speed of 19 m s−1 the lower order model is not able to stabilize the vehicle (note that there are no stability constraints in either controller). Kong et al. in [283] also compare vehicle models for MPC design. Specifically, the authors compare kinematic vs dynamic vehicle models and verify those results by implementing an NMPC on different scenarios. Depending on the discretization method and time, the kinematic model can give accurate results in comparison to the dynamic model. More interestingly, comparing open-loop prediction of the models with real data, the authors conclude that errors obtained with the kine- matic model discretized at 200 ms are better than at 100 ms, when compared to the dynamic model errors discretized at 100 ms. Yoon et al. study NMPC for obstacle avoidance in [284]. The authors propose a modified-parallax-based obstacle avoidance approach, and compare to a distance based and potential field based approaches. The parallax and distance based con- troller provide much smoother paths avoiding the obstacles than the potential field one. The parallax method is better, because it has less computational time than 2.1. AUTONOMOUS VEHICLE MODULES 59
Fig. 2.10: Experimental results obtained with 1:43 scale RC cars (courtesy of Roso- lia et al. [191]). Nonlinear MPC ideal trajectory in red, measured tracked trajectory in black, desired path (center line of the road) in dashed-gray, and the obstacles represented by the blue shapes. the distance based controller. In [285], Leman et al. propose NMPC for obsta- cle avoidance and compare their approach to the Stanley controller. The authors simulate a scenario with different speeds, showing that the NMPC is able to track better the path and be more stable than the Stanley controller. In [191], Rosolia et al. propose a two-stage controller, with a NMPC in the outer-loop, doing the obstacle avoidance, and a PI with feed-forward controller tracking the optimized trajectory. Moreover, the authors propose a solving method for the optimization problem and compare it to a common solver (IPOPT). The proposed solver is significantly faster (<0.15 s vs <0.9 s), but it has the disadvantage of needing a slack variable to guarantee feasibility. The approach is verified with experiments using 1 : 43 scale RC cars around a track see Fig. 2.10, where the desired trajectory by the NMPC controller17 is tracked by the PI controller using torque and steering input.
17This is one of those cases where it is a gray area whether the NMPC is a controller or a planner. The approach is considered a controller due to the knowledge of errors to the reference path by the outer-loop. 60
Fig. 2.11: Experimental results obtained with a passenger car on snowy/icy condi- tions (courtesy of Gao et al. [287]).
Gao et al. in [286] propose two different NMPC controller schemes to achieve obstacle avoidance on slippery roads. The first solves a single NMPC problem penalizing the cost of being close to obstacles in order to avoid them. The second is a planner controller scheme: the planner NMPC uses a simple point-mass vehicle model to avoid obstacles; the controller NMPC uses the more complex model as in the first approach to track the received reference path. Experiments are run for a double lane change obstacle avoidance scenario on icy/snowy conditions. The two stage approach is better than the one stage, because , not only it maintains stability for higher entry speeds, but also reduces significantly the computational time of the controller. In [287], Gao et al. extend their work by using a spatial bicycle model on the planner NMPC. This allows to more easily setup the obstacles as constraints simplifying the cost function. Moreover, the authors use SQP with linear time-varying MPC (LTV-MPC) to solve the NMPC controller problem. The more accurate model advantages on the higher-level planner are clear when compared to previous work. Fig. 2.11 presents experimental results obtained with a passenger car on snowy/icy conditions at 14 m s−1. As expected, the controller does not track perfectly the planned path, specially when avoiding obstacles. In related work [288], Gray et al. also propose a planner controller scheme, where motion primitives are used to plan and avoid obstacles, and an NMPC follows the planned path. The approach is verified by avoiding an obstacle and track the path on a double lane change scenario with low road friction as in [286]. The advantage over the previous approach is that selecting motion primitives is faster than running another optimization. In [289], Carvalho et al. use NMPC to track the lane center-line while avoiding obstacles. An SQP approach is used to sequentially 2.1. AUTONOMOUS VEHICLE MODULES 61 solve LTV-MPCs until convergence of the control input or a maximum number of iterations is reached. Both static and moving obstacles are considered in performed experiments on packed snow. One obstacle is moving in a straight line at 10 m s−1 and, initially, the ego vehicle is behind it, approaching at 22 m s−1. The ego vehicle is able to brake and steer, performing the double lane change and the overtake. MPC has also been combined with other methods to achieve better control per- formance. One such combination, is to apply learning to better handle disturbances on repetitive tasks. For example, consider a truck always traversing the same path to load and unload at the same places. If the disturbances can be modeled and accounted for the vehicle will be able to track the path more accurately. Ostafew et al. in [290] propose a learning based NMPC to follow the same path multiple times. A kinematic model with disturbances modeled as a Gaussian process is used. Fig. 2.12 presents a robot and the results obtained with it at 0.4 m s−1. Road and model disturbances are learned over the runs, modifying the Gaussian process. The learning is mostly done over the first five runs, reducing both the lateral and heading errors to path by 50 %. The authors extend their work in [291], where they compare a P controller and a NMPC to the learning based NMPC. As expected, the learning controller is able to anticipate reference changes and disturbances, the NMPC is only able to handle reference changes, and the P controller acts only after the changes or disturbances. Furthermore in [291], the authors extend the experi- ments to a car-like vehicle. As for the smaller robot, the algorithm and controller quickly reduce the errors to path by over 50 %. The NMPC optimization problem is difficult to solve in real-time and guarantee convergence to the minimum. An approach to address this is to use explicit MPC (eMPC) [292], where the MPC problem is solved offline and a piece-wise control law is derived for each region of the state-space. Online, the controller evaluates convex polytopes to determine in which region the system is on, and computes the control input accordingly. In [293], Di Cairano et al. propose an eMPC method to track the driver’s requested yaw-rate using differential braking and active front steering. The authors note that eMPC can be executed with automotive-grade electronic control units and showcase it with experiments on a passenger car. An experiment at 14 m s−1 doing a double lane change on a icy/snowy condition, shows that the driver is not able to stabilize the vehicle alone. With the control method the vehicle stabilizes and the tire slip angles are maintained at the desired saturation points. Some nonlinear systems can be described by linear parameter-varying (LPV) systems, which are defined as linear systems, where the system matrices are not constant but depend on some time-varying parameters [294]. eMPC is interesting for such systems, because by bounding the LPV system parameters, the number of regions and control laws are also bounded. Besselman et al., in [295] and [296], applied explicit MPC to a discrete-time LPV system, where the scheduling param- eter is measured online and known to the controller, but future values of it are only known to lie in a simplex. More recently, in [297], the rate of the parame- ter variation is considered to be bounded, which allows for improvements in the performance of the controller. Finally, the authors in [298] provide a procedure to 62
(a) Robot used.
(b) Errors to path evolution over multiple runs.
Fig. 2.12: Learning based NMPC example (courtesy of Ostafew et al. [290]). bound the solution suboptimality. In [298], the authors also gather previous results on constraint satisfaction, recursive feasibility, and asymptotic stability. Another way of reducing/limiting the computation time taken by NMPC ap- proaches is to solve the problem by using an SQP approach and stopping it before convergence. For each iteration of the LTV-MPC the accuracy of the linearizations is improved, and gets closer to the optimum of the nonlinear problem. The solution time can be bounded18 by stopping after a number of iterations, and using the solution at that time. Lima et al. in [299]19 explore this idea to implement the progress maximization MPC (PM-MPC). The objective of the controller is to maximize the progress along a road, i.e., have minimum traveling time (e.g., a racing application). Furthermore, a polytopic approximation of the g-g diagram is proposed to respect the lateral and longitudinal acceleration constraints of the vehicle. The vehicle is modeled as a
18This is only valid if the solver used for each QP is able to provided a bounded solution time. 19This thesis author is a co-author of this work. 2.1. AUTONOMOUS VEHICLE MODULES 63 road-aligned kinematic bicycle model, and obstacles are considered by constraining the allowed error to path. Fig. 2.13 depicts the simulation results for the PM- MPC, with two successive iterations, traversing an S-shaped road with obstacles. As expected from a racing application, the vehicle makes use of the road width to speed up while turning. When compared to the globally solved solution of the same scenario, the PM-MPC takes around 5 % more time to traverse the path, but it is significantly fast to compute making it real-time implementable. Ultimately, the idea explained before leads to what is called real-time iteration (RTI) MPC. In RTI-MPC, only one QP problem is solved per controller iteration using a linearized system model and constraints, and using the previous controller iteration shifted solution as linearization points [300]. More details can be found in [300], where Gros et al. clarify the similarities and differences between linear MPC and NMPC based on a RTI scheme. The authors give simple examples to showcase the differences between linear MPC, RTI MPC, and fully converged SQP MPC. There is a significant difference between the first two, but very small difference between the last two (with the advantage of only solving one QP per iteration). These results are further verified experimentally, where the importance of shifting the solutions between iterations is highlighted. RTI-MPC has also been used for vehicle applications. For example, Duijkeren et al. in [301] use it for highway driving trajectory control of long HDVs. The authors consider both steering angle rate and longitudinal jerk as control inputs for the vehicle. A lane merge scenario with other traffic participants is presented, where the results showcase the safety of the approach, maintaining longitudinal distance from other agents. Furthermore, the RTI scheme is compared to solving the full problem until convergence, showing that RTI is significantly better, since the optimality loss is very small, but the solving time per controller iteration is up to 90 times faster.
Linear MPC
Linear MPC (LMPC) solves a convex problem, with a linear system and linear constraints. A common formulation is,
N−1 T X T T min z¯N|tQz¯N|t + z¯i|tQz¯i|t + ui|t Rui|t ut i=0
s.t. z¯i+1|t = Ai|tz¯i|t + Bi|tu¯i|t, Ctzt + Dtut + ht 6 0, (2.4) z¯i|t = zi|t − zr,i|t, u¯i|t = ui|t − ur,i|t, z0|t = zt = zc, N−1 ∀i ∈ N0 , 64
20 20
0 18
[m] 20 16 y −
40 − 14
60 − 0 20 40 60 80 100 120 12 x [m] 4 10 2
[m] 0 y e 2 8 − 4 − 6 0.5
[rad] 0
ψ 4 e 0.5 −
0 50 100 150 200 250 300 350 2 1 s [m] Optimal path speed [m s− ]
Road boundaries Centerline
Fig. 2.13: PM-MPC simulation results (originally presented in [299]). The top plot shows the trajectory in the global frame and the bottom two plots in the road- aligned frame. The road boundaries vary to represent obstacles on the road, and the trajectory color represents the speed of the vehicle. 2.1. AUTONOMOUS VEHICLE MODULES 65 where, the quadratic cost of the error to the trajectory and the control input are minimized20. Furthermore, all state and control input constraints are expressed linearly in inequality constraint form making use of the matrices C and D, and the vector h. In fact the formulation presented in (2.4), is that of an LTV-MPC because of the time dependency21 of matrices A and B. The original linear MPC formulation has matrices A and B constant. Linear MPC has been widely applied to both lateral and longitudinal vehicle control problems due to its real-time capabilities. In [302], Bageshwar et al. propose LMPC for ACC. The authors use simulations to compare different formulations (with and without constraints) on vehicle following scenarios. As expected, when both the acceleration limits and collision avoidance constraints are implemented, the vehicle is able to anticipate and avoid collisions that a simpler controller would not. Li et al. in [303] also propose an LMPC for ACC of an HDV. The controller takes into consideration the ego vehicle’s acceleration response, as well as, the velocity and acceleration of the preceding vehicle. The LMPC approach is compared to an LQR ACC. Over multiple simulations the MPC approach is better, avoiding collisions, having a better tracking performance, and saving more fuel than the LQR. Bu et al. in [304] implement linear MPC for CACC on a Infiniti (Nissan group) passenger vehicle. The approach makes use of the factory installed ACC by modi- fying the measurements and reference requests sent to it. Experiments comparing the factory ACC to the proposed CACC, show that the CACC far outperforms the ACC. Furthermore, the authors raise concerns about string stability if only the factory ACC is used. In [277], Stanger and Re present a LMPC for CACC directly minimizing the fuel consumption of the vehicle. The MPC is compared to a PI ACC using simulation, where its advantages are clear. Not only, safety distances to other vehicles are maintained, but also there is a clear improvement in fuel consumption and ride comfort. Furthermore, the authors study different lengths of prediction horizon, and how they influence fuel consumption and road capacity, showing that bigger horizons lead to bigger gains. As mentioned before, in a more recent pub- lication by the authors [276], this approach is compared to NMPC. The authors conclude that the linear MPC is better, because of faster computation times and small loss of optimality. Falcone et al. in [305] introduce the LTV-MPC framework applying it to vehicle lateral control, and showcasing its capabilities against the NMPC proposed in [279]. The linearization of the system and constraints is done around the desired path to be followed. The controller makes use of the front tire steering angle to control a coasting vehicle during a double lane change on a snowy road. The NMPC cannot be implemented in real-time while the LTV-MPC can, and, by comparing the results obtained at 15 m s−1, the LTV-MPC only has a small loss of performance, so its
20Other cost functions can be considered in the context of LMPC, given that they are convex functions. The quadratic cost function is presented, for its wide use in previous literature. 21Some formulations consider other dependencies (e.g., space), but the formulation is still called linear time-varying to express the varying nature of the system model. 66 advantages are clear. Falcone et al. extend their work in [306], where higher entry speeds and experimental results are presented. Even constraining the number of iterations the solver could do, the NMPC could only be tested up to 7 m s−1. On the other hand, the LTV-MPC is able to stabilize the vehicle up to 21.5 m s−1 for the scenario considered. In [307], Falcone et al. further extend their controller by considering active braking and active differentials. The authors compare their approach with other LTV-MPCs that only consider steer and braking intervention, or only steering inter- vention. In simulation, compared to the steer and braking controller, the proposed approach is able to handle higher velocities, but it presents slightly more error to path. Compared to the steering only LTV-MPC, the proposed controller is over- all better, with significant less error to path. In [308], Falcone et al. propose a planner-controller scheme for the lateral control, where the controller used is the LTV-MPC proposed in [306]. The authors showcase the advantages of having a planned reference path that takes into consideration vehicle stability limits, show- casing how it allows to have a smaller prediction horizon and still achieve a slightly better tracking performance of the original path. Many other problems have seen linear MPC solutions. In [309], Timings and Cole use a successive linearization RTI LTV-MPC to optimize the steering and torque input of a racing vehicle, while minimizing maneuver time. The controller is verified by simulating a 90◦ bend, where tire force saturation levels are verified and the controller is seen to perform a racing line. The controller is also compared against an NMPC, which achieves a slightly higher apex speed, because it is able to use more tire lateral capacity by increasing steering oscillation. Turri et al. in [310] propose LTV-MPC to perform lane keeping and obstacle avoidance on low curvature roads. The approach solves multiple independent QPs per iteration, where each QP uses a different longitudinal velocity profile. Then, out of all solutions, the minimum cost inputs are chosen and applied to the vehicle at each iteration. The controller is implemented in a Jaguar passenger vehicle, and is able to perform a double lane change at 50 km h−1 to avoid an obstacle on a snowy road. In [189]22, Collares Pereira et al. present an LTV-MPC for lateral control of an over-actuated vehicle. The research concept vehicle (RCV) is a 4 wheel-steered (4WS) electric vehicle. This vehicle can move sideways by turning all wheels in the same direction, which is called crabbing motion. The controller makes use of an extended kinematic bicycle model to control both curvature and the crabbing angle, which are then translated to individual wheel angles using Ackerman geometry. Fig. 2.14 shows experimental results obtained for a lane change maneuver in snowy/icy conditions. It is clear the vehicle is moving sideways using the maximum allowed crabbing angle during the maneuver. Kim et al. in [311] propose MPC for path tracking taking into consideration the steering actuator dynamics. The formulation includes constraints on maximum and
22This thesis author is a co-author of this work. 2.1. AUTONOMOUS VEHICLE MODULES 67
(a) Position and orientation of the vehicle. Note how the vehicle is pointing front and moving sideways making use of the crabbing motion.
0.15 0.2
0.04 0.1
) 0.02 0.1 0.05 -1 0 (rad) (m β κ 0 -0.02 0
-0.04 -0.05 Lateral Error (m) -0.06 -0.1 -0.1 0 20 40 0 10 20 30 40 X (m) X (m) (b) Curvature, κ, in blue, and crabbing an- (c) Lateral error of the vehicle to the path. gle, β, in red.
Fig. 2.14: Experimental result for a lane change maneuver with a 4WS vehicle (originally presented in [189]).
minimum steering angle and rate, where the maximum angle is quadratically inverse to the velocity of the vehicle, bounding its lateral acceleration. Simulations are used to verify different controller aspects. First, different model orders for steering dynamics are studied, showing the second order model is good enough. Second, the prediction horizon length is studied without varying the control horizon, where the computational times are measured. Finally, a double lane change scenario at different velocities is used to verify the controller. In [312], Ji et al. propose an MPC for tracking paths generated with potential fields considering road obstacles and boundaries. The controller considers constraints on lateral and yaw errors to path, sideslip angles, and steering actuation. The proposed MPC is compared to a simpler version, without state and sideslip constraints. Only the more constrained version is able to perform a double lane change at 20 m s−1 on a low friction road. 68
Graf Plessen et al. in [313] propose a spatial-based LTV-MPC for path tracking and obstacle avoidance. The controller actuates on throttle, brake, and steering inputs of the vehicle. Simulation results for multiple scenarios, considering static and dynamic obstacles are presented. The most interesting results are presented in Fig. 2.15 where multiple obstacles are considered while tracking a winding road. Fig. 2.15 presents snapshots in time of the scenario, where the ego vehicle (in blue) is able to overtake multiple obstacles, while taking into consideration oncoming traffic (red shapes). In literature is common to assume that the obstacles positions are known and/or that the feedback-loop is able to address system disturbances. However, in real- ity, there are always uncertainties, disturbances, and unmodeled system dynamics. If they are accounted for in the control design, most likely a better closed-loop performance is achieved. Stochastic MPC makes use of probability distributions to model uncertainties and chance constraints to account for these uncertainties, while penalizing the expected value in the cost-function. Gray et al. in [314] propose a stochastic MPC for lane keeping and obstacle avoidance, while taking into consideration driver intervention. The driver interven- tion is modeled with a normal distribution around a designed estimate using the reference path and current state. Two obstacle avoidance scenarios are simulated. In the first, the actuation of the driver would lead to a collision, but with the help of the controller the vehicle is able to avoid it. Fig. 2.16 presents the results of the second simulation, where ten randomly disturbed runs and the worst-case distur- bance (δˆ ± 3Σ) runs are considered. The vehicle is able to maneuver around the obstacles and avoid collisions. Liniger et al. in [315] propose a RTI LTV-MPC for longitudinal and lateral control of RC cars. The objective is to maximize progress along the track in order to win a race. Both the motor and steering are controlled, while taking into consid- eration other vehicles and track limits. The approach is compared to a NMPC, that cannot have the same prediction horizon due to the computational power it would require. Experiments with 1:43 scale RC cars show that the linear MPC achieves a better lap time, both with an empty track and overtaking static obstacles. In [316], Liniger et al. extend their work by considering stochastic MPC and disturbance feedback. The vehicle model considers additive disturbance to provide robustness. Different stochastic approaches are compared, more importantly a smaller lap time is achieved when compared to the previously proposed approach in [315]. Carvalho et al. in [317] propose stochastic MPC to handle uncertainty aris- ing from other road participants. The approach starts by estimating the other vehicle’s trajectories using a multiple model Kalman filter, which considers typ- ical maneuvers, such as, lane keeping, and lane changing. The control problem optimizes steering and braking inputs for the vehicle, while taking into account moving obstacles (posed as chance constraints), lane boundaries, and control in- puts constraints. The first simulation results compare risk vs conservativeness of the controller by changing the risk parameter. Showing that with it at 0.5 (equiv- alent to the undisturbed nominal model) the vehicle makes a lane change in the 2.1. AUTONOMOUS VEHICLE MODULES 69
Fig. 2.15: Simulation time lapse of LTV-MPC avoiding static and dynamic ob- stacles on a double lane winding road (courtesy of Plessen et al. [313]). All road participants have their velocities indicated next to them in km h−1. In blue the controlled vehicle and the predicted horizon, in red the obstacles, in green the ego vehicle sensing capabilities, and in black the road boundaries. 70
Fig. 2.16: Ten randomly disturbed simulations using stochastic MPC (courtesy of Gray et al. [314]). The randomly disturbed trajectories are in red, and the worst- case disturbed trajectories are marked in dashed-blue. middle of two other moving vehicles, but, with it at 0.998, the controller decides to slow down avoiding a possible collision. The second simulation results are presented in Fig. 2.17, where snapshots in time are presented. The ego vehicle (denoted by E) slows down when vehicle T1 merges into its lane, and then waits for T2 in order to start overtaking T1. For an interested reader, in [318], Carvalho et al. present the previous approach as well as other related work, putting the stochastic MPC approach in a broader context for autonomous vehicles. Robust MPC is a thoroughly researched topic (see [319] and references therein for a complete survey on the topic) and is able to explicitly handle disturbances. Mayne et al. in [320–322], present a robust MPC approach for control of disturbed linear time-invariant23 (LTI) systems. The nominal system is subject to tighter constraints in order to guarantee exponential stability of a disturbance invariant set. In particular, [320] accounts for state disturbances, [321] extends the results to include output disturbances, and [322] includes the dynamics of a state estimator convergence. The controller makes use of a feedback gain to handle disturbances and to maintain the system inside an invariant set. The invariant set position, i.e., the nominal system position, is optimized online, and the control law is the sum of the feedback term and the optimal input for the nominal MPC problem. Bumroongsri in [323] extends the work done by Mayne et al. to LPV systems. The proposed controller steers the nominal LPV system to the origin and stability is guaranteed assuming that the time-varying parameter can be measured. However, this controller does not optimize the nominal state of the system, instead the time- varying parameter is measured at each step and the nominal system state computed.
23LTI means that the matrices A and B of the system are constant. 2.1. AUTONOMOUS VEHICLE MODULES 71
Fig. 2.17: Time snapshots of stochastic MPC simulation (courtesy of Carvalho et al. [317]). The red boxes depict the current positions, while the gray boxes depict the future positions. For each target vehicle, the ground truth is shown by the dashed red line.
These works are better introduced and extended for LTV-MPC in Chapter 4 of this thesis. The great advantage of the approach proposed by Mayne et al. is the low com- plexity of online computations, which allows for real-time implementation. Nev- ertheless, there are other approaches. In [324], Richards et al. propose a linear MPC approach for LTV systems, capturing the system linearization error in the disturbances. This approach makes use of a very constrained MPC problem in order to be robust. Each optimized state is constrained to be inside shrinking tubes obtained with a feedback control law (usually the LQR one). Comparing to Mayne et al. [320], all states are constrained by tight sets, while in Mayne et al. only the current nominal state has a tight set constraint, and it is an optimized 72 variable making it easy to solve online. When it comes to robust MPC applied to autonomous vehicles it is harder to find work with linear MPC. It is easier to find work for robust nonlinear MPC, e.g., [325–327]. Some of the mentioned approaches are robustifying work already discussed in this literature review. The reader is welcomed to read and dive into the topic of robust nonlinear MPC. One of the concerns when developing controllers is their ability to stabilize the closed-loop system. Falcone et al. have considered this extensively (e.g., [305,306]), and that is why the considered scenarios always include slippery roads. In [305], Falcone et al. note that the controller stability is achieved by careful tuning the cost function weights and by including vehicle dynamic constraints. This is an ad-hoc solution to the problem, and does not provide guarantees. However, this type of solution has been widely applied. Katriniok and Abel in [328] propose an RTI like LTV-MPC. The front steering angle is used to maneuver the vehicle, while taking into consideration maximum and minimum sideslip angles for the wheels, maintaining the tires in a good op- erating region. Simulation results of a double lane change in snowy conditions are used to compare successive vs reference model linearization. Concluding that using the predicted horizon to linearize improves both the tracking accuracy and the smoothness of the control request. In [329], Katrioniok et al. extend previous work to control also braking of the vehicle and propose an extended Kalman filter (EKF) to obtain offset free tracking. The controller is evaluated with a Volkswagen passenger vehicle on a dry rural road performing a double lane change. The vehicle starts the scenario at 20 m s−1 and is able to perform the evasive maneuver, while maintaining a lateral error to path smaller than 0.3 m. Controllers that consider the bounds of vehicle capabilities, maintaining its sta- bility, can also be referred to as envelope controllers [330]. Beal and Gerdes in [330] propose an envelope controller for driver assistance. The envelope is done on yaw- rate and rear wheel sideslip angle. The optimized front wheel lateral force necessary for stability is used, together with the driver requested steering angle, computing the necessary steering angle to stabilize the vehicle. The controller is tested on the P1 (a research vehicle built at Stanford University) on varied road surfaces (mixed dirt, gravel, and asphalt). The controller is able to prevent the vehicle from entering unstable regions, for different velocity profiles. Erlien et al. in [331] propose an envelope controller to achieve both stable vehicle dynamics and obstacle avoidance. A noteworthy detail of the implementa- tion is the use of varying discretization time-steps throughout the horizon. Which allows for the prediction of a long horizon, without adding more points and increas- ing problem complexity. Simulation shows controller capability in correcting the driver’s steering input, while avoiding obstacles and maintaining a stable behav- ior. Furthermore, a comparison between using or not a RTI scheme concludes that successive linearizations allow for higher entry speeds on the double lane change scenario. Erlien et al. extend their work in [332], considering the possible path decisions to avoid obstacles ahead and experimentally testing the controller. To formulate 2.1. AUTONOMOUS VEHICLE MODULES 73 the MPC as a QP, different paths are considered to avoid obstacles (e.g., go left or right). Then, a QP MPC is solved per possible path and the optimum is chosen. Fig. 2.18 shows experimental results obtained with the X1 (research vehicle built at Stanford). The scenario conforms with the ISO standard 3888-1 [333], consisting of a double lane change at more than 60 km h−1 on a low friction road. Interest- ingly, during the experiment the envelope is broken (which is allowed in the MPC formulation through the use of slack variables), because the collision avoidance con- straints take priority over the stability envelope constraints. Still, the controller is able to recover in time, achieving the desired behavior. Another concern when solving constrained optimization problems is their feasi- bility, i.e., the ability to find a sequence of control inputs (optimized variables) for which all constraints are satisfied. As discussed before, constraints influence each other and, sometimes, it is not possible to fulfill all of them (consider Fig. 2.18). To tackle this, many implementations consider soft constraints (e.g., [328–332] ). The constraints are modified and a slack variable is added to allow the optimization to not fulfill the constraint. The slack variable is then heavily penalized on the cost function in order to only be used if breaking the constraint is really necessary. These feasibility issues have been studied and problems with different approaches highlighted and solved by Scokaert et al. in [334]. Furthermore, in [335], Kerrigan et al. present a method to compute a lower bound for the constraint violation penalty, allowing the guarantee of an exact penalty function when using soft con- straints. This is important to ensure the constraints are only broken when really necessary, i.e., when there is no other feasible solution to the problem. For linear time-invariant systems, guaranteeing feasibility and stability for MPC has been extensively studied [319]. Probably the most common approach is to use a terminal cost and a terminal set constraint, which guarantees that the cost-to- go decreases over time, and using Lyapunov arguments, exponential stability is proven. Note that no closed form expression can be found for the constrained infinite-horizon cost-to-go function. However, it is often possible to provide a good estimate of it in a region of the space, which is called the terminal region (set), Zf . The idea is to find a feedback control law that stabilizes the unconstrained problem inside an invariant terminal set. Then, the closed-loop is stable if the cost function accounts for the infinite-horizon cost, Qf . So, the cost Qf is added to the finite-horizon cost and the last horizon point is constrained to be inside the terminal set Zf (where the unconstrained problem and infinite cost-to-go is valid), making the system stable. A common choice for the weight Qf is P , the solution 24 of the ARE (2.2), and for the terminal constraint set Zf is the maximal positive invariant set (see Definition 2.6) for the closed-loop system. When it comes to lateral control of HDVs with linear MPC, previous published work is much more scarce. Still, Scania CV AB, KTH - Royal Institute of Tech- nology, and Link¨opingUniversity, have been key players in improving and applying MPC to path following problems for HDVs.
24In fact, the discrete time version of the ARE (2.2) is used. This is presented in Section 2.2.3. 74
Fig. 2.18: Experimental results obtained with Stanford’s X1 vehicle performing a double lane change on a low friction road (courtesy of Erlien et al. [332]). 2.1. AUTONOMOUS VEHICLE MODULES 75
Lima et al. in [336] present an LTV-MPC path following controller for HDVs called the smooth and accurate MPC (SA-MPC). The controller minimizes the er- rors to path, and the first and second derivatives of curvature to obtain a smooth driving behavior, while respecting the dynamics of spatial kinematic bicycle model and actuation constraints. This approach is experimentally evaluated with a Sca- nia truck, and is shown to behave two times better than a pure-pursuit controller. The authors extend this work in [93], where further results are presented for the controller. The controller is tested in both a highway like track at high speeds, and also in a precision track with a more complex curvature profile. First, simulations are run comparing the SA-MPC to a pure pursuit controller and a standard MPC that only considers the errors to path and requested curvature on the cost func- tion. As expected, both MPCs perform better than the PPC, and the SA-MPC is smoother than the standard MPC, although it has slightly higher lateral error than the standard MPC. Experiments are run with the SA-MPC and PPC for both tracks. Not only the lateral error to path of the SA-MPC is much better, but it also increases much less than the PPC at higher speeds. In Chapter 5, a com- parison to the SA-MPC is made, using the formulation presented in Lima’s PhD thesis [94, Ch.7]. For LTI systems controlled with MPC it is possible to guarantee stability with a terminal set and a terminal gain. Lima et al. in [337] extend this idea to LTV-MPC obtaining a terminal set that is invariant to multiple LTI systems and proposing a terminal cost. The approach is applied to lateral control of a vehicle using a spatial road-aligned bicycle model and LTV-MPC. Simulation of a straight path with an initial lateral error of 1 m, shows that the controller without terminal gain and set does not stabilize the system for some specific tuning weights. However, with terminal gain and set, the closed-loop system is always stable. This work is extended in [338]25, where Lima et al. propose an improved formulation for the terminal cost, consider input rate constraints, and verify their approach experimentally. The experiments are run with a Scania truck at constant velocity, where the vehicle is to follow a path that suddenly jumps 1 m to the side. Without taking into consideration input rate constraints the closed-loop system is not stable. However, when taking in consideration input rate constraints, terminal cost, and the terminal set, the system is stable. This work is extended in Chapter 4 of this thesis, where a more general formulation is presented for LTV systems which can be bounded by LPV systems. Furthermore, the rate of the LPV parameter variation is taken into consideration in order to stabilize all systems. For the autonomous vehicle example, this is done to handle changes in velocity, for which previous work did not guarantee stability for. Ljungqvist and Axehill in [339] have extend their work with LQR reversing truck-trailer systems by changing the controller to an MPC. The authors consider a multi-steered two trailer system with a car-like tractor, where the last trailer has steerable wheels. The MPC optimizes both the tractor and the last trailer
25This thesis author is a co-author of this work. 76 steering inputs, while minimizing the errors to path and control used. Moreover, the problem considers input and input rate constraints, and constraints on joint angles between trailers and tractor, to avoid undesired behaviors. Simulation is used to compare the proposed MPC to the LQ method proposed in [257]. Two reversing scenarios at −1 m s−1 are considered, a straight and a figure-eight path. The MPC advantages of having the joint-angle constraints are clear, since the controller is able to start from more difficult initial positions and stabilize the vehicle, without causing jackknife states. Furthermore, the advantage of having a steered trailer is also verified, showing that the vehicle converges faster and tracks the path better. Ljungqvist et al. in [340] extend their previous work by considering sensing capabilities of the system, and verifying the approach experimentally with a Scania truck-trailer system. The same figure-eight and straight paths scenarios as before are used. The experiments highlight even more the importance of the constraints on joint-angles, which for this controller not only avoid jackknifing but also allow for a good estimation of the trailer’s position. In [341], Ljungqvist et al. present more details on the previous controller, and compare it to a nonlinear mixed integer QP (MIQP) formulation that is less constrained on the joint-angles. Simulations show better tracking performance of the MIQP formulation, but the worst-case computation times are more than 7 times higher than the QP formulation, not allowing implementation in real-time.
This literature review of controllers and their application to autonomous vehi- cles is not complete. The reader is advised to dive into the references mentioned throughout the section, and, if interested, look into other applications where much more literature can be found. Consider the following subset of books and survey papers that were consulted to do this review: [108, 182, 204, 222, 232, 233, 246, 271, 272, 319, 342–347].
The review of the system architecture and related work for each module is also far from complete. The reader is advised to read further on these topics. Probably a good start is to look into the literature referenced and the references therein. Furthermore, the architecture presented is not unique, there are other valid system representations, where the tasks are split differently for multiple reasons. In fact, the extreme architecture assumes everything is done by one module, as in Schwarting et al. end-to-end planning section [63].
2.2 Control and Optimization Fundamentals
In this section the main concepts for discrete control and optimization that are used throughout this thesis are recalled. First, controllability, reachability, invariance, and stability concepts are presented. Afterwards, convexity and set operations are defined. Finall the concepts of optimization, feasibility, quadratic program formulation, discrete LQR, and MPC feasibility and stability are introduced. The 2.2. CONTROL AND OPTIMIZATION FUNDAMENTALS 77 material presented below follows closely the book Predictive Control for Linear and Hybrid Systems by Borrelly, Bemporad, and Morari [271].
2.2.1 Controllability, Reachability, Invariance, and Stability Consider the following discrete-time system,
zt+1 = f(zt, ut), (2.5)
n m where, the function f(·) describes the system dynamics, zt ∈ R and ut ∈ R are the state and input vectors, respectively, which belong to state and input constraint sets, n m zt ∈ Z ⊆ R , ut ∈ U ⊆ R , ∀t > 0. (2.6)
When system (2.5) is subject to the feedback control law ut = F zt where F is feedback control gain, the system dynamics become,
zt+1 = f(zt, F zt).
Definition 2.1 (One-step controllable set) For system (2.5), the one-step con- trollable set to set S is defined as,
n Pre(S) = {z ∈ R : ∃u ∈ U, f(z, u) ∈ S}
The one-step controllable set is the set of states that can be driven into the target set S in one time step.
Definition 2.2 (One-step reachable set) For system (2.5), the one-step reach- able set from set S is defined as,
n Suc(S) = {z ∈ R : ∃z0 ∈ S, ∃u0 ∈ U, z = f(z0, u0)}
The one-step reachable set is the set of states that can be driven from set S in one time step.
Definition 2.3 (N -step controllable set, KN (S)) For system (2.5) subject to constraints (2.6), the N-step controllable set to set S ⊆ Z is defined recursively as,
N Kj(S) = Pre (Kj−1(S)) ∩ Z, K0 (S) = S, ∀j ∈ N1
The N -step controllable set is the set of states that can be driven into the target set S in N steps, while respecting the system constraints.
Definition 2.4 (N -step reachable set, RN (S)) For system (2.5) subject to con- straints (2.6), the N-step reachable set from set S ⊆ Z is defined recursively as,
N Rj(S) = Suc (Rj−1(S)) ∩ Z, R0 (S) = S, ∀j ∈ N1 78
The N -step reachable set is the set of states that can be driven from set S in N steps, while respecting the system constraints.
Definition 2.5 (Positive invariant set) For system (2.5) subject to constraints (2.6), a set O ⊆ Z is said to be positive invariant if,
z0 ∈ O ⇒ zt ∈ O, ∀t > 0.
Set O is invariant for system (2.5), if the system starts in O it stays in O for all futures states, while respecting the constraints.
Definition 2.6 (Maximal positive invariant set) The set O∞ ⊆ Z is the max- imal positive invariant set for system (2.5) subject to constraints (2.6), if O∞ is invariant and contains all invariant sets in Z.
Theorem 2.1 (Geometric condition for invariance) A set O ⊆ Z is a posi- tive invariant set for system (2.5) subject to constraints (2.6) if and only if
O ⊆ Pre (O) .
A proof can be found in [271, Theorem 10.1] by Borrelli et al. .
For ease of understanding while discussing system stability, consider the discrete time autonomous system, zt+1 = fa(zt), (2.7) n where, the function fa(·) describes the system dynamics, zt ∈ Z ⊆ R , ∀t > 0. Furthermore, consider the disturbed system,
zt+1 = fa(zt, wt), (2.8)
n where, wt ∈ W ⊆ R , ∀t > 0. A disturbance invariant set for a system, is a set that is invariant for that system even considering the system disturbances, i.e.,
Definition 2.7 (Disturbance invariant set) For system (2.8), a set O ⊆ Z is said to be disturbance invariant, or robustly positively invariant set, if,
zt ∈ O ⇒ zt+1 = fa(zt, wt) ∈ O, wt ∈ W, ∀t > 0.
Before defining stability, consider the following definition of distance of a point to a set, Definition 2.8 (Distance of point z to set S) The infimum Euclidean norm dis- tance of point z ∈ Rn to set S ∈ Rn is defined as,
d(z, S) = inf{kz − sk : s ∈ S}. 2.2. CONTROL AND OPTIMIZATION FUNDAMENTALS 79
Definition 2.9 (Origin stable) For system (2.7) the origin is Lyapunov stable n for region ZA ⊆ R , if for each > 0, there is a δ > 0 such that any solution with initial state zt ∈ ZA satisfies,
kztk < δ ⇒ kzt+jk < , ∀j > 0.
Definition 2.10 (Origin asymptotically stable) For system (2.7) the origin is n asymptotically stable with a region of attraction ZA ⊆ R , if it is stable and
lim zt+j = 0, ∀zt ∈ ZA. j→∞
Definition 2.11 (Origin exponentially stable) For system (2.7) the origin is exponentially stable (Lyapunov stable and exponentially attractive) with a region of n attraction ZA ⊆ R , if there exists c > 0 and τ ∈ ]0, 1[ such that any solution with initial state zt ∈ ZA satisfies,
j kzt+jk 6 c τ kztk, ∀j > 0.
Showing Lyapunov stability of the origin is usually done by constructing a Lya- punov function that satisfies the conditions of the following theorem, Theorem 2.2 (Lyapunov stability) Consider the equilibrium point z = 0 (ori- n gin) of system (2.7). Consider the region of attraction ZA ⊂ R a closed and bounded set containing the origin. Assume there exists a function V : Rn → R continuous at the origin, finite for every z ∈ ZA, and such that
V (0) = 0 and V (z) > 0, ∀z ∈ ZA \{0}, (2.9) V (zt+1) − V (zt) 6 −τ(zt), ∀z ∈ ZA \{0}, (2.10) where τ : Rn → R is a continuous positive definite function. Then the origin is asymptotically stable in ZA. A proof can be found in [342, Appendix B] by Rawlings and Mayne.
Definition 2.12 A function V (z) satisfying conditions (2.9) and (2.10) is called a Lyapunov function.
When the system is disturbed the origin might not be stable anymore. In this case, a set around the origin can be stable. The following stability definition follows Mayne et al. [320]. Definition 2.13 (Set robustly exponentially stable) For system (2.8) set S n is robustly exponentially stable with a region of attraction ZA ⊆ R , if there exists c > 0 and τ ∈ ]0, 1[ such that any solution with initial state zt ∈ ZA and admissible disturbance sequence wt, ...., wt+j (wt+i ∈ W, ∀i ≥ 0) satisfies,
j d(zt+j, S) 6 c τ d(zt, S), ∀j > 0. 80
2.2.2 Convexity and Sets
The state and input sets (Z and U, respectively), are usually convex polytopes.
Definition 2.14 (Convex set) A set S ∈ Rs is convex if
βz1 + (1 − β)z2 ∈ S, ∀z1 ∈ S, ∀z2 ∈ S, β ∈ [0, 1].
Definition 2.15 (Convex function) A function f : S → R is convex if S is convex and
f(z1β + z2(1 − β)) > f(z1)β + f(z2)(1 − β)), ∀z1 ∈ S, ∀z2 ∈ S, β ∈ [0, 1].
Definition 2.16 (Convex hull of set S) The convex hull of a set S ⊆ Rn is the set of all convex combinations of points in S and it is denoted as,
( k ) k X Conv (S) = z1β1 + ... + zkβk : zi ∈ S, βi > 0, i ∈ N1 , βi = 1 . i=1
Definition 2.17 (Polyhedron) A polyhedron P in Rn denotes an intersection of a finite set of closed half-spaces in R,
n P = {z ∈ R : Az 6 b} , where Az 6 b is a system of inequalities.
Definition 2.18 (Polytope) A polytope is a bounded polyhedron.
Operations with sets are the basis for many control analysis.
Definition 2.19 (Minkowski sum) The Minkowski sum of two sets P, Q ⊆ Rn is defined as, P ⊕ Q = {p + q : p ∈ P, q ∈ Q} .
Definition 2.20 (Pontryagin difference) The Pontryagin difference (also known as Minkowski difference) of two sets P, Q ⊆ Rn is defined as,
n P Q = {z ∈ R : z + q ∈ P, ∀q ∈ Q} . 2.2. CONTROL AND OPTIMIZATION FUNDAMENTALS 81
2.2.3 Optimization Fundamentals for Control In general, an optimization problem is formulated as,
min J(z) z (2.11) s.t. z ∈ Z ⊆ ZD, where the vector z is the decision variable, ZD is the optimization problem domain, and Z is the set of feasible or admissible decisions, more commonly known as constraints in MPC literature. The cost function J : ZD → R assigns a cost to each decision variable. The problem is said to be feasible if there is a pointz ¯ that belongs to set Z, i.e.,z ¯ ∈ Z. The problem is said to be infeasible if Z is empty. The objective is to find the optimal solution to (2.11). Consider z? ∈ Z the argument that minimizes (2.11), then,
? ? J(z) > J(z ) = J , ∀z ∈ Z,
The value J ? is also called the optimal value of problem (2.11). The optimization problem (2.11) is said to be convex if the cost function J is convex on ZD and Z is a convex set. A fundamental property of convex optimization problems is that local optimizers are also global optimizers (Borrelli et al. [271, Theorem 1.1]). When the cost is a convex quadratic function and the constraints are affine, the optimization problem is called a quadratic program (QP):
min 1 zTHz + hTz z 2 (2.12) s.t. Gz 6 g, Ez = e, where G ∈ Rq×n, g ∈ Rq, E ∈ Rp×n, e ∈ Rp, H = HT 0, H ∈ Rn×n, and h ∈ Rn. Numerical methods for solving QPs are a well studied problem and in this thesis they are assumed available and working as expected. For example, consider two open-source QP solvers, qpOASES [348] and OSQP [349].
Discrete-Time Linear Quadratic Regulator In 2.1.6.5, the LQR controller is introduced for a continuous-time system. Here the LQR for discrete-time systems is introduced in more detail, since it presents relevant results that are used in MPC problems. Consider the LTI system,
zt+1 = Azt + But, ∀t ≥ 0, (2.13) 82
n m where zt ∈ R and ut ∈ R are the state and input vectors. Let the LQR control problem be defined as
∞ X T T min J∞(zt, ut) = zi|tQzi|t + ui|tRui|t ut i=0 ∞ (2.14) s.t. zi+1|t = Azi|t + Bui|t, ∀i ∈ N0 , z0|t = zt, where zi|t denotes the state vector at discrete-time t+i predicted at time t obtained i−1 by applying an input sequence {uj|t}j=0 to the model zi+1|t = Azi|t +Bui|t starting from the current state z0|t = zt. The state penalty matrix is semi-positive definite Q = QT 0 and the input penalty matrix is positive definite R = RT 0. In this ∞ case the number of points in the horizon is infinite, so ut = {uj|t}j=0. Using dynamic programming it is possible to solve (2.14) in a recursive manner. The solution to the problem is a feedback control law as function of the current state of the system (for details check Borrelli et al. [271, Chapter 8]). To obtain the feedback control law the discrete-time Riccati equation,
T T T −1 T Pt = A Pt+1A + Q − A Pt+1B(B Pt+1B + R) B Pt+1A, (2.15) is solved recursively backwards, i.e., for t → −∞ starting with P0 = Q. Given that it converges to a solution P∞ (check Goodwin and Sin [350, Appendix E]) satisfying the discrete-time algebraic Riccati equation (DARE),
T T T −1 T P∞ = A P∞A + Q − A P∞B(B P∞B + R) B P∞A, (2.16) the optimal feedback control law is written as,
? T −1 T ut = F∞zt = −(B P∞B + R) B P∞A zt, (2.17) and the optimal infinite horizon cost as,
? T J∞ zt = zt P∞zt.
To guarantee convergence of (2.15) and to guarantee that it yields a stabilizing feedback law consider the following theorem. Theorem 2.3 (LQR stability) If (A, B) is a stabilizable pair and (A, Q1/2) is an observable pair. Then, the discrete-time Riccati equation (2.15) with P0 0 converges to the unique positive definite solution P∞ of the DARE (2.16) and all the eigenvalues of (A + BF∞) lie strictly inside the unit circle. A proof can be found in [351, Theorem 2.4-2].
? The theorem’s first condition ((A, B) is stabilizable) is necessary for J∞ (zt) (and P∞) to be finite. To understand the second condition consider the objective function T T 1/2 1/2 1/2 written as zt Qzt = (zt Q )(Q zt). Thus, not the state but the output Q zt is 2.2. CONTROL AND OPTIMIZATION FUNDAMENTALS 83 penalized in the objective. Therefore the second condition ((A, Q1/2) observable) 1/2 requires that this output captures all system modes, such that convergence of Q zt implies convergence of the state to zero. Thus the optimal control law (2.17) guarantees asymptotic stability of system (2.13). However, when the optimization problem (2.14) includes state and control input constraints, the optimal control law is difficult to find. Hence, solving the op- timal problem online becomes interesting - this approach is called model predictive control (MPC).
Model Predictive Control - Feasibility and Stability
In 2.1.6.7, linear MPC is introduced. In this subsection feasibility and stability of the controller are discussed. For ease of readability and understanding, once again, consider the LTI system,
zt+1 = Azt + But, ∀t > 0, (2.18)
n m where zt ∈ R and ut ∈ R are the state and input vectors, which belong to the state and input constraint sets,
n m zt ∈ Z ⊆ R , ut ∈ U ⊆ R , ∀t > 0. (2.19)
The linear MPC formulation to control the system (2.18) to the origin is written as,
N−1 T X T T min J(zt, ut) = zN|t Qf zN|t + zi|t Qzi|t + ui|t Rui|t ut i=0
s.t. zi+1|t = Azi|t + Bui|t, ui|t ∈ U, (2.20) zi|t ∈ Z, zN|t ∈ Zf , z0|t = zt, N−1 ∀i ∈ N0 , where Z and U are state and input constraints, respectively, and are defined as convex polytopes containing the origin. The cost matrices Q and R, and the system matrices A and B, follow the same conditions as in the LQR optimal problem (2.14), so Theorem 2.3 applies for the unconstrained problem. The terminal state penalty T matrix is semi-positive definite Qf = Qf 0, and the terminal set Zf is the region of the state space where the terminal cost is valid, which is also defined as a convex polytope. As explained before, receding horizon control (RHC) is used, so only the first optimal control input of the N predicted points is applied to the system at each time step. 84
LQR Let Qf = P∞ be the solution to the DARE (2.16), and let Zf = O∞ the maximal positive invariant set (2.6) for the closed-loop system
zt+1 = (A + BF∞) zt, ∀t > 0, where F∞ is the feedback gain defined in (2.17). Finally, let the region of attraction LQR of the controller be KN O∞ , the N-step controllable set (2.3) of the maximal positive invariant set. Then, the MPC controller is asymptotically stable. Two con- ditions need to be shown to prove stability, first the problem needs to be recursively feasible, and second the cost function needs to be a Lyapunov function.
Theorem 2.4 (MPC feasibility) Problem (2.20) is feasible ∀t > 0 if Qf = P∞, LQR LQR Zf = O∞ , and if z0 ∈ KN O∞ . A proof can be found in Appendix A.
Theorem 2.5 (MPC stability) Consider system (2.18), constrained by (2.19), under closed-loop RHC with the linear MPC (2.20) as defined above with all the as- LQR sumptions for A, B, Q, R, Qf = P∞, and Zf = O∞ . Then, the origin is asymp- LQR totically stable for the closed-loop system with region of attraction KN O∞ . A proof can be found in Appendix A.
To solve problem (2.20) online efficiently, it is of interest to formulate it as a QP to match the formulation (2.12). The derivation of this formulation is presented in Appendix B. This thesis addresses problems with LTV systems of the form,
zt+1 = Atzt + Btut, ∀t ≥ 0, where both matrices At and Bt are time-varying. To guarantee stability for these systems extra considerations need to be made, which is addressed in Chapter 4. Furthermore, the QP formulation setup follows the same procedure presented in Appendix B, but the correct system matrices that change for each step are used, making the setup slightly more complex.
2.3 Summary
An autonomous vehicle is a system composed of many modules. This chapter pre- sented a six module architecture: route planning, perception, localization, situation awareness, motion planning, and motion control. The route planner produces and keeps track of the plan achieving long-term goals. The perception and localization modules receive information from the vehicle sensors, to estimate the environment as well as the ego vehicle position in it. The situation awareness module receives all previous information, predicting and understanding the environment scene, and, together with motion planning, chooses an action to take. Motion planning creates a detailed local plan to reach a short term goal. Finally, the motion control module 2.3. SUMMARY 85 is responsible for making the vehicle track the desired plan, by using the vehicle actuators. This chapter started by presenting a literature review for the autonomous system modules, with special emphasis on the main topic of this thesis, motion control. Afterwards, control and optimization fundamentals were defined. First, control- lability, reachability, invariance, and stability concepts were introduced. Then, convexity and set operations were defined. Finally, optimization for control was presented, where concepts of optimization, feasibility, discrete-time LQR, MPC stability, and QP formulation were introduced.
Chapter 3
Control Module Architecture
ontrolling a vehicle is not a simple task. Humans excel at it and can adapt C their driving behavior depending on conditions and disturbances, avoiding holes on the road, accounting for wind, moderating velocity on icy conditions, etc.. Moreover, humans are able to drive the vehicle at the limits of handling (e.g., on racing and drifting applications), where controlling it is a difficult task. The control module objective is to replace the physical actuation of the driver. Consider Fig. 3.1, where a simplified autonomous vehicle architecture is presented. Comparing to the architecture presented in Fig. 2.1: the mission control block represents both the route planner and the user interface; the localization block represents both perception and localization; and the planner block represents both situational awareness and mission planning. The controller receives feedback from the vehicle through the perception and localization modules, and receives a path or trajectory from the planner module. Two control input requests are used: steering-
Mission Control
Planner zp Localization Controller z
vreq SWAreq
Vehicle
zp - Planned Path z - Vehicle States vreq - Velocity Request SWAreq - Steering-Wheel Angle Request
Fig. 3.1: Simple closed-loop system architecture.
87 88
z
zp Delay Prediction
zˆ
Path Sampling
zp zp - Planned Path z - Vehicle States Constraints Setup zˆ - Predicted Vehicle States
zp - Planned Path Sampled zp zp - Constraints for zp
Longitudinal Lateral κr - Curvature Request Control Control vreq - Velocity Request κreq SWA - Steering-Wheel Angle
SWAreq - SWA Request Output Conversion
vreq SWAreq
Vehicle
Fig. 3.2: Control module architecture.
wheel angle (SWAreq), and velocity (vreq). Finally, the vehicle, is assumed to include low-level controllers implemented to track received requests, which for the sake of this work cannot be modified and are considered as a black-box. The objective of the control module is to follow the path and velocity profile references received by the planner (zp), while maintaining certain error bounds, respecting the actuation constraints, and providing a safe and comfortable ride. Requested values are not instantaneously actuated, i.e., there is a delay between the request being made, the actuators achieving the requested value, and the vehicle behaving as intended. Moreover, requests are not followed exactly, because the vehicle is subject to both external and internal disturbances. External disturbances are, e.g., potholes, rain, snow, or gravel. Internal disturbances are, e.g., model uncertainty or unmodeled actuator dynamics. To achieve the desired control behavior consider the controller architecture pre- sented in Fig. 3.2. Note that all blocks have access to previous block outputs, but, for simplicity, only the outputs from the preceding block are drawn. The following Sections in this chapter introduce each block. This introduction to the controller architecture is mostly focused on lateral control, since it is the main focus of this 3.1. DELAY PREDICTION 89
zp Delay Predicted Path z zˆ
Fig. 3.3: Illustration of delay prediction. The arrows indicate the pose yaw. thesis. The lateral and longitudinal control blocks are not extensively introduced and the reader is referred to Chapters 2, 4, and 5.
Remark 3.1 Most Figures presented in this Chapter have highly exaggerated cur- vature and radius changes for easier understanding. In practice if the path points are 1 or 2 meters away from each other, the changes in curvature are small for the path to be feasible. This makes the assumptions valid and the approximations to be good.
3.1 Delay Prediction
Real systems have delays in computation, actuation, communication, and feedback. Sometimes, these delays are neglectable and the control loop is able to stabilize and control the system without explicitly accounting for them. Other times, as is the case here, these delays need to be addressed and accounted for. A possible approach to handle delays is to actuate on a future position of the system (Findeisen et al. [352,353] and Lima [94]). Where, the future system states are predicted using the system model and previous control requests. Then, instead of using the current system states (z), the predicted states (ˆz) are used to control the system, a simple illustration of the idea is presented in Fig. 3.3. In other words, the idea is to compute the necessary control request for states the system will have in time Td. This way, when the system reaches those states the actuation is the desired one. For Chapter 5, the delay is assumed to be known and the model being used for prediction is the same as the one used in the controller. The prediction is done by forward simulating the system model with the control inputs previously requested and the vehicle’s velocity. 90
3.2 Path Sampling
The path sampling block is responsible for computing the correct path points for the controllers to track. The path sampling starts on the predicted vehicle states, zˆ. In practice, the objective is to control the vehicle starting from where it will be at when the control input is being applied. The first step of path sampling, is to do the perpendicular projection of the states to the path. The errors for the controller to correct are computed from the projected and predicted states. After, starting on the projected point, the rest of the MPC horizon points to be tracked are computed. The planner module sends a path for the controller to follow and, this path, can be described in multiple ways. A common approach is to send a set of points containing information about the desired vehicle poses, curvatures, velocities, ac- celerations, etc. . This general interface allows more flexibility for testing different planners and algorithms, since it is only necessary to fulfill a generic communica- tion interface. On the other hand, this general interface has the disadvantage of not providing a description between the received points, meaning that if the predicted vehicle states are in between two given points there is not an exact projection of the vehicle states to the path. To solve this problem two simple assumptions are made. The first is that the path has continuous poses. This means that the position (x and y) and the yaw (ψ) are continuous between points. The second assumption is that the center of rotation is constant between received path points. These assumptions lead to a circular arc approximation between path points.
3.2.1 Circular Arc Projection For better understanding the idea behind the circular arc approximation, consider first a path defined by 3 points and two circular arcs, presented in Fig. 3.4. The two circles are defined by C1,R1 and C2,R2, the circles centers and radii, respec- tively. The orthogonal projection to path is easily defined by radius R1 and the line connecting C1 toz ˆ. Which leads to the green pose on the path, pproj. The state errors of the vehicle are then defined by the difference between pproj andz ˆ. The example presented in Fig. 3.4 is a specific case of the path sampling prob- lem where the path is actually defined by circular arcs. However, there are many methods, algorithms, and vehicle models that can be considered by the motion planner, as presented in Chapter 2. So, the case presented in Fig. 3.4 seldomly occurs. Normally, the path is not defined by circular arcs, and the poses received are only known to be continuous. Consider now a more general example where the curvature between path points varies, presented in Fig. 3.5. Between two poses the path is assumed to have a constant turning center, which is a reasonable assumption since the length of a normal HDV (> 5 m) is significantly bigger than the distance between received planned poses (< 2 m). This leads to two centers of rotation in Fig. 3.5, C1,2 and 3.2. PATH SAMPLING 91
zˆ p1 eψ C ey 2 pproj R2
R1 R1 p2
R2 R1
C1
zp points zp zˆ pproj p3
Fig. 3.4: Illustration of projection to path composed of two circular arcs. The arrows indicate the pose yaw.
zˆ p1 eψ C2,3 ey
pproj R3
R1 Rproj p2,prev p2
R4 R2 C1,2
zp points zp approximation zˆ pproj p3 p2,prev
Fig. 3.5: Illustration of the projection to path with the circular arc approximation. The pink p2,prev point is the previous point 2 of Fig. 3.4. The dashed-orange lines show the perfect circular arc built using the centers and the radius for each path pose. 92
zˆ
p1 eψ ey
pproj
zp points zp approximation R1 Rproj zˆ pproj θ 2 p2 Ratio angles
θ1 R2
C1,2
Fig. 3.6: Zoomed in illustration of projection to path with the circular arc approx- imation. In pink the angles that defined the ratio are presented.
C2,3. The center of rotation C1,2 for poses p1 and p2 is defined by the intersection of the orthogonal lines to the poses. These lines, contain R1 and R2, which are the instantaneous radius of the path at the pose. Note that a pose, is defined with x, y, ψ, and a line orthogonal to a pose is a line that is orthogonal to the yaw of the pose and passes through it. Furthermore, p2,prev presented in pink is the previous p2 pose from Fig. 3.4, and in dashed-orange the circular arcs with the radius for each pose are presented.
As it can be seen in Fig. 3.5, the path approximation, zp, in black is not composed of circular arcs, instead it is an arc with varying radius. The idea for the path sampling is to assume that the radius of the arc in between two poses varies linearly with the angle. This way, both the interpolation of the position and yaw are continuous and will match the path poses.
Consider Fig. 3.6, which presents part of Fig. 3.5 zoomed in. With the as- sumption that the center of rotation is constant between points, the orthogonal projection to path is contained on the line that passes both on the center of ro- tation and on the pose ofz ˆ. Then, using the assumption that the radius varies linearly with the angle on the arc, it is possible to define the ratio of the projected 3.2. PATH SAMPLING 93
point. Consider the line angles defined from the center C1,2, to p1, p2, andz ˆ,