aula 12 - instituto tecnológico de aeronáuticakawakami/ee254/...aula12_handouts.pdf · 2 remoc~ao...

49
Aula 12 29 Outubro 2019 EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 1 / 49

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

û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

û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

û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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Topicos da proxima aula

Robustez com respeito a incertezas de modelo

EE-254 (Controle Preditivo) Aula 12 29 Outubro 2019 49 / 49