0% found this document useful (0 votes)
91 views190 pages

2018PSLEM025 Archivage

This doctoral thesis from MINES ParisTech examines motion planning and control architectures for autonomous vehicles. It aims to ensure that a vehicle's intended trajectory matches its actual motion by guaranteeing the feasibility of the kinematic bicycle model used for planning. It proposes using model predictive control based on the kinematic bicycle model to plan safe reference trajectories, with dynamic constraints added to ensure the model's validity. Several high-frequency lateral controllers are also implemented and compared. Preliminary work on model-free control approaches and their application to vehicle control is presented.

Uploaded by

Brayan Gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views190 pages

2018PSLEM025 Archivage

This doctoral thesis from MINES ParisTech examines motion planning and control architectures for autonomous vehicles. It aims to ensure that a vehicle's intended trajectory matches its actual motion by guaranteeing the feasibility of the kinematic bicycle model used for planning. It proposes using model predictive control based on the kinematic bicycle model to plan safe reference trajectories, with dynamic constraints added to ensure the model's validity. Several high-frequency lateral controllers are also implemented and compared. Preliminary work on model-free control approaches and their application to vehicle control is presented.

Uploaded by

Brayan Gonzalez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 190

THÈSE DE DOCTORAT

de l’Université de recherche Paris Sciences et Lettres


PSL Research University

Préparée à MINES ParisTech

Consistency and stability of hierarchical planning and control systems for


autonomous driving
Cohérence et stabilité des systèmes hiérarchiques de planification et de
contrôle pour la conduite automatisée
École doctorale no 432
SCIENCE DES MÉTIERS DE L’INGÉNIEUR

Spécialité MATHÉMATIQUES ET INFORMATIQUE TEMPS-RÉEL

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

Dirigée par Brigitte D ’A NDRÉA -N OVEL M Arnaud de La Fortelle


ET A RNAUD DE L A F ORTELLE Mines ParisTech, Membre du jury
Abstract

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

I Modeling of the motion of a vehicle 17

2 Vehicle dynamics and motion modeling 19


2.1 Carbody dynamics - the slow dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Tire dynamics - the fast dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Vehicle simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Simplified models for motion planning and control . . . . . . . . . . . . . . . . . . . . 41

II Motion planning for autonomous vehicles 45

3 Motion planning for autonomous vehicles 47


3.1 Methods based on the configuration space . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Optimal control problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 The non-holonomic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4 Taking dynamic effects into account at the motion planning level . . . . . . . . . . . 58
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Guaranteeing the “feasibility" of the kinematic bicycle model 63


4.1 Hierarchical versus integrated motion planning and control architecture: a choice
of model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2 Validity of the kinematic bicycle model . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3 A consistent planning and control architecture for normal driving situations . . . . . 73
4.4 Adaptation to low friction coefficient roads . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

III Low-level Controllers 89

5 Controllers for autonomous vehicles 91


5.1 Longitudinal control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2 Review of lateral controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

iii
CONTENTS

5.3 Implementation and comparison of the lateral controllers . . . . . . . . . . . . . . . . 102


5.4 Coupled longitudinal and lateral control . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6 Model-free control 117


6.1 Model-free control: a new control paradigm for non-linear systems . . . . . . . . . . 118
6.2 Implementation on an actual system . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.3 Application to vehicle control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

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

B Non-holonomic constraint and small-time controllability IX


B.1 The non-holonomic slip-free rolling condition . . . . . . . . . . . . . . . . . . . . . . . IX

C Model-free Control XIII


C.1 Deriving the ultralocal model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII
C.2 ALIEN filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII
C.3 Numerical quadrature of ALIEN filters using the trapezoidal rule . . . . . . . . . . . . XV
C.4 Decomposition of the ALIEN filter for a first-order system . . . . . . . . . . . . . . . . XV
C.5 Bound on the tracking error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVI

D Résumé en francais XIX

iv
List of Figures

1.1 Winners of the DARPA Challenge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7


1.2 Valeo’s hand-off tour prototype. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 The Google Car. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 robotic paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 The different frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


2.2 The different frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Vehicle dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 Four-wheel vehicle model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.12 Model of the suspensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.13 Pacejka model in the case of pure slip. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.18 Linearization of the Pacejka model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.19 Friction force. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.20 Description of the simulator engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.24 Unicycle model of the vehicle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.25 Kinematic bicycle model of the vehicle. . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.10 Working principle of Model Predictive Control. . . . . . . . . . . . . . . . . . . . . . 55


3.12 A “gg-diagram" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.1 Limits of the “perfect" controller assumption. . . . . . . . . . . . . . . . . . . . . . . 66


4.2 Example of trajectories obtained with δa = 1◦ for different wheel torques Tω applied. 69
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. . . . . . . 69
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
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 al-
lowed for different maximum lateral accelerations a y max (triangles). . . . . . . . . . 70
4.6 Lateral acceleration versus speed for different steering angles obtained with the
simulation model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
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). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
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). . . . . . 72
4.9 Validity of the kinematic bicycle model. . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.10 The planning and control architecture proposed. . . . . . . . . . . . . . . . . . . . . 73
4.11 Parabola defined by the obstacle manager. . . . . . . . . . . . . . . . . . . . . . . . . 74
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. . . . . . . . . . . . . . 78

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

5.1 PI controller with anti-windup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94


5.2 The bicycle model: the two front (resp. rear) wheels (in grey) are lumped into a
unique wheel (in black). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3 PID controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.4 Pure-pursuit controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5 Stanley controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.6 Frenet frame for the kinematic bicycle model. . . . . . . . . . . . . . . . . . . . . . . 99
5.8 The lateral displacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.9 The pseudo distance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.10 Shanghai Jiao-Tong’s CyberGL8 vehicle used for experimentations. . . . . . . . . . . 106
5.11 Reference path (in red) in the Shanghai Jiao-Tong University campus. . . . . . . . . 106
5.12 Preview distance of the pure-pursuit controller for different speeds. . . . . . . . . . 107
5.13 Trajectories obtained with the different controllers. . . . . . . . . . . . . . . . . . . . 109
5.14 Zoom on the sharp turn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.15 Zoom on the long turn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.16 Speed profiles of the vehicle for each controller. . . . . . . . . . . . . . . . . . . . . . 111
5.17 Lateral error as a function of the curvilinear abscissa for each controller. . . . . . . 111
5.18 Distribution of the absolute value of the lateral error for each controller. . . . . . . 112
5.19 Heading angle error as a function of the curvilinear abscissa for each controller. . . 112
5.20 Distribution of the absolute value of the heading angle error for each controller. . . 113
5.21 Comparison of the steering angle δ for each controller. . . . . . . . . . . . . . . . . . 113
5.22 Comparison of the steering angle obtained at the front wheel for each controller
in the sharp turn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.23 Estimation of the curvature κ of the reference path for the KBCF controller. . . . . . 114
5.24 Estimation of the derivative of the curvature dd κt of the reference path for the KBCF
controller. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

6.1 Experimental Vehicle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

vi
LIST OF FIGURES

6.2 Structure of the vehicle powertrain to be controlled. . . . . . . . . . . . . . . . . . . 128


6.3 Considered cascading control structure. . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.4 Description of the brake system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.5 Open-loop response of the brakes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
6.6 Tuning of parameter α for the brake system in open-loop. . . . . . . . . . . . . . . . 130
6.7 Feedforward response for α = 200 of the brake system. . . . . . . . . . . . . . . . . . 130
6.8 Tuning of parameter K P for the brake system (α = 800). . . . . . . . . . . . . . . . . . 130
6.9 Comparison between PI and i-P controllers for the brake system . . . . . . . . . . . 131
6.10 Top view of the open road test field track. . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.11 Altitude of the track. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.12 Tuning of the α parameter for the high-level controller. . . . . . . . . . . . . . . . . . 133
6.13 Response of the model-free controller for different values of K P and α = 0.008. . . . 133
6.14 Comparison of the speed profile between the i-P and PI controllers. . . . . . . . . . 134
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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
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. . . . . . . . . . 135
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. . . . . . . . . . 135

A.1 Slip angle and notations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII


A.2 Top view of a four-wheel vehicle model. . . . . . . . . . . . . . . . . . . . . . . . . . . VIII

vii
LIST OF FIGURES

viii
List of Tables

1.1 The different SAE levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.7 Coefficients of LuGre model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35


2.8 Coefficients of Burckhardt model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.3 Parameters of MPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.1 Influence of PID gains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96


5.2 Comparison of the lateral errors (m). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.3 Comparison of the angular errors (rad). . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.4 Summary of lateral controllers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.1 PID versus iPID controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120


6.2 ALIEN filter coefficients for estimating y. ḃ . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.3 ALIEN filter coefficients estimating y. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
b̈ 123
6.4 ALIEN filter coefficients for estimating F b (ν = 1). . . . . . . . . . . . . . . . . . . . . . . 123
6.5 ALIEN filter coefficients for estimating F b (ν = 2). . . . . . . . . . . . . . . . . . . . . . . 123
6.6 Model-free controller tuning guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.7 Comparison of the root mean square of the tracking error between PI and i-P con-
trollers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

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:

• Improve the knowledge on autonomous driving;

• Develop onboard intelligence devices;

• 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 ”

a If we were concerned about the

completion of things, we would never


undertake anything
François Ier, roi de France

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

1.1 What is an autonomous vehicle?

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).

1.1.1 History of autonomous vehicles

The early stages of autonomous vehicle with actual vehicle prototypes date back to the 1980s, with
mainly three projects:

• NavLAB – National Autonomous Vehicle LABoratory – launched in 1984 at Carnegie Mel-


lon University [Thorpe et al., 1991a, Thorpe et al., 1991b] which proposed successive epony-
mous vehicle prototypes: Navlab 1 in 1986 to Navlab 10 in 1996.

• Prometheus – PROgraM for a European Traffic of Highest Efficiency and Unprecedented


Safety – a European project promoted by Ernst Dickermanns at the Bundeswehr University
of Munich and Mercedes-Benz, launched in 1987, and which led to a prototype, the VaMP
(Versuchsfahrzeug für autonome Mobilität und Rechnersehen1 ).

• 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

1 Experimental vehicle for autonomous mobility and computer vision


2 https://www.inverse.com/article/14438-remotely-controlled-autonomous-vehicles-are-coming-for-better-or-for-

worse, visited April 2018.


3 www.argo.ce.unipr.it, visited on December 2017.

6
CHAPTER 1. INTRODUCTION

CityMobil4 (2006-2011), CityMobil25 (2012-2016), interactIVe6 (2010-2013), AutoNET20307 (2013-


2016), i-GAME8 (2013-2016), iTeam9 (2016-2019).
Research on Autonomous Vehicles really reached a milestone with the successive DARPA chal-
lenges, organized by the Defense Advanced Research Projects Agency part of the United States
Department of Defense. These challenges were the first long distance competitions for driverless
car in the world. After a first unsuccessfull edition in 2004, the 2005 DARPA Grand Challenge was
won by the Stanley vehicle from Stanford University (see Figure 1.1a): it accomplished the 240km
of route in the desert in 6 hours and 54 minutes. The 2007 DARPA Urban Challenge consisted in
a 96km urban area course where the autonomous vehicles had to obey traffic rules, respect other
traffic participants, and avoid obstacles. This time, the Boss vehicle from Carnegie Mellon Univer-
sity won the competition at an average speed of 22.53km/h (see Figure 1.1b).

(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.

1.1.2 From Advanced Driver Assistance Systems...


Safety has always been the main priority for both the car industry and legislators. Car accidents
are responsible for over 3400 deaths and 70000 casualties in 2017 in France13 , 37000 deaths and
2000000 casualties in 2016 in the USA14 , and 1.2M deaths worldwide15 in 2013. To reduce these
figures, the automotive industry has been developing constantly new safety systems. Commonly,
we distinguish passive and active safety systems:

• 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.

• Active safety is used to refer to technology assisting in the prevention of a crash.


Examples: Anti-lock Braking System (ABS), Electronic Stability Program (ESP) and Advanced
Driver Assistance Systems (ADAS).

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-

routiere, visited on April 2018.


14 https://www.nhtsa.gov/press-releases/usdot-releases-2016-fatal-traffic-crash-data, visited on April 2018.
15 http://www.who.int/gho/road_safety/mortality/traffic_deaths_number/en/, visited on April 2018.
16 https://crashstats.nhtsa.dot.gov/Api/Public/ViewPublication/812115, visited on April 2018.

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.

1.1.3 ... to fully autonomous vehicles

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.

N◦ SAE Levels Description


The full-time performance by the human driver of all as-
0 No Automation pects of the dynamic driving task, even when enhanced
by warning or intervention systems.
The driving mode-specific execution by a driver assis-
tance system of either steering or acceleration/deceler-
1 Driver Assistance ation using information about the driving environment
and with the expectation that the human driver performs
all remaining aspects of the dynamic driving task.
The driving mode-specific execution by one or more
driver assistance systems of both steering and acceler-
ation/ deceleration using information about the driving
2 Partial Automation
environment and with the expectation that the human
driver performs all remaining aspects of the dynamic
driving task.
The driving mode-specific performance by an Auto-
mated Driving System of all aspects of the dynamic driv-
3 Conditional Automation
ing task with the expectation that the human driver will
respond appropriately to a request to intervene.
The driving mode-specific performance by an Auto-
mated Driving System of all aspects of the dynamic driv-
4 High Automation
ing task, even if a human driver does not respond appro-
priately to a request to intervene.
The full-time performance by an Automated Driving Sys-
tem of all aspects of the dynamic driving task under all
5 Full Automation
roadway and environmental conditions that can be man-
aged by a human driver.

Table 1.1 – The different SAE levels.

17 https://www.sae.org/binaries/content/assets/cm/content/news/press-releases/pathway-to-

autonomy/automated_driving.pdf, visited on April 2018.

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).

Figure 1.2 – Valeo’s hand-off tour prototype.

Figure 1.3 – The Google Car.

1.2 Technical components of an autonomous vehicle


An autonomous vehicle is a wheeled robot. The hardware and software used in the early stages of
autonomous vehicles were simple adaptation of the one used on small wheeled robots. These al-
gorithms were suited for the low speed applications considered at the beginning, where dynamics
effects for example could be neglected, as the goal was to build a Proof of Concept. As a robot, the
18 https://www.youtube.com/watch?v=lTtLGP4cRaQ, visited on April 2018.
19 https://www.youtube.com/watch?v=6QCF8tVqM3I&feature=youtu.be, visited on April 2018.
20 https://www.youtube.com/watch?v=tiwVMrTLUWg, visited on April 2018.

