2018PSLEM025 Archivage
2018PSLEM025 Archivage
COMPOSITION DU JURY :
                                                  M Alain Oustaloup
                                                  Univ. Bordeaux, Président du jury
                                                  M Thierry-Marie Guerra
                                                  Univ. Valenciennes, Rapporteur
                                                  M Philippe Martinet
                                                  Inria Sophia Antipolis, Rapporteur
                                                  M Ming Yang
Soutenue par Philip P OLACK                       Univ. Shanghai Jiao-Tong, Membre du jury
le 29 octobre 2018
                                                  Mme Brigitte d’Andréa-Novel
                                                  Mines ParisTech, Membre du jury
Autonomous vehicles are believed to reduce the number of deaths and casualties on the roads
while improving the traffic efficiency. However, before their mass deployment on open public
roads, their safety must be guaranteed at all time. Therefore, this thesis deals with the motion
planning and control architecture for autonomous vehicles and claims that the intention of the
vehicle must match with its actual actions. For that purpose, the kinematic and dynamic feasi-
bility of the reference trajectory should be ensured. Otherwise, the controller which is blind to
obstacles is unable to track it, setting the ego-vehicle and other traffic participants in jeopardy.
The proposed architecture uses Model Predictive Control based on a kinematic bicycle model for
planning safe reference trajectories. Its feasibility is ensured by adding a dynamic constraint on
the steering angle which has been derived in this work in order to ensure the validity of the kine-
matic bicycle model. Several high-frequency controllers are then compared and their assets and
drawbacks are highlighted. Finally, some preliminary work on model-free controllers and their
application to automotive control are presented. In particular, an efficient tuning method is pro-
posed and implemented successfully on the experimental vehicle of ENSIAME in collaboration
with the laboratory LAMIH of Valenciennes.
                                                 i
ii
Contents
Contents iii
List of Figures v
List of Tables ix
1 Introduction                                                                                                                                        5
  1.1 What is an autonomous vehicle? . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    6
  1.2 Technical components of an autonomous vehicle              .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
  1.3 Scope of the thesis . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
  1.4 Contributions . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16
                                                     iii
                                                                                                                CONTENTS
7 Conclusion                                                                                             137
  7.1 The “intention = action" equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
  7.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
IV Appendices 151
A Vehicle dynamics                                                                                                                    I
  A.1 Equations for the linear velocities of a four-wheel vehicle model .               .   .   .   .   .   .   .   .   .   .   .     I
  A.2 Equations for the angular velocities of a four-wheel vehicle model                .   .   .   .   .   .   .   .   .   .   .   III
  A.3 Suspension displacements and forces . . . . . . . . . . . . . . . . .             .   .   .   .   .   .   .   .   .   .   .     V
  A.4 Normal reaction forces Fzi 0 at equilibrium . . . . . . . . . . . . . .           .   .   .   .   .   .   .   .   .   .   .    VI
  A.5 Slip angle equations . . . . . . . . . . . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   VII
iv
List of Figures
                                                         v
                                                                                              LIST OF FIGURES
     4.13   Trajectories planned by MPC (green lines) and actual trajectory followed by the
            controller (blue dots), with obstacles (red dots). . . . . . . . . . . . . . . . . . . . . .           78
     4.14   Comparison between Vheur (red), V r (green) and V (blue), in the case of no obstacles.                 79
     4.15   Longitudinal slip ratio at each wheel in the case of no obstacles. . . . . . . . . . . .               79
     4.16   Lateral slip angle at each wheel in the case of no obstacles. . . . . . . . . . . . . . .              79
     4.17   Total steering angle δ (blue) and closed-loop steering angle δ f b (green): (a) without
            obstacles; (b) with obstacles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         79
     4.18   Wheel torque applied on the front left wheel: without obstacles (blue); with obsta-
            cles (red). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   80
     4.19   Absolute value of the lateral error in the case of no obstacles. . . . . . . . . . . . . .            80
     4.20   Computational time in the case of no obstacle (blue) and with obstacles (red). . . .                  80
     4.21   Trajectories planned by MPC (green lines) and actual trajectory followed by the
            controller (blue dots), with obstacles (red dots). The numbers indicate different
            road sections to facilitate the matching with Figures 4.17 and 4.22. . . . . . . . . . .               81
     4.22   Comparison between Vheur (red), V r (green) and V (blue), in the case of obstacles.                    81
     4.23   Longitudinal slip ratio at each wheel in the case of obstacles. . . . . . . . . . . . . .              82
     4.24   Lateral slip angle at each wheel in the case of obstacles. . . . . . . . . . . . . . . . .             82
     4.25   Heuristic speed (red), reference speed computed by the MPC (green) and actual
            speed of the vehicle (blue) for (a) wet roads (µ = 0.7) and (b) icy roads (µ = 0.2). . .               85
     4.26   Steering angle inputs: (a) on wet road (µ = 0.7) and (b) on icy road (µ = 0.2). . . . .                85
     4.27   Slip ratios (a) and slip angles (b) at each wheel on wet road (µ = 0.7): front-left
            (blue), front-right (red), rear-left (yellow) and rear-right (green). . . . . . . . . . . .            86
     4.28   Slip ratios (a) and slip angles (b) at each wheel on icy road (µ = 0.2): front-left
            (blue), front-right (red), rear-left (yellow) and rear-right (green). . . . . . . . . . . .            86
vi
LIST OF FIGURES
                                                                                                             vii
       LIST OF FIGURES
viii
List of Tables
                                                      ix
Acknowledgements
This work would not have been possible without the direct or indirect contributions of many peo-
ple. First of all, I would like to thank my two advisors: Brigitte, who has always guided me thor-
oughfully in my research and read all my publications scrupulously, correcting even punctuation
and accentuation errors; Arnaud, who trusted me even though I did not have a background in
robotics/automation and encouraged me to nurture my knowledge on autonomous vehicles out-
side of my domain. This work would not have been possible also without Florent, whose strong
scientific and computer science skills guided me throughout my thesis, and Sébastien, from whom
I got the chance to learn a lot on control applications and scientific rigor during my numerous
stays in Valenciennes.
    I would also like to thank my lab mates with whom I have spent my three years of PhD: Xavier
who introduced me to new board games especially King of Tokyo; Daniele who brought Italy to
our doorstep; Edgar who aroused my curiosity with his music instrument “Embodme" combining
mathematics and AI; Eva and Jun with whom I won the Valeo Innovation Challenge 2016; Jean-
Emmanuel, Arthur and Michelle for visiting China together; Amaury and Hassan for our runs in
the Luxembourg garden on Thursday mornings; Cyril for joining as a goalkeeper my soccer team;
Philippe for our passionate debates about politics and life; Guillaume for visiting Hawaii with me;
Hugues, Martin and Paul for the numerous board games; Aubrey for making me discover the slack
line; Grégoire for an introduction to the virtual reality world; Mathieu for the rock’n’roll; Marion for
the classical music; Marin for the crazy driving with Reinforcement Learning; Thomas for his help
in C++. Thank you also to my colleagues François, Fabien, Silvère, Simon, and of course Christine
and Christophe who easen my administrative tasks.
    During my thesis, I also got the chance to meet a lot of researchers who took some time to dis-
cuss my work. I would like to thank in particular Michel for thorough discussion about model-free
control, Eduardo about Model Predictive Control, Jean-Paul and Nicolas about motion planning,
Lghani, Dominique, and people from the Chair, in particular Wei, Ching-Yao and Wei-Bin from
UC Berkeley.
    My three months in China have been quite of an adventure too! I have discovered a whole new
culture with wonderful colleagues. In particular, I would like to thank Chaojie, mister “super out-
standing", for showing me around and introducing me to the chinese culture; Wei, mister “sugar"
(his lastname Tang means sugar in chinese), for helping me out with the administrative stuffs and
driving me like an “old driver" to the airport; Lihong for his always positive energy; Yao for our
controller contest.
    I am very grateful to the jury members for assessing my work: Thierry-Marie whose nice com-
ments about the manuscript persuaded me that it was worth spending a couple of months on this
task; Philippe for his challenging comments about my work; Ming for his curiosity about my re-
cent research on deep learning control and without whom my three-month experience in China
would not have been possible; Alain for his course about PID control.
    My family and friends have also played an important role in this work. In particular, I would
like to thank my parents and my brother for their support, and my grand-mother for coming to
my PhD defense all the way from Le Mans at the age of 95!
    Last but not least, I would like to gratefully thank Tan-Mai, who always gave me her support,
not only in the good times but also in the harder moments during this thesis... This work would
not have been possible without her constant encouragements!
                                                   1
    LIST OF TABLES
2
Foreword
The work undertaken during this thesis is part of the international research Chair MINES Paris-
Tech - Peugeot-Citroën - Safran - Valeo on ground vehicle automation and coordinated by Profes-
sor Arnaud de La Fortelle1 . This research Chair also comprises academic partners: University of
California Berkeley (USA), Ecole Polytechnique Fédérale de Lausanne (Switzerland) and Shanghai
Jiao-Tong University (China).
This five-year Chair with a funding of 3.7 million euros has three main objectives:
• Run automated vehicle tests on three different continents (Asia, North America and Europe).
1 http://chair-driveforyou.com/
                                                 3
    LIST OF TABLES
4
Chapter 1
Introduction
                                                                           “ Si l’on se préoccupait de
                                                                           l’achèvement des choses, on
                                                                           n’entreprendrait jamais rien a ”
Contents
      1.1 What is an autonomous vehicle? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        6
           1.1.1 History of autonomous vehicles . . . . . . . . . . . . . . . . . . . . . . . . . .        6
           1.1.2 From Advanced Driver Assistance Systems... . . . . . . . . . . . . . . . . . . .          8
           1.1.3 ... to fully autonomous vehicles . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
      1.2 Technical components of an autonomous vehicle . . . . . . . . . . . . . . . . . . . 10
           1.2.1 Sense-Model-Plan-Act and the different robotic paradigms . . . . . . . . . .             11
           1.2.2 High-level cognitive tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
           1.2.3 Low-level cognitive tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    12
      1.3 Scope of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
           1.3.1 Main assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     13
           1.3.2 Some important notions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     14
           1.3.3 Consistency of the architecture . . . . . . . . . . . . . . . . . . . . . . . . . . .    15
      1.4 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
                                                      5
                                                                             CHAPTER 1. INTRODUCTION
In 1886, Karl Benz patented the first motor vehicle in the world. He benefitted from the techno-
logical advances entailed by the industrial revolution to make a vehicle move on its “own", based
on an internal combustion engine, replacing progressively animal-drawn carriages. Interestingly,
the french language distinguishes automobiles (motor vehicles) that are moving using their own
energy from hippomobiles (carriages), horse-drawn vehicles [Laurgeau, 2009]. In less than half a
century, motor vehicles completely changed the way people moved, destroying on its rise lots of
jobs such as farriers to replace them by new ones, for example gas station attendants. Motor ve-
hicles became accessible to the masses in 1908 with Ford’s Model T and became a symbol of the
“American way of life" after World War II.
    Nowadays, the digital revolution has replaced the industrial revolution, and in this “Second
Machine Age" [Brynjolfsson and McAfee, 2014], the future of mobility might be completely re-
shaped: the car which was seen in the 1980s as a purely mechanical object is now becoming more
of an electronic device. And autonomous vehicles that might have been seen as pure science fic-
tion until not so long ago are about to become real. This paradigm shift has some important con-
sequences on the automotive industry market as clients are becoming more interested in digital
features (ex: connectivity, driver assistance systems) than in mechanical performances (ex: horse-
powers, acceleration capacities).
The early stages of autonomous vehicle with actual vehicle prototypes date back to the 1980s, with
mainly three projects:
     • California PATH – Partners for Advanced Transit and Highways – program founded in 1986
       [Shladover, 2006] as a collaboration between California Department of Transportation (Cal-
       trans), UC Berkeley and other public and private partners, and which has been a pioneer
       in Automated Highway Systems (AHS), in particular focusing on increasing the highway ca-
       pacity and safety while reducing the traffic congestion, the air pollution and the energy con-
       sumption.
    However, already back in 1925, the inventor Francis Houdina and his company Houdina Radio
Control demonstrated a radio-controlled “driverless" car, the American Wonder, nicknamed the
“Phantom Auto", which drove on Broadway and Fifth Avenue in New York without any human
on-board2 . It was controlled remotely by a human located in a second car following close behind
using radio technology.
    Many other projects have emerged afterwards from the 1990s until now, such as the ARGO
project3 (1996) led by the universities of Parma and Pavia in Italy, and the European projects
6
CHAPTER 1. INTRODUCTION
(a) Stanley from Stanford University (b) Boss from Carnegie Mellon University
Figure 1.1 – The winners of the DARPA Grand Challenge in 2005 (a) and the DARPA Urban Challenge in 2007
(b).
More recently, other competitions took place. Among others, let’s mention:
    • the Intelligent Vehicles Future Challenge (IVFC) which has been held every year in China
      since 2009 and gathers teams from many major universities and scientific research institu-
      tions of the country. The competitors are required to finish not only a test on an actual road
      in order to examine the safety, comfort, agility and intelligence of the driverless vehicle, but
      also an offline test to check out the vehicles’ basic cognitive ability by simulating an actual
      road environment.
    • the Grand Cooperative Driving Challenges (GCDC) which were held in the Netherlands in
      2011 [Ploeg et al., 2012] and in 2016 [Englund et al., 2016] and organized by the European
      project i-GAME. Their goal was to prove a basis for cooperative automated driving in an
      international context.
    Some recent projects have confirmed the technical advances that have been made in the do-
main of autonomous vehicles: in 2010, VisLab Intercontinental Autonomous Challenge (VIAC) in-
volved four driverless vehicles which drove an almost 16000km trip from Parma in Italy, to Shang-
hai in China. This challenge enabled to collect about 50 terabytes of data. Then in 2012, only
125 years after Karl Benz’s wife Bertha complete the first journey in automotive history, a vehicle
from Daimler in collaboration with Karlsruhe Institute of Technology and Forschungszentrum In-
formatik10 completed the same journey from Mannheim to Pforzheim in fully autonomous mode
[Ziegler et al., 2014b]. Finally, the Google car project11 launched in 2009, is probably the project
  4 http://www.citymobil-project.eu/, visited on December 2017.
  5 http://www.citymobil2.eu/en/, visited on December 2017.
  6 http://www.interactive-ip.eu/, visited on December 2017.
  7 http://www.autonet2030.eu/, visited on December 2017.
  8 http://gcdc.net/en/i-game, visited on December 2017.
  9 https://iteam-project.net/, visited on December 2017.
 10 Research Center for Information Technology
 11 https://waymo.com/journey/, visited on April 2018.
                                                                                                     7
                                                                                 CHAPTER 1. INTRODUCTION
that has gained most public attention. In February 2018, its fleet of vehicles had drove over 5 mil-
lion miles12 in self-driving mode, with a rate growing exponentially due to the expansion of the
number of vehicles. In December 2016, Google decide to launch a subsidiary company, named
Waymo, working specifically on autonomous vehicles. Other companies, such as Uber or NuTon-
omy have also launched a huge fleet of vehicles around the globe to test their technology. Notice
that France has also some companies with their own fleet, such as Navya and Easymile.
      • Passive safety is used to refer to components of the vehicle that help to protect occupants
        during a crash.
        Examples: airbags, seatbelts and the physical structure of the vehicle.
    First, research on active safety has been focusing on how to enhance the handling and stability
of the vehicle, by compensating some undesired dynamic effects. They have lead to the develop-
ment of new systems, in particular:
      • Anti-lock Braking System (ABS) - 1978: braking assist system that prevents the wheels from
        locking up during severe braking.
      • Electronic Stability Program (ESP) - 1995: antiskid system aimed at enhancing the control
        of the vehicle for a better road handling. It enables to detect the loss of grip in curves and
        counteract by braking one or several wheels.
These systems are now mandatory on all new vehicles in the European Union since respectively
2004 and 2014.
    However 94% of car accidents are due to human factors16 , such as drowsiness, alcohol and
speeding. Therefore with the emergence of technologies for autonomous vehicles, car manufac-
turers and Original Equipment Manufacturers (OEM) have developed increasingly efficient active
safety systems, such that nowadays, the driver can be relegated to a role of simple supervisor of the
driving task; the onboard intelligence is able to act directly on the steering, acceleration and brak-
ing. These systems, gathered under the acronym ADAS (for Advanced Driver Assistance Systems)
are already available on high-end commercial vehicles. Among them, let’s mention:
      • Adaptive Cruise Control (ACC) - 2011: cruise control system that automatically adjusts the
        speed of the vehicle to maintain a safe distance with the preceding one.
      • Collision Avoidance System or Autonomous Emergency Braking (AEB) : system that either
        provides a warning to the driver when there is an imminent collision risk or takes action
        autonomously, generally by braking at low vehicle speeds (below 50 km/h) and by steering
        at higher speeds.
    12 https://waymo.com/ontheroad/, visited on April 2018.
  13 http://www.securite-routiere.gouv.fr/la-securite-routiere/l-observatoire-national-interministeriel-de-la-securite-
8
CHAPTER 1. INTRODUCTION
    • Lane-Departure Warning (LDW) - 1992: system that warns the driver when the vehicle be-
      gins to move out of its lane (unless the turn signal is on in that direction).
    • Lane Keeping System (LKS) : feature that in addition to the lane departure warning system
      automatically takes actions to ensure the vehicle stays in its lane.
    • Park Assist: system that moves automatically a vehicle from a traffic lane into a parking spot
      by performing parallel, perpendicular or angle parking.
    Finally, eCall launched by the European Union and mandatory since April 2018 on all new
vehicles enables to automatically send an emergency call in the case of a crash providing its precise
localization and its severity.
The automation of a vehicle has been classified into 6 different levels by the Society of Automotive
Engineers17 (SAE). These levels are summarized in Table 1.1, starting from level 0 corresponding
to no automation to level 5 where the steering wheel and pedals are not necessary anymore. These
levels are now standard in the car industry since their adoption by the National Highway Traffic
Safety Administration (NHTSA), part of the United States Department of Transportation.
17 https://www.sae.org/binaries/content/assets/cm/content/news/press-releases/pathway-to-
                                                                                                     9
                                                                          CHAPTER 1. INTRODUCTION
    Combining different ADAS presented in section 1.1.2 can provide vehicles up to level 2. This is
the case for example of Tesla Motors’ vehicles where the different assistance systems are gathered
under the name “Autopilot”. The vehicle is able to remain in its lane while adjusting its speed to the
vehicle located in front. However, such vehicles are not autonomous vehicles as the driver might
have to take over the control at anytime due for example to snow conditions hidding the lane
marking18 or unclear lane marking19 . Today, only commercial vehicles up to level 2 are available
on the market and allowed to drive on public roads. Audi has announced the release of the first
commercial vehicle of level 3 by 2019: the Audi A8. But according to Vienna Convention (1968),
the driver remains responsible in the case of an accident.
    Nowadays most carmakers and OEM have their own autonomous vehicle prototypes, some-
times up to level 4, pushed by disruptive actors stemming from the technological area such as
Google, Tesla, Uber and even Apple. The prototype of the Valeo’s hands-off tour is displayed as an
example in Figure 1.2 and the Google car in Figure 1.3. However, these vehicles have often a very
conservative driving strategy. Therefore, they can be unefficient in terms of traffic flow as they can
get stuck by for example road works, stopped cars, traffic wardens or four-way stops. In particular,
they are unable to take a decision when there is too much uncertainties20 . Moreover, they often
rely on a human intervention to perform a lane change (or at least to take the decision).
10
CHAPTER 1. INTRODUCTION
organization of an autonomous vehicle can be divided into tasks that require more or less intelli-
gence.
Like any system provided with Artificial Intelligence (AI), an autonomous vehicle relies on the four
primitives of robotics presented in Table 1.2:
            Gathers information from different sensors on the state of the robot and its sur-
            roundings. There exist two types of sensors: proprioceptive sensors which measure
            the internal state of the robot such as Inertial Measurement Units (IMU) and wheel
  Sense
            encoders, and exteroceptive sensors which acquire information from the robot’s en-
            vironment like Global Positioning Systems (GPS), cameras, LIght Detection And
            Ranging (LIDAR) or RAdio Detection And Ranging (RADAR).
            Creates a world model from the sensor information, in order to determine (i) the
            position of the robot using Simulatenous Localization And Mapping (SLAM), (ii)
  Model
            the free-space where the robot can move and (iii) the intention of the dynamic ob-
            stacles.
            Determines a goal for the robot using navigation and/or a behavioral layer and
            computes a safe path/trajectory to follow in order to reach it. A path consists in
  Plan
            a list of positions (X i , Yi )i ∈1,n in the physical space while a trajectory is a path in-
            dexed by time (or equivalently, with a velocity encoded).
            Commands the actuators of the robot, namely the brake and gas pedals and the
  Act       steering wheel in the case of an autonomous vehicle, in order to track the reference
            path/trajectory.
    These primitives are organized according to a paradigm, defined as a philosophy or set of as-
sumptions and/or techniques which characterizes an approach to a class of problems. There exist
three main paradigms for robotic systems [Murphy, 2000]: the hierarchical paradigm, the reactive
paradigm and the hybrid deliberative/reactive paradigm. Under the hierarchical paradigm, the
robot performs at each step successively the Sense-Plan-Act tasks. The reactive paradigm relies
on the Sense-Act tasks: the Plan task is relegated to the background, or even eliminated. There-
fore, it has a faster execution time. Finally, the hybrid deliberative/reactive paradigm first performs
the Plan task and then decomposes the planning goal into subtasks where the reactive paradigm
Sense-Act is executed. The organization of the different paradigms are represented in Figure 1.4.
Remark 1. Note that the primitive “Model" has been introduced only recently and is therefore not
mentioned in some references, in particular in Figure 1.4.
                                                                                                             11
                                                                      CHAPTER 1. INTRODUCTION
High-level cognitive tasks require some kind of “intelligence" in order to be performed: they con-
sists in tasks that humans are good at and that cannot be easily translated into algorithms.
Perception
Perception, which corresponds to the SENSE primitive of a robot, is very critical for the safety of
an automous vehicle. It is responsible for gathering all the necessary information on the driving
scene, i.e. the position and nature of the obstacles, the traffic signs, the drivable road corridors...
This task is rather easy for a human but much harder for a computer as it requires to understand
the scene, in particular its semantic: for example, to tell the difference between a biker and a
pedestrian. As mentioned previously, it comprises proprioceptive and exteroceptive sensors. Usu-
ally, autonomous vehicles are equipped with four wheel encoders, one per wheel, to compute the
rotational speed of each wheel; an IMU to get the three angular and three linear accelerations of
the vehicle; a GPS to receive its position in the inertial coordinate system; one or several cameras
to detect the lane marking, pedestrians, vehicles, traffic signs and other sementic information in
the scene; one or several LIDARs and/or RADARs to obtain the distances to static and dynamic
objets; ultrasounds for parking and tight maneuvers.
After collecting information on the environment, the vehicle needs to build a local map of the
scene, to understand where it is allowed to drive, what the other traffic participants are doing,
and to localize itself accurately in the scene. This is done using Simultaneous Localization And
Mapping (SLAM). These algorithms have been widely developed by the robotics community (see
[Cadena et al., 2016] for a review of the different techniques). As the name indicates, they enable to
localize the vehicle while creating a map of the environment, i.e. the roads, the static and dynamic
obstacles. One of the main difficulty of such algorithms applied to autonomous vehicles compared
to conventional robots is not only the large number of dynamic obstacles and thus of occlusions
encountered, but also their higher velocities. Hence, SLAM requires to understand the semantic
of the scene such as where is the vehicle allowed to drive and occlusions. It is thus a hard task for
a computer.
Finally, an autonomous vehicle needs to have a goal and plan how to get there. While the navi-
gation task precomputes the route to get to the final destination, it is still necessary to compute
local plans during the travel in order to perform lane change maneuvers (either to overtake a slow
vehicle located in front or to take an exit on the highway), merging into a lane with other traffic
participants, crossing a four-way stop and other similar actions. These maneuvers require a lot of
decisions such as when it should do it and how, and thus a certain risk. Evaluating the risk can be
rather difficult sometimes for a computer as it implies social behavior too and trade-off between
drivers.
Unlike high-level cognitive tasks, low-level ones do not require any specific intelligence. These
tasks are relatively easy to implement on computers and provide better results than human. Such
tasks are either repetitive (keeping a constant speed for example), require a great accuracy or lot
of computation.
12
CHAPTER 1. INTRODUCTION
In order to keep the costs low, some internal states of the vehicle such as its speed cannot be
directly measured. Instead, observers stemming from control theory are used (see for example
Luenberger observers for linear systems [Luenberger, 1971]). They provide an estimation of the
internal state from the measurements of the input and output signals of the system. Moreover,
due to the low costs of the sensors such as the IMU, the quality of the measurements is usually
poor. Therefore, filters are necessary. In particular, Kalman filters [Kalman and Bucy, 1961] en-
able to improve the estimation of the internal states of the vehicle such as its localization or its
velocity, despite model errors and measurement noises, by merging measurements provided by
proprioceptive sensors such as the IMU with exteroceptive sensors such as the GPS.
Controllers are ubiquitous in modern vehicles, in particular in autonomous one. They correspond
to the ACT primitive. Their objective is to provide an input signal to the system, also referred to
as a control law, in order to track a desired reference output while ensuring the stability of the
system. They are used for example for generating the throttle to maintain a constant speed dur-
ing cruise control, as well as for the different ADAS presented in section 1.1.2. Control laws are
often simple to implement on a computer, in particular if a closed-loop form can be found, and
are outperforming a human to track a reference signal. While the stability and the accuracy of the
tracking are usually the most important criteria, some other ones can be considered too such as
the smoothness of the control input, the time response or overshoots.
     Observability and controllability are two dual concepts in control theory that are important in
order to obtain a desired result. While adding new sensors to the system might improve its observ-
ability, adding new actuators might improve its controllability. In the case of autonomous vehicles,
the actuators are the gas pedal, the brake pedal and the steering wheel, even though some systems
such as the ESP can provide a differential torque to the wheels to improve the controllability of the
vehicle. However, in some cases the system becomes not controllable: for example, during gear
shift, the torque generated by the engine is not transmitted to the wheel as the clutch is opened.
While this case is relatively non important regarding the vehicle safety, other cases are much more
critical such as slip and skid, where the vehicle can loose control (the steering wheel has no impact
on the direction of the vehicle anymore). These cases need to be avoided and will be explained in
chapter 2.
                                                                                                   13
                                                                      CHAPTER 1. INTRODUCTION
in section 1.2.1, which will be referred to as respectively the motion planning and the low-level
control tasks, in order to define a “good" motion planning and control architecture. Therefore, we
assume that (i) all the information needed to take a decision is known (the environment is fully
observable), (ii) the world model is known and given as input of the planning layer, (iii) a naviga-
tion task or a behavioral layer provides a goal to the vehicle. More precisely, the inputs comprise
a map with the coordinates of the road centerlane and its boundaries, the reference lane assigned
by the navigation task, and the position and velocity of all the obstacles. The detection of obstacles
will not be considered at any stage during this work.
The word control refers to the fact of bringing a system to a desired state by acting on its inputs. In
control theory, it is common to consider single input single output (SISO) systems and to derive a
closed-loop form for the control signal where stability proofs for the system can be demonstrated.
In the robotic community, the large number of degrees of freedom and/or actuators compels to
use “optimal control" formulation in order to find a solution, i.e. an optimization problem where
the goal is to minimize/maximize a criterion while respecting some constraints on the system.
Feasibility
The word feasibility will play a major role in this work but its meaning is ambiguous and depends
on the context. It is defined as “capable of being done or carried out"21 . Among the motion plan-
ning community, people claim that their stated problem is feasible if there exists a mathematical
solution: this means that there exists a collision-free path or trajectory between two configura-
tions for example. This will be referred to as the mathematical feasibility. However, the solution
obtained might not be feasible, this time in the physical sense, because it does not respect some
laws of motion of the vehicle. This problem arises for example if the vehicle model used in the
motion planning problem is not adapted to the situation. This will be referred to as the dynamic
feasibility.
Consistency
The word consistency is probably the most important one in this thesis, or more precisely its
antonym inconsistency. The Merriam-Webster Dictionary22 defines the later as the quality or state
of being: (i) not compatible with another fact or claim; (ii) containing incompatible elements; (iii)
incoherent or illogical in thought or actions.
    Inconsistency problems between the motion planning and control layers may arise due to
some assumption mismatches, corresponding to definition (i) or (ii): for example, it is common to
assume that the reference trajectory provided to the controller is C2 in order to have a continuous
curvature. However, if no precaution is taken, the motion planning has no reasons to deliver a
trajectory with such properties (not even continuous)! However, we will focus on definition (iii)
in this work: choosing an improper level of modeling when defining a motion planning or control
problem might lead to some illogical actions.
Model
A model is a mathematical representation of a real world system. It enables not only to describe
and understand its behavior but also to predict its evolution. Models play a fundamental role in
a large variety of robotic applications such as simulation, control theory, motion planning or pre-
diction intention. However, a model for a given system is neither unique nor universal. It is a
 21 https://www.merriam-webster.com/dictionary/feasible, visited on April 2018.
 22 https://www.merriam-webster.com/dictionary/inconsistent, visited on April 2018.
14
CHAPTER 1. INTRODUCTION
trade-off between conflicting objectives: the computational efficiency to solve it, its accuracy, its
validity and the a priori knowledge of the system. One particularity about models is that they can
be true but irrelevant for some applications, either because they are too complex for the applica-
tion considered or because they do not model certain phenomena that cannot be neglected in this
case. Therefore, defining a proper model [Ersal et al., 2008] is not straightforward and depends on
the level of abstraction of the problem considered. Thus, when a model is used, it is important to
have in mind the underlying assumptions that have been made. Otherwise, the mismatch with re-
ality can be huge. Using a model that is consistent with the problem considered is therefore critical
for the safety of the vehicle. In a sense, a model is like a drawing: the more details are included,
the longer it takes to execute it.
In her inaugural lecture on “Algorithms" at College de France23 , Claire Mathieu underlines that an
algorithm might lead to bad solutions not because the resolution is wrong but because the stated
problem is not relevant or well-posed. In the case of an autonomous vehicle, such a problem may
arise in the motion planning and control architecture due to inconsistencies. They can be found
at three different levels: at the planning level, due to an improper level of modeling of the vehicle
dynamics; at the control level, as its operational domain must be able to track at least all planned
trajectories from the motion planner and also be robust to noise and disturbances; at the junction
between the motion planning and control layers, due to some assumption mismatches between
the two layers, such as the continuity or smoothness of the planned trajectory.
    Motion planning and control problems are two different but highly related problems. The first
one consists in computing a dynamically feasible trajectory for the vehicle, avoiding the surround-
ing obstacles such as other vehicles, pedestrians, or non moving objects. The second is acting on
the actuators, i.e. the gas pedal, brake pedal and steering wheel, in order to track the trajectory ob-
tained by the motion planner, while ensuring the stability of the system and, if possible, a smooth
drive. Therefore, the properties of the design of each layer are quite different.
    At the motion planning layer, the algorithm is searching a trajectory that respects some safety
and comfort constraints while optimizing some criteria. Such a search is computationally expen-
sive and requires therefore both a simple model of the vehicle and a low computational frequency
(around 5-10Hz). On the contrary, control usually operates at high-frequency (around 100Hz) to
ensure a good tracking of the reference trajectory. Moreover, the level of abstraction of the mo-
tion planning and the control layers also differs. For example, dealing with obstacles is one of the
main task of the motion planner while the controller usually completely ignores them: the tra-
jectory given by the motion planner is assumed to be safe within a certain margin and the goal
of the controller is then to follow as well as possible the given trajectory, without considering the
obstacles.
    In most studies the low-level control is not considered at the motion planning phase; in-
stead, the general assumption is that, provided the planned trajectory satisfies a certain set of
constraints, the low-level control will be able to track this trajectory with a bounded error. In some
actual implementations, the low-level controller is provided by the OEM’s test car as a black-box,
with hard limits on the acceptable inputs of this control to prevent the vehicle from leaving its
handling envelope. Such “black-box” behavior effectively fully isolates motion planning and con-
trol.
    Conversely, research on low-level vehicle control often assumes that a predefined reference
trajectory is known in advance and does not change over time. However, due to the presence of
dynamic obstacles on the road, notably other traffic participants, this assumption is in general
untrue.
23 https://www.college-de-france.fr/site/claire-mathieu/inaugural-lecture-2017-11-16-18h00.
                                                                                                    15
                                                                     CHAPTER 1. INTRODUCTION
1.4 Contributions
In this thesis, we claim that the intention of the motion planner, expressed as the future trajectory
of the vehicle, should match with the one actually executed by the low-level controllers.
    In other words, the motion planning and control architecture should be consistent as defined
previously by choosing proper models and studying the influence of the interaction between the
two layers on the overall performance.
    Therefore, we will investigate some fundamental questions concerning the safety of an au-
tonomous vehicle, in particular on the guarantees that can be obtained. This starts at the motion
planning level by answering the following question:
Question 1: Can we guarantee the kinematic and dynamic feasiblity of a trajectory computed
by the motion planner?
    Therefore, after a reminder about vehicle dynamics and modeling in chapter 2 and a review of
state-of-the-art motion planning methods in chapter 3, chapter 4 deals with the question of con-
sistency of the model used to plan a feasible trajectory avoiding obstacles while driving the vehicle
towards its goal. In fact, the motion planner proposed is based on a kinematic bicycle model.
    The second part of this thesis will focus on low-level control problems, stemming from con-
trol theory. As such, the algorithms described therein are not specific to an autonomous vehicle
but can be used in the design of some ADAS such as an ACC or a LKS. Many longitudinal and lat-
eral controllers have been proposed in the literature for such purposes. However, these controllers
have an operational limit: thus, chapter 5 will recall some of the commonly used lateral controllers
and answer the following critical question regarding safety:
Question 2: Given a reference trajectory, can we ensure the performance of a lateral controller?
    Finally, the last part of this thesis will focus on a newly introduced model-free control paradigm,
proposed by [Fliess and Join, 2013], and its application to vehicle control. Due to the complexity
of vehicle dynamics, in particular of tire dynamics, and the large number of parameters that not
only vary from one situation to another but also are difficult to estimate, the model-free control
appears as a promising solution. One reason therefore is that it estimates in real-time the dynam-
ics of the vehicle. However, the following questions need to be addressed:
   We will try to give an answer to these questions in chapter 6. This chapter is completely inde-
pendent from the rest of this thesis.
16
               Part I
                 17
Chapter 2
Manfred Eigen
Contents
      2.1 Carbody dynamics - the slow dynamics . . . . . . . . . . . . . . . . . . . . . . . . . 23
           2.1.1 Dynamic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       23
           2.1.2 Four-wheel vehicle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      24
      2.2 Tire dynamics - the fast dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
           2.2.1 Pacejka’s Magic Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     29
           2.2.2 The linear tire model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   33
           2.2.3 Dugoff model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    34
           2.2.4 Other models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    35
      2.3 Vehicle simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
           2.3.1 The simulator engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    37
           2.3.2 The graphical interface - coupling to PreScan . . . . . . . . . . . . . . . . . .         39
      2.4 Simplified models for motion planning and control . . . . . . . . . . . . . . . . . 41
           2.4.1 The point-mass model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      41
           2.4.2 The unicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    41
           2.4.3 The kinematic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . .       42
           2.4.4 The dynamic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       43
                                                      19
                                         CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
    A physical system can be represented by a wide range of models, each one having some as-
sets and drawbacks. The choice of a model is usually a trade-off between its accuracy, its com-
putational efficiency, its robustness to modeling errors or uncertain parameters, and the level of
abstraction necessary. The more detailed the model is, the more computational time is needed
to solve it. Moreover, more details often require more information about the system: therefore, if
only a few vehicle parameters are known, a complex model that requires a lot of information about
the vehicle might be inappropriate, in particular if the model is not very robust to parameter un-
certainties. Conversely, a detailed model can capture some phenomena that should be taken into
account in certain situations, for instance slip and skid in the case of an autonomous vehicle.
    In this chapter, we are interested in developing a high-fidelity vehicle simulator for testing our
motion planning and control algorithms. The model used in the simulator needs to be as accurate
as possible, taking into account phenomena such as slip or skid. The computational time is not
the main issue and we suppose that we know all the information necessary about the vehicle.
Therefore, a review of the different dynamic models which are the only models that comprise slip
and skid are presented in a first time. The dynamics of a vehicle can be decomposed into two parts:
a slowly-evolving dynamic (characteristic time of 0.1s to 1s) corresponding to the movement of the
carbody and a fast dynamic (characteristic time of 1 to 10ms) corresponding to the movement of
the wheels/tires. They will be presented respectively in secion 2.1 and 2.2. Section 2.3 presents
the vehicle simulator we have derived from the dynamic models and that will be used in the next
chapters. Finally, section 2.4 introduces some simpler models that are used for motion planning
and control.
    Most of the explanations given in this chapter as well as complementary informations on vehi-
cle dynamics can be found in [Rajamani, 2012, Kiencke and Nielsen, 2005, Gillespie, 1997]. All the
main notations are given in Tables 2.1, 2.2, 2.3, 2.4, 2.5 and 2.6. Figures 2.1 and 2.2 show the three
different frames that will be used in the rest of this chapter: the inertial frame (~ e X ,~e Y ,~
                                                                                                 e Z ) associated
to the ground, the vehicle frame (~ e x ,~
                                         e y ,~
                                              e z ) and the pneumatic/tire frame (~      ~ yi , p
                                                                                  p xi , p      ~zi ) associated
to each wheel i = 1..4.
                                                  e X ,~
                     Figure 2.1 – Inertial frame (~    e Y ,~
                                                            e Z ) and vehicle frame (~
                                                                                     e x ,~
                                                                                          e y ,~
                                                                                               e z ).
20
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
                               e x ,~
   Figure 2.2 – Vehicle frame (~    e y ,~
                                         e z ) and pneumatic frame (~      ~ yi , p
                                                                    p xi , p      ~zi ) for each wheel i = 1..4.
Variables Meaning
Variables Meaning
Variables Meaning
                                                                                                                   21
                                  CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Variables Meaning
