Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
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 FalconeDepartment of Electrical EngineeringChalmers University of TechnologyGö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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 3
Problem complexityHow does the logic change if further actuators
are added?Engine torque
Active front/rear steering Active
suspensionsActive
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
ylateral
z yaw
pitch
vertical
longitudinal roll
y
qx f Fx FyFz
ü Front steeringü Four brakesü Engine torqueüActive suspensionsüActive differential
ü Longitudinal, lateral and vertical veloctyü Yaw, roll and pitch angles/rates
Dri
ver
Com
man
dsCoordinating vehicle actuators in order to control
multiple dynamics
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 5
Testing scenario. Autonomous path followingProblem setup:
• Double lane change • Driving on snow/ice, with
different entry speeds
Control objective:
Minimize angle and lateral distancedeviations from reference trajectory by changing the front wheel steering angleand 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)
Department of Signals and Systems
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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 9
Modeling: bicycle and four wheels modelsModeling 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 modelingStatic tire forces characteristics
),,,( zcc FsfF µa=
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 11
Tire modeling
zF
zcl FcFF µ£+ 22
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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 13
NMPC Control design
Optimization problem
Vehicle dynamics
max,min uuu tk ££Input constraints
1,, max,min
-+=
D£D£D
p
tk
Httkuuu
!
Constraints on input changes
€
J ξ t( ),U( ) = ηt+ i,t −ηreft+i ,t Q
2+ ut+ i,t R
2
i=1
H p
∑Cost function tHttt puuU ,, += !
( ) tosubj.
,min UJ tUx • 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
( )( )tktk
tktktk
huf
,,
,,,1 ,xh
xx
=
=+
Experimentally tested
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 14
LTV-MPC controllerApproximating the non-linear vehicle model with a Linear Time Varying
(LTV) model At, Bt, Ct, Dt.*
tttt DCBA ,,,
•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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 15
Constraints on tire slip angle
mina maxa
p
tk
Httktktk
+=
££
! ,, max,min aaa
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) tutft xx =+
Consider the discrete time nonlinear system:
nRÎx mRuÎ
We consider the following linear approximation over the horizon N:
1,)()()1( ,,,
-+=
++@+
NttkdkuBkAk tktktk
!
xx
€
ξ0(k +1) = f ξ0(k),u(t −1)( ), ξ0(k) = ξ(t)dk,t = ξ0(k +1) − Ak,tξ0(k) − Bk,tu(t −1)€
Ak,t =∂f∂x ξ 0 (k )
u( t−1)
, Bk,t =∂f∂u ξ 0 (k )
u( t−1)
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 17
Stability of the LTV-MPC approach
€
(2) VN* ξ(t)( ) = min
ut ,t ,…ut+N−1,t
Qξt+ i,t 2
2+
i=1
N −1
∑ Rut+ i,t 2
2+
i=0
N −1
∑ Pξt+N ,t 2
2
subject to : ξk+1,t = Atξk,t + Btuk,t + dk,t , k = t,…,t + N −1 ξk,t ∈ X, k = t,…,t + N −1 uk,t ∈U, k = t,…,t + N −1 ξk+N ,t ∈ X f
ξt ,t = ξ(t)
€
(3) u t( ) = ut,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 approachTheorem. The system (1) with the control law (2)-(3), where Xf=0, is uniformly asymptotically stable if
where:€
Q ˆ ξ t+N −1,t 2
2+ Rut+N −1,t 2
2≤ Qξt,t−1
*2
2+ Rut−1,t−1
*2
2− Q ˆ ξ t+ i,t − ξt+ i,t−1
*( )2
2− γ
i=1
N −2
∑
€
ˆ ξ k+1,t = Atˆ ξ k,t + Btuk,t−1
* + dk,t
k = 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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 19
What does that mean?
t
úû
ùêë
é
--
--
11
11
tt
tt
DCBA
Y
1-t t
úû
ùêë
é
tt
tt
DCBA
2-+ Nt
€
l ˆ ξ t+N −1,t ,ut+N −1,t( ) ≤ l ξt−1,t−1* ,ut−1,t−1
*( ) −Γ Q ˆ ξ t+ i,t − ξt+ i,t−1*( )
2
2& ' (
) * +
*1, -tkx
tk ,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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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)
Department of Signals and Systems
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
refr ,2
11d
G21ref
refr ,3G31ref
€
r2 /r1
32 ,dd
€
r3 /r1
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 40
Reference Models
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 41
MPC Problem FormulationVehicle (linear) model
€
xk+1 = A(vx )xk + B(vx )uk + E(vx )dkyk = Cxk
€
x =
vyr1θ1
θ2˙ θ 1˙ θ 2
#
$
% % % % % % %
&
'
( ( ( ( ( ( (
úû
ùêë
é=
3
2
dd
u
€
vx =
vx1
vx2
vx3
"
#
$ $ $
%
&
' ' '
11d=d
€
y =
r2r3θ1θ2
#
$
% % % %
&
'
( ( ( (
€
J = Q(yt+ i − yref ,t+ i) 2
2+ Sut+ i−1 2
2+ RΔut+ i−1 2
2$ % & '
( )
i=1
N
∑
Cost functionYaw 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
€
minΔut ,…,Δut+N−1
Q(yt+ i − yref ,t+ i) 2
2+ Sut+ i−1 2
2+ RΔut+ i−1 2
2$ % & '
( )
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€
xk+1 = A(vx )xk + B(vx )uk + E(vx )dk uk = uk−1 + Δukyk = Cxk
$
% &
' &
€
umin ≤ uk ≤ umax
Δumin ≤ Δuk ≤ Δumax
$ % &
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
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 commands3. 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)
Department of Signals and Systems
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 rateTrailer yaw rateTruck 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 rateDolly yaw rate reference
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
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 rateTrailer 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 commands3. 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)
Department of Signals and Systems
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)
Stee
ring
(Deg
)Steerings, truck tests. SLC Maneuver
Dolly steering angleTrailer steering angleTruck 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 commands3. 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)
Department of Signals and Systems
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)
Artic
ulat
ion
angl
e (D
eg)
Dolly articulation angle, truck tests. SLC Maneuver
Dolly articulation angleReference 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)
Artic
ulat
ion
angl
e (D
eg)
Trailer articulation angle, truck tests. SLC ManeuveR
Trailer articulation angleReference signal
Paolo Falcone (UNIMORE/CHALMERS)
Department of Signals and Systems
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)
Department of Signals and Systems
Automatic Control Course – Guest Lecture December 11th, 2019 55
Acknowledgments
• Mathias Lidberg• Jonas Fredriksson• Kristoffer Tagesson (Volvo Trucks)• Leo Laine (Volvo Trucks)• Stefan Edlund (Volvo Trucks)• Richard Roebuck (Cambridge)• Andrew Odhams (Cambridge)