10
CHAPTER 1. INTRODUCTION

organization of an autonomous vehicle can be divided into tasks that require more or less intelli-
gence.

1.2.1 Sense-Model-Plan-Act and the different robotic paradigms

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.

Table 1.2 – The four robotic primitives.

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.

(c) Hybrid deliberative/reactive


(a) Reactive paradigm (b) Hierarchical paradigm paradigm

Figure 1.4 – The different robotic paradigms [Murphy, 2000].

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

1.2.2 High-level cognitive tasks

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.

Simultaneous Localization And Mapping (SLAM)

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.

Decision-making and planning

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.

1.2.3 Low-level cognitive tasks

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

Observation and filtering

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.

Control and tracking

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.

1.3 Scope of the thesis


1.3.1 Main assumptions
This thesis deals with autonomous vehicles. Throughout this work, a vehicle will be said to be au-
tonomous if it compels with the levels 4 or 5 defined by the SAE standards. In the literature, see
for example [Qian et al., 2017], some authors distinguish an autonomous vehicle from a coopera-
tive vehicle: in the first case, the vehicle relies solely on its own sensors while in the second case,
the vehicle also gets information from other vehicles and the infrastructure, through respectively
Vehicle-to-Vehicle (V2V) and Vehicle-to-Infrastructure (V2I) communications. Such a distinction
will not be made in this work. Therefore, an autonomous vehicle can rely both on its own sensors
or on communication.
As research on autonomous vehicles is getting more and more mature, the question of consis-
tency between its different layers, namely perception (SENSE), localization and mapping (MODEL),
motion planning (PLAN) and control (ACT), is becoming crucial to ensure the safety of the vehicle
at all time. An ill-designed vehicle architecture might be very critical for its safety, even though
each layer is well-designed independently. Our work focuses on the Plan-Act primitives defined

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.

1.3.2 Some important notions


Control

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.

1.3.3 Consistency of the architecture

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.

htm, visited on May 2018

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:

Question 3: How to implement model-free controllers on an autonomous vehicle? And what


guarantees can we have on the results?

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

Modeling of the motion of a vehicle

17
Chapter 2

Vehicle dynamics and motion modeling

“ A theory has only the alternative


of being right or wrong.
A model has a third possibility: it
may be right, but irrelevant ”

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

MT Total mass of the vehicle


MS Suspended mass of the vehicle
Ix , I y , Iz Inertia of the vehicle around its roll, pitch and yaw axis
l f , lr Distance between the front (resp. rear) axle and the center of
gravity
lw Half-track of the vehicle
h CoG Height of the center of gravity of the vehicle

Table 2.1 – Notations for vehicle parameters.

Variables Meaning

X, Y Position of the center of gravity of the vehicle in the inertial


frame (~e X ,~
e Y ,~
eZ)
θ, φ, ψ Roll, pitch and yaw angles of the carbody
Vx , V y , Vz Longitudinal, lateral and vertical speed of the vehicle in its own
frame (~e x ,~
e y ,~
ez )
β Slip angle of the vehicle at center of gravity
δf Steering angle of the wheels located on the front axle
δf Steering angle of the wheels located on the rear axle
Tωi Total torque applied to wheel i
Tmi Motor torque applied to wheel i
Tbi Brake torque applied to wheel i
Tt ot Total torque applied to all the wheels

Table 2.2 – Notations for states and inputs of the vehicle.

Variables Meaning

µ Friction coefficient of the road


µc Coulomb friction coefficient of the road
µs Static friction coefficient of the road
px , p y Slope and road-bank angle of the road

Table 2.3 – Notations for road characteristics.

21
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

Variables Meaning

Ir Inertia of the wheel


mr Mass of the wheel
r st at Radius of the wheel when the vehicle is static
r0 Radius of the wheel without any load
re f f Effective radius of the wheel
ωi Angular velocity of the wheel i
Vxpi Longitudinal speed of the center of rotation of wheel i ex-
~ yi , p
p xi , p
pressed in the tire frame (~ ~zi )
τxi Longitudinal slip ratio at wheel i
αi Slip angle at wheel i
τt ot al Total (longitudinal+ lateral) slip ratio at a wheel
γ Camber angle

Table 2.4 – Notations for states and characteristics of the wheels.

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

Table 2.5 – Notations for forces and torques.

Variables Meaning

zt i Heigth of wheel i in the inertial frame


z si Heigth of the suspension of wheel i in the inertial frame
zr i Heigth of the road at wheel i in the inertial frame
ks Stiffness coefficient of the spring between the tire and the sus-
pended carbody
kt Stiffness coefficient of the tire
ds Damping coefficient between the tire and the suspended car-
body

Table 2.6 – Notations for suspensions.

22
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

2.1 Carbody dynamics - the slow dynamics


In this section, we consider two dynamic models of the carbody of the vehicle, namely the dynamic
bicycle model and the four-wheel vehicle model. We are interested in the evolution of the state of
the carbody, which is composed of up to six different variables, namely the longitudinal Vx , lateral
V y and vertical Vz velocities and the roll θ̇, pitch φ̇ and yaw ψ̇ angular velocities. The inputs of
the models are the longitudinal and lateral forces Fxi and F yi applied by the road on the different
wheels i in the vehicle frame (or equivalently Fxpi and F y pi in the pneumatic frame) as shown in
Figure 2.3.

Figure 2.3 – Modeling of the carbody dynamics.

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):

Ẋ = Vx cos ψ − V y sin ψ (2.1a)


Ẏ = Vx sin ψ + V y cos ψ (2.1b)

2.1.1 Dynamic bicycle model

Figure 2.4 – The dynamic bicycle model.

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).

MT (V̇x − ψ̇V y ) = Fx f + Fxr − Faer o − MT g sin p x (2.2a)


MT (V̇ y + ψ̇Vx ) = F y f + F yr (2.2b)
Iz ψ̈ = l f Fx f − l r Fxr (2.2c)

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.

Figure 2.5 – Forces applied on a vehicle.

In order to obtain Equations (2.2), the following assumptions were made:

• The road-bank angle is neglected.

• 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:

Fx f = Fxp f cos δ f − F y p f sin δ f (2.4a)


Fxr = Fxpr (2.4b)
Fy f = F y p f cos δ f + Fxp f sin δ f (2.4c)
F yr = F y pr (2.4d)

2.1.2 Four-wheel vehicle model

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

Figure 2.6 – Four-wheel vehicle model.

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).

∆Fsi = −k s ∆z si (θ, φ) − d s (∆z˙ si (θ, φ)) (2.7a)


∆z si (θ, φ) = ²i l w sin θ − l i cos θ sin φ (2.7b)
Fzi = Fzi 0 + ∆Fsi (2.7c)
½ ½
1 if i = {2, 4} lf if i = {1, 2}
where ²i = and l i = .
−1 if i = {1, 3} −l r if i = {3, 4}
The nominal normal reaction force Fzi 0 at equilibrium applied on wheel i is given by Equa-
tion (2.8). The demonstration is given in Appendix A.4.

 l r MT g if i = {1, 2}
2(l f +l r )
Fzi 0 = (2.8)
 l f MT g if i = {3, 4}
2(l f +l r )

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)

Figure 2.7 – Variation of the suspension forces: ~


Pr is the wheel weight, ~Fz0 is the normal reaction force of the
road at equilibrium, ~Pc0 is the weight of a quarter carbody at equilibrium, ~Fs0 is the suspension spring and
damping force at equilibrium, ∆F ~ s the variation from equilibrium of the spring and damping forces.

At last, Equations (2.10) show how to transform the tire forces expressed in the pneumatic
frame to ones expressed in the vehicle frame:

Fxi = (Fxpi cos δi − F y pi sin δi ) cos φ − Fzi sin φ (2.10a)


F yi = (Fxpi cos δi − F y pi sin δi ) sin θ sin φ + (F y pi cos δi + Fxpi sin δi ) cos θ (2.10b)
+ Fzi sin θ cos φ

2.2 Tire dynamics - the fast dynamics


In the previous section, we have seen how the longitudinal Fxp and lateral F y p tire forces act on
the carbody dynamics. However, these forces are not given directly by the driver (or controller in
the case of an autonomous vehicle) as inputs. Therefore, we still need to model how the actions
on the steering wheel, the gas pedal and the brake pedal generate these tire forces.
We consider more precisely the inputs of the driver to be the steering angle δ f at the front
wheels and the motor Tmi and the brake Tbi torques at each wheel i . Considering the wheel
torques avoids going through the modeling of the internal combustion engine and the brake sys-
tems. Moreover electric and gas vehicles can then be handled indifferently. Note that the steering
angle at the front wheel is directly proportional to the steering wheel through the steering column.
The longitudinal Fxp and lateral F y p forces generated by the road on each tire expressed in the
pneumatic frame are obtained from four variables: the longitudinal slip ratio τx , the lateral slip
angle α, the normal reaction force Fz of the road on the wheel, and the road friction coefficient µ.
Therefore, tire models can be expressed in the form of Equations (2.11) (see Figure 2.8).

Fxp = f x (τx , α, Fz , µ) (2.11a)


Fy p = f y (α, τx , Fz , µ) (2.11b)

26
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

Figure 2.8 – Modeling of tire dynamics.

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

In the case of a dynamic bicycle model, Equation (2.13) becomes:

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 +~F y p || ≤ µ||~Fz || (2.16)

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.

Ir ω̇i = Tmi − Tbi − r e f f Fxpi (2.17)

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.

2.2.1 Pacejka’s Magic Formula

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]:

Fxp = Dx sin (Cx arctan(Bx τx − E x (Bx τx − arctan(Bx τx )))) + S v x (2.19a)


= D y sin C y arctan(B y α y − E y (B y α y − arctan(B y α y ))) + S v y
¡ ¢
Fy p (2.19b)

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)

−1 −0.8 −0.6 −0.4 −0.2 xm 0.2 0.4 0.6 0.8 1


−1,000 X (-)

−2,000

Figure 2.13 – Pacejka model in the case of pure slip.

tudinal slip ratio (resp the slip angle):

y = D sin (C arctan(Bx − E(Bx − arctan(Bx)))) (2.20a)


Y = y + Sv (2.20b)
x = X + Sh (2.20c)

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;

3. B is determined through the slope at origin equal to BCD;


π
Bx m −tan( 2C )
4. E = Bx m −arctan(Bx m ) where x m is the slip value where the peak is reached, i.e. y(x m ) = D;
Finally, S h and S v are respectively the horizontal and vertical shift.
In reality, these “constants" are not real constants and depend on some other parameters, such
Fz −Fz0
as the normal reaction force Fz (ans thus the mass transfer dFz = Fz0 ), the road friction coeffi-
cient µ, and the camber angle γ as explained in [Pacejka, 2002] (see Equations (2.21) and (2.22)).
The model given by Equation (2.20) also applies to the self-aligning torque Mz , with Y being the
self-aligning torque and X the slip angle. A finer modeling can be obtained using Equation (2.23).
However, the self-aligning torque will not be considered in this thesis.

• Longitudinal forces (pure longitudinal slip)

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)

= Dx sin Cx arctan(Bx τshi f t − E x (Bx τshi f t − arctan(Bx τshi f t ))) + S Vx


¡ ¢
Fxp 0 (2.21j)

30
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

• Lateral forces (pure lateral slip)

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)

Fy p0 = D y sin(C y arctan(B y αshi f t − E y (B y αshi f t − arctan(B y αshi f t )))) + S Vy (2.22k)

• Self-aligning torques (pure lateral slip)

S Ht = q Hz1 + q Hz2 dFz + (q Hz3 + q Hz4 dFz )γ (2.23a)


αt = α + S Ht (2.23b)
Bt = (q Bz1 + q Bz2 dFz + q Bz3 dF2z )(1 + q Bz4 γ + q Bz5 |γ|) (2.23c)
Ct = q Cz1 (2.23d)
r0
µ ¶
Dt 0 = Fz (q Dz1 + q Dz2 dFz ) (2.23e)
Fz 0
Dt = Dt0 (1 + q Dz3 γ + q Dz4 γ2 ) (2.23f)
µ ¶
2
= q Ez1 + q Ez2 dFz + q Ez3 dF2z 1 + (q Ez4 + q Ez5 γ) arctan(Bt Ct αt )
¡ ¢
Et (2.23g)
π
t0 = Dt cos(Ct arctan(Bt αt − E t (Bt αt − arctan(Bt αt )))) cos(α) (2.23h)
M0z0 = −t 0 F y 0 (2.23i)

²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)

Mz 0 = Mzr 0 + M0z0 (2.23r)

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).

• Longitudinal forces (combined slip)

Bxa = r Bx1 cos(arctan(r Bx2 τx )) (2.24a)


Cxa = r Cx1 (2.24b)
E xa = r Ex1 + r Ex2 dFz (2.24c)
S Hxa = r Hx1 (2.24d)
αshi f t x = α + S Hxa (2.24e)
cos(Cxa arctan(Bxa αshi f t x − E xa (Bxa αshi f t x − arctan(Bxa αshi f t x ))))
Gxa = (2.24f)
cos(Cxa arctan(Bxa S Hxa − E xa (Bxa S Hxa − arctan(Bxa S Hxa ))))

Fxp = Gxa Fxp 0 (2.24g)

2,000
Fxp (N)

0
−2,000

−1
0 1
0 0.5
α (-) 1 −1 −0.5
τx (-)

Figure 2.14 – Longitudinal tire forces in case of combined slip.

• Lateral forces (combined slip)

B yk = r By 1 cos(arctan(r By 2 (α − r By 3 ))) (2.25a)


C yk = r Cy 1 (2.25b)
E yk = r Ey 1 + r Ey 2 dFz (2.25c)
S Hyk = r Hy 1 + r Hy 2 dFz (2.25d)
DVyk = µ y Fz (r Vy 1 + r Vy 2 dFz + r Vy 3 γ) cos(arctan(r Vy 4 α)) (2.25e)
S Vyk = DVyk sin(r Vy 5 arctan(r Vy 6 τx )) (2.25f)
τshi f t y = τx + S Hyk (2.25g)
cos(C yk arctan(B yk τshi f t y − E yk (B yk τshi f t y − arctan(B yk τshi f t y ))))
G yk = (2.25h)
cos(C yk arctan(B yk S Hyk − E yk (B yk S Hyk − arctan(B yk S Hyk ))))

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 α (-)