Variables Meaning
     Fxpi , F y pi    Longitudinal and lateral tire forces generated by the road on the
                      wheel i expressed in the tire frame (~       ~ yi , p
                                                            p xi , p      ~zi )
     Fxi , F yi       Longitudinal and lateral tire forces generated by the road on the
                      wheel i expressed in the vehicle frame (~   e x ,~
                                                                       e y ,~
                                                                            ez )
     Fzi              Normal reaction forces on wheel i
     ∆Fsi             Additional spring force of the suspension of wheel i compared
                      to the situation where the suspended carbody is at equilibrium
     Faer o           Aerodynamic drag forces applied on the vehicle
     g                Gravitational constant
Variables Meaning
22
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
    The force generated by the road on the wheel is denoted by F.. , where the first subscript {x, y, z}
indicates the direction of the force and the second one the wheel i . By default, the forces are ex-
pressed in the vehicle frame. Forces expressed in the pneumatic frame are denoted by an extra
subscript p. For the wheel subscript i , we consider i = 1..4 (or equivalently i ∈ { f l , f r, r l , r r }) if
we consider a four-wheel vehicle model and i = 1, 2 (or equivalently i ∈ { f , r }) if we consider a
bicycle model. Note that f l , f r, r l , r r denotes respectively the front-left, front-right, rear-left and
rear-right wheels, and f , r the front and rear wheels.
Examples: Fxi refers to the longitudinal force applied on wheel i in the vehicle frame and F y pi refers
to the lateral force applied on wheel i in the pneumatic frame.
    All the models of the carbody dynamics presented afterwards are expressed in the vehicle
frame (~e x ,~
             e y ,~
                  e z ). However, the position (X, Y) of the vehicle in the inertial frame (~
                                                                                            e X ,~
                                                                                                 e Y ,~
                                                                                                      e Z ) can
be obtained by Equations (2.1):
    In this subsection, we assimilate the vehicle to a bicycle model, where the two front wheels
(resp. rear wheels) are lumped into a unique wheel, located at the center of the front axle (resp.
                                                                                                            23
                                    CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
rear axle) as illustrated in Figure 2.4. In that case, the fundamental principle of dynamics applied
to the vehicule leads to Equations (2.2) (see Figure 2.5). The expression of the aerodynamic drag
forces is given by Equation (2.3).
                                                 1
                                   Faer o   =      ρai r Cx S(Vx + W)2                            (2.3)
                                                 2
where g is the gravitational constant, ρai r is the mass density of air, Cx the aerodynamic drag coef-
ficient, S the frontal area of the vehicle and W the speed of the wind in the longitudinal direction.
• The pitch and roll motions as well as the vertical dynamics of the vehicle are neglected.
     Therefore, one of the main characteristics of this model is that it does not take into account the
lateral load transfer between wheels, which has an impact on the tire forces that can be generated
as we will see in section 2.2.
     At last, Equations (2.4) show how to transform the tire forces expressed in the pneumatic frame
to tire forces expressed in the vehicle frame:
We consider again a four-wheel vehicle model as shown in Figure 2.6. Compared to the dynamic
bicycle model introduced by Equation (2.2), both the slope and the road-bank angle are consid-
ered, as well as the roll, pitch and vertical motions. The full demonstrations of Equations (2.5) and
(2.6) are given respetively in Appendices A.1 and A.2.
24
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
    The evolution of the longitudinal, lateral and vertical velocities of the vehicle frame are ruled
by the fundamental principle of dynamics:
                                        4
               MT (V̇x − ψ̇V y ) =             Fxi − Faer o cos φ + MT g sin(φ − p x )
                                        X
                                                                                                              (2.5a)
                                        i =1
                                          4
               MT (V̇ y + ψ̇Vx ) =
                                        X
                                               F yi − MT g sin(θ − p y ) cos(φ − p x )                        (2.5b)
                                        i =1
                                          4
                MS (V̇z − φ̇Vx ) =             Fzi − MS g cos(θ − p y ) cos(φ − p x ) + Faer o sin φ
                                        X
                                                                                                              (2.5c)
                                        i =1
where Faer o is given by Equation (2.3). Note that the crossterms θVz , φVz and θV y have been
neglected in Equations (2.5).
   The dynamics of the roll, pitch and yaw angular velocities in the inertial frame are given by:
                                                                    4
               Ix θ̈ = l w (∆Fs1 + ∆Fs3 − ∆Fs2 − ∆Fs4 ) +
                                                                    X
                                                                           h CoG F yi                         (2.6a)
                                                                    i =1
                                                                             4
               I y φ̈ = −l f (∆Fs1 + ∆Fs2 ) + l r (∆Fs3 + ∆Fs4 ) −
                                                                             X
                                                                                   h CoG Fxi + h CoG Faer o   (2.6b)
                                                                            i =1
               Iz ψ̈ = l f (F y1 + F y2 ) − l r (F y3 + F y4 ) + l w (Fx2 + Fx4 − Fx1 − Fx3 )                 (2.6c)
    The variation of the suspension force ∆Fsi applied at wheel i depends on the variation of the
length of the suspension ∆z si = z si − z t i (see Equation (2.7a)) which itself depends only on the roll
θ and pitch φ angles (see Equation (2.7b)). The normal reaction Fzi force applied by the road on
wheel i is given by Equation (2.7c). The forces acting on the suspension are displayed in Figure 2.7
where Pr is the weight of the wheel (see Appendix A.3 for more details).
                                                                                                                 25
                                         CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Remark 2. The dynamics of the suspensions are ruled by Equation (2.9) but are not necessary for
the modeling:
Ms z̈ s = −k s (z s − z t ) − d s (ż s − ż t ) (2.9)
    At last, Equations (2.10) show how to transform the tire forces expressed in the pneumatic
frame to ones expressed in the vehicle frame:
26
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
       The longitudinal slip ratio τxi of wheel i describes how much the wheel slips in the longi-
tudinal direction of the wheel. It depends on the sliding velocity of the wheel on the road, i.e.
r e f f ωi − Vxpi , which is the difference between the wheel speed r e f f ωi at contact with the road
and the actual longitudinal speed of the wheel Vxpi expressed in the tire frame (~             ~ yi , p
                                                                                        p xi , p      ~zi ) (see
Figure 2.9). The longitudinal slip ratio τxi belongs to [−1; 1], where τxi = −1 corresponds to the sit-
uation where r e f f ωi > 0 and Vxpi < 0, and τxi = 1 to the situation where r e f f ωi < 0 and Vxpi > 0.
It is defined by Equation (2.12).
                                    r e f f ωi −Vxpi
                                
                                
                                         r e f f |ωi |       if r e f f ωi ≥ Vxpi   (Traction phase)
                    τx i    =       r e f f ωi −Vxpi                                                     (2.12)
                                
                                           |Vxpi |           if r e f f ωi < Vxpi   (Braking phase)
Figure 2.9 – Slip ratio and the different wheel radius presented in Table 2.4.
    The lateral slip angle αi is the angle between the orientation vector of the wheel i and the
velocity vector of the same wheel as shown in Figure 2.10. Its expression is given by Equation (2.13)
(see Appendix A.5 for demonstration):
                               δ f − atan Vy +l f ψ̇
                                          ³             ´
                                                           if i ∈ {1, 2} (front wheels)
                       αi   =           ³ Vx +²i l ´w ψ̇                                                 (2.13)
                               − atan Vy −l r ψ̇          if i ∈ {3, 4} (rear wheels)
                                         V +² l ψ̇       x   i w
                                                                     V y + l f ψ̇
                                                                   µ              ¶
                                            αf       = δ f − atan                                        (2.14)
                                                                         Vx
                                                                 V y − l r ψ̇
                                                               µ              ¶
                                            αr       = − atan                                            (2.15)
                                                                     Vx
    The normal reaction force ~Fz depends directly on the load transfer between wheels as illus-
trated in Figure 2.7: if the weight on a wheel increases, the normal reaction force increases accord-
ingly. This has a strong impact on the magnitude of the combined forces ~Fxp and ~F y p that can
be generated in the road plane due to the laws of friction given by Equation (2.16). Therefore, the
                                                                                                             27
                                         CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Figure 2.10 – Slip angle: the angle θV depends on the position of the wheel and on Vx , V y and ψ̇.
norm of the normal reaction force ||~Fz || and the road friction coefficient µ define a friction circle
in which the resulting force ~Fxp +~F y p has to remain inside (see Figure 2.11).
                                                                Fxp
                                                                            ~F2
                                                   ~F1                        µFz
                                                                                            Fyp
Figure 2.11 – Friction circle: the laws of Coulomb impose that ~F = ~Fxp +~F y p remains inside the red circle of
radius µFz . Therefore, ~F1 is an admissible force while ~F2 is impossible to generate.
    Hence, in order to use a tire model, it is necessary to first compute the longitudinal slip ratio
τx and the lateral slip angle α from the inputs of the vehicle, namely δ f , Tm and Tb . While Equa-
tion (2.13) gives a clear relation between the steering angle δ f and the different slip angles αi , the
relation between the wheel torques Tmi and Tbi and the different slip ratios τxi is more subtle:
both Equation (2.12) and the equation of the wheel dynamics given by Equation (2.17) for wheel i
should be considered.
    Taking into account Equations (2.5), (2.6) and (2.17) with a tire model leads to the 10 Degrees
of Freedom vehicle model (10 DoF). For a better accuracy, the dynamics of the tire deflection for
each wheel given by Equation (2.18) can also be added to the model; this leads to the 14 Degrees
of Freedom (14 DoF) vehicle model. In that case, the wheel/road interaction is represented by a
spring with a very high stiffness coefficient k t as shown in Figure 2.12.
m t z̈ t = −k t (z t − z r ) − k s (z s − z t ) − d s (ż s − ż t ) (2.18)
Remark 3. As Ir << {Ix , I y , Iz }, the dynamic of the wheel in Equation (2.17) is much faster than the
one of the carbody. This has a strong impact on simulation and control problems as the time re-
sponse of the wheel is much faster than the one of the carbody. Therefore, it is necessary to choose
28
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Figure 2.12 – Differences between the 10 DoF and 14 DoF vehicle model (on a quarter vehicle model).
a small time step (around 1ms) for simulations. For control purposes, singular perturbation tech-
niques such as Tikhonov’s theorem can be useful: see [Khalil, 1996] or [Kokotović et al., 1999] for
more details. Moreover, note that the wheel dynamics is directly responsible for slip and skid; there-
fore, in order to improve the vehicle stability, it is necessary to monitor and control the wheels using
for example an Anti-lock Braking System (ABS).
    In order to model the functions f x and f y of Equations (2.11), a wide range of tire models can
be found in the literature. Each model has its own assets and drawbacks, in particular regarding
accuracy and complexity as mentioned in introduction of this chapter. While some models such
as the complete Pacejka’s model or the LuGre are only suited for simulation purpose due to their
complexity, other models are well suited for control application (in particular the linear tire model)
but have a limited validity range. We will present the different models in the rest of this section.
One of the most widespread modeling for tire/road interaction is the Pacejka model, also referred
to as the “Pacejka’s Magic Formula". It is a semi-empirical model as it is based partly on an analyt-
ical model assuming a parabolic distribution of the tire forces on the tire/road contact zone and
partly on phenomenological observations of trial results [Pacejka, 2002].
Pure slip
In its simplest form, the longitudinal tire force Fxp only depends on the longitudinal slip ratio τx
and the lateral tire force F y p only depends on the lateral slip angle α. This model is valid only in
the case of a pure longitudinal or lateral slip, which is usually the case in normal driving situations.
     In this case, Equation (2.11) is modeled as following [Pacejka and Besselink, 1997]:
In a more general form, with Y being the longitudinal (resp. lateral) tire force and X the longi-
                                                                                                        29
                                              CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
                                                     Y (N)
                                                                                D
                                                             2,000
                                                                                                                 ys
                                                             1,000
                                                                             arctan(BCD)
−2,000
where the different constants, namely the stiffness factor B, the shape factor C, the peak value D
and the curvature factor E can be determined as following (see Figure 2.13):
     1. D is the peak value of the force;
                              y
     2. C = 2 − π2 arcsin( Ds ) with y s the asymptotic value of y;
                 S Hx    =    p Hx1                                                                                       (2.21a)
              τshi f t   = τx + S Hx                                                                                      (2.21b)
                  Cx     =    p Cx1                                                                                       (2.21c)
                  µx     = µ(p Dx1 + p Dx2 dFz )                                                                          (2.21d)
                  Dx     = µx Fz                                                                                          (2.21e)
                                                                     2
                  Ex     = (p Ex1 + p Ex2 dFz + p Ex3 dFz )(1 − p Ex4 si g n(τshi f t x ))                                (2.21f)
                                                              (p Kx3 dFz )
                 K xk    = Fz (p Kx1 + p Kx2 dFz ) exp                                                                    (2.21g)
                            K xk
                  Bx     =                                                                                                (2.21h)
                           Cx Dx
                 S Vx    = Fz (p Vx1 + p Vx2 dFz )                                                                        (2.21i)
30
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
             S Hy      = (p Hy 1 + p Hy 2 dFz ) + p Hy 3 γ                                                   (2.22a)
          αshi f t     = α + S Hy                                                                            (2.22b)
              Cy       =    p Cy1                                                                            (2.22c)
                                                                 2
              µy       = µ(p Dy 1 + p Dy 2 dFz )(1 − p Dy 3 γ )                                              (2.22d)
              Dy       = µ y Fz                                                                              (2.22e)
              Ey       = (p Ey 1 + p Ey 2 dFz )(1 − (p Ey 3 + p Ey 4 γsi g n(αshi f t )))                     (2.22f)
            K y a0     =    p Ky 1 Fz0 sin(2 arctan(Fz /(p Ky 2 Fz0 )))                                      (2.22g)
                                                 2
             Kya       = K y a0 (1 − p Ky 3 γ )                                                              (2.22h)
                          Kya
              By       =                                                                                      (2.22i)
                         Cy Dy
             S Vy      = Fz ((p Vy 1 + p Vy 2 dFz ) + (p Vy 3 + p Vy 4 dFz )γ)                                (2.22j)
                      ²k    = 0.01                                                                            (2.23j)
                      0
                     Kya    = K y a + ²k                                                                     (2.23k)
                                         S Vy
                 SH f       = S Hy +                                                                          (2.23l)
                                        K 0y a
                      Br    =   q Bz10 B y C y                                                              (2.23m)
                      Cr    = 1                                                                              (2.23n)
                      Dr    = Fz r 0 ((q Dz6 + q Dz7 dFz ) + (q Dz8 + q Dz9 dFz )γ) cos(α)                   (2.23o)
                      αr    = α + SH f                                                                       (2.23p)
                Mzr 0       = Dr cos(Cr arctan(Br αr ))                                                      (2.23q)
Combined slip
In the case where longitudinal and lateral slips occur simultaneously, Equations (2.21), (2.22) and
(2.23) do not respect the laws of friction anymore given by Equation (2.16). Therefore, less forces
                                                                                                                   31
                                            CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
are generated compared to the pure slip case: this is modeled by a ponderation factor Gxa (resp.
G yk ) on the pure longitudinal (resp. lateral) force (see [Pacejka, 2002]) such as given by Equa-
tions (2.24), and (2.25). The longitudinal and lateral tire forces generated in the case of combined
slip are displayed respectively in Figure 2.14 and 2.15. The self-aligning moment in case of com-
bined slip is given by Equations (2.26).
                                        2,000
                             Fxp (N)
                                            0
                                       −2,000
                                           −1
                                                        0                                   1
                                                                             0     0.5
                                                α (-)       1 −1 −0.5
                                                                              τx (-)
Fy p = G yk F y p 0 + S Vyk (2.25i)
32
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
2,000
                            Fyp (N)
                                           0
                                      −2,000
                                          −1
                                                                                         1
                                                        0                    0
                                               τx (-)         1 −1               α (-)
Influence of Fz and µ
The simple version of “Pacejka’s Magic Formula" given by Equations (2.19) takes neither into ac-
count the normal reaction force Fz applied by the road on the vehicle, nor the friction coefficient µ
of the road. However, in Equations (2.21d), (2.21e), (2.22e), (2.22d), (2.21g), (2.21h), (2.22g), (2.22h)
and (2.22i) we observe that the coefficients Dx , D y , as well as Bx and B y are influenced by the value
of µ and Fz . Thus, the longitudinal and lateral forces generated by the road on the tire depends
strongly on these two values as illustrated in Figures 2.16 and 2.17.
                                                    Fxp     = Cτ τx                               (2.27a)
                                                    Fy p    = Cα α                                (2.27b)
                                                                                                      33
                                      CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Figure 2.16 – Longitudinal (left) and lateral (right) tire forces generated by Pacejka’s Magic Formula for dif-
ferent values of Fz , with Fz0 = 3kN and µ = 1.
Figure 2.17 – Longitudinal (left) and lateral (right) tire forces generated by Pacejka’s Magic Formula for dif-
ferent values of µ, with Fz = Fz0 = 3kN.
4 Fxp (kN)
                                                      2
                                                                             SATURATION
                                                           AR
                                                 NON-LINEAR
                                                                NON-LINEAR
                                                      LINE
                                                                                      τx
                             −1         −0.5                                   0.5         1
SATURATION −2
The Dugoff tire model was introduced in [Dugoff et al., 1969]. It is an analytical model assuming
a uniform distribution of the tire forces on the tire/road contact zone. [Guntur and Sankar, 1980]
have included the friction circle concept to the model to ensure that the laws of friction are re-
spected. Unlike the Pacejka model, the Dugoff model deals easily with the road friction coefficient
34
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
                                                                  τx
                                                  Fxp      = Cτ        f (λ)                                          (2.28a)
                                                                1 − τx
                                                                tan(α)
                                                  Fy p     = Cα         f (λ)                                         (2.28b)
                                                                1 − τx
                     µFz (1+τx )
where    λ= p                               and:
              2   (Cτ τx )2 +(Cα tan(α))2
                                                           (2 − λ)λ if λ < 1
                                                      ½
                                            f (λ) =                                                                    (2.29)
                                                           1        if λ ≥ 1
The models presented in this section are less used in the literature. In particular, the LuGre and
Burckhardt-Kiencke model present a slight difference with the models mentioned aforehead: they
cannot be expressed by Equations (2.11), as they use some other states of the tire as input to their
models.
LuGre model
The LuGre friction model, introduced in [Canudas de Wit et al., 1995] has been applied to tire-road
friction in [Canudas de Wit and Tsiotras, 1999, Canudas-de Wit and Horowitz, 1999]. The model
is given by Equations (2.30). It is named after the contraction of Lund-Grenoble, as the results
were obtained from a collaboration between Lund Institute of Technology and Institut National
Polytechnique de Grenoble.
                                                                  σ0 |v r |
                                              ξ̇ =         vr −                                                       (2.30a)
                                                                  g (v r )
                                            Fxp    = (σ0 ξ + σ1 ξ̇ + σ2 v r )Fz                                       (2.30b)
                                                                                   p
                                                                                  − |v r /v s |
                                      g (v r ) = µc + (µs − µc ) exp                                                  (2.30c)
where σ0 is the normalized rubber longitudinal lumped stiffness, σ1 the normalized rubber longi-
tudinal lumped damping, σ2 the normalized viscous relative damping, µc the normalized Coulomb
friction coefficient, µs the normalized static friction coefficient, v s the Stribeck relative velocity,
v r = (r e f f ω − Vxp ) the relative velocity, Vxp the longitudinal velocity of the wheel and ξ the inter-
nal friction state. Examples of values taken from [Canudas de Wit and Tsiotras, 1999] are shown in
Table 2.7. Note that µc ≤ µs .
Table 2.7 – Example of values                         of     the      different     coefficients   of   the   LuGre    model
[Canudas de Wit and Tsiotras, 1999].
   Some improvements have been made in [Canudas-de Wit et al., 2003] to capture the transient
behavior of the traction force observed during transitions between braking and acceleration.
                                                                                                                          35
                                       CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Burckhardt-Kiencke model
The Burckhardt-Kiencke tire model computes the longitudinal and lateral tire forces from the fric-
tion coefficient or adhesion coefficient µ, the speed of the vehicle at center of gravity V and the
normal reaction force Fz . The friction coefficient µ is defined as the ratio of the frictional force
                                                                                     Ff r ic
acting in the wheel plane F f r i c and the wheel ground contact force Fz : µ =       Fz       (see Figure 2.19).
    In its simple version originally proposed by Burckhardt [Burckhardt, 1993], the friction coeffi-
cient depends only on the total slip ratio τt ot al as given by Equation (2.31):
                             µ(τt ot al ) = c 1 1 − exp−c2 τt ot al − c 3 τt ot al
                                                ¡                  ¢
                                                                                              (2.31)
     The total slip ratio corresponds to the norm of the slip ratios:
                                                    q
                                         τt ot al =    τ2x + τ2y                                            (2.32)
where τ y is the lateral slip ratio.
    The parameters c 1 , c 2 , c 3 are characteristic of the road surface, in particular the coating. Their
values are given in Table 2.8.
                                                    c1         c2          c3
                             Asphalt, dry           1.2801     23.99       0.52
                             Asphalt, wet           0.857      33.822      0.347
                             Concrete, dry          1.1973     25.168      0.5373
                             Cobblestones, dry      1.3713     6.4565      0.6691
                             Cobblestones, wet      0.4004     33.7080     0.1204
                             Snow                   0.1946     94.129      0.0646
                             Ice                    0.05       306.39      0
    Equation (2.31) can be extended to a more precise model taking into account the speed V at
the center of gravity of the vehicle and the normal reaction forces Fz :
                 µ(τt ot al ) = c 1 1 − exp−c2 τt ot al − c 3 τt ot al exp−c4 τt ot al V 1 − c 5 F2z
                                    ¡                  ¢                                ¡            ¢
                                                                                                       (2.33)
      The parameters c 4 et c 5 are both positive values and cannot exceed 1. They describe respec-
