aula 12 - instituto tecnológico de aeronáuticakawakami/ee254/...aula12_handouts.pdf · 2 remoc~ao...
TRANSCRIPT
![Page 1: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/1.jpg)
Aula 12
29 Outubro 2019
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 1 / 49
![Page 2: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/2.jpg)
Aula passada
Uso de lei de controle terminal: “Dual mode predictive control”
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 2 / 49
![Page 3: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/3.jpg)
Aula de hoje
Tratamento de problemas de (nao) factibilidade
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 3 / 49
![Page 4: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/4.jpg)
Problemas de (nao) factibilidade
Como visto nas ultimas aulas, e possıvel formular a lei de controlepreditivo de modo a obter factibilidade recursiva e estabilidade assintoticada malha de controle.
Com isso, se o problema de otimizacao for factıvel no instante k = 0, afactibilidade sera mantida em todos os instantes de tempo posteriores e oestado x(k) convergira para a origem quando k →∞.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 4 / 49
![Page 5: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/5.jpg)
Contudo, pode ser necessario gerenciar problemas de nao factibilidade se:
(1) O problema de otimizacao nao for factıvel no instante k = 0, isto e, seo estado inicial x(0) estiver fora do domınio de atracao associado aocontrolador preditivo.
(2) A factibilidade for perdida durante a tarefa de controle. Isso podeocorrer devido a erros de predicao causados por:
Imperfeicoes do modelo
Perturbacoes externas
Ruıdo de medida
Adicionalmente, pode ocorrer perda de factibilidade se for usada uma leide controle preditivo sem os elementos necessarios para garantia defactibilidade recursiva.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 5 / 49
![Page 6: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/6.jpg)
Exemplo
Seja uma planta com dinamica descrita por
y(k + 1) = 2y(k) + u(k)
sendo u(k), y(k) ∈ R. Suponha que o valor inicial da saıda seja y(0) = 3,com u(−1) = 0.
Considere ainda que o controle a ser aplicado a cada instante k seja obtidocomo solucao do seguinte problema de otimizacao:
minu(k|k),y(k+1|k)∈R
J = [y(k + 1|k)− 10]2 + [∆u(k|k)]2
s.a.y(k + 1|k) = 2y(k) + u(k − 1) + ∆u(k|k)
y(k + 1|k) ≤ 11, −4 ≤ ∆u(k|k) ≤ 4
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 6 / 49
![Page 7: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/7.jpg)
No instante k = 0, o problema de otimizacao a ser resolvido e
min∆u(0|0),y(1|0)∈R
J = [y(1|0)− 10]2 + [∆u(0|0)]2
s.a.
y(1|0) = 2y(0) + u(−1) + ∆u(0|0)
y(1|0) ≤ 11, −4 ≤ ∆u(0|0) ≤ 4
Se as restricoes nao estiverem ativas, a solucao do problema de otimizacaopode ser obtida da seguinte forma:
J = [2y(0) + u(−1) + ∆u(0|0)− 10]2 + [∆u(0|0)]2
dJ
d∆u(0|0)= 2[2y(0) + u(−1) + ∆u(0|0)− 10] + 2∆u(0|0)
= 2[2∆u(0|0) + 2y(0) + u(−1)− 10]
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 7 / 49
![Page 8: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/8.jpg)
dJ
d∆u(0|0)= 2[2∆u(0|0) + 2y(0) + u(−1)− 10]
Impondo que a derivada seja igual a zero, obtem-se
∆u(0|0) = 5− y(0)− u(−1)
2
Como y(0) = 3 e u(−1) = 0, tem-se
∆u(0|0) = 2
e, portanto:y(1|0) = 2y(0) + u(−1) + ∆u(0|0) = 8
Como esses valores satisfazem as restricoes
y(1|0) ≤ 11, −4 ≤ ∆u(0|0) ≤ 4
a solucao otima de fato e dada por ∆u∗(0|0) = 2.EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 8 / 49
![Page 9: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/9.jpg)
Aplicando-se o controle u(0) = u(−1) + ∆u∗(0|0) = 2, a saıda da plantano instante k = 1 torna-se
y(1) = 2y(0) + u(0) = 8
O novo problema de otimizacao a ser resolvido passa a ser
min∆u(1|1),y(2|1)∈R
J = [y(2|1)− 10]2 + [∆u(1|1)]2
s.a.y(2|1) = 2y(1) + u(0) + ∆u(1|1)
y(2|1) ≤ 11, −4 ≤ ∆u(1|1) ≤ 4
Analisemos o novo conjunto de restricoes com y(1) = 8 e u(0) = 2.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 9 / 49
![Page 10: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/10.jpg)
y(2|1) = 16 + 2 + ∆u(1|1) (1)
y(2|1) ≤ 11 (2)
−4 ≤ ∆u(1|1) ≤ 4 (3)
De (1) e (2), tem-se que 18 + ∆u(1|1) ≤ 11, isto e
∆u(1|1) ≤ −7 (4)
que e incompatıvel com as restricoes em (3).
Portanto, o problema de otimizacao era factıvel em k = 0, mas se tornounao factıvel em k = 1.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 10 / 49
![Page 11: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/11.jpg)
Verificacao de factibilidade
No exemplo apresentado, foi possıvel determinar por simples inspecao queo problema deixou de ser factıvel em k = 1.
De maneira geral, seria conveniente dispor de um procedimentosistematico para verificacao de factibilidade.
Considerando restricoes da forma S∆u ≤ b, com S ∈ Rr×M , b ∈ Rr averificacao de factibilidade consiste em responder a seguinte pergunta:
Existe ∆u ∈ RM tal que S∆u ≤ b ?
A resposta pode ser obtida resolvendo-se o seguinte problema deotimizacao:
min∆u∈RM ,ε∈R
ε s.a. S∆u ≤ b + 1rε
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 11 / 49
![Page 12: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/12.jpg)
min∆u∈RM ,ε∈R
ε s.a. S∆u ≤ b + 1rε
Inicialmente, vale observar que este problema sempre e factıvel. Comefeito, basta tomar ∆u = 0M e ε = − min
i=1,2,...,rbi .
Supondo ainda que as restricoes incluam limitantes para ∆u da forma[∆umin]M ≤ ∆u ≤ [∆umax ]M , com ∆umin < 0 < ∆umax , pode-se mostrarque o problema sempre tera uma solucao otima (∆u∗, ε∗).
Se ε∗ ≤ 0, conclui-se que a restricao S∆u ≤ b + 1rε pode ser satisfeitacom ε = 0, ou seja, o problema original e factıvel.
Caso contrario, o problema original nao e factıvel.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 12 / 49
![Page 13: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/13.jpg)
O problema a ser resolvido para verificacao de factibilidade pode serreescrito como
min∆u∈RM ,ε∈R
[0T
M 1] [ ∆u
ε
]s.a.
[S − 1r ]
[∆uε
]≤ b
ou aindamin
z∈RM+1cT z s.a. Szz ≤ b
sendo
z =
[∆uε
], c =
[0M
1
], Sz = [S − 1r ]
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 13 / 49
![Page 14: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/14.jpg)
minz∈RM+1
cT z s.a. Szz ≤ b
Custo Linear + Restricoes lineares ⇒ Problema de Programacao Linear(PPL)
Matlab Optimization Toolbox: Funcao LINPROG
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 14 / 49
![Page 15: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/15.jpg)
Uso da funcao LINPROG
Sintaxe:x = linprog(f,A,b,Aeq,beq,LB,UB)
minimiza f’*x
sujeito a A*x <= b, Aeqx = beq, LB <= x <= UB
Em nosso caso:xlp = ∆uflp = cAlp = Sz
blp = b
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 15 / 49
![Page 16: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/16.jpg)
Exemplo de teste de factibilidade
Problema: Existe ∆u ∈ R tal que −∆u ≤ −3 e ∆u ≤ 1 ?
PPL a ser resolvido:min
∆u, ε∈Rε
s.a.
−∆u ≤ −3 + ε
∆u ≤ 1 + ε
ou, equivalentemente,
−∆u − ε ≤ −3 (i)
∆u − ε ≤ 1 (ii)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 16 / 49
![Page 17: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/17.jpg)
û1 2 3
1
2
3
-1
min∆u, ε∈R
ε
−∆u − ε ≤ −3
∆u − ε ≤ 1
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 17 / 49
![Page 18: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/18.jpg)
û1 2 3
1
2
3(i) (ii)
-1
−∆u − ε ≤ −3 (i)
∆u − ε ≤ 1 (ii)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 18 / 49
![Page 19: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/19.jpg)
û1 2 3
1
2
3(i) (ii)
-1
min∆u, ε∈R
ε
Solucao: ε∗ = 1
Conclusao: Como ε∗ > 0,conclui-se que o problemaoriginal nao e factıvel.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 19 / 49
![Page 20: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/20.jpg)
Tratamento de problemas de (nao) factibilidade
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 20 / 49
![Page 21: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/21.jpg)
Consideracoes iniciais
As restricoes podem ser divididas em dois tipos:
Restricoes Fısicas: nao podem ser relaxadas
Restricoes Operacionais: sao mais restritivas do que o estritamentenecessario, mas podem ser relaxadas
O segundo tipo inclui as restricoes terminais que tiverem sido impostaspara obter garantias (nominais) de factibilidade recursiva e estabilidade.
Vale salientar que restricoes sobre as variaveis manipuladas (u ou ∆u)sempre podem ser respeitadas (por definicao).
O mesmo nao se pode dizer das variaveis controladas (y).
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 21 / 49
![Page 22: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/22.jpg)
Possıveis abordagens
1 Abordagens “simplistas”
2 Remocao de restricoes por ordem de prioridade
3 Abordagem codificada na funcao QUADPROG
4 Introducao de variaveis de relaxamento
5 Relaxamento do horizonte de restricoes
6 Modificacao no custo para penalizar violacoes (soft constraintsapproach)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 22 / 49
![Page 23: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/23.jpg)
Abordagens simplistas
Exemplos:
Calcular o controle otimo ignorando as restricoes, saturando ocontrole se necessario. No proximo instante de amostragem (k + 1), ovalor de u(k) a ser usado na lei de controle deve ser o valorefetivamente aplicado a planta no instante k.
Remover as restricoes de saıda, mantendo as restricoes de controle.
Fazer u(k) = u∗(k|k − 1).
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 23 / 49
![Page 24: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/24.jpg)
Remocao de restricoes por ordem de prioridade
Procedimento:
1 Define-se a priori uma ordem de importancia para as restricoes.
2 Diante de um problema de nao factibilidade, as restricoes saoremovidas (ou relaxadas ate os limites fısicos) sequencialmente, deacordo com a ordem pre-estabelecida.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 24 / 49
![Page 25: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/25.jpg)
Abordagem codificada na funcao QUADPROG
Criterio adotado em caso de nao factibilidade: Minimizar a maior violacao(em termos da distancia as fronteiras definidas pelas restricoes).
Exemplo:
x11 2
1x2
(i)
(ii)
(iii)
x1 ≤ 0 (i)
x2 ≤ 0 (ii)
x2 ≥ −x1
2+ 1 (iii)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 25 / 49
![Page 26: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/26.jpg)
Abordagem codificada na funcao QUADPROG: Exemplo
2
1
d
d
d
θ = arctan1
2= 26,6◦
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 26 / 49
![Page 27: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/27.jpg)
2 - d
d
d
2− d= tan 13,3◦ = 0,236
d = 0,472− 0,236d ⇒ 1,236d = 0,472
d = 0,382
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 27 / 49
![Page 28: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/28.jpg)
Utilizando a funcao QUADPROG:
minx∈R2
xT
[1 00 1
]x
s.a. 1 00 1−1 −2
x ≤
00−2
Neste caso:
Hqp =
[1 00 1
], fqp =
[00
], Aqp =
1 00 1−1 −2
, bqp =
00−2
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 28 / 49
![Page 29: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/29.jpg)
Limitacoes:
A solucao gerada pode nao ser implementavel, devido a restricoesfısicas nos atuadores.
Mesmo que o controle esteja dentro das limitacoes dos atuadores, asolucao pode envolver violacoes nas restricoes fısicas da saıda.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 29 / 49
![Page 30: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/30.jpg)
Introducao de variaveis de relaxamento
a) Mesmo relaxamento para todas as restricoes:
min∆u∈RM , ε∈R
ε
s.a.S∆u ≤ b + 1rε
Tendo-se obtido ε∗, resolve-se o problema de programacao quadraticaoriginal com restricoes relaxadas, isto e, S∆u ≤ b + 1rε
∗.
Desvantagem: Algumas restricoes podem ser relaxadas sem necessidade.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 30 / 49
![Page 31: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/31.jpg)
b) Relaxamento separado para cada restricao:
min∆u∈RM , ε∈Rr
dT ε
s.a.
S∆u ≤ b + ε
ε ≥ 0
ε ≤ εmax
em que:
εmax ∈ Rr corresponde ao maximo relaxamento permitido para cadauma das r restricoes.
d ∈ Rr (d > 0) e um vetor de pesos ajustado de modo a refletir aimportancia atribuıda a cada restricao.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 31 / 49
![Page 32: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/32.jpg)
c) Caso intermediario: Mesmo relaxamento ao longo de todo o horizonte,tratando-se separadamente cada variavel manipulada e controlada.
Exemplo (caso SISO): Suponha que o relaxamento seja introduzido nasrestricoes operacionais sobre a excursao da saıda y .
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 32 / 49
![Page 33: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/33.jpg)
Nesse caso, o PPL seria formulado como
min∆u∈RM , ε1, ε2∈R
d1ε1 + d2ε2
s.a.
IM−IMTM
−TM
G−G
∆u ≤
1M∆umax
−1M∆umin
1M [umax − u(k − 1)]1M [u(k − 1)− umin]1N(ymax + ε1)− ff − 1N(ymin − ε2)
0 ≤ ε1 ≤ yfis
max − ymax
0 ≤ ε2 ≤ ymin − yfismin
em que yfismax e yfis
min correspondem as restricoes fısicas sobre os valoresmaximo e mınimo de y , respectivamente.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 33 / 49
![Page 34: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/34.jpg)
Para uso da funcao LINPROG, o PPL pode ser reescrito na forma
min∆u∈RM , ε1, ε2∈R
[0T
M d1 d2
] ∆uε1
ε2
s.a.
IM 0M 0M
−IM 0M 0M
TM 0M 0M
−TM 0M 0M
G −1N 0N
−G 0N −1N
0TM 1 0
0TM −1 0
0TM 0 1
0TM 0 −1
∆uε1
ε2
≤
1M∆umax
−1M∆umin
1M [umax − u(k − 1)]1M [u(k − 1)− umin]
1Nymax − ff − 1Nymin
yfismax − ymax
0ymin − yfis
min
0
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 34 / 49
![Page 35: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/35.jpg)
MPC com relaxamento de restricoes sobre y (Caso SISO)
Informacao requerida sobre a planta:
Matrizes A,B,C do modelo no espaco de estados
Limitantes sobre os incrementos no controle: ∆umin,∆umax
Limitantes sobre a excursao do controle: umin, umax
Limitantes operacionais sobre a excursao da saıda: ymin, ymax
Limitantes fısicos sobre a excursao da saıda: yfismin, y
fismax
Parametros de projeto:
Peso do controle ρ
Horizonte de predicao N
Horizonte de controle M
Pesos das variaveis de relaxamento: d1 (associado a ymax ) e d2
(associado a ymin)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 35 / 49
![Page 36: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/36.jpg)
Inicializacao:
Fazer
A =
[A B
0Tn 1
], B =
[B1
], C = [C 0]
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 12 29 Outubro 2019 36 / 49
![Page 37: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/37.jpg)
Fazer Hqp = 2(GTG + ρI ), Aqp =
IM−IMTM
−TM
G−G
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 37 / 49
![Page 38: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/38.jpg)
Fazer
flp =
0M
d1
d2
, Alp =
IM 0M 0M
−IM 0M 0M
TM 0M 0M
−TM 0M 0M
G −1N 0N
−G 0N −1N
0TM 1 0
0TM −1 0
0TM 0 1
0TM 0 −1
Fazer k = 0, u(−1) = 0.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 38 / 49
![Page 39: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/39.jpg)
Rotina principal:
1 Ler x(k) (estado da planta) e yref (valor de referencia para a saıda)
2 Fazer r = [yref ]N3 Fazer
ξ(k) =
[x(k)
u(k − 1)
]4 Calcular f = Φ ξ(k) e fqp = 2GT (f − r)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 39 / 49
![Page 40: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/40.jpg)
5 Fazer
blp =
1M∆umax
−1M∆umin
1M [umax − u(k − 1)]1M [u(k − 1)− umin]
1Nymax − ff − 1Nymin
yfismax − ymax
0ymin − yfis
min
0
6 Resolver o PPL
z∗ = arg minz∈RM+2
f Tlp z s.a. Alpz ≤ blp
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 40 / 49
![Page 41: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/41.jpg)
7 Extrair ∆u∗lp, ε∗1, ε∗2 da solucao z∗ do PPL:
z∗ =
∆u∗lpε∗1ε∗2
8 Fazer
bqp =
1M∆umax
−1M∆umin
1M [umax − u(k − 1)]1M [u(k − 1)− umin]1N(ymax + ε∗1)− ff − 1N(ymin − ε∗2)
9 Resolver o PPQ
∆u∗ = arg min∆u∈RM
1
2∆uTHqp∆u + f T
qp∆u s.a. Aqp∆u ≤ bqp
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 41 / 49
![Page 42: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/42.jpg)
10 Calcular o incremento no controle ∆u(k) = [1 0 · · · 0]∆u∗
11 Atualizar o controle aplicado a planta: u(k) = u(k − 1) + ∆u(k)
12 Fazer k = k + 1
13 Aguardar o proximo instante de amostragem e retornar ao passo 1.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 42 / 49
![Page 43: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/43.jpg)
Implementacao no Matlab
matrizes_ss_du_restricoes_relaxamento.m
mpc_ss_du_restricoes_relaxamento.m
Exemplo: Controle do sistema de levitacao magnetica.
parametros_maglev_ss.m
levitador_mpc_ss_du_restricoes_relaxamento.mdl
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 43 / 49
![Page 44: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/44.jpg)
Relaxamento do horizonte de restricoes
Ideia: Desconsiderar as restricoes de saıda na parte inicial do horizonte depredicao.
Problema: Qual o comprimento do trecho a ser desconsiderado naimposicao das restricoes ?
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 44 / 49
![Page 45: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/45.jpg)
Relaxamento do horizonte de restricoes sobre a saıda
Algoritmo:
1 Resolver o PPQ desconsiderando (ou relaxando o maximo possıvel) asrestricoes de saıda ao longo de todo o horizonte de predicao,mantendo as restricoes de controle.
2 Seja {y (1)(k + i |k),i = 1,2, . . . ,N} a sequencia de valores preditos desaıda obtida como solucao do PPQ no Passo 1. Seja i0 (1 ≤ i0 ≤ N) omenor ındice tal que
ymin ≤ y (1)(k + i |k) ≤ ymax , i = i0, i0 + 1, . . . ,N
(Com i0 assim escolhido, o PPQ sera factıvel impondo-se as restricoesde saıda para i = i0, i0 + 1, . . . ,N, por construcao. Se nao existiri0 ≤ N para o qual as restricoes acima sejam satisfeitas, orelaxamento consistira em desconsiderar as restricoes de saıda aolongo de todo o horizonte de predicao)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 45 / 49
![Page 46: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/46.jpg)
3 Reestabelecer as restricoes de saıda para i = i0 − 1, i0, . . . ,N everificar se o PPQ resultante e factıvel.
4 Se o PPQ for factıvel, fazer i0 ← i0 − 1 e retornar ao Passo 3. Casocontrario, prosseguir para o Passo 5.
5 Resolver o PPQ com restricoes de saıda impostas parai = i0, i0 + 1, . . . ,N (Fim da rotina de tratamento de naofactibilidade).
Obs: Por hipotese, o PPQ e nao factıvel com restricoes de saıda impostaspara i = 1, 2, . . . ,N. Portanto, o algoritmo necessariamente terminara sei0 = 2.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 46 / 49
![Page 47: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/47.jpg)
Soft Constraint Approach: Penalizacao de violacoes
Ideia: Incluir as variaveis de folga na funcao de custo:
miny∈RN ,∆u∈RM , ε∈RN
J = (y − r)T (y − r) + ρ∆uT ∆u + µεT ε
s.a.y = G∆u + f
1M∆umin ≤ ∆u ≤ 1M∆umax
1Mumin ≤ u ≤ 1Mumax
u = TM∆u + 1Mu(k − 1)
1Nymin − ε ≤ y ≤ 1Nymax + ε
ε ≥ 0
sendo o peso µ > 0 um parametro de projeto a ser ajustado.
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 47 / 49
![Page 48: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/48.jpg)
Resumo da aula de hoje
Verificacao de factibilidade
Gerenciamento de problemas de (nao) factibilidade:
1 Abordagens “simplistas”
2 Remocao de restricoes por ordem de prioridade
3 Abordagem codificada na funcao QUADPROG
4 Introducao de variaveis de relaxamento
5 Relaxamento do horizonte de restricoes
6 Modificacao no custo para penalizar violacoes (soft constraintsapproach)
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 48 / 49
![Page 49: Aula 12 - Instituto Tecnológico de Aeronáuticakawakami/ee254/...Aula12_handouts.pdf · 2 Remoc~ao de restric~˘oes por ordem de prioridade 3 Abordagem codi cada na func~ao QUADPROG](https://reader035.vdocuments.net/reader035/viewer/2022080718/5f7864d80911075a4720402d/html5/thumbnails/49.jpg)
Topicos da proxima aula
Robustez com respeito a incertezas de modelo
EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 49 / 49