Figure 2.15 – Lateral tire forces in case of combined slip.

• Self-aligning torques (combined slip)


v
u à !2
u K xk
αteq = tα2t + 0 τ2x si g n(αt ) (2.26a)
Kya
v
u à !2
u K xk
αr eq = tαr + 0
2
τ2x si g n(αr ) (2.26b)
Kya
t = Dt cos(Ct arctan(Bt αteq − E t (Bt αteq − arctan(Bt αteq )))) cos(α) (2.26c)
F0y = F y p − S Vyk (2.26d)
M0z = −t F0y (2.26e)
Mzr = Dr cos(Cr arctan(Br αr eq )) (2.26f)
Fy p
µ ¶
s = r 0 s sz1 + s sz2 + (s sz3 + s sz4 dFz )γ (2.26g)
Fz 0

Mz = M0z + Mzr + sFxp (2.26h)

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.

2.2.2 The linear tire model


The simplified version of “Pacejka’s Magic Formula" for pure slip given by Equations (2.19) can be
linearized if the longitudinal slip ratio or the lateral slip angle remain small as shown in Figure 2.18.
In this case, the longitudinal and lateral forces are given by Equations (2.27).

Fxp = Cτ τx (2.27a)
Fy p = Cα α (2.27b)

where Cτ = Bx Cx Dx is the longitudinal stiffness and Cα = B y C y D y the cornering stiffness.


This model is very convenient for control purpose as we will see in chapter 5.

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

Figure 2.18 – Linearization of the Pacejka model.

2.2.3 Dugoff model

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

and the normal reaction force as shown in Equations (2.28):

τ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

2.2.4 Other models

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 .

Parameter Value Units


σ0 40 [1/m]
σ1 4.9487 [s/m]
σ2 0.0018 [s/m]
µc 0.5 [-]
µs 0.9 [-]
vs 12.5 [m/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).

Figure 2.19 – Friction force.

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

Table 2.8 – Values of the different coefficients of the Burckhardt model.

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].

At last, the friction forces can be computed using Equations (2.34):


τx
Fx (τt ot al , τx ) = µ(τt ot al )Fz (2.34a)
τt ot al
α
F y (τt ot al , α) = µ(τt ot al )Fz (2.34b)
τt ot al

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)

ξ ∈ [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

2.3 Vehicle simulator


Now that we have presented how to model the vehicle and tire dynamics, we are going to present
the vehicle simulator that we have developed in order to test motion planning and control algo-
rithms. For that purpose, we chose the 10 Degrees of Freedom (10 DoF) vehicle model, comprising
Equations (2.5), (2.6) and (2.17) with a combined Pacejka tire model.

2.3.1 The simulator engine


At each time step, the inputs of our simulator are the actual state X = {x 1 , ..., x 16 } of the vehicle and
the wheels, and the control input U = {u 1 , ..., u 5 } to be applied on the vehicle. The states {x 1 , ..., x 16 }
correspond respectively to {X, Vx , Y, V y , Z, Vz , θ, θ̇, φ, φ̇, ψ, ψ̇, ω1 , ω2 , ω3 , ω4 } and the control inputs
{u 1 , ..., u 5 } to {T f l , T f r , Tr l , Tr r , δ f }. The simulator outputs the new state of the vehicle as shown in
Figure 2.20, after having computed the forces applied to the system. The road friction coefficient
is an external parameter that depends on the road conditions.

Figure 2.20 – Description of the simulator engine.

37
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

Computation of the forces

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 :

cos δi − sin δi Vx + ²i ψ̇l w


·µ ¶µ ¶¸ µ ¶
1
Vxpi = (2.37)
sin δi cos δi V y + ψ̇l i 0
½ ½
1 if i = {2, 4} lf if i = {1, 2}
where ²i = and l i = .
−1 if i = {1, 3} −l r if i = {3, 4}

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);

7. Compute the aerodynamic drag forces Faer o using Equation (2.3).

p Cx1 = 1.65 p Dx1 = 1 p Dx2 = 0 p Ex1 = −0.5 p Ex2 = 0 p Ex3 = 0 p Ex4 = 0


p Kx1 = 12 p Kx2 = 10 p Kx3 = −0.6 p Hx1 = 0 p Hx2 = 0 p Vx1 = 0 p Vx2 = 0
p Cy1 = 1.3 p Dy1 = 1 p Dy2 = 0 p Dy1 = 0
p Ey1 = −1 p Ey2 = 0 p Ey3 = 0 p Ey4 = 0
p Ky1 = 10 p Ky2 = 1.5 p Ky3 = 0 p Hy1 = 0 p Hy2 = 0 p Hy3 = 0.25
p Vy1 = 0 p Vy2 = 0 p Vy3 = 0.15 p Vy4 = 0
q Bz1 = 6 q Bz2 = −4 q Bz3 = 0.6 q Bz4 = 0 q Bz5 = 0 q Bz9 = 0 q Bz10 = 0.7
q Cz1 = 1.05 q Dz1 = 0.12 q Dz2 = −0.03 q Dz3 = 0 q Dz4 = −1 q Dz6 = 0 q Dz7 = 0
q Dz8 = 0.6 q Dz9 = 0.2 q Ez1 = −10 q Ez2 = 0 q Ez3 = 0 q Ez4 = 0 q Ez5 = 0
q Hz1 = 0 q Hz2 = 0 q Hz3 = 0 q Hz4 = 0
r Bx1 = 5 r Bx2 = 8 r Cx1 = 1 r Hx1 = 0
r By1 = 7 r By2 = 2.5 r By3 = 0 r Cy1 = 1 r Hy1 = 0.02
r Vy1 = 0 r Vy2 = 0 r Vy3 = −0.2 r Vy4 = 14 r Vy5 = 1.9 r Vy6 = 10
s sz1 = 0 s sz2 = −0.1 s sz3 = −1.0 s sz4 = 0

Table 2.9 – Coefficients used for the complete Pacejka model [Pacejka, 2002].

Computing the dynamics

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

ẋ 1 = x 2 cos x 11 − x 4 sin x 11 (2.38a)


à !
1 X 4
ẋ 2 = x 12 x 4 − x 10 x 6 + Fxi − Faer o (2.38b)
MT i =1
ẋ 3 = x 2 sin x 11 + x 4 cos x 11 (2.38c)
1 X 4
ẋ 4 = −x 12 x 2 + x 8 x 6 + F yi (2.38d)
MT i =1
ẋ 5 = x6 (2.38e)
1 4
X
ẋ 6 = Fsi − g cos x 7 cosx 9 (2.38f)
MS i =1

ẋ 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

2.3.2 The graphical interface - coupling to PreScan


Finally, in order to generate traffic scenarios and visualize the output, we coupled our 10 DoF
vehicle model to PreScan, a software developed by [TASS International, ]. It is a physics-based
simulation platform that aims to help the development of intelligent vehicles, by enabling to test
for example Advanced Driver Assistance Systems (ADAS), vehicle-to-vehicle (V2V) and vehicle-to-
infrastructure (V2I) communications. The software provides both a user-friendly Graphical User
Interface (GUI) to develop quickly a traffic scenario (see Figure 2.21), a simulation engine and a
visualization tool (see Figure 2.22).
The vehicle model by default used for the simulation engine does not take into account slip
and skip. However, it is very easy to provide its own Matlab/Simulink model and thus get the level
of modeling expected. Therefore, we designed and visualized our scenarios using the PreScan
software, where the simulation engine corresponds to the vehicle model presented previously.

39
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

Figure 2.21 – Screenshot of PreScan’s GUI.

Figure 2.22 – Screenshot of PreScan’s visualization tool.

40
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

2.4 Simplified models for motion planning and control


In this section, some simplified vehicle models that can be used for motion planning and control
purpose are presented, namely the point-mass model, the unicycle model, the kinematic bicycle
model and the dynamic bicycle model.

2.4.1 The point-mass model

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).

ξ̇pm = Aξpm + BUpm (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.

Figure 2.23 – The point-mass model.

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.

|Ẏ| ≤ k|Ẋ| with 0 < k = tan(ψmax ) < 1 (2.41)

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.

2.4.2 The unicycle model

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

by the maximal curvature the vehicle can follow.

Ẋ = V cos(ψ) (2.42a)
Ẏ = V sin(ψ) (2.42b)
ψ̇ = u ψ̇ (2.42c)
V̇ = u V̇ (2.42d)

Figure 2.24 – Unicycle model of the vehicle.

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.

2.4.3 The kinematic bicycle model

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.

Figure 2.25 – Kinematic bicycle model of the vehicle.

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

can be found in [Rajamani, 2012].

= 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)

In order to obtain Equations (2.43), the following assumptions were made:

• Only the front wheel is steerable (δr = 0)

• 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.

2.4.4 The dynamic bicycle model

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).

MT (V̇x − ψ̇V y ) = Fx f + Fxr (2.44a)


MT (V̇ y + ψ̇Vx ) = F y f + F yr (2.44b)
Iz ψ̈ = l f F y f − l r F yr (2.44c)

43
CHAPTER 2. VEHICLE DYNAMICS AND MOTION MODELING

Figure 2.26 – The dynamic bicycle model.

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.

V̇x − ψ̇V y = ax (2.45a)


MT (V̇ y + ψ̇Vx ) = F y f + F yr (2.45b)
Iz ψ̈ = l f F y f − l r F yr (2.45c)

In both cases, the position of the center of gravity of the vehicle in the inertial frame follows Equa-
tions (2.46):

Ẋ = Vx cos ψ − V y sin ψ (2.46a)


Ẏ = Vx sin ψ + V y cos ψ (2.46b)

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

Motion planning for autonomous


vehicles

45
Chapter 3

Motion planning for autonomous


vehicles

“ Yes, there are two paths you can


go by, but in the long run
There’s still time to change the road
you’re on. ”

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].

3.1 Methods based on the configuration space


Solving the motion planning problem in the physical space is a complicated task due to the dimen-
sions of the robot. Therefore, [Lozano-Perez, 1983] proposed to change the problem formulation
by introducing the configuration space denoted by CS, i.e. the space of all the possible configura-
tions q of the system2 :

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-

ited June 2018.


2 A configuration defines in a unique way the physical space occupied by the robot. For a vehicle for example, the

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.

3.1.1 Potential field method


[Khatib, 1986] introduced an artificial potential field method derived from classical physics to find
a path between an initial and final configurations. The robot is moving in a force field where the
configuration to be reached is an attractive pole and the obstacles are repulsive poles (see Fig-
ure 3.2). Let q → Ug (q) be the attractive potential associated to the goal and q → Uo (q) be the
repulsive potential associated to the obstacle o. The total potential field Ut ot is then given by
Equation (3.1):
nX
obs
Ut ot = Ug + Uo (3.1)
o=1

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

Figure 3.2 – Potential field methods.

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.

3.1.2 Deterministic sampling-based methods


Deterministic sampling-based methods consist in decomposing the configuration space into cells.
They comprise two parts: first a cell-decomposition of the configuration space is performed; then
graph-search algorithms such as A∗ [Peter E. Hart et al., 1968] or Dijkstra [Dijkstra, 1959] are used
in order to obtain the shortest path (or the one with minimum cost) between the initial and final
configurations. A wide range of methods exists for cell decomposition, each one having different
performances in terms of computational complexity, accuracy and completeness. Determinis-
tic sampling-based methods are well suited for low dimensional configuration space (typically 2
sometimes 3) but do not scale well for higher dimensions.

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

Figure 3.3 – Grid-cell decomposition of the configuration space.

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.

Figure 3.4 – Trapezoidal decomposition.

Figure 3.5 – Connectivity graph.

The performance of this algorithm is better than the grid-cell decomposition but the path ob-
tained is not optimal.

Delaunay triangulation and Voronoï diagram

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.

Figure 3.7 – Visibility graph (dotted lines) and obstacles (grey).

52
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES

3.1.3 Probabilistic sampling-based methods


As the dimension of the configuration space or the number of obstacles increase, the computa-
tional time of deterministic sampling-based methods becomes prohibitive for real-time applica-
tions. Therefore, probabilistic sampling-based methods have been proposed in the literature: they
consist in capturing the topology of the free configuration space CS f r ee , in particular the con-
nected components, with a graph4 by drawing randomly new points in the configuration space.
Only the points in CS f r ee are kept. However, the improvement of the computational efficiency
is achieved at the cost of relaxing the completeness property of the deterministic methods to a
probabilistic completeness: the probability that the algorithm finds a safe path if one exists is con-
verging to one as the computational time increases. Therefore, it is no longer possible to know if
a safe path exists or not: only the mathematical expectation is considered. These methods work
well for reasonable problems. Once a graph has been build, the query phase consists in obtaining
the optimal path using graph-search algorithms such as A∗ or Dijkstra. Probabilistic sampling-
based methods rely on boolean collision-test operators [Reggiani et al., 1990, Jiménez et al., 1998]
in order to check whether two configurations can be connected without colliding with an obstacle.
Two main techniques exist in the literature and will be developed in this section: the Proba-
bilistic Roadmap Method (PRM) and the Rapidly-exploring Random Tree (RRT). The only differ-
ence between them is the way the connectivity graph is constructed.

Probabilistic Roadmap Method (PRM)

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.

Rapidly-exploring Random Trees (RRT)

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.

3.2 Optimal control problems


Applying optimization techniques for solving the motion planning problem have become quite
popular in the last decade. This is due to the beginning of the “second-half of the chessboard"5
of Moore’s law [Brynjolfsson and McAfee, 2014], who predicted in 1965 that chip performances
would double every 18 months. This prediction has turned out to be approximately true for more
than 40 years. Therefore, the computational power currently available is such that optimal control
problems can be solved in real-time.
Optimal control problems, compared to methods based on the configuration space, are able
to easily handle constraints, in particular the non-holonomic and dynamic constraints (which will
be discussed respectively in section 3.3 and 3.4) while relying on semi-analytical resolution which
can make this method extremely fast to compute [Houska et al., 2011b]. Moreover, some aspects
of the motion can be penalized such as the duration, the jerk or even the energy consumption: this
enables to choose amoung the infinite number of paths/trajectories solution of the problem the
most suited one. Finally, optimal control problems are better suited for coupling the longitudinal
and lateral behavior of the vehicle, resulting in a reference trajectory instead of only a reference
path. This is extremely important in the case of an environment with a lot of dynamic obstacles

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

such as cars and pedestrians6 .


