Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Aula 8
01 Outubro 2019
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 1 / 63
Resumo da aula passada
Tratamento de restricoes - Caso SISO (“Single Input, Single Output”)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 2 / 63
Aula de hoje
Extensao ao caso MIMO (“Multiple Inputs, Multiple Outputs”)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 3 / 63
Extensao ao caso MIMO
Planta
u1 y1
u2
up
y2
yq
p variaveis manipuladas (u1, u2, . . . , up)
q variaveis controladas (y1, y2, . . . , yq)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 4 / 63
Notacao
Plantau y
u(k) =
u1(k)
u2(k)
...
up(k)
p×1
y(k) =
y1(k)
y2(k)
...
yq(k)
q×1
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 5 / 63
Incrementos no controle:
∆u(k) = u(k)− u(k − 1) =
u1(k)− u1(k − 1)
u2(k)− u2(k − 1)
...
up(k)− up(k − 1)
p×1
Referencias:
yref =
yref ,1
yref ,2...
yref ,q
q×1
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 6 / 63
y =
y(k + 1|k)
y(k + 2|k)
...
y(k + N|k)
qN×1
r =
yref
yref...
yref
qN×1
= [yref ]N
u =
u(k|k)
u(k + 1|k)
...
u(k + M − 1|k)
pM×1
∆u =
∆u(k|k)
∆u(k + 1|k)
...
∆u(k + M − 1|k)
pM×1
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 7 / 63
Funcao de custo
J(y,∆u) =N∑i=1
[y(k + i |k)− yref ]TQ[y(k + i |k)− yref ]
+M∑i=1
∆uT (k + i − 1|k)R∆u(k + i − 1|k)
Q ∈ Rq×q, R ∈ Rp×p matrizes de peso simetricas, com Q > 0 e R > 0.
Caso particular: Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)
J(y,∆u) =N∑i=1
q∑j=1
µj [yj(k + i |k)− yref ,j ]2
+M∑i=1
p∑l=1
ρl [∆ul(k + i − 1|k)]2
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 8 / 63
Orientacoes para sintonia dos parametros (plantas estaveis)
Referencias:
1 SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrainedmultivariable model predictive control. Industrial and EngineeringChemistry Research, v. 37, n. 10, p. 4003 - 4016, 1998.
2 DOUGHERTY, D.; COOPER, D.J. Tuning guidelines of a dynamicmatrix controller for integrating (non-self-regulating) processes.Industrial and Engineering Chemistry Research, v. 42, n. 8, p. 1739 -1752, 2003.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 9 / 63
Supondo que a dinamica entre a l-esima entrada e a j-esima saıda daplanta possa ser aproximada pela seguinte funcao de transferencia:
Y (s)
U(s)=
Kjle−θjl s
τjls + 1
recomenda-se tomar:
Perıodo de amostragem: T = minj=1,2,...,q; l=1,2,...,p
max(0,1τjl ; 0,5θjl)
Horizonte de predicao:
N = maxj=1,2,...,q; l=1,2,...,p
round
[5τjl + θjl
T+ 1
]Horizonte de controle:
M = maxj=1,2,...,q; l=1,2,...,p
round
[τjl + θjl
T+ 1
]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 10 / 63
“Regra de Bryson” para escolha dos pesos
J(y,∆u) =N∑i=1
q∑j=1
µj [yj(k + i |k)− yref ,j ]2
+M∑i=1
p∑l=1
ρl [∆ul(k + i − 1|k)]2
Sejam θj e ηl as amplitudes de [yj(k)− yref ,j ] e ∆ul(k) esperadas durantea operacao da planta.
Os pesos µj e ρl podem ser escolhidos como:
µj =1
N θ2j
, ρl =1
M η2l
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 11 / 63
Funcao de custo: Observacoes
Obs. 1: Podem ser usados horizontes de predicao e controle diferentespara cada canal de entrada e saıda da planta. Contudo, essa possibilidadenao sera aqui explorada.
Obs. 2: Tambem seria possıvel empregar pesos diferentes para cadainstante de tempo ao longo dos horizontes de predicao e controle.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 12 / 63
Funcao de custo: Notacao Matricial
Seja
Q =
Q 0 · · · 0
0 Q · · · 0
......
. . ....
0 0 · · · Q
qN×qN
R =
R 0 · · · 0
0 R · · · 0
......
. . ....
0 0 · · · R
pM×pM
Se Q > 0, R > 0, tem-se Q > 0, R > 0.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 13 / 63
J(y,∆u) =N∑i=1
[y(k + i |k)− yref ]TQ[y(k + i |k)− yref ]
+M∑i=1
∆uT (k + i − 1|k)R∆u(k + i − 1|k)
J(y,∆u) = (y − r)TQ(y − r) + ∆uTR∆u
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 14 / 63
Obtencao da equacao de predicao empregando modelo noespaco de estados
Modelo adotado:
x(k + 1) = Ax(k) + Bu(k)
y(k) = Cx(k)
com
x(k) ∈ Rn, u(k) ∈ Rp, y(k) ∈ Rq
A ∈ Rn×n, B ∈ Rn×p, C ∈ Rq×n
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 15 / 63
Equacao de predicao em u
y = Hu + fu
H =
CB 0 · · · 0
CAB CB · · · 0
......
. . ....
CAN−1B CAN−2B · · · CB
qN×pN
fu = Φu x(k), Φu =
CA
CA2
...
CAN
qN×n
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 16 / 63
Modelo com entrada incremental
Uso do estado aumentado ξ ∈ Rn+p com o ultimo valor de controleaplicado a planta:
ξ(k) =
[x(k)
u(k − 1)
]
ξ(k + 1) =
[A B
0p×n Ip
]ξ(k) +
[B
Ip
]∆u(k)
y(k) = [C 0q×p] ξ(k)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 17 / 63
Novo modelo a ser empregado:
ξ(k + 1) = Aξ(k) + B∆u(k), y(k) = Cξ(k)
com
A =
[A B
0p×n Ip
], B =
[B
Ip
], C = [C 0q×p]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 18 / 63
Equacao de predicao em ∆u
y = G∆u + f
G =
C B 0 · · · 0
C AB C B · · · 0
......
. . ....
C AN−1B C AN−2B · · · C B
qN×pN
f = Φ ξ(k), Φ =
C A
C A2
...
C AN
qN×n
Obs: Caso M < N, suprimem-se as ultimas (N −M)p colunas de G .EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 19 / 63
Solucao na ausencia de restricoes
Problema de otimizacao a ser resolvido no instante k: Minimizar
J(y,∆u) = (y − r)TQ(y − r) + ∆uTR∆u
s.a.y = G∆u + f
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 20 / 63
Substituindo a expressao de y na funcao de custo, obtem-se:
J = (G∆u + f − r)TQ(G∆u + f − r) + ∆uTR∆u =
∆uTGTQG∆u + 2(f − r)TQ(G∆u) + (f − r)TQ(f − r) + ∆uTR∆u
= ∆uT (GTQG + R)︸ ︷︷ ︸(1/2)H
∆u + 2(f − r)TQG︸ ︷︷ ︸cT
∆u + (f − r)TQ(f − r)︸ ︷︷ ︸cte
J =1
2∆uTH∆u + cT∆u + cte
H = 2(GTQG + R), c = 2GTQ(f − r)
Vale notar que R > 0⇒ H > 0.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 21 / 63
J(∆u) =1
2∆uTH∆u + cT∆u + cte
H > 0
Como visto anteriormente para o caso SISO, a solucao deste problema deotimizacao e dada por
∆u∗ = −H−1c
comH = 2(GTQG + R), c = 2GTQ(f − r)
Logo:∆u∗ = (GTQG + R)−1GTQ(r − f)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 22 / 63
∆u∗ = (GTQG + R)−1GTQ(r − f)
No instante atual, a variacao de controle a ser aplicada corresponde aosprimeiros p elementos do vetor ∆u∗, isto e:
∆u(k) = ∆u∗(k|k) = KMPC (r − f)
sendo KMPC uma matriz (p × qN) formada pelas primeiras p linhas de(GTQG + R)−1GTQ, ou seja:
KMPC =[Ip 0p×p(M−1)
](GTQG + R)−1GTQ
com Ip denotando uma matriz identidade de dimensoes (p × p).
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 23 / 63
MPC empregando modelo no espaco de estados: Resumo
Informacao requerida sobre a planta:
Matrizes A,B,C do modelo no espaco de estados
Parametros de projeto:
Pesos das saıdas µ1, µ2, . . . , µq > 0
Pesos dos controles ρ1, ρ2, . . . , ρp > 0
Horizonte de predicao N
Horizonte de controle M
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 24 / 63
Inicializacao:
Fazer
A =
[A B
0p×n Ip
], B =
[B
Ip
], C = [C 0q×p]
G =
C B 0 · · · 0
C AB C B · · · 0
......
. . ....
C AN−1B C AN−2B · · · C AN−M B
, Φ =
C A
C A2
...
C AN
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 25 / 63
Fazer
Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)
Q =
Q 0 · · · 0
0 Q · · · 0
......
. . ....
0 0 · · · Q
qN×qN
, R =
R 0 · · · 0
0 R · · · 0
......
. . ....
0 0 · · · R
pM×pM
Calcular KMPC =[Ip 0p×p(M−1)
](GTQG + R)−1GTQ
Fazer k = 0, u(−1) = 0.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 26 / 63
Rotina principal:
1 Ler x(k) (estado da planta) e yref (vetor de referencias para as saıdas)
2 Fazer r = [yref ]N3 Fazer
ξ(k) =
[x(k)
u(k − 1)
]4 Calcular f = Φ ξ(k)
5 Calcular o incremento no controle ∆u(k) = KMPC (r − f)
6 Atualizar o controle aplicado a planta: u(k) = u(k − 1) + ∆u(k)
7 Fazer k = k + 1
8 Aguardar o proximo instante de amostragem e retornar ao passo 1.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 27 / 63
Implementacao em Matlab
matrizes_ss_du_mimo.m: Monta as matrizes KMPC ,Φ.
mpc_ss_du_mimo.m: S-function que implementa o controlador
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 28 / 63
Controle da dinamica longitudinal de uma aeronave 747
Condicao de voo considerada:
Altitude: h = 40000ft
Velocidade: V = 774ft/s (Mach 0.80)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 29 / 63
Modelo linear adotado
Estados:
x1 = u = velocidade no eixo longitudinal [ft/s]
x2 = w = velocidade no eixo vertical (positiva para baixo)[ft/s]
x3 = q = velocidade de arfagem [crad/s]
x4 = θ = angulo de atitude [crad ]
Variaveis manipuladas:
u1 = δe = deflexao do profundor [crad ]
u2 = δt = tracao especıfica [ft/s2]
Variaveis controladas:
y1 = u = x1
y2 = h = −w + 7,74θ = −x2 + 7,74x4 (taxa de subida)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 30 / 63
x =
−0,003 0,039 0 −0,322
−0,065 −0,319 7,74 0
0,0201 −0,101 −0,429 0
0 0 1 0
x +
0,01 1
−0,18 −0,04
−1,16 0,598
0 0
u
y =
[1 0 0 0
0 −1 0 7,74
]x
Referencia: BRYSON, A. E. Control of Spacecraft and Aircraft, PrincetonUniversity Press, 1994.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 31 / 63
Modelo discretizado
Perıodo de amostragem T = 0,3s.
Sinal de controle constante entre os instantes de amostragem.
A =
0,999 1,12× 10−2 −1,27× 10−3 −9,66× 10−2
−1,19× 10−2 0,877 2,05 6,95× 10−4
5,86× 10−3 −2,67× 10−2 0,848 −2,86× 10−4
8,90× 10−4 −4,19× 10−3 0,278 1,00
B =
2,83× 10−3 0,300
−0,424 0,179
−0,322 0,167
−4,97× 10−2 2,58× 10−2
, C =
[1 0 0 0
0 −1 0 7,74
]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 32 / 63
Arquivos Matlab
parametros_B747.m: Define os parametros do modelo
B747_mpc_ss_du.mdl: Diagrama de simulacao
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 33 / 63
Parametros utilizados na simulacao
Comando de +10ft/s na taxa de subida com manutencao davelocidade
Horizonte de Predicao: N = 10
Horizonte de Controle: M = 5
Pesos de saıda: µ = [1, 1]
Pesos de controle: ρ = [1, 1]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 34 / 63
Estimacao de perturbacoes empregando observador de estados
Vamos supor que a dinamica da planta seja descrita por um modelo daforma
x(k + 1) = Ax(k) + Bu(k) + Ed(k)
y(k) = Cx(k)
z(k) = Czx(k)
sendo d(k) ∈ Rnd um vetor de perturbacoes e z(k) ∈ Rnz o vetor devariaveis medidas.
Obs. 1: Casos particulares sao
E = B (perturbacao aditiva nas variaveis manipuladas)
Cz = In (realimentacao de estado completo)
Obs. 2: Alternativamente, poderiam ser adotados modelos comperturbacao de saıda.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 35 / 63
Estado aumentado:
χ(k) =
[x(k)
d(k)
]
Sob a hipotese de perturbacao constante, tem-se
χ(k + 1) =
[x(k + 1)
d(k + 1)
]=
[Ax(k) + Bu(k) + Ed(k)
d(k)
]
=
[A E
0nd×n Ind
][x(k)
d(k)
]+
[B
0nd×p
]u(k)
y(k) = Cx(k) = [C 0q×nd ]
[x(k)
d(k)
]
z(k) = Czx(k) = [Cz 0nz×nd ]
[x(k)
d(k)
]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 36 / 63
Assim, o modelo torna-se
χ(k + 1) = Aχ(k) + Bu(k)
y(k) = Cχ(k), z(k) = Czχ(k)
sendo
A =
[A E
0nd×n Ind
], B =
[B
0nd×p
]
C = [C 0q×nd ] , Cz = [Cz 0nz×nd ]
Pode-se entao projetar um observador de estados com base em (A, B, Cz)para obter uma estimativa χ(k|k) do estado aumentado χ(k), que inclui aperturbacao.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 37 / 63
Como visto no caso SISO, a equacao de predicao deve incluir a perturbacaoestimada. Para isso, pode-se redefinir o estado aumentado como
ξ(k) =
[χ(k)
u(k − 1)
]
Dessa forma, basta usar χ(k) e (A, B, C ) em lugar de x(k) e (A,B,C ) naformulacao de controle preditivo.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 38 / 63
Exemplo
parametros_B747.m: Define os parametros do modelo
B747_mpc_ss_du_pert.mdl: Diagrama de simulacao incluindoestimador de perturbacao de entrada
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 39 / 63
Tratamento de restricoes
Assim como no caso SISO, tres tipos basicos de restricoes seraoconsideradas:
Incrementos nos controles ∆u
Excursao dos controles u
Excursao das saıdas y
Essas restricoes serao expressas em termos de desigualdades linearesenvolvendo ∆u.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 40 / 63
Restricoes sobre os incrementos nos controles ∆u
∆umin ≤ ∆u(k + i − 1|k) ≤ ∆umax , i = 1, 2, . . . ,M
∆umin, ∆umax ∈ Rp
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 41 / 63
∆umin
∆umin...
∆umin
≤∆u︷ ︸︸ ︷
∆u(k|k)∆u(k + 1|k)
...∆u(k + M − 1|k)
≤
∆umax
∆umax...
∆umax
[∆umin]M ≤ ∆u ≤ [∆umax ]M
[∆umin]M =
IpIp...Ip
︸ ︷︷ ︸pM×p
∆umin , [∆umax ]M =
IpIp...Ip
︸ ︷︷ ︸pM×p
∆umax
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 42 / 63
[∆umin]M ≤ ∆u ≤ [∆umax ]M
{∆u ≤ [∆umax ]M−∆u ≤ −[∆umin]M
2pM×pM︷ ︸︸ ︷[IpM−IpM
]∆u ≤
2pM×1︷ ︸︸ ︷[[∆umax ]M−[∆umin]M
]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 43 / 63
Restricoes sobre a excursao dos controles u
umin ≤ u(k + i − 1|k) ≤ umax , i = 1, 2, . . . ,M
umin, umax ∈ Rp
[umin]M ≤ u ≤ [umax ]M
Para expressar estas restricoes em termos de ∆u, deve-se obter umarelacao entre u e ∆u.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 44 / 63
u(k|k)
u(k + 1|k)...
u(k + M − 1|k)
=
u(k − 1)u(k − 1)
...u(k − 1)
+
+
∆u(k|k)∆u(k|k) + ∆u(k + 1|k)...∆u(k|k) + ∆u(k + 1|k) + · · ·+ ∆u(k + M − 1|k)
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 45 / 63
u(pM×1)︷ ︸︸ ︷u(k|k)
u(k + 1|k)...
u(k + M − 1|k)
=
[u(k−1)]M(pM×1)︷ ︸︸ ︷u(k − 1)u(k − 1)
...u(k − 1)
+
Ip 0p×p · · · 0p×pIp Ip · · · 0p×p...
.... . .
...Ip Ip · · · Ip
︸ ︷︷ ︸
TIpM (pM×pM)
∆u(k|k)
∆u(k + 1|k)...
∆u(k + M − 1|k)
︸ ︷︷ ︸
∆u(pM×1)
u = [u(k − 1)]M + TIpM∆u
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 46 / 63
[umin]M ≤ u ≤ [umax ]M
u = [u(k − 1)]M + TIpM∆u
Logo:[umin]M ≤ [u(k − 1)]M + T
IpM∆u ≤ [umax ]M
[umin − u(k − 1)]M ≤ TIpM∆u ≤ [umax − u(k − 1)]M{
TIpM∆u ≤ [umax − u(k − 1)]M
−T IpM∆u ≤ [u(k − 1)− umin]M
2pM×pM︷ ︸︸ ︷[T
IpM
−T IpM
]∆u ≤
2pM×1︷ ︸︸ ︷[[umax − u(k − 1)]M[u(k − 1)− umin]M
]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 47 / 63
Restricoes sobre a excursao das saıdas y
ymin ≤ y(k + i |k) ≤ ymax , i = 1, . . . ,N
∆ymin, ∆ymax ∈ Rq
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 48 / 63
[ymin]N ≤ y ≤ [ymax ]N
Lembrando que y = G∆u + f, a restricao pode ser reescrita como
[ymin]N ≤ G∆u + f ≤ [ymax ]N
[ymin]N − f ≤ G∆u ≤ [ymax ]N − f
{G∆u ≤ [ymax ]N − f−G∆u ≤ f − [ymin]N
2qN×M︷ ︸︸ ︷[G−G
]∆u ≤
2qN×1︷ ︸︸ ︷[[ymax ]N − ff − [ymin]N
]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 49 / 63
Restricoes sobre a excursao das saıdas y : Observacao
De modo mais geral, pode haver variaveis de saıda sujeitas a restricoes,mas que nao estejam incluıdas na funcao de custo.
Nesse caso, pode-se utilizar na formulacao das restricoes uma equacao depredicao que considere especificamente as variaveis de saıda sujeitas arestricoes.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 50 / 63
Resumo das restricoes
S[(4pM+2qN)×pM]︷ ︸︸ ︷
IpM−IpMT
IpM
−T IpM
G−G
∆u ≤
b[(4pM+2qN)×1]︷ ︸︸ ︷
[∆umax ]M−[∆umin]M
[umax − u(k − 1)]M[u(k − 1)− umin]M
[ymax ]N − ff − [ymin]N
S∆u ≤ b
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 51 / 63
Formulacao do problema de otimizacao com restricoes
Assim como no caso SISO, o problema de otimizacao na presenca dasrestricoes consideradas pode ser colocado na forma de ProgramacaoQuadratica:
min∆u∈RpM
J(∆u) =1
2∆uTH∆u + cT∆u + cte
sujeito aS∆u ≤ b
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 52 / 63
Implementacao da lei de controle
Informacao requerida sobre a planta:
Matrizes A ∈ Rn×n, B ∈ Rn×p, C ∈ Rq×n do modelo
Limitantes sobre os incrementos nos controles: ∆umin,∆umax ∈ Rp
Limitantes sobre a excursao dos controles: umin, umax ∈ Rp
Limitantes sobre a excursao das saıdas: ymin, ymax ∈ Rq
Parametros de projeto:
Pesos das saıdas µ1, µ2, . . . , µq > 0
Pesos dos controles ρ1, ρ2, . . . , ρp > 0
Horizonte de predicao N
Horizonte de controle M
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 53 / 63
Inicializacao:
Fazer
A =
[A B
0p×n Ip
], B =
[BIp
], C = [C 0q×p]
G =
C B 0 · · · 0
C AB C B · · · 0...
.... . .
...
C AN−1B C AN−2B · · · C AN−M B
, Φ =
C A
C A2
...
C AN
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 54 / 63
Fazer
Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)
Q =
Q 0 · · · 00 Q · · · 0...
.... . .
...0 0 · · · Q
qN×qN
, R =
R 0 · · · 00 R · · · 0...
.... . .
...0 0 · · · R
pM×pM
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 55 / 63
FazerGn = QG , Hqp = 2(GTQG + R)
Aqp =
IpM−IpMT
IpM
−T IpM
G−G
Fazer k = 0, u(−1) = 0.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 56 / 63
Rotina principal:
1 Ler x(k) (estado da planta) e yref (vetor de referencias para as saıdas)
2 Fazer r = [yref ]N3 Fazer
ξ(k) =
[x(k)
u(k − 1)
]4 Calcular f = Φ ξ(k) e fqp = 2GT
n (f − r)
5 Fazer bqp =
[∆umax ]M−[∆umin]M
[umax − u(k − 1)]M[u(k − 1)− umin]M
[ymax ]N − ff − [ymin]N
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 57 / 63
6 Resolver o problema de otimizacao:
∆u∗ = arg min∆u∈RpM
1
2∆uTHqp∆u + f Tqp∆u s.a. Aqp∆u ≤ bqp
7 Obter o incremento nos controles:
∆u(k) = ∆u∗(k|k) =[Ip 0p×p(M−1)
]∆u∗
8 Atualizar os controles aplicados a planta: u(k) = u(k − 1) + ∆u(k)
9 Fazer k = k + 1
10 Aguardar o proximo instante de amostragem e retornar ao passo 1.
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 58 / 63
Implementacao em Matlab
matrizes_ss_du_mimo_restricoes.m: Monta as matrizesΦ,Gn,Hqp,Aqp.
mpc_ss_du_mimo_restricoes.m: S-function que implementa ocontrolador
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 59 / 63
Exemplo
parametros_B747.m: Define os parametros do modelo
B747_mpc_ss_du_restricoes.mdl: Diagrama de simulacao
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 60 / 63
Parametros utilizados na simulacao
Comando de +10ft/s na taxa de subida com manutencao davelocidade.
Horizonte de Predicao: N = 20
Horizonte de Controle: M = 10
Pesos de saıda: µ = [1, 1],
Pesos de controle: ρ = [1, 1]
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 61 / 63
Resumo da aula de hoje
Caso MIMO:
Notacao adotada
Funcao de custo
Equacao de predicao
Solucao na ausencia de restricoes
Inclusao de restricoes
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 62 / 63
Topico da proxima aula
Estabilidade
EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 63 / 63