MPC Path-Planner For Autonomous Driving Solved by
MPC Path-Planner For Autonomous Driving Solved by
poses a novel real-time trajectory planner based on a Nonlinear Academia involvement in this field is well documented in
Model Predictive Control (NMPC) algorithm. A nonlinear single
track vehicle model with Pacejka’s lateral tyre formulas has been literature. Just to cite a few: Stanford has several ongoing
implemented. The numerical solution of the NMPC problem is projects on autonomous vehicle prototypes. In [6] the so-
obtained by means of the implementation of a novel genetic called VW Passat prototype ”Stanley”, which participated the
algorithm strategy. Numerical results are discussed through DARPA Grand Challenge of 2005, is described and in [7] the
simulations that shown a reasonable behavior of the proposed Audi research vehicle ”Shelley” is presented. MIT worked on
strategy in presence of static or moving obstacles as well as in
a wide rage of road friction conditions. Moreover a real-time ”Talos” [8] for DARPA Urban Challenge 2007. Vislab (Parma
implementation is made possible by the reported computational University) developed several prototypes over last decades
time analysis. obtaining impressive results during VisLab Intercontinental
Autonomous Challenge (VIAC) [9].
This paper, as most of the works in literature, is based on
I. INTRODUCTION a hierarchical control structure composed by different layers
to decouple the complete driving problem into a sequence of
Autonomous vehicle appeal grown exponentially in last tasks [10], [11].
years and it is expected to be disruptive for automotive in- In this paper, motion planning task is mainly investigated.
dustry involving not only traditional OEMs, but also suppliers, In literature, this problem is tackled by different techniques
technology providers, academic institutions, municipal govern- as graph search methods which generate a path by means of
ments, and regulatory bodies. Considering that worldwide ev- an optimization of an objective function defined on nodes and
ery year dies around 1.35 million people due to road accidents edges in the discretized configuration space of the problem,
caused mainly by wrong behavior of the drivers as distracted A-star is an improved version of the famous “Dijkstra’s algo-
driving, exceeding speed limits and driving under the influ- rithm” obtained adding an heuristic term in objective function
ence of alcohol or drugs among the others [1], Autonomous that estimates the cost of the cheapest path from a given node
driving that aims at reducing human control on driving tasks, to the target. It is proven that A-star is usually faster than
could be considered a solution to increase road safety. Apart Dijkstra and in the worst case they have te same efficiency.
from safety, Autonomous driving will lead to several possible In [10], [12] some example are provided and A∗ extended
advantages: pollution, traffic, space consumption and mobility versions are grouped into sub-families related to the innovative
cost reduction just to cite a few as reported by [2]. aspects improved.
As suggested in [3], Autonomous Vehicle’s development Incremental search methods iteratively increment a graph
not only involves technological aspects, but it’s intrinsically of feasible configurations and transitions in the C-space until
connected to societal, legal, and regulatory issues related to the target region is reached. These methods try to remove
them and analysts (and most industry players and experts the dependence of the solution from the discretization of
agrees on that) predicts that ”The car of the future is electrified, configuration space of the problem. Among several imple-
autonomous, shared, connected and yearly updated” [4]. mentation proposed, like i.e. expansive spaces tree (EST)
The most of industrial carmakers already revealed their [13], Rapidly-exploring Random Tree (RRT) technique [14]
pilot programs and prototypes of accurate localization and rapidly spread and gained importance becoming one of the
environment perception, highly automated or fully autonomous most used methods thanks to its high efficiency in handling
vehicles. high-dimensional non-holonomic problems. RRT∗ , presented
Significant examples are Daimler’s Bertha prototype that in [15], is an ”asymptotically optimal” improved version of the
autonomously revisited the ”Bertha Benz Memorial Route” original RRT producing an increasingly finer discretization of
125 years after Bertha Benz’s first cross-country automobile the configuration space.
journey in history [5] as well as Tesla, leading company in Potential field approach can be easily explained by means
term of media exposure in ADAS development, that already of an electric charge moving in a potential field. Firstly intro-
commercialized an highly automated semi-autonomous driving duced by [16], it gained popularity for its simple implemen-
system called ”autopilot” mounted on it’s vehicles expected tation and extremely low computational demanding suitable
2
for real-time application. Several improved implementation trajectory quality reducing low level tracking error. The same
were studied during the years in order to solve local solution formulation was used in [19] where implementing a single
convergence problem as reported in the survey [17] and it’s level NMPC based on a complex model (four wheels model 6
nowadays an extremely interesting and wide spread on-line dof with Pacejka’s tyre model) merging trajectory generation
path planning technique. and tracking tasks, tracking issue has been solved. The result
Model Predictive Control (MPC) is an important tool for was tested in simulation with static obstacles on low friction
optimal control problem. Thanks to progress in term of surfaces and impleented in real-time. Unfortunately spatial
mathematical formulation and a progressive increment of reformulation presents important limitations as inability to
computational power available, it is possible to extend its manage velocity equal to zero and dramatically reduces its
application to real time motion planning and tracking tasks advantages in presence of moving obstacles.
[18], [19]. Another dynamic single stage implementation is reported in
MPC formulation has some interesting features that deter- [18] where single-track vehicle model with Pacejka’s lateral
mined its increasing success among other techniques for com- tyre model is adopted. Calculation is speed up thanks to
plex control problems: it can handle a multivariable process linearization around current configuration and considering
subjected to inequality constraints on input and state variables, moving obstacles as static within every MPC calculation. An
high delays and highly nonlinear systems; control strategy can example of a kinematic single layer implementation is reported
vary dynamically in time in order to take into account changes in [23] in the form of a Linear Time-Varying MPC where static
in working condition (model, constraints or cost terms). and moving obstacles are considered, and the optimal control
On the other hand, the main drawback of MPC is an high problem (OCP) is solved by using a quadratic programming
computational demand for its implementation (at every time (QP) routine.
step the entire optimization problem needs to be solved). Vehicle modeling problem for MPC applications is inves-
Moreover the method relies on the open-loop integration of tigated in [24] where, after highlighting kinematic models
system dynamic over the horizon: this means that perfor- advantages as lower computational effort and the possibility
mances are highly dependent by model accuracy and reliability to handle stopped vehicles (singularity at zero velocity is
(i.e. vehicle model and obstacles’ motion prediction on the related to slip calculation affecting dynamic tyre models),
road). limitations as impossibility to consider friction limits at tyre-
Examples available in literature mainly differ in term of road interaction and modeling errors brings the authors to
vehicle model used, mathematical formulation of obstacles in suggest using dynamic models in presence of moderate driving
the optimization problem and mathematical implementation speeds.
of numerical solving method for the constrained optimization The aim of this work is to propose a single layer NMPC
problem. formulation for trajectory generation and tracking problems
A common approach adopted in literature to reduce overall with a special focus on real-time capability and robustness
complexity, is to split trajectory generation and tracking tasks of the algorithm in a urban-like scenarios. The vehicle model
into a hierarchical structure composed by subsequent MPCs, considered is a single-track vehicle model where lateral tyre
where higher level aims to define optimal trajectory over a dynamics are modelled through Pacejka’s simplified Magic
long time horizon based on a simplified model, while lower Formula. The algorithm is capable of handling multiple mov-
control level is in charge of tracking it by means of a more ing obstacles. The numerical solution of the OCP is obtained
sophisticated vehicle model and a shorted time horizon. by means of the implementation of a novel genetic algorithm
As an example in [20] high level controller is designed as strategy described in the paper. For testing purposes, the
a NMPC based on a point mass model capable of deal with resulting algorithm has been implemented in a Simulink sim-
static obstacle on a slippery road, and a lower level control ulation environment where robustness to model uncertainties
based on a double track vehicle model coupled with Pacejka’s and obstacle avoidance has been tested.
tyre model. The overall resulting controller is real-time but Section II introduces assumptions and aim of the paper,
the high discrepancy between the models used are leading to in particular the hierarchical approach adopted to define the
high tracking errors. An improvement is presented in [21], decisional algorithm involving trajectory planning and vehicle
where higher level control is modifed as a NMPC based on control. In Section III the optimization problem is deeply
precomputed motion primitives based on a complex vehicle described and the MPC formulation considered is presented.
model. The new approach allows a reduction on tracking error Section IV describes the genetic algorithm strategy adopted in
but limit the solution to a limited set of suboptimal trajectories order to solve the problem previously presented. In section V
and requires an online implementation of the mixed-integer numerical simulations are shown in order to evaluate the
problem that can be difficult when a large number of precom- behavior of the algorithm in term of performances, robustness
puted maneuvers is considered. and computational time required Finally in section VI the
As an improvement, in [22] a two-level NMPC with a High conclusion are drawn.
level base on a nonlinear dynamic single-track vehicle model
defined by mean of a spatial reformulation that considers a
II. A SSUMPTIONS AND AIM OF THE PAPER
simplified Pacejka’s tyre model is presented. this formulation
allows to speed up calculation in presence of static obstacle According to prototype and survey papers [11], [25], [26]
and the more sophisticated tyre modeling improved reference available in literature, fig. 1 reports a general framework
3
grouping all the main sub-tasks required for autonomous Decisional Algorithm
driving development. Mission Planner Mode Planner Motion Planner Control Planner
4D Environment
reconstruction General information (at different level of detail)
Raw data Measures
processing
Information required/useful
A. Map model
”Road geometry information” are assumed as known data: Y
at every time step the designed algorithm can rely on road
structure’s knowledge of an area equal or greater that the
X4,Y4
spatial horizon considered by the optimization problem. Road X2,Y2
information are defined as function of the curvilinear abscissa
of centerline of the road. Geometrical data and additional data t1
can be distinguished. Additional data include: number of lanes;
t
left and right width respect to centerline of the lane (byh ,byl );
s
X3,Y3
and other information that can be spatially located and defined X1,Y1
as function of curvilinear abscissa (i.e. traffic lights or traffic t0
signs position, intersections, speed limits,. . . ). Geometrical
data include: global coordinates of centerline of the road X
0
(X,Y ), heading angle of the road (θc ) and it derivatives (θcs ).
In order to: Fig. 3. Cubic Hermit Spline example
• reduce as much as possible the amount of data required
to fully describe the geometrical structure of the road; where the terms Xs0 , Ys0 , Xs00 , Ys00 are first and second deriva-
• minimize the computational effort required to perform a tives respect to s of X(s) and Y (s).
self-localization of the vehicle from curvilinear reference
system (electronic map) to global coordinate;
B. Vehicle Description And Modeling
• minimize the computational effort required to evaluate
”Geometrical data” from curvilinear coordinate. In fig. 4 a schematization of vehicle model and relative
reference systems used is shown. State function describing
The mathematical structure of the road is defined as a Cubic
system dynamics is composed by eight state variables (x(t) ∈
Hermite Spline (CHS) as reported in [27].
R8 ) and two input variables (u(t) ∈ R2 ). State function can
CHS is a continuous function defined as a piecewise, where be compactly written as ẋ(t) = f GA (x(t), u(t)). In detail,
each sub-function is defined as a cubic polynomial in Hermite as reported in (4), state x(t) is composed by curvilinear
form (2). coordinate and lateral displacement respect to road centerline
p(t) =H00 (t)p0 + H10 (t)d0 + H01 (t)p1 + H11 (t)d1 (s,y), absolute heading angle ψ, longitudinal and lateral speed
in the body frame (Vx ,Vy ), yaw rate (ω), front wheel steering
for [sk , sk+1 ]
angle (δ) and finally torque applied to the rear wheels (τ ).
s − sk
where: t ∈ [0, 1] t= Input variables u(t) are the derivatives of wheel steering angle
sk+1 − sk and torque applied, defined for clarity as u1 = δ̇,u2 = τ̇
∂p respectively.
p0 = p(t0 ) d0 = (t0 ) (2)
∂t
∂p x(t) = [s, y, ψ, Vx , Vy , ω, δ, τ ]T
p1 = p(t1 ) d1 = (t1 ) (4)
∂t u(t) = [u1 , u2 ]T
H00 = 2t3 − 3t2 + 1 H10 = t3 − 2t2 + t
Dynamic vehicle’s formulation shown in (5) is based on a
H01 = −2t3 + 3t2 H11 = t3 − t2 single-track simplification.
where p(t) are respectively X,Y global coordinates of the
centerline of the road and s is the curvilinear coordinate
ṡ =[cos(θc )(Vx cos(ψ) − Vy sin(ψ)) + sin(θc )(Vx sin(ψ)+
0
(or operatively the traveled distance on the path calculated
+ Vy cos(ψ))]/(1 − θcs y)
from an arbitrary initial point) as shown in fig.3. In order
ẏ =[− sin(θc )(Vx cos(ψ) − Vy sin(ψ)) + cos(θc )(Vx sin(ψ)+
to define each polynomial parameters, a set of boundary
+ Vy cos(ψ))]
conditions (values and derivatives) in sk positions must be
imposed. In that way is possible to define X(s), Y (s) as
ψ̇ =ω
continuous functions and with at least second order continuous 2Frl 2Ff c sin(δ) Faero
derivatives. The decisional algorithm designed requires also V̇x =ωVy + − −
M M M
absolute heading angle of the road and its first derivative
2Frc 2Ff c cos(δ)
V̇y = − ωVx +
respect to s (curvilinear coordinate). Considering CHS road
+
M M
representation, these information can be numerically defined
ω̇ =2/J(−F rc lr + Ff c l f cos(δ))
by means of geometrical formulas in (3):
δ̇ =u1
Ys0 (s)
τ̇ =u
θc (s) = arctan( ) 2
Xs0 (s) (5)
(3) 0
0 X 0 Y 00 − Ys0 Xs00 Where θc and θcs are absolute heading angle of road’s cen-
θcs (s) = s 02s terline and the derivative respect to curvilinear coordinate s
(Xs + Ys02 )3/2
5
f
V
̀
f
Vc
in next section).
x
V
State constrants
̀
byl ≤ y ≤ byh
y
V
f
Vl
fc
Y bδl ≤ δ ≤ bδh
F
bτ l ≤ τ ≤ bτ h
̀
y Inputs constrants (8)
fl
l
Fr
bδ̇l ≤ δ̇ ≤ bδ̇h
c
Fr
bτ̇ l ≤ τ̇ ≤ bτ̇ h
lr
For every time step obstacles’ position is required. This Lcnstrk =e(1−pyl Z1 ) + e(1−pyh Z2 ) + e(1−pδl Z3 ) + e(1−pδh Z4 ) +
information is measured just at first time-step and estimated in + e(1−pτ l Z5 ) + e(1−pτ h Z6 ) + e(1−pu1 l Z7 ) + e(1−pu1 h Z8 ) +
the rest of predictive horizon. Assuming that actual obstacles’ + e(1−pu2 l Z9 ) + e(1−pu2 h Z1 0) + LObs
speed is provided, obstacles’ position in time-steps subsequent (13)
the first is simply obtained by assuming them moving at In order to obtain the desired behavior, parameters of weight-
constant speed. This assumption is made considering that ing matrix P are accordingly tuned. In (14) penalty term
working frequency of the algorithm is high enough (so also related to obstacle is fully described. It differs from other
obstacles’ measures) and predictive horizon of the logic is penalty functions because it’s defined as a reciprocal function.
limited (less than 3 seconds). nObs
X pObs
LObs = (14)
E. Cost function i=1
ZObsi + Obs
The total cost function of the optimization problem (Ltot ) In order to avoid division by zero when relative distance is
is composed by several terms as presented in (10): equal to zero (ZObsi = 0), an additional parameter (close to
N −1 zero) (Obs ) is considered. Moreover this term is composed
1 X by contribution of relative distance evaluation respect to all
Ltot =LN + {Lstatek (W, x)}dt+
2 obstacles present on the road. This mathematical formulation
k=0
N −1 N −1 guarantees negligible values when far from zero relative dis-
1 X X
+ {LUk (S, u)}dt + {Lcnstrk (P, Z)}dt tance, while extremely high values when close to zero (that is
2 minimum value possible for ZObsi ).
k=0 k=0
(10) Finally the terminal cost LN is presented in (15).
In detail LN is the terminal cost evaluated in the last dis- 1
cretized time-step of optimization horizon; Lstatek are the LN = {LstateN (W, x)}dt + {LcnstrN (P, Z)}dt (15)
2
7
IV. G ENETIC A LGORITHM IMPLEMENTATION This formulation reduces the independent variables that can
Genetic Algorithm (GA) can be classified as an adaptive freely vary from 2N to 4 with a dramatic reduction of
heuristic search technique loosely inspired by the evolution- computational complexity of the optimization problem. More-
ary ideas of natural selection and genetics. They can be over a continuous input sequence (linear dependency) force
considered a smart exploitation of a random search applied the dynamics to have a continuous jerk trend (with benefits
on optimization problems [28]–[30]. Although a randomized in term of comfort). On the other hand, this assumption
mechanism, GAs uses ”evolutionary information” to direct the intrinsically limit the system to sub-optimal solution. However
search to the optimal solution contained within the search high working frequency of the controller and a reduced length
space. GAs family of search algorithms are designed to of optimization horizon limits the sub-optimality. Another
simulate the natural evolutionary process through steps similar implementing decision is the continuous value encoding of
to the principles introduced by the scientist Charles Darwin. the variables (instead of the most commonly used binary
GA presents several advantages over classical optimization encoding). This choice is done in order to eliminate the
techniques as to be applicable to discontinuous, non-linear discretization effect due to the ”number of bits” of encoding
and not differentiable cost functions (its implementation does process and to include zero value within the search space.
not involve differential calculation or gradient evaluation). A The iterative process is stopped after a fixed number of
classical implementation of GA technique (high order popu- ”Generations” Ngen : the result of the process are the coeffi-
lation and unbounded number of generations stopped when a cients of the ”best” solution candidate. The sub-optimal control
condition has been reached) does not fit with fast calculation sequence resulting is computed as (18):
requirements, but on the other hand the iterative optimization a˜1 ∗ i + b˜1
through an evolutionary process allow to stop the process when ŨT = i = 0, . . . , N − 1 (18)
a˜2 ∗ i + b˜2
the maximum allowed calculation time is reached obtaining
a feasible suboptimal solution. Starting from a general GA B. Initial population
architecture as shown in the scheme of fig. 7 and based on
classical GA schemes reoprted in [31], the specific formulation The design of the initial population is an important aspect
of each task is described in detail in the following. that highly affects the possibility to find a feasible solution and
the convergence speed to find sub-optimal solutions close to
the best possible. The implementation proposed is composed
by three sub-sequential phases:
Initial Population (special design)
a) Previous solution: the first candidate solution is de-
fined as equal to the sub-optimal solution calculated at the
Fitness calculation Uopt previous iteration of the algorithm;
Next gen
b) Variational solutions: starting from ”previous solu-
tion” defined as in (17), a set of ”variational solutions” is
New Population
obtained considering small variations for the zero-order terms
Selection (roulette)
(b1 , b2 ). The variations considered are [−var, 0, +var], where
Crossover var is relative variation respect to the nominal value (fig. 8).
”Variational solutions” are obtained considering all possible
Mutation
+var
b1 b2
-var
+var
C. Fitness calculation been better than the new ones just generated). This drawback
Fitness calculation is defined by mean of cost function can slow down convergence to expected sub-optimal solution.
evaluation over the horizon for each solution candidate in This reason crossover algorithm designed also implements an
actual population. In detail, fitness calculation is defined as the ”elitism” mechanism. Elitism technique consists in maintain-
reciprocal of cost function Ltot because minimization of cost ing the best candidate solution (or a few of them) into the
function correspond to maximization of fitness performance new population. In detail crossover algorithm implemented is
(as typically is implemented in GA). composed by three phases (similar to the ones presented in
”Initial population” sect. IV-B).
1
f itnessi = (20) a) Elitism: the first candidate solution of the new popu-
Ltot (Ui ) lation is defined as equal to the best candidate solution present
Fitness calculation allows to rank each candidate solution in in actual population (best fitness value).
term of ”adaptation” and to define the global fitness of the b) Variational solutions: as already described in sect.
population f itnesstot in (21). IV-B, a set of ”variational solutions” around the best candidate
Npop solution is computed considering the 9 possible combinations.
f itnesstot =
X
f itnessi (21) c) Continuous crossover: the rest of new population
i=1
is calculated by a linear combination of parents solution
candidates. The linear combination is computed by a weighted
D. Selection mean where the weight coefficient is randomly defined as
∈ [0; 1]. The process presented in (23) for a generic variable
Selection process has the main purpose to select the best x is repeated for each optimization variable (a1 , b1 , a2 , b2 ).
candidates among population to be the ”genetic material”
used to generate a new population. The selection is usually xnew1 = (αx )xold1 + (1 − αx )xold2
(23)
driven by fitness-ranking evaluation by means of a specific xnew2 = (1 − αx )xold1 + (αx )xold2
mathematical method. There exist many different approaches
where xnew1 , xnew2 are the new variable values, xold1 , xold2
in literature as i.e. Boltzman selection, rank selection, steady
are ”parents” values of the variable and finally αx is the weight
state selection, . . . ??
coefficient associated.
The proposed implementation of the decisional algorithm
designed is based on ”Roulette Wheel Selection”. The math-
ematical principle can be easily explained by roulette wheel F. Mutation
analogy: all solution candidates of population have a ”slice” Mutation is implemented as a random change of an opti-
of the wheel, whose width is depending by its relative fitness mization variable after crossover task is completed. This task
respect to the total as in (22): allows to better explore the entire search space, but at the same
f itnessi time a too high mutation rate may reduce the convergence
width = (22) process to optimality in favor of a completely random search.
f itnesstot
As in Crossover task, elitism is implemented: first candidate
Defined a cumulative function of slice widths, using a ran- solution of the generated population from crossover task
domly selected value ∈ [0; 1], it’s possible to associate a remains equal to the best candidate solution present in actual
solution candidate from actual population. The process, de- population. All other solution candidate optimization variables
scribed by means of an example in fig. 9, is iterated until are evaluated and modified by (24).
Npop candidates are selected.
if (βx ≥ βth )
xnew = (1 + αmut )xold
1
×106
5.0387
curate 3D point clouds and images of the surrounding area but 5.1228 5.123 5.1232 5.1234 5.1236 5.1238 5.124
×105
are not of interest for th experiment. The experimental cam- X
Fig. 12. Simplified Mechanical Engineering Department map, where blue
dots are raw GPS data, red dots are resampled GPS points and green line is
the approximate resulting curve
state + U
Generated
Obstacles
30 Fig. 16. Complete lap simulated: where red line represents the computed
trajectory,blue lines represent lane limits and colored areas represents turns
Frequency Hz
25
simulation performed at 4m/s is shown. Cornering areas are
Working frequency the most challenging part of the scenario and are highlighted
20
by colored circles in order to identify them in the following
Controller frequency graphs reported.
In fig. 17 evolution of the simulation parameters of interest
15
0 200 400 600
iterations [-]
800 1000 1200
are reported. In the order, rows represent: lateral displacement
respect to road centerline y, longitudinal speed in vehicle’s
Fig. 14. Algorithm frequency: blue dots represent algorithm estimated
maximum working frequency at each time step, while red line is working
reference frame Vx and finally physical actuation commands
frequency adopted for the controller (steering angle δ and applied torque τ ). In detail blue lines
represent slower speed simulation, while red higher speed one.
1) Complete lap: The first simulations presented consist in To clearly compare the simulations, all parameters are reported
a full lap of the testing scenario. respect to traveled distance s used as x-axis. Moreover turns
The simulations are performed by defining vehicle reference are highlighted with the same colors used in fig. 16. Both cases
speed equal to 4m/s and 8m/s respectively. Lower speed are correctly handled by the controller: lateral displacement
(4m/s) is proposed in order to compare simulation results to remains below boundary limits imposed to vehicle’s CoG
future experimental tests scheduled using a prototype vehicle (1.75m). As expected, high speed maneuver generates an
11
y [m] 1 ×106
0
-1 5.0386
0 50 100 150 200 250 300 350 400 450
s [m]
5.0386
V x [m/s]
0 5.0386
0 50 100 150 200 s [m] 250 300 350 400 450
Y (UTM) [m]
10
0 5.0386
δ [°]
-10
-20
-30
0 50 100 150 200 s [m] 250 300 350 400 450 5.0386
τ [Nm]
200
0 5.0386
-200
0 50 100 150 200 250 300 350 400 450
s [m] 5.0386
Fig. 17. Complete lap simulation results, where red and blue lines represent 5.0386
time evolution of relevant parameters for high and low reference speed 5.1228 5.1228 5.1229 5.1229 5.1230 5.123 5.1231 5.1231
respectively X (UTM) [m] ×105
(a) global reference
×106
0.05 5.0386
0 5.0386
5.0386
curvature [m -1]
Y (UTM) [m]
-0.05
5.0386
-0.1
x
y
9.2 m 5.0386 50
-0.15
5.3 m 5.0386
-0.2
0 50 100 150 200 250 300 350 400 450 500
s [m] 5.1235 5.1236 5.1237 5.1238 5.1239 5.124 5.1241 5.1242
X (UTM) [m] ×105
Fig. 19. Curvature values of testing scenario’s turns
Fig. 21. Stationary vehicle scenario: red ellipse is a parked vehicle on the
right side of the road, while blue ellipse is controlled vehicle at the beginning
of the simulation
2
respectively and it’s lateral position is −1.3m respect to the
y [m]
1 CoG Limit
6
Fig.22 presents an extensive comparison between simulation
4
2
results. In particular lateral displacement y satisfy the limits
100
0
105 110 115 120 125 130
in all cases. In detail, as noticed also in section V-B1, longer
spatial predictive horizon and Vy , δ̇, τ̇ cost terms generate
[°]
-20
a smoother evasive maneuver for high speed simulations as
-40
100 105 110 115 120 125 130 shown in fig.22a. Fig.22b also considers the subsequent right
0
turn. Even if all simulation succeed, high speed simulations
[Nm]
-500
0.2 0.3 0.4 0.5 0.6 0.7 (12, 18) require a sudden speed reduction approaching the
-1000
100 105 110 115 120 125 130
corner as expected.
s [m]
4) Multiple moving obstacles: Last simulation proposed in-
(a) turn 1 volves a complex urban traffic scenario with multiple obstacles
3 moving on the road. As shown in fig. 23, vehicle A is driving
2 on right side (−1.3m) at 3m/s, vehicle B is driving on left
y [m]
1 CoG Limit side (1.3m) at 2m/s and finally vehicle C is driving on right
0
-1
side (−1.3m) at 3m/s. The simulation is performed imposing
175 180 185 190 195 200 205 210 215 a reference speed equal to 8m/s. The simulation is presented
Vx [m/s]
8
by means of a sequence of figures representing different
6
time frames (shown in figs. ??) in order to clarify controller
4
behavior. In all figures blue ellipse represents controlled
175 180 185 190 195 200 205 210 215
vehicle, green line is the optimal trajectory planned by the
10
0 controller over the predictive horizon considered and red line
[°]
-10
-20
is the closed-loop trajectory followed by the vehicle during the
0.3 0.4 0.5 0.6 0.7
simulation. Red ellipses represent obstacles and the black lines
-40
connected to them are expected obstacle motion of obstacles
175 180 185 190 195 200 205 210 215
200 estimated by means of linear extrapolation as explained in
[Nm]
0
section V-B. it’s assumed that controlled vehicle is allowed to
-200
-400 overtake regardless its position on the road (even during a turn)
-600
175 180 185 190 195 200 205 210 215
or according to road rules (overtaking on left/right). This is
s [m] done as a stress test of the algorithm: in a rel driving situation
(b) turn 2 higher driving tasks in the hierarchical scheme in fig.2, would
Fig. 20. Simulation using different adherence coefficients (reference speed prevent these situations. Moreover obstacle’s actual state are
equal to 8m/s) considered always known (regardless if they are visible or
not by on-board sensors). In fig. 24, controlled vehicle is
13
×106
2
5.0386
y [m]
0 5.0386 A
CoG Limit
5.0386
-2
10 20 30 40 50 60 70 80 90
Y (UTM) [m]
Vx [m/s]
20 5.0386
15
10 5.0386
5
10 20 30 40 50 60 70 80 90 5.0386
2
[°]
0 5.0386
-2
-4 5.1235 5.1235 5.1236 5.1236 5.1236 5.1237
X (UTM) [m] ×105
10 20 30 40 50 60 70 80 90
200
[Nm]
2
overtaking vehicle A. When approaching the first corner, as
1
y [m]
0 ×106
5.0386
-1 CoG Limit
-2 5.0386
2
V [m/s]
5.0386
C
0
x
Y (UTM) [m]
-2 5.0386
-2
5.0386
2
[°]
0
5.0386
-2 B
20 30 40 50 60 70 80 90 100 110 120 130
0
Vx 4 Vx 8 Vx 12 Vx 18 Fig. 25. Moving obstacles’s scenario - frame 2:Overtaking and turning
-2
5.0386
×106
5.0386
5.0386
5.0386
5.0386
5.0386
5.0386
Y (UTM) [m]
5.0386
C
Y (UTM) [m]
5.0386 A 5.0386
100
5.0386 C
30 5.0386
85
B
5.0386 5.0386
5.0385
5.0386 B
5.1227 5.1228 5.1229 5.123 5.1231 5.1232 5.1233
X (UTM) [m] ×105
5.0385
5.123 5.1232 5.1234 5.1236 5.1238 5.124 Fig. 26. Moving obstacles’s scenario - frame 3: slow down and additional
X (UTM) [m] ×105 evasive maneuver planning.
Fig. 23. Multiple moving obstacles’ scenario: where the obstacles considered
are vehicle A (driving on right side), vehicle B (driving on left side) and is shown in fig.27 where predictive horizon spatial length
vehicle C (driving on right side)
implies that vehicle is expected to speed up.
14
×106
5.0386
C sharp curves and narrow lanes) are shown to test the algorithm
5.0386
Computational time measured during the simulations confirms
the feasibility of a real-time implementation of the controller
5.0386
for working frequency up to 20Hz, as well as sufficient
robustness respect to modeling errors and its capability to deal
5.1227 5.1227 5.1228 5.1228 5.1229 5.1229
X (UTM) [m]
5.1230 5.123 5.1231 5.1231
×105 with multiple and moving obstacles in urban-like scenarios is
shown.
Fig. 27. Moving obstacles’s scenario - frame 4: overtaking and speed increase
ACKNOWLEDGMENT
VI. C ONCLUSION The authors would like to thank Sineco s.p.a for the
possibility to use an instrumented vehicle for high accuracy
In this paper a NMPC trajectory planner for autonomous measuments. The Italian Ministry of Education, University and
vehicles based on a direct approach has been presented. Research is acknowledged for the support provided through the
Thanks to the proposed modified slip calculation, the dynamic Project ”Department of Excellence LIS4.0 - Lightweight and
single-track vehicle model can be employed at both high Smart Structures for Industry 4.0”.
and low velocities. This allows to have one single model
that presents a kinematic-like behaviour at low velocities R EFERENCES
while keeping the standard dynamic single-track vehicle model
[1] “Global Status Report On Road Safety 2018,” World Health Organiza-
behaviour at higher speeds. Obstacles’ uncertainties have been tion (WHO), 2018.
taken into account through the implementation of coupled soft [2] N. Lang, M. Rugmann, A. Mei-Pochtler, T. Dauner, S. Komiya, X. Mos-
and hard constraints. The correlation between the simulated quet, and X. Doubara, “Self-Driving Vehicles, Robo-Taxis, and the
Urban Mobility Revolution,” Boston Consulting Group, july 2016.
and perceived spatial horizon lengths has been enforced with [3] X. Mosquet, T. Dauner, N. Lang, M. Rusmann, A. Mei-Pochtler,
a spatial dependent velocity profile that has been imposed R. Agrawal, and F. Schmieg, “Revolution In The Driver’s Seat,” Boston
as an extra inequality constraint. The numerical solution is Consulting Group, april 2015.
[4] F. Kuhnert, C. Sturmer, and A. Koster, “Five trends transforming the
carried out using ACADO toolkit, coupled with the QP solver Automotive Industry,” PwC (PricewaterhouseCoopers), 2018.
qpOASES. The trajectory planner performances have been [5] J. Ziegler, P. Bender, M. Schreiber, H. Lategahn, T. Strauss, C. Stiller,
checked in simulation, applying the controller to a realistic T. Dang, U. Franke, N. Appenrodt, C. G. Keller, E. Kaus, R. G. Her-
rtwich, C. Rabe, D. Pfeiffer, F. Lindner, F. Stein, F. Erbs, M. Enzweiler,
nonlinear multibody model in CarMaker environment. Two C. Knoppel, J. Hipp, M. Haueis, M. Trepte, C. Brenk, A. Tamke,
significant driving scenarios have been reported assessing the M. Ghanaat, M. Braun, A. Joos, H. Fritz, H. Mock, M. Hein, and
trajectory planner performances in terms of feasibility of the E. Zeeb, “Making Bertha Drive - An Autonomous Journey on a Historic
Route,” IEEE Intelligent transportation systems magazine, 2014.
generated trajectories and passengers’ comfort. The analysis [6] A. Teichman and S. Thrun, “Practical object recognition in autonomous
of the computational cost has confirmed that the proposed driving and beyond,” Advanced Robotics and its Social Impacts (ARSO),
trajectory planner can be implemented in real-time. 2011.
[7] J. Funke, P. Theodosis, R. Hindiyeh, G. Stanek, K. Kritatakirana,
In this paper a novel decisional algorithm for trajectory C. Gerdes, D. Langer, M. Hernandez, Bernhard, Muller-Bessler, and
planning & tracking is proposed. In detail the algorithm B. Huhnke, “Up to the Limits: Autonomous Audi TTS,” in 2012
is expected to ensure: a real-time feasible implementation, Intelligent Vehicles Symposium, 2012.
[8] Y. Kuwata, J. Teo, G. Fiore, S. Karaman, E. Frazzoli, and J. P. How,
a sufficient robustness of the solution provided respect to “Real-time Motion Planning with Applications to Autonomous Urban
modeling errors and being able to deal with multiple and Driving,” in IEEE transactions on control systems technology, vol. 17,
moving obstacles in urban-like scenarios. 2009.
[9] A. Broggi, P. Medici, P. Zani, A. Coati, and M. Panciroli, “Autonomous
The algorithm consists mainly in a optimal constrained vehicles control in the VisLab Intercontinental Autonomous Challenge,”
problem formulated as a MPC problem and numerically in Annual Reviews in Control 36, 2012.
solved by means of a novel genetic algorithm approach. [10] B. Paden, M. Cap, S. Z. Yong, D. Yershov, and E. Frazzoli, “A Survey
of Motion Planning and Control Techniques for Self-driving Urban
In particular, thanks to GA implementation for numerical Vehicles,” IEEE Transactions On Intelligent Vehicles, Vol. 1, No. 1, 2016.
optimization compared to other approaches in literature, the [11] R. Okuda, Y. Kajiwara, and K. Terashima, “A Survey of Technical Trend
proposed algorithm prevents the solution to get stuck in local of ADAS and Autonomous Driving,” VLSI Technology, Systems and
Application (VLSI-TSA), 2014.
minima and the specific mathematical formulation proposed [12] O. Souissi, R. Benatitallah, D. Duvivier, A. Artiba, N. Belanger, and
bound computational cost and generates continuous control P. Feyzeau, “Path Planning: A 2013 Survey,” 5th IESM Conference,
commands at the same time. Especially, the specific vehicle 2013.
[13] D. Hsu, J. Latombe, and R. Motwani, “Path planning in expansive
model adopted and the choice of optimization variables force configuration spaces,” in Proceedings of the 1997 IEEE International
the evasive maneuver calculated over the predictive horizon Conference on Robotics and Automation, Albuquerque, New Mexico,
of MPC to present continuous acceleration and jerk, while USA, April 20-25, 1997, 1997, pp. 2719–2726.
[14] S. M. LaValle, “Rapidly-exploring random trees: A new tool for path
trajectory computed by the closed loop presents continuous planning,” Computer Science Dept., Iowa State University, Tech. Rep.
acceleration in time. on the other hand, this approach limits the 98-11, 1998.
15