An optimal control problem formulation is composed of two parts: a cost function to be op-
timized and constraints on the system to be respected. Typically, the constraints comprises: (i)
the initial state of the vehicle, (ii) the vehicle dynamics and kinematics, (iii) obstacle avoidance,
(iv) the limits of the actuators, (v) the limits of the states (e.g. speed limit, road boundaries). How-
ever, defining a cost function is complex: minimizing the execution time for example leads to the
saturations of the actuators which is nor dynamically feasible, nor comfortable. Therefore, a reg-
ularization term is usually added to penalize the control inputs and their variations. For better
computational efficiency, constraints can also be relaxed using slack variables that are penalized
in the cost function: in this case, a strong penalization of the slack variables should be considered.

3.2.1 Model Predictive Control (MPC)


Among optimal control techniques, Model Predictive Control (MPC) is one of the most popular
one [Camacho and Bordons, 1999]. It computes in a receding horizon fashion an optimal control
sequence that minimizes the cost function while respecting the constraints. Therefore, the prob-
lem is solved on a finite time-horizon T y which enables to anticipate the behavior of the system.
We limit our scope to state-based MPC. In this case, a state-space model of the system is avail-
able and used to predict the outputs of the system given a sequence of control inputs as shown
in Figure 3.10. An optimal control problem solver such as ACADO toolkit [Houska et al., 2011a] is
then used to solve the problem and compute the optimal control sequence.

Figure 3.10 – Working principle of Model Predictive Control.

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.

J(ξ̄∗t , Ūt∗ ) = min J(ξ̄t , Ūt ) (3.2a)


Ūt

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)

J(ξ̄t , ū t ) = ξ̄Tt Qξ̄t + ŪtT RŪt (3.3)


NX
y −1 NX
u −1
T jT j
= ξit qξit + ut r ut
i =0 j =0

   
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

Table 3.1 – Notations for MPC (general formulation).

Remark 6. We have N y = bT y /∆t y c + 1 and Nu = bTu /∆t u c + 1. Necessarily, Tu ≤ T y (i.e. Nu ≤ N y )


as the control has a direct impact on the state. In the rest of this thesis, we consider ∆t u = ∆t y
and Tu = T y , thus Nu = N y . However, let’s notice that in this case, the last control predicted, namely
N −1
Ut u , has no impact on the control problem due to Equation (3.2b); therefore, it is usual to consider
Nu = N y − 1.

56
CHAPTER 3. MOTION PLANNING FOR AUTONOMOUS VEHICLES

3.2.2 Model Predictive Path Integral (MPPI)

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.

3.3 The non-holonomic constraints


Given an admissible motion for a 3D mechanical system, we know from Proposition 1 that it can
be characterized by a collision-free path for a point moving in the configuration space. However,
the converse is only true for free-flying robots, i.e. those who are not restricted in their motions.
Therefore, a collision-free path in the configuration space does not necessarily corresponds to an
admissible motion in the physical space.
This is the case for an autonomous vehicle; the non-holonomic constraints due to the slip-
free rolling conditions restrict the motion of the vehicle: the lateral motion of the vehicle can only
be approached by successive longitudinal and angular motions. For example, to park a vehicle
in a parking spot, the number of maneuvers to conduct varies as a function of the inverse of ²2 ,
where ² is the free-space, i.e. the difference between the length of the parking spot and the vehicle
[Laumond et al., 1994].

What is a non-holonomic constraint?

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:

Ẏ cos ψ − Ẋ sin ψ = 0 (3.6)

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.

Impact of non-holonomic constraints on motion planning?

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.

Case 1: small-time controllability


In the case where the vehicle can move both forwards and backwards, at low speed, small-time
controllability results proove that any reference path in the configuration space can be approached
up to an ². Therefore, the non-holonomic constraint does not cause any problems. The results are
based on Lie Algebra: in order to check that the system is non-holonomic, Frobenius’ theorem
is used; then, the Lie Algebra Rank Condition (LARC) proves the small-time controllability of this
non-holonomic system. Finally, the Heine–Borel theorem proves the existence of a finite covering
(thus that can be obtained on a computer) of open sets joining two configurations. The main con-
cepts of small-time controllability are given in Appendix B.1.

Case 2: curvature constraints


In the case where the vehicle can only move forwards, the non-holonomic constraints need to
be considered at the motion planning level: there exists a maximal curvature γmax (respectively a
minimal curvature radius Rmi n ) the vehicle can follow which depends on the geometry of the vehi-
cle and is given by Equation (3.7) (δmax corresponds to the maximum steering angle of the wheel).
Resolution methods based on the control space often rely on a kinematic bicycle model to enforce
the respect of the non-holonomic constraint, while those based on the configuration space use
Dubins’paths [Dubins, 1957]: for an application on RRT, see for example [Kuwata et al., 2008].

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).

Figure 3.12 – A “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

• Offline computation - As an accurate vehicle model is usually computationally expensive,


it is possible to do some offline precomputation to speed up the online computation. This is
the case for example of explicit MPC [Besselmann and Morari, 2009]. However, to the best of
our knowledge, this technique has never been apply at the motion planning level. Instead,
a variant has been proposed in [Altché et al., 2017]: the achievable acceleration enlevope
of a vehicle depending on its initial state, such as its speed and steering angle is precom-
puted offline. The trajectory planning is then done using a simple point-mass model with
linear constraints on the accelerations obtained using the precomputed acceleration enve-
lope. The problem is then very efficient from a computational point-of-view (QP-problem
with linear constaints) but its application on an actual vehicle might be challenging as one
needs to obtain the acceleration envelopes.
Finally, some works precompute motion primitives: for example, in [Gray et al., 2012], a fea-
sible trajectory is generated offline from predefined motion primitives and a MPC using a
simplified four-wheel vehicle model performs the path tracking. The use of motion prim-
itives transform the continuous MPC optimization problem into a combinatorial one by
choosing the best sequence of actions to perform.

Validity domain delimitation

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

Guaranteeing the “feasibility" of the


kinematic bicycle model

“ In any moment of decision the


best thing you can do is the right
thing.
The worst thing you can do is
nothing. ”

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

4.1 Hierarchical versus integrated motion planning and control archi-


tecture: a choice of model
In the literature, many works can be found on motion planning and control architectures. They
can be classified into two categories [Berntorp, 2017]: hierarchical and integrated approaches.

4.1.1 Integrated motion planning and control architecture


In an integrated approach, motion planning and low-level control are unified into one unique
MPC formulation such as in [Jiang et al., 2016, Liniger et al., 2015, Gao et al., 2010]. Different ve-
hicle models can be used as long as the control inputs correspond to the ones of the low-level
controllers, for example the steering angle and the wheel torques. Therefore, the dynamic bicy-
cle model presented in chapter 2.4.4 is often chosen. This model is more time consuming than
the one used for planning in a hierarchical approach. One of the main assets of such a method is
that the reference trajectory obtained is feasible (if the model is well chosen). However, the long
computational time limits the prediction horizon and thus the speed of the vehicle. Moreover, in-
tegrated approaches are not robust to modeling errors, disturbances and parameter uncertainties
as the system evolves in open-loop during its recomputational time, which has a low frequency
compared to conventional low-level controllers (around 200ms).
Except from using simple lateral tire models such as the linear tire model or the Fiala one,
the wheel dynamics is normally not considered in the modeling for two reasons: first, the wheel
dynamics is much faster than the carbody dynamics. Therefore, it would require a very small con-
trol time step in the MPC formulation which is unsuited for real-time application. Secondly, the
wheel dynamics is highly non-linear, a good example beeing the computation of the longitudi-
nal slip ratio τx (see chapter 2.2). Therefore, some simplifications are still necessary such as in
[Falcone et al., 2007b] where the slip ratio is assumed to remain constant on the whole prediction
horizon.

4.1.2 Hierarchical motion planning and control architecture


The hierarchical approach separates the motion planning from the low-level control to overcome
the problem of long prediction horizon and disturbances. Two independent layers are thus ob-
tained: first, the motion planning computes a reference trajectory; then, the latter is fed to the
controllers in order to be tracked. Examples comprise: [Rosolia et al., 2017] which uses a uni-
cycle model for the planning layer and a dynamic bicycle model for the control; [Li et al., 2017]
which uses a unicycle model with a constant constraint on the maximal curvature and a dynamic
bicycle model for the control; [Abbas et al., 2014] which uses a kinematic bicycle model with a
constant speed assumption for planning a reference trajectory; [Ziegler et al., 2014b] uses a point
mass model with a constraint on the curvature.
In the motion planning layer, simple models such as a point-mass1 or a unicycle model are
usually used in order to generate a safe reference trajectory with a long prediction horizon. The
low-level controllers are assumed to be able to track the reference trajectory obtained by choosing
a very detailled vehicle model able to drive at the vehicle’s handling limits, typically a dynamic
bicycle model at least. In a sense, the controller is assumed to be “perfect", able to follow any
given reference trajectory [Zhan et al., 2016, Qian et al., 2016, Nilsson et al., 2015a].
However, using simple models at the motion planning level might lead to plan unfeasible ref-
erence trajectories as these models are unable to capture the kinematic and dynamic effects pre-
sented in chapter 3.3 and 3.4. This problem, critical for the safety of the vehicle, will arise as the
number of traveled kilometers increases, the driving strategy becomes less conservative and the
road condition changes.
1 Using a quadratic cost function and a point-mass model, the optimization problem of Equations (3.2) becomes

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.

Figure 4.1 – Limits of the “perfect" controller assumption.

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.

4.2 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.

4.2.1 Experimental set-up

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

2 The vertical motion of the vehicle is neglected and Z(t ) = h


CoG .

67
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL

constant.

X(t ) = R sin(ψ(t ) + β) + X(0) (4.2a)


Y(t ) = −R cos(ψ(t ) + β) + Y(0) (4.2b)
V
ψ(t ) = t + ψ(0) (4.2c)
R
As the yaw rate ψ̇ = V/R is constant, Equation (2.43d) becomes Equation (4.3) where δt h , the
theoretical steering angle obtained using a kinematic bicycle model, is a function only of the cur-
vature radius R, not of the speed V. More precisely, there is a one-to-one correspondence between
the curvature radius and the steering angle, when using the kinematic bicycle model with constant
speed.

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.

4.2.2 Limits of Equation (4.3)


The kinematic bicycle model assumes for constant speed that the curvature radius of the path de-
scribed by the vehicle depends only on the steering angle, not on the speed. In order to test the va-
lidity of this assumption, we compare the results obtained by a kinematic bicycle model with those
of the 9 DoF vehicle model. For that purpose, we run several 9 DoF vehicle simulations. Each sim-
ulation is parameterized by a constant steering angle δa and a constant wheel torque command
Tω applied at the front wheels. The initial speed of the vehicle is Vx = 10m/s and V y = 0m/s and
the friction coefficient µ of the road is assumed to be equal to 1. More precisely, for each steering
angle δa chosen, we run several simulations with different values of wheel torque command Tω .
The system ends up describing a circle with constant speed (see Figures 4.2 and 4.3), except if the
wheel torques are negative or too high. These solutions were discarded.
Figure 4.4 shows the curvature radius R of the circle obtained with the 9 DoF vehicle model
versus the speed V for different values of the applied steering angle δa . In dashed lines, we added
the constant curvature R t h obtained with the kinematic bicycle model from Equation (4.3). While
at low speed, R = R t h , this is not the case for higher speed. In particular, as the speed or the
steering angle increase, the error becomes huge. For example, at V = 25m/s, the curvature radius
error is 4.0% for δa = 1◦ but 86.0% for δa = 4◦ . Thus the limits of the kinematic bicycle model are
highlighted.

4.2.3 Adding a constraint on the lateral acceleration


We have obtained in Figure 4.4 a curve R = f (V) for each steering angle δa applied in the vehicle
simulator. From Equation (4.3), we know that for each radius R corresponds a unique theoretical
steering angle δt h obtained from the kinematic bicycle model. Therefore, in Figure 4.5, the theo-
retical steering angle δt h corresponding to the radius R obtained above is displayed as a function
of V. We can now compare the steering angle theoretically obtained using a kinematic bicycle
model, δt h , with the one really applied, δa , in order to obtain the same curvature radius at dif-
ferent constant speeds. At low-speed, we observe that δa and δt h are equal, meaning that the
kinematic bicycle model and the 9 DoF dynamic model coincide. However, at higher speeds, δt h

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.

0.5◦ 1◦ 1.5◦ 2◦ 2.5◦ 3◦ 3.5◦ 4◦ 5◦ 6◦

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 .

0.5◦ 1◦ 1.5◦ 2◦ 2.5◦ 3◦ 3.5◦ 4◦ 5◦ 6◦


10
8
ay (m/s2 )

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)

4.2.4 Relaxation of the dry road assumption


We run the same simulations as before but this time with µ = 0.7 in the 9 DoF vehicle simulator
which corresponds to a wet road [Persson et al., 2005]. The results are shown on Figure 4.7 and 4.8.
We observe again the importance of limiting the lateral acceleration of the vehicle in order for the
kinematic controller to be valid. In particular, limiting the lateral acceleration to a y max = 0.5µg in
Figure 4.8 ensures the validity of the kinematic bicycle model as δt h ≈ δa .

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.

Figure 4.9 – Validity of the kinematic bicycle model.

72
CHAPTER 4. GUARANTEEING THE “FEASIBILITY" OF THE KINEMATIC BICYCLE MODEL

4.3 A consistent planning and control architecture for normal driving


situations
In the previous section, we have presented the different models that can be used in a MPC frame-
work in order to obtain a reference trajectory for autonomous vehicles. In particular, we have
shown the assets of using a kinematic bicycle model in order to generate feasible trajectories as we
have a criteria on the maximum lateral acceleration allowed to ensure the model validity. There-
fore, in this section, we are going to propose a consistent planning and control architecture in
order to cope with most of the driving situations.
The goal of a planning and control architecture is to compute the control inputs, i.e. the steer-
ing angle and wheel torques, that should be applied on the actuators of the vehicle in order to
avoid obstacles located on the path. It also defines a speed profile for the vehicle to follow. We
propose an architecture composed of four main components to deal with most driving situations,
namely a local velocity planner, an obstacle manager, a local MPC planner and low-level con-
trollers. These modules, shown in Figure 4.10, are detailed respectively in sections 4.3.1 to 4.3.4.
The main characteristics of our architecture are:

• 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.

Figure 4.10 – The planning and control architecture proposed.

4.3.1 Local velocity planner


