UNIVERSIDADEFEDERALDO RIO GRANDE DO NORTE
PROGRAMA DEPÓS-GRADUAÇÃO EMENGENHARIAELÉTRICA E DECOMPUTAÇÃO
Implementação em CLP do Controlador PI
afim por partes aplicado a Sistemas Industriais
com Restrições
Jan Erik Mont Gomery Pinto
Orientador: Prof. Dr. André Laurindo Maitelli
Tese de Doutorado apresentada ao Pro-grama de Pós-Graduação em Engenharia Elétrica e de Computação da UFRN (área de concentração: Automação e Sistemas) como parte dos requisitos para obtenção do título de Doutor em Ciências.
Número de ordem PPgEEC: D246
Natal, RN, 31 de Maio de 2019
Pinto, Jan Erik Mont Gomery.
Implementação em CLP do controlador PI afim por partes aplicado a sistemas industriais com restrições / Jan Erik Mont Gomery Pinto. - 2019.
83 f.: il.
Tese (doutorado) - Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Programa de Pós-Graduação em Engenharia Elétrica e de Computação, Natal, RN, 2019. Orientador: Prof. Dr. André Laurindo Maitelli.
1. Controlador PI Tese. 2. Programação multiparamétrica Tese. 3. Sistema com restrição Tese. 4. Conjunto Invariante -Tese. 5. Controlador afim por partes industrial - -Tese. 6. Controlador lógico programável - Tese. I. Maitelli, André Laurindo. II. Título.
RN/UF/BCZM CDU 62-551.44 Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede
afim por partes aplicado a Sistemas Industriais
com Restrições
Jan Erik Mont Gomery Pinto
Tese de Doutorado aprovada em 31 de Maio de 2019 pela banca examinadora composta pelos seguintes membros:
Prof. Dr. André Laurindo Maitelli (Orientador) . . . DCA/UFRN Prof. Dr. Anderson Luiz de Oliveira Cavalcanti (Membro Interno) DCA/UFRN Prof. Dr. Fábio Meneghetti Ugulino de Araújo (Membro Interno) . DCA/UFRN Dr. Fábio Soares de Lima (Membro Externo) . . . Petrobras Dr. Oscar Gabriel Filho (Membro Externo) . . . Ex-Petrobras
A minha esposa Cláudia Érica. A Deus.
Ao meu orientador, professor Dr. André Laurindo Maitelli, pela orientação e apoio. A professora Carla Wilza Maitelli pelo apoio fundamental no inicio da minha chegada ao LAUT/UFRN.
A todos os colegas do LAUT pelas ajudas e apoios constantes. Em especial André Fe-lipe, Amanda Dantas, Daniel Guerra, Kennedy, Ana, Márcio, Gaspar, Everton, Wellison, Douglas e Carlos.
Nesta tese, é proposto o projeto de um algoritmo do controlador Proporcional-Integral (PI) afim por partes, denominado de Piecewise Affine PI (PWA-PI), baseado em conjuntos invariantes e programação multiparamétrica para sistemas com restrições. Esse algoritmo foi implementado em um Controlador Lógico Programável (CLP), com a finalidade de controlar uma planta industrial de nível e analisar seu comportamento. Foi utilizada a programação em linguagem de texto estrutura (ST) do CLP, para validar os algoritmos, controlando dois sistemas distintos. Os resultados mostraram que as restrições sobre o Erro, Integral do Erro e sinal de controle foram respeitadas, uma vez que os controladores PWA-PI foram sintonizados previamente através da solução de um problema de otimiza-ção. Indicadores de desempenho de malhas de controle, tais como erro médio quadrático (MSE), Goodhart, Overshoot e tempo de acomodação, mostraram que o PWA-PI pode ser sintonizado para um desempenho melhor do que o controlador Proporcional-Integral (PI) sintonizado pelo método de Ziegler-Nichols (Z–N), tando o método da curva de reação quanto o método do ganho crítico foram usados. Todos os indicadores de desempenho uti-lizados para avaliar ambos os controladores, mostraram que o controlador PWA-PI obteve um melhor desempenho para sistemas com restrições.
Palavras-chave: Controlador PI, Programação Multiparamétrica, Sistemas com res-trições, Conjuntos Invariantes, Controlador afim por partes industrial, CLP
In this tesis, the design of a piecewise affine proportional integral (PWA-PI) control-ler algorithm based on invariant set and multiparametric programming for constrained systems is proposed. We implemented the algorithm in a programmable logic controller (PLC) to control an industrial constrained level plant and analyze its behavior. Structured text routines were programmed and validated while controlling two systems with PLC. The results show that the constraints on the error, integral of the error, system output and control action are respected because PWA-PI controllers are tuned from the solution of an optimization problem. The evaluated performance indexes (such as mean square error (MSE), Goodhart, overshoot and settling time) show that PWA-PI can be adjusted for bet-ter performance than proportional integral (PI) controller tuned by Ziegler–Nichols (Z–N) rules. All of the analyzed performance indexes that we used to evaluate both controllers show PWA-PI as a better controller for constrained systems.
Keywords: PI controller, Multiparametric programming, Constrained systems, Inva-riant sets, Industrial piecewise affine controller, PLC.
Sumário i
Lista de Figuras iii
Lista de Tabelas v
Lista de Símbolos e Abreviaturas vi 1 Controle de Sistemas Lineares Sujeitos a Restrições 1
1.1 Sistemas Sujeitos à Restrições . . . 1
1.1.1 Sistemas Lineares Discretos em Equações de Estados . . . 2
1.2 Controladores para sistema lineares restritos . . . 4
1.2.1 Conjunto invariante controlado . . . 4
1.3 Controle por realimentação de estados . . . 12
1.3.1 Controle de Sistemas Sujeitos a Restrições utilizando Programa-ção Linear . . . 13
1.3.2 Programação Multiparamétrica em Controle Preditivo . . . 22
2 Controladores PWA-PI 24 2.1 Controlador PWA-PI Proposto . . . 25
2.2 Implementação do Controladores PWA-PI . . . 28
3 Aplicações com o Controlador PWA-PI 34 3.1 Training Box Duo TB 131 . . . 34
3.2 Circuito Eletrônico na Training Box Duo . . . 38 i
3.3 Planta Industrial de Nível . . . 48
4 Conclusão 54 Referências bibliográficas 56 A Algoritmos em Linguagem Estruturada - Altus 62 A.1 Algoritmo 2 - Rotina Principal do Laço de Controle . . . 62
A.2 Algortimo 3 - Rotina PWA-PI . . . 64
A.3 Algoritmo 4 - Rotina isInside . . . 66
1.1 Conjunto Poliédrico Invariante Controlado ρ∞(Ω
c, λ) . . . 12
1.2 Trajetória do vetor de estados. . . 14
1.3 Regiões características (RC) . . . 16
1.4 Regiões poliédricas e uma trajetória do vetor de estados (Solução off-line). 21 2.1 Digrama de Blocos do controlador PWA-PI proposto . . . 25
2.2 Visão geral do sistema de controle e da lei de controle do PWA calculada pelo algoritmo 1. . . 30
2.3 Fluxograma mostrando os algoritmos 2, 3 e 4 combinados na programa-ção do CLP . . . 33
3.1 Maleta Training Box Duo TB 131 . . . 35
3.2 Planta de nível usada nos testes do controlador PWA-PI. . . 37
3.3 Conjunto Invariante com 20 regiões poliédricas (modelo M3(s)). . . 42
3.4 Saída controladas da planta com os diferentes modelos M1(s), M2(s) e M3(s) . . . 43
3.5 Saída da planta controlada pelo PWA-PI. . . 44
3.6 Mudança de referência da planta para região próximo a restrição máxima de saída. Sobressinal em 5,5% neste ponto. . . 45
3.7 Trajetória dos estados dentro do conjunto invariante . . . 46
3.8 Comparação da saída da planta com o Controlador PWA-PI e o Controla-dor PI por Z-N . . . 47
teste 1. . . 50 3.10 Conjunto invariante com sete regiões poliédricas com os parâmetros do
teste 2 . . . 50 3.11 Comparação da saída da planta pelo controlador PWA-PI e pelo
controla-dor PI de Z-N . . . 51 3.12 Trajetória dos estados dentro do conjunto invariante controlado para o
1.1 Solução do problema de programação linear multiparamétrica. . . 21 3.1 Condições de teste usando os modelos identificados. . . 39 3.2 Análise da avaliação de desempenho do PWA-PI com diferentes
parâme-tros de restrições. . . 41 3.3 Regiões poliédricas e leis de controle explícitas - Teste 3 do modelo M3(s) 42
3.4 Comparação da avaliação de desempenho da planta controlada pelo PWA-PI e pelo PWA-PI de Z-N. . . 48 3.5 Parâmetros usados em dois testes para obter a lei de controle PWA. . . 49 3.6 Avaliação comparativa do desempenho entre o controlador PWA-PI e o
controlador PI de Z-N . . . 52 3.7 Regiões poliédricas e leis de controle explícitas - PWA-PI (Teste 2) . . . . 53
CFC: Continuous Function Chart FBD: Function Block Diagram IL: Instruction List
Ki ganho integrativo Kp ganho proporcional
LD: Ladder
Nreg número de regiões
SFC: Sequential Function Chart - GRAFFCET ST: Structured Text
e(t): erro
r(t): referência de processo (SP) do sistema dinâmico u(k): Sinal de controle (MV)- Discreto
u(t): sinal de controle
y(k): Variável de processo (PV) discreto
y(t): Variável de processo (PV) do sistema dinâmico : tal que
Ω ⊂ Rn conjunto de estados ∩ interseção / 0 conjunto vazio ∃ existe ∀ para todo ∈ pertence λ taxa de contratividade
N o conjunto dos números naturais R o conjunto dos números reais
Rn o espaço dos vetores coluna reais de dimensão n ⊂ está contido
CLP: Controlador Lógico Programável LP Linear Programming
MIMO: Multiple Input Single Multiple). mp-LP Multi-Parametric Linear Programmingo MV: Maninulated Variable
OPC: OLE for Process Control
PV: Process Variable PWA: Piecewise Affine
SISO: Single Input Single Outuput). SP: Setpoint
ST: Structure Language
x1, ..., xn coordenadas do elemento x ∈ Rnna base canônica do espaço Rn
Controle de Sistemas Lineares Sujeitos
a Restrições
Esse capítulo apresentará alguns conceitos importantes que foram utilizados neste tra-balho. Serão apresentadas algumas definições básicas associadas aos sistemas sujeitos à restrições. Será apresentado uma descrição resumida sobre conjuntos invariantes contro-lados, bem como, a sua aplicação no projeto de controladores. Serão apresentadas tam-bém algumas técnicas de otimização, que podem ser utilizadas em projetos de controle regulatório por realimentação de estado para sistemas lineares sujeitos à restrições.
1.1
Sistemas Sujeitos à Restrições
As restrições normalmente surgem em problemas de controle de processo em decor-rência das limitações físicas dos equipamentos, tais como: bombas, válvulas de controle e trocadores de calor. Estas restrições também estão presentes nos limites de operação, co-locados para manter a segurança do processo. Em alguns casos as restrições são impostas nos processos com o objetivo de limitar a emissão de poluentes ou por fatores econô-micos que visam maximizar o lucro ou minimizar os custos (Roffel & Bettem 2007) (Kwong 2007).
classificadas da seguinte forma:
• Restrições das Variáveis Manipuladas: Estas são restrições rígidas nas entradas, como por exemplo, restrições de saturação de válvulas de controle.
• Restrições nas Taxas de Variação das Variáveis Manipuladas: Estas são res-trições rígidas nos movimentos das variáveis manipuladas, que influenciam direta-mente as taxas de variação das mesmas.
• Restrições nas Variáveis de Saída: Estas são restrições rígidas impostas na saída do sistema, que podem ser caracterizadas da seguinte forma:
– Variáveis Controladas: Os limites para essas variáveis são especificados, mesmo que os desvios de seus setpoints sejam minimizados na função objetivo.
– Variáveis Associadas: Não existe setpoint para essas variáveis, mas elas de-vem ser mantidas dentro dos limites.
1.1.1
Sistemas Lineares Discretos em Equações de Estados
De acordo com Longhi (2001), a teoria de controle clássico se consolidou nas primei-ras décadas do século XX. As principais características dessa teoria é o uso de modelos matemáticos simples, que representam um sistema a ser controlado. Estes modelos ma-temáticos são normalmente representados por funções de transferência, que descrevem uma relação entre a entrada e a saída do sistema, sendo mais apropriados para sistemas lineares invariantes no tempo com uma única entrada e uma única saída (do inglês Single Input-Single Output (SISO)) (Nise 2002).
Apesar de todas as contribuições obtidas ao longo dos anos, a abordagem clássica apresenta problemas de inadequação ao lidar com sistemas não lineares e multivariá-veis. Contudo, em 1960 surgiu a teoria de controle moderno, com intuito de repre-sentar sistemas dinâmicos em modelos matemáticos com características mais complexas (Longhi 2001).
A teoria de controle moderno passou a ser estudada, devido à possibilidade de utilizar computadores digitais para analisar sistemas mais complexos no domínio do tempo. Esta teoria é baseada na descrição de sistemas em equação de estados, que fornecem um mo-delo matemático amplo, podendo descrever não somente sistemas lineares, mas também sistemas não lineares, variantes no tempo, e com múltiplas entradas e múltiplas saídas (Ling & Lim 1996).
A representação de um sistema linear por variáveis de estado é caracterizada como interna, pois, além das variáveis de entrada e de saída, variáveis internas (estados) do sistema dinâmico também estão presentes no modelo.
Um sistema de tempo discreto linear e invariante no tempo em variáveis de estado pode ser representado conforme a Equação (1.1):
x(k + 1) = Ax(k) + Bu(k) + Ed(k)
y(k) = Cx(k) + η(k) (1.1) em que,
x(k) −→ vetor de estados Rn(dimensão n x 1);
u(k) −→ vetor de entradas de controle Rm(dimensão m x 1); d(k) −→ vetor de perturbação Rm(dimensão m x 1);
y(k) −→ vetor de saída Rp(dimensão p x 1).
η(k) −→ vetor de ruído de medição Rm(dimensão p x 1); A−→ matriz de estados (n x n);
B−→ matriz de entradas (n x m); C−→ matriz de saída (p x n);
1.2
Controladores para sistema lineares restritos
Nesta seção, são apresentados os conceitos sobre a teoria de conjuntos invariantes controlados, que será base dos algoritmos desenvolvidos nesta Tese. Em seguida, são apresentados definições e teoremas relacionados à invariância controlada de poliedros convexos. Em particular, será apresentada uma abordagem proposta por Dorea & Hennet (1999), que permite calcular um conjunto invariante controlado a partir do conjunto de restrições definido no espaço de estados, que foi o ponto de partida utilizado neste trabalho para se obter os parâmetros de um controlador afim por partes.
1.2.1
Conjunto invariante controlado
O conceito de conjunto invariante tornou-se importante nos projetos de controladores para sistemas dinâmicos sujeitos à restrições. A razão para utilizar este conceito está dire-tamente relacionada com a condição fundamental para manter a estabilidade do sistema e garantir que as restrições não serão violadas, independentemente da técnica adotada para calcular o sinal de controle (Blanchini & Miani 2008).
Considere o sistema linear discreto invariante no tempo representado por:
x(k + 1) = Ax(k) + Bu(k) (1.2) em que k ∈ N é o tempo de amostra, x ∈ Rn é o estado do sistema e u(k) ∈ Rm é a entrada de controle.
Definição 1.2.1 (Blanchini 1994) (Dorea & Hennet 1999): Um conjunto não vazio, fe-chado Ω ⊂ Rn é invariante controlado com relação ao sistema apresentado na Equação (1.2), se:
De acordo com Dorea & Hennet (1999), a Definição 1.2.1 mostra, que o conjunto de restrições é um conjunto invariante controlado se, ∀ x(0) ∈ Ω, existe uma sequência de entradas de controle u(k), (k ∈ N), que mantém a trajetória do vetor de estados completa-mente no conjunto Ω.
Definição 1.2.2 Dorea & Hennet (1999): O conjunto admissível a um passo para Ω é definido da seguinte maneira:
ℑ(Ω) = {x ∈ Rn: ∃ u ∈ Rm: Ax + Bu ∈ Ω} (1.4) em que ℑ(Ω) é o conjunto de todos os estados que podem ser transferidos a um passo para o conjunto Ω.
Teorema 1.2.1 (Blanchini 1994) (Dorea & Hennet 1999): O conjunto Ω ⊂ Rn é um conjunto invariante controlado com respeito ao sistema (1.2) , se e somente se, a seguinte condição geométrica for satisfeita:
Ω ⊆ ℑ(Ω) (1.5) A prova do Teorema acima pode ser visto em Blanchini (1994) ou em Dorea & Hennet (1999).
Invariância Controlada de Poliedros Convexos para Sistemas Lineares
Recentemente, as técnicas de cálculos geométricos associadas aos poliedros conve-xos, têm sido objeto de estudo nas diferentes áreas de pesquisa (Dorea & Hennet 1999), (Dórea & Pimenta 2005), (Alessio et al. 2007) e (Aráujo 2011). Estes poliedros são
frequentemente utilizados em problemas de programação matemática, geometria com-putacional, estatística, ciência dos materiais e engenharia de controle. Em sistemas de controle, as expressões naturais de restrições físicas nos estados e na variável de controle podem ser definidas por conjuntos poliédricos convexos.
Um conjunto poliédrico convexo, contendo a origem, pode ser representado da se-guinte maneira:
Ω = R[G, ρ] = {x : Gx ≤ ρ} =x : Gjx≤ ρj, j = 1, ..., g , ρ ≥ 0 (1.6)
Para um dado tempo k, a admissibilidade do vetor de estados no momento k +1, utilizando o sistema descrito da Equação (1.2), é caracterizada pelo seguinte conjunto de restrições:
Gx(k) ≤ ρ ⇒ Gx(k + 1) ≤ ρ (1.7) Substituindo (1.2) em (1.7), temos um conjunto de restrições que define um poliedro convexo, que pode representar um conjunto admissível a um passo para Ω da seguinte forma:
GAx(k) + GBu(k) ≤ ρ (1.8) O conjunto de restrições (1.8) representa um poliedro ∏ no espaço linear definido pelo vetor estendido
x(k) u(k)
. De acordo com Dorea & Hennet (1999), o maior conjunto de vetores de estado admissíveis a um passo, associado à (1.8), é a projeção do conjunto ∏ no espaço de estados.
Proposição 1.2.1 O conjunto admissível a um passo ℑ(R[G, ρ]) é o poliedro convexo R[T G, T ρ], onde T ∈ Rtxgé uma matriz cujos vetores linhas formam um conjunto mínimo
de geradores do núcleo esquerdo não-negativo da matriz GB, definido por:
Γ =w ∈ ℜg: w ≥ 0, (GB)Tw= 0 (1.9) Em outras palavras, T é uma matriz cujas linhas geram o cone poliédrico Γ. Esta matriz é utilizada para anular o termo GB quando multiplicada à esquerda de ambos os lados da Equação (1.8).
A partir do Teorema 1.2.1 e da Proposição 1.2.1, a invariância controlada de R[G, ρ] pode ser geometricamente caracterizada por:
R[G, ρ] ⊂ R[T GA, T ρ] (1.10) A caracterização geométrica em (1.10) pode ser traduzida em relações matriciais (ou caracterização algébrica) a partir do Lema de Farkas Estendido (Schrijver 1998), da se-guinte maneira (Dorea & Hennet 1999):
Teorema 1.2.2 O poliedro convexo R[G, ρ] é invariante controlado se, e somente se, exis-tir uma matriz não-negativa Y tal que:
Y G= T GA (1.11) Y ρ ≤ T ρ (1.12) A prova do Teorema acima pode ser vista em Dorea & Hennet (1999).
De acordo com Dorea & Hennet (1999), uma das vantagens da caracterização algé-brica é que o Teorema 1.2.2 pode ser aplicado a qualquer poliedro convexo fechado. Além
disso, as condições (1.11) e (1.12) podem ser verificadas a partir da solução de um pro-blema linear simples, ao contrário da abordagem proposta em Gutman & Cwikel (1986) e Blanchini (1994), onde o teste da invariância controlada do conjunto é realizada a partir do cálculo dos vértices do poliedro, que é computacionalmente difícil para sistemas de ordem elevada.
Conjunto Invariante Controlado λ-Contrativo
A contratividade de um conjunto invariante controlado é representada por uma taxa de contração λ. Esta taxa determina a convergência da trajetória do sistema ao ponto de equilíbrio x∗ (Kirk 2012).
Definição 1.2.3 Um conjunto fechado Ω ⊂ Rné dito invariante controlado λ-contrativo com0 < λ < 1, se:
∃ u ∈ Ψ ⊂ Rn: Ax + Bu ∈ λΩ, ∀ x ∈ Ω (1.13)
As condições de invariância controlada apresentadas anteriormente, para admissibili-dade a um passo, podem ser estendidas para a condição de um conjunto invariante con-trolado λ-contrativo da seguinte forma:
GAx(k) + GBu(k) ≤ λρ (1.14) em que resulta nos seguintes pontos:
1. Dada uma taxa de contração λ, o conjunto admissível a um passo do poliedro R[G, ρ] é o poliedro convexo R[TgGA, λTgρ + Tuϕ];
2. O poliedro convexo R[G, ρ] ⊂ Rné invariante controlado λ-contrativo com respeito ao sistema (1.2) sujeito a restrições no controle u(k) ∈ Ψ = R[V, ϕ] se, e somente se, existir uma matriz não negativa Y tal que:
Y G= TgGA (1.15) Y ρ ≤ λTgρ + Tuϕ (1.16)
O Máximo (ou Supremo) Conjunto Invariante Controlado
As restrições lineares impostas aos sistemas dinâmicos discretos podem ser repre-sentadas por um conjunto poliédrico de restrições Ω definido no espaço de estados. No entanto, na maioria dos casos, este conjunto não é invariante controlado, ou seja, para x(0) ∈ Ω, não existe necessariamente uma entrada de controle u(k)(k ∈ N), que man-tenha a trajetória do vetor de estados completamente no conjunto Ω (Kerrigan 2001). Em vista desse problema, os pesquisadores observaram que é possível restringir os es-tados do sistema em um conjunto invariante controlado contido no conjunto de restri-ções. Desde então, diferentes métodos numéricos vêm sendo desenvolvidos com o intuito de calcular o maior conjunto invariante controlado contido no conjunto de restrições Ω (Blanchini 1994).
Em Dorea & Hennet (1999) métodos numéricos foram propostos para calcular o máximo conjunto invariante controlado contido no conjunto de restrições, sendo que ini-cialmente é determinado um conjunto admissível para o qual as restrições são satisfeitas no instante k + 1. Em seguida, é verificada uma condição geométrica, descrita pelo lema estendido de Farkas (Schrijver 1998), em que inicialmente é determinado um conjunto admissível para o qual as restrições são satisfeitas no instante k + 1. Logo em seguida, as relações de invariância controlada (1.19) e (1.20) são usadas e, a partir da interseção entre os dois conjuntos, um novo conjunto de restrições é obtido. Estes passos são realizados até a convergência para o máximo conjunto invariante controlado, sem gerar inequações
redundantes em cada iteração, que possui as seguintes propriedades:
Proposição 1.2.2 A família de todos os conjuntos invariantes controlados contidos em um conjunto convexo Ω é fechada em relação à operação envelope convexo da união. Esta proposição garante a existência de um elemento máximo que contém todos os ou-tros elementos na família de conjuntos invariantes controlados contidos no conjunto de restrições Ω.
Proposição 1.2.3 Conjunto máximo ρ∞(Ω) contido no conjunto de restrições Ω é o
con-junto de todos os estados para os quais existe uma sequência de controle capaz de mantê-los em Ω.
O máximo conjunto pode ser caracterizado pelas Equações (1.17) e (1.18) (Blanchini 1994) (Dorea & Hennet 1999):
ρi+1= ℑ(ρi) ∩ ρi, com ρ0= Ω (1.17) ρ∞(Ω) = lim
i→∞ρ i
(1.18) O máximo conjunto invariante controlado pode ser adaptado para um conjunto com uma taxa de contração λ, representado da seguinte maneira:
ρ∞(Ω, λ) ∼= máximo conjunto invariante controlador λ-contrativo contido em Ω Introduzindo a taxa de contração no máximo conjunto invariante controlado, as Equa-ções (1.17) e (1.18) passam a ser representadas por:
ρ∞(Ω, λ) = lim
i→∞ρ
i (1.20)
Uma outra abordagem para calcular o máximo conjunto invariante controlado foi pro-posta por Sheer & Gutman (2016) com o objetivo de reduzir a complexidade e o esforço computacional dos métodos comuns usando sistemas não-iterativos para sistemas line-ares. Além disso, o cálculo do máximo conjunto invariante controlado foi estendido a diferentes tipos de sistemas e aplicações, como por exemplo, os sistemas não lineares usando métodos de álgebra intervalar (Li & Liu 2016).
Exemplo numérico 1
Considere o sistema linear sujeito a restrições descrito por Dorea & Hennet (1999) da seguinte forma: A= 0, 4 0, 9 0, 6 1, 8 ; B = 0 1
A taxa de contratividade pré-estabelecida foi λ = 0,8 e as restrições nas variáveis de estado e controle são definidas pelos poliedros Ω = R[G; ρ] e Ψ = R[V ; ϕ] :
G= 0, 2 0, 2 −1 −1 −1 0, 35 0, 25 −0, 5 , ρ = 1 1 1 1 , V = 1 −1 , ϕ = 10 10
A Figura 1.1 ilustra o conjunto poliédrico Ω = R[G; ρ], que representa um conjunto de restrições definido no espaço de estados. Neste exemplo, o conjunto de restrições não é invariante com respeito ao sistema descrito na Equação 1.1. Contudo, com a aplicação do algoritmo proposto por Dorea & Hennet (1999), mencionado anteriormente, é possível
encontrar o máximo conjunto invariante controlado Ωc= R[Gc, ρc] com taxa de contração
λ = 0.8.
Figura 1.1: Conjunto Poliédrico Invariante Controlado ρ∞(Ω c, λ)
1.3
Controle por realimentação de estados
Nesta seção são apresentadas técnicas de otimização que podem ser utilizados para calcular um conjunto de sinais de controle capazes de manter um sistema, conforme a Equação (1.1), dentro de uma trajetória, obedecendo um conjunto de restrições Ωc. Será
apresentado um problema de programação linear, que pode ser utilizado para calcular um sinal de controle on-line. Em seguida, a técnica de programação linear multiparamé-trica será apresentada, assim como, a sua aplicação em projeto de controle off-line por realimentação de estado associado com conjuntos invariantes controlados.
1.3.1
Controle de Sistemas Sujeitos a Restrições utilizando
Progra-mação Linear
A programação linear é uma técnica de otimização bastante utilizada nos projetos de controle para sistemas lineares sujeitos a restrições, pois determina soluções ótimas a cada instante de tempo (on-line) para o controle do sistema, satisfazendo as restrições exigidas. Em Blanchini (1994), um problema de programação linear foi proposto com obje-tivo de calcular um sinal de controle u(k) on-line capaz de manter a trajetória do vetor de estados no interior do novo conjunto de restrições Ωc, convergindo assintoticamente
para a origem (na ausência de perturbações) sem violar as restrições impostas ao sinal de controle Ψ. Este problema possui a seguinte formulação matemática:
min
u(k), ε ε
Su jeito a: GcBu(k) − ρcε ≤ −GcA(k) − δ
Vu(k) ≤ ϕ (1.21) em que 0 < ε ≤ λ é taxa de contração a ser minimizada a cada instante k, u(k) é o sinal de controle a ser calculado e x(k) é o estado atual do sistema (1.1). A expressão Gc(Ax(k) + Bu(k)) ≤ ερc− δ representa um poliedro convexo no espaço Rn+m, e Ψ =
{u : Vu ≤ ϕ} é um politopo convexo que representa as restrições na variável de controle. O problema (1.21) pode ser solucionado on-line, ou seja, para cada instante de tempo k, o sinal de controle u(k) é calculado em função do estado atual x(k) ∈ Ωc de forma
a minimizar a taxa de contração ε. Esta minimização garante que no instante de tempo k+ 1, o estado pertencerá à um conjunto menor contido no conjunto de restrições x(k) ∈ εΩc ⊂ Ωc e a trajetória convergirá para o ponto de equilíbrio, satisfazendo as restrições
Exemplo numérico 2
Dado o conjunto invariante controlado Ωc, definido no exemplo numérico 1, a solução
do problema LP, descrito na Equação (1.21), pode ser obtida a partir da função Linprog do software Matlab R
. Este método permite encontrar uma solução ótima de u(k) a cada iteração de forma a minimizar ε, satisfazendo as restrições. A partir desta solução a trajetória do vetor de estados pode ser controlada, como mostra a Figura 1.2.
Figura 1.2: Trajetória do vetor de estados.
Fonte: Dantas (2018).
Neste exemplo, os estados partiram de condições iniciais x(0) = [0, 3910; 3, 9744]T. É possível notar na Figura 1.2, que os estados convergem para a origem e essa trajetória está contida totalmente dentro do conjunto Ωc, mostrando que existe uma sequência de
controle u(k) que mantém os estados dentro de um conjunto de restrições, ou melhor, dentro de um conjunto invariante controlado Ωc.
Apesar das diversas contribuições da técnica de programação linear (LP) em sistemas de controle sob restrições, existem desvantagens significativas quando se trata do elevado tempo computacional exigido em sistemas mais complexos (caracterizados por apresen-tar perturbações ou um número maior de variáveis). Este elevado tempo computacional ocorre devido aos repetitivos cálculos para encontrar a solução ótima do problema sob res-trições, tornando, assim, a programação linear inadequada para o controle de processos que necessitam de tomadas de decisões rápidas (Zeilinger et al. 2011).
Controle de Sistemas Sujeitos a Restrições Usando Programação Multiparamétrica A programação multiparamétrica é uma ferramenta importante de otimização, que analisa sistematicamente o efeito de incertezas e variabilidade em problemas de progra-mação matemática (Filippi 2004). Esta ferramenta soluciona um problema matemático que depende de um vetor de parâmetros, que podem aparecer na função custo e nas res-trições (Borrelli et al. 2003).
Em problemas de otimização, a técnica de programação multiparamétrica tem como objetivo minimizar ou maximizar um critério de desempenho sujeito a um determinado conjunto de restrições, onde alguns dos parâmetros variam entre os limites inferiores e superiores específicos (Sakizlis et al. 2007).
A principal característica da programação multiparamétrica para otimização é a sua capacidade de, sistematicamente, subdividir um espaço de parâmetros em regiões carac-terísticas (RC), onde o valor ideal e o otimizador são expressos como funções explícitas dos parâmetros. Portanto, a tomada de decisão é realizada a partir de um mapeamento completo de todos os possíveis resultados (Bemporad et al. 2002), como mostra a Figura 1.3.
Figura 1.3: Regiões características (RC)
Fonte: Dantas (2018). Algoritmo de Programação Linear Multiparamétrica
O algoritmo de programação linear multiparamétrica (do inglês multi-parametric li-near programming(mp-LP)) proposto por Borrelli et al. (2003) é um algoritmo iterativo, que utiliza argumentos geométricos ao explorar diretamente o espaço de parâmetros ao invés de visitar diferentes bases do programa linear associado. Este algoritmo possui vantagens computacionais na sua implementação, pois apresenta simplicidade e a pos-sibilidade de procurar as soluções paramétricas dentro de um dada região poliédrica do espaço de parâmetros, sem solucionar o problema para todo x ∈ X . Este algoritmo resolve
o seguinte problema matemático: J(x) = min v c Tv + dTx su jeito a: Av ≤ b + Ex (1.22) em que, x ∈ X ⊂ Rn, v ∈ Rp, A ∈ Rmxp, b ∈ Rm, E ∈ Rmxn, c ∈ Rpe d∈ Rn.
Para obter uma melhor compreensão de como a solução do mp-LP é caracterizada, algumas definições devem ser abordadas (Bemporad & Filippi 2006):
Definição 1.3.1 O conjunto factível X ⊂ Rné um conjunto de parâmetros x∈ Rnpara o qual o problema de otimização (1.22) é factível. Em outras palavras:
X= {x ∈ Rn|Av ≤ b + Ex} (1.23) Definição 1.3.2 A partição poliédrica é uma coleção de conjuntos poliédricos {Ri}Ri=1=
R1, ..., RNreg é a partição poliédrica de um conjunto poliédrico X se,
{ui}Nregi=1 Ri = X (Ri/∂Ri) ∩ (Rq/∂Rq) = /0, ∀ i 6= q (1.24) em que, ∂ significa a fronteira.
Definição 1.3.3 A função afim por partes ou Piecewise-Affine Function (PWA) é uma função u: x → Rdcom d∈ N+ é afim por partes se a partição {Ri}Ri=1de um conjunto X existir, como:
Programação Linear Multiparamétrica em Controle de Sistemas
O método de programação multiparamétrica surgiu nas últimas décadas como uma técnica importante para a solução de problemas de otimização. Este método é bastante reconhecido, e muitos avanços significativos foram estabelecidos, tanto na teoria, quanto na aplicação em problemas de engenharia, como por exemplo, projetos de controle para sistemas sob restrições (Pistikopoulos 2012).
Recentemente, métodos têm sido desenvolvidos usando a programação multiparamé-trica com o intuito de controlar sistemas lineares sujeitos a restrições nas variáveis de estado e controle (Johansen et al. 2006).
A programação multiparamétrica, quando aplicada ao projeto de controle por reali-mentação de estado, tem como objetivo principal determinar uma lei de controle explí-cita, ou seja, antes de o sistema estar em operação já serão conhecidos todos os valores de ações de controle, estabelecidas de forma off-line. Esta lei de controle pode ser obtida a partir da solução de um problema de otimização mp-LP.
De acordo com Bemporad et al. (2002), a solução do algoritmo mp-LP, em projetos de controle, assume a forma de uma lei de controle por realimentação de estado PWA explícita, que pode ser representa da seguinte forma:
u(x(k)) u1= F1x(k) + g1, se x(k) ∈ R1 .. . ui= Fix(k) + gi, se x(k) ∈ Ri i= 1, ..., Nreg (1.26)
em que, x é o estado do sistema, que atua como entrada para a função de controle. As matrizes Fie os vetores gidefinem uma realimentação fixa, e uma mudança constante para
uma dada lei de controle. O estado atual medido representa uma parte de uma região polié-drica Ri, a soma destes conjuntos formam uma partição de poliedros X = R1, R2, R3, ..., Ri
no espaço de estados. As regiões poliédricas Ri podem ser caracterizadas da seguinte
forma:
Ri= {x ∈ Rn|ARix≤ bRi} (1.27)
A solução explicita PWA (1.26), pré-calculada off-line, pode ser representada por uma tabela de pesquisa da lei de controle PWA (do inglês lookup-table of PWA control law). Esta tabela é armazenada para ser utilizada em procedimentos on-line (Prajapati & Patel 2013). Neste procedimento os parâmetros Fi e gi são selecionados de forma on-line para
um determinado valor conhecido de x(k) ∈ Ri, conforme os seguintes passos (Števek
et al. 2013):
1. Observe o estado atual x(k) do sistema no instante k ; 2. Identifique a região Rique contém o estado x(k);
3. Calcule u(k) avaliando a lei de realimentação ui= Fix(k) + gi;
4. Aplique u(k) no sistema. Exemplo numérico 3
O problema LP (1.21) do exemplo numérico 2 pode ser representado por problema mp-LP parametrizado em x(k) ∈ ΩC= {Gcx≤ ρc} usando manipulações algébricas
dire-tas, como segue:
min z Hz su jeito a: Dz ≤ W + Ex (1.28) em que, H = 0 1 , D = GcB −ρc V 0 , z = u ε , W = −δ ϕ , E = GcA 0
A solução do problema mp-LP (1.28), no projeto de controladores sob restrições, resulta em uma lei de controle por realimentação de estado PWA associada a um conjunto de regiões poliédricas no espaço dos parâmetros x(k) da seguinte forma (Borrelli et al. 2003):
1. O conjunto Ωc (poliédrico invariante controlado) é particionado em diferentes
re-giões poliédricas, i. e.: Ri= {x ∈ Rn|Pix≤ bi} , i = 1, ..., Nreg
2. A solução ótima u∗(x(k)) : Ωc→ Rmé uma função afim sobre Ri, i. e.:
u∗(x(k)) = Fix(k) + gi, para x(k) ∈ Ri
3. A função custo ótima V : X → R é contínua, convexa e afim por partes, i. e.: V(x) = Bix+Ci, se x ∈ Ri
O problema de programação linear multiparamétrica (1.28) pode ser resolvido pela função mp-LP do pacote MPT para software Matlab R desenvolvido no ETH-Zurich.
Para o Exemplo 3, a função mp-LP retornou como solução uma lei de controle por reali-mentação de estado PWA, como mostra a Figura 1.4.
Figura 1.4: Regiões poliédricas e uma trajetória do vetor de estados (Solução off-line).
Fonte: Dantas (2018).
No exemplo numérico 3 a função mp-LP subdividiu o conjunto invariante controlado Ωc, em duas regiões poliédricas (R1, R2) e determinou suas respectivas leis de controle
explícitas em função dos estados do sistema, como mostra a Tabela 1.1 :
Tabela 1.1: Solução do problema de programação linear multiparamétrica. Região Poliédrica Ri= Hix≤ zi u(x) = Fix(k) + gi
Se x(k) ∈ R1 [−0, 5714 − 1, 7357]x(k) + 0
Se x(k) ∈ R2 [−0, 6000 − 1, 8000]x(k) + 0
Na Figura 1.4 também é apresentada a trajetória do vetor de estados do sistema con-vergindo para a origem, com a mesma condição inicial do exemplo numérico anterior. Esta trajetória foi obtida a partir da solução off-line, onde a cada instante de tempo k a região Ri, do estado atual x(k), foi localizada e a lei de controle explícita equivalente para essa região utilizada.
1.3.2
Programação Multiparamétrica em Controle Preditivo
O controle preditivo baseado em modelo (Model Predictive Control - MPC) é uma técnica bem conhecida, amplamente usada nos processos industriais para a regulação au-tomática de plantas industriais sob restrições operacionais (Camacho & Bordons 2007). A tecnologia do controlador MPC foi originalmente desenvolvida para usinas e aplica-ções de controle em refinaria de petróleo, mas atualmente pode ser encontrada em uma grande variedade de ambientes de produção, incluindo produtos químicos, processamento de alimentos, automotivos e aeroespaciais (Kouvaritakis & Cannon 2001).
Tradicionalmente, na estratégia clássica do controlador MPC, as entradas futuras são obtidas a partir de um processo de otimização realizado a todo instante (on-line), que leva em consideração uma função custo e as restrições específicas do sistema (Pistikopoulos 2012).
Apesar das vantagens do controlador MPC ao lidar com restrições, sua aplicação pode se tornar inviável em sistemas de grande dimensão e de dinâmica rápida, devido aos requi-sitos computacionais existentes na otimização on-line (Pistikopoulos 2012). Os métodos de otimização on-line, atualmente utilizados nos controladores MPC, realizam todos os cálculos a cada instante de tempo. Este procedimento, geralmente, para uma quantidade maior de entradas, saídas e restrições mais complexas, torna o uso do controlador MPC inviável para sistemas dinâmicos rápidos, como, por exemplo, sistemas embarcados en-contrados na robótica e aeronáutica (Weinkeller et al. 2013).
Ao observar, os problemas provenientes do controle MPC com otimização on-line, surgiu, nos últimos anos um interesse em aplicar o método de programação multiparamé-trica ao controle preditivo baseado em modelo, tornando-o comumente conhecido como controle MPC explícito (Sakizlis et al. 2007). Este controle pode ser considerado um tipo de controle avançado, que realiza de maneira off-line um mapeamento exato das variáveis de controle ótimas em função das variáveis de estado do sistema (Kouramas et al. 2011).
é a possibilidade de substituir os cálculos repetitivos da otimização on-line do MPC por um simples cálculo das funções explícitas (off-line). Além disso, os valores factíveis de ações de controle podem ser armazenados, trazendo agilidade para o controle preditivo e um menor custo computacional ao realizar o controle de processos (Pistikopoulos 2012). No entanto, apesar de todas as vantagens oferecidas pela programação multiparamé-trica em sistemas de controle, a técnica apresenta desvantagens que devem ser levadas em consideração, quando se trata do custo computacional off-line e os requisitos de memória, pois, dependendo da complexidade do sistema, a capacidade da memória disponível pode ser insuficiente com o aumento do número de regiões factíveis.
Controladores PWA-PI
Os sistemas PWA são bem conhecidos em controle, pois vários sistemas de controle práticos possuem componentes afins (Wei et al. 2018) (Nie & Zheng 2015). Os sistemas PWA podem modelar tanto os sistemas reais quanto o projeto de controladores (Shorten et al. 2007). Em geral, quando o objetivo é encontrar uma lei de controle do PWA para o projeto de controladores restritos, a técnica de programação multiparamétrica é frequen-temente usada (Zhang et al. 2016). Neste caso, um problema de programação linear ou quadrática é convertido em um problema de programação multiparamétrico (linear ou quadrático), que retorna como uma solução os parâmetros da lei de controle PWA em um conjunto de regiões poliédricas de acordo com a Equação (2.1) (Gersnoviez et al. 2017). ∀ x(k) ∈ Rj, u(k) = Fjx(k) + gj, f or j = 1, · · · , Nreg (2.1) em que x(k) é o vetor de estado, u(k) é o sinal de controle obtido pela lei PWA, Fj e
gjsão os parâmetros calculados correspondentes à região poliédrica Rj.
A programação multiparamétrica retorna uma solução ótima para o conjunto de restri-ções subdividido em regiões poliédricas, onde o valor ótimo e o otimizador são expressos como parâmetros de funções explícitas x(k) (Bemporad et al. 2002). A solução ótima do problema é definida como uma lei de controle PWA, pela realimentação de estados sobre um conjunto de regiões poliédricas (Dantas 2018).
2.1
Controlador PWA-PI Proposto
A ação de controle expressa em (2.1) é a equação do controlador PI afim por partes proposto neste trabalho. Para sintonizar os parâmetros PI de maneira similar aos contro-ladores preditivos explícitos, o vetor de estado x(k) deve ser reescrito como uma função do erro e da integral do erro, forçando a programação multiparamétrica a encontrar os parâmetros do controlador PWA-PI. Os passos a seguir visam obter esses parâmetros.
Considere que o sistema apresentado a seguir pode ser controlado por um PWA-PI, como mostrado na Figura 2.1.
Figura 2.1: Digrama de Blocos do controlador PWA-PI proposto
G(s)
Neste trabalho, considere que o sistema a ser controlado é descrito por: G(s) = b
s+ a (2.2)
Para calcular a lei PWA-PI para o sistema mostrado na Equação (2.2), é necessário aplicar conceitos de projeto de controlador por realimentação de estados. Considerando o erro de realimentação e(t) = y(t) − r(t) e o fato do setpoint r(t) não afetar o resultado, pode-se assumir que r(t) = 0 para simplicidade matemática, o que resulta em e(t) = −y(t). Levando em conta essas considerações, e tomando por base a equação mostrada
em (2.2) com sua devida transformada inversa de Laplace, tem-se: dy
dt + ay = bu (2.3) como e = -y, logo obtém-se:
˙
e= −ae − bu (2.4) Agora, objetivando permitir a modelagem dos elementos do controlador de realimen-tação de estados na forma de um controlador PI, é necessário definir as variáveis de es-tados como x1=R0te(t)dt e x2= e , em que X (t) = [x1 x2]T. Desta maneira, levantando
em conta a equação (2.4) e as variáveis de estados escolhidas, obtém-se representação no espaço de estados contínuo do sistema:
˙ x= 0 1 0 −a x+ 0 −b u. (2.5) Observa-se que (2.5) não corresponde a representação mínima de (2.2) no espaço de estados, pois o sistema (2.2) é de primeira ordem, enquanto a representação (2.5) é de segunda ordem, sendo esse acréscimo de ordem devido a necessidade de se contemplar os dois parâmetros do controlador PI, a serem calculados mais a frente.
O sistema pode ser expresso na forma de espaço de estados discreto como:
x(k + 1) = Ax(k) + Bu(k), (2.6) a partir disso, os parâmetros do controlador de realimentação de estado podem ser cal-culados pelo problema de programação multiparamétrica, parametrizado em x(k) ∈ Ω = {Gx ≤ ρ} (Weinkeller et al. 2012):
min v c Tv+ dTx Su jeito a : Dv ≤ W + Ex (2.7) em que, cT = 0 1 , dT = 0 0 , D = GB −ρ Uc 0 , v = u ε , W = 0 ϕ , E = GA 0
em que o conjunto poliédrico de restrições definido no espaço de estados é Ω = {x : Gx ≤ ρ}, o sinal de controle está sujeito às restrições u(k) ∈ Ψ = {u : Ucu≤ ϕ}. Neste caso, o
con-junto Ω definido no espaço de estados é um concon-junto invariante de controle λ-contrativo, onde λ é a taxa de contração (0 < λ < 1) que determina a trajetória convergente do sistema para o ponto de equilíbrio x∗.
Este conjunto contém todos os estados x(k) que podem ser controlados por um sinal de controle u(k), ∀ x(k) ∈ Ω, ∃ u(k) ∈ Ψ : x(k + 1) = Ax(k) + Bu(k) ∈ λΩ. O conjunto invariante controlado λ-contrativo, pode ser calculado usando os métodos propostos por Blanchini (1994) e Dorea & Hennet (1999), onde um conjunto admissível, para o qual as restrições são satisfeitas no momento x(k + 1), é determinado.
Então, uma condição geométrica, descrita pelo lema estendido de Farkas (Schrijver 1998), é determinada por Castelan & Hennet (1993). Finalmente, as relações de inva-riância controladas são usadas e, a partir da interseção entre os dois conjuntos, um novo conjunto de restrições é obtido. Essas etapas são executadas até que a convergência para
o maior conjunto invariante controlado seja atingida. Esse conjunto é usado no projeto do controle restrito, porque é considerado uma ferramenta importante para estabilidade, in-dependentemente da técnica usada para calcular o sinal de controle (Vassilaki et al. 1988), (Blanchini 1999), (Dorea & Hennet 1999), (Blanchini & Miani 2008) (Athanasopoulos & Bitsoris 2009), (Li & Liu 2016) e (Dantas 2018).
Neste trabalho, a solução mp-LP (2.1) é definida dentro do conjunto invariante λ-contrativo controlado Ω. Neste caso, o sistema realimentado torna-se não linear quando o controlador alterna entre as partições poliédricas Ri, mas a estabilidade do sistema é
assegurada, uma vez que a sequência de controle calculada, a partir da solução do pro-blema de otimização (2.7), é capaz de manter a trajetória dos estados dentro do conjunto invariante controlado com contração na mesma taxa λ (Blanchini 1994).
O sistema deve ser discretizado usando um período de amostragem apropriado. En-tão, dado um conjunto invariante λ-contrativo controlado, o problema de programação multiparamétrico (2.7) é resolvido para definir os parâmetros Fj e gj, da Equação (2.1).
O termo Fjmultiplica o estado x(k) = [x1(k) x2(k)]T, que corresponde à integral do erro
e ao erro, respectivamente. Portanto, para este caso, os parâmetros do controlador PI são definidos por Fj = [Kij K pj] e na equação de controle PI é adicionado um termo afim
gj, dado pela solução de programa linear multiparamétrico (mp-LP). Consequentemente,
uma lei de controle PI afim por partes é projetada. Perceba que os variáveis Kij K pj são
os ganhos integral e proporcional, respectivamente.
2.2
Implementação do Controladores PWA-PI
Nas seções anteriores, foi apresentado um sistema de primeira ordem que pode ser controlado por Controlador PI afim por partes. Em seguida, o sistema de malha fechada foi redesenhado na forma de espaço de estados, para projetar um controlador PWA-PI usando o conceito de conjuntos invariantes λ−contrativo controlados, juntamente com a
solução do problema de programação linear multiparamétrica. Apesar de apresentar a teoria, para entender melhor o controlador PI proposto, o objetivo principal é controlar sistemas industriais, sintetizando sinais de controle que possam ser usados em contro-ladores industriais (CLP). Abaixo é apresentado o algoritmo para se obter a sintonia do controlador PWA-PI, implementado no The Multi-Parametric Toolbox (MPT) para Ma-tlab R (Herceg et al. 2013).
Algoritmo 1 Sintonia do Controlador PWA-PI Multiparamétrico Entrada: Parâmetros de restrições e o modelo do sistema; Saída: F, g e Ωc;
1: Converter o sistema de tempo contínuo (2.2), em uma representação no espaço de estados, tomando como variáveis de estados o erro de realimentação e sua integral, de acordo com a equação (2.5);
2: Discretizar a representação no espaço de estados usando o período de amostragem adequado;
3: Calcular o conjunto invariante máximo de controle λ-contrativo contido no conjunto de restrições;
4: Resolver o mp-LP em (2.7) para obter a lei de controle do PWA.
O Algoritmo 1 apresentado, resume as etapas necessárias para sintonizar um contro-lador PWA-PI. Primeiro, converte-se o modelo real ou sistema identificado da função de transferência de tempo contínuo, para a forma de realimentação de estados apresentada na Equação (2.5). Como a abordagem proposta está em domínio discreto, a segunda etapa é converter o sistema realimentado no espaço de estado contínuo para a forma de espaço de estados de tempo discreto, usando um período de amostragem adequado. Depois disso, é calculado o conjunto invariante máximo λ-contrativo controlado, considerando as confi-gurações de restrições reais do sistema, para garantir que qualquer informação do erro e da integral do erro, contido dentro do conjunto invariante, exista um sinal de controle que pertença a um conjunto de restrições que força o erro a zero. Finalmente, calcula-se os parâmetros de sintonia a partir da solução do problema de programação multiparamétrico (2.7).
assumi-Figura 2.2: Visão geral do sistema de controle e da lei de controle do PWA calculada pelo algoritmo 1.
se a referência zero, considerando que os estados tendem a zero. Embora o projeto do controlador considere a referência zero, é projetado um controlador PI cuja característica é forçar o erro a zero, já que o fator integrador permanece. Pode-se ver também que a integral do módulo de erro aumenta à medida que o módulo de referência aumenta, o que é necessário para forçar o erro a zero. No entanto, isso aproxima o valor aos limites do conjunto invariante. Além disso, se a variação da referência for muito alta, o erro poderá se aproximar instantaneamente dos limites do conjunto invariante ou até mesmo ultrapassá-lo. Isso significa que, embora o conjunto invariante controlado garanta as restrições, pois a diferença da referência para zero é reconhecida como uma perturbação para o sistema de malha fechada, ainda é possível violar as restrições. Isso acontece quando a variação de referência é muito alta ou o valor de referência faz com que a integral do erro ultrapasse as restrições.
Depois de projetar o controlador PWA-PI e obter seus parâmetros, o próximo passo é implementar as rotinas do controle no CLP. Como consequência disso, foram criados três algoritmos integrados para serem usados na programação do CLP, o primeiro deles é apresentado da seguinte forma:
Algoritmo 2 Rotina Principal do Laço de Controle
Entrada: Saída do Sistema (Process Variable - PV), Modo (manual ou automático), Setpoint(SP), Sinal de Controle em Manual (MAC);
Saída: Sinal de Controle (Manipulated Variable - MV);
1: se (Modo == 1)
2: Execute o Algoritmo 3: PWA-PI(SP,PV);
3: senão
4: MV = MAC;
O Algoritmo 2 resume a parte da função mais externa, ou seja, é a rotina principal CLP. Basicamente, se o Modo for igual a 1, o algoritmo inicia o modo automático, que consiste em ler a variável do processo (PV) do CLP e o valor de referência inserido pelo operador (SP). Em seguida, chama o Algoritmo 3, passando os parâmetros de entrada SP e PV. Se for inserido qualquer outro valor para Modo diferente de 1, a rotina entra no modo manual. A rotina manual consiste em enviar para MV o valor do Sinal de Controle em Manual (MAC), previamente definido.
O Algoritmo 3 tem como objetivo calcular o sinal de controle, da seguinte maneira: Algoritmo 3 Rotina PWA-PI
Entrada: SP, PV;
Variáveis Internas: F (mais adiante atribuído a K p e Ki), g (mais adiante atribuído a Bias);
Saída: Sinal de Controle (MV);
1: Calcular o valor da integral do erro (ei(k)); 2: Calcular o valor do erro (e(k));
3: Atribuir os erros ao vetor de estados: x(k) = [ei(k) e(k)]T; 4: Execute o Algoritmo 4: j = isInside(x(k));
5: se (j 6= −1)
6: Ki= Fj,1 7: K p= Fj,2 8: Bias= gj 9: fim_se
10: Calcular MV: MV = (K p)e(k) + (Ki)ei(k) + Bias.
No Algoritmo 3 o sinal de controle PWA-PI é calculado. A função recebe como en-trada, tanto o Setpoint (SP), quanto a variável do processo (PV) da rotina geral descrita no
Algoritmo 2 e retorna o sinal de controle pela abordagem proposta. Note que os valores de Fie gi, calculados no Algoritmo 1, devem ser inseridos manualmente como parâmetros
Variável Interna (Figura 2.2). Esses parâmetros não mudam, desde que a aplicação per-maneça a mesma. A rotina de cálculo do sinal de controle é bem simples. Primeiramente, calcula-se os valores do erro e da integral do erro. Então, ambos os valores são usados para encontrar a região poliédrica Rj à qual os erros pertencem. Conforme descrito na
Seção 2.1, a região poliédrica Rj é associada aos parâmetros Fj e gj, que correspondem
aqueles necessários para calcular o sinal de controle. Devido à sua importância, o algo-ritmo para encontrar o valor de j, usado para encontrar a região poliédrica e os parâmetros associados, é descrito da seguinte forma:
Algoritmo 4 Rotina isInside Entrada: vetor de estados (x(k));
Variáveis Internas: Ωc(Conjunto Invariante λ-contrativo Controlado);
Saída: isInside; Região em que os estados estão (-1 é nenhum deles);
1: isInside := -1;
2: Para j = 1 até Quantidade_regioes
3: se (vetor de estados está contido dentro da região);
4: isInside := j;
O Algoritmo 4 apresenta as etapas necessárias para encontrar a região poliédrica ativa no espaço de estados e, em seguida, encontrar seus parâmetros associados. É importante notar que a técnica de programação multiparamétrica retorna os parâmetros afins por par-tes Fj e gj da lei PWA, associados a regiões poliédricas do conjunto invariante Ωc. Em
outras palavras, está relacionado ao controle PWA. Isso significa que o índice j é impor-tante para localizar a lei de controle do PWA (u(k) = Fjx(k) + gj), usada para calcular o
sinal de controle, que está garantindo as restrições dos estados dentro do conjunto invari-ante e, consequentemente, dentro das restrições definidas. A Figura 2.3 mostra como os Algoritmos 2, 3 e 4 são combinados na programação do CLP.
Figura 2.3: Fluxograma mostrando os algoritmos 2, 3 e 4 combinados na programação do CLP
Como mostrado na Figura 2.3, o CLP coleta os dados da PV e envia os valores de MV para a planta, onde a MV foi derivado da lei de controle (linha 10 do Algoritmo 3). Além disso, o CLP executa um conjunto de sub-rotinas, ou seja, os Algoritmos 2, 3 e 4 para calcular o valor de MV.
O Algoritmo 2 decide se o Algoritmo 3 será executado ou não com base na decisão do operador. Se o operador decide iniciar o Modo de operação para 1 (modo automático), o algoritmo 3 será executado. O Algoritmo 3, quando executado, recebe parâmetros SP e PV da planta, recebendo j do Algoritmo 4, cujo índice j será usado para obter os índices das variáveis internas Fje gj. Note que o Algoritmo 4 é executado a partir do Algoritmo
3, recebendo x(k) do Algoritmo 3 para encontrar o índice j, retornando-o ao Algoritmo 3. Também é importante notar que todos os algoritmos desenvolvidos, conforme Figura 2.3, são implementados em linguagem de texto estruturada (ST), cujo código integral pode ser visualizado no apêndice A.
Aplicações com o Controlador PWA-PI
Neste capítulo, o foco está na implementação prática, na codificação do controla-dor PWA-PI e nos resultados obtidos. Neste ponto, já foram obtidos as sintonias para o controlador PI e todos os parâmetros foram inseridos no código feito no ambiente de programação do CLP. Para os testes de conformidade desta Tese, o CLP usado foi o Altus DUO TB 131 (Altus 2018). Serão apresentados dois resultados de controle, uma foi ob-tido usando uma planta de nível, conforme Figura 3.2. O outra, em uma planta eletrônica de segunda ordem contida dentro da Maleta de Treinamento Training Box Duo da Altus. Esse circuito eletrônico simula todos as características físicas de uma planta real, sendo perfeitamente válida para a aplicação do controlador proposto.
3.1
Training Box Duo TB 131
Para implementar o código PWA-PI proposto em CLPs industriais, foi utilizado a Training Box Duo (Altus 2018). Essa maleta de treinamento da Altus, ilustrada na Figura 3.1, é uma solução didática completa, com recursos que permitem realizar simulações dos elementos presentes nos sistemas industriais. Este equipamento é útil para laboratórios de pesquisa comercial e instituições educacionais, porque pode ser facilmente ligado a uma planta industrial, podendo se comunicar com vários softwares Scada via ModBus RTU.
inte-Figura 3.1: Maleta Training Box Duo TB 131
grada) com processador de 32 bits, sua unidade central de processamento (UCP) possui uma tela gráfica de 3,2 polegadas, que permite a visualização das diversas variáveis da programação e faz interação com os dados dos processos industriais. O circuito dedicado do equipamento possibilita simular controle de sinais digitais e analógicos, inclusive de laços PID, e tem capacidade de ligação de até 16 maletas em rede MODBUS RTU. Ela utiliza o software de programação MasterTool IEC, que é gratuito e conta com 5 lingua-gens descritas pela norma IEC 61131-3 (LD, FBD, ST, IL e SFC), além de uma linguagem adicional (CFC). Esse CLP utilizar a equação PID na forma padrão, conforme Equação 3.1: MV = KP e(t) + 1 Ti Z e(t)dt + Tdde(t) dt (3.1) As principais características deste equipamento são:
• Blocos terminais para entradas digitais com teclas de simulação e indicação de statusfeita por LEDs.
• Blocos terminais para conexões de entrada analógica em escala de tensão e corrente, além de um potenciômetro para simulação de entradas de tensão.
• Bloco de terminais para conexão de saída analógica.
• Medidor de tensão digital para indicação de status de saída analógica. • Bloco de terminais para conexão de entrada rápida.
• Motor de passo para uso com saídas rápidas. • Codificador para uso com contador rápido.
• Conectores para link de portas seriais RS-232 e RS-485. • Tomada de alimentação para Notebooks.
• Simulação de perturbações para estudo de controle do PID.
O Training Box Duo, como outros CLPs, tem características importantes que devem ser destacadas. Nesse CLP, por exemplo, alguns blocos de funções possuem um período de atualização diferente do ciclo de trabalho principal do CLP, o que pode influenciar o cálculo do controlador. Além disso, problemas numéricos (integração, por exemplo) podem afetar o cálculo da região associada à lei de controle. Por fim, há outros problemas geralmente associados ao hardware, como módulos de entrada/saída ou equipamentos de campo, interferência e limitação de memória.
Neste trabalho, esse CLP foi usado nos dois sistemas diferentes e utilizou a comuni-cação OPC (OLE for Process Control) para conectar o Elipse Scada ao Matlab, onde o Elipse Scadafoi utilizado como servidor OPC e o Matlab como cliente OPC. O Matlab foi utilizado para analisar os dados obtidos das plantas, identificar os modelos de função de transferência de primeira ordem e realizar o Algoritmo 1, conforme pode ser visto na Figura 2.2.
Na primeira aplicação, o PWA-PI foi utilizado para controlar um circuito eletrônico de segunda ordem disponível no Training Box Duo, que simula um sistema de temperatura, segundo o fabricante.
3.2. Esta planta tem um vaso de 80 cm de altura com 100 cm de diâmetro. Os dados de nível são obtidos por um transmissor de pressão Smar LD301. A bomba é de 0,5 HP e o inversor de frequência é um WEG CFW-07. Tanto o circuito eletrônico quanto a Planta de Nível usaram o mesmo CLP.
Figura 3.2: Planta de nível usada nos testes do controlador PWA-PI.
Para identificar os dois sistemas, assumiu-se que os modelos podem ser representados por funções de transferência de primeira ordem. Para estimar essas funções de transfe-rência de primeira ordem, como representado pela Equação (2.2), usou-se o ensaio de resposta ao degrau pelo método de Smith (1985) e pelo método de Sundaresan & Krish-naswamy (1978), como também o método Åström & Hägglund (1995) baseado no relé.
A metodologia pode ser resumida da seguinte forma: a partir da resposta ao degrau ou do ensaio do relé realimentado, os dados de entrada e saída das plantas são coletados e os modelos são identificados (Pinto 2014). Os controladores são sintonizados em seguida (Figura 2.2). Finalmente, o comportamento de malha fechada com o PWA-PI é verificado. Os exemplos a seguir visam ilustrar o conceito de conjunto invariante controlado e fazer uma comparação com outro método de sintonia, verificando seus desempenhos.
3.2
Circuito Eletrônico na Training Box Duo
No primeiro exemplo, identificou-se três modelos de funções de transferência de pri-meira ordem para comparar o desempenho do controlador PWA-PI sintonizado e sua ade-rência a diferentes modelos do mesmo sistema de controle. O período de amostragem para esta planta foi de 0,5 segundos. Os modelos (3.2), (3.3) e (3.4) foram obtidos pelos métodos Smith, Sundaresan e Åström, respectivamente.
M1(s) = 0.22 s+ 0.2222 (3.2) M2(s) = 0.2463 s+ 0.2487 (3.3) M3(s) = 0.285 s+ 0.2903 (3.4) Para cada modelo de primeira ordem identificado, considerando ser uma planta de temperatura simulada, cinco testes foram realizados com parâmetros diferentes, conforme mostrado na Tabela 3.1. As restrições do erro foram definidas nos intervalos −50oC e 50oCe o ponto de operação em 50oC. Essas suposições fazem com que a temperatura da planta varie no intervalo de 0oC a 100oC, que seriam os limites mínimos e máximos da saída, respectivamente.
Observe que o λ é a taxa de contratividade do conjunto invariante, que pode interferir no tempo de acomodação, e a restrição na integral do erro é o parâmetro que influencia o ganho integrativo da lei de controle do PWA-PI. Assumiu-se que a integral do erro pode afetar o desempenho da planta, como tempo de acomodação e sobressinal, além de eliminar os erros de regime estacionário, como ocorre nos controladores PI comuns.
Tabela 3.1: Condições de teste usando os modelos identificados. Modelos Teste λ Restrição
do Erro Restrição da Integral do Erro Teste 1 0.9 [50 -50] [150 -150] Teste 2 0.9 [50 -50] [200 -200] M1(s) Teste 3 0.9 [50 -50] [300 -300] Teste 4 0.8 [50 -50] [150 -150] Teste 5 0.77 [50 -50] [250 -250] Teste 1 0.9 [50 -50] [150 -150] Teste 2 0.9 [50 -50] [200 -200] M2(s) Teste 3 0.9 [50 -50] [300 -300] Teste 4 0.8 [50 -50] [150 -150] Teste 5 0.77 [50 -50] [250 -250] Teste 1 0.9 [50 -50] [150 -150] Teste 2 0.9 [50 -50] [200 -200] M3(s) Teste 3 0.9 [50 -50] [300 -300] Teste 4 0.8 [50 -50] [150 -150] Teste 5 0.77 [50 -50] [250 -250]
A Tabela 3.2 mostra os resultados da avaliação de desempenho usando dois indicado-res de desempenho de malhas de controle, o erro quadrático médio (Mean Square Root - MSE) e Goodhart (Goodhart et al. 1994). O limite máximo do sinal de controle foi 100%. Esse indicador de desempenho leva em consideração tanto o erro, quanto o sinal de controle, desta forma sendo uma boa escolha para um único indicador.
Goodharté um índice de avaliação de desempenho de malhas de controle, que consi-dera o esforço de controle médio, p1; a variância do sinal de controle, p2; e a média do erro quadrático, p3, conforme as seguintes equações:
1. Esforço do controle médio dado por
p1 = ∑ |u(k)|
N , (3.5)
2. A variância do sinal de controle em torno da média, dado por p2 = ∑[u(k) − p1]
2
N , (3.6)
3. O desvio médio total da saída em relação ao valor de referência, dado por p3 =∑[r(k) − y(k)]
2
N , (3.7)
em que r(k) é o valor de referência e y(k) é a saída do processo.
O índice de Goodhart é uma combinação afim de p1, p2 e p3, dado por
Goodhart= α1p1 + α2p2 + α3p3 (3.8)
em que α1, α2, α3 são os pesos atribuídos, cuja soma deve ser um. Neste trabalho, foi
considerado pesos iguais para p1, p2 e p3, ou seja, cada um dos pesos é igual a 1/3. A escolha dos pesos, depende da importância que se deseja ter como resultado. Por exemplo, caso deseja-se ter uma influência maior no indicador referente a variação do sinal de controle, então dá-se um peso maior para p2.
Tabela 3.2: Análise da avaliação de desempenho do PWA-PI com diferentes parâmetros de restrições.
Modelo Testes MSE Goodhart Teste 1 360.78 351.35 Teste 2 270.59 273.96 M1(s) Teste 3 259.09 252.43 Teste 4 355.58 359.86 Teste 5 307.05 310.81 Teste 1 347.95 352.17 Teste 2 283.43 287.81 M2(s) Teste 3 234.73 228.36 Teste 4 295.23 298.68 Teste 5 300.64 304.90 Teste 1 290.30 284.22 Teste 2 274.88 269.15 M3(s) Teste 3 233.59 227.24 Teste 4 282.92 275.15 Teste 5 235.88 230.77
Os parâmetros do Teste 3 resultaram no melhor desempenho para o controlador usando o modelo M3(s). Portanto, serão usados esses parâmetros para mostrar os resultados do
controle PWA-PI no restante desta seção. Adicionalmente, percebeu-se que um aumento numérico nos parâmetros da integral do erro melhorou o desempenho da planta neste caso. Em resumo, definiu-se o ponto de operação em 50oC. Os parâmetros de restrição da saída do processo (variável de processo - PV) foram: 0opara limite inferior e 100oCpara limite superior, provenientes das estrições do erro conforme Tabela 3.1. Os parâmetros de restrição utilizados para o sinal de controle (variável manipulada - MV) foram: 0% para o limite inferior e 100% para o limite superior. Os parâmetros de restrição utilizados nos três modelos foram: -50 e 50 para o erro, e -300 e 300 para a integral do erro. Além disso, definiu-se λ como 0,9. A partir desses parâmetros, foi encontrada uma lei de controle do PWA com 20 regiões poliédricas para o modelo (3.4), conforme mostrado na Figura 3.3. A Tabela 3.3 mostra as respectivas leis de controle explícitas (PWA-PI) para cada região poliédrica.
Figura 3.3: Conjunto Invariante com 20 regiões poliédricas (modelo M3(s)).
Tabela 3.3: Regiões poliédricas e leis de controle explícitas - Teste 3 do modelo M3(s)
Região Poliédrica Ri u(x) = Fix(k) + gi
Se x(k) ∈ R1 [0, 3175 8, 673]x(k) + 0 Se x(k) ∈ R2 [0, 3170 8, 633]x(k) + 0 Se x(k) ∈ R3 [3, 344e−17 8.573e−18]x(k) + 50, 5 Se x(k) ∈ R4 [0 1.876e−17]x(k) − 49, 5 Se x(k) ∈ R5 [0 1.876e−17]x(k) + 50, 5 Se x(k) ∈ R6 [3.344e−17 8.573e−18]x(k) − 49.5 Se x(k) ∈ R7 [6.458e−18 − 8.825e−17]x(k) + 50, 5 Se x(k) ∈ R8 [−9.792e−18 5.018e−17]x(k) − 49, 5 Se x(k) ∈ R9 [−2.056e−17 1.893e−17]x(k) + 50, 5 Se x(k) ∈ R10 [3.789e−19 − 9.482e−17]x(k) − 49, 5 Se x(k) ∈ R11 [8.548e−17 7.303e−17]x(k) + 50, 5 Se x(k) ∈ R12 [1.709e−18 − 1.05e−16]x(k) − 49, 5 Se x(k) ∈ R13 [−2.657e−17 1.468e−16]x(k) + 50, 5 Se x(k) ∈ R14 [2.44e−17 − 8.311e−18]x(k) − 49, 5 Se x(k) ∈ R15 [2.554e−17 3.074e−17]x(k) + 50, 5 Se x(k) ∈ R16 [−2.052e−17 1.755e−18]x(k) − 49, 5 Se x(k) ∈ R17 [−4.282e−17 − 5.007e−17]x(k) + 50, 5 Se x(k) ∈ R18 [5.665e−17 3.294e−17]x(k) − 49, 5 Se x(k) ∈ R19 [5.355e−17 5.402e−17]x(k) + 50, 5 Se x(k) ∈ R20 [−8.604e−17 − 1.851e−16]x(k) − 49, 5
Os parâmetros do PWA-PI foram obtidos para os modelos (3.2), (3.3) e (3.4). A partir do Algoritmo 1 tem-se os Fj, gj e Ωc para todos esses modelos. O próximo passo foi
inserir esses dados no CLP e testar o algoritmo desenvolvido para o controlador PWA-PI. Os testes consideraram condições iniciais igual a zero e ponto de operação, previamente definido, de 50oC.
A Figura 3.4 mostra a saída da planta obtida usando os parâmetros do Teste 3, mas ge-rados a partir dos modelos M1(s), M2(s) e M3(s). Há pequenas diferenças entre as saídas,
devido aos diferentes modelos. No entanto, o PWA-PI permanece com desempenho simi-lar. Esse pequeno teste foi para mostrar que mesmo com pequenas diferenças no modelo, as saídas foram equivalentes e o compromisso de controle do PWA-PI se manteve. Figura 3.4: Saída controladas da planta com os diferentes modelos M1(s), M2(s) e M3(s)
0 5 10 15 20 25 Tempo (s) 0 10 20 30 40 50 60 70 80 90 100 Temperatura ( ºC) Saída de M1(s) Saída de M2(s) Saída de M3(s)
Os demais ensaios a seguir foram realizados utilizando o modelo M3(s), com os
parâ-metros do Teste 3. A Figura 3.5 mostra a saída da planta usando a lei de controle PWA com 20 regiões poliédricas. Observe que, o sinal de controle está saturado, o que indica que essa restrição foi respeitada. O sobressinal foi de 58% e o tempo de acomodação
(critério de 5%) foi de 15 segundos.
Figura 3.5: Saída da planta controlada pelo PWA-PI.
0 5 10 15 20 25 30 35 Tempo (s) 0 10 20 30 40 50 60 70 80 90 100 Temperatura (ºC) 0 10 20 30 40 50 60 70 80 90 100 Sinal de Controle (%) Variável do processo - PV Variável manipulada - MV
Tempo de acomodação - critério de 5%
Na Figura 3.6, o setpoint foi alterado de 50oC para 90oC, deixando o mesmo próximo à restrição de saída máxima. Note que as restrições de saída e as restrições do sinal de controle também são respeitadas, e nesta região o sobressinal foi de 5,5%. Importante destacar que as restrições são obedecidas sem a necessidades de técnicas auxiliares, por exemplo, o anti-reset windup.