Professional Documents
Culture Documents
k=0
k
(y
k
, u
k
, r(t +k), t, x(t))
k
= quadratic function of y
k
, u
k
min
U
1
2
U
H(t)U +F(t)
U +(t)
s.t. G(t)U W(t)
x
k+1
= A
k
(t, x(t))x
k
+B
k
(t, x(t))u
k
+f
k
(t, x(t))
y
k
= C
k
(t, x(t))x
k
+D
k
(t, x(t))u
k
+g
k
(t, x(t))
A. 8emorud Model Predlctlve Control z
Llneur tlmevurylng MPC
MPC cun euslly hundle !"#$%& (")$*+%&,"#- ./012 roblems
z
L1vMPC stlll leuds to u
34%5&%("6 7&8-&%) .372 !
Allcutlons: tlmevurylng systems (e.g.: uerosuce), NL systems
A. 8emorud Model Predlctlve Control z
Lxumle: erlodlc double lntegrutor
min 10(x
2,k
r(t + k))
2
+ 0.001u
2
k
s.t. (no constraints)
!mpcsoft_doubleint demo
time-varying double-
integrator model
LTV-MPC block
A=[1 0;Ts 1]*(1+.5*sin(t+k*Ts));
B=[Ts;0];
f=[0;0];
C=[0 1];
no preview
on reference
signal
A. 8emorud Model Predlctlve Control z
Lxumle: double lntegrutor
preview
enabled
dCA
dt
=
F
V
(CAf CA) CAk0e
E
RT
dT
dt
=
F
V
(Tf T) +
UA
CpV
(Tj T)
H
Cp
CAk0e
E
RT
T : temperature inside the reactor [K] (state)
CA : concentration of the reagent in the reactor [kgmol/m
3
] (state)
Tj : jacket temperature [K] (input)
Tf : feedstream temperature [K] (measured disturbance)
CAf : feedstream concentration [kgmol/m
3
] (measured disturbance)
A. 8emorud Model Predlctlve Control z
Lxumle: L1vMPC of u nonllneur CS1R system
!"#$ &'()*'+ ', - ./-0-)/& &'()/(1'12 2)/**3. )-(4 *3-&)'* 5$6789
f(x(t), u(t), t)
f
x
(x(t), u(t), t)x(t)
f
u
(x(t), u(t), t)u(t)
+
f
t
(x(t), u(t), t)kTs
0 1
, W
u
= 10
2
Wx =
10
4
2
W
u
= 0.008
J
Wx
=
4.8 12.0
,
J
W
u
= 1233
A. 8emorud Model Predlctlve Control z
Sensltlvltles und controller retunlng
8
!$'>?1)3 (1>3*/&-+ .3*/<-)/<32 ', J(Tfinal) B/)@ *32?3&) )' B3/C@)2 '(
2)-)32 -(. /(?1) /(&*3>3()2=
Negative sensitivities suggest
to increase state weights
Adjust welghts uccordlng
to sensltlvlty
Crlglnul tunlng:
Positive sensitivity suggests
to decrease input-rate weight
A. 8emorud Model Predlctlve Control z
Lxumle: CS1R demo Performunce tunlng
_
p R
d
:
_
_
(q
1
p
0
)
.
.
.
(q
M
p
0
)
_p
_
_
(q
1
p
0
)
q
1
.
.
.
(q
M
p
0
)
q
M
_
_
_
_
A. 8emorud Model Predlctlve Control z
lust greedy uroxlmutlon ulgorlthm (j)
z
78!,>$5&%! %??&8@")%("8#:
Assume (for the moment) thut vehlcle und obstucles ure olnts ln suce
P contulns p0 und does not contuln uny of the obstucles q1, q2, ..., qM ln lts lnterlor
q1
qM
q2
p0
5I3>?'*-.J 8'&&@/J $P$ MNOO9
lf the vertlces of WM ure uvulluble, slmly
Assume now ?8!,>$5&%! 8<=(%6!$= wlth shues W1, W2, ... WM
g
j
= min
wR
d (q
j
p
0
)
w
s.t. w W
j
g
j
= min
h=1,...,sj
A
j
c
w
jh
P =
_
_
p R
d
:
_
_
(q
1
p
0
)
.
.
.
(q
M
p
0
)
_p
_
_
(q
1
p
0
)
q
1
+ g
1
.
.
.
(q
M
p
0
)
q
M
+ g
M
_
_
_
_
A. 8emorud Model Predlctlve Control z
lust greedy uroxlmutlon ulgorlthm (zj)
lf P ls nonemty, then P contulns p0 und does not contuln uny of the obstucles
ln lts lnterlor
q1
qM
q2
p0
W2
W1
WM
lor euch obstucle j defne the sculur g
j
B
j
= {q
j
} W
j
(wjh = vertex of Wj)
78!,>$5&%! %??&8@")%("8#:
Assume olyhedrul obstucles und ?8!,(8?"6 AB1
V
P =
_
_
p R
d
:
_
_
(q
1
p
0
)
.
.
.
(q
M
p
0
)
_p
_
_
(q
1
p
0
)
(q
1
d
i
) + g
1
.
.
.
(q
M
p
0
)
(q
M
d
i
) + g
M
_
_, i = 1, . . . , r
_
_
A. 8emorud Model Predlctlve Control z
lust greedy uroxlmutlon ulgorlthm (j)
q1
qM
q2
p0
W2
W1
WM
V conv(p
0
+ d
1
, . . . , p
0
+ d
r
)
lf P ls nonemty, then P contulns V und does not contuln uny of the obstucles
ln lts lnterlor B
j
= {q
j
} W
j
78!,>$5&%! %??&8@")%("8#:
p
i
(t + 1) = A
i
p
i
(t) + B
i
p
ci
(t) p
i
(t) =
x
i
(t)
y
i
(t)
z
i
(t)
x
ci
(t)
y
ci
(t)
z
ci
(t)
?'2/)/'(
&'>>-(.3.
-) )/>3 t
Ac =
(q1 p0)
.
.
.
(qM p0)
, bc =
(q1 p0)
q1
.
.
.
(qM p0)
qM
min
2
+
N1
k=0
W
y
(pk pd(t))
2
+W
u
(pc,k pc,k1)
2
s.t. pk+1 = Apk + Bpc,k, k = 0, . . . , N 1
min pc,k pc,k1 max, k = 0, . . . , Nu 1
Ac,kpk bc,k + gk Ac,kdh,k + 1I
k = 0, . . . , N 1, h = 1, . . . , ri
pc,k = pc,Nu1, k = Nu, . . . , N
A. 8emorud Model Predlctlve Control z
L1vMPC guldunce ulgorlthm: otlmlzutlon model
6
At tlme t, select the deslred osltlon pc(t) for the UAv by solvlng the otlmul
control roblem (=C4%5&%("6 ?&8-&%))"#-)
prediction horizon
bounds on
input
increments
desired position
UAV dynamics
blocked moves
(soft)
obstacle
avoidance
constraints
A. 8emorud Model Predlctlve Control z
Lxumle: nuvlgutlon demo
,
lnltlul osltlon # = (c,c)
1urget osltlon # = (,c)
lnltlul osltlon #z = (,)
1urget osltlon #z = (c,zc)
ROBMPC project
Robust Model Predictive
Control (MPC) for Space
Constrained Systems
!"#$%&'()* ,-.-/,-..0
"#$6',7 7''+0'F
,'* "L7RLI
A. 8emorud Model Predlctlve Control z
Lxumle: nuvlgutlon demo (cooerutlve MPC)
1wo vehlcles uvoldlng euch other und obstucles towurds thelr turgets
8
vehicle
dynamics #1
vehicle
dynamics #2
MPC #1
MPC #2
previous optimal sequences are exchanged
A. 8emorud Model Predlctlve Control z
Lecentrullzed L1vMPC for formutlon fylng
with visibility
graphs [1], nonlinear trajectory generation (see e.g. the
NTG software package developed at Caltech [5]), vertex-
graph (VGRAPH) algorithms [15], and mixed-integer linear
programming (MILP) [16], [17].
A. Bemporad is with the IMT (Institutions, Market,
Technologies) Institute for Advanced Studies Lucca, Italy,
alberto.bemporad@imtlucca.it. C. Rocchi is with the Department
of Mechanical and Structural Engineering, University of Trento, Italy,
claudio.rocchi@ing.unitn.it. This work was partially supported
by the European Space Agency through project ROBMPC Robust
Model Predictive Control for Space Constrained Systems.
linear
MPC
linear
MPC
linear
MPC
LTV
MPC
Ts=71 ms
Tsn=1.5 s
continuous
time
measurements
voltages
measurements
desired
positions
measure-
ments
LTV
MPC
LTV
MPC
measure-
ments
navigation
stabilization
dynamics
Fig. 1. Hierarchical control structure for UAV navigation
This paper adopts the two-layer MPC approach depicted
in Figure 1 to stabilization and on-line trajectory gener-
ation for autonomous navigation with obstacle avoidance
of a formation of quadcopters. At the lower level, linear
constrained MPC controllers with integral action take care
of stabilizing the quadcopters with offset-free tracking of
desired set-points. At the higher hierarchical level and at
a lower sampling rate, linear time-varying (LTV) MPC con-
trollers generate on line the paths to follow for the formation
to reach a given target position and shape while avoiding
obstacles. The performance of the strategy adopted in this
paper is assessed through simulations and compared to an
alternative technique based on decentralized hybrid MPC
proposed in a previous work [18]. The lower-level linear
MPC algorithms control motor speeds directly via pulse posi-
tion modulation, under admissible thrust and angle/position
constraints. Based on a leader-follower approach in which
the leader points to the target and the followers track a
given relative position from the leader, the higher-level LTV-
MPCs (one per vehicle) maintain the vehicles in formation
towards a desired target in a decentralized way. Obstacles
and vehicle-to-vehicle collisions are constraining predicted
vehicle positions within a convex polyhedron contained in
the feasible space, generated on-line via a novel approach
proposed in this paper. We assume that target and obstacle
positions may be time-varying and only known at run time,
a situation for which off-line (optimal) planning cannot be
easily accomplished.
The paper is organized as follows. After introducing
the UAV dynamics in Section II, a linear MPC design is
proposed in Section III-A for stabilization under constraints
and trajectory tracking. Section III-B proposes a convex
polyhedral approximation approach for obstacle avoidance,
which is used in Section III-C to formulate the higher-
level LTV-MPC controller for safe path planning. Section IV
/"#$%&*(")$ +%&,"#- ./012 :7; for UAvs fylng ln formutlon
Elerurchlcul & decentrullzed structure (leuderjfollower urouch)
;8#+$@ 4#5$&*%??&8@")%("8# of the obstuclefree suce
V
Mi
, i = 1, . . . , 4
x
f1
f2
f3
f4
z
y
mg
l
1
2
3
4
m x = f sin x
m y = f cos sin y
m z = f cos cos mg z
=
Ixx
=
Iyy
=
l
Izz
(f1 + f2 f3 + f4)
f = f
1
+ f
2
+ f
3
+ f
4
= (f
2
f
4
)l
= (f
3
f
1
)l
fi =
9.81(22.5VMi 9.7)
1000
, i = 1, . . . , 4
A. 8emorud Model Predlctlve Control z
Nonllneur dynumlcul model of u quudcoter
commund lnuts: motor voltuges
zc
z stutes , , , x, y, z,
,
,
, x, y, z
Elghly nonllneur und couled dynumlcs
- Sumllng tlme
- Predlctlon horlzon
- Control horlzon
Llneur MPC setu:
- Construlnts:
- Motor voltuge suturutlon
- Altltude
- Pltch und roll ungles
(soft construlnts)
z 0
0 V
Mi
11.1V
6
,
6
NL = 20
NLu = 3
A. 8emorud Model Predlctlve Control z
Llneur MPC for stublllzutlon
Llneur MPC control deslgn bused on MA1LA8 MPC 1oolbox
Llneurlzutlon uround the hoverlng condltlon und tlmedlscretlzutlon
z
Ts =
1
14
s
Lxcellent stublllzutlon roertles, deslte NL dynumlcs und construlnts.
Muny other technlques uvulluble for stublllzutlon uroses
5$-2)/++'J PS1+J R'2-('J MNNT9
At tlme t, euch UAv #i solves lts own L1vMPC roblem
vehlcle # conslders urrlvul olnt pd! us deslred turget, pd!(t)!pd!, !t!0
vehlcle #j conslders leuder's osltlon us deslred turget, pdj(t)=pc!(t), !j>
Prevlous otlmul sequences
ure exchunged to redlct future osltlons of other UAvs #j
pcj(t|t 1), pcj(t + 1|t 1), . . . , pcj(t + N 2|t 1)
A. 8emorud Model Predlctlve Control z
L1vMPC guldunce ulgorlthm: formutlon fylng
zz
pd!
pc!(t)
pc"(t)
pcM(t)
pd!
tetruhedrul obstucles,
UAvs modeled us smull urulleleleds
! "#$%&'( (&&*+&, used for L1vMPC deslgn,
slmulutlon, und code generutlon
! QP roblem bullder und solver lmlemented
ln Lmbedded MA1LA8
CPU tlme = ~DE )= (er tlmeste)
5"L7RLI 8MNNU0J "-&0''4 L/*9
A. 8emorud Model Predlctlve Control z
Lxumle: L1vMPC for formutlon fylng
z
W = conv(
1/3
1/3
1/2
2/3
1/3
1/2
1/3
2/3
1/2
0
0
1/2
)
A. 8emorud Model Predlctlve Control z
Comurlson wlth other guldunce methods
z
.3&3()*-+/S3. >,<&"5 "#$
.3&3()*-+/S3. /01 "#$
?8($#("%! F$!5=
5>3)@'. ', #-1+ -. /*0J MNNV9
5I3>?'*-.J 8'&&@/J KGL$ MNOO9
5)@/2 )-+49
CPU tlme = ~DE )=
CPU tlme = ~G )=
CPU tlme = ~HE )=
(l8M CPLL)
J
tt
=
3080
k=350
p
L
(k) pt
2
2
J
fpt
=
3080
k=350
p
L
(k) p
F1
(k) p
d1
2
2
+p
L
(k) p
F2
(k) p
d2
2
2
Ju =
3080
k=350
u(k) u(k 1)
1
A. 8emorud Model Predlctlve Control z
Performunce comurlson
z
- 'u
5/(./&32 ('*>-+/S3. B/)@ *32?3&) )' )@3 &3()*-+/S3. @E0*/. "#$ ?3*,'*>-(&3)
./12-. .1/34562 lntegrul Squure Lrror (lSL)
'&17/.5&6 8/..-16 .1/34562 lSL
/+9&*:.- ;-15</.5<- &' 568:. 9526/*9 (lALU)
Jtt Jfpt Ju
centralized hybrid MPC 1 1 1
decentralized hybrid MPC -0.09% -0.51% -0.03%
decentralized LTV MPC -2.46% -15.47% +9.20%
potential elds +210.32% +294.30% +212.75%