The reference input of the planning and control architecture only comprises the future coordi-
nates (X i , Yi )i ∈N of the center line of the road. However, in order not to be too conservative while
ensuring the safety of the vehicle at all time, the system should foster higher but safe speeds.
Therefore, a velocity term should be added to the cost function of the local MPC planner (see
section 4.3.3). Choosing a cost such as ||V − Vmax ||2 with Vmax constant would cause the veloc-
ity cost to change too much according to the situation, thus making it difficult to tune its weight.
A small weight would lead the MPC to be very conservative when it could drive at higher speeds,
while a bigger weight would cause safety problems when the velocity should be low, as the optimal
solution might be to drive fast rather than to respect some safety constraints.
Therefore, we introduced a local velocity planner that provides a heuristic velocity Vheur de-
fined by Equation (4.10). It takes into account the current speed of the vehicle V, a predefined
maximum speed allowed Vmax and the future coordinates (X i , Yi )i ∈N of the reference path. The
strategy consists in increasing the actual speed of the vehicle V by ∆V while Vmax is not reached,

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.

4.3.2 Obstacle manager


The obstacle manager module defines a parabola around each surrounding obstacle. More pre-
cisely, each obstacle o is represented by a parabola p 0 with directrix parallel to the reference path
at its point closest to o as shown in Figure 4.11; the parameters of p 0 are chosen such that it is the
minimal parabola containing all vertices of o. The interior points of the parabola defines then a
region that is forbidden for the vehicle, and will be used as a constraint in the local MPC planner.
As mentioned in chapter 1.3.1, the problem of obstacle detection is beyond the scope of this thesis.

Figure 4.11 – Parabola defined by the obstacle manager.

4.3.3 Local MPC trajectory planner


The local MPC planner computes a reference trajectory for the vehicle that will then be tracked by
the low-level controllers. This trajectory must be:

• Safe: the trajectory is collision-free, i.e. it avoids all the other obstacles;

• Feasible: the trajectory respects the vehicle dynamics;

• Non-conservative: the trajectory should be efficient in terms of traffic flow.

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

where ||x||2Q = x T Qx and Qv = q v IN y , Q∆ = q ∆ IN y , Qδ̇ = q δ̇ INu , Qx = q x INu , Q y = q y INu , Qobs =


q obs INu , Qδt ol = q δt ol INu . For the simulations presented in section 4.3.5, the parameters displayed
in Table 4.1 were chosen. In the rest of this chapter, N y = Nu and TH denotes the prediction horizon
of the MPC.

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.

x er r = (X − X i ) cos(ψ0 ) + (Y − Yi ) sin(ψ0 ) (4.13a)


y er r = −(X − X i ) sin(ψ0 ) + (Y − Yi ) cos(ψ0 ) (4.13b)

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)

All the values used in simulation are presented in Table 4.2.

a mi n a max u 2mi n u 2max δl b δub


−8m/s 6m/s −0.5rad/s 0.5rad/s −0.6r ad 0.6r ad

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

Table 4.3 – Parameters of MPC.

4.3.4 Longitudinal and lateral low-level controllers


The low-level controllers are responsible for translating the trajectory computed by the local plan-
ner into actuator inputs. They will be studied in more details in chapters 5 and 6 of this thesis.

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

Table 4.4 – Parameters of the longitudinal and lateral PID controllers.

4.3.5 Simulation results


In order to test the proposed planning and control architecture, simulations were performed in
PreScan [TASS International, ] using the 10 DoF vehicle model presented in chapter 2.3. The test
track was designed to alternate between long straight lines and small radius curvatures (up to 10m
only) as shown in Figure 4.12. This is particularly challenging as the constraint on lateral acceler-
ation is rapidly reached in the curves if the vehicle arrives too fast. Therefore, some precautions
must be taken in the choice of the parameters of the planning and control architecture. For exam-
ple, the prediction horizon of the MPC depends on the maximum speed Vmax as the vehicle needs
to be able to decelerate sufficiently in advance to reach the target speed in the curves. The road
friction coefficient µ was chosen equal to 1. The initial speed is Vx0 = 15m/s.

Simulation without obstacles

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.

ref traj planned traj by MPC actual traj

50

0
Y (m)

−50

−150 −100 −50 0 50 100


X (m)
Figure 4.13 – Trajectories planned by MPC (green lines) and actual trajectory followed by the controller (blue
dots), with obstacles (red dots).

Simulation with obstacles

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

no obstacle with obstacles

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.

no obstacle with obstacles


100
comp.time (ms)

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

−150 −100 −50 0 50 100


X (m)
Figure 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.

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.

4.4 Adaptation to low friction coefficient roads


4.4.1 Adaptation of the planning and control architecture
Several constraints have to be added at the motion planning level to ensure that the low-slip and
low-skid assumptions remain valid, in particular on slippery roads.

Dynamic maximum steering angle

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.

Limitation of the total acceleration

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]:

Fxp ≈ µFxp 0 ; F y p ≈ µF y p 0 (4.17)

where

Fxp 0 = Fz sin (Cx atan(Bx τx − E x (Bx τx − atan(Bx τx ))))


= Fz sin C y atan(B y α − E x (B y α − atan(B y α)))
¡ ¢
Fy p0

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.

Fx = Fxp cos δ f − F y p sin δ f = µFxi ,0 (4.18a)


Fy = F y p cos δ f + Fxi sin δ f = µF yi ,0 (4.18b)

where

Fxi ,0 = Fxp 0 cos δ f − F y p 0 sin δ f


F yi ,0 = F y p 0 cos δ f + Fxp 0 sin δ f

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

Therefore, if we set a max (µ = 1) and a mi n (µ = 1) to be respectively the maximal acceleration and


deceleration for µ = 1, we obtain:

a max (µ) = µa max (µ = 1) ; a mi n (µ) = µa mi n (µ = 1) (4.20)

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).

Adaptation of the heuristic speed

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:

Vmax = −µTH a mi n (4.23)

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.

4.4.2 Simulation results


We used the same reference track as previously, alternating between small radius curves and long
straight lines. Again, the goal of the motion planning and control architecture is to remain on the
center lane except if there is an obstacle on the path. Two different road conditions were tested:
wet roads (µ = 0.7) and snow-covered roads (µ = 0.2). The value of the road friction coefficient is
assumed to be known and remain constant during the whole simulation.

Rain conditions (µ = 0.7)

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.

Snow conditions (µ = 0.2)

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

Controllers for autonomous vehicles

“ Si hortum in bibliotheca habes,


nihil deerita ”

a If you have a garden and a library,

you have everything you need


Cicero

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.

5.1 Longitudinal control

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

5.1.1 Example 1: longitudinal controller based on a dynamic model


Let us recall from section 2.1 and 2.2 the equations of the longitudinal vehicle dynamics and of the
wheel dynamics, where x is the longitudinal displacement of the vehicle:
4
X
MT ẍ = Fxi − Faer o (5.1a)
i =1
Ir ω̇i = Tmi − Tbi − r e f f Fxpi (5.1b)

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

Therefore, the open-loop total torque to apply on the wheels becomes:


4
ω̇i + r e f f Faer o
X
Tt ot = MT r e f f ẍ r e f + Ir (5.1d)
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:

• ∀e, V(e) ≥ 0 and V(e) = 0 ⇒ e = 0

• V̇ ≤ −kV ≤ 0, thus ∀e ∈ R \ {0}, V̇(e) < 0

• V(e) −→ +∞
e→+∞

Thus, the system is asymptotically stable and converges to zero.


In order to get V̇ ≤ −kV, set:
4
ωi + r e f f Faer o
X
Tt ot = kMT r e f f e + MT r e f f ẍ r e f + Ir (5.2a)
i =1

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

5.1.2 Example 2: longitudinal PI controller


A longitudinal PI controller consists in applying a total wheel torque Tt ot that has one term pro-
portional to the speed tracking error e v = v − v r and another term proportional to the integral of
Rt
the speed tracking error 0 e v (τ)dτ as illustrated by Equation (5.3). While the proportional term
corrects the speed tracking error, the integral term enables to reject external perturbations.
Z t
Tt ot (t ) = −K P e v (t ) − K I e v (τ)dτ (5.3)
t0

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

Figure 5.1 – PI controller with anti-windup.

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.

5.2 Review of lateral controllers


Lateral controllers for autonomous vehicles have been widely studied in the literature and com-
prise a wide range of control techniques. Among others, let’s mention:

• Fuzzy logic [Hessburg and Tomizuka, 1994, Zalila et al., 1998, Wang et al., 2015];

• H∞ controllers [Hingwe et al., 2002];

• Proportional-Integral-Derivative (PID) controllers [Hessburg et al., 1991, Sharp et al., 2000,


Menhour et al., 2011b];

• Model Predictive Control [Falcone et al., 2007b, Shinohara et al., 2016];

• Sliding mode control [Hingwe and Tomizuka, 1997, Zhao et al., 2007, Talj et al., 2013];

94
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES

• Adaptive control [Netto et al., 2004].

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).

5.2.1 Proportional-Integral-Derivative (PID)


Proportional-Integral-Derivative controllers are the most popular controllers in industrial appli-
cation1 . They have been applied for the first time in [Minorsky, 1922] and widely studied since
1 https://taskforce.ifac-control.org/industry-committee/legacy-materials-pilot-industry-committee-2014-

2017/meeting-materials/meeting-presentation-17-june-2015/view, visited on March 2018.

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)

Figure 5.3 – PID controller.

Accuracy Stability Reactivity


KP + - +
KI + - -
KD - + +

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.

5.2.2 Pure-pursuit (PP)


The pure-pursuit algorithm has been introduced in [Coulter, 1992] and applied on Carnegie Mel-
lon University’s NavLAB vehicles. It consists in drawing a circular arc joining the center of the rear
axle to a point P on the reference path located at a preview distance LP from the rear axle as shown
in Figure 5.4. The control law given by Equation (5.7) is then derived from the kinematic bicycle
model in order to follow this circular arc:
2(l f + l r ) sin α
µ ¶
δPP (t ) = atan (5.7)
Lp

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.

Figure 5.4 – Pure-pursuit controller.

More precisely, Equation (5.7) was obtained as following:

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.

5.2.3 Stanley controller (SC)


The Stanley controller was designed for the eponymous vehicle from Stanford University that won
the DARPA Grand Challenge in 2005 [Thrun et al., 2006]. It is a control law based on the lateral
error e f and the heading error ψ̃ f = ψ f −ψr both taken at the center of the front axle of the vehicle
(see Figure 5.5). Its expression is given by Equation (5.9), where v x f is the velocity of the front
wheel and k is a control gain:
ke f (t )
µ ¶
δSC (t ) = ψ̃(t ) + arctan (5.9)
v x f (t )
Exponential convergence has been proved for small front lateral errors using a linear bicycle
model with infinite tire stiffness and tight steering angle limitations [Thrun et al., 2006].

Figure 5.5 – Stanley controller.

[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

Figure 5.6 – Frenet frame for the kinematic bicycle model.

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

or equivalently, in matrix form:

Ẋ = h 1 (X)u 1 + h 2 (X) (5.12a)

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

Choosing m 3 = −K D a 3 − K P a 2 with (K P , K D ) ∈ (R+ )2 leads to Equation (5.15). Thus a 2 = ỹ and


0
a 2 = a 3 = (1 − κ ỹ) tan ψ̃ converge to zero. Therefore, ỹ and ψ̃ both converge to zero. K P and K D
are tuned such that the system converges to the reference path in a given distance that does not
depend on the velocity v r of the vehicle.

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

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

A2 = −K D (1 − κ ỹ) tan ψ̃2 − K P ỹ + κ(1 − κ ỹ) tan2 ψ̃2 (5.17b)


ψ̃2 = ψ̃ + αr (5.17c)

5.2.5 Linearized dynamic bicycle model controller (LDBM)


Let’s recall the equations of the dynamic bicycle model that have been introduced in section 2.1.1:

MT (V̇x − ψ̇V y ) = Fx f + Fxr (5.18a)


MT (V̇ y + ψ̇Vx ) = F y f + F yr (5.18b)
Iz ψ̈ = l f F y f − l r F yr (5.18c)

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):

Fy f = F y p f cos δ f + Fxp f sin δ f (5.21a)


F yr = F y pr (5.21b)

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

where ψ̇r = κVx and κ the curvature of the reference path.


The control law given by Equation (5.24) can then be derived in order for the error vector
˙ )T to converge to zero. All the details can be found in [Rajamani, 2012].
ξ = ( ỹ; ỹ˙; ψ̃; ψ̃

δLDBM = δf f + δf b (5.24a)

where δ f f (resp. δ f b ) are the feedforward (resp. feedback) control laws:

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 ψ̃

ψ̃ss corresponds to the steady-state yaw angle error:


lf
ψ̃ss = −κl r + MT Vx2 κ (5.24d)
Cr (l f + l r )

Varying longitudinal velocity

In the case where the longitduinal velocity varies, Equation (5.23) becomes a linear parameter
varying (LPV) system as shown in Equation (5.25):

ξ̇ = A(Vx )ξ + B1 u + B2 (Vx )ψ̇r (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

• V (x) = 0 ⇒ x = 0 since P > 0.

• V˙ = λx T (ATmi n P + PAmi n )x + (1 − λ)x T (ATmax P + PAmax )x < 0 by definition of P and λ

• lim V (x) = +∞ by definition of P.


||x||→+∞

5.3 Implementation and comparison of the lateral controllers


After presenting different lateral controllers, we implemented the pure-pursuit, the KBCF and the
Stanley controllers on an actual vehicle in collaboration with the CyberC3 laboratory of Shanghai
Jiao-Tong University. Section 5.3.1 introduces the different methods for computing the lateral and
heading angle errors given a reference path. Then section 5.3.2 presents the experimental vehicle
while section 5.3.3 explains how to implement the pure-pursuit, the KBCF and the Stanley con-
trollers in practice. The performances of these controllers are compared in section 5.3.4 before
concluding with section 5.3.5.

5.3.1 Computation of the lateral and heading angle errors


All lateral controllers require to compute the lateral error ỹ and/or the heading angle error ψ̃.
While their implementation details are usually not mentioned in publications, they are not straight-
forward in practice. This is mainly due to a discrete representation of the continuous reference
path which is necessary in order to be stored on a computer. This representation, named way-
points, contains a list of reference positions (X ri , Yir ), i = 1..n for the vehicle. Therefore, this section
will present cubic spline and polynomial interpolation techniques, as well as different methods
for computing the lateral error and the heading angle error.

Interpolation of the list of waypoints

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

2 Except in the cases where the vehicle is at a full stop

102
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES

Waypoints Polynomial Waypoints Spline


2 2

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

Figure 5.7 – Interpolation of waypoints.

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:

Method 1: the closest point

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 :

1. Find the closest waypoint (X ri , Yir ).

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

6. The reference heading angle ψri is defined as follows:


µ µ ¶¶
1
ψri = acos 〈~t ir , 〉 (5.27d)
0

7. The heading angle error ψ̃ corresponds to:

ψ̃ = ψ − ψ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.

Method 2: the lateral displacement

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.

ỹ = (Y − Yir ) cos ψri − (X − X ri ) sin ψri (5.28)

Figure 5.8 – The lateral displacement.

Method 3: the pseudo-distance

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:

1. Find the closest waypoint (X ri , Yir ) to the vehicle.

2. Compute its tangent vector ~t ir based on the waypoints at index i − 1 and i + 1.

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

Figure 5.9 – The pseudo distance.

5. Compute the tangents ~


Tpr ev and ~
Tnext of the path at Ppr ev and Pnext .

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].

~t λ = λ~t 2 + (1 − λ)~t 1 (5.29b)


pλ = λp 2 + (1 − λ)p 1 (5.29c)

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)

