Baixe o app para aproveitar ainda mais
Prévia do material em texto
Dynamic Matrix Control (DMC) Problema MIMO. ENG730: Tópicos Especiais em Eng. Elétrica Departamento de Engenharia Elétrica - DEE Universidade Federal da Bahia - UFBA 03 de novembro de 2014 Prof. Tito Luís Maia Santos 1/ 26 Sumário 1 Introdução 2 Problema SISO - Revisão 3 Problema MIMO 4 Comentários Finais Prof. Tito Luís Maia Santos 2/ 26 Sumário 1 Introdução 2 Problema SISO - Revisão 3 Problema MIMO 4 Comentários Finais Prof. Tito Luís Maia Santos 3/ 26 Introdução Dynamic Matrix Control (DMC) Tópicos a serem abordados: Modelo de predição SISO - Revisão; Problema MIMO; Problema com restrições. Referência E. F. Camacho e C. Bordons Model Predictive Control. Springer, 2003. Prof. Tito Luís Maia Santos 4/ 26 Sumário 1 Introdução 2 Problema SISO - Revisão 3 Problema MIMO 4 Comentários Finais Prof. Tito Luís Maia Santos 5/ 26 Problema sem restrições Modelo de predição Modelo baseado na resposta ao degrau (nominal - sem incertezas): y(k) = ∞∑ i=1 gi∆u(k − i). O modelo acima não contempla o efeito de incertezas e perturbações. Correção da predição: ŷ(k + j |k) = ∞∑ i=1 gi∆u(k + j − i) + n̂(k + j |k) sendo n̂(k + j |k) uma estimativa do erro de predição. Considera-se um modelo de perturbação constante: n̂(k |k) = n̂(k + 1|k) = ... = n̂(k + j |k) = y(k) − y(k) Prof. Tito Luís Maia Santos 6/ 26 Problema sem restrições Modelo de predição Modelo baseado na resposta ao impulso (nominal - sem incertezas): y(k) = ∞∑ i=1 gi∆u(k − i). Considera-se um modelo de perturbação constante: n̂(k |k) = n̂(k + 1|k) = ... = n̂(k + j |k) = y(k) − y(k) Modelo de predição completo ŷ(k + j |k) = ∞∑ i=1 gi∆u(k + j − i) + n̂(k + j |k) = ∞∑ i=1 gi∆u(k + j − i) + y(k) − ∞∑ i=1 gi∆u(k − i). Prof. Tito Luís Maia Santos 7/ 26 Problema sem restrições Resposta Livre + Resposta Forçada Separação entre resposta livre e resposta forçada: ŷ(k + j |k) = ∞∑ i=1 gi∆u(k + j − i) + y(k) − ∞∑ i=1 gi∆u(k − i) = j ∑ i=1 gi∆u(k + j − i) + ∞∑ i=j+1 gi∆u(k + j − i) + y(k) − ∞∑ i=1 gi∆u(k − i) = j ∑ i=1 gi∆u(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + ∞∑ i=1 (gj+i − gi)∆u(k − i) + y(k) ︸ ︷︷ ︸ Resposta Livre . Para sistemas assintotinamente estáveis (gj+i − gi ≈ 0, i → ∞): ŷ(k + j |k) = j ∑ i=1 gi∆u(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + M∑ i=1 (gj+i − gi)∆u(k − i) + y(k) ︸ ︷︷ ︸ Resposta Livre . Prof. Tito Luís Maia Santos 8/ 26 Problema sem restrições Predição - resposta livre + resposta forçada Predição para k + j : ŷ(k + j |k) = j ∑ i=1 gi∆u(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + M∑ i=1 (gj+i − gi)∆u(k − i) + y(k) ︸ ︷︷ ︸ Resposta Livre . Cosiderando diversas predições: ŷ(k + 1|k) = g1∆u(k) + M∑ i=1 (g1+i − g1)∆u(k − i) + y(k) ŷ(k + 2|k) = g2∆u(k) + g1∆u(k + 1) + M∑ i=1 (g2+i − gi)∆u(k − i) + y(k) . . . = . . . ŷ(k + N|k) = j ∑ i=N gi∆u(k + j − i) + M∑ i=1 (gN+i − gi)∆u(k − i) + y(k). Prof. Tito Luís Maia Santos 9/ 26 Problema sem restrições Predição - resposta livre + resposta forçada Predição para k + j : ŷ(k + j |k) = j ∑ i=1 gi∆u(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + M∑ i=1 (gj+i − gi)∆u(k − i) + y(k) ︸ ︷︷ ︸ Resposta Livre . Cosiderando a notação matricial: Y(k) = [y(k + 1|k)′ y(k + 2|k)′ ... y(k + N|k)′]′, ∆u(k) = [∆u(k |k)′ ∆u(k + 1|k)′ ... ∆u(k + Nu − 1|k) ′]′ U(k) = [∆u(k − 1)′ ∆u(k − 2)′ ... ∆u(k − M)′]′. Neste caso temos: Y(k) = G∆u(k) + GfU(k) + y(k) = G∆u(k) + f(k) com G = g1 0 ... 0 g2 g1 ... 0 . . . . . . . . . . . . gN gN−1 ... gN−Nu+1 , Gf = g2 − g1 g3 − g2 ... gM+1 − gM g3 − g1 g4 − g2 ... gM+2 − gM . . . . . . . . . . . . gN+1 − g1 gN+2 − g2 ... gN+M − gM . Prof. Tito Luís Maia Santos 10/ 26 Sumário 1 Introdução 2 Problema SISO - Revisão 3 Problema MIMO 4 Comentários Finais Prof. Tito Luís Maia Santos 11/ 26 Problema MIMO Modelo convolucional No problema MIMO, o efeito de cada entrada para a saı́da é descrito pro seu modelo de resposta ao degrau. Considere um sistema com q entradas e p saı́das. ... ... y11(k) y21(k) [G11(z) G12(z) ... G1q(z)] [G21(z) G22(z) ... G2q(z)] [ ... ] [Gp1(z) Gp2(z) ... Gpq(z)] yp1(k) Neste caso, os componentes da resposta ao degrau u1(k) podem ser identificados por g i1 k = yi1(k). Prof. Tito Luís Maia Santos 12/ 26 Problema MIMO Modelo convolucional No problema MIMO, o efeito de cada entrada para a saı́da é descrito pro seu modelo de resposta ao degrau. Considere um sistema com q entradas e p saı́das. ... ... y12(k) y22(k) [G11(z) G12(z) ... G1q(z)] [G21(z) G22(z) ... G2q(z)] [ ... ] [Gp1(z) Gp2(z) ... Gpq(z)] yp2(k) De maneira similar, os componentes da resposta ao degrau u2(k) podem ser identificados por g i2 k = yi2(k). Prof. Tito Luís Maia Santos 13/ 26 Problema MIMO Modelo convolucional No problema MIMO, o efeito de cada entrada para a saı́da é descrito pro seu modelo de resposta ao degrau. Considere um sistema com q entradas e p saı́das. ... ... [G11(z) G12(z) ... G1q(z)] [G21(z) G22(z) ... G2q(z)] [ ... ] [Gp1(z) Gp2(z) ... Gpq(z)] y1q(k) y2q(k) ypq(k) A mesma ideia vale para cada uma das q entradas com g iq k = yiq(k). Prof. Tito Luís Maia Santos 14/ 26 Problema sem restrições Predição MIMO Modelo baseado na resposta ao impulso (nominal - sem incertezas): ym(k) = ∞∑ i=1 g m1 i ∆u1(k − i) + ∞∑ i=1 g m2 i ∆u2(k − i)...+ ∞∑ i=1 g mq i ∆uq(k − i) Modelo de predição completo ŷm(k + j |k) = q ∑ l=1 ∞∑ i=1 g ml i ∆ul(k + j − i) + n̂m(k + j |k) = q ∑ l=1 ∞∑ i=1 g ml i ∆ul(k + j − i) + ym(k) − q ∑ l=1 ∞∑ i=1 g ml i ∆ul(k − i). Prof. Tito Luís Maia Santos 15/ 26 Problema sem restrições Predição MIMO Modelo baseado na resposta ao impulso (nominal - sem incertezas): ym(k) = ∞∑ i=1 g m1 i ∆u1(k − i) + ∞∑ i=1 g m2 i ∆u2(k − i) ...+ ∞∑ i=1 g mq i ∆uq(k − i) ym(k) = q ∑ l=1 ∞∑ i=1 g ml i ∆ul(k − i) Considera-se um modelo de perturbação constante: n̂m(k |k) = n̂m(k + 1|k) = ... = n̂m(k + j |k) = ym(k)− ym(k) Para sistemas assintotinamente estáveis (gj+i − gi ≈ 0, i → ∞): ŷm(k+j |k) = q ∑ l=1 j ∑ i=1 g ml i ∆ul(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + q ∑ l=1 M∑ i=1 (gmlj+i − g ml i )∆ul(k − i) + ym(k) ︸ ︷︷ ︸ Resposta Livre . Prof. Tito Luís Maia Santos 16/ 26 Problema sem restrições Predição - resposta livre + resposta forçada Predição para k + j para uma saı́da m: ŷm(k + j |k) = q ∑ l=1 j ∑ i=1 gmli ∆ul(k + j − i) ︸ ︷︷ ︸ Resposta Forçada + q ∑ l=1 M∑ i=1 (gmlj+i − g ml i )∆ul (k − i) + ym(k) ︸ ︷︷ ︸ Resposta Livre . Cosiderando a notação matricial: Ym(k) = [ym(k + 1|k) ′ ym(k + 2|k) ′ ... ym(k + N|k) ′]′, ∆ul(k) = [∆ul(k |k) ′ ∆ul(k + 1|k) ′ ... ∆ul(k + Nu − 1|k) ′]′ Ul (k) = [∆ul(k − 1) ′ ∆ul (k − 2) ′ ... ∆ul(k − M) ′]′. Neste caso temos: Ym(k) = G̃∆u(k) + G̃fU(k) + ym(k) = G̃∆u(k) + f(k) com G ml = gml1 0 ... 0 gml2 g ml 1 ... 0 . . . . . . . . . . . . gmlN g ml N−1 ... g ml N−Nu+1 , Gf ml = gml2 − g ml 1 g ml 3 − g ml 2 ... g ml M+1 − g ml M gml3 − g ml 1 g ml 4 − g ml 2 ... g ml M+2 − g ml M . . . . . . . . . . . . gmlN+1 − g ml 1 g ml N+2 − g ml 2 ... g ml N+M − gM . Prof. Tito Luís Maia Santos 17/ 26 Problema sem restrições Predição - resposta livre + resposta forçada Cosiderando a notação matricial: Ym(k) = [ym(k + 1|k) ′ ym(k + 2|k) ′ ... ym(k + N|k) ′]′, ∆ul(k) = [∆ul(k |k) ′ ∆ul(k + 1|k) ′ ... ∆ul(k + Nu − 1|k) ′]′ Ul (k) = [∆ul(k − 1) ′ ∆ul (k − 2) ′ ... ∆ul(k − M) ′]′. verifica-se: Y1(k) Y2(k) . . . Yq(k) = G11 G12 ... G1q G21 G22 ... G2q . . . . . . . . . . . . Gp1 Gp2 ... Gpq ∆u1(k) ∆u2(k) .. . ∆uq(k) + Gf 11 Gf 12 ... Gf 1q Gf 21 Gf 22 ... Gf 2q . . . . . . . . . . . . Gf pq1 Gf pq2 ... Gf pq U1(k) U2(k) . . . Uq(k) + y1(k)1Nx1 y2(k)1Nx1 . . . yp(k)1Nx1 , com 1Nx1 = 1 1 . . . 1 . Prof. Tito Luís Maia Santos 18/ 26 Problema sem restrições Predição - resposta livre + resposta forçada Cosiderando a notação matricial: Y1(k) Y2(k) . . . Yq(k) = G11 G12 ... G1q G21 G22 ... G2q . . . . . . . . . . . . Gp1 Gp2 ... Gpq ∆u1(k) ∆u2(k) . . . ∆uq(k) + Gf 11 Gf 12 ... Gf 1q Gf 21 Gf 22 ... Gf 2q . . . . . . . . . . . . Gf pq1 Gf pq2 ... Gf pq U1(k) U2(k) . . . Uq(k) + y1(k)1Nx1 y2(k)1Nx1 . . . yp(k)1Nx1 ︸ ︷︷ ︸ f(k) . ou alternativamente Y(k) = G∆~u(k) + f(k) com Y(k) = [Y1(k) ′ Y2(k) ′ ... Yp(k) ′]′, ∆~u(k) = [∆u1(k) ′ ∆u2(k) ′ ... ∆uq(k) ′]′ f(k) = Gf ~U(k) + ~Y (k). Prof. Tito Luís Maia Santos 19/ 26 MPC em espaço de estados Problema Multivariável Seja o problema de otimização MPC na forma min ∆u(k) (Y(k) −W)′Q(Y(k)−W) + ∆~u(k)′R∆~u(k) s.a. Y(k) = G∆~u(k) + f(k) F∆~u(k) ≤ G Problema de otimização similar aos anteriores, devendo-se atentar para a nova organização dos elementos nos vetores Y(k) e ∆~u(k). Esta reorganização modifica a maneira pela qual se deve compor as matrizes Q, R e o vetor de referências futuras W . Prof. Tito Luís Maia Santos 20/ 26 MPC em espaço de estados Problema Multivariável Observação 1: ∆~u(k) = [∆u1(k) ′ ∆u2(k) ′ ... ∆uq(k) ′]′ ou alternativamente ∆~u(k) = ∆u1(k) ... ∆uq(k) = ∆u1(k |k) ∆u1(k + 1|k) ... ∆u1(k + Nu − 1|k) ... uq(k |k) uq(k + 1|k) ... uq(k + Nu − 1|k) Prof. Tito Luís Maia Santos 21/ 26 MPC em espaço de estados Problema Multivariável Observação 2: Y(k) = [Y1(k) ′ Y2(k) ′ ... Yp(k) ′]′ ou alternativamente Y(k) = Y1(k) ... Yp(k) = y1(k + 1|k) y1(k + 2|k) ... y1(k + N|k) ... yp(k + 1|k) yp(k + 2|k) ... yp(k + N|k) Prof. Tito Luís Maia Santos 22/ 26 Problema de orimização Problema geral Seja o problema com restrições na forma min ∆~u(k) ∆~u(k)′[R+ G′QG]∆u(k) + 2[f(k)−W(k)]′QG∆~u(k) s.a. Y(k) = G∆~u(k) + f(k) E∆~u(k) ≤ F Prof. Tito Luís Maia Santos 23/ 26 Problema com restrições Problema geral- Matlab Função “quadprog” - v∗ = quadprog(H, f ,Ra,Rb) para min v 0.5v ′ Hv + f ′v s.a. Rav ≤ Rb o que resultaria em ∆~u(k) = quadprog(2[R+ G′QG], 2G′Q′[f(k) −W(k)], Ra,Rb) Prof. Tito Luís Maia Santos 24/ 26 Sumário 1 Introdução 2 Problema SISO - Revisão 3 Problema MIMO 4 Comentários Finais Prof. Tito Luís Maia Santos 25/ 26 Comentários Finais Apresentou-se a estratégia DMC para o caso MIMO Discutiu-se a respeito das diferenças para a estratégia em espaço de estados. Foi apresentado um exemplo de simulação. Prof. Tito Luís Maia Santos 26/ 26 Introdução Problema SISO - Revisão Problema MIMO Comentários Finais
Compartilhar