Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 1
Model Predictive Control for Automotive Applications
Dipartimento di Ingegneria “Enzo Ferrari”
Universita’ di Modena e Reggio Emilia
Paolo Falcone
Department of Electrical Engineering Chalmers University of Technology Göteborg, Sweden
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 2
Predictive Vehicle Dynamics Control
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 3
Problem complexity
How does the logic change if further actuators are added?
Engine torque
Active front/rear
steering Active
suspensions Active
differentials
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 4
Global Chassis Control (GCC) problem
GCC
lateral
y z
yawpitch vertical
longitudinal rol l
y
x
fF
xF F
y qz
ü Front steering ü Four brakes ü Engine torque ü Active suspensions ü Active differential
ü Longitudinal, lateral and vertical velocty
ü Yaw, roll and pitch angles/rates
Driver Commands
Coordinating vehicle actuators in order to control
multiple dynamics
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 5
Testing scenario. Autonomous path following
Problem setup:
• Double lane change
• Driving on snow/ice, with different entry speeds
Control objective:
Minimize angle and lateral distance deviations from reference trajectory
by changing the front wheel steering angle and the braking at the four wheels
Controlling longitudinal, lateral and yaw dynamics by varying
front steering angle and braking the four wheels
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 6
Challenges
• Highly nonlinear MIMO system with uncertainties
– Tires characteristics
• 6 DOF model
– Longitudinal, lateral, vertical, roll, yaw and pitch dynamics
• Hard constraints
– Rate limitations in the actuators, vehicle physical limits
• Fast sampling time
– Typically 20-50 ms
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 7
Model Predictive Control
Main ingredients
• Vehicle model
• Optimization problem
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 8
Outline
• Introduction and motivations
• Vehicle modeling
• Problem formulation
• Experimental results
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 9
Modeling: bicycle and four wheels models
Modeling the vehicle motion in an inertial frame subject to lateral, longitudinal and yaw dynamics
10 states, 5 inputs
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 10
Tire modeling
Static tire forces characteristics
) ,
, ,
(
zc
c
f s F
F = a µ
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 11
Tire modeling
F
zz c
l
cF F
F
2+
2£ µ
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 12
Outline
• Introduction and motivations
• Vehicle modeling
• Problem formulation
• Experimental results
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 13
NMPC Control design
Optimization problem
Vehicle dynamics
max ,
min u u
u £ k t £ Input constraints
1 ,
,
min , max
- +
=
D
£ D
£ D
p t
k
H t
t k
u u
u
! Constraints on
input changes
€
J
(
ξ( )
t ,U)
= ηt +i,t −ηreft +i ,t Q 2+ ut +i,t R2
i=1 Hp
Cost function
∑
U = ut,t!ut+Hp,t( )
to subj.
, min J t U
U x
• Non Linear Programming
(NLP) problem
• Complex NLP solvers required
Real time implementation by ü limiting the number of iterations
ü using short horizons
Real time testing at low speed
( )
( )
k tt k
t k t k t
k
h
u f
, ,
, , ,
1 ,
x h
x x
=
+ =
Experimentally tested
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 14
LTV-MPC controller
Approximating the non-linear vehicle model with a Linear Time Varying (LTV) model A
t, B
t, C
t, D
t.*
t t t
t
B C D
A , , ,
•Convex optimization problem. QP solvers
•Easier real-time implementation
•Longer horizons
Performance and stability issues* due to linear approximation
* Kothare and Morari, 1995, Wan and Kothare, 2003
* Falcone et al 2008
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 15
Constraints on tire slip angle
a
min amaxp t
k
H t
t k
t k t
k
+
=
£
£
!
,
, , max
min
a a
a
Controller performs well up to 21 m/s
The system is still nonlinear
Stability achieved through ad hoc state and input constraints
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 16
Stability of the LTV-MPC approach
( ( ), ( ) )
) 1 (
(1) x t + = f x t u t
Consider the discrete time nonlinear system:
R
nx Î u Î R
mWe consider the following linear approximation over the horizon N:
1 ,
) ( )
( )
1
(
, , ,- +
=
+ +
@ +
N t
t k
d k
u B k
A
k
k t k t k t! x x
€
ξ
0(k +1) = f ( ξ
0(k),u(t −1) ) , ξ
0(k) = ξ (t)
d
k,t= ξ
0(k +1) − A
k,tξ
0(k) − B
k,tu(t −1)
€
A
k,t= ∂f
∂x
ξu(t −1)0(k ), B
k,t= ∂f
∂u
ξu(t −1)0(k )Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 17
Stability of the LTV-MPC approach
€
(2) V
N*( ξ(t) ) = min
ut ,t,…ut +N −1,t
Qξ
t +i,t 22+
i=1 N −1
∑ Ru
t +i,t 22
+
i=0 N −1
∑ Pξ
t +N,t 22
subject to :
ξ
k +1,t= A
tξ
k,t+ B
tu
k,t+ d
k,t, k = t, …,t + N −1 ξ
k,t∈ X, k = t, …,t + N −1
u
k,t∈U, k = t, …,t + N −1 ξ
k +N ,t∈ X
fξ
t,t= ξ(t)
€
(3) u t ( ) = u
t,t*
( ξ (t) )
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 18
Stability of the LTV-MPC approach
Theorem. The system (1) with the control law (2)-(3), where X
f=0, is uniformly asymptotically stable if
where:
€
Q ˆ ξ
t +N −1,t2
2
+ Ru
t +N −1,t 22
≤ Q ξ
t,t −1* 22+ Ru
t −1,t −1* 22− Q ˆ ( ξ
t +i,t− ξ
t +i,t −1*)
22− γ
i=1 N −2
∑
€
ξ ˆ
k +1,t= A
tξ ˆ
k,t+ B
tu
k,t −1*+ d
k,tk = t, …,t + N − 2
ξ ˆ
t,t= ξ (t)
State and input convex constraints
Liu, 1968. Chen and Shaw. 1982. Mayne et al. 2000
€
γ = 2 Q ˆ ( ξ
t +i,t− ξ
*t +i ,t −1)
2Q ξ
*t +i,t −1 2i=1 N −2
∑
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 19
What does that mean?
t
úû ê ù
ë é
- -
- -
1 1
1 1
t t
t t
D C
B A
Y
- 1
t t
úû ê ù
ë é
t t
t t
D C
B A
- 2 + N t
€
l ˆ ( ξ
t +N −1,t,u
t +N −1,t) ≤ l ( ξt −1,t −1* ,u
t −1,t −1* ) − Γ Q ˆ & ' ( ( ξ
t +i,t − ξ
t +i,t −1* )
22) * +
* 1 ,t-
x
kt
ˆ
k ,x
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 20
Simulation results at 21 m/s
The controller is able to stabilize the vehicle
without any ‘ad hoc’ constraint.
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 21
Outline
• Introduction and motivations
• Vehicle modeling
• Problem formulation
• Experimental results
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 22
Testing: Sault St. Marie in Upper Peninsula, MI, USA
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 23
Summary
• Excellent performance
• Limited tuning effort (less than 10 run ~ 1 hr)
• Vehicle stabilized up to 70 Km/h on snowy tracks
• Coordination of steering and braking
– Braking is delivered on the “same side” of the steering
• Front/rear braking distribution
– Shifting the braking to the non saturated axle
• Countersteering
– Steering in opposite direction of path following to prevent spinning
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 24
Summary
• Excellent performance
• Limited tuning effort (less than 10 run ~ 1 hr)
• Vehicle stabilized up to 70 Km/h on snowy tracks
• Coordination of steering and braking
– Braking is delivered on the “same side” of the steering
• Front/rear braking distribution
– Shifting the braking to the non saturated axle
• Countersteering
– Steering in opposite direction of path following to prevent spinning
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 25
Summary
• Excellent performance
• Limited tuning effort (less than 10 run ~ 1 hr)
• Vehicle stabilized up to 70 Km/h on snowy tracks
• Coordination of steering and braking
– Braking is delivered on the “same side” of the steering
• Front/rear braking distribution
– Shifting the braking to the non saturated axle
• Countersteering
– Steering in opposite direction of path following to prevent spinning
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 26
Test @ 40 Kph. Steering and braking coordination
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 27
Test @ 40 Kph. Steering and braking coordination
Left side braking Right side braking
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 28
Summary
• Excellent performance
• Limited tuning effort (less than 10 run ~ 1 hr)
• Vehicle stabilized up to 70 Km/h on snowy tracks
• Coordination of steering and braking
– Braking is delivered on the “same side” of the steering
• Front/rear braking distribution
– Shifting the braking to the non saturated axle
• Countersteering
– Steering in opposite direction of path following to prevent spinning
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 29
Test @ 40 Kph. Countersteering manoeuvre.
Yaw
instability induced by
large
acceleration
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 30
Test @ 40 Kph. Countersteering manoeuvre
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 31
Test @ 70 Kph. Countersteering manoeuvre
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 32
Test @ 70 Kph. Countersteering manoeuvre
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 33
Test @ 70 Kph. Countersteering manoeuvre
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 34
Experimental results
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 35
Acknowledgments
• Francesco Borrelli (UC Berkeley)
• Eric Tseng (Ford)
• Davor Hrovat (Ford)
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 36
Long Heavy Vehicles Combinations
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 37
Long Heavy Vehicles Combinations
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 38
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 39
Control Objectives
Reducing the yaw rate rearward amplifications and , by means of the steering angles
while bounding the steering angles and rates of steering
Achieving the control objectives by solving a yaw rate tracking problem where
Reference models designed in order to remove resonance peaks in the yaw rates responses
r
2,refd
11G
21refr
3,refG
31ref€
r
2/r
13 2
, d d
€
r
3/r
1Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 40
Reference Models
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 41
MPC Problem Formulation
Vehicle (linear) model
€
x
k +1= A(v
x)x
k+ B(v
x)u
k+ E(v
x)d
ky
k= Cx
k€
x = v
yr
1θ
1θ
2θ ˙
1θ ˙
2#
$
%
%
%
%
%
%
%
&
' ( ( ( ( ( ( (
ú û ê ù ë
= é
3 2
d u d
€
v
x= v
1xv
x2v
x3"
#
$
$
$
%
&
' ' '
d
11= d
€
y = r
2r
3θ
1θ
2#
$
%
%
%
%
&
' ( ( ( (
€
J = Q(y
t +i− y
ref ,t +i)
2
2
+ Su
t +i−1 22+ RΔu
t +i−1 22$
% & '
( )
i=1 N
∑
Cost function
Yaw rate tracking problem translated into a cost function
minimization problem
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 42
MPC Problem Formulation
€
Δut,…,Δu
min
t +N −1Q(y
t +i− y
ref ,t +i)
2
2
+ Su
t +i−1 22+ RΔu
t +i−1 22$
% & '
( )
i=1 N
∑
subject to
€
u
*(t) = u(t −1) + Δu
*(t, x(t))
Vehicle dynamics
Actuator limitations
The resulting state feedback steering control law is
€
x
k +1= A(v
x)x
k+ B(v
x)u
k+ E(v
x)d
ku
k= u
k −1+ Δu
ky
k= Cx
k$
% &
' &
€
u
min≤ u
k≤ u
maxΔu
min≤ Δu
k≤ Δu
max$ %
&
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 43
Experimental Results
Testing at Mira Test Center:
Single lane change
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 44
Summary
1. RWA close to one
– Good reference tracking
2. Smooth steering commands
3. Small articulation angles at the end of the maneuver (Both dolly and trailer aligned with the truck)
– Please note the sensor offset
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 45
Yaw Rates
124 125 126 127 128 129 130 131 132
-8 -6 -4 -2 0 2 4 6 8
Time (sec)
Yaw rate (Deg/sec)
Yaw rates, truck tests. SLC Maneuver
Dolly yaw rate Trailer yaw rate Truck yaw rate
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 46
Dolly Yaw Rate
124 125 126 127 128 129 130 131 132
-8 -6 -4 -2 0 2 4 6 8
Time (sec)
Yaw rate (Deg/sec)
Yaw rate dolly, truck tests. SLC Maneuver
Dolly yaw rate
Dolly yaw rate reference
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 47
Trailer Yaw Rate
124 125 126 127 128 129 130 131 132
-8 -6 -4 -2 0 2 4 6
Time (sec)
Yaw rate (Deg/sec)
Yaw rate trailer, truck tests. SLC Maneuver
Trailer yaw rate
Trailer yaw rate reference
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 48
Summary
1. RWA close to one
– Good reference tracking
2. Smooth steering commands
3. Small articulation angles at the end of the maneuver (Both dolly and trailer aligned with the truck)
– Please note the sensor offset
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 49
Steering Angles
124 125 126 127 128 129 130 131 132
-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Time (sec)
Steering (Deg)
Steerings, truck tests. SLC Maneuver
Dolly steering angle Trailer steering angle Truck steering angle
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 50
Summary
1. RWA close to one
– Good reference tracking
2. Smooth steering commands
3. Small articulation angles at the end of the maneuver (Both dolly and trailer aligned with the truck)
– Please note the sensor offset
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 51
124 125 126 127 128 129 130 131 132
-2 -1 0 1 2 3
Time (sec)
Articulation angle (Deg)
Dolly articulation angle, truck tests. SLC Maneuver
Dolly articulation angle Reference signal
Dolly Articulation Angle
Sensor offset
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 52
Trailer Articulation Angle
124 125 126 127 128 129 130 131 132
-3 -2 -1 0 1 2 3 4
Time (sec)
Articulation angle (Deg)
Trailer articulation angle, truck tests. SLC ManeuveR
Trailer articulation angle Reference signal
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 53
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 54
Remarks
• Good tracking with minimal design and tuning efforts
• Actuators physical limits included in control design
• Possibility of easily
– Include constraints to guarantee RWA<1
– Include constraints to limit lateral accelerations – Include constraints to limit off-tracking
– Combine steering and braking commands
– Guarantee perfect alignment of the combination despite of sensors offsets
Paolo Falcone (UNIMORE/CHALMERS) Automatic Control Course – Guest Lecture December 11th, 2019 55