As p 1 = (0, 0)T and p 2 = (l , 0)T , the solution is:

m1 y v + x v
λ = (5.29e)
(m 1 − m 2 )y v + l

9. The pseudo-distance is then:

ỹ = sign(y v )||n λ || (5.29f)

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.

5.3.2 Experimental set-up


The pure-pursuit (PP), the non-linear controller based on the kinematic bicycle model (KBCF) and
the Stanley controllers (SC) have been tested on the CyberGL8 vehicle belonging to the CyberC3
laboratory of Shanghai Jiao-Tong University. The vehicle is shown in Figure 5.10. It is equipped
with a 10Hz Hemisphere GPS un237c located at the center of the rear axle of the vehicle and a
100Hz Bosch SMI130 IMU. The odometers are integrated in the original GL8 vehicle and provide
measurements at 100Hz. The embedded computer is an Intel NUC 6I7KYK. The rest of its sensors
are not used in these experiments.
In order to localize the vehicle, an Extended Kalman Filter is used based on the GPS, the IMU
and the odometer measurements. Thus, the localization is not only more accurate but also pro-
vided at a higher frequency, 100Hz, even though the frequency of the GPS is only 10Hz. The po-
sition of the center of the rear axle of the vehicle is given in the inertial coordinate system. The
control of the steering wheel is ensured by a steer-by-wire system working at 100Hz.

105
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES

Figure 5.10 – Shanghai Jiao-Tong’s CyberGL8 vehicle used for experimentations.

Experimentations on an actual vehicle enable to test the controllers in an environment com-


prising noise on the measurements, actuation delays and parameter uncertainties which are in-
herent to any real-world system.
The reference path (X ri , Yir )i ∈‚1,nƒ was obtained by recording the successive positions of the
vehicle driven by a human driver on the campus of Shanghai Jiao-Tong University. The position
is the one given by the EKF at 100Hz. The velocity was kept low, below 20km/h. Therefore, the
distance between two waypoints on the reference path is small (less than 10cm). The reference
path is shown in Figure 5.11. In order to compute the lateral error ỹ and the angular error ψ̃, we
used method 2 described in section 5.3.1 called the “lateral displacement method". Interpolation
of the waypoints is not necessary due to the small distance between two points.

Figure 5.11 – Reference path (in red) in the Shanghai Jiao-Tong University campus.

106
CHAPTER 5. CONTROLLERS FOR AUTONOMOUS VEHICLES

5.3.3 Implementation and tuning of the controllers

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).

Tuning of the controllers

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.

Estimation of the curvature and its derivative

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

Filtering of the control command

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)

5.3.4 Comparison of lateral controllers


Experimental tests were run on the Shanghai Jiao-Tong University campus, that is an open road
environment. Thus for safety reasons, the speed of the vehicle is managed by a human driver.
However, the latter tried to keep the same speed profile from one experiment to another despite
the traffic.
In order to compare the different controllers, all the plots are given as a function of the curvilin-
ear abscissa s traveled. Moreover, the latter are readjusted such that a given value s corresponds to
the same position on the reference track for each controller as the experiments did not start from
exactly the same position. All the lateral and heading angle errors are computed at the center of
the rear axle even in the case of the Stanley controller. Therefore, a direct comparison between
controllers can be made.
The trajectories obtained for each controller are displayed in Figure 5.13: we observe that they
were all able to track the reference path without any problems. Figure 5.14 and Figure 5.15 are
zooms of respectively the sharp turn on the top right of Figure 5.13 and the long turn on the bottom

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

0 100 200 300 400 500 600


X (m)

Figure 5.13 – Trajectories obtained with the different controllers.

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)

Figure 5.14 – Zoom on the sharp turn.

KBCF PP SC

−60

−80

−100
Y (m)

−120

−140

−160

500 520 540 560 580 600 620


X (m)

Figure 5.15 – Zoom on the long turn.

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)

Figure 5.16 – Speed profiles of the vehicle for each controller.

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.

RMSE Mean Std Min Max


KBCF 0.20 0.05 0.19 -0.52 1.32
PP 0.46 0.01 0.46 -1.02 1.17
SC 0.27 0.14 0.24 -0.79 1.04

Table 5.2 – Comparison of the lateral errors (m).

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.5 4.38 % 21.43 % 50.25 %

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.

RMSE Mean Std Min Max


KBCF 0.023 -0.0007 0.023 -0.132 0.156
PP 0.030 0.005 0.029 -0.101 0.216
SC 0.021 -0.006 0.020 -0.105 0.093

Table 5.3 – Comparison of the angular errors (rad).

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)

Figure 5.21 – Comparison of the steering angle δ for each controller.

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

−0.5
dt

−1
0 200 400 600 800 1,000 1,200 1,400 1,600 1,800 2,000
s (m)

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.

Controller Tuning Accuracy Smoothness Ref. path max |a y | Model


0
PID - - + C ? *
PP - - + any 0.5µg kbm
SC + (+) (+) C0 ? dbm
KBCF + + - C2 /C3 0.5µg kbm
- drawback ; + asset ; ? unknown ; * depends on the model used to tune it.

Table 5.4 – Summary of lateral controllers.

5.4 Coupled longitudinal and lateral control


In most driving situations, the coupling between longitudinal and lateral dynamics can be ne-
glected. As a matter of fact, drivers either accelerate/decelerate the vehicle or turns, but do not
both at the same time. However, in some situations such as aggressive driving, emergency ma-
neuvers or low friction coefficient roads, the coupling between longitudinal and lateral dynamics
should be considered to ensure the stability of the vehicle. This is in particular due to the friction
circle presented in section 2.2: when the longitudinal tire force Fxp and the lateral tire force F y p
q
are such that F2xp + F2y p = µFz , the tire cannot generate any extra force and tends to prioritize
longitudinal over lateral dynamics.
The overall vehicle dynamics beeing highly non-linear, deriving a controller that takes into
account the coupling between longitudinal and lateral dynamics is very complicated. In the lit-
erature, most of the work have been focusing on using Model Predictive Control with complex

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

“ You must unlearn what you have


learned ”

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.

6.1 Model-free control: a new control paradigm for non-linear systems


6.1.1 The ultralocal model
The principle of the model-free control paradigm introduced in [Fliess and Join, 2013] is to replace
a complex non-linear model by an ultralocal model given by Equation (6.1), valid only on a very
short time period T (see Appendix C.1 for more details):

y (ν) (t ) = F(t ) + αu(t ) (6.1)

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-

2017/meeting-materials/meeting-presentation-17-june-2015/view, visited on March 6th 2017.

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

6.1.3 Intelligent controllers


The “intelligent" controllers [Fliess and Join, 2008] have been introduced within the model-free
control paradigm. They can be written in the form of Equation (6.5):

b − ẏ r
F
u = − − K (e) (6.5)
α

where e = y − y r is the tracking error.


There exist commonly four types of “intelligent" controllers: intelligent-Proportional (i-P) and
intelligent-Proportional-Integral (i-PI) for a first-order system (ν = 1); intelligent-Proportional-
Derivative (i-PD) and intelligent-Proportional-Integral-Derivative (i-PID) for a second-order sys-
y (ν)
tem (ν = 2). They are composed of a feedforward term αr , an ultralocal term − αF and a feedback
b

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:

ė(t ) = −αK (e(t )) + (F(t ) − F(t


b )) (6.7)
2 ALgebra for Numerical Identification and Estimation

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:

ė(t ) = −αK P e(t ) (6.8)

For a second-order system, combining Equations (6.1) and (6.5), leads to:

ë(t ) = −αK (e(t )) + (F(t ) − F(t


b )) (6.9)

Again, if the estimation of F


b is “good", i-PD or i-PID controllers ensure the asymptotic stability
of the closed-loop system with α > 0, K P > 0, K D > 0 and K I > 0. For example, for an i-PD controller,
Equation (6.9) becomes:

ë(t ) = −αK D ė(t ) − αK P e(t ) (6.10)

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

i-P i-PD i-PI i- PID


PI kp 1/(αTs )
ki K P /Ts
PID kp K D /Ts
ki K P /Ts
kd 1/(αTs )
PI2 kp 1/(αTs )
ki K P /Ts
ki i K I /Ts
PI2 D kp K D /Ts
ki K P /Ts
ki i K I /Ts
kd 1/(αTs )

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

6.2 Implementation on an actual system


In order to apply the model-free control paradigm on an actual system, several difficulties need
to be overcome. In particular, one of the major assumption in the model-free control theory is
that the estimation error F − F b is zero (or almost zero). Therefore, we need to ensure that this
assumption remains valid at all time.
However, as mentioned in subsection 6.1.2, filters are necessary in order to mitigate the noise
of the measurements, especially to compute derivative signals such as y (ν) from the successive
measurements of y. These filters have their own dynamics which lead to an estimation error dur-
ing transient phases. Moreover, other phenomena such as delays can play a similar role. In the
case of ALIEN filters, we will show that a bad numerical implementation of the integral given by
Equations (6.3) and (6.4) leads also to estimation errors at steady-state.
Therefore, this section will present on how to implement a model-free controller based on
ALIEN filters in order to get the best possible results. Subsection 6.2.1 will discuss how to imple-
ment numerically the ALIEN filters in order to obtain a perfect estimation at steady-state. Then, in
subsection 6.2.2, a tuning procedure for setting the parameter α is introduced. We will show that
this parameter has a strong impact on the performances of the MFC, in particular during tran-
sient phases. Finally, as it is never possible to guarantee a perfect estimation of F, we will make a
stability analysis of the system when the estimation error is non-zero in section 6.2.3.

6.2.1 Numerical quadrature for ALIEN filters


One of the main difficulty for applying the MFC paradigm using ALIEN filters on an actual system
is to compute numerically the expression of the filter given by Equation (6.3) for a first-order sys-
tem (respectively Equation (6.4) for a second-order system). First of all, it is important to provide
the actual control u that was applied on the system and not the one send by the controller as they
might differ due to filters or limitations on the actuators.

Order of the quadrature

Theorem 2. In order to have a perfect estimation of F at steady-state, the numerical quadrature to


compute Equation (6.3) should be at least of order 2.
Proof. Assume that the system has reach its steady-state, denoted by the subscript ∞. In this case,
Equation (6.1) becomes:

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.

Theorem 3. In order to have a perfect estimation of F at steady-state, the numerical quadrature to


compute Equation (6.4) should be at least of order 4.
Proof. Similarly to the proof of Theorem 2, we obtain at steady-state for a second-order system:
Z T
5!
F = − 5
b P4 (τ) dτ (6.14)
2T 0
where P4 (τ) = −T 2 y ∞ +6Ty ∞ τ+ −6y ∞ + αu2∞ T 2 τ2 −αu ∞ Tτ3 + αu2∞ τ4 is a fourth-order polynomial
¡ ¢

in τ, 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:

• Simpson’s 1/3 rule (or three-point Newton-Cotes quadrature rule)


Z b
b−a a +b
µ µ ¶ ¶
f (x)d x ≈ f (a) + 4 f + f (b) (6.15)
a 6 2

• Simpson’s 3/8 rule (or four-point Newton-Cotes quadrature rule)


Z b
b−a a +b 2(a + b)
µ µ ¶ µ ¶ ¶
f (x)d x ≈ f (a) + 3 f +3f + f (b) (6.16)
a 8 3 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.

• Boole-Villarceau rule (or five-point Newton-Cotes quadrature rule)


Z b
b−a a +b 2(a + b) 3(a + b)
µ µ ¶ µ ¶ µ ¶ ¶
f (x)d x ≈ 7 f (a) + 32 f + 12 f + 32 f + 7 f (b) (6.17)
a 90 4 4 4

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]

1 2 5 [12.5, 25, 0, −25, −12.5]


£ 50 400 100 −100 −400 −50
¤
1 3 7 9 , 27 , 27 , 0, 27 , 27 , 9

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.

• First-order system: In this case, ν = 1, n y = 1 + 2n r ep and n u = n y − 1. The coefficients are


given in Table 6.4.

ν n r ep ny nu c ALIEN

1 1 3 2 [50, 0, −50, ¦ 0, −1]

[12.5, 25, 0, −25, −12.5, ¦ 0, −3 −1 −3


¤
1 2 5 4 8 , 4 , 8
£ 50 400 100 −100 −400 −50 −5 −4 −1 −4 −5
¤
1 3 7 6 9 , 27 , 27 , 0, 27 , 27 , 9 , ¦ 0, 27 , 27 , 3 , 27 , 27

Table 6.4 – ALIEN filter coefficients for estimating F


b for a first-order system.

• 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

Table 6.5 – ALIEN filter coefficients for estimating F


b for a second-order system.

6.2.2 Tuning procedure of the model-free controller

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:

y (ν) = f (y) + g (y)u (6.19)

123
CHAPTER 6. MODEL-FREE CONTROL

In that case:

F = f (y) + (g (y) − α)u (6.20)


à !
b − y r(ν)
F
u = − − K (e) (6.21)
α

where K (e) is the correction on the tracking error e.


Combining Equation (6.19) with (6.21) and choosing K (e) = 0, i.e. considering only the feed-
forward and ultralocal term of the control law, we obtain Equation (6.22):

g (y) (ν) g (y)


µ ¶
y (ν) = y r + f (y) − F
b (6.22)
α α

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.

y (ν) = y r(ν) (6.23)

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

Table 6.6 – Model-free controller tuning guidelines.

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.

ë(t ) = −αK D ė(t ) − αK P e(t ) (6.26)

6.2.3 Stability with a non-zero estimation error


In practice, during transient phases, the estimation error F − F
b is non zero, even if the order of the
numerical quadrature of the ALIEN filter is chosen properly. This is mainly due to the dynamics
of the estimation F.
b Therefore, for a first-order (resp. second-order) system, Equation (6.8) (resp.
Equation (6.10)) does not hold anymore and the asymptotic stability of the system is no more
guaranteed. Thus, further stability studies are required.

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)

