Aula 2
Transcrição
Aula 2
Aula 2 11 Mar 2015 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 1 / 58 Resumo da aula passada Conceitos preliminares: Horizontes de predição e controle, horizonte retrocedente. Elementos básicos de uma formulação de controle preditivo: Função de custo, equação de predição (dinâmica da planta e perturbações), restrições. Exemplo: Dynamic Matrix Control (DMC) - Custo quadrático, modelo empregando resposta a degrau, perturbação de saı́da suposta constante. Problema de otimização a ser resolvido no instante k: Minimizar J(ŷ, ∆û) = (ŷ − r)T (ŷ − r) + ρ∆ûT ∆û sujeito a (s.a.) ŷ = G ∆û + f com ŷ ∈ RN e ∆û ∈ RM . EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 2 / 58 Tópicos da aula de hoje DMC: Solução do problema de otimização Breve revisão de otimização sem restrições DMC: Sintonia de parâmetros (Perı́odo de amostragem,M,N,ρ) Implementação em Matlab/Simulink EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 3 / 58 DMC: Solução do problema de otimização Problema: min ŷ∈RN ,∆û∈RM J(ŷ, ∆û) = (ŷ − r)T (ŷ − r) + ρ∆ûT ∆û s.a. ŷ = G ∆û + f Solução: Substituindo a equação de predição na função de custo: J = (G ∆û + f − r)T (G ∆û + f − r) + ρ∆ûT ∆û = 2(f−r)T (G ∆û) }| { z = ∆ûT G T G ∆û + (G ∆û)T (f − r) + (f − r)T (G ∆û) + + (f − r)T (f − r) + ρ∆ûT ∆û EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 4 / 58 2(f−r)T (G ∆û) z }| { J = ∆ûT G T G ∆û + (G ∆û)T (f − r) + (f − r)T (G ∆û) + + (f − r)T (f − r) + ρ∆ûT ∆û = ∆ûT (G T G + ρI ) ∆û + 2(f − r)T G ∆û + (f − r)T (f − r) {z } | {z } | {z } | (1/2)H cT cte 1 J = ∆ûT H∆û + c T ∆û + cte 2 sendo H = 2(G T G + ρI ), c = 2G T (f − r), cte = (f − r)T (f − r) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 5 / 58 Problema reformulado 1 min J(∆û) = ∆ûT H∆û + c T ∆û + cte M 2 ∆û∈R Problema de otimização sem restrições. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 6 / 58 Revisão de Otimização sem Restrições EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 7 / 58 Mini-Tutorial: Matrizes Positivo/Negativo-Definidas Uma matriz Q ∈ Rn×n simétrica é dita positivo-definida (PD) se e somente se (s.s.s) x T Qx > 0, ∀x ∈ Rn , x 6= 0 Notações comumente empregadas: Q > 0, Q 0. Termo alternativo: Definida positiva EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 8 / 58 Relação com os autovalores de Q Sejam λ1 , λ2 , . . . , λn os autovalores de uma matriz Q ∈ Rn×n simétrica. Tem-se que Q > 0 ⇔ λi > 0, i = 1,2, . . . ,n. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 9 / 58 Relação com os autovalores de Q Q > 0 ⇔ λi > 0, i = 1,2, . . . ,n Demonstração: Sejam v1 , v2 , . . . , vn os autovetores de Q unitária) associados aos autovalores λ1 , λ2 , . . . , λn . Tendo Qvi = λi vi , i = 1, 2, . . . , n, pode-se escrever λ1 0 · · · 0 λ2 · · · Q [v1 v2 · · · vn ] = [v1 v2 · · · vn ] . .. . . {z } .. | . . V 0 | 0 ··· {z Λ (com norma em vista que 0 0 0 λn } ou seja QV = V Λ. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 10 / 58 Sendo Q ∈ Rn×n simétrica, sabe-se que os autovalores λ1 , λ2 , . . . , λn são reais e que os autovetores v1 , v2 , . . . , vn são mutuamente ortogonais. Com efeito, se λ é um autovalor de Q associado a um autovetor v , tem-se Qv = λv Multiplicando os dois lados dessa identidade por v ? , em que ? denota o complexo-conjugado transposto, obtém-se v ? Qv = v ? λv = λv ? v Por outro lado, tem-se que v ? Qv ∈ R, pois (v ? Qv )? = v ? Q ? v = v ? Qv . Portanto, como v ? v ∈ R, deve-se ter λ ∈ R. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 11 / 58 Uma prova simples da ortogonalidade entre vi e vj , i 6= j, pode ser construı́da para o caso particular em que λi 6= λj . Neste caso, pode-se escrever Qvi = λi vi (1) Qvj = λj vj (2) Pré-multiplicando (1) e (2) por vjT e viT , respectivamente, tem-se vjT Qvi = λi vjT vi (3) viT Qvj = λj viT vj (4) Subtraindo (4) de (3) chega-se a (λi − λj )viT vj = 0. Como λi 6= λj , por hipótese, conclui-se que viT vj = 0. Para o caso de autovalores com multiplicidade maior do que um, ver GANTMACHER, F. R. The Theory of Matrices, 2 ed. New York: Chelsea, 1990 (v. 1, p. 270-272). EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 12 / 58 Retornando à demonstração principal: QV = V Λ (5) Como v1 ,v2 , . . . ,vn possuem norma unitária e são mutuamente ortogonais, tem-se que V T V = VV T = I sendo I uma matriz identidade. Logo, pós-multiplicando os dois lados de (5) por V T , tem-se que QVV T = V ΛV T ⇒ Q = V ΛV T sendo V = [v1 v2 · · · vn ] , Λ = EE-254 (Controle Preditivo) Aula 2 λ1 0 · · · 0 λ2 · · · .. .. . . . . . 0 0 ··· (6) 0 0 0 λn 11 Mar 2015 (7) 13 / 58 Q = V ΛV T , V = [v1 v2 · · · vn ] , Λ = 0 0 0 λn λ1 0 · · · 0 λ2 · · · .. .. . . . . . 0 0 ··· Portanto, dado x ∈ Rn tem-se que x T Qx = x T V ΛV T x = z T Λz sendo z = V T x. Por outro lado, z Λz = [z1 z2 · · · zn ] T λ1 0 · · · 0 λ2 · · · .. .. . . . . . 0 0 ··· 0 0 0 λn z1 z2 .. . zn = λ1 z12 + λ2 z22 + · · · + λn zn2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 14 / 58 Demonstração da suficiência: Hipótese: λi > 0, i = 1, 2, . . . , n. Tese: Q > 0 (isto é, x 6= 0 ⇒ x T Qx > 0) Seja x 6= 0. Como z = V T x, tem-se que ||z||2 = z T z = x T VV T x = x T x 6= 0 e portanto z 6= 0. Sabe-se ainda que x T Qx = z T Λz = λ1 z12 + λ2 z22 + · · · + λn zn2 Como z 6= 0, tem-se que zi 6= 0 para algum i. Como λi > 0, por hipotese, segue que x T Qx = z T Λz ≥ λi zi2 > 0 Portanto, x T Qx > 0, cqd. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 15 / 58 Demonstração da necessidade: Hipótese: Q > 0 (isto é, x 6= 0 ⇒ x T Qx > 0) Tese: λi > 0, i = 1, 2, . . . , n. Por absurdo, suponha que λi ≤ 0 para algum i. Seja ainda z = [0 · · · 0 zi 0 · · · 0] com zi 6= 0 e tome-se x = Vz. Tem-se então que ||x||2 = x T x = z T V T Vz = z T z = zi2 > 0 e, portanto, x 6= 0. Por outro lado, x T Qx = z T Λz = λ1 z12 + λ2 z22 + · · · + λn zn2 = λi zi2 ≤ 0 dado que λi ≤ 0, por hipótese. Verifica-se então que é possı́vel ter x T Qx ≤ 0 com x 6= 0, o que contradiz a hipótese de que Q > 0. Portanto, assumir que λi ≤ 0 para algum i conduz a uma contradição. Logo, todos os autovalores λi , i = 1, 2, . . . , n devem ser estritamente positivos, c.q.d. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 16 / 58 Observações: Uma matriz PD pode ter elementos negativos. Por exemplo, a matriz Q= 2 −1 −1 3 tem autovalores λ1 = 1,4 e λ2 = 3,6. Uma matriz com todos os elementos positivos é não necessariamente PD. Por exemplo, a matriz Q= 2 4 4 3 tem autovalores λ1 = −1,5 e λ2 = 6,5. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 17 / 58 Definições adicionais Seja Q ∈ Rn×n simétrica. Diz-se então que: Q > 0 (Positivo-Definida) se x T Qx > 0, ∀x 6= 0. Q ≥ 0 (Positivo-Semidefinida) se x T Qx ≥ 0, ∀x. Q < 0 (Negativo-Definida) se x T Qx < 0, ∀x 6= 0. Q ≤ 0 (Negativo-Semidefinida) se x T Qx ≤ 0, ∀x. Q é Indefinida nos demais casos. Condições sobre os autovalores: Q > 0 ⇔ λi > 0, i = 1, 2, . . . , n Q ≥ 0 ⇔ λi ≥ 0, i = 1, 2, . . . , n Q < 0 ⇔ λi < 0, i = 1, 2, . . . , n Q ≤ 0 ⇔ λi ≤ 0, i = 1, 2, . . . , n Q indefinida ⇔ λi > 0 e λj < 0 para algum i e j. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 18 / 58 Condições de otimalidade Seja uma função J : Rn → R. Um ponto x ∗ ∈ Rn é dito ser um mı́nimo local de J se J(x ∗ ) ≤ J(x) para todo x em uma vizinhança de x ∗ . Se J(x ∗ ) ≤ J(x) para todo x ∈ Rn , diz-se que x ∗ é um mı́nimo global de J. Notações comumente empregadas: x ∗ = arg minn J(x) x∈R ∗ J(x ) = minn J(x) x∈R O problema de otimização é expresso como min J(x) x∈Rn EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 19 / 58 Teorema de Taylor - Caso univariado Ref: GILL, P.E.; MURRAY, W.; WRIGHT, M.H. Practical Optimization, Academic Press, 1981. Seja uma função J : R → R. Se J ∈ C r (isto é, se J possui derivadas contı́nuas até ordem r ), então dados x ∈ R e h ∈ R, existe θ ∈ [0,1] tal que 1 J(x + h) = J(x) + hJ 0 (x) + h2 J 00 (x) + · · · + 2 1 1 r −1 (r −1) + h J (x) + hr J (r ) (x + θh) (r − 1)! r! Em particular, se J ∈ C 2 , então 1 J(x + h) = J(x) + hJ 0 (x) + h2 J 00 (x + θh) 2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 20 / 58 Condições necessárias para otimalidade - Caso univariado Seja uma função J : R → R pertencente à classe C 2 . Se x ∗ ∈ R é um mı́nimo local de f , então as seguintes condições devem ser satisfeitas: J 0 (x ∗ ) = 0 J 00 (x ∗ ) ≥ 0 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 21 / 58 Condições suficientes para otimalidade - Caso univariado Seja uma função J : R → R pertencente à classe C 2 . Se as seguintes condições forem satisfeitas: J 0 (x ∗ ) = 0 J 00 (x ∗ ) > 0 então x ∗ ∈ R é um mı́nimo local de J. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 22 / 58 Teorema de Taylor - Caso multivariado com r = 2 Seja uma função J : Rn → R da classe C 2 . Dados x ∈ Rn e ∆x ∈ Rn , existe θ ∈ [0,1] tal que T 1 ∂2J ∂J (x) ∆x + ∆x T 2 (x + θ∆x)∆x J(x + ∆x) = J(x) + ∂x 2 ∂x 2 ∂ J n×n (matriz Hessiana, ou “de n em que ∂J ∂x ∈ R (vetor gradiente) e ∂x 2 ∈ R curvatura”) são dados por ∂2J ∂2J ∂2J ∂J · · · 2 ∂x1 ∂x2 ∂x1 ∂xn ∂x1 ∂∂x2 J1 ∂2J ∂2J ∂J 2 · · · 2 ∂J ∂x2 ∂ J ∂x2 ∂x1 ∂x ∂x ∂x2 n 2 = . , = .. .. .. .. ∂x .. ∂x 2 . . . . ∂J 2 2 2 ∂ J ∂ J ∂ J ∂xn ∂xn ∂x1 ∂xn ∂x2 · · · ∂x 2 n Como as derivadas de segunda ordem são contı́nuas, tem-se que ∂2J ∂2J ∂2J ∂xi ∂xj = ∂xj ∂xi . Portanto, a matriz Hessiana ∂x 2 é simétrica. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 23 / 58 Condições necessárias para otimalidade - Caso multivariado Seja uma função J : Rn → R pertencente à classe C 2 . Se x ∗ ∈ Rn é um mı́nimo local de J, então as seguintes condições devem ser satisfeitas: ∂J ∗ ∂x (x ) = 0 ∂2J (x ∗ ) ≥ 0 ∂x 2 Observação: Se ∂J ∗ ∂x (x ) EE-254 (Controle Preditivo) = 0, diz-se que x ∗ é um “ponto estacionário” de J. Aula 2 11 Mar 2015 24 / 58 Condições suficientes para otimalidade - Caso multivariado Seja uma função J : Rn → R pertencente à classe C 2 . Se as seguintes condições forem satisfeitas: ∂J ∗ ∂x (x ) = 0 ∂2J (x ∗ ) > 0 ∂x 2 então x ∗ ∈ Rn é um EE-254 (Controle Preditivo) mı́nimo local de J. Aula 2 11 Mar 2015 25 / 58 Observação: Suponha que J ∈ C 2 e ∂2J (x ∗ ) ∂x 2 ∂2J (x ∗ ) ∂x 2 ∂2J (x ∗ ) ∂x 2 >0⇒ x∗ ∂J ∗ ∂x (x ) = 0. Tem-se então que: é mı́nimo local. < 0 ⇒ x ∗ é máximo local. é Indefinida ⇒ x ∗ é ponto de sela. 2 Nos demais casos ( ∂∂xJ2 (x ∗ ) semidefinida), nada se pode afirmar. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 26 / 58 Algumas expressões para cálculo de gradientes Sejam x ∈ Rn , y ∈ Rn , Q ∈ Rn×n . Então: ∂(x T y ) ∂(y T x) = =y ∂x ∂x ∂(y T Qx) ∂(x T Q T y ) = = QT y ∂x ∂x ∂(x T Qx) = Qx + Q T x ∂x ∂[(x − y )T Q(x − y )] = (Q + Q T )(x − y ) ∂x Se Q for simétrica, as expressões se simplificam, pois Q + Q T = 2Q. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 27 / 58 Algumas expressões para cálculo de Hessianas Sejam x ∈ Rn , y ∈ Rn , Q ∈ Rn×n . Então: ∂ 2 (x T Qx) = Q + QT ∂x 2 ∂ 2 [(x − y )T Q(x − y )] = Q + QT ∂x 2 Se Q for simétrica, as expressões se simplificam, pois Q + Q T = 2Q. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 28 / 58 Ex: Funções Quadráticas 1 J(x) = x T Hx + c T x + cte 2 Neste caso, tem-se ∂J (x) = Hx + c ∂x Portanto, x ∗ deve satisfazer Hx ∗ + c = 0, isto é x ∗ = −H−1 c desde que H seja não-singular. Adicionalmente, a matriz Hessiana em x ∗ é dada por ∂2J ∗ (x ) = H ∂x 2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 29 / 58 Exemplo 1 ∂2J ∗ (x ) = H ∂x 2 1 0 0 H= , c= 0 2 0 x ∗ = −H−1 c, 1.5 J(x) 1 0.5 0 1 1 0.5 0.5 0 0 −0.5 x2 EE-254 (Controle Preditivo) −0.5 −1 −1 Aula 2 x1 11 Mar 2015 30 / 58 Exemplo 2 ∂2J ∗ (x ) = H ∂x 2 1 0 0 H= , c= 0 −2 0 x ∗ = −H−1 c, 0.5 J(x) 0 −0.5 −1 1 1 0.5 0.5 0 0 −0.5 x2 EE-254 (Controle Preditivo) −0.5 −1 −1 Aula 2 x1 11 Mar 2015 31 / 58 Retornando ao problema inicial (DMC) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 32 / 58 1 min J(∆û) = ∆ûT H∆û + c T ∆û + cte 2 ∆û∈RM sendo H = 2(G T G + ρI ), c = 2G T (f − r) ρ>0 Vale notar que a matrix Hessiana H é simétrica e positivo-definida. Com efeito, dado x 6= 0, tem-se que xT x > 0 x T Hx = 2x T (G T G + ρI )x = 2 x T (G T G )x +ρ |{z} | {z } ≥0 EE-254 (Controle Preditivo) Aula 2 >0 11 Mar 2015 33 / 58 1 J(∆û) = ∆ûT H∆û + c T ∆û + cte 2 H>0 Trata-se de uma função quadrática em ∆û com matriz Hessiana positivo-definida. Assim, como visto anteriormente, ∆û∗ = −H−1 c com H = 2(G T G + ρI ), c = 2G T (f − r) Logo, ∆û∗ = (G T G + ρI )−1 G T (r − f) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 34 / 58 Observações ∆û∗ = (G T G + ρI )−1 G T (r − f) A matriz (G T G + ρI ) tem dimensões M × M O parâmetro ρ > 0 pode ser usado para ajustar o esforço de controle. No instante atual k, a variação de controle a ser aplicada corresponde ao primeiro elemento do vetor ∆û∗ , isto é: ∆u(k) = ∆û ∗ (k|k) = KMPC (r − f) sendo KMPC a primeira linha da matriz (G T G + ρI )−1 G T . Vale notar que r = f ⇒ ∆u(k) = 0, ou seja, se a resposta livre seguir o sinal de referência, não é necessário promover alterações no controle. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 35 / 58 Interpretação para N = M = 1 Neste caso, tem-se G = g (1), r = yref , f = f (k + 1|k). Logo: (G T G + ρI )−1 G T = g (1) = KMPC +ρ g 2 (1) ∆u(k) = KMPC (yref − f (k + 1|k)) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 36 / 58 Observações ∆û∗ = (G T G + ρI )−1 G T (r − f) Se a referência for constante, será empregada a seguinte notação: r = [yref ]N sendo [•]N um vetor-coluna formado pelo empilhamento vertical de N cópias de •. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 37 / 58 Observações Se a referência variar com o tempo, mas for previamente conhecida, basta fazer yref (k + 1) yref (k + 1) r= .. . yref (k + N) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 38 / 58 DMC: Resumo Informação requerida sobre a planta: Resposta a degrau g (n), n = 1, 2, . . . , Ns (assume-se g (0) = 0 e g (n) = g (Ns ), ∀n ≥ Ns ). Parâmetros de projeto: Peso do controle ρ Horizonte de predição N Horizonte de controle M Inicialização: g (1) 0 ··· 0 g (2) g (1) ··· 0 Fazer G = . . .. . .. .. .. . g (N) g (N − 1) · · · g (N − M + 1) Calcular KMPC = [ 1 0 · · · 0 + ρIM )−1 G T Fazer k = 0, u(−1) = 0 e ∆u(−1) = ∆u(−2) = · · · = ∆u(−Ns ) = 0 ](G T G EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 39 / 58 DMC: Resumo Rotina principal: 1 Ler y (k) (saı́da da planta) e yref (valor de referência) 2 Fazer r = [yref ]N 3 Calcular f (k + i|k) = y (k) + Ns X [g (n + i) − g (n)]∆u(k − n), i = 1, 2, . . . , N n=1 4 Fazer f = [f (k + 1|k) f (k + 2|k) · · · f (k + N|k)]T 5 Calcular o incremento no controle: ∆u(k) = KMPC (r − f) 6 Atualizar o controle aplicado à planta: u(k) = u(k − 1) + ∆u(k) 7 Fazer k = k + 1 8 Aguardar o próximo instante de amostragem e retornar ao passo 1 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 40 / 58 Orientações para sintonia dos parâmetros EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 41 / 58 DMC: Orientações para sintonia dos parâmetros Referências: 1 SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained SISO model predictive control. Industrial and Engineering Chemistry Research, v. 36, n. 3, p. 729-746, 1997. 2 SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained multivariable model predictive control. Industrial and Engineering Chemistry Research, v. 37, n. 10, p. 4003-4016, 1998. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 42 / 58 DMC: Orientações para sintonia dos parâmetros Considerações gerais: O perı́odo de amostragem T deve ser escolhido de modo a se ter uma representação parcimoniosa da resposta a degrau da planta. O horizonte de predição N deve ser aproximadamente igual ao tempo de acomodação da resposta a degrau. O horizonte de controle M usualmente é escolhido1 entre 1 e 6. Valores menores de M tendem a deixar o controlador menos “agressivo” (resposta mais lenta, menor sensibilidade a ruı́do). A diferença N − M deve ser suficientemente grande (da ordem do tempo de acomodação) para que o efeito das últimas variações no controle se manifeste dentro do horizonte de predição. Valores maiores para o peso de controle ρ tendem a tendem a deixar o controlador menos “agressivo”. 1 SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained SISO model predictive control. Industrial and Engineering Chemistry Research, v. 36, n. 3, p. 729-746, 1997. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 43 / 58 DMC: Orientações para sintonia dos parâmetros Suponha que a dinâmica da planta possa ser aproximada por um modelo de primeira ordem com atraso descrito pela seguinte função de transferência: Y (s) Ke −θs = U(s) τs + 1 Os parâmetros do DMC podem ser escolhidos da seguinte forma: Perı́odo de amostragem: T = max(0,1τ ; 0,5θ) Horizontes de predição e controle: 5τ + θ τ +θ N = round + 1 , M = round +1 T T Peso do controle: M 3,5τ (M − 1) ρ= +2− K2 500 T 2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 44 / 58 DMC: Orientações para sintonia dos parâmetros Observação: Em um artigo mais recente2 , apresenta-se uma recomendação alternativa (50× maior) para o peso do controle: M 3,5τ (M − 1) ρ= +2− K2 10 T 2 2 DOUGHERTY, D.; COOPER, D.J. Tuning guidelines of a dynamic matrix 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 2 11 Mar 2015 45 / 58 Implementação em Matlab/Simulink EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 46 / 58 Arquivos Matlab a serem empregados dmc.m aquecedor dmc.mdl resposta degrau aquecedor.mdl EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 47 / 58 DMC: Implementação em Matlab/Simulink (S-function) Controlador Preditivo DMC yref u(k) y(k) 1 yref 2 y(k) dmc du(k) u(k) Zero-Order Hold S-function u(k-1) Interior da máscara EE-254 (Controle Preditivo) Parâmetros: KMPC, N, g, Ns, T Aula 2 1 u(k) 1 z Armazena u(k-1) 11 Mar 2015 48 / 58 DMC: Detalhes da máscara Parâmetros: Peso do controle (escalar ρ) Horizonte de predição (escalar N) Horizonte de controle (escalar M) Resposta a degrau da planta (array g ) Perı́odo de amostragem (escalar T ) EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 49 / 58 DMC: Parâmetros da máscara Comandos executados na inicialização: Ns = length(g); gaux = g; if N > Ns gaux(Ns+1:N) = g(Ns); end col = gaux(1:N); row = [gaux(1) zeros(1,N-1)]; G = toeplitz(col,row); G = G(:,1:M); GAIN = inv(G’*G + rho*eye(M))*G’; KMPC = GAIN(1,:); EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 50 / 58 DMC: Código da S-function Arquivo dmc.m EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 51 / 58 Exemplo 1: Aquecedor de água3 Água Fria Água Quente y u Aumento da temperatura em relação ao ambiente 3 Adaptado de CAMACHO, E.F.; BORDONS, C. Model Predictive Control. London: Springer-Verlag, 1999. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 52 / 58 Exemplo 1: Aquecedor de água Função de transferência adotada na simulação: 0,3 −2s e s + 0,2 1,5 −2s K e = e −θs = 5s + 1 τs + 1 H(s) = K = 1,5 τ = 5 θ = 2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 53 / 58 Escolha dos parâmetros do controlador DMC K = 1,5 τ = 5 θ = 2 Perı́odo de amostragem: T = max(0,1τ ; 0,5θ) = max(0,5; 1) = 1 Horizonte de predição: 27 5τ + θ + 1 = round + 1 = 28 N = round T 1 Horizonte de controle: τ +θ 7 M = round + 1 = round +1 =8 T 1 Peso do controle (duas possibilidades mencionadas): M 3,5τ (M − 1) ρ= +2− K 2 = 0,58 500 T 2 ou M 3,5τ (M − 1) ρ= +2− K 2 = 28,8 10 T 2 EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 54 / 58 Roteiro para apresentação do exemplo 1 Definir perı́odo de amostragem no workspace. 2 Executar simulação resposta degrau aquecedor.mdl. 3 Abrir diagrama aquecedor dmc.mdl, inserir parâmetros ρ, N, M na máscara e executar a simulação. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 55 / 58 Roteiro para apresentação do exemplo Simulações a serem realizadas: Alterar ganho da planta. Inserir perturbação de saı́da tipo degrau. Inserir perturbação de entrada tipo degrau. Inserir perturbação de saı́da tipo rampa. Fixar N = 28 e variar M de 8 até 1 (Interpretação: Calcular ŷ = G ∆û + f para k = 0 com M = 1). Fixar M = 2 e variar N de 28 até 2. Variar ρ. Inserir ruı́do de medida e variar ρ. Monitorar y na saı́da da planta, antes do ponto de inserção do ruı́do. Remover perturbação e ruı́do. Ampliar escala vertical em torno do valor de regime. Fazer g(21:end) = g(20) e repetir a simulação. EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 56 / 58 Resumo da aula de hoje DMC: Solução do problema de otimização ∆û∗ = (G T G + ρI )−1 G T (r − f) ∆u(k) = ∆û ∗ (k|k) = [ 1 0 · · · 0 ](G T G + ρI )−1 G T (r − f) DMC: Sintonia de parâmetros (Perı́odo de amostragem,M,N,ρ) Implementação em Matlab/Simulink EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 57 / 58 Tópicos da próxima aula Exemplo de aplicação do DMC: Planta Yokogawa Exemplo com modelo de simulação não linear. Uso de resposta a impulso: Model predictive heuristic control EE-254 (Controle Preditivo) Aula 2 11 Mar 2015 58 / 58