tively the influence of a higher drive velocity and of a higher wheel load. More precisely, parameter
c 4 lies in the range 0.002s/m to 0.004s/m. More details can be found in [Kiencke and Nielsen, 2005].
36
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
Fiala model
The Fiala model has been introduced in [Fiala, 1954]. In order to take into account the friction
circle, [Hindiyeh and Gerdes, 2014] have proposed a slightly modified version. It is a model of the
lateral tire force F y p only, taking into account both the load transfer through Fz , the road condi-
tions µ and the slip angle α as shown in Equation (2.35). Note that the longitudinal forces Fxp
can not be obtained using the Fiala model. However, this model is very convenient for designing
controllers in the case of varying Fz or µ (see for example [Goh and Gerdes, 2016]).
                                                    C2              C3
                                    (
                                                   α
                                        −Cα z + 3ξµF   |z|z − 27ξ2 µα 2 F2 z 3   if |z| < tan αsl
                        Fy p   =                     z                   z                                      (2.35a)
                                        −ξµFz sign α                             if |z| ≥ tan αsl
                           z   = tan α                                                                          (2.35b)
                                        3ξµFz
                         αsl   = arctan                                                                         (2.35c)
                                         Cα
ξ ∈ [0; 1] is a derating factor given by Equaton (2.36) that accounts for a reduction in lateral force
capacity when longitudinal force is applied due to the friction circle:
                                                         q
                                                             (µFz )2 − F2xp
                                               ξ =                                                               (2.36)
                                                                µFz
                                                                                                                      37
                                         CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
The first step of the simulation iteration consists in computing all the forces that are applied on
the vehicle:
     1. Compute the longitudinal slip τxi using Equation (2.12) and the slip angle αi using Equa-
        tions (2.13) for each wheel i ;
        Note that Vxpi is the velocity of the wheel i in the pneumatic frame i :
     2. Compute the spring displacement ∆z si for each wheel i based on the value of the roll θ and
        pitch φ angles as shown by Equation (2.7b);
3. Compute the variation of the suspension forces ∆Fsi at each wheel as in Equation (2.7a);
4. Compute the normal reaction forces Fzi at each wheel as in Equation (2.7c);
     5. Compute the longitudinal Fxpi and lateral F y pi tire forces in the tire frame for each wheel us-
        ing Equations (2.21), (2.22), (2.24) and (2.25). The coefficients used are reported in Table 2.9
        and are taken from [Pacejka, 2002];
     6. Compute the longitudinal Fxi and lateral F yi tire forces in the vehicle frame for each wheel
        by using Equation (2.10);
Table 2.9 – Coefficients used for the complete Pacejka model [Pacejka, 2002].
The next step of the simulation iteration consists in computing the state vector X at time t + ∆t ,
where ∆t is the time step of the simulation. For that purpose, we first compute the derivative
of each state as shown in Equation (2.38) which stems from Equations (2.1), (2.5), (2.6) and (2.17).
These equations are then integrated using a Runge-Kutta solver [Dormand and Prince, 1980]. Note
that a forward Euler solver does not work except if the discretization step ∆t is really small (less
than 1ms) as the wheel dynamic is much faster than the one of the carbody (cf. Remark 3).
38
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
               ẋ 7   =   x8                                                                        (2.38g)
                               Ã                                             !
                          1                                         4
                                                                    X
               ẋ 8   =      l w (Fs1 + Fs3 − Fs2 − Fs4 ) + x 5      F yi                           (2.38h)
                          Ix                                    i =1
               ẋ 9   =   x 10                                                                       (2.38i)
                              Ã                                                     !
                           1                                               X 4
              ẋ 10   =         −l f (Fs1 + Fs2 ) + l r (Fs3 − Fs4 ) + x 5      Fxi                  (2.38j)
                          Iy                                               i =1
              ẋ 11   =   x 12                                                                      (2.38k)
                          1¡ ¡                ¢     ¡           ¢                               ¢
              ẋ 12   =        l f F y1 + F y2 − l r F y3 − F y4 + l w (Fx2 + Fx4 − Fx1 − Fx3 )      (2.38l)
                          Iz
                          u 1 − r e f f Fxp1
              ẋ 13   =                                                                             (2.38m)
                                     Ir
                          u 2 − r e f f Fxp2
              ẋ 14   =                                                                             (2.38n)
                                     Ir
                          u 3 − r e f f Fxp3
              ẋ 15   =                                                                             (2.38o)
                                     Ir
                          u 4 − r e f f Fxp4
              ẋ 16   =                                                                             (2.38p)
                                     Ir
                                                                                                         39
                 CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
40
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
The point-mass model is the simplest modeling of a vehicle: the latter is assimilated to a point-
mass where the control inputs are for example for a second-order point-mass model the accelera-
tions in the inertial frame a X and a Y . The system obtained is a linear one, given by Equation (2.39).
      For a second-order point-mass model, ξpm = (X, Ẋ, Y, Ẏ)T is the state of the vehicle, Upm =
(a X , a Y )T is the control input and matrices A and B are given by Equation (2.40):
                                                                  
                                     0     1   0   0        0      0
                                   0      0   0   0      1      0
                                 A=                  ; B=                                     (2.40)
                                                                  
                                   0      0   0   1      0      0
                                                                     
                                     0     0   0   0        0      1
The variables X and Y represent the positions of the vehicle in the inertial frame, Ẋ and Ẏ the speed
of the vehicle in the inertial frame.
     The point-mass model is very efficient from a computational point of view but has a poor
accuracy as the vehicle can move in any direction, as shown in Figure 2.23, even perpendicularly
to its orientation. Some constraints can be added in order to improve its accuracy: for example,
in [Qian et al., 2016], the authors added the constraint given by Equation (2.41) in order to avoid
pure lateral motion of the model.
Remark 4. Both the first-order [Nilsson et al., 2015b], second-order [Murgovski and Sjöberg, 2015]
and third-order [Qian et al., 2016] point-mass models exist in the literature. The control inputs are
respectively the velocities, the accelerations and the jerks.
The unicycle model corresponds to a single-wheel kinematic model given by Equations (2.42) and
illustrated by Figure 2.24. The control inputs are the velocity V and the angular velocity u ψ̇ . For
more smoothness, the linear acceleration of the wheel u V̇ can be used instead of V by adding
Equation (2.42d). Due to its simplicity, the unicycle model is used mostly at the motion planning
level and is also referred to as the “simple kinematic car model". The angular speed u ψ̇ is limited
                                                                                                     41
                                   CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
                                          Ẋ   = V cos(ψ)                                   (2.42a)
                                          Ẏ   = V sin(ψ)                                   (2.42b)
                                          ψ̇ = u ψ̇                                          (2.42c)
                                          V̇   = u V̇                                       (2.42d)
   The unicycle model satisfies the non-holonomic constraint on the vehicle motion which will
be explained in chapter 3.3. However, the model can spin around without moving forwards or
backwards.
The word kinematic (from the Greek κινηµα, “motion") in classical mechanics refers to the motion
of systems such as points or bodies, without considering the masses or forces involved in it. Hence,
the kinematic models describes the geometry of motion of the system.
     In the kinematic bicycle model, the two front wheels (resp. the two rear wheels) of the vehicle
are lumped into a unique wheel located at the center of the front axle (resp. of the rear axle) such
as illustrated on Figure 2.25. The control inputs are the speed at center of gravity V and the front
steering angle δ f when assuming that only the front wheel can be steered. The model, expressed
at the center of gravity of the vehicle, is given by Equation (2.43a) to (2.43c). The demonstration
42
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
                                          = V cos ψ + β(δ f )
                                                  ¡           ¢
                                       Ẋ                                                         (2.43a)
                                       Ẏ = V sin ψ + β(δ f )
                                                  ¡          ¢
                                                                                                  (2.43b)
                                            V
                                       ψ̇ =    sin β(δ f )
                                                   ¡      ¢
                                                                                                  (2.43c)
                                            lr
where X and Y are the coordinates of the center of gravity of the vehicle in the inertial frame, ψ is
the yaw angle and l f and l r are two geometric parameters of the vehicle, respectively the distance
from the center of gravity to the front and rear axle. The slip angle β at the center of gravity is a
function of δ f defined by Equation (2.43d).
                                                                       lr
                                                 µ                            ¶
                                   β(δ f ) = atan tan(δ f )                                       (2.43d)
                                                                   l f + lr
In the motion planning literature, it is common to use as control inputs the total acceleration u 1
of the vehicle and the steering rate u 2 of the front wheel. In this case, Equations (2.43e) and (2.43f)
are added to the model. By abuse of language, this model is also referred to as the “kinematic
bicycle model":
                                               V̇      = u1                                       (2.43e)
                                              δ̇ f     = u2                                       (2.43f)
    • The slip angle at each wheel is assumed to be zero. Therefore, the model is only valid at low
      speed.
   The kinematic bicycle model takes into account the non-holonomic constraint on the vehicle
motion which will be defined in section 3.3. However, the slip and skid of the vehicle are neglected.
Remark 5. The kinematic bicycle model expressed at the center of the rear axle is equivalent to the
unicycle model presented in section 2.4.2. However, the steering angle can no longer be used as an
input of the model in that case.
The dynamic bicycle model, see Figure 2.26, has already been presented in section 2.1.1. As in the
case of the kinematic bicycle model, the two front wheels (resp. the two rear wheels) of the vehicle
are lumped into a unique wheel located at the center of the front axle (resp. of the rear axle).
However, this model is based on the forces and inertias of the vehicle and dynamic phenomena
are therefore considered.
    There exists two versions of the dynamic bicycle model in the literature depending on the con-
trol variables chosen:
 V1: Considering Fx f , Fxr , F y f and F yr as control inputs leads to Equation (2.44). In this case, the
     forces are limited by a friction circle (see section 2.2).
                                                                                                       43
                                      CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING
 V2: Considering a x and δ f as control inputs leads to Equation (2.45). The lateral forces F y f and
     F yr are computed from the steering angle δ f using the linear tire model for example (see
     section 2.2.2). This method increases the computational time but leads to more intuitive
     control inputs.
In both cases, the position of the center of gravity of the vehicle in the inertial frame follows Equa-
tions (2.46):
    While the first version is relatively simple from a computational point of view, the feasible
limits of the control inputs Fx f , Fxr , F y f and F yr are difficult to obtain. Moreover, if F y f >> Fx f ,
the non-holonomic constraint might not be respected. In the second version, it is important to
have a good estimation of the cornering stiffness of the tire. Moreover, the linear tire model is not
defined at very low speeds.
44
            Part II
              45
Chapter 3
Led Zeppelin
Contents
      3.1 Methods based on the configuration space . . . . . . . . . . . . . . . . . . . . . . . 48
           3.1.1 Potential field method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   49
           3.1.2 Deterministic sampling-based methods . . . . . . . . . . . . . . . . . . . . .           50
           3.1.3 Probabilistic sampling-based methods . . . . . . . . . . . . . . . . . . . . . .         53
      3.2 Optimal control problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
           3.2.1 Model Predictive Control (MPC) . . . . . . . . . . . . . . . . . . . . . . . . . .       55
           3.2.2 Model Predictive Path Integral (MPPI) . . . . . . . . . . . . . . . . . . . . . . .      57
      3.3 The non-holonomic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
      3.4 Taking dynamic effects into account at the motion planning level . . . . . . . . . 58
      3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
                                                     47
                                    CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
    The motion planning problem has been studied in robotics since the 1980s with the introduc-
tion of the piano-mover problem [Schwartz and Sharir, 1981]: given an initial and final configu-
rations of a piano (or a robot) and a list of obstacles o ∈ O in the physical space, can we find a
continuous motion between these two configurations that avoids the obstacles. The motion can
either be a path, i.e. a list of positions (X ri , Yir )i ∈1;n , or a trajectory, i.e. a list of positions indexed by
time (X ri (t ), Yir (t ))i ∈1;n . The first case is referred to as a path planning problem while the second
one corresponds to a trajectory planning problem. The main difference is that in the second case,
a reference velocity for the robot is defined. The piano-mover problem is particularly evoking as
the size of a piano, a three-dimensional object, is usually close to the one of the door, window or
staircase it has to pass through. Not only the piano-mover needs to know if it is possible to move
the piano to its new configuration, but also how it can be done.
    The motion planning problem takes place in the 3D physical space (resp. 2D if only pla-
nar motions are considered): however, as the robot or piano is a three-dimensional (resp. two-
dimensional) object with up to 6 degrees of freedom (resp. 3 DoF), determining if a solution exists
is difficult even for a human. Moreover, one of the main difficulties is to translate a continuous
problem into a combinatorial one that can be solved by a computer.
    The methods for solving the motion planning problem can be classified into two main cate-
gories. The first one solves the problem in the configuration space, denoted by CS, which will be
defined in section 3.1; these methods were proposed in the 1990s and beginning of the 2000s. The
second category solves the problem in the control space and consists usually in solving an optimal
control problem (OCP) which will be presented in section 3.2. These methods have been applied
for motion planning problems more recently as they require a higher computational power.
    Section 3.3 will introduce the notion of non-honolomic constraint which limits the admissible
motions of the vehicle. Its impact on the motion planning problem will be analyzed. Finally,
section 3.4 highlights the impacts of dynamic effects on the motion planning layer and outlines
some solutions to face such issues.
    More details can be found on the motion planning problem in [Lavalle, 2006, Latombe, 2013]
or in the course given by Jean-Paul Laumond at College de France1 . For a review of motion plan-
ning techniques applied specifically to autonomous vehicles, we refer the reader to one of the
following articles: [Katrakazas et al., 2015, Paden et al., 2016, Gonzalez et al., 2016].
Proposition 1. Any admissible motion for a 3D mechanical system appears as a collision-free path
for a point in the configuration space [Lozano-Perez, 1983].
    In CS, the configuration of the robot is characterized by a simple point and the configurations
where the robot collides with an obstacle are denoted CS occ . Thus, the motion planning prob-
lem boils down to capturing the topology (in particular the connected components) of the free
configuration space, denoted CS f r ee , which is the set of all the configurations that do not collide
with an obstacle (see Figure 3.1). If there exists a path joining the initial and final configurations,
they have to be in the same connected component. Otherwise, no solution exists. Hence, the mo-
tion planning problem becomes easier to solve in the CS. CS f r ee is determined from the collision
configuration space CS occ as following: CS f r ee = {q ∈ CS, q 6∈ CS occ }. CS occ can be determined
   1 Available at https://www.college-de-france.fr/site/jean-paul-laumond/course-2011-2012.htm, vis-
configuration q = (X, Y, ψ) characterizes the robot’s position and orientation in the physical space.
48
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
by computing for example for each obstacle o the Minkowski sum R + Bo , where R is the physical
space occupied by robot and Bo the one occupied by obstacle o.
Figure 3.1 – Configuration space CS, free configuration space CS f r ee (white), occupied configuration space
CS occ (grey): the initial configuration is I and the final one is G.
    However, the converse of Proposition 1 is not true: finding a path in the CS between two con-
figurations does not guarantee that a feasible solution exists in the physical space (it is only a nec-
essary condition) due to some restrictions on the motion of the robot. In particular, this is the case
for a vehicle due to the non-holonomic constraints which will be discussed in section 3.3. How-
ever, if the robot is a free-flying object, i.e. that there is no constraints on its motion, Proposition 1
becomes also a sufficient condition.
    Once the motion planning problem has been reformulated in the configuration space, it is still
necessary to translate the continuous problem of exploring connected component into a combi-
natorial formulation that can be solved numerically by a computer. [Schwartz and Sharir, 1983]
proved that the “piano-mover" problem was decidable (i.e. the computer can determine if there is
a solution or not) using methods introduced by [Tarski, 1951], and [Reif, 1979] showed the problem
is PSPACE-hard. [Schwartz and Sharir, 1983] came up with a method that has double-exponential
growth in time with the dimension of the CS, which was later simplified by [Canny, 1988] to a so-
lution that has single-exponential growth in time. Thus, the complexity of analytical solutions
makes them unsuitable for real-time applications. Therefore, numerical approximation methods
are used: this implies that CS f r ee is an open set (which is the case as the set of obstacles is a union
of closed sets) in order to take into account numerical approximations.
 The total force applied to the robot in configuration q is then Ft ot (q) = −∇q (Ut ot )(q). The robot
moves according to the laws of physics q̈ = Ft ot . It is also possible to apply directly gradient de-
scent on the potential field Ut ot .
    This method provides smooth trajectories but can be trapped by local minima. Therefore there
is no completeness for this method, meaning that there is no guarantee to find a solution even if
                                                                                                          49
                               CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
one exists. [Barraquand et al., 1996] proposed to add random walks to the potential field method
in order to avoid getting stuck in local minima. However, the completeness of this method can still
not be guaranteed.
Grid-cell decomposition
The configuration space is decomposed into regular grid-cells as shown in Figure 3.3: these cells
are either marked as occupied (in black), meaning that part of an obstacle is covering the cell, or as
free (in white). The number of cells is O(n d ) where d is the dimension of the configuration space
(assuming that all the dimensions are decomposed into n cells).
    The grid-cell search is complete: if a path exists among the free cells, it will be found. However,
due to the cell resolution, the original problem might have a safe path while the grid-cell problem
does not. Therefore, it is important to chose the cells relatively small for scenarios with a narrow
driving corridor. However, this increases the computational burden as it increases the number of
cells. In order to improve the computational efficiency while having a good resolution, the cells
can be chosen smaller around obstacles, by using for example a quadtree.
Trapezoidal decomposition
This method consists in decomposing the free configuration space into trapezoidal and triangular
cells as shown in Figure 3.4. This decomposition is done using a sweepline algorithm in O(n log n)
50
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
where n is the number of vertices of the obstacles. Then, a connectivity graph is derived, repre-
senting the trapezoidal cells that are adjacent to one another, as shown in Figure 3.5.
    The performance of this algorithm is better than the grid-cell decomposition but the path ob-
tained is not optimal.
Given a set of points P, the Delaunay triangulation is such that the circumscribed circle of each
triangle does not contain any other points (see Figure 3.6). This triangulation exists and is uniquely
defined.
    For the motion planning problem, we consider the set P of all the vertices of the obstacles3 .
A sweepline algorithm in O(n log n) is used to construct the triangulation where n is the number
of vertices of the set of obstacles. A connectivity graph representing the adjacency between two
  3 the obstacles are supposed to have a polygonal shape
                                                                                                   51
                               CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
triangles is then obtained. The complexity of Delaunay triangulation is similar to the trapezoidal
methods and the obtained path is also not optimal.
    Note that the dual of the Delaunay triangulation is the Voronoï diagram, which is the set of
points equidistant to the obstacles. Thus to find a path, it is possible to join the initial and final
configurations to the closest point of the Voronoï diagram and then follow the diagram to reach
the other configuration.
Figure 3.6 – Delaunay triangulation (blue), Voronoï diagram (red) and obstacles (black).
Visibility graph
Given a set of points P representing the vertices of the obstacles, we can construct a visibility graph
(see Figure 3.7): two points are connected if they can be linked by a collision-free segment (or on
the border of an obstacle). For a two-dimensional configuration space, the time complexity of the
construction of the visibility graph is O(n 2 log n) using a binary search tree algorithm where n is
the number of points in P. At the end, the initial and final configurations are also linked to the
graph. If dim(CS) = 2, the visibility graph contains the shortest path. However, this is no longer
the case for dim(CS) = 3.
52
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
The PRM has been introduced in [Kavraki et al., 1996]: a graph is grown by connecting new ran-
dom configurations belonging to the free configuration space to it, until the graph is dense enough
(see Figure 3.8). At the end, the initial and final configurations are also connected to the graph. In
order to check the possibility to connect a new configuration to an existing one in the graph, the
collision-test operator is used. PRM are not able to handle differential constraints such as non-
holonomic constraints (see section 3.3).
Figure 3.8 – Probabilistic Roadmap Method: the green path joins the initial and final configurations. The
expended graph is shown in grey.
Random sampling has been introduced in [LaValle and Kuffner, 2001]. At the exploring phase, a
tree rooted at the starting configuration is grown (see Figure 3.9): a random sample is drawn in the
  4 i.e. a binary relation between points
                                                                                                      53
                                    CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
configuration space and kept only if it belongs to CS f r ee ; then the collision-test operator checks
whether this new configuration can be connected to the existing tree while avoiding obstacles and
respecting the differential constraints (unlike PRM, RRT can handle these constraints). A connec-
tivity graph is thus obtained. Once the final configuration can be connected to the graph, the query
phase finds the shortest path between the initial and final configuration.
Figure 3.9 – Rapidly-exploring Random Tree: the red path joins the initial and final configuration. The
expended rooted tree is shown in blue.
5 The chessboard is a good illustration of the power of exponential growth: if one places one rice grain on the first
square of the chessboard, 2 on the second, 4 on the third, 8 on the fourth and so on, there will be 232 ≈ 4 billions rice
grains on the 33t h square, which is the first one of the second-half of the chessboard.
54
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
                                                                                                t +k∆t y
    A typical MPC problem formulation looks like Equations (3.2). ξkt = ξt                                 denotes the state
                                                                                     j      t + j ∆t u
of the vehicle at time t + k∆t y predicted at time t (k           ∈ 0; N y − 1); u t   = ut            the control input to
                                                                                                                       N y −1
be applied at time j predicted at time t ( j ∈ 0; Nu −1) by the MPC. The vector ξ̄t = [ξ0t , ξ1t , .., ξt   ]
is the vector of all the state predictions between t and t + T y made at time t by the MPC; simi-
                                  N −1
larly, Ūt = [u t0 , u t1 , .., u t u ] is the vector of all the control input predictions between t and t + Tu
computed at time t . The cost function J depends both on the state and the control vectors: it
is a quadratic function given by Equation (3.3), where Q and R are two definite positive matrices
respectively of dimension N y card(ξ) and Nu card(U). card(ξ) and card(U) denote respectively the
number of states and control inputs of the state-space model. Usually, the ponderation of the cost
  6 A given portion of a path might be safe at a time t but not at time t + ∆t .
                                                                                                                          55
                                       CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
function is the same throughout the prediction horizon leading to Q and R of the form given by
Equation (3.4) where q and r are two diagonal square matrices of size respectively card(ξ) and
card(U). The MPC solver computes the optimal control sequence Ūt∗ and its associated optimal
state sequence ξ̄∗t . The main notations of the MPC formulation are summarized in Table 3.1.
subject to:
                                          j
                   ξk+1
                    t   =      f (ξkt , u t )             k = 0, 1, ..., N y − 2;                                (3.2b)
                                                                              ∆t y                     ∆t y
                                                             ·        µ            ¶      µ                 ¶·
                                                          j ∈ max l ≤ k              ; max l < (k + 1)
                                                                 l            ∆t u      l              ∆t u
                      j
                    ut ∈       [u l b ; u ub ]               j = 0, 1, ..., Nu − 1                               (3.2c)
                     ξkt ∈     [ξl b ; ξub ]              k = 0, 1, ..., N y − 1                                 (3.2d)
                  j +1          j +1 j
               ∆u t =          ut − ut                       j = 0, 1, ..., Nu − 2                               (3.2e)
                   j +1
               ∆u t ∈        [∆u l b ; ∆u ub ]               j = 0, 1, ..., Nu − 2                               (3.2f)
                    ξ0t =             ξ(t )                                                                      (3.2g)
                                                                                                  
                                       q          0    ...     0        r                 0    ... 0
                                     0           q    ...     0
                                                                       0
                                                                                         r    ... 0
                                   Q=                            ; R=                                          (3.4)
                                                                                                    
                                     0           0    ...     0      0                 0    ... 0
                                                                                                     
                                       0          0    ...     q         0                0    ... r
     Variables      Signification
           Ty       State prediction horizon of the MPC
           Tu       Control horizon of the MPC
          ∆t y      Prediction time step of the MPC
          ∆t u      Control time step of the MPC
            ξkt     State vector of the vehicle at time t + k∆t y predicted at time t (k ∈ 0; N y − 1)
               j
              ut    Control input vector at time + j ∆t u predicted at time t ( j ∈ 0; Nu − 1)
              Ny    Number of state predictions
              Nu    Number of control steps
56
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
A variant to MPC is Model Predictive Path Integral. It consists in sampling the control inputs before
applying them to a vehicle simulator in order to obtain many different paths. Then, the best path is
chosen [Williams et al., 2016]. The computational power available nowadays on an autonomous
vehicle allows to run quickly rather complex simulation models, which can be done moreover
in parallel to reduce the computational time. However, the completeness of this method is not
guaranteed.
A non-holonomic constraint for a system is a constraint that does not reduce the dimension of
its conguration space: the robot can still reach any configuration. In other words, it is a non-
integrable constraint. This is the case of the slip-free rolling constraint of a vehicle. In order to
better understand this concept, a comparison with the holonomic constraint that links the minute
and hour hands of a watch is made below:
    • Holonomic constraint
      The angular speed of the hour hand ẏ and the minute hand ẋ of a watch are linked by the
      following constraint:
                                                           1
                                                 ẏ   =      ẋ                                     (3.5)
                                                          12
      The configuration space, corresponding to the angular position of each hand (x, y) ∈ [0; 2π[2 ,
      is a tore represented on Figure 3.11 in blue. However, after integration of Equation (3.5),
      the admissible (or feasible) configuration space is reduced to the red spiral. Therefore, the
      configuration q = (x, y) = (π, 0) corresponding to the situation on the left of Figure 3.11 and
      represented by the black dot on the right, is not admissible as it is not on the red spiral.
    • Non-holonomic constraint
      The velocities Ẋ and Ẏ of the vehicle in the inertial frame and the heading ψ of a vehicle are
      linked by the slip-free rolling condition:
      This constraint cannot be integrated. Therefore, the vehicle can still reach any configuration
      q = (X, Y, ψ) ∈ R2 × [0; 2π[. With only two actuators, it is still possible to reach any configura-
      tion of the three-dimensional configuration space.
                                                                                                      57
                              CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
Figure 3.11 – Example of holonomic constraint: the constraint between the minute and hour hands of a
watch. The configuration space (blue tore) is reduced by the constraint to the red spiral.
Although the non-holonomic slip-free rolling constraint does not reduce the dimension of the
configuration space, it limits the motion of the vehicle: the vehicle cannot move solely in the lat-
eral direction. This phenomenon has to be taken into account at the motion planning level.
                                              1          l f + lr
                                   Rmi n =          =                                          (3.7)
                                             γmax       tan δmax
Remark 7. Similarly to Dubins’path, Reeds and Shepp’s paths [Reeds and Shepp, 1990] can be con-
sidered for a vehicle moving both forwards and backwards (case 1) in order to obtain a smoother
path for the control.
3.4 Taking dynamic effects into account at the motion planning level
Most of the algorithms used in the motion planning community have been derived from ear-
lier work on wheeled robots. However, a vehicle evolves in a more dynamic environment than
a wheeled robot due to the number of other vehicles and pedestrians around. Therefore, it is usu-
ally no longer possible to decouple the longitudinal and the lateral behaviors as it has been done
58
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
previously: in particular, a given reference path might be safe for a given velocity profile but not
for another one. Moreover, a vehicle only moves forwards except during some specific low-speed
maneuvers such as parking or U-turns.
    Therefore, the motion planning layer should provide directly a reference trajectory. In this
case, the non-holonomic constraint have some impacts on the feasible trajectories and should be
taken into account. However, compared to small wheeled robots, vehicles are heavier and faster.
Thus, they have a bigger inertia, making safe operations more complex. In particular, at the wheel
level, phenomena such as slip or skid might occur. Although it is complex to consider the wheel
dynamics at the motion planning level, it is necessary in order to ensure the feasibility of the ref-
erence trajectory either to take such phenomena into account or to prevent them from occuring.
    This problem has obtained only little attention in the motion planning literature. Wheel dy-
namics is usually only considered at the low-level control, assuming that a feasible reference tra-
jectory is given (see for example [Falcone et al., 2007a]). This is due not only to the strong non-
linearities of the wheel dynamics such as the computation of the longitudinal slip ratio, but also
to the different time-scales of the carbody and wheel dynamics which would require a lot of com-
putational resources (wheel dynamics requires a smaller discretization time-step). However, mass
deployment of autonomous vehicles in the future requires to be able to guarantee their safety at all
time. For that purpose, two main techniques can be applied: model reduction and validity domain
delimitation.
Model reduction
To account for vehicle dynamics, it is possible to simplify the complexity of the full vehicle model
presented in chapter 2 using simpler relations with less variables, reducing thus the complexity of
the model. Some loss of accuracy would be ineluctable but the computational time would be re-
duced. In particular, motion planning deals with the motion of the vehicle in the real world. There-
fore, it is more intuitive to control accelerations to study the evolution of the carbody, even though
forces can also be controlled. Three examples of how to simplify the complex vehicle model in
order to be used at the motion planning level are presented:
    • GG-diagram and friction circles - The friction limits induce an envelope for the possible
      accelerations of a vehicle. This envelope can be represented by a so-called “friction circle".
      In order to account for the assymettry between the maximal acceleration and deceleration,
      a “gg-diagram" (see Figure 3.12) has been introduced in [Rice, 1973]. It has been applied to
      design aggressive-driving controllers [Kritayakirana and Gerdes, 2012, Funke et al., 2012]. A
      few works such as [Zhan et al., 2016] include it at the motion planning level too. However, it
      neither captures the non-holonomic constraint nor the load transfer between tires (which
      modifies the shape, or at least the radius, of the gg-diagram).
    • Load transfer - In order to simplify the four-wheeled vehicle model, a bicycle model is of-
      ten considered. In that case, the load transfer between the left and the right wheels are not
                                                                                                   59
                               CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
       considered anymore, which has a direct impact on the maximal tire forces that can be gen-
       erated on each tire due to the friction circle. However, it is still possible to compute the
       load transfer without computing the roll and pitch angles of the carbody (see for example
       [Funke et al., 2017]): at steady state, assuming a small roll angle, Equation (3.8) can be used
       to ajust the radius of the friction circle; similarly, at steady-state, the load transfer between
       the front and rear tires assuming a small pitch angle is given by Equation (3.9):
                                      l w g + h CoG a y                 l w g − h CoG a y
                           Fzl = MT                        ; Fzr = MT                              (3.8)
                                            2l w                              2l w
                                       l r g − h CoG a x                l f g + h CoG a x
                           Fz f = MT                       ; Fzr = MT                              (3.9)
                                             l f + lr                       l f + lr
When using simplified models for motion planning, it is important to ensure that these models
operate inside their validity domain in order to plan feasible trajectories. These validity domains
depend both on the inner state of the vehicle and on external factors such as the road surface.
    Several works have been dealing with such problems in the literature and have derived some
simple criteria to check the consistency of a model. For example in [Park et al., 2009], the dynamic
bicycle model was proven to remain valid as long as a y ≤ 0.5g and |β| ≤ 4◦ where a y is the lateral
acceleration and β is the slip angle at center of gravity. In chapter 4.2, we will prove that the kine-
matic bicycle model can only be used if a y ≤ 0.5µg on curves with constant curvature traveled
at constant speeds. If these criteria are not satisfied, the modeling errors become huge and these
models would be completely unable to capture the vehicle’s actual behavior. At last, let us mention
[Schürmann et al., 2017] who uses a point-mass model at the motion planning level but checks af-
terwards if the planned maneuver is realizable using a non-deterministic system modeled as a
differential inclusion.
3.5 Conclusion
Due to its ability to handle complex vehicle models and the speed of todays solvers for optimal
control problems, Model Predictive Control is probably the most promising method for generat-
ing feasible reference trajectories. In particular, it is able to coupled the longitudinal and lateral
motion of the vehicle simultaneously as path planning and velocity control cannot be decoupled
anymore in a highly dynamic environement.
60
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
    Although the computational complexity of MPC can be suited for real-time applications, it
depends strongly on the vehicle model used: hence, it is necessary to make a good compromise
between its accuracy and its complexity. Therefore, the choice of the model will be discussed in
the next section. Moreover, this can have an impact on the type of motion planning and control
architecture that will be chosen, namely an integrated approach where they are both unified in a
single framework, or a hierarchical approach where they are split into two separate layers.
                                                                                             61
     CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES
62
Chapter 4
Theodore Roosevelt
Contents
      4.1 Hierarchical versus integrated motion planning and control architecture: a choice
          of model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
           4.1.1 Integrated motion planning and control architecture . . . . . . . . . . . . . .            65
           4.1.2 Hierarchical motion planning and control architecture . . . . . . . . . . . .              65
           4.1.3 The kinematic bicycle model: a consistent model for planning feasible and
                 safe trajectories? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   66
      4.2 Validity of the kinematic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . 67
           4.2.1 Experimental set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      67
           4.2.2 Limits of Equation (4.3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     68
           4.2.3 Adding a constraint on the lateral acceleration . . . . . . . . . . . . . . . . . .        68
           4.2.4 Relaxation of the dry road assumption . . . . . . . . . . . . . . . . . . . . . .          71
           4.2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   71
      4.3 A consistent planning and control architecture for normal driving situations . . 73
           4.3.1 Local velocity planner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     73
           4.3.2 Obstacle manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       74
           4.3.3 Local MPC trajectory planner . . . . . . . . . . . . . . . . . . . . . . . . . . . .       74
           4.3.4 Longitudinal and lateral low-level controllers . . . . . . . . . . . . . . . . . .         76
           4.3.5 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     77
           4.3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   81
      4.4 Adaptation to low friction coefficient roads . . . . . . . . . . . . . . . . . . . . . . 82
           4.4.1 Adaptation of the planning and control architecture . . . . . . . . . . . . . .            82
           4.4.2 Simulation results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     84
      4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
                                                      63
      CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
    As mentioned already in the previous chapter, many planning and control algorithms used
for autonomous vehicles have been derived from earlier work on wheeled robots. For example at
the planning level, algorithms such as RRT or potential fields have been employed (see chapter 3)
while at the control level, the pure-pursuit [Coulter, 1992] is still quite popular. The technological
transfer from wheeled robots to autonomous vehicles has shown good results so far as the latter
are moving in confined environments and at rather low speeds. However, as we move towards their
mass deployment, autonomous vehicles will encounter more and more dynamic obstacles. More-
over, they will only be allowed to move backwards in some very particular cases such as parking or
U-turn maneuvers.
    Therefore, the decoupling between the longitudinal and lateral motions of the vehicle cannot
be considered anymore at the planning level. The latter should provide not only a reference path
but also a reference velocity, i.e. a reference trajectory: as already mentioned, a portion of the path
can be safe at a given moment but not a few seconds latter.
    The Model Predictive Control (MPC) framework presented in chapter 3.2.1 appears as a promis-
ing method in order to plan reference trajectories for autonomous vehicles: not only is it able
to handle easily constraints such as vehicle dynamics, but also it allows semi-analytical resolu-
tion which can make this method extremely fast to compute [Houska et al., 2011a]. Therefore, it
presents a natural framework to deal with the coupling of longitudinal and lateral dynamics of a
vehicle. Usually, MPC is used for control purpose where the optimal control input sequence to
apply to the system is obtained. However, it can also provide the optimal state sequence, such as
a reference trajectory. One question that arises then and still need to be addressed is the choice of
a model for representing the evolution of the system, given by Equation (3.2b).
    A model is a mathematical description of the evolution of a system, i.e. a representation of
the “real world". It plays a fundamental role in a large variety of applications such as simulation,
control theory, motion planning, prediction intention. It enables not only to explain a system,
but also to predict its evolution and thus anticipate its behavior. It can usually be written in the
continuous form given by Equation (4.1), named state-space model, where ξ is the state vector of
the system and u its input vector.
ξ̇ = f (ξ, u) (4.1)
    There exists a wide range of models for representing a system. The choice is a trade-off be-
tween two conflicting objectives: the level of abstraction and accuracy on the one hand, and the
computational time on the other hand. The more detailled the model is, the better the predictions
are but the longer it takes to obtain them. The choice of a model depends also on the information
available: fine models require a good knowledge of the parameters of the system as they might
not be robust to large errors on these values. Also, in order to derive more general results, it can
be useful not to detail to much the modeling: typically, making abstraction of the engine for an
autonomous vehicle enables to consider indifferently both electric and gas engine vehicles.
    In chapter 2.4, we introduced different vehicle models, namely the point-mass, the unicycle,
the kinematic bicycle and dynamic bicycle models. This chapter discusses which models are the
most suited for motion planning applications and how to integrate them in a motion planning
and control architecture. Therefore, section 4.1 presents the two main categories of architecture,
namely the hierarchical and the integrated approaches, and which models they can be associated
with. The rest of this chapter focuses then on the kinematic bicycle model, which is the one we
chose: in particular, section 4.2 compares this model with the simulation model developed in
chapter 2. Then, a motion planning and control architecture for planning trajectories that are not
only safe but also efficient from a traffic point of view is proposed in section 4.3. Finally, some
enhancements of the architecture are proposed in section 4.4 to handle roads with a low friction
coefficient.
64
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
a Quadratic Problem with linear constraints which can be solved in polynomial time using an ellipsoid method
[Kozlov et al., 1979].
                                                                                                            65
      CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
    In particular, a hierarchical approach using a simple model at the motion planning layer might
lead to the situation depicted in Figure 4.1: the motion planner of the red vehicle outputs a refer-
ence trajectory (in blue) which avoids the yellow vehicles and is smooth. However, due the high
initial velocity V0 of the vehicle and the modeling error at the motion planning level, it turns out
that the vehicle cannot do better than the red dotted lines, which is the handling limits of the ve-
hicle. Moreover, taking into account the imperfection of the controllers (ex: measurement noise,
delays, uncertainties, stability-accuracy dilemma, actuator limitation), the vehicle ends up follow-
ing the yellow line which is no longer safe and hits the back of the yellow vehicle at high speed.
    Therefore, there is a need to improve the modeling at the motion planning level. For exam-
ple, for a point-mass model, it is possible to account for some dynamic phenomena q such as the
friction circle by limiting the Euclidean norm of the total acceleration of the vehicle a X2 + a Y2 ≤
a max [Ziegler et al., 2014b]. A “gg-diagram" (cf. chapter 3.4) which takes into account the as-
symetry between traction and braking can also be used [Zhan et al., 2016]. The non-holonomic
constraint can be approached by constraining the lateral speed to be lower than the longitudi-
nal speed (see Equation (2.41)). However, such an approximation is limited to almost straight
roads [Qian et al., 2016]. For the unicycle model, the non-holonomic constraint is respected by
the model but dynamic effects are not considered. Therefore, the results obtained do not guaran-
tee the feasibility of the reference trajectory at all time.
     Some alternative solutions have been presented to compute feasible reference trajectories us-
ing a point-mass model. [Altché et al., 2017] computes offline the achievable acceleration enve-
lope depending on the initial state of the vehicle, such as the speed and the steering angle. A
linear point-mass model with linear constraints on the admissible acceleration envelope is then
used, which is very efficient from a computational point-of-view. However, it seems difficult to
get such acceleration envelopes on an actual vehicle. [Schürmann et al., 2017] uses a point-mass
model as motion planner but checks afterwards if the planned maneuver is realizable using a non-
deterministic system modeled as a differential inclusion.
     The problem of feasibility of the reference trajectory becomes even more important for hier-
archical approaches in the case of roads with a low friction coefficient as slips and skids are more
likely to occur. Although some low-level controllers that can handle such situations have been
proposed in the literature, see for example [Falcone et al., 2007a, Gao et al., 2010, Gray et al., 2012],
obtaining a feasible reference trajectory remains a challenging task: in [Gao et al., 2010], the au-
thors used a point-mass model for planning a reference trajectory on an icy road which gives no
guarantee on the trajectory obtained and in [Gray et al., 2012], a feasible trajectory is generated of-
fline from predefined motion primitives. The use of motion primitives transform the continuous
MPC optimization problem into a combinatorial one by choosing the best sequence of actions to
perform.
4.1.3 The kinematic bicycle model: a consistent model for planning feasible and safe
      trajectories?
In order to ensure that the planned trajectory is feasible, it is important to choose a consistent
model, also referred to as “proper modeling" in the literature [Ersal et al., 2008]. In particular, it
66
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
is important to know the limits of validity of a given model. For that purpose, models have been
compared to more complex ones in the literature. For example, [Liu et al., 2013] compares two
integrated motion planning and control MPC: one using a 2 Degrees of Freedom (2 DoF) dynamic
bicycle model with a linear tire model (Version 2 in chapter 2.4.4) and another one based on a
14 DoF vehicle model. The validity of this dynamic bicycle model is guaranteed by constraining
the lateral acceleration to 0.5g on normal road conditions, condition which has been derived in
[Park et al., 2009]. However, the practical implementation of this system on a real vehicle is limited
as it assumes a constant velocity. [Kong et al., 2015] compares the performances of MPC using a
kinematic bicycle model and one using a dynamic bicycle model with a linear tire model (Version
2 in chapter 2.4.4). The authors conclude that the kinematic bicycle model works better in most
cases, except at high-speed, and suggests a further investigation on the impact of different lateral
accelerations on the validity of the kinematic bicycle model.
     The kinematic bicycle model takes into account the non-holonomic constraint of a vehicle,
i.e. the slip-free rolling condition defined in section 3.3, but not the dynamic effects as it neglects
the slip angle at each wheel. Therefore, it is usually considered as a bad approximation for high-
speed driving or roads with low-friction coefficients: in [Rajamani, 2012] for example, it is not
recommended to use this model for velocities higher than 5m/s. However, a careful human driver
tries to limit the slip and skid even in the case of slippery roads. He simply ajusts the longitudinal
speed to the situation. Therefore, the kinematic bicycle model seems a good representation of the
behavior of a vehicle in normal driving situations. Its relative simplicity and the low number of
vehicle parameters necessary (only the distance between the center of gravity to the front and the
rear axles, respectively l f and l r ) make it a good choice for modeling the behavior of a vehicle.
However, if used for motion planning, it is important to ensure that the no slip assumption holds,
especially as we move towards faster autonomous vehicles and all kind of weather conditions,
where slip and skip are more likely to occur. Therefore, in the next section, we will try to derive
some criteria that can be used at the motion planning level in order to ensure the validity of the
kinematic bicycle model.
One of the major assumption behind the kinematic bicycle model is that the slip angle at each
wheel is almost zero. i.e. that the dynamic effects such as slip and skid can be neglected. However,
this assumption does not hold for example for race driving or emergency maneuvers.
    This almost-zero slip angle assumption is complex to check in practice on a vehicle as it cor-
responds to the wheel dynamics, which not only is much faster than the carbody dynamics (see
section 2.2) but also is limited in sensors (only wheel encoders are available on cheap autonomous
vehicle). Hence, we compare the kinematic bicycle model presented in section 2.4.3 with the high-
fidelity 9 DoF dynamics model2 presented in section 2.3 in order to derive some high-level practi-
cal bounds where both models coincide. These criteria could then be used at the planning level in
order to ensure the validity of the kinematic bicycle model more easily.
In order to compare the kinematic bicycle model and the 9 DoF vehicle model, circles with differ-
ent curvature radius R traveled at constant speed V were chosen as reference trajectories. Such tra-
jectories correspond to constant control inputs, u 1 = 0 and u 2 = 0 (Equations (2.43e) and (2.43f )),
for the kinematic bicycle model. Equations (2.43) become then Equations (4.2) where β remains
                                                                                                    67
      CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
constant.
                                                lf               lr
                                             µµ       ¶   µ     µ ¶¶¶
                             δt h (R) = atan       + 1 tan asin                               (4.3)
                                                lr               R
Note that Equation (4.3) is valid only for l r ≤ |R|, meaning that the minimal curvature radius of
the path has to be larger than the distance between the rear axle and the center of gravity of the
vehicle.
    In the rest of this section, we are going to check the validity of Equation (4.3) and thus of the
kinematic bicycle model. For that purpose, we will compare the steering angle δa applied in the
9 DoF vehicle model simulator with the theoretical steering angle δt h obtained by Equation (4.3).
The values of the different main parameters are the following: l f = 1.17m, l r = 1.77m, l w = 0.81m,
MT = 1820kg and µ = 1.
68
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
500
400
                                      300
                            Yg (m)
200
                                                                       Tω %
                                      100
−100
                                     −200
                                       −400 −300 −200 −100              0    100                200     300       400
                                                                      Xg (m)
Figure 4.2 – Example of trajectories obtained with δa = 1◦ for different wheel torques Tω applied.
                                                                                   0
               40
                                                                                                                             Tω %
    Vx (m/s)
Vy (m/s)
                                                           Tω %                   −2
               20
                                                                                  −4
                0
                    0       2,000 4,000 6,000 8,000                                    0       2,000 4,000 6,000 8,000
                                            s (m)                                                            s (m)
                       (a) Longitudinal speed profiles.                                     (b) Lateral speed profiles.
Figure 4.3 – Example of speed profiles obtained with δa = 1◦ for different wheel torques Tω applied. The
colors matches with the trajectories displayed in Figure 4.2.
0.5◦ 1◦ 1.5◦ 2◦ 4◦ 6◦
         400
 R (m)
200
               0
                   5           10           15        20           25       30                  35           40         45          50
                                                                     V (m/s)
Figure 4.4 – Curvature radius versus speed for different steering angles obtained with the 9 DoF vehicle
model (full lines) and the kinematic bicycle model (dashed lines).
                                                                                                                                         69
               CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
decreases rapidly, except at low steering angle δa . Thus, the vehicle is understeering in the simula-
tion model compared to the kinematic bicycle model at higher speeds and higher steering angles
δa . This is due to side slip. Therefore, while the kinematic bicycle model seems a good modeling
for low-speed vehicles or low steering angles, it is completely unable to capture the motion of the
vehicle at higher speeds or steering angles. Hence, using it for planning purpose might lead to
dynamically unfeasible trajectories for the vehicle to follow.
               6
                                          ay = 0.84g
               4
 δth (◦ )
                       ay = 0.5g
               2
               0
                10            15              20               25               30              35               40             45             50
                                                                              V (m/s)
Figure 4.5 – Theoretical kinematic steering angle δt h obtained by applying a steering angle δa on the 9DoF
model (full line), and maximum kinematic steering angle δmax allowed for different maximum lateral ac-
celerations a y max (triangles).
   The lateral acceleration a y of the vehicle can be expressed as a function of its speed V and the
curvature radius R:
                                                                                      V2
                                                                     ay       =                                                                (4.4)
                                                                                      R
    Therefore, we computed a y for the different values of V and R obtained on Figure 4.4. The
results are shown in Figure 4.6. We observe that the maximal lateral acceleration that can be ob-
tained is a y max = 8.22m/s2 = 0.84g .
                   6
                   4
                   2
                   0
                       5       10                15          20                25      30                   35             40             45
                                                                               V (m/s)
Figure 4.6 – Lateral acceleration versus speed for different steering angles obtained with the simulation
model.
     Moreover, let’s suppose that we constraint the lateral acceleration of the vehicle to remain be-
low a certain value a y max . Thus, Equation (4.3) leads to a maximum steering angle δmax allowed
for the kinematic bicycle model which is given by Equation (4.5).
                                                                         lf                a y max l r
                                                                    µµ            ¶µ     µ             ¶¶¶
                                            δmax      = atan                + 1 tan asin                                                       (4.5)
                                                                         lr                   V2
70
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
    In Figure 4.5, we added the curves δmax as a function of V for a maximum lateral accelera-
tion corresponding to a y max = 0.5g and a y max = 0.84g . Let’s notice that the curve δmax for a y max =
8.22m/s2 = 0.84g corresponds to the maximum steering angle enabled at a given speed. More in-
terestingly, we observe that for a lateral acceleration below 0.5g , the steering angle δa applied to
the 9 DoF vehicle simulator matches with the theoretical steering angle δt h obtained using a kine-
matic bicycle model: δt h ≈ δa . Thus, the kinematic bicycle model and the 9 DoF dynamics vehicle
model coincide in this case. Moreover, above this limit, δt h becomes much smaller than δa : the
kinematic bicycle model is no more able to capture correctly the vehicle’s behavior as dynamic
effects become non negligible. In particular, prediction errors for trajectory planning would be-
come large, leading to unfeasible trajectories from a dynamic point of view. These cases should be
avoided. Therefore, this criteria on lateral acceleration seems a good one for ensuring the validity
of the kinematic bicycle model.
    Thus, on dry road (µ = 1), the kinematic bicycle model remains valid as long as the lateral
acceleration of the vehicle respects the constraint given by Equation (4.6). In cases where higher
lateral accelerations are necessary, other models should be used to plan the future trajectory of the
vehicle.
ay ≤ 0.5g (4.6)
                                                     1◦     3◦     5◦
          400
          300
  R (m)
          200
          100
           0
                5   10         15          20         25      30            35         40          45
                                                      V (m/s)
Figure 4.7 – Radius versus speed for different steering angles obtained with the 9DoF model for µ = 0.7 (full
lines), µ = 1 (dotted lines) and with the kinematic bicycle model (dashed lines).
4.2.5 Conclusion
The kinematic bicycle model appears to be a good model for representing the behavior of a vehicle
when the lateral acceleration remains below the criteria defined by Equation (4.7), where g is the
gravity constant and µ the road friction coefficient:
ay ≤ 0.5µg (4.7)
Therefore, it can be used to generate feasible reference trajectories, corresponding to the green
region of Figure 4.9. If the lateral acceleration is not constrained, the model errors can become very
large and might lead to plan trajectories in the black region of Figure 4.9 which are dynamically
unfeasible for a vehicle. Therefore, no controllers will be able to track the reference trajectory,
                                                                                                          71
            CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
                                                  1◦       3◦      5◦
            6
                       ay = 0.9µg
            4
 δth (◦ )
2 ay = 0.5µg
            0
             10      15        20          25            30          35          40      45          50
                                                       V (m/s)
Figure 4.8 – Theoretical kinematic steering angle δt h obtained by applying a steering angle δa on the 9DoF
model with µ = 0.7 (full line), and maximum kinematic steering angle δmax allowed for different maximum
lateral accelerations a y max (triangles).
putting the whole system in jeopardy... Note that the red region in Figure 4.9 is still feasible from a
dynamic point of view but requires low-level controllers able to handle the vehicle at its limits.
   Moreover, the kinematic bicycle model gives some interesting results such as a simple relation
between the speed of the vehicle V and the curvature radius R that can be achieved as shown in
Equation (4.8). This result is obtained by combining Equations (4.4) and (4.7).
                                                       p
                                            V    ≤      0.5µg R                                       (4.8)
Such a results is very useful for trajectory planning as it enables to set a maximal speed Vmax
that depends on the shape of the road and the road conditions. Similarly, as there is a relation
between the curvature radius R and the steering angle δt h for the kinematic bicycle model, the
maximum steering angle δmax allowed in order to respect the lateral acceleration constraint can
be expressed as a function of V and µ, given by Equation (4.9). This result is obtained by combining
Equations (4.3), (4.4) and (4.7).
                                                      lf                0.5µg l r
                                                 µµ         ¶   µ     µ           ¶¶¶
                           δmax (V, µ) = atan            + 1 tan asin                                 (4.9)
                                                      lr                   V2
    Thus, the kinematic bicycle model with the constraint on lateral acceleration represents well
the behavior of a normal vehicle driver. In cases, say an emergency maneuver, where higher lateral
accelerations are expected to push the vehicle near its handling limits, other models or methods
should be considered. Moreover, the comparison between the 9 DoF vehicle model and the kine-
matic bicycle model presented here do not consider the coupling effects between the longitudinal
and lateral dynamics due to the constant speed assumption.
72
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
    • A smart computation by the local velocity planner of a heuristic speed Vheur based on the
      lateral constraint for the kinematic bicycle model, to guide the MPC towards high-speed
      maneuvers.
    • A combination of a 10Hz MPC planner for anticipating new situations, with a high-frequency
      (100Hz) closed-loop low-level controller for a better tracking of the reference trajectory.
    • A validity guarantee of the kinematic bicycle model used in the MPC formulation by con-
      straining the lateral acceleration, generating thus only feasible trajectories to follow for the
      low-level controllers.
                                                                                                     73
       CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
except if the curvature γmax = 1/Rmi n of the path in the next Tpr ev seconds leads to a lateral ac-
celeration a y = γmax V 2 over the authorized limit for a kinematic bicycle model of 0.5µg . Vmax
is defined specifically for straight lines, to ensure that the vehicle is able to come to a full stop if
necessary at the end of the prediction horizon TH of the MPC.
                                              ³p                             ´
                            Vheur = min          0.5µg Rmi n , Vmax , V + ∆V                      (4.10)
Remark 8. The local velocity planner only gives a heuristic velocity for the local MPC trajectory
planner in order to obtain a velocity cost that does not depend to much on the velocity. The goal of
the MPC is not to track it perfectly. Therefore, it does not need to be dynamically feasible.
• Safe: the trajectory is collision-free, i.e. it avoids all the other obstacles;
     The computation is refreshed every 100ms (10Hz) to take into account new information about
the environment, in particular obstacles. The local MPC trajectory planner is based on a kinematic
bicycle model of the vehicle where the lateral acceleration is constrained in order to ensure its va-
lidity at all time. We add Equation (4.11) to the model presented in section 2.4.3, where s is the
74
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
curvilinear abscissa traveled by the vehicle. The control inputs are the total acceleration u 1 of the
vehicle and the steering rate u 2 . These control inputs differ from the one used at the low-level con-
trol, namely the wheel torques and the steering angle, presented in section 4.3.4. In addition, we
add some slack variables obs t ol , x t ol , y t ol , δt ol to the control variables that will be defined below.
ṡ = V (4.11)
   Finally, let Utk = [u 1 , u 2 , obs t ol , x t ol , y t ol , δt ol ] and ξkt = [s, X, Y, V, ψ, δ] denote respectively the
control input and the state of our MPC at time t + k∆t u , predicted at time t , with k = 0..Nu − 1.
Cost function
We set e v = (Vk − Vheur k )k∈[0:N y −1] to be the speed cost; e δ = (δk )k∈[0:N y −1] and ė δ = (δ̇ j ) j ∈[0:Nu −1]
respectively the cost on the steering angle and the steering angle variation; e X t ol = (x t ol j ) j ∈[0:Nu −1]
and e Yt ol = (y t ol j ) j ∈[0:Nu −1] the cost of the slack variables associated respectively with the longitu-
dinal and lateral offset to the reference trajectory; e Obs t ol = (obs t ol j ) j ∈[0:Nu −1] the cost of the slack
variables associated with the obstacle constraints; e δt ol = (δt ol j ) j ∈[0:Nu −1] the cost of the slack vari-
able associated with the validity of the kinematic bicycle model constraint.
                                                                                                  N −1
    We define the following cost function for a control sequence Ūt = [Ut0 , Ut1 , ..., Ut u ] and a state
                                     N y −1
sequence ξ̄t = [ξ0t , ξ1t , ..., ξt           ]:
   J(Ūt , ξ̄t ) = ||e v ||2Qv + ||e δ ||2Q∆ + ||ė δ ||2Q + ||e X t ol ||2Qx + ||e Yt ol ||2Qy + ||e Obs t ol ||2Qobs + ||e δt ol ||2Qδ           (4.12)
                                                             δ̇                                                                            t ol
                                              qv     q∆      q δ̇        qx   qy      q obs      q δt ol
                                              4      10      0.2         5    5       100        100
Table 4.1 – Parameters of the cost function of the local MPC planner.
Constraints
First, we constraint the state ξ0t to be equal to the initial state ξ0 (t ) of the vehicle at time t (Equa-
tion (4.15a)). Then, Equation (4.15b) describes that the trajectories should respect the kinematic
bicycle model described in Equations (2.43) and (4.11). The actuators are limited respectively to
u 1 ∈ [a mi n ; a max ] and u 2 ∈ [u 2mi n ; u 2max ] (Equations (4.15c) and (4.15d)). The road limits are en-
coded through a soft constraint: the longitudinal and lateral deviations from the reference path,
respectively x er r and y er r , have to remain below a certain tolerance margin x t ol and y t ol (Equa-
tions (4.15e) and (4.15f)). The longitudinal and lateral deviations x er r and y er r are given by Equa-
tions (4.13a) and (4.13b) where (X i , Yi ) is the closest point on the reference path to the vehicle.
Then, for each obstacle, we have an inequality constraint given by Equation (4.15g) which forbids
the vehicle to enter the parabola p o defined in section 4.3.2; h is a function of both the position
(X, Y) of the vehicle and the parabola p o defined around obstacle o. The vehicle is not located
inside p o if and only if h(X, Y, p o ) ≤ 0.
    At last, to ensure the validity of the kinematic bicycle model, we constraint the lateral acceler-
ation a y to remain below 0.5µg . More precisely, using Equation (4.14), we obtain the maximum
                                                                                                                                                      75
       CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
authorized steering angle for a given speed V (δub corresponds to the maximal steering angle phys-
ically possible). Instead of constraining directly the steering angle | δ |≤ δmax , a slack variable δt ol
is used (see Equation (4.15h)).
Remark 9. For better computational efficiency, Equation (4.14) is computed for V = Vi ni t , where
Vi ni t is the speed of the vehicle at the time of replanning: thus constraint (4.15h) becomes simple to
implement (linear constraint) and also more robust. Indeed, choosing V = Vi ni t corresponds to the
most critical case as if there is an obstacle, the vehicle will normally reduce its speed.
                                                           lf                0.5µg l r
                                             µ        µµ          ¶  µ     µ           ¶¶¶       ¶
                   δmax (V) = min atan                        + 1 tan asin                 , δub             (4.14)
                                                           lr                   V2
                                             ξ0t       =         ξ0 (t )                                    (4.15a)
                                             ξ̇kt      =         f   (ξkt , Utk )    for each k             (4.15b)
                                         a mi n     ≤ u 1k   ≤   a max               for each k             (4.15c)
                                       u 2mi n      ≤ u 2k   ≤ u 2max                for each k             (4.15d)
                                           k
                                        |x er r|       ≤         x tkol             for each k              (4.15e)
                                            k
                                        |y er r|       ≤         y tkol             for each k              (4.15f)
                              h(X k , Y k , p o )      ≤         obs tkol           for each o              (4.15g)
                                              k
                              −δmax + |δ |             ≤         δktol              for each k              (4.15h)
Table 4.2 – Parameters of the actuator constraints of the local MPC planner.
Numerical resolution
The numerical optimization was done using ACADO Toolkit. The working principle of the resolu-
tion algorithm can be found in [Houska et al., 2011a]. The general parameters of the MPC formu-
lation are given in Table 4.3.
                        f         10Hz                 frequency
                        TH        3s                   prediction horizon
                        ∆t u      0.2s                 control discretization time step
                        Nu        TH /∆t u + 1         control prediction horizon
                        Ny        TH /∆t u = 1         state prediction horizon
76
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
     In the planning and control architecture presented in this section, we want to prove that the
trajectory obtained with the local MPC planner produces feasible trajectories that is easy to track
for low-level controllers. Therefore, we used very simple ones. In order to be robust to modeling
errors, they are computed at high-frequency (100Hz). Longitudinal and lateral control problems
are treated separately.
     For the longitudinal controller, a simple PID controller [Astrom and Hagglund, 1995] which
takes into account the error between the reference speed V r given by the local MPC planner and
the actual speed V of the vehicle, was implemented. More details will be given in chapter 5. V r is
more precisely a linear interpolation of the reference speed output given by the MPC planner. If
e = V − V r , then the control law is given by Equation (4.16), where K Pv , K Dv and K Iv are the gains of
the controller.
                                                                      Z t
                             u(t ) = −K Pv e(t ) − K Dv ė(t ) − K Iv     e(τ)d τ                    (4.16)
                                                                     0
More precisely, the braking gains are different from the acceleration ones (multiplication by a dif-
ferent factor λ f ). This control value is then dispatched equally on each of the four wheels of the
vehicle in case of braking (u < 0), and each of the two front wheels in case of acceleration (u ≥ 0).
    For the lateral controller, the steering angle applied δ is composed of an open-loop part δ f f
(for feedforward) and a closed-loop part δ f b (for feedback). The open-loop steering angle δ f f is
computed by integrating the first value of the control obtained by the MPC planner, which cor-
responds to the steering rate. This value is only refreshed once every 100ms. The closed-loop
steering angle δ f b is a simple PID controller applied on the yaw angle error, projected one MPC
time step ahead. It is computed every 10ms and uses as reference value for the yaw angle a linear
interpolation of the one computed by the MPC planner. The gains are denoted K Pψ , K Iψ and K Dψ .
    All the gains used for the longitudinal and lateral PID controllers are given in Table 4.4
               K Pv      K Iv       K Dv      λ f (u ≥ 0)   λ f (u < 0)   K Pψ    K Iψ       K Dψ
              0.5λ f   0.01λ f    0.005λ f       1500          5000        2     0.005       0.01
First, we tested our planning and control architecture on the reference track without obstacles in
order to show its capacity to adapt the speed accordingly to the situation. The results are shown
in Figure 4.13 where the green lines represent the trajectory planned by the local MPC planner
and the blue dots represent the actual trajectory followed by the vehicle. Figure 4.14 compares the
heuristic speed Vheur computed by the local velocity planner (section 4.3.1), the target speed V r
computed by the MPC planner (section 4.3.3) and the actual speed V of the vehicle (sesction 4.3.4).
We observe that before entering a curve, the heuristic speed computed by the local velocity plan-
ner reduces severely in order not to exceed 0.5g for the lateral acceleration. As there are no obsta-
cles, the speed V r of the MPC planner is guided by this heuristic, while the longitudinal low-level
                                                                                                        77
      CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
              40 4
                                                         3
              20                                                                                          2
                                                                       Direction
                                      7
               0
     Y (m)
                                                                                   1
             −20
                                                                   Start
             −40             5
−60 6
             −80
                   −160−140−120−100 −80 −60 −40 −20                 0         20       40   60       80       100
                                            X (m)
Figure 4.12 – Reference track. The obstacles are in red. The numbers indicate different road sections to
facilitate the matching with Figures 4.14 and 4.17.
controller tracks sufficiently well this reference speed in curves to avoid skipping and skidding as
shown in Figures 4.15 and 4.16. The low-level control inputs are shown in Figure 4.17a and 4.18
(in blue). The absolute value of the lateral error to the reference path given at entry of our system
does not exceed 0.4m as shown in Figure 4.19; the computational time of the MPC remains always
below 100ms as shown in Figure 4.20. Moreover, we observe in Figure 4.17a that δ f b is important
due to the slow refresh time of the MPC: using only δ f f , the architecture does not work as the
controller does not follow the reference trajectory planned by the local MPC planner.
50
                         0
               Y (m)
−50
In a second step, we tested our planning and control architecture on the reference track with static
obstacles in order to show the capacity of the motion planner to still plan safe and feasible refer-
ence trajectories. The trajectory obtained is shown in Figure 4.21. The low-level control inputs are
shown in Figure 4.17b and 4.18 (in red). The different speeds are shown in Figure 4.22: this time V r
does not follow Vheur when there is an obstacke. As expected, the vehicle does almost not slip or
78
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
Vheur Vr V
                      20
                                   1           2            3                        4             5               6                  7                 1        2
   speed (m/s)
15
10
                      5
                           0           5           10        15      20       25         30      35    40             45        50    55           60       65           70
                                                                                              time (s)
Figure 4.14 – Comparison between Vheur (red), V r (green) and V (blue), in the case of no obstacles.
                                                                                         fl        fr        rl        rr
                       0.1
   Slip ratio (-)
                         0
                      −0.1
                      −0.2
                      −0.3
                               0           50          100        150     200      250        300 350             400       450      500       550      600          650
                                                                                                 s (m)
Figure 4.15 – Longitudinal slip ratio at each wheel in the case of no obstacles.
                                                                                         fl        fr        rl        rr
                       0.2
   Slip angle (rad)
                       0.1
                           0
                      −0.1
                               0           50          100        150     200      250        300 350             400       450      500       550      600          650
                                                                                                 s (m)
Figure 4.16 – Lateral slip angle at each wheel in the case of no obstacles.
                                                                                                   (a)                                         δ        δol
 steering (rad)
                0.4
                                   1                                 3                                  5                             7                 1
                0.2
                  0
               −0.2                                2                                 4                                6                                              2
                               0           5           10       15       20     25       30          35 40             45       50        55       60       65           70
                                                                                                  time (s)
                                                                                                     (b)
 steering (rad)
                0.4
                                   1                                     3                                   5                                 7                 1
                0.2
                  0
               −0.2                                2                                          4                             6
                               0           5           10       15       20     25       30          35 40             45       50        55       60       65           70
                                                                                                  time (s)
Figure 4.17 – Total steering angle δ (blue) and closed-loop steering angle δ f b (green): (a) without obstacles;
(b) with obstacles.
                                                                                                                                                                              79
                  CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
                        500
 Torque (Nm)
−500
                  −1,000
                                0        50   100    150    200     250    300 350        400    450    500   550     600   650
                                                                             s (m)
Figure 4.18 – Wheel torque applied on the front left wheel: without obstacles (blue); with obstacles (red).
                  0.4
 | ỹ | (m)
0.2
                   0
                        0           50    100    150     200      250     300 350       400     450    500    550     600   650
                                                                             s (m)
Figure 4.19 – Absolute value of the lateral error in the case of no obstacles.
                  80
                  60
                  40
                  20
                    0
                        0                10         20            30          40          50           60        70          80
                                                                           time (s)
Figure 4.20 – Computational time in the case of no obstacle (blue) and with obstacles (red).
80
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
skid thanks to the constraint on lateral acceleration (see Figures 4.23 and 4.24) except at the first
obstacle (s ≈ 40m) due to the initial speed Vx0 which was too high. The computational time of the
MPC remains below 100ms (see Figure 4.20).
                                      50
                                               4                                3
                                                                                              Direction                      2
                                                                 7
                                          0
                             Y (m)
                                                                                                          1
                                                                                             Start
                                                        5
                                     −50
                                                                            6
Vheur Vr V
                20       1            2                                 4                5                6              7              1
  speed (m/s)
15
                10
                                                            3
                 5
                     0          5         10       15   20       25    30      35    40            45         50    55       60    65       70
                                                                            time (s)
Figure 4.22 – Comparison between Vheur (red), V r (green) and V (blue), in the case of obstacles.
4.3.6 Conclusion
Our planning and control architecture for autonomous vehicle enables under normal driving con-
ditions to guarantee the consistency between the motion planning and the control layers by en-
suring the validity of the kinematic bicycle model used for planning at any time. This guarantee
is obtained using a dynamic constraint on the maximal authorized steering angle. Therefore, only
feasible trajectories will be generated as the lateral acceleration remains below 0.5g . This is done
at almost no additional computational cost compared to motion planners already using the kine-
matic bicycle model. The low-level controller enables the architecture to be robust to disturbances
and modeling errors. Moreover, this architecture is also less conservative as it is guided toward
the highest speed that keeps the architecture safe thanks to the computation of a heuristic speed
based only on the road geometry.
    The proposed architecture is able to cope with most normal driving situations and also guar-
antees that lateral controllers based on the kinematic bicycle model are able to follow any of the
output reference trajectories. However, in some situations such as emergency maneuvers, the
constraint on lateral acceleration might be too harsh. This require to switch to a more complex
model at the planning and control level where dynamic effects are taken into account.
                                                                                                                                                 81
                    CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
                                                                  fl      fr     rl         rr
                       0
 Slip ratio (-)
−0.5
                     −1
                           0    50    100     150    200    250        300 350        400        450   500   550   600   650
                                                                          s (m)
Figure 4.23 – Longitudinal slip ratio at each wheel in the case of obstacles.
                                                                  fl      fr     rl         rr
                     0.2
 Slip angle (rad)
                     0.1
                       0
                    −0.1
                    −0.2
                           0    50    100     150    200    250        300 350        400        450   500   550   600   650
                                                                          s (m)
Figure 4.24 – Lateral slip angle at each wheel in the case of obstacles.
    In the next section, we are going to adapt this architecture to low friction coefficient roads such
as wet and snow-covered roads.
In section 4.2, we showed that the kinematic bicycle model remained valid on a road with friction
coefficient µ if the lateral acceleration of the vehicle remained below 0.5µg where g is the gravita-
tional constant. Moreover the modeling errors become large if this constraint is not respected. The
constraint on the lateral acceleration can be translated to a constraint on the maximum steering
angle δmax depending on the speed and given by Equation (4.14), with | δ |≤ δmax . This constraint
is linear by taking into account Remark 9.
The acceleration u 1 that can be reached by the vehicle depends strongly on the road friction co-
efficient µ. Therefore, the maximum acceleration a max and deceleration a mi n authorized have to
be modeled as functions of µ.
    The longitudinal and lateral tire forces Fxp and F y p expressed in the pneumatic frame can be
expressed as following, using an approximation of the Pacejka tire model [Pacejka, 2002]:
where
82
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
τx and α are respectively the longitudinal slip ratio and the lateral slip angle of the wheel, Fz the
normal reaction force, and Bx , Cx , E x , B y , C y and E y tire parameters of the Pacejka model.
     The frame change between the pneumatic frame and the vehicle frame is given Equation (4.18)
for the front wheels.
where
The dynamic equations for the vehicle when neglecting the aerodynamic drag forces are:
                                                4
                                                X                              4
                                                                               X
                                    MT a x =          Fx i    ; MT a y =              Fyi           (4.19)
                                               i =1                            i =1
    In our MPC, we set a max (µ = 1) = +6m/s2 and a mi n (µ = 1) = −8m/s2 . Thus, the total accelera-
tion u 1 of the vehicle has to respect the following linear constraint:
µa mi n (µ = 1) ≤ u 1 ≤ µa max (µ = 1) (4.21)
    Moreover, in order to avoid unnecessary variations of the speed profile, a small cost penalty on
the acceleration, u 1T q ac u 1 with q ac = 1, was added to the MPC cost function (see section 4.3.3).
Finally, the local velocity planner presented in section 4.3.1 also needs to be adapted. First, it
is important to take into account the road friction coefficient µ in Equation (4.10). Secondly, as
the time horizon TH of the local MPC planner is constant, it is necessary for safety reasons that
TH ≥ Tst op , where Tst op is the time necessary for the vehicle to come to a full stop; as Tst op depends
on the actual speed of the vehicle V and on the friction coefficient µ, the speed limit Vmax should
be chosen such that if the vehicle runs at that speed, TH = Tst op . Thus, Vmax depends both on TH
and on µ. Letting d br be the braking distance, we have in that case:
                                                              2
                                                             Vmax
                                       d br    = −                                                 (4.22a)
                                                         2µa mi n
                                                                               2
                                                                      µa mi n TH
                                       d br    = Vmax TH −                                         (4.22b)
                                                                           2
Thus, the expression of the maximal speed is:
Therefore, the choice of TH is a trade-off between the computational time and the maximum speed
Vmax allowed; however, in practice, TH is limited by the perception range. Constraint (4.23) is very
important in the case of low µ as the braking distance is much larger than for situations with a
road coefficient close to 1.
Remark 10. As the vehicle does not need to come to a full stop in our simulations, we were able to
relax a little Equation (4.23). We set Vmax = 1.2 − µTH a mi n .
                                                                                                       83
      CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
     Moreover, it is important that Tpr ev ≥ TH where Tpr ev is the preview horizon of the local veloc-
ity planner (see section 4.3.1), in order to take into account the coming maximum curvature γmax
of the reference path during the MPC planning horizon. Choosing Tpr ev > TH enables to better
anticipate the shape of the reference path; in particular, unlike TH , Tpr ev is not limited by the per-
ception range of the sensors, as it only depends on the road profile of the ego-lane which can be
stored in High-Definition maps.
First, we tested our proposed planning and control architecture on wet roads3 , which corresponds
to µ = 0.7 [Persson et al., 2005]. We observe that the architecture is able to avoid the obstacles
while following the reference path. The different speeds mentioned earlier are shown in Fig-
ure 4.25a: we observe that on the one hand, the heuristic speed Vheur (red) computed by the local
velocity planner guides the reference speed V r set by the MPC (green), and that on the other hand,
the use of a longitudinal PID low-level controller is satisfying as the actual speed of the vehicle
V (blue) is close to its reference (green). As expected, the vehicle is accelerating on the straight
portions and decelerates as soon as the local velocity planner detects a coming curve. The speed
in the curve depends on its curvature radius. Simulations were performed with Vmax = 18m/s
(TH = 3s). Note that the minimum curvature radius Rmi n in Equation (4.10) is chosen among a
discrete number of computed curvature radius R, which explains the small rapid increase in Vheur
in Figure 4.25. The steering angle input is shown on Figure 4.26a. It is rather smooth, showing
that our controller does not compensate for modeling errors: this shows the consistency of our
architecture. The slip ratios and slip angles remain low as shown in Figure 4.27, even though the
reference track is challenging: the slip ratio remains bounded between [−6%; +5%], except the
rear-left wheel (yellow) which reaches −10%. However, these values still corresponds to the lin-
ear part of the tire dynamics. Similarly, the slip angle remains in the bounds [−0.1; +0.1]rad which
also corresponds to the linear part of the tire dynamics, except for the front-right wheel (red) when
avoiding the second obstacle in road section n◦ 3 and in the curve corresponding to road section
n◦ 1.
The architecture was then tested on a snow-covered road4 , which corresponds to a friction coef-
ficient of µ = 0.2 [Waluś and Olszewski, 2011]. Again, we observe that the vehicle is able to follow
the reference path while avoiding the red obstacles. On Figure 4.25b, we observe that the heuris-
tic speed (red) computed by the local velocity planner limits the speed of the vehicle to ensure
its safety. Simulations were performed choosing Vmax = 6m/s (TH = 3s). As expected, the vehi-
cle is much slower on snow: it takes about 138s to perform a full round of the track on icy road
while it only took 75s on wet roads. In particular, the speed in the curves is lower than in the
previous case: this is due to the lateral acceleration condition in the local velocity planner which
depends on µ. The slip ratio is displayed in Figure 4.28: it remains bounded for all wheels between
[−1.5%; +1.5%], which is small, especially for driving in the snow. The slip angles remain also very
low (less than 0.06rad for all wheels), except for the two front wheels when avoiding obstacles were
  3 video available at https://youtu.be/6LFNhpcmssY
  4 video available at https://youtu.be/qUT5sFY_RE4
84
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
                                                                         (a)                          Vheur   Vr    V
speed (m/s)
                 15                                                     6
                 10
                  5 1     2            3              4         5                 7         1     2           3
                  0
                    0    100        200        300            400       500       600       700        800    900   1,000
                                                                        s (m)
                                                                         (b)
                 8
     speed (m/s)
                 6                                                      6
                 4
                 2 1      2            3              4         5                 7         1     2           3
                 0
                   0     100        200        300            400       500       600       700        800    900   1,000
                                                                        s (m)
Figure 4.25 – Heuristic speed (red), reference speed computed by the MPC (green) and actual speed of the
vehicle (blue) for (a) wet roads (µ = 0.7) and (b) icy roads (µ = 0.2).
                                                                            (a)
              0.4
steering (rad)
              0.2
                0
             −0.2 1           2            3              4         5       6     7         1     2           3
             −0.4
                  0           100     200       300            400          500       600   700        800    900   1,000
                                                                         s (m)
                                                                          (b)
steering (rad)
              0.4
              0.2
                0
             −0.2
             −0.4 1           2            3              4         5       6     7         1     2           3
                  0           100     200       300            400          500       600   700        800    900   1,000
                                                                         s (m)
Figure 4.26 – Steering angle inputs: (a) on wet road (µ = 0.7) and (b) on icy road (µ = 0.2).
                                                                                                                        85
                           CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
                                                                                       fl         fr       rl   rr
   slip ratio (%)                                               (a)
                     5
                     0
                    −5 1          2        3         4     5   6       7      1       2                3
                   −10
                       0          100    200   300       400   500     600     700          800        900      1,000
                                                               s (m)
                                                                (b)
slip angle (rad)
                0.2
                0.1                                            6
                  0
               −0.1 1             2        3         4     5           7       1      2                3
               −0.2
                    0             100    200   300       400   500     600     700          800        900      1,000
                                                               s (m)
Figure 4.27 – Slip ratios (a) and slip angles (b) at each wheel on wet road (µ = 0.7): front-left (blue), front-
right (red), rear-left (yellow) and rear-right (green).
                                                                                       fl         fr       rl   rr
                                                                (a)
          slip ratio (%)
                        4
                        2
                        0
                       −2 1       2        3         4     5   6       7      1       2                3
                       −4
                          0       100    200   300       400   500     600     700          800        900      1,000
                                                               s (m)
                                                                (b)
slip angle (rad)
                0.2                                            6
                  0
               −0.2                        3               5                                           3
               −0.4 1             2                  4                 7       1      2
                    0             100    200   300       400   500     600     700          800        900      1,000
                                                               s (m)
Figure 4.28 – Slip ratios (a) and slip angles (b) at each wheel on icy road (µ = 0.2): front-left (blue), front-right
(red), rear-left (yellow) and rear-right (green).
they can reach up to ±0.3rad. The steering angle input is displayed in Figure 4.26b: again, we ob-
serve that the control is smooth. We notice that the steering angle in the curves is almost the same
on the wet and snow-covered roads: this illustrates the validity of the kinematic bicycle model as
we mentioned in Equation (4.3) that the steering angle depends only on the curvature radius of
the path, not the speed or the friction coefficient.
    Note that removing one of the three conditions described in section 4.4.1 leads to a failure
of the architecture, usually during the sharp curves. Thus, these conditions that were derived to
obtain a consistent motion planning and control architecture are actually necessary in order to
work on slippery roads.
     The tuning of the PID parameters and the weights of the MPC cost function remained the
same as in the dry road simulations (µ = 1) showing the consistency of our planning and control
architecture: on the one hand, by ensuring the validity of the model used for motion planning in all
situations, there is no need to adapt the controller anymore; on the other hand, the introduction of
the local velocity planner depending on the road characteristics enables to keep the same weight
for the speed cost in the local MPC planner. Thus, implementation on a vehicle is easen.
86
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
4.5 Conclusion
The kinematic bicycle model appears thus to be a good compromise between model accuracy and
computational efficiency for planning safe trajectories. However, it is important to guarantee its
validity at all time by limiting the lateral acceleration of the vehicle, or equivalently, by limiting
the steering angle by a function of speed. The more knowledge we set at the motion planning
level, the easier it is to ensure the safety of the vehicle, in particular as the controllers are blind
to obstacles. Such a motion planner based on the kinematic bicycle model should be used in a
hierarchical motion planning and control architecture as bigger time steps can be chosen in the
MPC formulation, thus improving the efficiency and increasing the prediction horizon. Moreover,
separating the motion planning from the controllers improves the robustness to disturbances as
the low-level controllers can act at high-frequency. However, the control sequence computed by
the motion planner can still be used as a feedforward term for the low-level controller.
    One of the main assets of the architecture proposed in this chapter is that there is no need to
adapt the gains or weight to the situation, neither for the motion planner, nor for the controllers.
Moreover, this architecture turns out to be not too conservative while ensuring the safety of the
vehicle at all time.
    However, several limits to our approach can be found. First, we assumed that the friction co-
efficient µ of the road is known in advance and does not vary. This is a very restrictive assumption
and some future works should focus on how to adapt this architecture in real-time for varying µ.
Moreover, it has not been tested on an actual vehicle so far. Finally, in the motion planner MPC
formulation, the kinematic bicycle model is a non-linear constraint and the search space is not
convex. Therefore, the resolution might end up in some local minima which could violate some
safety constraints. One way to reduce this problem is to solve the MPC formulation on subprob-
lems corresponding to each homotopy class associated to a driving decision (ex: overtake right,
overtake left, stay behind,...) in order not to hit the obstacles [Bender et al., 2015]. The homotopy
class was implicitly given here by the parabola as the vehicle can only overtake on one side of the
obstacle. This method is well suited for a single lane country road as it is only possible to overtake
a vehicle on one side. Reinforcement learning or supervised deep learning approaches could also
be used to choose the best class of homotopy and provide an initial guess to the MPC solution.
    Ensuring model validity can be extended to other models and motion planning techniques: for
example for RRT using Dubins’path, the maximal curvature should be chosen as a function of the
speed to guarantee that the lateral acceleration remains below 0.5µg . Similarly, it is possible to use
a unicycle model, which is a kinematic bicycle model expressed at the center of the rear axle, and
ensure its validity. However, as the control input is no longer the steering angle δ but the yaw rate,
the steering angle constraint should be adapted as done in Equation (4.24) to ensure the dynamic
feasibility of the reference trajectory obtained. Moreover, this provides a reference trajectory for
the rear-wheel which is often used for low-level controllers as we will see in chapter 5.
                                           ¯ψ̇¯ ≤
                                           ¯ ¯       0.5µg
                                                                                                (4.24)
                                                       V
Moreover, it would be interesting to investigate the application of machine learning techniques for
learning the vehicle dynamics in order to generate feasible and safe trajectories. Some preliminary
work have been done in [Devineau et al., 2018] for coupled longitudinal and lateral controllers but
can be extended to motion planners.
                                                                                                    87
     CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL
88
       Part III
Low-level Controllers
          89
Chapter 5
Contents
      5.1 Longitudinal control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
           5.1.1 Example 1: longitudinal controller based on a dynamic model . . . . . . . .               93
           5.1.2 Example 2: longitudinal PI controller . . . . . . . . . . . . . . . . . . . . . . .       93
      5.2 Review of lateral controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
           5.2.1 Proportional-Integral-Derivative (PID) . . . . . . . . . . . . . . . . . . . . . .        95
           5.2.2 Pure-pursuit (PP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   97
           5.2.3 Stanley controller (SC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   98
           5.2.4 Non-linear controller using chained form transform on the kinematic bi-
                 cycle model (KBCF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    98
           5.2.5 Linearized dynamic bicycle model controller (LDBM) . . . . . . . . . . . . . 100
      5.3 Implementation and comparison of the lateral controllers . . . . . . . . . . . . . 102
           5.3.1 Computation of the lateral and heading angle errors . . . . . . . . . . . . . . 102
           5.3.2 Experimental set-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
           5.3.3 Implementation and tuning of the controllers . . . . . . . . . . . . . . . . . . 107
           5.3.4 Comparison of lateral controllers . . . . . . . . . . . . . . . . . . . . . . . . . 108
           5.3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
      5.4 Coupled longitudinal and lateral control . . . . . . . . . . . . . . . . . . . . . . . . 115
                                                      91
                                      CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
     In the previous chapter, we have presented how to compute a dynamically feasible reference
trajectory for the vehicle. Such a trajectory corresponds to the intention of the vehicle, i.e. the plan
it intends to follow in the next few seconds. However, in order to ensure the safety of the vehicle,
this trajectory must be executed as accurately as possible. This is the role of low-level controllers
which translate the reference trajectory into actions to perform on the actuators, namely the gas
pedal, the brake pedal and the steering wheel. The more robust and more accurate the controllers
are, the better the action realized by the vehicle matches its intention. In fact, it is highly critical
regarding the safety of the vehicle as at the low-level control, obstacles are usually not considered
anymore due to the level of abstraction.
      In the literature, controllers are often split between longitudinal controllers which track a given
reference speed or acceleration profile, and lateral controllers which track a given reference path
(X i , Yi )i ∈1,n . This decoupling of the longitudinal and lateral dynamics is in most situations a fair
assumption: usually, drivers either accelerate/decelerate the vehicle or turn the steering wheel,
but rarely do both at the same time (or at least, one of the actions is performed with parcimony).
However, in some cases such as aggressive driving or emergency scenarios for obstacle avoidance,
the coupling between longitudinal and lateral dynamics can not be neglected anymore. One of
the main reason is that the tire forces reach the limits of the friction circle described in section 2.2.
Therefore, some coupled controllers have been introduced in the literature that deals with the lon-
gitudinal and lateral dynamics at the same time.
     Thus, the aim of this chapter is to make a (non-exhaustive) review of commonly used longi-
tudinal and lateral controllers, as well as coupled ones. A special focus is made on lateral control,
which is a harder problem than longitudinal control. In particular, we want to be able to predict
if a given lateral controller will be able to track a given reference trajectory. Therefore, a compari-
son between controllers is made on an actual vehicle both in terms of accuracy, smoothness and
requirements on the reference trajectory.
    The rest of this chapter is organized as following: section 5.1 presents shortly the principle of
longitudinal control and provides two examples. Section 5.2 deals with commonly used lateral
controllers and their operational limits. In section 5.3, some of the lateral controllers are imple-
mented on an actual vehicle and their performances compared. Finally, section 5.4 presents some
controllers dealing simultaneously with the longitudinal and lateral dynamics. Note that more
references on longitudinal and lateral controllers can be found in the literature, see for example
[Khodayari et al., 2010] which presents a brief historical review of those developed from 1990 to
2010.
Two different levels of control can be considered for the longitudinal dynamics: a high-level con-
troller that defines a desired reference speed or acceleration depending on the other traffic partic-
ipants and/or the road geometry, and a low-level controller that tracks a given reference speed by
computing the torques required at the wheels. Examples of high-level controllers comprise Adap-
tive Cruise Control (ACC) and Stop-and-Go algorithms which can be found in [Swaroop et al., 2001,
Martinez and Canudas-de Wit, 2007, Liang and Peng, 1999]. As we assume that the reference speed
will be set by the motion planner, only the low-level controllers are considered in this thesis.
    Several techniques exist in the literature for low-level longitudinal control. We will give here
two examples: a controller based on a dynamic model of the vehicle and a conventional PI con-
troller.
92
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
Let’s define Tωi as the total torque applied on wheel i , i.e. the difference between the motor and
the brake torques: Tωi = Tmi − Tbi . Set Tt ot = 4i =1 Tωi to be the total wheel torque applied on the
                                                  P
vehicle and ẍ r e f the reference acceleration. Assuming that the front steering angle δ f is small, we
get Fxpi ≈ Fxi . Thus:
                                                                      1      4
                                                                                    (Tωi − Ir ω̇i )
                                                                             X
                                  MT ẍ r e f + Faer o      =                                                         (5.1c)
                                                                    re f f   i =1
    Non-linear Lyapunov-based controllers can then be derived from there as in [Attia et al., 2012b]
in other to ensure the stability. More precisely, let’s define V : e → 12 e 2 where e = ẋ r e f −ẋ is the speed
tracking error.
    If V̇ ≤ −kV, V is a Lyapunov function:
     • V(e) −→ +∞
            e→+∞
as
                                        Ã             Ã                                       !!
                                                    1    1                  4
                                                                               ω̇i ) − Faer o
                                                                          X
                          V̇    = e ẍ r e f     −            (Tt ot − Ir                                             (5.2b)
                                                   MT r e f f             i =1
                                = −ke 2                                                                               (5.2c)
                                  −ke 2
                                ≤       = −kV                                                                         (5.2d)
                                   2
A PI controller was implemented for example on Stanley, the vehicle that won the Grand Darpa
Challenge in 2005 [Thrun et al., 2006].
                                                                                                                         93
                                      CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
Remark 11. It is important to implement an anti-windup as shown on Figure 5.1 on the integral
term to avoid that the integral error blows up during saturation of the actuator.
    The effectiveness of a PI controller can be illustrated as following. Suppose that the angular
velocity of each wheel is approximately constant, i.e. ω̇i ≈ 0 for i = 1..4. Then the equation of the
wheel dynamics given by Equation (5.1b) becomes:
                                                               4
                                                               X
                                         Tt ot     ≈ re f f          Fxpi                        (5.4a)
                                                              i =1
Thus the longitudinal forces are proportional to the control Tt ot . Neglecting the aerodynamic drag
forces, and defining K 0P = rKe fPf and K 0I = rKe fIf , Equation (5.1a) becomes:
                                                    Tt ot
                                     MT v̇    =                                                  (5.4b)
                                                    re f f
                                                                            Z    t
                             MT (ė v + v̇ r ) =    −K 0P e v (t ) − K 0I            e v (τ)dτ   (5.4c)
                                                                                t0
Therefore, in regulation i.e. when v̇ r = 0, the velocity error e v converges to 0. However, perfor-
mances in tracking of a PI controller is limited: thus, if the reference speed profile is highly dy-
namic and varies constantly, the performance might be unsatisfactory. The integral terms enables
to cancel the perturbations caused by the aerodynamic drag forces.
• Fuzzy logic [Hessburg and Tomizuka, 1994, Zalila et al., 1998, Wang et al., 2015];
• Sliding mode control [Hingwe and Tomizuka, 1997, Zhao et al., 2007, Talj et al., 2013];
94
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
     Some works have compared different approaches such as [Chaib et al., 2004] which compares
H∞ , adaptive, PID and fuzzy logic lateral controllers. However, making a full review of all the con-
tributions to lateral control would be tedious, time-consuming and moreover not very relevant.
Instead, we chose to make a comparative study limited to five types of lateral controllers that have
been applied successfully on actual vehicles and are implemented in practice. These controllers
are : (i) the Proportional-Integral-Derivative (PID), (ii) the Stanley controller (SC), (iii) the pure-
pursuit (PP), (iv) a non-linear controller based on the kinematic bicycle model using chained form
transform (KBCF), and (v) a controller based on a linearized dynamic bicycle model (LDBM).
     While the PID and Stanley controllers can be considered as model-free controllers as their con-
trol laws are not directly derived from a vehicle model, both the PP, the KBCF and the LDBM are
model-based. More precisely, the two first are based on the kinematic bicycle model presented in
section 2.4.3, and the latter has been derived from the dynamic bicycle model (see section 2.1.1)
using a linear tire model (see section 2.2.2). Model-based controllers require some basic knowl-
edge about the vehicle such as for example the distance between the center of gravity and the
center of the front axle l f (resp. rear axle l r ).
     These different controllers have already been compared in simulation on three different tracks,
namely a lane change, a eight-shaped and a road course [Snider, 2009]. However, no dynamic lim-
itations were derived in order to ensure their ability to track a given reference trajectory. Such a re-
sult is important for ensuring the consistency between the motion planning and the control layer.
Imagine that the reference trajectory generated by the motion planner is dynamically challenging:
it might be that a given lateral controller would not be able to perform well in such a situation
because it has been derived assuming low slip angles for example. Therefore, we will present in
the rest of this section the five controllers aforementioned, understand what are the underlying
assumptions behind each one and define their operational range.
Remark 12. All the control techniques presented in the rest of this section are defined by assimilating
the vehicle to a bicycle model: the two front wheels (resp. the two rear wheels) of the vehicle are
lumped into a unique wheel located at the center of the front axle (resp. of the rear axle) such as
illustrated in Figure 5.2. Moreover, we assume that only the front wheel can be steered.
Figure 5.2 – The bicycle model: the two front (resp. rear) wheels (in grey) are lumped into a unique wheel
(in black).
                                                                                                            95
                                       CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
then in the literature (see for example [Astrom and Hagglund, 1995]). The principle of a PID con-
troller is the following; the tracking error e = y − y r , defined as the difference between the system
output y and the reference output y r , is corrected by applying a control u that is composed of three
terms as shown in Equation (5.5): one proportional to the error e, one proportional to the deriva-
tive of the error ė, and one proportional to the cumulative sum of the error which corresponds to
             R
its integral e.
                                                                       Z       t
                              u(t ) = −K P e(t ) − K D ė(t ) − K I                e(τ)d τ                     (5.5)
                                                                           0
    For lateral control application, the error e can either be the lateral error ỹ = y − y r , i.e. the
distance between the vehicle and the reference trajectory, or the heading angle error ψ̃ = ψ − ψr .
The lateral and heading angle errors are usually computed either at the center of the rear axle, at
the center of gravity G of the vehicle or at a point P located at a preview distance LP ahead of the
vehicle as shown on Figure 5.3. In the third case, the stability of the system is improved as the
vehicle anticipates the curvature of the reference trajectory, especially during cornering. Lateral
PID controllers often comprise a PID on the lateral error ỹ = y − y r given by Equation (5.6a) and
on the heading angle error ψ̃ = ψ − ψr given by Equation (5.6b), which lead to Equation (5.6c).
In [Sharp et al., 2000] for example, the final control law is a ponderation of PID controllers on the
lateral errors located at different preview distances.
                                                                            Z          t
                           δ y (t ) = −K Py ỹ(t ) − K D y ỹ˙(t ) − K Iy                  ỹ(τ)d τ           (5.6a)
                                                                                   0
                                                                                   Z           t
                                                          ˙ (t ) − K I
                           δψ (t ) = −K Pψ ψ̃(t ) − K Dψ ψ̃                                        ψ̃(τ)d τ   (5.6b)
                                                                      ψ
                                                                                           0
                         δPID (t ) = δ y (t ) + δψ (t )                                                       (5.6c)
Table 5.1 – Influence of the gains of a PID controller on the behavior of the closed-loop system.
     The gains of a PID controller, namely the proportional K P , the integral K I and the derivative
K D , all play a different role in terms of stability, accuracy and time response of the closed-loop
system as illustrated in Table 5.1. Therefore, tuning correctly a lateral PID controller is complex
and time consuming. Due to the coupling with longitudinal control, conventional techniques
such as the Ziegler-Nichols method [Ziegler and Nichols, 1993] cannot be used. In particular, the
tuning of the gains depends strongly on the speed of the vehicle: the faster the vehicle is, the
96
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
smaller the gains should be in order to avoid oscillations and even instability (see for example
[Menhour et al., 2011b]). Moreover for the same reason mentioned in section 5.1.2, the PID con-
troller is efficient for regulation but not for tracking.
where α is the angle between the orientation of the vehicle and the vector going from the center of
the rear axle to the preview point P.
   1. Assuming the slip angle is zero (i.e. using a kinematic bicycle model), the steering angle δPP
      necessary for the center of the rear axle to follow the circular arc of radius R can be expressed
      as:
                                                            l f + lr
                                              tan δPP   =                                         (5.8)
                                                               R
                                     LP
   2. Then, noticing that sin(α) =   2R   leads to the expected result.
    One of the main difficulties for implementing a pure-pursuit algorithm is the setting of the
preview distance LP . [Snider, 2009] showed that the shorter the preview distance is, the more ac-
curate but the less smooth the tracking is. Moreover, as the pure-pursuit controller ignores the
curvature of the path, the preview distance depends strongly on the shape of the path and thus on
the scenario: for example, a large preview distance is better suited to follow a long straight path
while a short distance is necessary in curves to avoid cutting corners. This is a major drawback for
pure-pursuit controller as the preview distance will necessarily vary. One solution is to increase
                                                                                                    97
                                     CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
the preview distance with the speed, and set the reference speed according to the curvature of the
path.
     However, as pure-pursuit controllers do not use explicitly information about the reference
path, the latter does not need to have any smoothness properties. It can even be discontinuous (as
long as the preview point is defined). In particular, this makes them very robust to fast transient
sections [Snider, 2009]. Finally, as the pure-pursuit controller relies on a kinematic bicycle model,
it should only be used for trajectories where the lateral acceleration a y remains below 0.5µg (see
chapter 4.2), where µ is the friction coefficient of the road and g the gravitational constant.
    [Snider, 2009] showed that higher values of k increase the tracking performance but there is an
upper limit for stability. Moreover, it is neither robust to lane change maneuvers as only low values
of k work, nor to discontinuities of the reference path. However, it is better suited for higher speeds
than the pure-pursuit algorithm.
5.2.4 Non-linear controller using chained form transform on the kinematic bicycle
      model (KBCF)
The kinematic bicycle model, given by Equations (2.43) in section 2.43, can be expressed in a
Frenet frame at the projection of the rear axle on the reference path [Weiskircher and Ayalew, 2015]
as shown on Figure 5.6. The system obtained is given by Equations (5.10a)-(5.10c).
                                               v r cos ψ̃
                                     ṡ    =                                                    (5.10a)
                                                1 − κ ỹ
                                     ỹ˙   =   v r sin ψ̃                                       (5.10b)
                                                      tan δ     κ cos ψ̃
                                                   µ                     ¶
                                     ˙ =
                                    ψ̃         vr             −                                 (5.10c)
                                                     l f + lr   1 − κ ỹ
where κ is the curvature of the reference path, s the curvilinear abscissa, ỹ the lateral error at the
center of the rear axle, ψ̃ = ψ − ψr the heading error and v r the velocity at the center of the rear
axle.
98
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
    In [Samson, 1995], the author proposed to transform the system composed of Equations (5.10a)-
(5.10c) into a chained form system. The latter is a system that can be written:
                                                   ẋ 1   = u1                                         (5.11)
                                                   ẋ 2   = u1 x3
                                                   ẋ 3   = u1 x4
                                                          ..
                                                           .
                                               ẋ n−1     = u1 xn
                                                   ẋ n   = u2
with
                                               ¡                                    ¢T
                                      X   =        x1     x2   ···     x n−1   xn                     (5.12b)
                                           ¡                                        ¢T
                                 h 1 (X) = 1 x 3 x 4 · · · x n                  0                     (5.12c)
                                           ¡               ¢T
                                 h 2 (X) = 0 0 · · · 0 1                                              (5.12d)
    Applying the state mapping a 1 = s, a 2 = ỹ, a 3 = (1 − κ ỹ) tan ψ̃ and the control mapping m 1 = ȧ 1 ,
m 2 = ȧ 3 to Equations (5.10), the following chained system is obtained where the derivative is per-
formed with respect to time:
                                                ȧ 1      = m1                                        (5.13a)
                                                ȧ 2      =    a3 m1                                  (5.13b)
                                                ȧ 3      = m2                                        (5.13c)
   This system can then be transformed into a linear system where the derivative is performed
with respect to the curvilinear abscissa s, by defining m 3 = m 2
                                                              m1 :
                                                   a 10   = 1                                         (5.14a)
                                                   a 20   =     a3                                    (5.14b)
                                                   a 30   = m3                                        (5.14c)
                                                                                                           99
                                          CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
a 2 00 + K D a 2 0 + K P a 2 = 0 (5.15)
    The non-linear control law obtained after doing all the inverse mapping is given by Equa-
tions (5.16) and ensures the convergence to the reference path.
                                                     cos3 ψ̃       κ cos ψ̃
                                        µ         ·                         ¸¶
                         δKBM = atan (l f + l r )               A+                     (5.16a)
                                                    (1 − κ ỹ)2    1 − κ ỹ
where
                               dκ
                    A =           ỹ tan ψ̃ − K D (1 − κ ỹ) tan ψ̃ − K P ỹ + κ(1 − κ ỹ) tan2 ψ̃   (5.16b)
                               dt
This non-linear controller requires the reference path to be at least C2 in order to compute the
curvature κ and even C3 due to the term dd κt . It has been implemented on actual vehicles such as in
[Sotelo, 2003] and [Thuilot et al., 2004]. Like the pure-pursuit controller, it is based on a kinematic
bicycle model: therefore, it should only be used for trajectories where the lateral acceleration a y
remains below 0.5µg (see chapter 4.2). Extension to situations where the front or rear slip angles
(denoted respectively α f and αr ) cannot be neglected have been proposed in [Lenain, 2005] for
off-road vehicles and are given by Equations (5.17). In that case, estimators of the slip angles are
necessary (see for example [Lenain et al., 2010, Baffet et al., 2009]).
                                       l f + l r cos3 ψ̃2       κ cos ψ̃2
                                     µ          ·                         ¸          ¶
                 δKBM2 = atan                             A 2 +             + tan α r − αf       (5.17a)
                                       cos αr (1 − κ ỹ)2        1 − κ ỹ
with
Fx f and Fxr correspond to the longitudinal forces generated by the road on respectively the front
and rear tire, in the vehicle frame. Similarly, F y f and F yr correspond to the lateral forces in the
vehicle frame.
     Assuming small slip angles, the linear tire model given by the following equations can be used:
                                                 Fy p f    = Cf αf                                   (5.19a)
                                                 F y pr    = Cr αr                                   (5.19b)
where F y p f and F y pr are the lateral forces generated by the road respectively on the front and rear
wheel, expressed in the pneumatic frame (subscript “p"), C f and Cr are the front and rear corner-
ing stiffness, and α f and αr are the front and rear slip angles, given by the following expression:
                                                             V y + l f ψ̇
                                                           µ              ¶
                                       α f = δ f − atan                                          (5.20a)
                                                                 Vx
                                                         V y − l r ψ̇
                                                       µ              ¶
                                       αr = − atan                                               (5.20b)
                                                             Vx
100
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
     The relation between the forces F y f and F yr expressed in the vehicle frame and Fxp f , F y p f and
F y pr expressed in the pneumatic frame is given by Equations (5.21):
    Since we consider a decoupled lateral controller, we neglect the longitudinal dynamics, i.e. we
assume a constant longitudinal velocity Vx (or at least that it varies slowly) and that the longitudi-
nal tire forces on the front wheel in the tire frame Fxp f = 0. Therefore, assuming also that all the
angles are small, Equations (5.18b)-(5.18c) lead to the state-space model:
                                                                  l r Cr −l f C f
                                               −(C +C )                              
                                                     f   r                                   µ ¶ Ã Cf        !
                                                                                    − Vx V y
                                 µ        ¶
                                     V̇ y          MT Vx              MT Vx
                                            =  l C −l               −(l 2f C f +l r2 Cr )       + l fmC f       δ      (5.22)
                                      ψ̈                                                      ψ̇
                                                                                           
                                                 r r   f Cf
                                                     Iz Vx                  Iz Vx                     Iz
    This state-space model can be expressed in terms of error with respect to the reference path.
Defining ỹ as the lateral error at the center of gravity of the vehicle and ψ̃ = ψ − ψr the heading
error, Equation (5.22) becomes:
       0             1                0                0
                                                                                        
                                                                                                         0
                                                                                                                    
       ỹ˙                                                               ỹ          0
                  −(C f +Cr )        C f +Cr      l r Cr −l f C f     C f                l f C f −l r Cr
      ỹ¨   0                                                       ỹ˙   M          − MT Vx − Vx 
                                                                                                                    
                     MT Vx             MT              MT Vx
                                                                                           δ+                       ψ̇r
       
     ˙=                                                                 +       T                                (5.23)
     ψ̃ 0            0                0                1          ψ̃         0                  0          
                                                      2       2                                       2        2
                                                                                                                
        ¨
       ψ̃        l r Cr −l f C f l r Cr −l f C f −(l f C f +l r Cr )     ˙
                                                                        ψ̃        l f Cf            l f C f +l r Cr
               0      Iz Vx              Iz             Iz Vx                        Iz         − Iz Vx
δLDBM = δf f + δf b (5.24a)
                                                           l r MT          l f MT
                                                              µ                       ¶
                          δf f       = κ(l f + l r ) +                −                 a y − k 3 ψ̃ss                (5.24b)
                                                       (l f + l r )C f (l f + l r )Cr
                          δf b       = −Kξ                                                                             (5.24c)
                                                                         ˙
                                     = −k 1 ỹ − k 2 ỹ˙ − k 3 ψ̃ − k 4 ψ̃
In the case where the longitduinal velocity varies, Equation (5.23) becomes a linear parameter
varying (LPV) system as shown in Equation (5.25):
Let’s assume that Vx ∈ [Vxmi n , Vxmax ]. Set Ami n = A(Vxmi n ) − B1 K and Amax = A(Vxmax ) − B1 K.
Theorem 1. If K is chosen such that for some P > 0, ATmi n P + PAmi n < 0 and ATmax P + PAmax < 0,
then the closed-loop system is stable for all Vx ∈ [Vxmi n , Vxmax ].
Proof. First, let us notice that A(Vx ) = λAmi n + (1 − λ)Amax with λ ∈ [0, 1] is a function of Vx .
   Assuming that ∃P > 0, (ATmi n P + PAmi n < 0) ∧ (ATmax P + PAmax < 0), define V : x → x T Px. Let’s
proove that V is Lyapunov function:
                                                                                                                           101
                                                  CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
In order to compute the lateral or the heading angle errors, it is usually necessary to get the clos-
est point on the reference path to the vehicle. Therefore, the closer the waypoints are to each
other, the more accurate the lateral errors and the heading angle errors are. However, compu-
tational costs are increased both in time and in space: first, the motion planner needs a smaller
time step discretization to provide a denser list of waypoints which increases the computational
time drastically; then, the list of waypoints needs to be stored on the memory of the computer
which consumes O (n) in space; finally, the look-up time for the closest point is O (n) in time. One
way to limit these computational burdens is to increase the number of waypoints only on a short
time horizon, corresponding to the path the controller will be able to track before replanning the
reference trajectory. This can be done using polynomial or spline interpolations as shown on Fig-
ure 5.7a and 5.7b. Note that the linear interpolation should be avoided as it provides a non-smooth
interpolation in curves.
    Interpolations of the waypoints should be done with respect to its curvilinear abscissa s, which
is strictly increasing2 , in order to be properly defined. Otherwise, in the case where there are
two values Y rj and Y rj corresponding to one X r on the reference path, the interpolation of the
                1        2
Y-coordinates with respect to the X-coordinates is not defined. The curvilinear abscissa s ir of each
waypoint i can be computed from its coordinates (X ri , Yir ) and the previous waypoint (X ri−1 , Yir−1 )
using to Equation (5.26a).
                                      (
                                       0,                                                         if i = 1
                             s ir =               q                                                           (5.26a)
                                       s ir−1 +       (X ri   − X ri−1 )2 + (Yir   − Yir−1 )2 ,   otherwise
102
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
                                                                              Y (m)
      Y (m)   1                                                                       1
              0                                                                       0
                  0      2        4     6                   8           10                0           2      4    6          8   10
                                   X (m)                                                                      X (m)
                      (a) Polynomial interpolation
                                                                                                  (b) Spline interpolation
Set X r = (X r1 , .., X rn ), Y r = (Y1r , .., Ynr ) and s r = (s 1r , .., s nr ). Define a new list of curvilinear abscissa
s i nt er p where the distance between two consecutive curvilinear abscissa is smaller than for s r .
Applying Equations (5.26b) and (5.26c) where interpolation is either a polynomial or spline in-
terpolation function, a new denser list of waypoints (X i nt er p , Yi nt er p ) is obtained. Similarly, an
interpolation of the heading angle ψ to compute the heading angle error can be obtained using
Equation (5.26d) as illustrated by Equation (5.26d).
                                           X i nt er p     = interpolation(s r , X r , s i nt er p )                             (5.26b)
                                                                                              r   r
                                           Yi nt er p      = interpolation(s , Y , s i nt er p )                                  (5.26c)
                                                                                              r   r
                                           ψi nt er p      = interpolation(s , ψ , s i nt er p )                                 (5.26d)
    In the rest of this section, we present three methods to compute the lateral and heading angle
errors:
The simplest method to compute the lateral error and the heading angle error is to consider the
closest waypoint (X ri , Yir ) from the vehicle and its tangent unit vector ~t ir :
   2. Compute its tangent unit vector ~t ir based on the waypoints at index i − 1 and i + 1:
                                                                                                        µ r
                                                                                                         X i +1 − X ri−1
                                                                                                                         ¶
                                                                              1
                                   ~t ir     =                                                             r       r              (5.27a)
                                                                                                      )2 Yi +1 − Yi −1
                                                   q
                                                         (X ri+1 − X ri−1 )2 + (Yir+1 − Yir−1
                                     n ir by rotating ~t ir counter-clockwise:
   3. Compute the normal unit vector ~
                                                                               µ    ¶
                                                                                0 −1 r
                                                                 n ir
                                                                 ~           =       ~t                                          (5.27b)
                                                                                1 0 i
                X − X ri
                         µ
                         ¶
   4. Define ~
             r=            as the vector joining the closest point and the vehicle.
                Y − Yir
   5. The lateral error ỹ is obtained from Equation (5.27c) where 〈., .〉 corresponds to the scalar
      product.
                                                                        ỹ       n ir ,~
                                                                              = 〈~     r〉                                         (5.27c)
                                                                                                                                      103
                                          CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
ψ̃ = ψ − ψri (5.27e)
    Although this method is simple to implement in practice, it is not very accurate if the density of
the waypoints is not sufficient. Therefore, interpolation techniques presented previously should
be used beforehand.
The lateral displacement method to compute ỹ considers the distance between the vehicle (X, Y)
and the tangent to the path at (X ri , Yir ), where (X ri , Yir ) is the closest waypoint to the vehicle (see
Figure 5.8). Its expression is given by Equation (5.28). Of course, the denser the list of waypoints
is, the better the results are. Therefore it can be useful to apply the aforementioned interpolation
techniques first. The reference heading angle ψr and heading angle error ψ̃ are computed as in
the previous method.
This method was introduced in [Ziegler et al., 2014a]. Unlike the previous methods, it does not
require any interpolation beforehand. Instead, a linear interpolation of the tangent vectors at the
two closest waypoints is made:
                X − X ri
               µ         ¶
            r=
   3. Define~              which corresponds to the vector joining the closest point and the vehicle.
                 Y − Yir
   4. Compute ² given by Equation (5.29a). If ² ≥ 0, define Ppr ev = (X ri , Yir ) and Pnext = (X ri+1 , Yir+1 );
      else if ² < 0, define Ppr ev = (X ri−1 , Yir−1 ) and Pnext = (X ri , Yir ). Ppr ev and Pnext are the two
      nearest waypoints located respectively before and after the vehicle.
                                                 ² = sign 〈~   r ,~t ir 〉
                                                             ¡            ¢
                                                                                                        (5.29a)
104
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
                                                                                p
                      ~t1
                                                               pλ                   p2
                     p1                          l                        ~tλ
                                                                                         ~t2
   6. Make a frame change centered in Ppr ev and where the x-abscissa coincides with the axis
      (Ppr ev , Pnext ). Define p 1 = (0, 0) and p 2 = (l , 0) as the coordinates of respectively Ppr ev and
      Pnext in the new frame as shown in Figure 5.9. Define t 1 = (1, m 1 ) and t 2 = (1, m 2 ) as the
      tangents at p 1 and p 2 in the new frame.
   7. A pseudo tangent t λ given by Equation (5.29b) is created by linear interpolation along the
      segment [p 1 , p 2 ] at the point p λ expressed by Equation (5.29c), with λ ∈ [0, 1].
   8. The position of the vehicle, denoted by p = (x v , y v ) in the new frame, is projected on the seg-
      ment [p 1 , p 2 ] on p λ such that the pseudo normal vector ~ n λ = p −p λ verifies Equation (5.29d).
                                                      n λ ,~t λ 〉 = 0
                                                     〈~                                             (5.29d)
                                                          m1 y v + x v
                                              λ =                                                   (5.29e)
                                                        (m 1 − m 2 )y v + l
Remark 13. The frame change enables to compute λ easily. Otherwise, λ would be the solution
of a second order polynomial equation Aλ2 + Bλ + C = 0 which not very robust to variations of the
coefficient due to small computation errors.
                                                                                                        105
                                     CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
Figure 5.11 – Reference path (in red) in the Shanghai Jiao-Tong University campus.
106
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
For the three lateral controllers tested, the reference path is given at the center of the rear axle.
While this is naturally the case for the KBCF and the pure-pursuit controllers according to their
definitions, it is less obvious for the Stanley controller as it corrects the lateral error at the front
wheel. However, after some tests on a reference path given at the center of the front axle, it clearly
appears that the Stanley controller turns too late. In fact, the correction on the front error enables
to anticipate curves as Stanley is not equipped of a feedforward term (for example taking into
account the curvature of the path).
The tuning complexity of the different controllers varies. While tuning the KBCF and the Stan-
ley controller are quite straightforward, the tuning of the pure-pursuit controller appears to be a
challenging task.
    For the KBFC controller, in order to obtain the fastest response without oscillations for the
error given by Equation (5.15), the gains K P and K D are linked by Equation (5.30) corresponding
to a damping ratio of 1. In the case of noise measurements and delays, K D can be chosen a little
bigger to avoid oscillations.
                                                        p
                                               KD    = 2 KP                                       (5.30)
Thus, there is only one parameter to tune, say K P . However, the system will converge in a given
distance that does not depend on time, only on K P . This can cause some smoothness and even
stability problems as for a human driver, the convergence time depends on the speed of the vehi-
cle: the smaller the speed is, the more the steering angle is turned. Therefore, it is better to tune
different K P depending on the range of speeds. Equation (5.15) becomes then a Linear Parameter
Varying (LPV) system as K P and K D varies. After several trials, we chose K P = 0.035 and K D = 0.37
regardless of the speed in our experiments.
    The tuning of the Stanley controller depends only on one gain k that is a trade-off between
accuracy (high values) and stability (small values). We chose k = 0.75 for the experimentations.
    Finally, the tuning of the pure-pursuit depends only on the look-ahead distance LP . However,
this parameter depends not only on the speed of the vehicle but also on the scenario. A larger
preview distance is better for higher speed in order to be more stable. However, a smaller preview
distance is expected in curves in order to avoid cutting corners. In our experimentations, we chose
to tune the preview distance as function of the speed as shown in Figure 5.12.
                            30
                   LP (m)
20
10
                            0
                                 0   10   20    30     40    50      60      70     80
                                                     V (m/s)
Figure 5.12 – Preview distance of the pure-pursuit controller for different speeds.
One of the main difficulties to apply the KBCF controller is to estimate the curvature κ of the ref-
erence path and its derivative with respect to time dd κt .
                                                                                                    107
                                                CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
   In order to estimate the curvature κ, we used the expression given by Equation (5.31) where x
and y are two functions of the curvilinear abscissa s.
                                                                    x 0 y 00 − x 00 y 0
                                                        κ =                                                     (5.31)
                                                                    (x 02 + y 02 )3/2
To obtain x and y, a polynomial function is fit on the waypoints as illustrated by Equation (5.32)
where a curvilinear abscissa is associated to each waypoint i as described by Equation (5.33).
                                                    x       = polyn_fit(s r , X r )                            (5.32a)
                                                                                     r    r
                                                    y       = polyn_fit(s , Y )                                (5.32b)
                                    (
                                     0,                                                            if i = 1
                         s ir   =               q                                                               (5.33)
                                     s ir−1 +       (X ri   − X ri−1 )2 + (Yir      − Yir−1 )2 ,   otherwise
More precisely, for each waypoint (X ri , Yir ), we fit a polynomial of order p to a list of 2m + 1 way-
                                                   0    0
points {(X ri , Yir )}i ∈{i 0 −m,i 0 +m} . The order of the polynomial and the number of reference points must
be chosen carefully in order to avoid big variation of the shape of the polynomial. Therefore, p
should be chosen relatively small but at least equal to 2 as the computation of the curvature re-
quires the second derivative of the polynomial, and the number of points should be relatively large
(at least 5). In our case, we set p = 3 and m = 50 (corresponding to approximately 5m on each side
of the closest waypoint).
     In order to estimate the curvature dd κt , we used a first-order ALIEN filter, see Equation (5.34),
that will be presented in chapter 6 (see also Appendix C.2). However, any estimator of the deriva-
tive of a signal can be used.
                                                            6
                                                                     Z       T
                                          F
                                          bf ilt        = − 3                    (T − 2τ)y(τ) dτ                (5.34)
                                                           T             0
All the controllers output at each time step a constant control signal δ. Therefore, the control
signal is piecewise continuous. In order to mitigate the impact of big control variation, we used
the same filter for all the controllers, given by Equation (5.35): the steering angle sent to the vehicle
is a ponderation between the new value obtained by the control law δ and the value applied at the
previous time step δol d . We set the ponderation factor to λ = 0.8.
δ = (1 − λ)δol d + λδ (5.35)
108
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
right of Figure 5.13. These parts of the reference path are probably the most challenging ones: the
first case requires a good anticipation and accuracy due to the strong curvature and the small
space margin available; the second one requires a good trade-off between accuracy (the vehicle
should at least stay in its lane) and smoothness as the turn is long. The video recordings for each
controller are available at https://youtu.be/sgUxGhGDS8I.
KBCF PP SC
300
200
                        100
               Y (m)
−100
−200
    The speed profiles are displayed in Figure 5.16: despite the traffic and the regulation performed
by a human driver, they all look similar making a comparison of the results possible. The differ-
ences are mainly due to traffic: for example, the KBCF in blue is slightly slower at the beginning
due to a bus coming on the opposite lane, and the Stanley controller is slower around s = 1700m
due to some pedestrians crossing the road.
    The lateral errors ỹ at the center of the rear axle are shown in Figure 5.17. Interestingly, we
observe that the KBFC is very accurate in general as the lateral error remains always between −0.35
and 0.30m except in the sharp turns where the lateral error can be big. In particular, in the first
sharp turn (see Figure 5.14), the lateral error goes up to +1.32m. This might be caused by a bad
estimation of the curvature which is responsible of the feedforward steering of the vehicle, caused
for example by the fitting of polynomials. On the contrary, the pure-pursuit has a poor accuracy:
the lateral error makes large oscillations between −1.03m and +0.81m. However it gives relatively
good results in the sharp turns due to its geometrical approach for reaching a preview point on the
reference path. The lateral error is large in the long turn displayed in Figure 5.15 (up to +1.17m)
meaning that the vehicle almost overshoots on the opposite lane. This can lead to dangerous
situations if a vehicle is coming in the opposite direction. Finally, the performance of the Stanley
controller in terms of lateral error accuracy is between the KBCF and the PP controllers, both in the
sharp turns, the long turns and the other situations. It varies between −0.2m and 0.79 in general,
and up to −0.80m and +1.05 in the sharp turns. The main characteristics of the lateral errors
for each controller, such as the root mean square error (RMSE), the average error, the standard
                                                                                                    109
                                 CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
KBCF PP SC
360
350
              340
      Y (m)
330
320
310
              300
                430       440       450        460         470     480   490
                                              X (m)
KBCF PP SC
−60
−80
              −100
      Y (m)
−120
−140
−160
110
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
deviation of the error, the minimum and the maximum lateral errors are given in Table 5.2.
                                                            KBCF        PP          SC
            10
             6
 Vx (m/s)
             0
                 0        200       400       600       800        1,000         1,200     1,400    1,600   1,800   2,000
                                                                    s (m)
KBCF PP SC
             1
 ỹ (m)
−1
                 0         200       400      600          800      1,000        1,200     1,400    1,600   1,800   2,000
                                                                    s (m)
Figure 5.17 – Lateral error as a function of the curvilinear abscissa for each controller.
    Finally, the distribution of the absolute value of the lateral error is given in Figure 5.18. We
observe that the absolute value of the lateral error | ỹ| exceeds 0.3m only 4.38% of the time with the
KBCF, 21.43% with a SC but up to 50.25% with the PP.
    Similarly, we output the heading angle error at the center of the rear axle in Figure 5.19. We
observe that the KBCF and the Stanley controllers give similar results: they remain respectively
between [−0.028; +0.026]rad and [−0.067; +0.043]rad except in the sharp turns. In particular, in
the sharp turn presented in Figure 5.14, the heading angle error reaches [−0.132; +0.156]rad for the
primer case and [−0.105; +0.093]rad for the latter. The PP oscillates less than the two others but
                                                                                                                       111
                                                CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
                                                         KBCF        PP       SC
            1.5
               1
  | ỹ | (m)
               0
                   0         10     20        30       40      50      60             70       80       90       100
                                                         percentage (%)
Figure 5.18 – Distribution of the absolute value of the lateral error for each controller.
its amplitude is bigger. Therefore, it remains between [−0.048; +0.087]rad except during turns. In
the sharp turn presented in Figure 5.14, the heading angle error reaches [−0.101; +0.216]rad. Note
that due to the noise measurements of the IMU, the precision of the heading angle measurement
is estimated to 0.2◦ = 0.0035rad after Kalman filtering. The main characteristics of the heading
angle errors are given in Table 5.3 for each controller.
KBCF PP SC
0.2
               0.1
 ψ̃ (rad)
−0.1
                       0      200    400      600      800       1,000     1,200    1,400   1,600    1,800      2,000
                                                                 s (m)
Figure 5.19 – Heading angle error as a function of the curvilinear abscissa for each controller.
     Finally, the distribution of the absolute value of the heading angle error is given in Figure 5.20.
For a limit value of 0.05rad, the results are quite similar: the absolute value of the heading angle
error |ψ̃| exceeds 0.05rad 3.63% of the time with the KBCF, 4.50% with a SC and 4.75% for the PP.
On this plot, we clearly observe that the PP controller is less accurate that the two others.
     The accuracy of the controller is very important in order to achieve a desired performance. In
particular, a good accuracy improves the safety of the vehicle as it will track the desired safe refer-
ence trajectory with a great precision. However, the stability and smoothness of the drive should
also be taken into account. They are not only responsible for the comfort of the passenger but also
for the safety of the vehicle: if the control starts to oscillate too much, the vehicle model on which
112
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
KBCF PP SC
           0.2
 | ψ̃ | (rad)
0.1
                0
                    0       10      20       30       40      50      60          70        80        90       100
                                                        percentage (%)
Figure 5.20 – Distribution of the absolute value of the heading angle error for each controller.
stability has been proven might not be valid anymore; dynamic phenomena such as slip or skid
might appear for example. However, in control theory, it is well known that improving the accuracy
decreases the stability and conversely. This is known as the stability-accuracy dilemma. Therefore,
we displayed in Figure 5.21 the steering angle applied at the front wheels for each controller.
                                                        KBCF        PP      SC
                0.4
0.2
                    0
 δ (rad)
−0.2
−0.4
           −0.6
                        0   200     400      600      800      1,000     1,200   1,400   1,600      1,800   2,000
                                                               s (m)
     Clearly, it appears that the PP controllers provides a very smooth drive as the steering angle
does almost not oscillate at all during the drive. In the KBCF and Stanley controllers, small os-
cillations of amplitude between 0.01rad and 0.02rad occurs constantly, even when the reference
path is a straight line. These oscillations can be perceived by the passengers and cause him some
inconveniences if they are too large. Moreover, we observe that the peak values during turns are
smaller for the PP than in the other cases although the tracking accuracy is better. This is amplified
during sharp turns: for example, a zoom on the steering angles during the sharp turn presented
in Figure 5.14 is shown in Figure 5.22. We observe that the peak value of the PP controller corre-
sponds to −0.29rad while for the KBCF and the SC, it corresponds respectively to −0.51rad and
−0.59rad. However, the PP controller reaches −0.05rad already at s = 650.9m while the KBCF and
the SC reaches the same value at respectively s = 655.5m and s = 656.8m thus more than 4m later!
     In the case of the KBCF controller, the feedforward control depends mostly on the curvature κ
of the reference track and its time derivative dd κt . These are displayed respectively in Figure 5.23 and
5.24. In the latter, we observe constantly some “jumps" to zero, especially in the curves. These are
due to the slow speed of the vehicle while the frequency of measurement is high (100Hz). There-
fore, between two acquisitions, the reference waypoint is often the same leading to no variation of
the curvature.
                                                                                                                 113
                                                       CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
KBCF PP SC
                  0
 δ (rad)
−0.2
−0.4
             −0.6
                600                620         640     660     680     700      720       740      760      780      800
                                                                      s (m)
Figure 5.22 – Comparison of the steering angle obtained at the front wheel for each controller in the sharp
turn.
                5 · 10−2
  κ (m−1 )
−5 · 10−2
                   −0.1
                               0         200     400     600    800    1,000 1,200 1,400 1,600 1,800 2,000
                                                                       s (m)
Figure 5.23 – Estimation of the curvature κ of the reference path for the KBCF controller.
                           ·10−2
                   1
                 0.5
  (m−1 s−1 )
                   0
  dκ
               −0.5
  dt
                 −1
                       0           200         400     600     800    1,000    1,200     1,400   1,600    1,800    2,000
                                                                      s (m)
                                                                         dκ
Figure 5.24 – Estimation of the derivative of the curvature              dt   of the reference path for the KBCF controller.
114
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
5.3.5 Conclusion
The driving task can be divided into two levels [Donges, 1978]: an anticipation level responsible
for the feedforward or open-loop control, and a stabilization level responsible for the feedback or
closed-loop control. In the primer level, the driver takes into account the future shape of the road
while in the second, he corrects the actual deviations from the reference path.
      Therefore, a good lateral controller should be composed of both an anticipation and a stabi-
lization term. Anticipation can be done either using a preview distance such as in the case of the
pure-pursuit or Stanley controller or using information on the road geometry, typically the road
curvature as in the case of the non-linear controller based on the kinematic bicycle model (KBCF)
or the controller based on the linearized dynamic bicycle model (LDBM). Stabilization is done
by correcting the lateral error and/or the heading angle error so they converge to 0: the Stanley
controller corrects the angular error and the front lateral error, the KBCF corrects both the angu-
lar error and the lateral error at the center of the rear axle through the gain K P and K D and the
linearized dynamic bicycle model corrects both errors and their derivative through the gains k 1 ,
k 2 , k 3 and k 4 . Only the pure-pursuit controller does not dispose directly of a stabilization term.
However, this can be done by adding a PI controller on the lateral error for example.
      The choice of a controller is necessarily a trade-off between accuracy and stability/smooth-
ness. This choice depends on the situation encountered: while a high precision is required for
narrow roads for examples, smoothness is more important in the case of highways. Therefore, we
believe that the “best and universal" controller does not exist. Instead, there exists a range of con-
trollers suited for different cases. It becomes then important to switch between them according
to the driving situation. However, the resulting switched system should remain stable which is
not necessarily the case even though each individual controller is stable (see [Branicky, 1998] for
example).
      In order to guide the reader in a choice of a controller, a summary of the one tested in sec-
tion 5.3 together with a PID controller is given in Table 5.4. This table gives the main assets and
drawbacks of each controller, as well as the underlying assumptions on the reference path and the
model.
                                                                                                   115
                                    CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES
non-linear models. [Attia et al., 2012a] used a non-linear MPC based on a dynamic bicycle model,
with the equation of the wheel dynamics. The longitudinal tire model is a Burckhardt model while
the lateral tire model is a modified Pacejka magic formula. [Falcone et al., 2007b] used both a non-
linear MPC and a linearized MPC based on a dynamic bicycle model where load transfer between
the front and the rear axles are taken into account. Longitudinal and lateral Pacejka tire model
are used where the longitudinal slip ratio is assumed to be constant over the prediction horizon.
This assumption is necessary due to the strong non-linearities in the expression of the longitu-
dinal slip ratio but is quite restrictive as the time constant of the longitudinal slip ratio is very
small compared to the vehicle dynamics. In [Kritayakirana and Gerdes, 2012], a coupled longitu-
dinal and lateral controller have been derived from a dynamic bicycle model using a linear lateral
tire model. The longitudinal velocity is determined using a gg-diagram (see chapter 3.4). Simi-
larly, [Goh and Gerdes, 2016] proposed a similar control law but uses a modified Fiala tire model
for computing the lateral tire forces. However, using MPC with complex vehicle and tire dynamic
models is computationally expensive. Thus it cannot be computed at high-frequency: the con-
trol is in open-loop on a long duration (typically around 50 to 200ms) and is therefore less robust
to modeling errors and external disturbances. Moreover, it becomes less reactive to changes of
the reference trajectory. [Menhour et al., 2011a] proposed a coupled longitudinal and lateral con-
troller based on the flatness property of the dynamic bicycle model with a linear tire model which
enables to compute the control input at a high frequency in closed-loop.
     One perspective to avoid the complexity of the models is to learn them offline using deep
learning methods, in particular supervised learning. Some preliminary results were obtained with
Guillaume Devineau in [Devineau et al., 2018]: first, we generated a dataset of 43241 instances
each containing a three-second trajectory and the corresponding control inputs. The trajectories
were obtained by applying the control inputs in the 9 DoF vehicle simulator presented in sec-
tion 2.3. Then, a Multi-Layer Perceptron and a Convolutionnal Neural Network were trained on
the dataset to learn from the trajectories the control that was applied. During the training, the loss
function penalized more steering angle errors than wheel torque errors. These artificial neural net-
works were then used as controllers with some enhancement on a track in simulation and proved
their ability to cope with highly coupled maneuvers. One interesting result is that it takes only
about 2ms to look-up the longitudinal and lateral control signals to apply given a reference trajec-
tory. Such techniques should be further investigated in future works and might improve drastically
the computational time required to solve such problems. However, any proofs of convergence of
the proposed approach should not be expected.
116
Chapter 6
Model-free control
Master Yoda
Contents
      6.1 Model-free control: a new control paradigm for non-linear systems . . . . . . . . 118
           6.1.1 The ultralocal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
           6.1.2 Estimation of F
                               b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
           6.1.3 Intelligent controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
      6.2 Implementation on an actual system . . . . . . . . . . . . . . . . . . . . . . . . . . 121
           6.2.1 Numerical quadrature for ALIEN filters . . . . . . . . . . . . . . . . . . . . . . 121
           6.2.2 Tuning procedure of the model-free controller . . . . . . . . . . . . . . . . . . 123
           6.2.3 Stability with a non-zero estimation error . . . . . . . . . . . . . . . . . . . . 125
      6.3 Application to vehicle control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
           6.3.1 Brake control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
           6.3.2 Longitudinal speed control of the vehicle . . . . . . . . . . . . . . . . . . . . . 131
           6.3.3 Lateral control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
      6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
                                                     117
                                                                    CHAPTER 6. MODEL-FREE CONTROL
     Applying model-based control techniques on an actual system raises several difficulties. First,
a model of the plant is necessary. However, obtaining a model can be either too costly due to
the required engineering time and hardware, or simply impossible (ex: the brake system of a
vehicle). Secondly, a non-linear control law needs to be derived from the model, using tech-
niques such as flatness-based control [Fliess et al., 1995], chained-form systems [Samson, 1993]
or by linearizing the system around its operational point. However, this is not always possible.
Thirdly, a model contains parameters whose values can be difficult to access in practice. Worse,
they might be changing over time due to the aging, the wear or the use of the equipment: in the
case of a vehicle for example, the mass changes with the loading and the tire parameters depend
on the tire pressure and wear. Finally, ensuring the robustness of the controller to model mis-
matchs and external perturbations such as wind, slope, road-bank angles or the friction coeffi-
cient of the roads in the case of an autonomous vehicle can be challenging. Thus, it is not surpris-
ing if Proportional-Integral-Derivative (PID) controllers [Astrom and Hagglund, 1995], which are
model-free controllers by excellence as they rely solely on the output error of the system and its
derivative, are among the most popular ones in industrial applications1 .
     In this chapter, the model-free control (MFC) paradigm introduced in [Fliess and Join, 2013]
is presented. Although it has been applied successfully in many applications, among other en-
ergy management [Bara et al., 2017] and flapping wings [Chand et al., 2016], we propose some im-
provements for its implementation on an actual plant, in particular an autonomous vehicle. MFC
is able to handle some complex non-linear control problem [Fliess and Join, 2009] at a low compu-
tational cost as these control laws can be implemented on cheap and small programmable devices
[Join et al., 2013]. Among the main assets of MFC compared to conventional PID controllers, let’s
mention its ability to reject perturbations naturally, its ability to track a non-constant reference
output and its robustness to the aging of the system.
     After recalling the fundamentals of the model-free control paradigm in section 6.1, in particu-
lar the notion of “intelligent" controllers and ALIEN filters [Fliess and Sira-Ramírez, 2003], we will
discuss some implementation details on an actual system in section 6.2 which is our main contri-
bution to this type of controllers. Finally, the MFC paradigm is applied for the longitudinal control
of an autonomous vehicle both in simulation and on an actual vehicle in section 6.3.
u is the control input, y is the observed output, ν is the order of the system, F represents both the
unmodeled dynamics and the disturbances and α is a parameter chosen by the practitioner (the
sign of α is supposed to be known). In practice, the order ν is always 1 or 2. When there is no
ambiguity, the time dependency will be omitted.
6.1.2 Estimation of F
                    b
At each time step t k = kTs where Ts is the sampling time step of the measurements, the dynamics
F is estimated from the previous control inputs u applied to the system and outputs y observed.
The estimation of F at time t , denoted F,
                                         b is assumed to remain constant over [t ; t + T]. Therefore,
using the model-free control approach requires to have a high measurement frequency compared
  1 https://taskforce.ifac-control.org/industry-committee/legacy-materials-pilot-industry-committee-2014-
118
CHAPTER 6. MODEL-FREE CONTROL
to the time constant of the system one wants to control. A direct method for estimating F
                                                                                        bk at time
t k is given by Equation (6.2):
                                             F
                                             bk    =      y k(ν) − αu k−1                               (6.2)
    However, measurements are usually noisy. Therefore, using a filter is highly recommended,
such as the ALIEN2 filters introduced by [Fliess and Sira-Ramírez, 2003]. For a first-order (ν = 1) or
a second-order (ν = 2) ultralocal model, one obtains respectively Equations (6.3) and (6.4), where
T denotes the time window of the filter. The computation details can be found in Appendix C.2.
                                 6 T£
                                    Z
             if ν = 1:                   (T − 2τ)y(τ) + ατ(T − τ)u(τ)) dτ
                                                                      ¤
                            F
                            b =−
                                  3
                                                                                                        (6.3)
                                T 0
                                                                   α
                                      Z Th
                                 5!                                                  i
             if ν = 2:      F =− 5
                            b             (−T 2 + 6Tτ − 6τ2 )y(τ) + τ2 (T − τ)2 u(τ)) dτ                (6.4)
                                2T 0                               2
                                                        b − ẏ r
                                                        F
                                           u      = −            − K (e)                                (6.5)
                                                          α
term −K (e), as illustrated by Equations (6.6a-6.6d). The naming depends on the form of the func-
tion K which can be either a P, PI, PD or PID controller.
                                              b − ẏ r
                                              F
                              i-P:    u   = −              − KP e                                      (6.6a)
                                                α
                                              b − ẏ r
                                              F
                                                                             Z
                              i-PI: u     = −              − KP e − KI           ed t                  (6.6b)
                                                α
                                              F − ÿ r
                                              b
                              i-PD: u     = −              − K P e − K D ė                            (6.6c)
                                                α
                                              F − ÿ r
                                              b                                         Z
                              i-PID: u    = −              − K P e − K D ė − K I           ed t       (6.6d)
                                                α
K P , K I and K D denote respectively the proportional, the integral and the derivative gains.
Remark 14. Note that the feedforward term differs between Equations (6.6a-6.6b) and Equations (6.6c-
6.6d) due to the order ν of the system.
Remark 15. The reference signal y r must be at least a C1 signal in the case of a first-order system
and a C2 signal in the case of a second-order system. This can be achieve using a low-pass filter on
the reference signal which also enables to compute its first-order and/or second-order derivative.
For a first-order system, combining Equations (6.1) and (6.5), leads to:
                                                                                                         119
                                                                                CHAPTER 6. MODEL-FREE CONTROL
                                    b is “good", i.e. (F − F)
    Therefore, if the estimation of F                      b ≈ 0, i-P or i-PI controllers ensure the
asymptotic stability of the closed-loop system with α > 0, K P > 0 and K I > 0. For example, for an
i-P controller, Equation (6.7) becomes:
For a second-order system, combining Equations (6.1) and (6.5), leads to:
Therefore, unlike conventional PID controllers, “intelligent" controllers provide a theoretical guar-
antee of the asymptotic stability of the system in the case of no estimation error, even in the tran-
sient phases where the reference signal is not constant. This is why they are called “intelligent".
    In practice, an i-P (resp. i-PD) controller is sufficient for a first-order (resp. second-order)
system. The disturbances are implicitely embedded within the unknown term F in the model
given by Equation (6.1) and are therefore estimated by the ALIEN filter. Thus, they are rejected by
                       b of the control law in Equation (6.5). The feedback term K (e) is mostly
the ultralocal term −F/α
used to overcome the error due to initial conditions and estimation errors of F due to the dynamics
of the filter.
    In [d’Andréa et al., 2010], the authors have compared “intelligent" controllers with conven-
tional PID controllers given by the form of Equation (6.11). It turns out that in their discretized
version with a constant sampling time step Ts , i-P, i-PI, i-PD and i-PID controllers are equivalent
respectively to PI, PI2 , PID and PI2 D controllers. This could explain why PID controllers work well
in practice. Table 6.1 gives the correspondance between “intelligent" and conventional PID con-
trollers3 . The Equation of the PI2 D controller is given by Equation (6.11).
                                                           Z       t                     Z tZ       τ
                   u(t ) = −k d ė(t ) − k p e(t ) − k i               e(τ)d τ − k i i                  e(τ0 )d τ0 d τ   (6.11)
                                                               0                          0     0
Table 6.1 – Comparison between discrete conventional and “intelligent" controllers [d’Andréa et al., 2010].
  3 Note that the gains K , K and K were divided by α in [d’Andréa et al., 2010] but not here.
                         P   D     I
120
CHAPTER 6. MODEL-FREE CONTROL
F∞ = −αu ∞ (6.12)
and the corresponding expression of the ALIEN filter given by Equation (6.3) becomes:
                                             6 T
                                                Z
                                   Fb = −           P2 (τ) dτ                                   (6.13)
                                            T3 0
where P2 (τ) = Ty ∞ + (−2y ∞ + αTu ∞ )τ − αu ∞ τ2 is a second-order polynomial in τ.
   The order of accuracy n of a quadrature is defined as the biggest integer value such that the
numerical approximation is correct for any polynomial of degree less or equal to n (see for example
[Dahlquist and Björck, 2008]), which concludes the proof.
                                                                                                   121
                                                                                 CHAPTER 6. MODEL-FREE CONTROL
    Thus, a conventional numerical approximation such as the trapezoidal rule which is of order 1
                                                                                                   ³ ´2
                                                                                                    T
is not sufficient: in this case, for a first-order system, we have an estimation error on F of + 12 Ts F
(see Appendix C.3). However, choosing T >> Ts enables to improve the accuracy but T has to
remain “small" in order for the ultralocal model to remain valid.
    Therefore, Equation (6.3) should be approximated using one of the two Simpson’s rules given
by Equations (6.15) and (6.16), which are both of order 3:
     Newton-Cotes formulas generalize the Simpson rule for polynomial interpolation of arbitrary
degree . For example, for the numerical quadrature of Equation (6.4), the five-point Newton-Cotes
quadrature rule (also named the Boole-Villarceau method) given by Equation (6.17) can be used as
it is of order 5. However, in practice, using high-degree polynomials for interpolation can lead to
instability. This is referred to as Runge’s phenomenon [Schlömilch et al., 1901]. Therefore, cutting
the computation of the integral given by Equation (6.3) (respectively Equation (6.4)) into subdivi-
sions where a method of order at least 2 (respectively 4) can be applied is recommended.
    Hence, it is necessary to choose the right order of the numerical quadrature for implementing
the ALIEN filters. For that purpose, it is easier to choose the number n r ep of repetitions of the
scheme given by Equation (6.15) for a first-order system (respectively Equation (6.17) for a second-
order system). The time window T is then chosen accordingly: T = Ts (2n r ep + 1) for a first-order
system and T = Ts (4n r ep + 1) for a second-order system. This method will be chosen in the rest of
this work.
Remark 16. Note that for a first-order system, if bT/Ts c ≥ 2, a decomposition of the integral given by
Equation (6.3) into subintegrals where Equation (6.15) and (6.16) can be applied is always possible
(see demonstration in Appendix C.4).
Numerical examples
Tables 6.2 to 6.5 present some examples of numerical coefficients of an ALIEN filter, depending
on the order ν and the number of repetition of the numerical integration scheme n r ep . There are
n y coefficients applied on the observation signal y and n u on the control signal u. If we denote
t k = kTs the actual time of the system, the time integral ALIEN filter is given by Equation (6.18)
where c ALIEN = [c y i ,i ∈1;n y  ¦ c u j , j ∈1;nu  ] are the list of coefficients computed by applying the appropri-
ate numerical quadrature.
                                             ny
                                             X                              nu
                                                                            X
                                   F
                                   bk   =           c y i y(k + 1 − i ) +          c u j u(k − j )                (6.18)
                                             i =1                           j =1
      • First-order derivative: In this case, ν = 1 and n u = 0 as we are only estimating the first
        order derivative of the signal y. The number of coefficients necessary is n y = 1 + 2n r ep . The
        coefficients are given in Table 6.2.
122
CHAPTER 6. MODEL-FREE CONTROL
ν n r ep ny c ALIEN
1 1 3 [50, 0, −50]
Table 6.2 – ALIEN filter coefficients for estimating the first-order derivative of a signal y.
                ν        n r ep     ny        c ALIEN
                                              £ 8750    −5000                −5000 8750
                                                                                          ¤
                 2         1         5            3 ,     3 ,       −2500,     3 ,   3
                                              £ 4375    6875 −625 −8125 −4375 −8125 −625 6875 4375
                                                                                                                ¤
                 2         2         9           12 ,    12 , 8 ,  12 ,  12 ,  12 ,  8 , 12 , 12
Table 6.3 – ALIEN filter coefficients for estimating the second-order derivative of a signal y.
   • Second-order derivative: In this case, ν = 2 and n u = 0 as we are only estimating the second
     order derivative of the signal y. The number of coefficients necessary is n y = 1 + 4n r ep . The
     coefficients are given in Table 6.3.
ν n r ep ny nu c ALIEN
   • Second-order system: In this case, ν = 2, n y = 1+4n r ep and n u = n y −1. The coefficients are
     given in Table 6.5.
     ν        n r ep       ny       nu       c ALIEN
                                             £ 8750 −5000             −5000 8750              −3 −1 −3
                                                                                                            ¤
     2          1           5       4            3 ,   3 , −2500,        3 ,    3 , ¦ 0,      8 , 4 , 8
                                             £ 4375 6875 −625 −8125 −4375 −8125               −625 6875 4375
     2          2           9       8           12 , 12 ,     8 ,   12 ,    12 ,     12 ¤,     8 , 12 , 12 ,
                                                   −49 −9 −75 −7 −75 −9 −49
                                             ¦ 0, 768 , 128 , 256 , 48 , 256 , 128 , 768
Suppose that the non-linear system to be controlled is ruled by the dynamics given by Equa-
tion (6.19), where f and g are two unknown functions:
                                                                                                                             123
                                                                    CHAPTER 6. MODEL-FREE CONTROL
In that case:
Assuming a perfect estimation of F, i.e. Fb = F given by Equation (6.20), Equation (6.22) becomes
Equation (6.23). Therefore, in theory, any value of α should work. Nevertheless, if F
                                                                                    b = F, the solu-
tion of Equations (6.1) and (6.5) is independent of the control: the control u cannot be computed
anymore.
    However, in practice, the estimation F  b is subject to some dynamics, and the closed-loop cannot
be reduced to Equation (6.23). In subsection 6.2.3, we will show that the quality of the controller
depends mostly on the estimation error F − F.     b For this reason, the value of α needs to be chosen
carefully, as close to the real gain of the system, to avoid big variations of F. This will be illustrated
in section 6.3 with an example on an actual vehicle.
    If α → +∞, the control u given by Equation (6.21) is reduced to K (e). In other words, the
controller is reduced to a conventional PID.
    If α → 0+ , the control u depends mostly on the estimation F.  b As F depends on u, the behavior
of the closed-loop mostly depends both on the unknown system dynamics and the ALIEN filter
dynamics. The resulting dynamics is quite unpredictable and this situation should be avoided.
    It should be noticed that when α is close to the input gain g (y), F is almost independent of u
and its estimation becomes easier in practice, leading to a smaller estimation error.
    Therefore, tuning α becomes quite straightforward for a stable open-loop system: the practi-
tioner should set K (e) = 0 and observe, for different values of α, the reponse of the system to the
control law:
                                                        F − ẏ r
                                                      µb         ¶
                                            u = −                                                   (6.24)
                                                           α
     Starting with an α large enough, the control signal will be almost zero. Then, decreasing the
value of α will increase the control value until the desired response given by Equation (6.23) is
achieved. If α is decreased too much, the control amplitude will become too high and the system
may oscillate. The tuning guidelines of α are summarized in Table 6.6.
     Once α has been chosen correctly, the gains of K (e) have to be tuned. Let us notice that the
feedforward control given by Equation (6.24) only ensures a good tracking of the reference deriva-
tive y r(ν) . K (e) is used to track the reference y r and its tuning is similar to the one of conventional
P, PI, PID or PI2 D controllers.
     If a perfect estimation of F   b is assumed, the gains K P and K I for a first-order system can be
obtained by pole placement on the linear system given by Equation (6.25). In practice, an i-P
controller is usually enough. Choosing K P is a trade-off between accuracy and stability: while
bigger K P values lead to a faster response of the system (which may start to oscillate at some point),
smaller K P values lead to a more stable response.
                                                                Z       t
                                  ė(t ) = −αK P e(t ) − αK I               e(τ)d τ                 (6.25)
                                                                    0
124
CHAPTER 6. MODEL-FREE CONTROL
        Initialization:
             set K (e) = 0;
             choose α large enough;
        Feedforward Tuning
            Rule n◦ 1: run the experiment; while the average value of | ẏ − ẏ r | decreases,
        decrease α and repeat rule n◦ 1.
            Rule n◦ 2: if the system output oscillates around the setpoint, increase α;
        Feedback Tuning
              Rule n◦ 1: increase K p progressively until (i) tracking error | y − y r | is low and
        (ii) disturbances are rejected
    Similarly, for a second-order system, an i-PD controller is usually sufficient and can be tuned
by pole placement on the linear system given by Equation (6.26). More precisely, choosing K P and
K D such that αK P = ω2n and αK D = 2ξωn where ωn is the undamped natural frequency and ξ the
damping ratio, enables to easily design the response of the system.
First-order system
Consider a discrete version of Equation (6.7) with K (e) = K P e (i-P controller) for a first-order sys-
tem. Set x k = x(t k ) = x(kTs ) where x is the variable considered. The derivative of the error at
time k, denoted ė k , is approximated by a forward Euler scheme: ė k = (e k+1 − e k )/Ts . The following
equation on the error is thus obtained:
                                 e k+1     = (1 − Ts αK P )e k + Ts (Fk − F
                                                                          bk )                        (6.27)
   Assuming that the ∞-norm of the estimation error is bounded (∀k ∈ N, | f k | ≤ f max = |F−F|
                                                                                             b max ),
then Equation (6.28) becomes:
                                                    k−1
                             |e k | ≤ |Ak e 0 | +          |A|i |B| f max
                                                    X
                                                                                                      (6.29)
                                                    i =0
    If K P and α are well chosen, i.e. T2s > αK P > 0, then for sufficiently large k, |Ak | ≈ 0. Thus for any
δ > 0 sufficiently small (see Appendix C.5 for further details):
                                                       ¯      ¯
                                                       ¯ 1 ¯
                                    |e k | ≤ (1 + δ) ¯ ¯      ¯ |F − F|
                                                                     b max                             (6.30)
                                                         αK P ¯
                                                                                                         125
                                                                               CHAPTER 6. MODEL-FREE CONTROL
                                                                                     ³ ¯         ¯´
                                                                                         ¯ f max ¯
        Therefore, the system is stable as the tracking error e k remains in a ball B 0, ¯ αK  P
                                                                                                 ¯ of radius
f max
αK P centered at 0. Limiting the estimation error on F both at steady-state and in transition phases
is therefore crucial. The first case is ensured by using an appropriate numerical quadrature for
Equation (6.3) as mentioned in subsection 6.2.1 while the second one depends mostly on the tun-
ing of α, where the procedure described in subsection 6.2.2 should be used.
Second-order system
For a second-order system, combining Equation (6.9) with K (e) = K P e + K D ė (i-PD controller),
one obtains:
                                                 Ė    =   Ac E + Bc (F − F)
                                                                          b                            (6.31)
                                    µ    ¶
        ¡             ¢T     0         1            ¡      ¢T
with E = e       ė        , Ac =          and Bc = 0 1 .
                           −αK P −αK D
        Discretizing Equation (6.31), Equation (6.32) is obtained with A = I2 + Ts Ac and B = Ts Bc .
                                                                  k−1
                                                        Ak E0 +          Ai B f k−1−i
                                                                  X
                                           Ek     =                                                    (6.33)
                                                                  i =0
Set K P and K D such that ∆ = (αK D )2 − 4αK P ≥ 0. The two eigen values of A are then:
                                                    T s ³p         ´
                                            λ1        = 1−∆ + αK D                                  (6.34)
                                                    2
                                                    Ts ³ p           ´
                                        λ2 = 1 −         − ∆ + αK D                                 (6.35)
                                                    2
                                                 p                                         p
     K P , K D and α are all positives. As αK D > ∆, we get λ1 ≤ 1 and λ2 ≤ 1. Choosing ∆ + αK D ≤ 2,
i.e. 2 ≥ α(2K P − K D ) we get |λ1 | ≤ 1 and |λ2 | ≤ 1. Thus, for k sufficiently large, ||A||k ≈ 0, which
implies that for any δ sufficiently small:
                                                                                     T ¡ p
                                                                                ¯                 ¢¯¯
Taking ||.|| = ||.||∞ , i.e. the maximum of the singular-values, we get ||A|| = ¯1 − 2s − ∆ + αK D ¯ and
                                                                                ¯
||B|| = Ts .
     Therefore, the system is stable as the tracking error remains for the p  ∞-norm in a ball centered
in 0 with a radius proportional to f max and depending also on αK P and ∆. Again, the importance
of limiting the estimation error on F both in transition phases and at steady-state is highlighted.
126
CHAPTER 6. MODEL-FREE CONTROL
Engine Control Unit (ECU). The Internal Combustion Engine (ICE) torque, whose dynamics is
unknown, is transmitted to the wheels through the clutch and the gearbox which are controlled by
the Gearbox Control Unit (GCU). This unit is independent and operates using its own unknown
rules. The braking circuit comprises the brake pedal, the master cylinder, the Electronic Stability
Program (ESP) block and the mechanical brakes.
    MFC has been applied to the longitudinal dynamics of a vehicle in several works. They can be
divided as following:
  (i) simulation results based on actual driver data [Menhour et al., 2013, Menhour et al., 2015,
      d’Andréa-Novel et al., 2016, d’Andréa-Novel, 2018];
 (iii) a combination with high-level Stop-and-Go strategies [Choi et al., 2009, Villagrá et al., 2010,
       Milanés et al., 2012].
Let us mention also [Join et al., 2008] which applies MFC for controlling the throttle of an engine.
      However, only [Milanés et al., 2012] tested on an actual vehicle the coordinated control of both
the brake and engine within a MFC framework. In this work, the authors compared MFC, PID and
fuzzy control for controlling the longitudinal low-level of a Stop-and-Go controller. More precisely,
they account for the use of two different MFC laws working alternatively: one for the throttle and
one for the brake.
      In this thesis, we suggest to use a cascading control structure as displayed in Figure 6.3. It
comprises two parts. First, a high-level velocity controller computes the total force u v to be ap-
plied on the wheels according to the actual velocity y v of the vehicle, and the reference velocity
y rv and acceleration ẏ rv . This high-level controller will be developed in subsection 6.3.2. The total
force required u v will then be generated by a low-level controller acting on both the brakes and the
engine. For that purpose, u v is split into two signals, the ICE force setpoint u i ce and the missing
braking force u bmi ss . On the one hand, u i ce is sent as a setpoint of the original ECU of the vehicle
which regulates the rotational speed of the engine; on the other hand, if the force generated by the
engine is not sufficient during decelerations, the brakes are applied using a model-free i-P con-
troller which will be described in section 6.3.1. For the latter case, a brake pedal position reference
y rb is defined by a mapping from u bmi ss and the actual position of the brake pedal, y b , is used as a
feedback signal. The control input u b of the brake system is the hydraulic pressures on the brakes.
      The MFC framework is especially relevant in that case since the dynamics of the low-level actu-
ators are complex and unknown. On the one hand, the vehicle propelling is ensured by an internal
                                                                                                     127
                                                              CHAPTER 6. MODEL-FREE CONTROL
combustion engine (ICE) controlled by the original engine control unit (ECU) of the vehicle. On
the other hand, the mechanical brakes are actuated using a hydraulic actuator connected to the
brake pedal. Therefore, the low-level dynamics is highly complex.
    Compared to [Milanés et al., 2012], our work relied on the ALIEN filters to estimate the ve-
hicle dynamics in order to be robust to noise measurements. Moreover, only the intelligent-
Proportional (i-P) controller was investigated.
128
CHAPTER 6. MODEL-FREE CONTROL
some stiction which makes the system very difficult to model. Also, the brake pedal dynamics
is non-linear due to the master cylinder’s resistive force. The objective is to control the brake
pedal position y b by opening the valves (u b ∈ [−80; 80]%) located respectively at the top and at
the bottom of the hydraulic actuator. The system is described in Figure 6.4. The main difficulties
to control such a system are: (i) the possible occurence of limit cycles due to pushrod stiction; (ii)
reduced stability margin due to communication delays; (iii) variations of the system gain due to
the return spring and the internal pressure of the master cylinder; (iv) unpredictable variations of
the system gain over time due to the pressure of the tank and the pump. Note that the system is
subject to a known 20ms communication delay. The so-called “position" signal is generated by a
control unit on the CAN bus. When the brake pedal is fully released, the “position" signal is 700;
when it is fully pressed, the signal is 1600.
     The open-loop response of the system to different input steps is depicted in Figure 6.5 and
illustrates the non-linear behavior of the system. The cumulated effect of stiction and communi-
cation delays induces a response “delay" between 60ms and 180ms.
Figure 6.4 – Description of the brake system: the brake pedal (1) pushes the master cylinder (4) through the
pushrod (2); the pressure of the fluid increases and activates the brakes on the brake disk (5). (3) is the fluid
reservoir. The hydraulic actuator is used to control the brake pedal position.
                                                       input          output
                      3,000                                                                       100
     brake position
                      2,000                                                                       50
                                                                                                        control
1,000 0
                         0                                                                        −50
                              0   2          4         6              8        10      12       14
                                                           time (s)
     The MFC law was applied using the tuning method suggested in section 6.2.2 while the vehicle
is at standstill with the engine turned on. The overall tuning takes only a few minutes. First, the
proportional gain K P is set to 0. The system being at the rest position, a reference signal is gener-
ated and the open-loop responses are recorded for different values of α (see Figure 6.6), starting
from α = 10000 and decreasing its value until the output and the control signal starts to oscillate
(at α = 200, Figure 6.7). Finally, the value of α is obtained : α = 800. Then, the proportional gain
K P is increased such that the dynamics of the output error is acceptable, see Figure 6.8. The final
tuning of the i-P controller is then α = 800, K P = 2 × 10−3 .
                                                                                                                  129
                                                                                CHAPTER 6. MODEL-FREE CONTROL
           1,200
           1,000
             800
             600
                 0                   2         4          6         8       10          12         14            16     18
                                                                     time (s)
                    10
                             (b)
                     5
     control (-)
                     0
                   −5
               −10
                         0           2         4          6         8       10          12         14            16     18
                                                                     time (s)
                                   Figure 6.6 – Tuning of parameter α for the brake system in open-loop.
                                                                   setpoint          200
position (-)
1,500
1,000
                             0           2         4          6       8       10         12        14            16     18
                                                                       time (s)
                                    Figure 6.7 – Feedforward response for α = 200 of the brake system.
                   1,200
                   1,000
                     800
                     600
                             0           2         4          6       8       10         12        14            16     18
                                                                       time (s)
                                    Figure 6.8 – Tuning of parameter K P for the brake system (α = 800).
   The obtained i-P controller is then compared to a PI controller using the same reference signal.
The PI controller tuning is K P = 5 × 10−2 and K I = 5 × 10−3 . The reference position of the brake
pedal is shown in red in Figure 6.9. The i-P controller performance is slightly better than the PI
one as it provides a lower steady-state error (but not much). Moreover, on a practical point of view,
130
CHAPTER 6. MODEL-FREE CONTROL
the i-P controller has a simpler tuning procedure than the PI one: the parameter α is obtained in
a systematic way, then the K P parameter is tuned empirically whereas for the PI, both parameters
need to be tuned simultaneously.
                                                            setpoint        i-P       PI
           1,600
                   (a)
           1,400
position (-)
           1,200
           1,000
             800
             600
                 0                 2          4         6         8       10         12        14           16   18
                                                                   time (s)
                   10
                            (b)
                    5
     control (-)
                    0
                   −5
               −10
                        0          2          4         6         8       10         12        14           16   18
                                                                   time (s)
                              Figure 6.9 – Comparison between PI and i-P controllers for the brake system
The procedure suggested in section 6.2.2 has been applied for the tuning of α . Throughout this
subsection, the time window of the ALIEN filter T is chosen equal to 0.1s which is a good trade-
                                                                                                                 131
                                                                     CHAPTER 6. MODEL-FREE CONTROL
                              Figure 6.10 – Top view of the open road test field track.
altitude (m)
               116
               114
               112
               110
                     0   50      100        150       200     250              300        350   400   450
                                                      distance (m)
                                        Figure 6.11 – Altitude of the track.
off between noise filtering and the filter bandwidth. The results obtained for different values of α
using only the feedforward control law (K P = 0) are shown in Figure 6.12.
    For large values such as α ∈ [1, 1000], the control amplitude is too low. In such situations,
the gearbox control unit hands over the clutch and the engine to maintain the vehicle speed at
approximatively 12km/h (which corresponds to the idle speed). This feature is standard for vehicle
equipped with an automatic transmission. The reference tracking is improved by decreasing α.
Acceptable values are between 0.005 and 0.01. As expected, when α is too low (α = 1 × 10−3 ), the
closed loop becomes unstable and the experiment is stopped earlier for safety reasons. At this
stage of the tuning procedure, α = 0.008 is chosen.
    The second part of the tuning procedure consists in choosing K P such that the system output
smoothly tracks the reference signal. If a perfect estimation for Fb is assumed, then the closed-loop
pole lay at −αK P (see Equation (6.8)). The closed-loop response should be perfectly damped. In
practice, as shown in Figure 6.13, it is not the case as some overshoots for large K P can be observed.
K P = 100 is chosen as a trade-off between the closed-loop response time and overshoots.
    After a fine tuning of the parameters, the following final values are obtained for the i-P con-
troller: α = 0.006 and K P = 100. The results are shown in blue in Figure 6.14.
Finally, the i-P controller is compared with a PI controller. The results are shown in Figure 6.14.
First, between t ∈ [0, 10]s, both the i-P and the PI controllers are able to reject the disturbance due
to the initial slope. Then, the i-P controller provides a faster tracking of the reference than the
PI. This is due to the feedforward term ẏ r included in the control law, see Equation (6.5). The PI
controllers exhibits a 26% overshoots on the first step at t = 15.2s. The i-P controller overshoot is
only 7.8% at t = 14.0s. Due to the system non-linearities, the other overshoots are smaller for both
132
CHAPTER 6. MODEL-FREE CONTROL
               40
speed (km/h)
20
               0
                    0       10          20          30         40       50             60           70           80
                                                               time (s)
                           Figure 6.12 – Tuning of the α parameter for the high-level controller.
               40
speed (km/h)
20
               0
                    0       10          20          30         40       50             60           70           80
                                                               time (s)
                Figure 6.13 – Response of the model-free controller for different values of K P and α = 0.008.
controllers. The overshoots of the PI controller can be reduced at the price of a slower tracking.
Finally, the overall controller performances can be measured using the root mean square (RMS) of
the tracking error. Data are given in Table 6.7. The i-P performs 36% better than the PI.
    According to the authors’ experience, the tuning of the PI controller was less intuitive than the
i-P and did require more time and experimental trials. The system dynamics is strongly affected
by the engaged gear. As the chosen PI controller has fixed gain, the final tuning has been chosen
to average the performances over the gears 1 to 3 used in this experiment. Better tuning can be
obtained on individual gears at the price of worse performance on the other gears. On the con-
trary, the tuning of the i-P controller was relatively straightforward with the procedure proposed in
section 6.2.2. Moreover, it is less sensible to gear changes since the system dynamics is implicitly
captured through the estimation of the unknown F.
    During acceleration phases, gear shifts occur as shown in Figure 6.14. They are engaged by
the GCU whose control law is unknown. During this period, the clutch is opened. Therefore, the
system is not controllable as the engine torque generated is not transmitted to the wheels. During
deceleration phases, gear shifts happen too but do not impact the controllability of the system as
the brakes can still be applied.
                                                                                                                      133
                                                                                      CHAPTER 6. MODEL-FREE CONTROL
Table 6.7 – Comparison of the root mean square of the tracking error between PI and i-P controllers.
                                                                     setpoint       i-P        PI
              speed (km/h)
40 (a)
                         20
                                                                       gear shift
                             0
                                 0        10         20         30         40             50        60       70      80
           4,000                                                           time (s)
           2,000 (b)
control (N)
               0
          −2,000
          −4,000
                 0                        10         20         30         40             50        60       70      80
                                                                           time (s)
Figure 6.14 – Comparison of the speed profile between the i-P and PI controllers.
Remark 17. In [Delprat et al., 2019], we proposed a slight modification of the ultralocal equation
model which will be mentioned in conclusion of this chapter, in order to improve the stability of the
system. This also easen the tuning of the feedback gains.
134
CHAPTER 6. MODEL-FREE CONTROL
            2
 Y (m)
           −2
                 0       10       20      30      40     50         60         70     80   90     100
                                                        X (m)
Figure 6.15 – Lane change maneuver with a lateral MFC at V = 5m/s without (blue) and with 50ms actuation
delays (green). The initial configuration of the vehicle is given in grey and K P = 5, K D = 6.47.
            1
 ỹ (m)
0.5
                 0       2        4       6       8       10        12         14     16   18      20
                                                       time (s)
Figure 6.16 – Lateral error for a lane change maneuver with a lateral MFC at V = 5m/s without (blue) and
with 50ms actuation delays (green) for K P = 5, K D = 6.47.
           −0.5
                     0        2       4       6    8       10        12        14     16   18      20
                                                        time (s)
Figure 6.17 – Steering angle for a lane change maneuver with a lateral MFC at V = 5m/s without (blue) and
with 50ms actuation delays (green) for K P = 5, K D = 6.47.
6.4 Conclusion
The model-free control paradigm introduced in [Fliess and Join, 2013] is still at its early stages but
could represent an interesting alternative to PID controllers in the automotive industry. While PID
are pure regulators, model-free controllers can also track a varying reference output. Moreover,
they are able to capture variation of parameters through the estimation of the dynamics F.
    However, more research still needs to be conducted. In particular, a better understanding of
the impact of the filter dynamics on the overall performance of the controller should be studied.
Also, the impact of the tuning of α on the stability of the system could be further analyzed. Finally,
one interesting improvement would be to enable time-varying α gains, by adapting its value on-
                                                                                                     135
                                                                     CHAPTER 6. MODEL-FREE CONTROL
line. Some attempts in that direction have been made in [Doublet et al., 2016, Polack et al., 2017].
    At last, in [Delprat et al., 2019], we proposed a new ultralocal model given by Equation (6.37)
for systems of order ν ≥ 2. For βi > 0, i = 1..ν − 1, the system is stable if satisfying the Routh
stability criterion and the tuning of the feedback term of the control law is greatly simplified. This
improvement has enabled to easen the implementation of lateral controllers based on MFC for
autonomous vehicles as shown in section 6.3.3 but is not developed in this manuscript.
                                              ν−1
                                    y (ν) +          βi y (i )   = F + αu
                                              X
                                                                                                (6.37)
                                              i =1
136
Chapter 7
Conclusion
Woody Allen
                                                 137
                                                                        CHAPTER 7. CONCLUSION
a bit restrictive in terms of efficiency, it corresponds to how a human drives. Moreover, a heuristic
speed has been defined and added to the motion planning and control architecture to improve the
driving efficiency. The obtained trajectory is ensured to be not only safe but also dynamically fea-
sible. Several convincing simulations were performed for different road conditions (dry, wet and
icy roads). Moreover, this safety criterion also ensures that any conventional low-level controllers,
in particular those based on a kinematic bicycle model such as the pure-pursuit or the kinematic
chained form controller, will be able to track the reference trajectory.
    Hence, this work claims to use more computational resources for the motion planning layer
in order to obtain better reference trajectories. Instead, most of the existing work in the literature
focuses on increasing the computational power of the low-level controllers in order to achieve
the handling limits of the vehicle. This can be seen as a paradigm shift: not only is the obtained
driving behavior closer to the one of an actual human driver, but also safety guarantees can be
obtained. However, to limit the increase of computational burden at the motion planning level,
model reduction is necessary which comes at a cost of less accuracy.
7.1.2 The suitability of the low-level controller for performing the action
In order to ensure the consistency of the planning and control architecture, low-level controllers,
in particular lateral ones, have been compared too. The conclusion is that the “perfect controller",
so dear to the motion planning community, does not exist. Instead, there is a dilemma between
accuracy and stability1 which needs to be considered. Therefore, we believe that the “best and uni-
versal" controller does not exist. Instead, different controllers should be used in different driving
situations depending on the smoothness and the accuracy desired.
    The controller should be chosen carefully in order to ensure it is able to perform the intention
of the vehicle. In particular, if a highly dynamic emergency maneuver is intended, the controller
should be able to reach the handling limits of the vehicle while ensuring its stability.
7.2 Perspectives
7.2.1 A unified framework for motion planning from decision-making to dynamic fea-
      sibility
At the decision-making level, simple models such as a point-mass or a unicycle model are used for
computational efficiency. However, noticing that a unicycle model is a kinematic bicycle model
expressed at the rear wheels, some further simplifications could be conducted in order to obtain
an integrated motion planner, able to deal simultaneously with decision-making and dynamic
feasibility of the reference trajectory.
138
CHAPTER 7. CONCLUSION
ning and control architecture of an autonomous vehicle to enhance the overall performances. In
particular, two interesting applications of machine learning algorithms are:
    • Choosing the almost-optimal class of homotopy - Everytime a vehicle faces a static or dy-
      namic obstacle, it has to make a binary choice: for a vehicle moving in the same direction, it
      can either overtake it on the left or on the right; for a vehicle crossing its lane at some point,
      the ego-vehicle can either pass before or after the other one. Every choice corresponds to
      a class of homotopy [Bender et al., 2015, Gregoire et al., 2014]. Hence, if n obs is the num-
      ber of obstacles, there exist 2nobs classes of homotopy. Making a combinatorial search to
      know in which homotopy class is the optimal trajectory would require a lot of computa-
      tional resources. Instead, reinforcement learning algorithms or deep-learning algorithms
      could learn the most suited homotopy class from a driving situations to give an initial guess
      to the optimal control problem and avoid local minima. The motion planning MPC layer
      presented in this thesis could then be applied afterwards for finding the optimal trajectory
      within this homotopy class.
    • Learning the vehicle dynamics - The equations of the dynamics, in particular at the wheel
      levels, are complex. Therefore, supervised learning algorithms for time-series could be ap-
      plied to learn the vehicle dynamics from a dataset of recorded trajectories and control input
      sequences. In [Devineau et al., 2018], we have conducted some preliminary research on this
      topic and derived a coupled longitudinal and lateral controller which will be tested on an
      actual vehicle in the future. Learning the vehicle dynamics can also be used at the motion
      planning level, in particular for generating safe control sequences in emergency situations.
7.2.4 Taking into account the dynamics of the actuators at the motion planning level
Another consistency problem between the motion planning and control levels that has not been
tackled in this thesis is the dynamics of the actuators. In particular, in chapter 6, a one-second
response delay to a longitudinal acceleration demand was observed due to the dynamic of the
Engine Control Unit and communication delays. However, these effects have not been considered
at the motion planning level where the desired acceleration profile is assumed to be performed
immediately. These actuator dynamics can have a strong impact on the safety of the reference
trajectory in the case of emergency maneuvers. Tube-based MPC taking into account the actuators
imperfections (delay, noise,...) could be used for example [Gao et al., 2014].
                                                                                                    139
      CHAPTER 7. CONCLUSION
140
Bibliography
[Abbas et al., 2014] Abbas, M. A., Milman, R., and Eklund, J. M. (2014). Obstacle avoidance in
  real time with Nonlinear Model Predictive Control of autonomous vehicles. In 2014 IEEE 27th
  Canadian Conference on Electrical and Computer Engineering, volume 40, pages 1–6. IEEE. 65
[Altché et al., 2017] Altché, F., Polack, P., and de La Fortelle, A. (2017). High-speed trajectory plan-
   ning for autonomous vehicles using a simple dynamic model. In Proc. of the Intelligent Trans-
   portation Systems Conference. 60, 66
[Astrom and Hagglund, 1995] Astrom, K. J. and Hagglund, T. (1995). PID Controllers: Theory, De-
   sign, and Tuning. Instrument Society of America: Research Triangle Park. 77, 96, 118
[Attia et al., 2012a] Attia, R., Orjuela, R., and Basset, M. (2012a). Coupled longitudinal and lateral
   control strategy improving lateral stability for autonomous vehicle. In American Control Con-
   ference (ACC), 2012, pages 6509–6514. IEEE. 116
[Attia et al., 2012b] Attia, R., Orjuela, R., and Basset, M. (2012b). Longitudinal control for auto-
   mated vehicle guidance, volume 45. IFAC. 93
[Baffet et al., 2009] Baffet, G., Charara, A., and Lechner, D. (2009). Estimation of vehicle sideslip,
  tire force and wheel cornering stiffness. Control Engineering Practice, 17(11):1255 – 1264. 100
[Bara et al., 2017] Bara, O., Olama, M., Djouadi, S., Kuruganti, T., Fliess, M., and Join, C. (2017).
  Model-free load control for high penetration of solar photovoltaic generation. In 2017 North
  American Power Symposium (NAPS), Morgantown, United States. 118
[Barraquand et al., 1996] Barraquand, J., Kavraki, L., Latombe, J.-C., Li, T.-Y., Motwani, R., and
  Raghavan, P. (1996). A random sampling scheme for path planning. In Giralt, G. and Hirzinger,
  G., editors, Robotics Research, pages 249–264, London. Springer London. 50
[Bender et al., 2015] Bender, P., Tas, O. S., Ziegler, J., and Stiller, C. (2015). The combinatorial as-
  pect of motion planning: Maneuver variants in structured environments. In 2015 IEEE Intelli-
  gent Vehicles Symposium (IV), number IV, pages 1386–1392. IEEE. 87, 139
[Berntorp, 2017] Berntorp, K. (2017). Path planning and integrated collision avoidance for au-
  tonomous vehicles. In 2017 American Control Conference (ACC), pages 4023–4028, Seattle, WA,
  USA. IEEE. 65
[Besselmann and Morari, 2009] Besselmann, T. and Morari, M. (2009). Autonomous vehicle steer-
  ing using explicit LPV-MPC. In 2009 European Control Conference (ECC), number 1, pages 2628–
  2633. IEEE. 60
[Branicky, 1998] Branicky, M. (1998). Multiple Lyapunov functions and other analysis tools for
   switched and hybrid systems. IEEE Transactions on Automatic Control, 43(4):475–482. 115
[Brynjolfsson and McAfee, 2014] Brynjolfsson, E. and McAfee, A. (2014). The Second Machine Age:
   Work, Progress, and Prosperity in a Time of Brilliant Technologies. W. W. Norton & Company, 1st
   edition. 6, 54
                                                  141
                                                                                      BIBLIOGRAPHY
[Cadena et al., 2016] Cadena, C., Carlone, L., Carrillo, H., Latif, Y., Scaramuzza, D., Neira, J., Reid,
  I., and Leonard, J. J. (2016). Past, Present, and Future of Simultaneous Localization and Map-
  ping: Toward the Robust-Perception Age. IEEE Transactions on Robotics, 32(6):1309–1332. 12
[Camacho and Bordons, 1999] Camacho, E. F. and Bordons, C. (1999). Model Predictive Control.
  55
[Canudas-de Wit and Horowitz, 1999] Canudas-de Wit, C. and Horowitz, R. (1999). Observers for
  tire/road contact friction using only wheel angular velocity information. In Proceedings of the
  38th IEEE Conference on Decision and Control (Cat. No.99CH36304), volume 4, pages 3932–3937.
  IEEE. 35
[Canudas de Wit et al., 1995] Canudas de Wit, C., Olsson, H., Astrom, K., and Lischinsky, P. (1995).
  A new model for control of systems with friction. IEEE Transactions on Automatic Control,
  40(3):419–425. 35
[Canudas de Wit and Tsiotras, 1999] Canudas de Wit, C. and Tsiotras, P. (1999). Dynamic tire fric-
  tion models for vehicle traction control. In Proceedings of the 38th IEEE Conference on Decision
  and Control (Cat. No.99CH36304), volume 4, pages 3746–3751. IEEE. 35
[Canudas-de Wit et al., 2003] Canudas-de Wit, C., Tsiotras, P., Velenis, E., Basset, M., and
  Gissinger, G. (2003). Dynamic Friction Models for Road/Tire Longitudinal Interaction. Vehi-
  cle System Dynamics, 39(3):189–226. 35
[Chaib et al., 2004] Chaib, S., Netto, M. S., and Mammar, S. (2004). H/sub/spl infin//, adaptive,
  pid and fuzzy control: a comparison of controllers for vehicle lane keeping. In Intelligent Vehi-
  cles Symposium, 2004 IEEE, pages 139–144. IEEE. 95
[Chand et al., 2016] Chand, A. N., Kawanishi, M., and Narikiyo, T. (2016). Non-linear model-free
  control of flapping wing flying robot using iPID. In 2016 IEEE International Conference on
  Robotics and Automation (ICRA), volume 2016-June, pages 2930–2937. IEEE. 118
[Choi et al., 2009] Choi, S., d’Andréa-Novel, B., Fliess, M., Mounier, H., and Villagra, J. (2009).
  Model-free control of automotive engine and brake for stop-and-go scenarios. In Control Con-
  ference (ECC), 2009 European, pages 3622–3627. IEEE. 127
[Coulter, 1992] Coulter, R. C. (1992). Implementation of the Pure Pursuit Path Tracking Algorithm.
  Carnegie Mellon University. 64, 97
[Dahlquist and Björck, 2008] Dahlquist, G. and Björck, Å. (2008). Numerical Methods in Scientific
  Computing, Volume I, volume 1. Society for Industrial and Applied Mathematics. 121
[d’Andréa et al., 2010] d’Andréa, B., Fliess, M., Join, C., Mounier, H., and Steux, B. (2010). A math-
   ematical explanation via "intelligent" PID controllers of the strange ubiquity of PIDs. In 18th
   Mediterranean Conference on Control and Automation, MED’10, pages 395–400. IEEE. 120
[d’Andréa Novel, 1995] d’Andréa Novel, B. (1995). Systèmes mécaniques non holonomes. In In-
   troduction à la Commande Non Linéaire des Sysèmes Dynamiques. Applications à la Robotique.
   XI
142
BIBLIOGRAPHY
[d’Andréa-Novel et al., 2016] d’Andréa-Novel, B., Menhour, L., Fliess, M., and Mounier, H. (2016).
   Some remarks on wheeled autonomous vehicles and the evolution of their control design. IFAC-
   PapersOnLine, 49(15):199–204. 127
[Delprat et al., 2019] Delprat, S., Polack, P., and d’Andréa-Novel, B. (2019). A revised look at
  intelligent-pid model free control (in submission). 134, 136
[Devineau et al., 2018] Devineau, G., Polack, P., Altché, F., and Moutarde, F. (2018). Coupled Lon-
  gitudinal and Lateral Control of a Vehicle using Deep Learning . 2018 21st International IEEE
  Conference on Intelligent Transportation Systems (ITSC) (accepted). 87, 116, 139
[Dijkstra, 1959] Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Nu-
  merische Mathematik, 1(1):269–271. 50
[Donges, 1978] Donges, E. (1978). A Two-Level Model of Driver Steering Behavior. Human Factors,
  20(6):691–707. 115
[Dormand and Prince, 1980] Dormand, J. and Prince, P. (1980). A family of embedded Runge-
  Kutta formulae. Journal of Computational and Applied Mathematics, 6(1):19–26. 38
[Doublet et al., 2016] Doublet, M., Join, C., and Hamelin, F. (2016). Model-free control for un-
  known delayed systems. In 3rd Conf. on Control and Fault-Tolerant Systems, Barcelona, Spain.
  136
[Dubins, 1957] Dubins, L. E. (1957). On Curves of Minimal Length with a Constraint on Average
  Curvature, and with Prescribed Initial and Terminal Positions and Tangents. American Journal
  of Mathematics, 79(3):497. 58
[Dugoff et al., 1969] Dugoff, H., Fancher, P. S., and Segel, L. (1969). Tire perfomance characteris-
  tics affecting vehicle response to steering and braking control inputs. Highway Safety Research
  Institute,University of Michigan, 460. 34
[Englund et al., 2016] Englund, C., Chen, L., Ploeg, J., Semsar-Kazerooni, E., Voronov, A., Bengts-
  son, H. H., and Didoff, J. (2016). The Grand Cooperative Driving Challenge 2016: boosting the
  introduction of cooperative automated vehicles. IEEE Wireless Communications, 23(4):146–152.
  7
[Ersal et al., 2008] Ersal, T., Fathy, H. K., Rideout, D. G., Louca, L. S., and Stein, J. L. (2008). A Re-
   view of Proper Modeling Techniques. Journal of Dynamic Systems, Measurement, and Control,
   130(6):061008. 15, 66
[Falcone et al., 2007a] Falcone, P., Borrelli, F., Asgari, J., Tseng, H. E., and Hrovat, D. (2007a). Pre-
   dictive Active Steering Control for Autonomous Vehicle Systems. IEEE Transactions on Control
   Systems Technology, 15(3):566–580. 59, 66
[Falcone et al., 2007b] Falcone, P., Borrelli, F., Asgari, J., Tseng, H. E., and Hrovat, D. (2007b). Pre-
   dictive active steering control for autonomous vehicle systems. IEEE Transactions on control
   systems technology, 15(3):566–580. 65, 94, 116
[Fiala, 1954] Fiala, E. (1954). Seitenkrafte am rollenden luftreifen’z. vdi bd. 96, no. 29. 37
[Fliess and Join, 2008] Fliess, M. and Join, C. (2008). Intelligent PID controllers. In 2008 16th
   Mediterranean Conference on Control and Automation, volume 44, pages 326–331. IEEE. 119
[Fliess and Join, 2009] Fliess, M. and Join, C. (2009). Model-free Control and Intelligent PID Con-
   trollers: Towards a Possible Trivialization of Nonlinear Control? IFAC Proceedings Volumes,
   42(10):1531–1550. 118
                                                                                                      143
                                                                                           BIBLIOGRAPHY
[Fliess and Join, 2013] Fliess, M. and Join, C. (2013). Model-free control. International Journal of
   Control, 86(12):2228–2252. 16, 118, 135
[Fliess et al., 1995] Fliess, M., Lévine, J., Martin, P., and Rouchon, P. (1995). Flatness and defect
   of non-linear systems: introductory theory and examples. International Journal of Control,
   61(6):1327–1361. 118
[Fliess and Sira-Ramírez, 2003] Fliess, M. and Sira-Ramírez, H. (2003). An algebraic framework for
   linear identification. ESAIM: Control, Optimisation and Calculus of Variations, 9:151–168. 118,
   119, XIII
[Funke et al., 2017] Funke, J., Brown, M., Erlien, S. M., and Gerdes, J. C. (2017). Collision Avoid-
   ance and Stabilization for Autonomous Vehicles in Emergency Scenarios. IEEE Transactions on
   Control Systems Technology, 25(4):1204–1216. 60
[Funke et al., 2012] Funke, J., Theodosis, P., Hindiyeh, R., Stanek, G., Kritatakirana, K., Gerdes, C.,
   Langer, D., Hernandez, M., Muller-Bessler, B., and Huhnke, B. (2012). Up to the limits: Au-
   tonomous Audi TTS. In 2012 IEEE Intelligent Vehicles Symposium, pages 541–547. IEEE. 59
[Gao et al., 2014] Gao, Y., Gray, A., Tseng, H. E., and Borrelli, F. (2014). A tube-based robust nonlin-
  ear predictive control approach to semiautonomous ground vehicles. Vehicle System Dynamics,
  52(6):802–823. 139
[Gao et al., 2010] Gao, Y., Lin, T., Borrelli, F., Tseng, E., and Hrovat, D. (2010). Predictive Control of
  Autonomous Ground Vehicles With Obstacle Avoidance on Slippery Roads. In ASME Dynamic
  Systems and Control Conference, volume 1, pages 265–272. ASME. 65, 66
[Goh and Gerdes, 2016] Goh, J. Y. and Gerdes, J. C. (2016). Simultaneous stabilization and track-
  ing of basic automobile drifting trajectories. In 2016 IEEE Intelligent Vehicles Symposium (IV),
  number Iv, pages 597–602. IEEE. 37, 116
[Gonzalez et al., 2016] Gonzalez, D., Perez, J., Milanes, V., and Nashashibi, F. (2016). A Review of
  Motion Planning Techniques for Automated Vehicles. IEEE Transactions on Intelligent Trans-
  portation Systems, 17(4):1135–1145. 48
[Gray et al., 2012] Gray, A., Gao, Y., Lin, T., Hedrick, J. K., Tseng, H. E., and Borrelli, F. (2012). Predic-
  tive control for agile semi-autonomous ground vehicles using motion primitives. In American
  Control Conference (ACC), pages 4239–4244. 60, 66
[Gregoire et al., 2014] Gregoire, J., Bonnabel, S., and De La Fortelle, A. (2014). Priority-based coor-
  dination of robots. 139
[Guntur and Sankar, 1980] Guntur, R. and Sankar, S. (1980). A friction circle concept for dugoff’s
  tyre friction model. International Journal of Vehicle Design, 1(4):373–377. 34
[Hessburg et al., 1991] Hessburg, T., Peng, H., Tomizuka, M., Zhang, W.-B., and Kamei, E. (1991).
  An experimental study on lateral control of a vehicle. In American Control Conference, 1991,
  pages 3084–3089. IEEE. 94
[Hessburg and Tomizuka, 1994] Hessburg, T. and Tomizuka, M. (1994). Fuzzy logic control for
  lateral vehicle guidance. IEEE control systems, 14(4):55–63. 94
[Hindiyeh and Gerdes, 2014] Hindiyeh, R. Y. and Gerdes, J. C. (2014). A Controller Framework
  for Autonomous Drifting: Design, Stability, and Experimental Validation. Journal of Dynamic
  Systems, Measurement, and Control, 136(5):051015. 37
144
BIBLIOGRAPHY
[Hingwe et al., 2002] Hingwe, P., Tan, H.-S., Packard, A. K., and Tomizuka, M. (2002). Linear pa-
  rameter varying controller for automated lane guidance: experimental study on tractor-trailers.
  IEEE Transactions on control systems technology, 10(6):793–806. 94
[Hingwe and Tomizuka, 1997] Hingwe, P. and Tomizuka, M. (1997). Experimental evaluation of
  a chatter free sliding mode control for lateral control in ahs. In American Control Conference,
  1997. Proceedings of the 1997, volume 5, pages 3365–3369. IEEE. 94
[Houska et al., 2011a] Houska, B., Ferreau, H., and Diehl, M. (2011a). ACADO Toolkit – An Open
  Source Framework for Automatic Control and Dynamic Optimization. Optimal Control Appli-
  cations and Methods, 32(3):298–312. 55, 64, 76
[Houska et al., 2011b] Houska, B., Ferreau, H. J., and Diehl, M. (2011b). An auto-generated real-
  time iteration algorithm for nonlinear mpc in the microsecond range. Automatica, 47(10):2279–
  2285. 54
[Jiang et al., 2016] Jiang, H., Wang, Z., Chen, Q., and Zhu, J. (2016). Obstacle avoidance of au-
   tonomous vehicles with CQP-based model predictive control. In 2016 IEEE International Con-
   ference on Systems, Man, and Cybernetics (SMC), volume 223, pages 001668–001673. IEEE. 65
[Jiménez et al., 1998] Jiménez, P., Thomas, F., and Torras, C. (1998). Collision detection algorithms
   for motion planning. In Robot Motion Planning and Control, pages 305–343. Springer. 53
[Join et al., 2013] Join, C., Chaxel, F., and Fliess, M. (2013). "Intelligent" controllers on cheap and
   small programmable devices. In 2013 Conference on Control and Fault-Tolerant Systems (Sys-
   Tol), pages 554–559. IEEE. 118
[Join et al., 2008] Join, C., Masse, J., Fliess, M., Join, C., Masse, J., and Fliess, M. (2008). Etude
   préliminaire d ’ une commande sans modèle pour papillon de moteur. 127
[Kalman and Bucy, 1961] Kalman, R. E. and Bucy, R. S. (1961). New results in linear filtering and
  prediction theory. Journal of basic engineering, 83(1):95–108. 13
[Katrakazas et al., 2015] Katrakazas, C., Quddus, M., Chen, W.-H., and Deka, L. (2015). Real-time
  motion planning methods for autonomous on-road driving: State-of-the-art and future re-
  search directions. Transportation Research Part C: Emerging Technologies, 60:416–442. 48
[Kavraki et al., 1996] Kavraki, L., Svestka, P., Latombe, J.-C., and Overmars, M. (1996). Probabilistic
  roadmaps for path planning in high-dimensional configuration spaces. IEEE Transactions on
  Robotics and Automation, 12(4):566–580. 53
[Kermani et al., 2012] Kermani, S., Delprat, S., Guerra, T., Trigui, R., and Jeanneret, B. (2012). Pre-
  dictive energy management for hybrid vehicle. Control Engineering Practice, 20(4):408–420. 125
[Khalil, 1996] Khalil, H. K. (1996). Noninear systems. Prentice-Hall, New Jersey, 2(5):5–1. 29
[Khatib, 1986] Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile
  robots. Proceedings. 1985 IEEE International Conference on Robotics and Automation, 2:500–
  505. 49
[Khodayari et al., 2010] Khodayari, A., Ghaffari, A., Ameli, S., and Flahatgar, J. (2010). A historical
  review on lateral and longitudinal control of autonomous vehicle motions. In Mechanical and
  Electrical Technology (ICMET), 2010 2nd International Conference on, pages 421–429. IEEE. 92
[Kiencke and Nielsen, 2005] Kiencke, U. and Nielsen, L. (2005). Automotive Control Systems, vol-
   ume 38. Springer Berlin Heidelberg, Berlin, Heidelberg. 20, 36
[Kokotović et al., 1999] Kokotović, P., Khalil, H. K., and O’reilly, J. (1999). Singular perturbation
  methods in control: analysis and design. SIAM. 29
                                                                                                   145
                                                                                      BIBLIOGRAPHY
[Kong et al., 2015] Kong, J., Pfeiffer, M., Schildbach, G., and Borrelli, F. (2015). Kinematic and Dy-
  namic Vehicle Models for Autonomous Driving Control Design. In IEEE Intelligent Vehicles Sym-
  posium, pages 1094–1099, Seoul, Korea. 67
[Kozlov et al., 1979] Kozlov, M. K., Tarasov, S. P., and KHACHIIAN, L. (1979). Polynomial solvability
  of the convex quadratic programming. Doklady Akademii Nauk SSSR, 248(5):1049–1051. 65
[Kritayakirana and Gerdes, 2012] Kritayakirana, K. and Gerdes, J. C. (2012). Autonomous vehi-
   cle control at the limits of handling. International Journal of Vehicle Autonomous Systems,
   10(4):271. 59, 116
[Kuwata et al., 2008] Kuwata, Y., Fiore, G., Teo, J., Frazzoli, E., and How, J. (2008). Motion planning
  for urban driving using RRT. In 2008 IEEE/RSJ International Conference on Intelligent Robots
  and Systems, pages 1681–1686. IEEE. 58
[Latombe, 2013] Latombe, J.-c. (2013). Robot motion plannig, volume 53. 48
[Laumond et al., 1994] Laumond, J.-P., Jacobs, P., Taix, M., and Murray, R. (1994). A motion
   planner for nonholonomic mobile robots. IEEE Transactions on Robotics and Automation,
   10(5):577–593. 57
[Laumond et al., 1998] Laumond, J. P., Sekhavat, S., and Lamiraux, F. (1998). Guidelines in non-
   holonomic motion planning for mobile robots. In Robot Motion Planning and Control, volume
   229, pages 1–53. Springer-Verlag, London. XI
[LaValle and Kuffner, 2001] LaValle, S. M. and Kuffner, J. J. (2001). Randomized Kinodynamic
   Planning. The International Journal of Robotics Research, 20(5):378–400. 53
[Lenain et al., 2010] Lenain, R., Thuilot, B., Cariou, C., and Martinet, P. (2010). Mixed kinematic
   and dynamic sideslip angle observer for accurate control of fast off-road mobile robots. Journal
   of Field Robotics, 27(2):181–196. 100
[Li et al., 2017] Li, X., Sun, Z., Cao, D., Liu, D., and He, H. (2017). Development of a new integrated
   local trajectory planning and tracking control framework for autonomous ground vehicles. Me-
   chanical Systems and Signal Processing, 87:118–137. 65
[Liang and Peng, 1999] Liang, C.-Y. and Peng, H. (1999). Optimal adaptive cruise control with
   guaranteed string stability. Vehicle System Dynamics, 32(4-5):313–330. 92
[Liniger et al., 2015] Liniger, A., Domahidi, A., and Morari, M. (2015). Optimization-based au-
   tonomous racing of 1:43 scale RC cars. Optimal Control Applications and Methods, 36(5):628–
   647. 65
[Liu et al., 2013] Liu, J., Jayakumar, P., Overholt, J. L., Stein, J. L., and Ersal, T. (2013). The Role
   of Model Fidelity in Model Predictive Control Based Hazard Avoidance in Unmanned Ground
   Vehicles Using LIDAR Sensors. In ASME 2013 Dynamic Systems and Control Conference. 67
146
BIBLIOGRAPHY
[Martinez and Canudas-de Wit, 2007] Martinez, J.-J. and Canudas-de Wit, C. (2007). A Safe Longi-
  tudinal Control for Adaptive Cruise Control and Stop-and-Go Scenarios. IEEE Transactions on
  Control Systems Technology, 15(2):246–258. 92
[Menhour et al., 2011a] Menhour, L., D’Andréa-Novel, B., Boussard, C., Fliess, M., and Mounier,
  H. (2011a). Algebraic nonlinear estimation and flatness-based lateral/longitudinal control for
  automotive vehicles. In 2011 14th International IEEE Conference on Intelligent Transportation
  Systems (ITSC), number Umr 8506, pages 463–468. IEEE. 116
[Menhour et al., 2015] Menhour, L., d’Andréa-Novel, B., Fliess, M., Gruyer, D., and Mounier, H.
  (2015). A new model-free design for vehicle control and its validation through an advanced
  simulation platform. European Control Conference. 127, 134
[Menhour et al., 2013] Menhour, L., d’Andréa-Novel, B., Fliess, M., and Mounier, H. (2013). Multi-
  variable decoupled longitudinal and lateral vehicle control: A model-free design. In 52nd IEEE
  Conference on Decision and Control, pages 2834–2839. IEEE. 127, 134
[Menhour et al., 2011b] Menhour, L., Lechner, D., and Charara, A. (2011b). Two degrees of free-
  dom PID multi-controllers to design a mathematical driver model: experimental validation and
  robustness tests. Vehicle System Dynamics, 49(4):595–624. 94, 97
[Milanés et al., 2012] Milanés, V., Villagrá, J., Godoy, J., and González, C. (2012). Comparing Fuzzy
  and Intelligent PI Controllers in Stop-and-Go Manoeuvres. IEEE Transactions on Control Sys-
  tems Technology, 20(3):770–778. 127, 128
[Minorsky, 1922] Minorsky, N. (1922). Directional stability of automatically steered bodies. Jour-
  nal of the American Society for Naval Engineers, 34(2):280–309. 95
[Murgovski and Sjöberg, 2015] Murgovski, N. and Sjöberg, J. (2015). Predictive cruise control with
  autonomous overtaking. In 2015 54th IEEE Conference on Decision and Control (CDC), pages
  644–649. 41
[Netto et al., 2004] Netto, M. S., Chaib, S., and Mammar, S. (2004). Lateral adaptive control for
  vehicle lane keeping. In American Control Conference, 2004. Proceedings of the 2004, volume 3,
  pages 2693–2698. IEEE. 95
[Nilsson et al., 2015a] Nilsson, J., Brannstrom, M., Coelingh, E., and Fredriksson, J. (2015a). Lon-
  gitudinal and lateral control for automated lane change maneuvers. In 2015 American Control
  Conference (ACC), pages 1399–1404. IEEE. 65
[Nilsson et al., 2015b] Nilsson, J., Falcone, P., Ali, M., and Sjoberg, J. (2015b). Receding horizon
  maneuver generation for automated highway driving. 41. 41
[Pacejka, 2002] Pacejka, H. B. (2002). Tyre and Vehicle Dynamics. Butterworth-Heinemann. 29,
   30, 32, 38, 82
[Pacejka and Besselink, 1997] Pacejka, H. B. and Besselink, I. J. M. (1997). Magic Formula Tyre
   Model with Transient Properties. Vehicle System Dynamics, 27(sup001):234–249. 29
[Paden et al., 2016] Paden, B., Cap, M., Yong, S. Z., Yershov, D., and Frazzoli, E. (2016). A Survey of
   Motion Planning and Control Techniques for Self-Driving Urban Vehicles. IEEE Transactions on
   Intelligent Vehicles, 1(1):33–55. 48
                                                                                                   147
                                                                                       BIBLIOGRAPHY
[Park et al., 2009] Park, J.-m., Kim, D.-W., Yoon, Y.-s., Kim, H. J., and Yi, K.-s. (2009). Obstacle
   avoidance of autonomous vehicles based on model predictive control. Proceedings of the Insti-
   tution of Mechanical Engineers, Part D: Journal of Automobile Engineering, 223(12):1499–1516.
   60, 67
[Persson et al., 2005] Persson, B. N. J., Tartaglino, U., Albohr, O., and Tosatti, E. (2005). Rubber
   friction on wet and dry road surfaces: The sealing effect. Phys. Rev. B, 71:035428. 71, 84
[Peter E. Hart et al., 1968] Peter E. Hart, Nils J. Nilsson, and Bertram Raphael (1968). Formal Ba-
   sis for the Heuristic Determination of Minimum Cost Paths. Systems Science and Cybernetics,
   (2):100–107. 50
[Ploeg et al., 2012] Ploeg, J., Shladover, S., Nijmeijer, H., and van de Wouw, N. (2012). Introduction
   to the Special Issue on the 2011 Grand Cooperative Driving Challenge. IEEE Transactions on
   Intelligent Transportation Systems, 13(3):989–993. 7
[Polack et al., 2017] Polack, P., d’Andréa-Novel, B., Fliess, M., de La Fortelle, A., and Menhour, L.
   (2017). Finite-Time Stabilization of Longitudinal Control for Autonomous Vehicles via a Model-
   Free Approach. IFAC-PapersOnLine, 50(1):12533–12538. 136
[Qian et al., 2016] Qian, X., Altche, F., Bender, P., Stiller, C., and de La Fortelle, A. (2016). Optimal
  trajectory planning for autonomous driving integrating logical constraints: An MIQP perspec-
  tive. In 2016 IEEE 19th International Conference on Intelligent Transportation Systems (ITSC),
  pages 205–210, Rio de Janeiro, Brazil. IEEE. 41, 65, 66
[Qian et al., 2017] Qian, X., Altché, F., Grégoire, J., and de La Fortelle, A. (2017). Autonomous inter-
  section management systems: criteria, implementation and evaluation. IET Intelligent Trans-
  port Systems, 11(3):182–189. 13
[Rajamani, 2012] Rajamani, R. (2012). Vehicle Dynamics and Control. Springer. 20, 43, 67, 101
[Reeds and Shepp, 1990] Reeds, J. and Shepp, L. (1990). Optimal paths for a car that goes both
  forwards and backwards. Pacific Journal of Mathematics, 145(2):367–393. 58
[Reggiani et al., 1990] Reggiani, M., Mazzoli, M., and Caselli, S. (1990). An experimental evaluation
  of collision detection packages for robot motion planning. In IEEE/RSJ International Conference
  on Intelligent Robots and System, volume 3, pages 2329–2334. IEEE. 53
[Reif, 1979] Reif, J. H. (1979). Complexity of the mover’s problem and generalizations. In Pro-
  ceedings of the 20th Annual Symposium on Foundations of Computer Science, pages 421–427,
  Washington, DC, USA. IEEE Computer Society. 49
[Rice, 1973] Rice, R. S. (1973). Measuring car-driver interaction with the g-g diagram. In 1973
   International Automotive Engineering Congress and Exposition. SAE International. 59
[Rosolia et al., 2017] Rosolia, U., De Bruyne, S., and Alleyne, A. G. (2017). Autonomous Vehicle
  Control: A Nonconvex Approach for Obstacle Avoidance. IEEE Transactions on Control Systems
  Technology, 25(2):469–484. 65
[Samson, 1993] Samson, C. (1993). Time-varying Feedback Stabilization of Car-like Wheeled Mo-
   bile Robots. The International Journal of Robotics Research, 12(1):55–64. 118
[Samson, 1995] Samson, C. (1995). Control of chained systems application to path following and
   time-varying point-stabilization of mobile robots. IEEE Transactions on Automatic Control,
   40(1):64–77. 99
[Schlömilch et al., 1901] Schlömilch, O., Witzschel, B., Cantor, M., Kahl, E., Mehmke, R., and
   Runge, C. (1901). Zeitschrift für Mathematik und Physik. Number vol. 46. B. G. Teubner. 122
148
BIBLIOGRAPHY
[Schürmann et al., 2017] Schürmann, B., Heß, D., Eilbrecht, J., Stursberg, O., Köster, F., and Al-
   thoff, M. (2017). Ensuring drivability of planned motions using formal methods. In Proc. of the
   Intelligent Transportation Systems Conference. 60, 66
[Schwartz and Sharir, 1981] Schwartz, J. T. and Sharir, M. (1981). On the piano movers problem i:
   The case of a two-dimensional rigid polygonal body moving amidst polygonal barriers, depart-
   ment of computer science, courant institute of’mathematical sciences, nyu, report 39. 48
[Schwartz and Sharir, 1983] Schwartz, J. T. and Sharir, M. (1983). On the “piano movers” prob-
   lem. II. General techniques for computing topological properties of real algebraic manifolds.
   Advances in Applied Mathematics, 4(3):298–351. 49
[Sharp et al., 2000] Sharp, R. S., Casanova, D., and Symonds, P. (2000). A Mathematical Model for
   Driver Steering Control , with Design, Tuning and Performance results. Vehicle System Dynam-
   ics, 33(768414408):289–326. 94, 96
[Shinohara et al., 2016] Shinohara, M., Oda, T., Nonaka, K., and Sekiguchi, K. (2016). Model pre-
   dictive path following control with acceleration constraints for front steering vehicles. In 2016
   IEEE 14th International Workshop on Advanced Motion Control (AMC), pages 71–78. IEEE. 94
[Shladover, 2006] Shladover, S. (2006). PATH at 20 – History and Major Milestones. In 2006 IEEE
   Intelligent Transportation Systems Conference, number 1, pages 1_22–1_29. IEEE. 6
[Snider, 2009] Snider, J. M. (2009). Automatic steering methods for autonomous automobile path
   tracking. Technical Report CMU-RI-TR-09-08, Robotics Institute, Carnegie Mellon University,
   Pittsburgh, PA. 95, 97, 98
[Sotelo, 2003] Sotelo, M. A. (2003). Lateral control strategy for autonomous steering of ackerman-
   like vehicles. Robotics and Autonomous Systems, 45(3-4):223–233. 100
[Sussmann, 1982] Sussmann, H. (1982). Lie brackets, real analyticity and geometric control, dif-
   ferential geometric control theory, brockett, millman, sussmann eds. XI
[Swaroop et al., 2001] Swaroop, D., Karl Hedrick, J., and Choi, S. B. (2001). Direct adaptive longi-
  tudinal control of vehicle platoons. IEEE Transactions on Vehicular Technology, 50(1):150–161.
  92
[Talj et al., 2013] Talj, R., Tagne, G., Charara, A., Talj, R., Tagne, G., Immersion, A. C., Control, I.,
   Talj, R., Tagne, G., and Charara, A. (2013). Immersion and Invariance Control for Lateral Dy-
   namics of Autonomous Vehicles , with Experimental Validation To cite this version : Immersion
   and Invariance Control for Lateral Dynamics of Autonomous Vehicles , with Experimental Vali-
   dation. IEEE Intelligent Vehicles Symposium. 94
[Tarski, 1951] Tarski, A. (1951). A Decision Method for Elementary Algebra and Geometry. Univer-
   sity of California Press. 49
[Thorpe et al., 1991a] Thorpe, C., Herbert, M., Kanade, T., and Shafer, S. (1991a). Toward au-
  tonomous driving: the cmu navlab. i. perception. IEEE expert, 6(4):31–42. 6
[Thorpe et al., 1991b] Thorpe, C., Herbert, M., Kanade, T., and Shafter, S. (1991b). Toward au-
  tonomous driving: the cmu navlab. ii. architecture and systems. IEEE expert, 6(4):44–52. 6
[Thrun et al., 2006] Thrun, S., Montemerlo, M., Dahlkamp, H., Stavens, D., Aron, A., Diebel, J.,
  Fong, P., Gale, J., Halpenny, M., Hoffmann, G., Lau, K., Oakley, C., Palatucci, M., Pratt, V., Stang,
  P., Strohband, S., Dupont, C., Jendrossek, L.-E., Koelen, C., Markey, C., Rummel, C., van Niekerk,
                                                                                                     149
                                                                                         BIBLIOGRAPHY
  J., Jensen, E., Alessandrini, P., Bradski, G., Davies, B., Ettinger, S., Kaehler, A., Nefian, A., and
  Mahoney, P. (2006). Stanley: The robot that won the darpa grand challenge: Research articles.
  J. Robot. Syst., 23(9):661–692. 93, 98
[Thuilot et al., 2004] Thuilot, B., Bom, J., Marmoiton, F., and Martinet, P. (2004). Accurate auto-
  matic guidance of an urban electric vehicle relying on a kinematic gps sensor. IFAC Proceedings
  Volumes, 37(8):155–160. 100
[Villagrá et al., 2010] Villagrá, J., Milanés, V., Pérez, J., and González, C. (2010). Model-free control
   techniques for Stop &amp; Go systems. Intelligent Transportation Systems (ITSC), 2010
   13th International IEEE Conference on, pages 1899–1904. 127
[Waluś and Olszewski, 2011] Waluś, K. J. and Olszewski, Z. (2011). Analysis of tire-road contact
  under winter conditions. In Proceedings of the World Congress on Engineering, volume 3, Lon-
  don, U.K. 84
[Wang et al., 2011] Wang, J., Mounier, H., Cela, A., and Niculescu, S. I. (2011). Event driven intelli-
  gent PID controllers with applications to motion control, volume 18. IFAC. 127
[Wang et al., 2015] Wang, X., Fu, M., Ma, H., and Yang, Y. (2015). Lateral control of autonomous
  vehicles based on fuzzy logic. Control Engineering Practice, 34:1 – 17. 94
[Weiskircher and Ayalew, 2015] Weiskircher, T. and Ayalew, B. (2015). Predictive ADAS: A predic-
  tive trajectory guidance scheme for advanced driver assistance in public traffic. In 2015 Euro-
  pean Control Conference (ECC), pages 3402–3407. IEEE. 98
[Williams et al., 2016] Williams, G., Drews, P., Goldfain, B., Rehg, J. M., and Theodorou, E. A.
  (2016). Aggressive driving with model predictive path integral control. In 2016 IEEE Interna-
  tional Conference on Robotics and Automation (ICRA), pages 1433–1440, Stockholm, Sweden.
  IEEE. 57
[Zalila et al., 1998] Zalila, Z., Bonnay, F., and Coffin, F. (1998). Lateral guidance of an autonomous
   vehicle by a fuzzy logic controller. In Systems, Man, and Cybernetics, 1998. 1998 IEEE Interna-
   tional Conference on, volume 2, pages 1996–2001. IEEE. 94
[Zhan et al., 2016] Zhan, W., Liu, C., Chan, C.-Y., and Tomizuka, M. (2016). A non-conservatively
  defensive strategy for urban autonomous driving. In 2016 IEEE 19th International Conference
  on Intelligent Transportation Systems (ITSC), pages 459–464, Rio de Janeiro, Brazil. IEEE. 59, 65,
  66
[Zhao et al., 2007] Zhao, S., Li, Y., Zheng, L., and Lu, S. (2007). Vehicle Lateral Stability Control
  Based on Sliding Mode Control *. Proceedings of the IEEE International Conference on Automa-
  tion and Logistics, pages 638–642. 94
[Ziegler et al., 2014a] Ziegler, J., Bender, P., Dang, T., and Stiller, C. (2014a). Trajectory planning for
   Bertha - a local, continuous method. In 2014 IEEE Intelligent Vehicles Symposium Proceedings,
   pages 450–457, Dearborn, Michigan, USA. IEEE. 104
[Ziegler et al., 2014b] Ziegler, J., Bender, P., Schreiber, M., Lategahn, H., Strauss, T., Stiller, C., Thao
   Dang, Franke, U., Appenrodt, N., Keller, C. G., Kaus, E., Herrtwich, R. G., Rabe, C., Pfeiffer,
   D., Lindner, F., Stein, F., Erbs, F., Enzweiler, M., Knoppel, C., Hipp, J., Haueis, M., Trepte, M.,
   Brenk, C., Tamke, A., Ghanaat, M., Braun, M., Joos, A., Fritz, H., Mock, H., Hein, M., and Zeeb,
   E. (2014b). Making Bertha Drive - An Autonomous Journey on a Historic Route. IEEE Intelligent
   Transportation Systems Magazine, 6(2):8–20. 7, 65, 66
[Ziegler and Nichols, 1993] Ziegler, J. G. and Nichols, N. B. (1993). Optimum Settings for Auto-
   matic Controllers. Journal of Dynamic Systems, Measurement, and Control, 115(2B):220. 96
150
  Part IV
Appendices
    151
Appendix A
Vehicle dynamics
                                                      4
                                       ˙e ) =
                                   MT (~
                                       V.~
                                                      X
                                                             Fxi + Faer o x + Px                     (A.1a)
                                          x
                                                      i =1
                                                        4
                                       ˙e ) =
                                   MT (~
                                       V.~
                                                      X
                                                             F yi + P y                              (A.1b)
                                          y
                                                      i =1
However, for the vertical dynamics, we only apply the fundamental principle to the suspended
mass of the carbody whose mass is MS = MT − 4m r (m r is the mass of a wheel):
                                                      4
                                       ˙e ) =
                                   MS (~
                                       V.~
                                                      X
                                                             Fzi + Pz + Faer o z
                                          z
                                                      i =1
                                 Px    = MT g sin(φ − p x )                                          (A.2a)
                                 Py    = −MT g sin(θ − p y ) cos(φ − p x )                           (A.2b)
                                 Pz    = −MS g cos(θ − p y ) cos(φ − p x )                           (A.2c)
                                                1            2
                                   Faer o x   =   ρai r Cx SVaer o cos(φ)                            (A.3a)
                                                2
                                   Faer o y   = 0                                                    (A.3b)
                                                1            2
                                   Faer o z   =   ρai r Cx SVaer o sin(φ)                            (A.3c)
                                                2
                                        ~
                                        V     = Vx ~
                                                   e x + Vy~
                                                           e y + Vz ~
                                                                    ez                                 (A.4)
                           V˙
                           ~    = V̇x~        e˙x + V̇ y ~
                                     e x + Vx ~                  e˙y + V̇z~
                                                         e y + Vy~                 e˙z
                                                                          e z + Vz ~                   (A.5)
                                                        I
                                                                            APPENDIX A. VEHICLE DYNAMICS
                                                   e x ,~
The mapping between the vehicle coordinate system (~    e y ,~
                                                             e z ) and the inertial coordinate system
 e X ,~
(~    e Y ,~
           e Z ) is given by Equation (A.6)
                                              ex                eX
                                                              
                                             e y  = Rθ Rφ Rψ e Y                                     (A.6)
                                              ez                eZ
where the expressions of the rotation matrices are given by Equations (A.7):
                                                     1     0     0
                                                                   
                                         Rφ      =  0       1   0                                     (A.7b)
                                                     sin φ 0 cos φ
                                                      cos ψ sin ψ 0
                                                                     
                                                          e X ,~
Deriving with respect to time Equation (A.6) considering (~    e Y ,~
                                                                    e Z ) as fixed, we obtain in the ve-
hicle coordinate system:
        ė x                                                        e
                                                                  
                 ¡                                  ¢ −1 −1 −1 x
       ė y  = Ṙθ Rφ Rψ + Rθ Ṙφ Rψ + Rθ Rφ Ṙψ R R R e y                                            (A.8)
                                                       ψ φ θ
        ė z                                                        ez
                               0             ψ̇ cos φ cos θ − φ̇ sin θ −φ̇ cos θ − ψ̇ cos φ sin θ e x
                                                                                                 
                                                    0      0     0
                                                                    
                                      Ṙφ     = φ̇  0       0    0                                    (A.9b)
                                                     cos φ 0 − sin φ
                                                     − sin ψ cos ψ 0
                                                                       
Thus
                  ˙e
                  ~
                  V.~     = V̇x + V y (φ̇ sin θ − ψ̇ cos φ cos θ) + Vz (φ̇ cos θ + ψ̇ cos φ sin θ)     (A.10a)
                      x
                  ˙
                  ~ e
                  V.~     = V̇ y + Vx (ψ̇ cos φ cos θ − φ̇ sin θ) + Vz (ψ̇ sin φ − θ̇)                (A.10b)
                     y
                  ˙e
                  ~
                  V.~     = V̇z + Vx (−φ̇ cos θ − ψ̇ cos φ sin θ) + V y (θ̇ − ψ̇ sin φ)                (A.10c)
                     z
Considering that φ and θ are small, Equations (A.10) are simplified to Equations (A.11)
                                             ˙e
                                             ~
                                             V.~     = V̇x − ψ̇V y + φ̇Vz                              (A.11a)
                                                 x
                                             ˙
                                             ~ e
                                             V.~     = V̇ y + ψ̇Vx − θ̇Vz                             (A.11b)
                                                 y
                                             ˙e
                                             ~
                                             V.~     = V̇z − φ̇Vx + θ̇V y                              (A.11c)
                                                z
II
APPENDIX A. VEHICLE DYNAMICS
Finally, we end up with Equations (A.12) for the linear velocities of the carbody in the 10 DoF
vehicle model after neglecting the terms φ̇Vz , θ̇Vz , θ̇V y :
                                  4     1           2
        MT (V̇x − V y ψ̇) =        Fxi − ρai r Cx SVaer
                                  X
                                                        o cos(φ) + MT g sin(φ − p x )                        (A.12a)
                              i =1      2
                                  4
        MT (V̇ y + Vx ψ̇) =
                                  X
                                      F yi − MT g sin(θ − p y ) cos(φ − p x )                                (A.12b)
                              i =1
                                4                                                1            2
        MS (V̇z − Vx φ̇) =                                                         ρai r Cx SVaer
                              X
                                      Fzi − MS g cos(θ − p y ) cos(φ − p x ) +                    o sin(φ)   (A.12c)
                              i =1                                               2
where ~
      vMis the velocity of a point M expressed in the rigid body’s coordinate frame R 0 .
        ∗
                                                                      R
Theorem 4 (König’s theorem). For a ridig body with total mass M = M∈B dm:
                                            ~LO       −−→
                                                            v G +~L∗
                                                    = OG ∧ M~                                                 (A.15)
where ~
      v G is the velocity of the center of gravity in the inertial frame R g .
Developing Equation (A.14) leads to the following expression for the barycentric Angular Momen-
tum:
                                                  ~L∗   = I~
                                                           ΩR 0 /R g                                          (A.16)
where I is the inertia matrix of the rigid body B given by Equations (A.17) and ~ΩR 0 /R g is the rota-
tional speed between the rigid body’s frame R 0 and the inertial frame R g given by Equation (A.18).
                            Ix
                                               
                                   −Ix y −Ixz
                     I = −Ix y      Iy   Iy z                                                              (A.17a)
                          −Ixz −I y z      Iz
                         R      2     2
                                                  R                           R
                           B (y    + z )dm      − B x ydm                   − B xzdm
                                                                                        
                                                    2
                                                      + z 2 )dm
                               R              R                               R
                       =  − B x ydm           B (x                         − B y zdm                       (A.17b)
                                                                                2  2
                               R                  R                       R
                             − B xzdm            − B y zdm                 B (x + y )dm
                                                                  θ̇
                                                                 
                                                  ~
                                                  ΩR 0 /R g   =  φ̇                                         (A.18)
                                                                  ψ̇
The integral in Equation (A.17b) is made on all M ∈ B, with (x, y, z) the coordinates of M in the
rigid body’s frame.
                                                                                                                 III
                                                                                   APPENDIX A. VEHICLE DYNAMICS
Theorem 5 (Angular Momentum theorem). The Angular Momentum theorem of a point-mass sys-
tem in rotation around a fixed point O expressed in an inertial frame R g links the angular momen-
tum with the total torque applied on the system:
                                         d~LO                          ~O (~Fi )
                                                                      M
                                                             X
                                              |R g      =                                                        (A.19)
                                          dt                  i
where M ~O (~Fi ) is the moment generated by the force ~Fi around the point O and              d ...
                                                                                                          is the deriva-
                                                                                               d t |R g
tive with respect to time considering the inertial frame R g as fixed.
Theorem 6 (Barycentric Angular Momentum theorem). For a rigid body, the barycentric Angular
Momentum theorem, where G is the center of inertia of the rigid body (even if it is not fixed in R g ),
leads to:
where M~G (~Fext ) is the moment generated by the external force ~Fext around the center of inertia G.
             i                                                     i
Theorem 7 (Bour’s formula). The relation between the derivatives with respect to time of a vector ~
                                                                                                  U
condisering two different fixed coordinate frame is given by Bour’s formula:
                                   d~
                                    U                d~
                                                      U
                                      |R       =        |R 0 + ~
                                                               ΩR 0 /R g ∧ ~
                                                                           U                                     (A.21)
                                   dt g              dt
                             d~L∗          d~L∗
                                  |R g   =      |R 0 + ~
                                                       ΩR 0 /R g ∧~L∗                                           (A.22a)
                              dt            dt
                                            ˙ 0
                                         = I~
                                            Ω           ~            ~
                                              R /R g + ΩR 0 /R g ∧ (IΩR 0 /R g )                                (A.22b)
where I~
       Ω˙ 0                                         ~
           R /R g is given by Equation (A.22c) and IΩR 0 /R g by Equation (A.22d), neglecting the cross
terms Ix y , I y z and Ixz .
                                                               Ix θ̈
                                                                    
                                            ˙ 0
                                           I~
                                            Ω               = I y φ̈                                          (A.22c)
                                              R /R g
                                                               Iz ψ̈
                                                               Ix θ̇
                                                                    
                                           I~
                                            ΩR 0 /R g       = I y φ̇                                          (A.22d)
                                                               Iz ψ̇
Thus:
                                                  Ix θ̈ + (Iz − I y )φ̇ψ̇
                                                                         
                                   d~L∗
                                        |R g   = I y φ̈ + (Ix − Iz )θ̇ψ̇                                      (A.23a)
                                    dt
                                                  Iz ψ̈ + (I y − Ix )θ̇φ̇
                                                   Ix θ̈
                                                        
                                               ≈ I y φ̈                                                       (A.23b)
                                                  Iz ψ̈
IV
APPENDIX A. VEHICLE DYNAMICS
Remark 18. If we want to take into account the fact that the roll center or pitch center H do not
coincide with the center of gravity G, we need to use Huygens’ theorem for the computation of the
inertia matrix:
IH = IG + M(GH)2 (A.24)
However, due to the difficulty to get their accurate position, we assume that they coincide with the
center of gravity G in our simulation model.
                                                   d~L∗                      ~G (~Fext )
                                                                            M
                                                                    X
                                                        |R g   =                   i                                      (A.25)
                                                    dt                i
where the external forces are the normal reaction forces Fzi , the longitudinal and lateral tire forces
Fxi and F yi and the aerodynamic drag forces Faer o .
Remark 19. Considering that the normal reaction forces at equilibrium induce no moment of force
on the system, we can consider only their variation in the computation of the momentum applied
to the system. This variation corresponds to the one of the suspension forces ∆Fsi .
   Thus, by computing the moment of all theses forces around the center of gravity G and using
Equation (A.23), we end up with Equation (A.26) which is the result we were looking for.
                                                                                4
                Ix θ̈ = l w (∆Fs1 + ∆Fs3 − ∆Fs2 − ∆Fs4 ) +
                                                                                X
                                                                                      h CoG F yi                         (A.26a)
                                                                               i =1
                                                                                        4
                I y φ̈ = −l f (∆Fs1 + ∆Fs2 ) + l r (∆Fs3 + ∆Fs4 ) −
                                                                                        X
                                                                                              h CoG Fxi + h CoG Faer o   (A.26b)
                                                                                       i =1
                Iz ψ̈ = l f (F y1 + F y2 ) − l r (F y3 + F y4 ) + l w (Fx2 + Fx4 − Fx1 − Fx3 )                           (A.26c)
                            lf                        lf
                                                                                                            
                                                                               −l r                           −l r
                zs f l   = l w    ;    zs f r   = −l w     ;   z sr l   =  lw           ;   z sr r   = −l w       (A.28)
                             0                        0                          0                             0
By applying successively the pitch and roll rotation matrices, respectively Rφ and Rθ defined in
Equation (A.7), on these imaginary points, and projecting then the result onto the ~
                                                                                   e z axis, we ob-
tain the displacement ∆z si of the suspension i :
                                                  ∆z si = 0 0 1 Rθ Rφ z si
                                                         ¡     ¢
                                                                                                                          (A.29)
                                                                                                                              V
                                                                         APPENDIX A. VEHICLE DYNAMICS
Thus, we obtain:
                        ˙ s
                       ∆z        = l w θ̇ cos θ + l f θ̇ sin θ sin φ − l f φ̇ cos θ cos φ      (A.31a)
                            fl
                        ˙ s
                       ∆z        = −l w θ̇ cos θ + l f θ̇ sin θ sin φ − l f φ̇ cos θ cos φ     (A.31b)
                            fr
                        ˙ s
                       ∆z        = l w θ̇ cos θ − l r θ̇ sin θ sin φ + l r φ̇ cos θ cos φ      (A.31c)
                            rl
                        ˙ s
                       ∆z        = −l w θ̇ cos θ − l r θ̇ sin θ sin φ + l r φ̇ cos θ cos φ     (A.31d)
                            rr
                                                                                        ˙ si = 0 for
Remark 20. At equilibrium (i.e. θ = 0, θ̇ = 0,φ = 0 and φ̇ = 0), we have ∆z si = 0 and ∆z
each suspension i .
Remark 21. The yaw rotation matrix Rψ has already been applied to the whole vehicle but Rθ et Rφ
are only applied to the carbody.
The computation of the variation of the suspension forces ∆Fsi and the normal reaction forces Fzi
of wheel i are then obtained respectively by Equations (A.32) and (A.33). The latter is obtained by
applying the fundamental principle of dynamics to the wheel i along the ~ e z axis, as shown on the
right in Figure 2.7.
                                        ∆Fsi                         ˙ si
                                                 = −k s ∆z si − d s ∆z                          (A.32)
where P = MT g is the total weight of the vehicle and Fzi 0 is the normal reaction force at wheel i .
Then the moment of inertia is zero along ~ e x and ~
                                                   e y axis at equilibrium. Thus:
                                        ¡                         ¢
                                     l w Fz10 + Fz30 − Fz20 − Fz40 = 0                         (A.34b)
                                  l r (Fz30 + Fz40 ) − l f (Fz10 + Fz20 ) = 0                  (A.34c)
Moreover, as the distribution of the vehicle mass is supposed to be perfectly symmetric, we get
Fz10 = Fz20 and Fz30 = Fz40 . Hence:
                                                          l r MT g
                                         Fz10 = Fz20 =                                         (A.34d)
                                                         2(l f + l r )
                                                          l f MT g
                                         Fz30 = Fz40 =                                         (A.34e)
                                                         2(l f + l r )
VI
APPENDIX A. VEHICLE DYNAMICS
The lateral slip-angle αi of tire i is the angle between the direction given by the orientation of the
wheel and the direction of the velocity of the wheel (see Figure A.1). There expressions are given
by Equations (A.35).
                                                               V y + l f ψ̇
                                                           µ                  ¶
                                     αf l   = δ f − atan                                            (A.35a)
                                                             Vx − l w ψ̇
                                                             V y + l f ψ̇
                                                           µ              ¶
                                    αf r    = δ f − atan                                           (A.35b)
                                                            Vx + l w ψ̇
                                                         V y − l r ψ̇
                                                       µ              ¶
                                     αr l   = − atan                                                (A.35c)
                                                         Vx − l w ψ̇
                                                         V y − l r ψ̇
                                                       µ              ¶
                                     αr r   = − atan                                               (A.35d)
                                                          Vx + l w ψ̇
Proof. Set θVi to be the angle between the speed vector ~        Vi and the longitudinal axis ~
                                                                                              e x of the ve-
hicle. Set C f l , C f r , Cr l and Cr r to be the center of rotation of each wheel (see Figure A.2). We
have:
                                                            V y (Ci )
                                            tan(θVi ) =                                              (A.36)
                                                            Vx (Ci )
The speed composition rule for a rigid body gives us the following relation where ~
                                                                                  Ωv/g = ψ̇~
                                                                                           e z rep-
resents the rotational speed between the vehicle and the inertial frame:
                                     ~               −−→
                                     V(Ci ) = ~
                                              V(G) + Ci G ∧ ~
                                                            Ωv/g                                     (A.37)
Thus:
                               ~
                               V(C f l ) = ~
                                           V(G) + −l f ~
                                                       e x − l w~
                                                                e y ∧ ψ̇~
                                                 ¡                 ¢
                                                                        ez                          (A.38a)
                               ~
                               V(C f r ) = ~
                                           V(G) + −l f ~
                                                       e x + l w~
                                                                e y ∧ ψ̇~
                                                 ¡                 ¢
                                                                        ez                         (A.38b)
                               ~           ~
                               V(Cr l ) = V(G) + +l r ~e x − l w~
                                                                e y ∧ ψ̇~
                                                 ¡                 ¢
                                                                        ez                          (A.38c)
                               ~           ~
                               V(Cr r ) = V(G) + +l r ~e x + l w~
                                                                e y ∧ ψ̇~
                                                 ¡                 ¢
                                                                        ez                         (A.38d)
                                                                                                        VII
                                                                       APPENDIX A. VEHICLE DYNAMICS
Hence
                                                        V y + l f ψ̇
                                       tan(θV f l ) =                                        (A.39a)
                                                        Vx − l w ψ̇
                                                        V y + l f ψ̇
                                       tan(θV f r ) =                                        (A.39b)
                                                        Vx + l w ψ̇
                                                        V y − l r ψ̇
                                       tan(θVr l ) =                                         (A.39c)
                                                        Vx − l w ψ̇
                                                        V y − l r ψ̇
                                       tan(θVr r ) =                                         (A.39d)
                                                        Vx + l w ψ̇
VIII
Appendix B
a(q)T q̇ = 0 (B.1)
In particular, this is the case of the slip-free rolling condition for a vehicle with q = (X, Y, ψ) and
a(X, Y, ψ) = (− sin ψ, cos ψ, 0)T .
α(q) = 0 (B.2)
Remark 22. If a constraint is holonomic, α(q) is constant along the trajectories q(t ) and is the first
integral of the velocity field.
                                d                 ∂α
                                   α(t ) =                           = a(q)T q̇
                                                                    ¡           ¢
                                                     (q)q̇ = 0                                      (B.3)
                                dt                ∂q
Suppose now that the system has m constraints of the form of Equation (B.1) that can be written:
A(q)T q̇ = 0 (B.4)
with A(q) = [a 1 (q), a 2 (q), ..., a m (q)]. We define n to be the number of configuration coordinates.
Let’s recall some definitions.
Definition 4 (Vector field). A vector field is a smooth map f : CS → Tq CS which associates to each
configuration q in the configuration space CS a vector in the tangent space Tq CS to q.
Examples:
f and g correspond respectively to the linear and angular velocity of the vehicle.
Definition 5 (Distribution). A distribution ∆ = ( f 1 (q), ..., f n−m (q)) is a linear sub-space of vector
fields.
                                                        IX
           APPENDIX B. NON-HOLONOMIC CONSTRAINT AND SMALL-TIME CONTROLLABILITY
For a constraint defined by Equation (B.4), a distribution ( f 1 (q), ..., f n−m (q)) is given by the j th
column of matrix S where:
Definition 6 (Lie bracket). Let f , g be two vector fields on the configuration space CS. The Lie
bracket [ f , g ] is the vector field defined by:
                                                                     ∂g    ∂f
                                                        [f ,g] =        f−    g                             (B.7)
                                                                     ∂q    ∂q
Example:
Therefore, Frobenius’ theorem provides a very powerful formal method to test if the system is non-
holonomic.
Definition 8 (locally controllable). A system is locally controllable from state ξ if the set of points
reachable from ξ by an admissible trajectory contains a neighborhood of ξ.
Definition 9 (small-time controllable). A system is small-time controllable from state ξ if the set of
points reachable from ξ before a given time T contains a neighborhood of ξ for any T.
The system is said to be small-time controllable if it is small-time controllable for every state ξ.
X
APPENDIX B. NON-HOLONOMIC CONSTRAINT AND SMALL-TIME CONTROLLABILITY
Theorem 9 (Lie Algebra Rank Condition). The system is small-time controllable from a configura-
tion q if:
   • f 1 (q) = (cos ψ, sin ψ, 0)T , f 2 (q) = (0, 0, 1)T , [ f 1 , f 2 ](q) = (− sin ψ, cos ψ, 0)T is a base for LA(∆q ).
     ¡                                                                                            ¢
Therefore, the Lie Algebra Rank Condition is true and the system is small-time controllable.
Lastly, from any configuration q, it is possible to find an open neighborhood V (q), reachable from
q as the system is small-time controllable. Then, from a configuration q 0 ∈ V (q), it is possible
to find an open neighborhood V (q 0 ), reachable from q 0 and so forth. Therefore, if there exists a
collision free path from configuration q i ni t to q g oal with no constraints on the motion and no
contact, then there exists a set of open sets joining q i ni t to q g oal where the system is small-time
controllable. Finally, applying the Heine-Borel theorem, there exists a finite number of open sets
joining q i ni t to q g oal which can thus be obtained using a computer.
Remark 23. More literature on Lie Algebra, non-holonomic constraints and small-time controlla-
bility can be found [Sussmann, 1982], [d’Andréa Novel, 1995], [Laumond et al., 1998].
                                                                                                                     XI
      APPENDIX B. NON-HOLONOMIC CONSTRAINT AND SMALL-TIME CONTROLLABILITY
XII
Appendix C
Model-free Control
                                        ∂E
If there exist ν ∈]0; m[ such that     ∂y (ν)
                                                6= 0, the implicit function theorem yields then locally to:
y (ν) = E (t , y, ẏ, ..., y (ν−1) , y (ν+1) , ..., y (m) , u, u̇, ..., u (n) ) (C.2)
                                                                a0 a1 a2
                                                 Y(s) =            + 2 + 3 + ...                              (C.3)
                                                                 s  s   s
   2. Get rid of the initial conditions by multiplying by s m1 and deriving m 2 times with respect to
      s.
   3. Multiply by s −p for noise attenuation, in order to have all the terms in Y(s) and its derivatives
      dnY                      1 dnY
      d s n to be in the form s α d s n with α ≥ 1.
   4. Apply the inverse Laplace transform given by Equations (C.4) and (C.5) in order to get the
      result in the time domain.
                                c                      t α−1
                                   , α ≥ 1, c ∈ C ⇒ c          ,t > 0                                         (C.4)
                                sα                    (α − 1)!
                                 1 dnY               (−1)n      T
                                                             Z
                                          , α ≥ 1 ⇒               (T − τ)α−1 τn y(τ) dτ                       (C.5)
                                 sα d sn            (α − 1)! 0
                                                              XIII
                                                                                           APPENDIX C. MODEL-FREE CONTROL
                                                            s 2 Y(s) =
                                                                sa 0 + a 1                                          (C.7a)
                                                  d 2
                                                     (s Y(s)) = a 0                                                 (C.7b)
                                                  ds
                                                  d 2                        dY
                                                     (s Y(s)) = 2sY(s) + s 2                                        (C.7c)
                                                  ds                         ds
We end up with Equation (C.8)
                                                                                          dY
                                                            a0   = 2sY(s) + s 2                                      (C.8)
                                                                                          ds
Thus, after doing the inverse Laplace transform:
                                                                 2
                                                                      Z       T
                                               a0           =                     (2T − 3τ)y(τ)d τ                   (C.9)
                                                                 T2       0
                                                               2 T
                                                                 Z
                                 y(t ) = a 0                =        (2T − 3τ)y(τ)d τ                               (C.10)
                                                              T2 0
                                                                6 T
                                                                   Z
                                y 0 (t ) = a 1              = − 3      (T − 2τ)y(τ)d τ                              (C.11)
                                                                T 0
                                                              60 T 2
                                                                 Z
                                y 00 (t ) = a 2             =        (T − 6Tτ + 6τ2 )y(τ)d τ                        (C.12)
                                                              T5 0
                                        6
                                              Z       T
                      F
                      b = −                               [(T − 2τ)y(τ) + ατ(T − τ)u(τ))] dτ if ν = 1               (C.13)
                                        T3        0
                                                                      Fs
                                                      sY(s) =            + αU(s) + y(0)                             (C.14)
                                                                      s
Then, we get rid of the initial condition y(0) by multiplying by dds on both sides. In order to obtain
an equation only composed of terms of the form given by Equations (C.4) and (C.5) for which the
inverse Laplace transforms are known, multiply both side by s −2 . We end up with Equation (C.15).
                                              Y(s) 1 d Y                              Fs     1 dU
                                                  +                       = −             +α 2                      (C.15)
                                               s2   s ds                              s 4   s ds
Applying Equations (C.4) and (C.5) to Equation (C.15) leads to Equation (C.13).
Similarly, for a second-order system, starting from ÿ = F + αu one obtain Equation (C.16):
                          5!            T                             α
                                Z
               F
               b = −                        [(−T 2 + 6Tτ − 6τ2 )y(τ) + τ2 (T − τ)2 u(τ))] dτ if ν = 2               (C.16)
                         2T 5       0                                 2
XIV
APPENDIX C. MODEL-FREE CONTROL
• Trapezoidal rule:
                          6
                               Z       T
                        − 3                [(T − 2τ)y(τ) + ατ(T − τ)u(τ))] dτ ≈                                 (C.17)
                         T         0
                                         6Ts N−2
                                                 ·                 µ           ¶¸
                                             X               1       Yk + Yk+1
                                      − 3         (T − 2(k + )Ts )
                                          T k=0              2          Ts
                                6Ts N−2                             αk+1 Uk+1 + αk Uk
                                        ·                         µ                   ¶¸
                                    X         1             1
                               − 3       (k + )Ts (T − (k + )Ts )
                                T k=0         2             2               Ts
At steady-state, ẏ = 0 and u is constant, thus F = −αu. The analog expression of the ALIEN filter
given by Equation (C.18) leads to:
                                               6
                                                    Z       T
                           F
                           bf ilt = −                           [(T − 2τ)y + τ(T − τ)αu)] dτ = −αu              (C.18)
                                               T3       0
However, the numerical quadrature of the integral using the trapezoidal rule given by the right-
hand side of Equation (C.17) leads to an error. More precisely:
                                                                           1 Ts 2
                                                                            µ ¶
                                                    F
                                                    bnum           = −αu −        αu                            (C.19)
                                                                           2 T
Lemma 1. Given Nbu f ≥ 3, there exist m ∈ N∗ and (t k0 , t k1 , ..., t km ) ∈ (R+ )m+1 such that the three
following properties hold (with T = (Nbu f − 1)Ts ):
    • Initialization
      For Nbu f = 3 and Nbu f = 4, set m = 1.
          – ∀i ∈ 1; m 0 , mod (t k0 , Ts ) = 0;
                                                i
                                                                                                                    XV
                                                                                                                    APPENDIX C. MODEL-FREE CONTROL
                              t k0          −t k0                                  t k 0 −t k
                                                                                                m 0 −1
          – ∀i ∈ 1; m 0 ,          i +1
                                       Ts
                                                    i
                                                        = {2, 3} and                 m
                                                                                         Ts               = 2.
Theorem 10. For all Nbu f ≥ 3, there exists a third-order numerical quadrature of Equation (6.3).
Proof. According to Lemma 1, there exists m ∈ N∗ and (t k0 , t k1 , ..., t km ) ∈ (R+ )m+1 verifying the
properties P1, P2 and P3.
                                                        RT
As 0 = t k0 < t k1 < t k2 < ... < t km = T, the integral 0 can be expressed as:
                                                        Z       T       Z    t k1                 Z      t ki +1            Z    t km
                                                                    =               +... +                         +... +
                                                            0               t k0                      t ki                      t km−1
                              R tki +1
where each subintegral            t ki     is well defined and can be computed as ∀i ∈ 0; m, mod (t ki , Ts ) = 0.
                             t ki +1 −t ki
Finally, as ∀i ∈ 1; m, Ts                 = {2, 3}, a third-order numerical quadrature can be obtained using
                    t ki +1 −t ki                                   t k −t k
Equation (6.15) if        Ts        = 2 and Equation (6.16) if i +1Ts i = 3.
Remark 24. A second-order system cannot systematically be decomposed into subintervals where
Equation (6.17) can be applied.
                                                    1¯
In particular, choosing ² =                 ³
                                                     ¯ αKP ¯ δ
                                                             ¯´             > 0 which is defined as f max 6= 0 leads to the presented
                                             1+|e 0 |¯ f max ¯
results. Thus:
                                                                           ¯       ¯
                       ∀δ > 0, ∃K ∈ N∗ , ∀k ∈ N∗ , k ≥ K, |e k | ≤ (1 + δ) ¯ αK1 P ¯ f max                                                      (C.22)
                                                                           ¯       ¯
XVI
APPENDIX C. MODEL-FREE CONTROL
                                 XVII
        APPENDIX C. MODEL-FREE CONTROL
XVIII
Appendix D
Résumé en francais
Chapitre 1 : Introduction
Aujourd’hui, la révolution numérique transforme la mobilité, tout comme la révolution indus-
trielle a pu le faire au début du XXème siècle. En particulier, la voiture qui était un objet mé-
canique par excellence au début des années 1980, est devenue au fil du temps de plus en plus
semblable à un appareil électronique. De nombreux systèmes d’aide à la conduite, désignés par
l’acronyme ADAS (pour Advanced Driver Assistance Systems), équipent déjà les voitures haut de
gamme afin d’assurer une meilleure prévention des accidents, si bien qu’aujourd’hui, la voiture
autonome n’est plus une utopie mais un objet réel qui pourrait faire partie du monde de demain,
en particulier quand on observe que plus de 94% des accidents de la route sont dus à des erreurs
humaines.
     La voiture autonome est un robot sur roues : ainsi, elle est composée des quatre primitives
de la robotique, à savoir la perception, la modélisation du monde environnant, la planification
et l’action. Ces tâches sont plus ou moins complexes en fonction de la situation et peuvent de-
mander une forte ou une faible capacité cognitive. Alors que les ordinateurs surpassent les hu-
mains en performance dans le second cas de figure, le premier cas est encore dominé par les hu-
mains... mais pour combien de temps encore ? Cette thèse porte exclusivement sur les tâches
de planification et d’action, que nous nommerons par la suite respectivement planification du
mouvement et contrôle-commande. En particulier, nous nous intéressons à la cohérence en-
tre les deux, c’est-à-dire l’impact qu’a la planification sur le contrôle et inversement, surtout en
termes de niveau de modélisation et d’abstraction du comportement de la voiture. Ainsi, nous
montrerons tout d’abord comment garantir qu’une trajectoire de référence calculée par le planifi-
cateur de mouvement est faisable à la fois cinématiquement et dynamiquement. Dans un second
temps, nous comparerons les performances de contrôleurs latéraux communément utilisés dans
la littérature pour savoir quel type de trajectoires de référence ils sont capables de suivre. Enfin, le
dernier chapitre de cette thèse, indépendant du reste, abordera la commande sans modèle. Cette
technique récente, introduite dans Fliess et Join (2013), apparaît comme prometteuse car elle de-
mande peu de connaissances sur le système. Les questions de son implémentation sur une vraie
voiture et des garanties obtenues sont abordées.
                                                  XIX
                                                            APPENDIX D. RÉSUMÉ EN FRANCAIS
vitesses de rotation des angles de roulis, tangage et lacet, et les vitesses de rotations de chacune
des quatre roues.
    Enfin, ce chapitre présente différents modèles simplifiés pour représenter le mouvement d’un
véhicule lors des étapes de planification et de contrôle, que ce soit le point-matériel, modèle le
plus simplifié, le modèle unicycle ou encore le modèle bicyclette cinématique.
XX
APPENDIX D. RÉSUMÉ EN FRANCAIS
des conditions de la route. En revanche, au-dessus de cette valeur maximale, les erreurs de mod-
èle deviennent très grandes. Cette contrainte sur l’accélération latérale peut être exprimée comme
une contrainte dynamique sur l’angle au volant : ce dernier est limité par une valeur maximale qui
dépend alors de la vitesse du véhicule. Après avoir obtenu ces résultats sur le modèle bicyclette
cinématique, une architecture de planification et de contrôle pour le véhicule autonome est pro-
posée. Elle repose sur quatre modules principaux : (i) un planificateur local de vitesse ; (ii) un
gestionnaire d’obstacles ; (iii) un planificateur de trajectoire reposant sur la commande prédic-
tive à modèle (planificateur MPC) avec un modèle bicyclette cinématique ; (iv) des contrôleurs
longitudinaux et latéraux.
    Le planificateur local de vitesse permet de rendre l’architecture du véhicule moins conserva-
trice en calculant une vitesse heuristique qui servira de référence au planificateur de trajectoire
MPC. Cette vitesse heuristique dépend à la fois de la vitesse actuelle du véhicule mais aussi de
la géométrie de la route à venir. Le gestionnaire d’obstacles construit une parabole autour de
chaque obstacle. Le planificateur MPC calcule ensuite une trajectoire de référence qui évite les
paraboles définies précédemment. La vitesse de référence que calcule le MPC est guidée par la
vitesse heuristique définie précédemment. Le planificateur MPC est soumis à des contraintes liées
au mouvement du véhicule : ce dernier doit non seulement respecter le modèle bicyclette ciné-
matique mais aussi la contrainte dynamique sur l’angle au volant mentionnée précédemment.
Ainsi, les trajectoires obtenues sont assurées d’être dynamiquement faisables et de plus, le choix
du contrôleur devient plus facile car il suffit que ce dernier repose sur un modèle similaire. Les
contrôleurs se décomposent en un contrôleur longitudinal proportionnel-intégral-dérivatif (PID)
et en un contrôleur latéral comprenant un terme en boucle ouverte (angle au volant calculé par
le planificateur MPC) et un terme en boucle fermée (PID sur l’erreur d’orientation du véhicule
anticipée de 0.2s).
    Cette architecture est ensuite testée en simulation sur un circuit difficile, alternant entre longues
lignes droites et virages très serrés, afin de montrer son efficacité et sa capacité à générer des tra-
jectoires faisables. Enfin, une adaptation aux routes mouillées et enneigées est proposée. Cette
adaptation ne modifie pas les gains des planificateurs de mouvement et des contrôleurs ce qui la
rend plus facile à implémenter en situation réelle.
L’objectif des contrôleurs pour la voiture autonome est de suivre une trajectoire ou un chemin de
référence en actionnant les pédales d’accélération et de frein, ainsi que le volant de la voiture.
La plupart du temps, le contrôle longitudinal qui est responsable du suivi de la vitesse et/ou
de l’accélération de référence est traité indépendamment du contrôle latéral, dédié au suivi du
chemin : on parle alors de contrôleurs découplés. Cependant, dans des situations plus complexes
telles les manœuvres d’urgence, les couplages des dynamiques longitudinales et latérales néces-
sitent de considérer les deux problèmes simultanément : on parle alors de contrôleurs couplés.
Après une première partie succincte sur le contrôle longitudinal, différents contrôleurs latéraux
communément utilisés dans la littérature (en particulier les contrôleurs Stanley, pure-poursuite
et forme chaînée reposant sur le modèle bicyclette cinématique) sont présentés et comparés en
situation réelle sur le campus de l’Université de Shanghai Jiao-Tong. Les conclusions de cette ex-
périence sont qu’il n’existe pas de “meilleur" contrôleur mais différents contrôleurs adaptés à dif-
férentes situations : par exemple, le contrôleur qui repose sur la forme chaînée a une précision in-
férieure à 30cm plus de 95% du temps ; en revanche, contrairement au contrôleur pure-poursuite,
il n’est ni très confortable en ligne droite, ni très précis dans les virages serrés ; le contrôleur pure-
poursuite a une précision inférieure à 30cm seulement 50% du temps. Enfin, la dernière section
de ce chapitre présente un état de l’art des contrôleurs couplés.
                                                                                                      XXI
                                                             APPENDIX D. RÉSUMÉ EN FRANCAIS
Chapitre 7 : Conclusion
Cette thèse défend qu’une condition sine qua non pour assurer le déploiement à grande échelle
des véhicules autonomes est de pouvoir garantir à tout moment que l’action effectivement réal-
isée par la voiture corresponde à son intention. Cette garantie essentielle à la sécurité du véhicule
devient d’autant plus importante en cas de conduite coopérative où les intentions sont échangées
entre véhicules. Les sources d’incohérence entre l’action et l’intention d’un véhicule peuvent
provenir majoritairement de deux facteurs : la non-faisabilité de l’intention due à l’utilisation d’un
modèle trop simplifié et par conséquent non valide dans la plage considérée; le choix d’un con-
trôleur inapproprié pour la réalisation de l’intention.
    Cette thèse ouvre des perspectives diverses. Tout d’abord, les travaux sur la validité du mod-
èle bicyclette cinématique peuvent être étendus au modèle unicycle. Cela permettra peut-être à
terme d’établir un cadre unique pour répondre aux problématiques de prise de décision et de fais-
abilité dynamique. Ensuite, l’intégration du machine learning pour apprendre à « simplifier » des
problèmes complexes tels la prise de décision ou le couplage de la dynamique permettrait de gag-
ner en efficacité algorithmique. Enfin, l’intégration au niveau de la planification des imperfections
des contrôleurs permettrait de renforcer l’adéquation entre l’intention et l’action.
XXII
APPENDIX D. RÉSUMÉ EN FRANCAIS
                                 XXIII
Résumé                                       Abstract
La voiture autonome pourrait réduire le      Autonomous vehicles are believed to re-
nombre de morts et de blessés sur les        duce the number of deaths and casual-
routes tout en améliorant l’efficacité du    ties on the roads while improving the traf-
trafic. Cependant, afin d’assurer leur       fic efficiency. However, before their mass
déploiement en masse sur les routes          deployment on open public roads, their
ouvertes au public, leur sécurité doit       safety must be guaranteed at all time.
être garantie en toutes circonstances.       Therefore, this thesis deals with the mo-
Cette thèse traite de l’architecture de      tion planning and control architecture for
planification et de contrôle pour la con-    autonomous vehicles and claims that the
duite automatisée et défend l’idée que       intention of the vehicle must match with
l’intention du véhicule doit correspondre    its actual actions. For that purpose, the
aux actions réalisées afin de garantir       kinematic and dynamic feasibility of the
la sécurité à tout moment. Pour cela,        reference trajectory should be ensured.
la faisabilité cinématique et dynamique      Otherwise, the controller which is blind to
de la trajectoire de référence doit être     obstacles is unable to track it, setting the
assurée. Sinon, le contrôleur, aveu-         ego-vehicle and other traffic participants
gle aux obstacles, n’est pas capable de      in jeopardy. The proposed architecture
la suivre, entraînant un danger pour la      uses Model Predictive Control based on
voiture elle-même et les autres usagers      a kinematic bicycle model for planning
de la route. L’architecture proposée re-     safe reference trajectories. Its feasibil-
pose sur la commande à modèle prédic-        ity is ensured by adding a dynamic con-
tif fondée sur un modèle bicyclette ciné-    straint on the steering angle which has
matique afin de planifier des trajectoires   been derived in this work in order to en-
de référence sûres. La faisabilité de        sure the validity of the kinematic bicy-
la trajectoire de référence est assurée      cle model. Several high-frequency con-
en ajoutant une contrainte dynamique         trollers are then compared and their as-
sur l’angle au volant, contrainte issue de   sets and drawbacks are highlighted. Fi-
ces travaux, afin d’assurer que le mod-      nally, some preliminary work on model-
èle bicyclette cinématique reste valide.     free controllers and their application to
Plusieurs contrôleurs à haute-fréquence      automotive control are presented. In par-
sont ensuite comparés afin de souligner      ticular, an efficient tuning method is pro-
leurs avantages et inconvénients. Enfin,     posed and implemented successfully on
quelques résultats préliminaires sur les     the experimental vehicle of ENSIAME in
contrôleurs à base de commande sans          collaboration with the laboratory LAMIH
modèle et leur application au contrôle       of Valenciennes.
automobile sont présentés. En partic-
ulier, une méthode efficace pour ajuster
les paramètres est proposée et implé-
mentée avec succès sur la voiture ex-
périmentale de l’ENSIAME en partenar-
iat avec le laboratoire LAMIH de Valenci-
ennes.