Set A = (1 − Ts αK P ), B = Ts and f k = (Fk − F


bk ). Iterating from t = 0, the error e k at time t k is
given by the following relation [Kermani et al., 2012]:
k−1
Ak e 0 + Ai B f k−1−i
X
ek = (6.28)
i =0

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

= |Ak e 0 | + (1 − |A|)−1 (1 − |A|k )|B| f max

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 .

Ek+1 = AEk + B(Fk − F


bk ) (6.32)

As in the case of a first-order system, denoting f k = (Fk − F


bk ), we obtain:

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:

|Ek | ≤ (1 + δ)(1 − ||A||)−1 ||B|| f max (6.36)

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.

6.3 Application to vehicle control


After having presented how to implement model-free controllers in practice, applications to co-
ordinated brake and engine longitudinal speed control on an actual vehicle are proposed respec-
tively in sections 6.3.1 and 6.3.2. Section 6.3.3 shows some preliminary results obtained for the
lateral control of a vehicle. All the experiments were run on the vehicle presented in Figure 6.1
which belongs to ENSIAME engineering school in Valenciennes.
The structure of the vehicle for longitudinal control is depicted in Figure 6.2. All the sensors
and actuators are connected to the can bus and work with a fixed sampling period of 10ms. The
vehicle velocity is provided by the original sensor of the vehicle located on the gearbox output
shaft. The propelling is ensured by the torque produced by the engine which is controlled by the

126
CHAPTER 6. MODEL-FREE CONTROL

Figure 6.1 – The experimental vehicle belonging to ENSIAME engineering school.

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];

(ii) a combinaison with event-triggered control [Wang et al., 2011];

(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

Figure 6.2 – Structure of the vehicle powertrain to be controlled.

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.

Figure 6.3 – Considered cascading control structure.

6.3.1 Brake control


The brake system consists of an hydraulic actuator that pushes or pulls the brake pedal. The posi-
tion of the latter determines the pressure generated by the master cylinder on the brake disk.
The master cylinder and the brake pedal are connected together through a pushrod subject to

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)

Figure 6.5 – Open-loop response of the brakes.

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

setpoint 10000 5000 2000 1000 800 600


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.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.

setpoint 0 5 × 10−4 10 × 10−4 20 × 10−4


1,600
1,400
position (-)

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

6.3.2 Longitudinal speed control of the vehicle


The objective of this part is to control the longitudinal speed y v of the vehicle presented on Fig-
ure 6.1 by computing the control u v , which corresponds to the total wheel force requested on the
wheels in order to track the reference speed y rv . As depicted in Figure 6.3, the actual total wheel
force applied to the vehicle is subject to the dynamics of the low-level controllers. Although the ve-
locity control is not highly challenging, it is still subject to the following difficulties: (i) at low speed,
for small u i ce , as the GCU controls the vehicle velocity at 10km/h using the clutch (idle speed), the
system is not controllable; (ii) during propelling, the system becomes non controllable when the
clutch is open during a gear shift sequence; (iii) the low-level ICE torque is poorly controlled by
the ECU and causes thus disturbances on the control signal.
The control signal is send to the ECU which regulates the rotational speed of the engine. If the
force generated by the engine is not sufficient during decelerations, the brakes are applied, using
the MFC i-P controller with the parameter values obtained in subsection 6.3.1.
Tests were performed on the track presented in Figure 6.10. The track altitude profile is de-
picted in Figure 6.11. The disturbance caused by the slope at the beginning of the track forces to
use the brakes in order to maintain the vehicle at standstill.
In order to test the control law, the reference speed is composed of successive steps of ±10m/s
triggered every 10s. This raw reference signal is then smoothen using a second-order filter with
time constant 0.4s to obtain a C1 speed reference y r , shown in red in Figures 6.12 to 6.14.

Tuning of the control parameters

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.

Comparison with a PI controller

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

setpoint 1000 1 0.01 0.008 0.005 0.001

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.

setpoint 10 80 100 150

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

Controller RMS of the tracking error (km/h)


PI 2.32
i-P 1.48

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.

6.3.3 Lateral control


The purpose of the lateral controller is to guide the vehicle along a given reference path while the
longitudinal speed of the vehicle is being controlled by another independent system.
Existing works on lateral model-free controllers comprise tests in perfect simulation environ-
ment, where neither noise nor delays were added. The output considered is either the lateral devi-
ation [Menhour et al., 2015, d’Andréa-Novel, 2018] or the flat lateral output of the dynamic bicycle
model l f MT V y −Iz ψ̇ [Menhour et al., 2013]. In both cases, a second-order ultralocal model is con-
sidered. However, neither the ALIEN filters were used due the huge numerical errors caused by a
trapezoidal rule for computing the time integral, nor noise and delays were added to the measure-
ments.
After some tests on a simple 3 DoF dynamic bicycle vehicle model with linear tire model, it
turns out that lateral MFC is not very robust to actuation delays or dynamics on the actuator. This
can be observed in Figure 6.15, 6.16 and 6.17 where strong oscillations occurs and the system never
becomes stable again for a 50ms delay. In particular, the tuning of parameter K P and K D becomes
almost impossible.
Moreover, when considering the lateral error as the observation output, the reference output
y r is always zero as well as its derivative: in particular ÿ r = 0. Therefore, unlike the longitudinal
model-free controller, the feedforward term of the lateral controller is zero. Thus, the structure
of the model-free controller present little interest in this case compared to a conventional PID
controller.
Therefore, we proposed in [Delprat et al., 2019] to control the output y = γ0 ỹ + ψ̃, which is a
ponderation between the lateral error ỹ and the heading angle error ψ̃. The ponderation factor γ0
was set equal to 10. Due to the absence of a feedforward term, the heading error is defined as the
angle between the direction of the vehicle and the projection of the look-ahead point.

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

Reference No delay With delay


4

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.

No delay With delay

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.

No delay With delay


0.5
δ (rad)

−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

“ Eternity is a very long time,


especially towards the end ”

Woody Allen

As we move towards mass deployment of autonomous vehicles, it is important to be able to


guarantee their safety at all time. However, many techniques still used nowadays for motion plan-
ning and control of autonomous vehicles are derived from earlier work on wheeled robots. The
latters are usually lighter and operate at lower speed compared to actual vehicles, which make
their safe operation easier due to less inertia. Moreover, they are often evolving in a controlled en-
vironment with few dynamic obstacles, where the longitudinal and lateral motions of the robots
can be considered separately. Even when applying more recent techniques such as Model Predic-
tive Control, the level of modeling chosen is often inconsistent with the reality, in particular at the
motion planning level, which could bring the whole system in jeopardy.

7.1 The “intention = action" equation


In order to ensure the safety at anytime of the autonomous vehicles of tomorrow, it is crucial to
ensure that their intention, expressed as a planned reference trajectory computed by the motion
planner, matches with their actual actions, i.e. the trajectory actually followed by the low-level
controllers of the vehicle. For that purpose, two keypoints must be ensured in the motion planning
and control architecture of an autonomous vehicle. First, the intention should be dynamically
feasible, i.e. the reference trajectory respects the laws of motion of the vehicle; this implies to use
appropriate models at the motion planning layer. Secondly, the low-level controllers, responsible
for the actions of the vehicle, should be designed such that they can track the given reference
trajectory.

7.1.1 The feasibility of the intention


Although the kinematic constraints also referred to as the non-holonomic constraints of the vehi-
cle have been well considered in the motion planning literature, using for example Dubins’path or
a kinematic bicycle model, the impact of wheel dynamics on the generation of safe trajectories has
been clearly understudied. Many works neglect these effects at the motion planning level which
might lead to an unfeasible planned trajectory whatever the chosen low-level controller is. Such
problems are more likely to occur in the future as the speed of autonomous vehicles will increase,
the road friction coefficients decrease and overtaking maneuvers be more common.
Therefore, this thesis proposed to investigate the limits of the kinematic bicycle model used
for motion planning. Some macroscopic safety criteria, in particular a dynamic constraint on the
steering angle depending on the speed, was obtained in order to ensure that the wheel dynamics
does not interfere with the feasibility of the planned trajectory. Although this solution might seem

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.1.3 A cornerstone for cooperative driving


The adequation between the intention of the autonomous vehicle and its actual action is not only
important for the vehicle’s own safety. It is actually a cornerstone for safe cooperation between ve-
hicles through V2V or V2I communications. In particular, for intelligent intersection management,
cooperative merging maneuvers or overtaking, a vehicle that does not respect its own intention
that has been broadcasted to the other vehicles or infrastructure can put all the other participants
in jeopardy.

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.

7.2.2 Machine learning for initial guess and emergency scenarios


Although we believe that the application of machine learning algorithms in autonomous vehicles
should be limited for explanability reasons, they can be used at several stages of the motion plan-
1 Or more evoking to the passenger: the comfort.

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.3 Addind uncertainties about the environment


One limitation of this work is that we consider that the environment is known and fully observ-
able: this is not the case in reality as the intention of the other drivers cannot be known if there
is no communication between vehicles. Therefore, the results obtained should be integrated in a
probabilistic framework at the planning level to take into account uncertainties. Such situations
could be tested in a ADAS prototyping simulation platform such as PreScan[TASS International, ].

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

[Burckhardt, 1993] Burckhardt, M. (1993). Fahrwerktechnik: Radschlupf-regelsysteme. 1993.


Vogel-Verlag, Wurtzburg. 36

[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

[Canny, 1988] Canny, J. (1988). The complexity of robot motion planning. 49

[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

[d’Andréa-Novel, 2018] d’Andréa-Novel, B. (2018). Model-Free Control of Longitudinal and Lat-


eral Dynamics for Automated Vehicles. JTEKT ENGINEERING JOURNAL English Edition,
(1015):1–7. 127, 134

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

[Gillespie, 1997] Gillespie, T. D. (1997). Fundamentals of Vehicle Dynamics. Society of Automotive


Engineers. 20

[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

[Laurgeau, 2009] Laurgeau, C. (2009). Le siècle de la voiture intelligente. Collection mathéma-


tiques & informatique. Ecole nationale supérieure des mines. 6

[Lavalle, 2006] Lavalle, S. M. (2006). Planning Algorithms. Cambridge, page 842. 48

[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, 2005] Lenain, R. (2005). Thèse Contribution à la modélisation et à la commande de robots


mobiles en présence de glissement. PhD thesis, Université Blaise Pascal Clermont II. 100

[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

[Lozano-Perez, 1983] Lozano-Perez (1983). Spatial Planning: A Configuration Space Approach.


IEEE Transactions on Computers, C-32(2):108–120. 48

146
BIBLIOGRAPHY

[Luenberger, 1971] Luenberger, D. (1971). An introduction to observers. IEEE Transactions on


automatic control, 16(6):596–602. 13

[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

[Murphy, 2000] Murphy, R. R. (2000). Introduction to AI Robotics. MIT Press. 11

[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

[TASS International, ] TASS International. http://www.tassinternational.com/prescan. 39,


77, 139

[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;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

[Yoshida, 1984] Yoshida, K. (1984). Operational Calculus, A Theory of Hyperfunction. 1. XIII

[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

A.1 Equations for the linear velocities of a four-wheel vehicle model


For the 10 DoF vehicle model, we apply the fundamental principle of dynamics to the whole ve-
e X ,~
hicle in the inertial coordinate system (~ e Y ,~
e Z ), projected on the axes of the vehicle coordinate
system (~e x ,~
e y ,~
e z ):

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

P is the weight of the vehicle and is given by Equations (A.2):

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)

Faer o is the aerodynamic drag forces and is given by Equations (A.3):

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

The velocity of the vehicle ~


V can be expressed in the vehicle coordinate system as following:

~
V = Vx ~
e x + Vy~
e y + Vz ~
ez (A.4)

V˙ is expressed with respect to the inertial coordinate system, i.e. considering (~


Its derivative ~ e X ,~
e Y ,~
eZ)
as fixed. Thus, we have:


~ = 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 cos θ sin θ  (A.7a)


0 − sin θ cos θ
cos φ 0 − sin φ
 

Rφ =  0 1 0  (A.7b)
sin φ 0 cos φ
cos ψ sin ψ 0
 

Rψ = − sin ψ cos ψ 0 (A.7c)


0 0 1

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
  

= φ̇ sin θ − ψ̇ cos φ cos θ 0 θ̇ − ψ̇ sin φ  e y 


φ̇ cos θ + ψ̇ cos φ sin θ ψ̇ sin φ − θ̇ 0 ez

The derivative of the rotational matrices are given by Equations (A.9):

0 0 0
 

Ṙθ = θ̇ 0 − sin θ cos θ  (A.9a)


0 − cos θ − sin θ
− sin φ 0 − cos φ
 

Ṙφ = φ̇  0 0 0  (A.9b)
cos φ 0 − sin φ
− sin ψ cos ψ 0
 

Ṙψ = ψ̇ − cos ψ − sin ψ 0 (A.9c)


0 0 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

A.2 Equations for the angular velocities of a four-wheel vehicle model


A.2.1 Reminder about rigid body dynamics
Definition 1 (Angular Momentum). The angular momentum ~LO of a rigid body B in rotation
around a point O that is fixed to an inertial frame R g is defined as:
Z
~LO = −−→ →−
OM ∧ V (M ∈ B)dm (A.13)
M∈B


where V (M ∈ B) is the speed of a point M belonging to the rigid body B.
Definition 2 (Barycentric Angular Momentum). The barycentric Angular Momentum ~L∗ of a rigid
body B in rotation around its center of inertia G is defined as:
Z
~L∗ = −−→ ∗
GM ∧ ~vM dm (A.14)
M∈B

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:

d~LG (B) d~L∗


|R g = |R g (A.20)
dt dt
M~G (~Fext )
X
= i
i

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

A.2.2 Application to the vehicle


By applying Bour’s formula to the barycentric angular momentum of the vehicle, we obtain:

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.

The barycentric angular momentum theorem leads to:

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)

A.3 Suspension displacements and forces


Let’s proove that the displacement of the suspension i , denoted ∆z si , corresponds to Equation (A.27)
for given roll θ and pitch φ angles:

∆z si (θ, φ) = ²i l w sin θ − l i cos θ sin φ (A.27)


½ ½
1 if i = {2, 4} lf if i = {1, 2}
with ²i = and l i = .
−1 if i = {1, 3} −l r if i = {3, 4}
Let’s defined imaginary points attached to the carbody and located above the center of rotation
of each wheel at the height of the center of gravity. In the vehicle frame, these points have the
following coordinates:

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:

∆z s f l = l w sin θ − l f cos θ sin φ (A.30a)


∆z s f r = −l w sin θ − l f cos θ sin φ (A.30b)
∆z sr l = l w sin θ + l r cos θ sin φ (A.30c)
∆z sr r = −l w sin θ + l r cos θ sin φ (A.30d)

Then deriving with respect to time:

˙ 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)

Fzi = ∆Fsi + Fzi 0 (A.33)

A.4 Normal reaction forces Fzi 0 at equilibrium


By applying the fundamental principle of the dynamics along the vertical axes ~
e z in the vehicle
frame at equilibrium, we obtain:

Fz10 + Fz20 + Fz30 + Fz40 − P = 0 (A.34a)

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

A.5 Slip angle equations

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 ψ̇

Figure A.1 – Slip angle and notations.

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

Figure A.2 – Top view of a four-wheel vehicle model.

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 ψ̇

Finally, as δi = θVi + αi , we get the results given by Equation (A.35).

VIII
Appendix B

Non-holonomic constraint and


small-time controllability

B.1 The non-holonomic slip-free rolling condition


A kinematic constraint can be written in the form of Equation (B.1) where a(q) is a vector and q
the configuration of the robot:

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 .

Definition 3 (Holonomic constraint). A constraint is said to be holonomic if and only if it is inte-


grable, i.e. that Equation (B.1) can be written:

α(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 : (X, Y, ψ)T → (cos ψ, sin ψ, 0)T (B.5a)


T T
g : (X, Y, ψ) → (0, 0, 1) (B.5b)

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:

A(q)T S(q) = 0 (B.6)

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

The i -th component of the vector field [ f , g ] is computed as following:


n µ ∂f ∂g i

X i
[ f , g ]i = gj − gj (B.8)
j =1 ∂q j ∂fj

Example:

(cos ψ, sin ψ, 0)T , (cos ψ, sin ψ, 1)T = (− sin ψ, cos ψ, 0)T


£ ¤
(B.9)

Definition 7 (Involutive distribution). A distribution ∆q = ( f 1 (q), ..., f n−m (q)) is involutive if it is


closed under Lie brackets, i.e.:

∀i = 1, ..., m, ∀ j = 1, ..., n − m, L f j f i (q) = 0 (B.10)

with L f j f i (q) = [ f j , f i ](q).

Q1: Are the constraints holonomic?

Theorem 8 (Frobenius’ theorem). A regular distribution ∆ is integrable if and only if it is involutive,


i.e.:

rank(LA(∆)) = rank(∆) (B.11)

where LA is the Lie Algebra operator.

Therefore, Frobenius’ theorem provides a very powerful formal method to test if the system is non-
holonomic.

Application 1. Non-holonomy of the slip-free rolling condition:


∆q = ( f 1 (q) = (cos ψ, sin ψ, 0)T , f 2 (q) = (0, 0, 1)T ) defines a distribution of the vector field in q. Thus
rank(∆q ) = 2. However:

[ f 1 , f 2 ] = (− sin ψ, cos ψ, 0)T (B.12a)

Thus, rank(LA(∆q )) = 3 and the system is non-holonomic.

Q2: If the system is non-holonomic, is it small-time controllable?

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:

rank(LA(∆q )) = dim(CS) (B.13)

Application 2. Small-time controllability of the slip-free rolling condition:

• CS = R2 × [0; 2π[ thus dim(CS) = 3

• 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 ).
¡ ¢

Thus ∀q ∈ CS, rank(LA(∆q )) = 3.

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

C.1 Deriving the ultralocal model


Let’s consider a system where y is the output and u the input. It can be written as an input-output
differential equation in the form of Equation (C.1) where E is a function not necessarily linear but
assumed to be sufficiently smooth.

E (t , y, ẏ, ..., y (m) , u, u̇, ..., u (n) ) = 0 (C.1)

∂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)

In practice, ν is always equal to 1 or 2.

C.2 ALIEN filters


ALIEN filters were introduced in [Fliess and Sira-Ramírez, 2003]. They are based on operational
calculus [Yoshida, 1984].
Given a polynomial signal y(t ) = a 0 +a 1 t + a22 t 2 +... in the time domain, we can derive an ALIEN
filter at any order n using the following technique:

1. Transform the signal in the operational domain using Laplace transform:

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

Application 3. Signal at order 0:


Starting with y(t ) = a 0 + a 1 t , apply the Laplace transform:
a0 a1
Y(s) = + 2 (C.6)
s s
Then we apply step 2 for denoising the signal, multiplying first by s 2 in Equation (C.7a) then deriving
twice in Equations (C.7b) and (C.7c):

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

Therefore, we obtain Equations (C.10-C.12) for respectively a signal at order 0, 1 and 2:

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

Application 4. Estimating Fb (for ν = 1):


In order to obtain the ALIEN filter for estimating the dynamic Fb of a first-order system given by
Equation (C.13), the same procedure is applied starting from ẏ = F + αu and assuming that F is a
piecewise constant function.

6
Z T
F
b = − [(T − 2τ)y(τ) + ατ(T − τ)u(τ))] dτ if ν = 1 (C.13)
T3 0

After applying the Laplace transform, we obtain Equation (C.14)

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

C.3 Numerical quadrature of ALIEN filters using the trapezoidal rule


Equation (C.13) is an analog equation which needs to be approximated numerically. A common
approach used to discretize an integral is the trapezoidal rule. Let’s define Nbu f = bT/Ts c + 1. Set
Yk = y(t k ) and Uk = u(t k ) with t k = kTs , for k ∈ ‚0; Nbu f − 1ƒ. The trapezoidal rule applied to
Equation (C.13) gives Equation (C.17).

• 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

C.4 Decomposition of the ALIEN filter for a first-order system


Let’s define Nbu f = bT/Ts c + 1, the number of stored measurement for the filtering.

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 ):

• P1: 0 = t k0 < t k1 < t k2 < ... < t km = T


t ki +1 −t ki
• P2: ∀i ∈ ‚1; mƒ, Ts = {2, 3}

• P3: ∀i ∈ ‚1; mƒ, mod (t ki , Ts ) = 0

Proof. Let’s proof this lemma by mathematical induction:

• Initialization
For Nbu f = 3 and Nbu f = 4, set m = 1.

• Heredity: Let’s proof that Lemma 1 holds for Nbu f + 1.


Suppose that ∀n ∈ ‚3; Nbu f ƒ, Lemma 1 is true. In particular, for n = Nbu f − 1, there exist an
m ∈ N∗ and (t k0 , t k1 , ..., t km ) ∈ (R+ )m+1 that respect the properties P1, P2 and P3.
0
Set m 0 = m +1 and define (t k0 , t k0 , ..., t k0 0 ) ∈ (R+ )m +1 such that ∀i ∈ ‚1; mƒ, t k0 = t ki and t k0 0 =
0 1 m i m
T = Nbu f Ts .
We have

– 0 = t k0 < t k0 < t k0 < ... < t k0 = T;


0 1 2 m0

– ∀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.

which concludes the proof.

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.

C.5 Bound on the tracking error


2
Let δ > 0. Choosing K P and α such that |A| < 1, i.e. Ts ≥ αK P ≥ 0, leads to |A|k −→ 0.
k→+∞
Therefore,

∀² > 0, ∃K ∈ N∗ , ∀k ∈ N∗ , k ≥ K ⇒ |A|k < ² (C.20)

Hence, Equation (6.29) leads to:


¯ ¯
¯ f max ¯
∀² > 0, ∃K ∈ N∗ , ∀k ≥ K, |e k | < ²|e 0 | + (1 + ²) ¯ αK P
¯ (C.21)


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.

Chapitre 2 : Modélisation du véhicule


Afin de tester les algorithmes de planification du mouvement et de contrôle-commande, nous
avons développé un simulateur de la dynamique du véhicule avec un haut degré de réalisme. Pour
cela, nous nous sommes intéressés à la fois aux différents modèles dynamiques du châssis, à savoir
le modèle bicyclette et le modèle à quatre roues, et aux différents modèles de pneumatique (Pace-
jka, Dugoff, linéaire, LuGre, Burckhardt-Kiencke, Fiala) pour représenter la force générée par la
route sur la roue. L’implémentation du modèle à 10 degrés de liberté (10 DDL) choisi pour les sim-
ulations est ensuite détaillée. Les 10 DDL sont les vitesses longitudinales, latérales et verticales, les

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.

Chapitre 3 : Planification du mouvement pour la voiture autonome


Pour calculer numériquement un chemin ou une trajectoire pour une voiture qui évite les obsta-
cles, il existe principalement deux types de méthodes. La première méthode consiste à résoudre
le problème dans l’espace des configurations qui correspond à l’ensemble des configurations que
peut occuper la voiture (une configuration détermine l’espace occupé par la voiture de manière
unique). La deuxième méthode repose sur l’espace des contrôles et utilise un modèle du com-
portement de la voiture pour prédire son évolution.
Résoudre le problème dans l’espace des configurations revient à capturer les composantes
connexes de ce dernier afin de savoir si deux configurations appartiennent à la même composante
et donc peuvent être reliées. Pour cela, on peut utiliser soit des méthodes d’échantillonnage déter-
ministes de l’espace de configuration (ex : décomposition cellulaire, décomposition trapézoïdale,
triangulation de Delaunay, graphe de visibilité), soit des méthodes d’échantillonnage probabilistes
(ex : Probabilistic Roadmap Method, Rapidly-exploring Random Tree). Dans les deux cas de fig-
ure, un algorithme de recherche de chemin dans un graphe (ex : A-star, Dijkstra) est ensuite utilisé
pour trouver le “meilleur" chemin.
Résoudre le problème dans l’espace des contrôles consiste le plus souvent à formuler le prob-
lème comme un problème de commande optimale telle la commande prédictive à modèle. Il s’agit
alors de minimiser une fonction de coût sur un horizon glissant en respectant des contraintes sur
le système.
Cependant, un véhicule possède certaines caractéristiques en termes de cinématique et dy-
namique afin de trouver un chemin ou une trajectoire reliant un état initial à un état final. En
particulier, les contraintes non-holonomes de roulement sans glissement limitent les possibilités
de déplacement du véhicule, ce qu’il faut prendre en compte dans la planification du mouvement
; cette question a été traitée de façon relativement exhaustive dans la littérature. En revanche,
les aspects dynamiques, notamment liés aux dérapages et aux glissements des roues sur le sol,
ont reçu peu d’attention au sein de la communauté de planification du mouvement, se limitant
le plus souvent à considérer le cercle de friction. Cependant, cette situation pourrait mener à
des situations imprévues notamment avec l’augmentation de la vitesse des véhicules et la baisse
d’adhérence de la route due aux conditions météorologiques ou au revêtement de la chaussée.

Chapitre 4 : Garantir la faisabilité dynamique d’un modèle bicyclette


cinématique
Dans ce chapitre, nous proposons d’établir une architecture de planification et de contrôle pour le
véhicule autonome qui soit non seulement cohérente mais aussi efficace d’un point de vue trafic.
Le mot “cohérence" réfère ici à la garantie que la trajectoire de référence à suivre soit toujours
faisable à la fois cinématiquement et dynamiquement et que les contrôleurs bas-niveau soient ca-
pables de suivre l’intention du véhicule. Partant du constat qu’un humain conduit la plus part du
temps en respectant le modèle bicyclette cinématique, où le dérapage des roues peut être négligé,
nous nous sommes intéressés aux limites de validité de ce modèle. Pour cela, nous avons comparé
ce modèle au modèle à haut degré de réalisme (10 DDL) présenté dans le chapitre 2 prenant en
compte les dérapages et les glissements, ainsi que les transferts de charge. Les résultats obtenus
nous montrent que le modèle bicyclette cinématique est une très bonne représentation du mou-
vement d’un véhicule quand l’accélération latérale est en dessous d’un certain seuil qui dépend

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.

Chapitre 5 : Contrôleurs pour voitures autonomes

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 6 : Commande sans modèle


Dans ce chapitre, indépendant du reste de la thèse, nous nous sommes intéressés à la commande
sans modèle telle qu’elle a été introduite par Fliess et Join (2013) et notamment à son application
à la conduite automatisée. Après une présentation de la théorie sous-jacente et des avantages que
présente cette méthode, la question de son implémentation en pratique est posée. En particulier,
la discrétisation des filtres ALIEN introduits par Sira-Ramirez et Fliess (2003) et qui permettent
d’estimer la dynamique du véhicule est étudiée. De plus, une méthode systématique et simple
pour régler le paramètre α du contrôleur est proposée. La stabilité pour les systèmes supposés
affines en la variable de contrôle est analysée en cas d’estimation imparfaite (ce qui est toujours
le cas en pratique). Il en ressort que pour que la stabilité du système soit garantie, il faut que
l’erreur d’estimation reste bornée, avec une borne aussi petit que possible. Cela peut être obtenu
d’une part par le bon choix de l’ordre de discrétisation du filtre qui permet de garantir une erreur
d’estimation nulle en régime permanent et d’autre part, par le bon réglage du paramètre α, ce
dernier ayant une grande influence sur la qualité du suivi (et donc sur l’erreur d’estimation) pen-
dant les phases transitoires. Les solutions proposées sont ensuite testées en conditions réelles sur
la voiture autonome de l’ENSIAME, à la fois pour la gestion du freinage et pour le suivi d’un profil
de vitesse référence. Une ouverture sur le contrôle sans modèle latéral est proposée.

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.

Mots Clés Keywords


Planification de trajectoire, Conduite au- Motion planning, Autonomous driving,
tonome, Commande prédictive à mod- Model predictive control, Model-free con-
èle, contrôle longitudinal et latéral, dy- trol, Longitudinal and lateral control, ve-
namique du véhicule hicle dynamics

You might also like