Você está na página 1de 81

Universidade Federal do Espírito Santo

Centro Tecnológico
Programa de Pós Graduação em Engenharia Elétrica

Apostila do Curso de Controle Preditivo


Baseado em Modelo
(CPBM)

Professor: José Leandro Félix Salles


Sumário:

1 – Introdução
1.1 – Definição do Controle Preditivo baseado em modelo (CPBM) .
1.2 – Histórico e Terminologia
1.3 – Fatores de sucesso do MPC em aplicações industrias:
1.4 – O Controlador Preditivo na Hierarquia de Controle
1.5 – Relação entre O MPC Com Outros controladores que usam previsão.

2 – Modelo Previsão Usando a Resposta ao Impulso


2.1 – Sistema Monovariável .
2.2 – Sistema Multivariável

3 – Modelo Previsão Usando a Resposta ao Degrau


3.1 – Sistema Monovariável Sem Distúbio
3.2 – Sistema Monovariável Com Distúrbio Não Mensurável.
3.3 – Sistema Monovariável com Distúrbio Mensurável
3.2 – Sistema Multivariável

4 – Modelo Previsão Usando a Função de Transferência


4.1 – Sistema Monovariável Sem Distúrbio
4.2 – Sistema Monovariável Com Distúrbio
4.2 – Sistema Multivariável

5 – Solução do Problema de Controle


5.1 – Solução do Problema de Controle Preditivo Monovariável Irrestrito
5.2 – Solução do Problema de Controle Preditivo Multivariável Irrestrito
5.3 – Solução do Problema de Controle Preditivo Monovariável Considerando
Restrições.
5.4 – Programação Quadrática
5.5 – Sintonia dos Parâmetros do CPBM
6 Controle Preditivo Baseado em Modelo Com Restrições Para Sistemas Com
Dinâmica Rápida

6.1 Solução do Problema de Programação Multiparamétrica


6.2 Sistemas Dinâmicos Afins por Partes
6.3 Controle Ótimo no Tempo Finito com Restrições (COTFR)
Controle Preditivo

1 - Introdução

Ao longo dos últimos 30 anos, estratégia de controle preditivo tem recebido cada
vez mais aceitação do meio industrial, devido aos benefícios que sua aplicação tem
produzido no desempenho dos processos . Os maiores benefícios tem ocorridos em
processos com longo tempo de atraso, com fortes interações entre as variáveis
controladas, e com restrições de operação. Em processos com estas características,
a capacidade de prever o comportamento futuro das variáveis do processo nas
proximidades dos limites de sua capacidade, é fundamental para garantir uma
operação otimizada do processo. Devido a isto, a ISA considera que o controle
preditivo é uma ferramenta importante capaz de diferenciar entre um bom e
um excelente Engenheiro de Controle.

1.1 – Definição do Controle Preditivo Baseado em modelo (CPBM) .

O Controle Preditivo Baseado em Modelo (CPBM) é uma estratégia de


controle que possui as seguintes características:

- usa um modelo explícito do processo para predizer a saída do mesmo


num determinado horizonte finito;
- As ações de controle futuras são calculadas minimizando uma
determinada função objetivo;
- O horizonte de previsão é deslizante, ou seja para cada período de
amostragem, o horizonte é deslocado um passo a frente. O sinal de
controle no instante atual é enviado ao processo, desconsiderando o resto
do controle dentro do horizonte.

A Figura 1 ilustra a estratégia do CPBM:

4/81
Controle Preditivo

Sinal de controle presente


Trajetória
de referência Erros Futuros
Previstos futuro e passado
Otimizador

Restrições Função Custo

Sinal de
Saída futura controle atual
prevista Modelo do
Processo
Processo
Real

Saída atual

Figura 1: Estratégia do CPBM

Trajetória de referência: representa o comportamento do sinal desejado para a


saída futura. É o conhecimento prévio desta trajetória que garante ao controlador
uma característica antecipativa. Pode ser o próprio Set Point ou uma função do Set
Poit da variável controlada.

Figura 2- Trajetória de referência

A trajetória da referência ( w ( j ) ) é dada pela seguinte expressão:


w ( j ) = r ( j ) , w ( j + k ) = α .w ( j + k − 1) + (1 − α ) .r ( j + k ) , k = 1...N

5/81
Controle Preditivo

onde α é o fator de previsão da referência e α ∈ [ 0,1] . Quanto maior o fator α ,

maior o amortecimento da resposta, fazendo com que a saída alcance o setpoint


(r(t)) de forma mais lenta.

Modelo do processo: deve ser capaz de representar o seu comportamento


dinâmico de forma suficientemente precisa. Conforme a necessidade, este modelo
pode ser linear ou não linear, e podendo ainda ser atualizado através de métodos de
identificação on line, conferindo ao controlador uma característica adaptativa.

Otimizador: minimiza a função custo a cada período de amostragem, de forma a


obter uma ação de controle que garanta um desempenho adequado ao sistema. A
função custo (J) é definida como a soma do erro entre a previsão da saída ( ŷ ) e a

referência desejada (w), podendo penalizar o esforço de controle (∆u) ou não.Pode


ser representado pela expressão:

hp 2 hc 2

J (k ) = ∑ δ  yˆ ( j + k | k ) − w ( j + k ) + ∑ λ ∆u ( j + k − 1)


j =d j =1
(2.0)

onde hp e d são os horizontes de previsão máximo e mínimo (marcam os instantes

onde é desejável que a saída siga a referência). hc é o horizonte de controle, δ e

λ são ponderações do erro e do esforço de controle respectiva- mente e geralmente


são escolhidos constantes ou exponenciais ao longo do horizonte.

1.2 – Histórico e Terminologia

O controle preditivo surgiu no meio industrial, onde ocorreram as primeiras


implementações no início da década de 1970 feitas por Richalet et al (1978), da
empresa francesa Adersa. Richalet et al (1978) publicou na revista Automática em
1978 a primeira aplicação do controle preditivo com o nome “Model Predicitve
Heuristic Control” (MPHC). O software comercial derivado desta técnica foi
denominado IDCOM (Identification and Command) e suas principais características
são:

6/81
Controle Preditivo

1 – Modelo de previsão através resposta ao Impulso;


2 – Função custo quadrática sobre o horizonte finito;
3 – Restrições nas variáveis de entrada e saída;
4 – Variáveis manipuladas são calculadas segundo um procedimento
heurítico;
5 – O comportamento futuro da variável manipuladas é especificada por uma
trajetória de referência.

A segunda geração do controlador preditivo, denominada Dynamic Matrix Control


(DMC) foi desenvolvida por engenheiros da Shell, liderados por Cutler e Ramaker. O
algoritmo foi apresentado num congresso da national AIChE em 1979, e suas
principais características são:

1 – Modelo de previsão através da resposta ao degrau;


2 - Função custo quadrática sobre o horizonte finito;
3 – Restrições nas variáveis de entrada e saída;
4 – As variáveis manipuladas são calculadas resolvendo um problema de
programação linear (PL).

A fim de melhorar o tratamento de restrições, Cutler et al (1983) incorporaram ao


DMC um algoritmo de programação linear quadrática, onde as restrições de entrada
e saída são explicitadas. Tal algoritmo foi denominado Quadratic Dynamic Matrix
Control (QDMC).

A terceira geração algoritmos de controle preditivo baseado em modelo busca


resolver várias questões relacionadas a:
- infactibilidade de soluções do problema de otimização quando ocorrem
distúrbios no sistema;
- estabilidade e tolerância a falha do controlador, a fim de manter o processo
funcionando quando ocorrem falhas nos sensores e atuadores;
- dificuldades de formulaçao da função custo na presença de objetivos
conflitantes;
- plantas com modelos variantes no tempo.
7/81
Controle Preditivo

Vários algoritmos MPC lineares foram desenvolvidos a fim de resolver estas


questões, sendo os principais deles o IDCOM, IECOM, SMCA, SMOC e o GPC.
Neste curso, além de estudarmos o controlador preditivo DMC, cujo modelo é
baseado em resposta ao degrau, abordaremos o GPC que usa modelo em função
de transferência tipo ARIMA, muito aplicado em sistemas de controle adaptativo e
plantas instáveis.

1.3 – Fatores de sucesso do MPC em aplicações industrias:

Nos últimos anos, houve um grande crescimento nas aplicações industriais de


controle preditivo baseado em modelos lineares. A Tabela 1 apresenta algumas
aplicações presentes no trabalho de Qin e Badgwell (2003), confirmando que a
indústria química e a do petróleo são as principais áreas de aplicação das
estratégias de controle preditivo baseado em modelo linear (MPC).

Os fatores que motivam a aplicação do MPC na indústria é que esta estratégia


permite um tratamento natural de processos com :

- Limitações Físicas dos atuadores


- Restrições sobre as variáveis controladas
- Múltiplas entradas e Múltiplas saídas
- Atraso de Transporte
- Ação de controle Antecipatória (Feedforward) sobre as perturbações.
- Permite a operação do processo numa região próxima a suas restrições
(comparando com o controle convencional ), o que conduz ao aumento da
produtividade da planta industrial.

8/81
Controle Preditivo

Área Adersa Aspen Honneywel Invensys SGS Total


Thecnology Hi-Spec
Refinaria 1200 480 280 25 - 1985
Petroquímica 450 80 - 20 - 550
Química 100 20 03 21 - 144
Papel 18 50 - - - 68
Ar e gás - 10 - - - 10
Utilidades - 10 - 04 - 14
Metalurgia 08 06 07 16 - 37
Alimentos - - 41 10 - 51
Polímeros 17 - - - - 17
Fornos - - 42 03 - 45
Aeroespacial - - 13 - - 13
Automotiva - - 07 - - 07
Outras 40 40 1045 26 450 1601
Total 1833 695 1438 125 450 4542

Tabela 1: Aplicações do CPBM no Setor Indústrial até 2003

Exemplos de restrições associadas às limitações físicas dos atuadores são: a


saturação de válvulas e as limitações da velocidade de abertura das mesmas. As
restrições sobre a variável controlada são definidas pelo controle de qualidade e
pelos custos de operação econômica da planta. Por exemplo, se um produto requer
calor durante a sua fabricação, os custos de operação são minimizados se o
fornecimento de calor ao processo for o menor possível. No entanto, o calor
fornecido deve ser o suficiente para manter a qualidade do produto dentro dos
padrões especificados. Portanto o controle de qualidade define qual deve ser a
restrição mínima de temperatura para otimizar os custos de operação.

9/81
Controle Preditivo

Um outro exemplo seria um reator químico, mostrado na Fig. Abaixo (ver


errata).

Figura : Reator Químico

O reagente entra do lado esquerdo deste reator, onde ocorre uma reação
exotérmica no seu interior. A temperatura da reação é mantida próxima do set point
ajustanto o fluxo de água de refrigeração do trocador de calor. O sucesso da reação
depende da temperatura estar próxima da especificada (set point), o que pode ser
garantido mantendo o fluxo do reagente e o fluxo da água de refrigeração entre os
limites mínimos e máximos. O objetivo é finalizar o produto gerado na reação no
menor tempo possível, sujeito as restrições impostas pelo controle de qualidade. Isto
quer dizer que devemos manter a taxa de fluxo do reagente a maior possível.

Devemos observar que a planta não deve ser operada no limite de sua
capacidade, mas sim com uma certa reserva, devido aos distúrbios inesperados
que podem ocorrer. No entanto, um bom sistema de controle deve ser capaz de
lidar com estes distúrbios, operando a planta o mais próximo possível das suas
restrições. Um argumento clássico a favor da técnica de controle ótimo linear é que,
se os distúrbios são aleatórios, e se podemos diminuir a variância da variável
controlada no menor valor possível, então podemos operar o processo o mais
próximo possível das suas restrições. Isto é ilustrado na Fig. 3, que mostra três
funções densidade de probabilidade hipotéticas da variável controlada (y) de uma
planta, e uma restrição de desigualdade (y <= ymax) que deve ser respeitada.A
distribuição (A) tem uma forma de Gaussiana com elevada variância, que é

10/81
Controle Preditivo

resultado do uso de um controlador linear que não está bem sintonizado, assumindo
que a planta tem um comportamento linear e que o distúrbio é um ruído Gaussiano.
A fim de manter uma pequena probabilidade de violação da restrição da saída, o Set
Point da variável controlada deve ser mantido distante das restrições, em relação
aos outros tipos de controladores. A curva (B) seria a função densidade de
probabilidade da variável controlada por um controle ótimo linear quadrático. A
variância seria reduzida, e portanto, poderia manter o Set Point mais próximo da
restrição do que o controlador da curva (A). A distribuição também seria Gaussiana
já que o controlador é linear.

Figura 3 – Melhoria do Set Point com o Uso do CPBM

A função densidade (C) mostra o efeito do controlador preditivo. O controlador está


mais atento às restrições, e portanto reage diferentemente em relação aos distúrbios
que agem no sentido de violar à restrição da variável controlada, do que aqueles
distúrbios que agem no sentido contrário a esta restrição.Assim o controlador é não
linear e a distribuição da variável de saída não é mais Gaussiana, mas sim uma
função não simétrica, permitindo operar a planta com um Set Point mais próximo
possível desta restrição.

11/81
Controle Preditivo

Um exemplo que mostra a importância do uso de controladores


preditivos na indústria é encontrado em tanques de armazenamento que funcionam
como buffers entre unidades individuais de processos de produção. O propósito
destes tanques é evitar que os distúrbios que ocorrem numa unidade do processo se
propaguem para a unidade seguinte. O nível do produto armazenado no tanque é
controlado, a fim de garantir que ele não fique completamente cheio ou vazio,
podendo variar livremente entre estes limites. Não existe, assim, a necessidade de
manter o nível próximo do set point, mas sim que as restrições de nível sejam
obedecidas. Tradicionalmente, o controle destes processos é feito através de
overrides, ou seja, uma variável manipulada controla duas ou mais variáveis que
possuem limites. Não obstante, a técnica de controle preditivo trata este tipo de
problema de maneira bastante natural, definindo as restrições dos níveis dos
tanques sem especificar o set point da variável controlada.

Figura 4 – Sequência de Tanques de Armazenamento

Outra motivo que mostra a importância do controlador preditivo em


processos industriais é que o controlador está atento às restrições de saturação do
atuador, evitando produzir sinais que tendem a violá-la, evitando assim o problema
da saturação por ação integral (Wind-Up).

12/81
Controle Preditivo

1.3.1 Dicas que devem ser analisadas pelo Engenheiro de Controle a fim de
justificar a implantação do Controlador Preditivo Numa Planta Industrial

1 Existem limites de operação do processo que interferem na qualidade do


produto, na eficiência do processo ou no meio ambiente?
2 Podem estes limites serem calculados?
3 Existem estatísticas que mostram a violacão destes limites, como
aumento do custo de manutenção, número de falhas, diminuição do tempo
de corrida?
4 Existem produtos sendo descartados ou reciclados devido a operação fora
destes limites?
5 A operação próxima destes limites diminui significativamente o uso de
matérias primas ou recursos da Utilidade?
6 A operação próxima do limites aumenta significativamente a produção?
7 Tem ocorrido violação das normas ambientais quando a operação ocorre
fora destes limites?
8 O operador desloca o Set Point distante destes limites?
9 Existem mais de duas variáveis controladas que são afetadas por mais de
uma variável controlada? Estas variáveis controladas são importantes?
10 As variáveis controladas possuem a mesma ordem de atraso?
11 O tempo de atraso é elevado?
12 Os distúrbios do processo podem ser medidos ou calculados?
13 Os distúrbios afetam mais de uma variável controlada ?

13/81
Controle Preditivo

1.4 O Controlador Preditivo na Hierarquia de Controle

Na arquitetura de controlador hierárquico existe uma camada mais elevada


onde são definidos os Set Points das variáveis controladas do processo, através de
técnicas de otimização. Tal otimização é feita a cada dia ou a cada hora, sendo
baseada em exigências econômicas e do controle de qualidade, mas não levando
em consideração as dinâmicas do processo. No nível inferior estão os controladores
locais tipo PID, controlando individualmente as variáveis do processo como a
pressão, a temperatura, a vazão, etc. No nível de chão de fábrica estão os loops de
controle dos atuadores, como as válvulas servo posicionadoras. Entre os
controladores locais e a camada de otimização, está situada uma camada
constituída de circuitos lógicos, overrides e de uma rede de desacoplamento, a fim
de controlar as restrições dinâmicas do processo. Esta camada é responsável por
conduzir o processo de uma restrição para outra, evitando que tais restrições sejam
violadas durante o processo de produção. Possui, para isto um conjunto de soluções
apropriadas para resolverem problemas específicos de cada processo. No entanto,
devido ao fato do MPC apresentar uma solução integrada para todos estes tipos de
problemas, ele pode substituir esta camada que controla as restrições dinâmicas do
processo.

14/81
Controle Preditivo

Unidade 1 Unidade 2
Estrutura de Controle Estrutura de Controle
Convencional com MPC

Otimização dos Set Points da Planta Objetivos Econômicos (diários)

Otimização do Set Point Otimização do Set Point Objetivos Econômicos (horários)


da unidade 1 da unidade 2

Lógica de Seleção Controle Preditivo Controle de Restrições


de Restrições, Overrids, Baseado em Modelo Dinâmicos (a cada minuto)
Desacoplamentos (MPC)

Controladores PID Controladores PID Controle da Dinâmica


do processo
locais locais

Atuadores Atuadores
(Válvulas) (Válvulas)

Figura 5 – Controle Preditivo na Hierarquia de Controle

1.5 Relação entre O MPC Com Outros controladores que usam previsão.

1.5.1 Relacionando o MPC com o Preditor de Smith.

O Preditor de Smith é um controlador muito usado em processos industriais com


atraso. Em geral, sistemas industriais com atraso podem ser representados por
uma Função de Transferência de primeira ordem do tipo:

Ke −TS
Gp ( z) =
τ s +1

15/81
Controle Preditivo

Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:

q(t)
+ u(t) + y1(t) -Ts y(t)
r(t) C(s) g(s) e

Figura 6 : Controle Ideal de Plantas com Atraso

No entanto, esta solução não é possível de obter na maioria dos casos reais, tendo
em vista que y(t) não é acessível. A solução proposta por Smith nos anos 50,
baseia-se na introdução de um preditor (Gn(s)) no esquema de controle, conforme
mostra a Fig. 7, onde C(s) é projetado para controlar a planta sem o atraso (Gn(s)):

r(k) y(k)
C(s) -Ls
G(s) e


y (k + Ln)

y (k )

Gn(s) -Ls
e

+ e(k)
+

Figura 7 : Diagrama do Preditor de Smith

Também é possível mostrar que o controlador preditivo possui a estrutura


apresentada na Fig. 8, a qual é semelhante a estrutura do Preditor de Smith:

16/81
Controle Preditivo

Figura 8: Estrutura de Controle Equivalente ao CPBM

O filtro R(z) no diagrama de blocos acima é utilizado em algumas estruturas do


Preditor de Smith para melhorar a robustez dos sistema ou melhorar o seu
desempenho. Observa-se também que o ajuste do controlador, dado pelos
parâmetros hp , d , hc , δ e λ , somente afeta os coeficientes do controle primário, já

que as predições somente dependem do modelo do processo e do modelo das


perturbações usados no preditor ótimo.

1.5.2 Relacionando o MPC com o Controle de Variância Mínima.

O Controle de Variância Mínima é considerado o antecessor do Controle Preditivo


Generalizado (GPC). Na realidade é um controlador preditivo com
Horizonte de previsão hp =d+1 e horizonte de controle hc =1.

1.5.3 Relacionando o MPC com o Controle Linear Quadrático

O Controle Linear Quadrático (LQ) utiliza um modelo descrito na forma de equações


de estado:

dX
= AX + Bu Y = CX ,
dt

17/81
Controle Preditivo

Onde X é um vetor n x 1, chamado vetor de estados, Y é um vetor m x 1, chamado


vetor de saída do processo, u é a ação de controle, a qual é um vetor r x1, A, B e C
são matrizes n x n, n x r e m x n respectivamente. O problema de controle LQ é
encontrar uma a ação de controle u(k+j), j=0 ... hp-k, que minimize a função custo
quadrático:

hp − k hp − k 2

J (k ) = ∑δX
j =0
2
(k + j ) + ∑ λ u ( k + j )
j =0

Apesar do controle preditivo e o controle LQ calcularem as ações de controle


através da minimização de uma função custo e realizarem previsões para obter esta
mesma função custo, existem diferenças substanciais entre tais estratégias de
controle. A primeira é que no controlador preditivo realizamos previsões até o
instante k+ hp , dado o instante atual k, ou seja, o horizonte de previsão é fixo e igual

a hp . No controlador LQ realizamos previsões até o instante hp , dado o instante

atual k, ou seja, o horizonte de previsão depende do instante k sendo dado por hp -

k. No controle LQ a seqüência de ações de controle u(k+j), j=0 ... hp-k, que


minimize a função custo quadrático é completamente aplicada ao processo.
Portanto, a ação de controle é chamada de controle ótimo. Já no controle preditivo,
a seqüência de ações de controle u(k+j), j=0 ... hp, calculada minimizando a função
custo, não é completamente aplicada no processo, mas somente a ação calculada
no instante k. Este tipo de estratégia é sub ótima, sendo chamada de controle por
horizonte retrocedente.

18/81
Controle Preditivo

2 Modelo De Previsão Usando a Resposta ao Impulso

Nesta seção será calculada a predição da saída y a j passos a frente a partir do


instante atual k, o que é representado por yˆ ( j + k | k ) , ou de maneira mais

simplificada, por ŷ ( j + k ) .

A previsão usando a resposta ao impulso pertence à primeira geração de


controladores preditivos usados no ambiente industrial, o qual foi denominado
MPHC. Primeiramente faremos a previsão de sistemas lineares monovariáveis e em
seguida trataremos o caso multivariável.

2.1 Sistema Monovariável

A resposta y ( j ) de um sistema discreto à entrada u ( j ) , pode ser representada

pela convolução:


y ( k ) = ∑ h(i ).u ( k − i ) (2.1)
i =1

onde h(i ) é a resposta à entrada com amplitude unitária e duração igual a um


período de amostragem. Quando o sistema é estável, podemos dizer que existe N
tal que h(i ) = 0, i ≥ N, portanto:

N
y (k ) = ∑ h(i).u ( k − i )
i =1
(2.2)

A expressão acima pode ser representada por uma função de transferência,


definindo para isto um operador atraso unitário z −1 , ou seja:

( )
y ( j ) = H z −1 .u ( k )

onde: H ( z −1 ) = h(1) z −1 + h(2) z −2 + ... + h( N ) z − N .

19/81
Controle Preditivo

Exemplo: Seja o sistema representado pela FT:


0.2713
G( z) = 3
z − 0.835 z
Realizando no MatLab os comandos
>> n=[0.2713];
>> d=[1 0 -0.8351 0];
dimpulse(n,d,100)

Obtemos a seguinte resposta ao impulso :

Impulse Response
0.35

0.3

0.25

0.2
Amplitude

0.15

0.1

0.05

0
0 10 20 30 40 50 60 70
Time (sec)

0.2713
Figura 9: Resposta ao Impulso da FT G ( z ) = 3
z − 0.835 z

Supondo N=22:

h = [ 0 0 0.2713 0.226 0.1892 0.1580 0.1319 0.1102 0.0920 0.076


0.0642 0.0536 0.0448 0.0374 0.0312 0.0261 0.0218 0.0182 0.0152
0.0127 0.0106]

20/81
Controle Preditivo

Verifique que o vetor h é igual ao quociente da divisão do numerado pelo


0.2713 z −3
denominador da função G ( z ) = −1
.
1 − 0.835 z −2

A predição da saída j passos a frente calculada no instante k ( ŷ ( j + k ) )


usando (2.2) é:

N j N
yˆ ( j + k ) = ∑ h(i).u ( j + k − i ) = ∑ h(i)u(k + j − i) + ∑ h(i)u(k + j − i)
i =1 i =1 i = j +1

(2.3)

Os termos do somatório ∑ h(i)u (k + j − i) contém


i = j +1
ações de controle

passadas (u(k-1),u(k-2), ..., u(k+j-N)), e será chamado de resposta livre, enquanto


j

que os termos do somatório ∑ h(i)u(k + j − i) contém ações de controle presente e


i =1

futuras (u(k), u(k+1, ..., u(k+j-1)) e será chamado de resposta forçada. As ações de
controle presente e futuras serão denotadas por uˆ( j + k ) , as quais são variáveis do
problema e deverão ser calculadas pelo otimizador. Portanto, para um horizonte de
previsão j passos a frente a partir do instante k, teremos j ações de controle presente
e futura. Para diminuir o número de variáveis na predição, definiremos um horizonte
de controle ( hc ) menor que o o horizonte de previsão ( hp ), isto é, hc < hp e

consideraremos uˆ (k ) = uˆ (hc ), k = hc + 1⋯ hp .

Portanto, através de (2.3) concluímos que a previsão j = hc ⋯ hp passos a

frente será dada por:

j −hc j N
yˆ( j + k) = ∑ h(i)uˆ(k + hc −1) + ∑ h(i)uˆ(k + j − i) + ∑ h(i)u(k + j − i) (2.4)
i =1 i = j −hc +1 i = j +1

21/81
Controle Preditivo

Definindo a resposta livre no instante k+j por


N
fu (k + j ) = ∑ h(i)u (k + j − i)
i = j +1

e realizando uma seqüência de hp previsões, formamos o seguinte sistema de

hp equações com hc incógnitas :

 h(1) 0 ⋯ 0 
 yˆ(k +1)   h(2) h(1) ⋯ 0   fu ( k +1) 
    
 yˆ(k + 2)   ⋮ ⋮ ⋱ ⋮   fu ( k + 2 ) 
 ⋮     uˆ(k)   
 h(hc ) h(hc −1) ⋯ h(1)   uˆ(k +1)  ⋮
   
 yˆ(k + hc )  = ⋮ ⋮ ⋱ ⋮  .  +  fu (k + hc ) 
     ⋮   
⋮ 
hp−1 −hc +1
   ⋮
   
 yˆ(k + hp −1) h(hp−1) h(hp−2 ) ⋯ ∑ h(i) uˆ(k + hc −1)(hcx1)  f (k + h )
u p−1
   i=1
  
 yˆ(k + hp ) (h x1) h(hp ) h(hp−1) ⋯   fu ( k + hp ) (hpx1)
hp −hc +1
p 

∑i=1
h(i) 
(hpxhc )

22/81
Controle Preditivo

Exercício 1: Seja um sistema de controle de temperatura mostrado na Fig. 10,

Figura 10 - Controle de temperatura

Construa a matriz de previsão para o sistema acima cuja função de transferência é


0.2713
dada por G ( z ) = 3
. Considere que o instante atual seja k=4, e que
z − 0.835 z
hp = 5, hc = 2 . Suponha que a entrada seja um degrau aplicado no instante k=0, ou

seja, u (k ) = 1, k = 0,1, 2,⋯ e u (k ) = 0, k < 0. Compare a resposta prevista com a


resposta real.

23/81
Controle Preditivo

2.2 Sistema Multivariável

Seja um sistema multivariável com p entradas e q saídas, e considere que a


resposta ao impulso da saída j em relação a entrada l seja dada por
h jl . Assim, a resposta da saída j em relação a uma entrada ul qualquer pode ser

representada pela convolução:

p N ml
ym ( k ) = ∑ ∑h ml (i )ul (k − i ), m = 1,⋯ , q
l =1 i =1

A previsão j passos a frente da m-ésima saída a partir do instante k, é dada


por:
p N ml
yˆ m ( j + k ) = ∑ ∑h ml (i )ul ( j + k − i ), m = 1,⋯ , q (2.5)
l =1 i =1

Assim, invertendo o somatório em (2.5) e usando os vetores

 uˆ1 (k ) 
 uˆ (k ) 
U (k ) =  
2
H m (k ) = [hm1 (k ) hm 2 (k ) ⋯ hmp (k )]1xp
 ⋮ 
 
uˆ p (k )  px1

podemos escrever :

N ml
yˆ m ( j + k ) = ∑ H m (i )U ( j + k − i ), m = 1,⋯ , q
i =1

Considerando hc < hp , a previsão j = hc ⋯ hp passos a frente será dada por:

j −hc j N
yˆm ( j + k) = ∑ Hm (i)Uˆ (k + hc −1) + ∑ Hm (i)Uˆ (k + j − i) + ∑ Hm (i)U(k + j − i) (2.6)
i =1 i = j −hc +1 i = j +1

24/81
Controle Preditivo
N
Definindo: f m ,u ( k + j ) = ∑H
i = j +1
m (i )U (k + j − i ) ,

 yˆ1 (k )   f1u (k )   H1 ( k ) 
 yˆ (k )   f (k )   H (k ) 
Y (k ) =   ,   , H (k ) =  
ˆ 2 2,u 2
Fu (k ) =
 ⋮   ⋮   ⋮ 
     
 yˆ q (k )  qx1  f q ,u (k )  qx1  H q (k )  qx1

Obtemos, a partir de (2.6) a seguinte expressão:

j −hc j
Yˆ( j + k) = ∑ H(i)Uˆ (k + hc −1) + ∑ H(i)Uˆ (k + j − i) + Fu (k)
i =1 i = j −hc +1

Realizando uma seqüência de hp previsões para cada uma das saídas y j , j = 1,⋯ , q ,
chegamos ao seguinte sistema de qhp equações com phc
Incógnitas, dado por:

 H(1) 0 ⋯ 0 
Yˆ(k +1)   H(2)   Fu ( k +1) 
   H(1) ⋯ 0   
Yˆ(k + 2)   ⋮ ⋮ ⋱ ⋮   F ( k + 2 ) 
     Uˆ ( k )  u

   
 ⋮   H(hc ) H(hc −1) ⋯ H(1) 



Yˆ(k + h )   Uˆ ( k +1) 
= ⋮ ⋮ ⋱ ⋮  •  +  F u (k + h c ) 
 c
   ⋮  
 ⋮  
hp−1−hc +1
   ⋮
∑ H(i) Uˆ ( k + hc −1)   
ˆ  H(hp−1) H(hp−2 ) ⋯   F k h
( + p−1 )
Y(k + hp −1)  i=1

( phc x1)

u

ˆ  H(hp ) H(hp−1) ⋯   Fu ( k + hp ) (qhpx1)
hp −hc +1
Y(k + hp ) (qhpx1) 

∑i=1
H(i) 
qhpxphc

ou de maneira concisa, podemos escrever: Y = HU + Fu

25/81
Controle Preditivo

Exercício 2: - Seja o sistema descrito pela equação de estado:

Xɺ (t ) = AX (t ) + BU (t ) e Y (t ) = CX (t ) + DU (t ) , onde as matrizes A,B,C e D


são dadas por:

−26.85 0 −0.06 0  0.29 0 


 −0.29 0 
A=
25.80 −1.04 0.06 0
, B=  , C = 1 0 0 0  , D=0
22.61 0 −2.77 1.79  −0.09 0  0 1 0 0
 
 
0 0 −3.07 −15.57  0 −0.18 

Usando o MatLab (veja o programa reator.m), obtenha:

1 - A equação de estado discreta;


2 – A matriz de função de transferência contínua e discreta;
3 - Construa a matriz de previsão considerando que o instante atual seja k=4, e que
hp = 5, hc = 2 . Suponha que as entradas sejam um degrau aplicado no instante k=0.

2 – Repita para o sistema dinâmico com as seguintes matrizes:

0 0 0.00005   0.0211 0 
0 1 0 
A = 0 0 −0.000024  , B =  −0.1066 0  , C =  , D=0
 0 0 1
0 −0.000024 −0.0068   −3.136 −3.8

26/81
Controle Preditivo

3 Previsão Usando a Resposta ao Degrau

É utilizado no controlador preditivo denominado controle por matriz dinâmica


(DMC). Esta técnica é a que vem sendo mais utilizada no meio industrial, devido
principalmente à facilidade de obtenção da resposta ao degrau e a facilidade de
representar erros de modelagem como distúrbios aleatórios, podendo assim ser
utilizado em sistemas não lineares.

3.1 Sistema Monovariável sem distúrbio

Assumindo uma entrada degrau:

1, j = 0,1, 2,3,...


u ( j) = 
0, j < 0

e usando (2.2), temos o seguinte desenvolvimento:

y (1) = g(1) = h(1) .u ( 0) = h1


y ( 2) = g(2) = h(1).u (1) + h(2).u ( 0) = h(1) + h(2) = g(1) + h(2)
y ( 3) = g(3) = h(1).u ( 2) + h(2).u (1) + h(3).u ( 0) = h(1) + h(2) + h(3) = g(2) + h(3)

y ( i) = g(i) = g(i −1) + h(i)

Logo, para qualquer i =1,...,N,

h(i ) = g (i ) − g (i − 1) = g (i ). (1 − z −1 ) (3.1)

Portanto, a expressão (3.1) é equivalente a:

N N
y ( k ) = ∑ g (i) (1 − z −1
) .u ( k − i ) = ∑ g (i).∆u ( k − i ) (3.2)
i =1 i =1

27/81
Controle Preditivo

onde (1 − z −1 ) u ( k − i ) = u ( k − i ) − u ( k − i − 1) = ∆u ( k − i ) , sendo que ∆u ( k − i ) a variação

do sinal de controle e g (i ) são o coeficiente de resposta ao degrau.

Separando em (3.2) as ações de controle passadas das ações de


controle presentes e futuras, concluimos que o preditor j passos a frente da
saída y para o modelo a entrada degrau é dado por:

j N
yˆ ( j + k ) = ∑g(i) .∆uˆ ( j + k − i ) + ∑ g(i) .∆u ( j + k − i ) (3.3)
i=1 i= j +1

N
O somatório ∑ g (i) .∆u ( j + k − i ) , representa a resposta livre, obtida através
i = j +1

j
das entradas passadas, e o somatório ∑ g (i ) .∆ uˆ ( j + k − i ) , representa a resposta
i =1

forçada, obtida através das j entradas presente e futuras


(∆uˆ ( k ) , ∆uˆ ( k + 1), ..., ∆uˆ ( k + j − 1) ) , as quais serão calculadas pelo otimizador. Para

diminuir o número de variáveis na predição, definimos um horizonte de controle ( hc )

menor que o o horizonte de previsão ( hp ), isto é, hc < hp e consideramos

∆uˆ (k ) = 0, k = hc + 1⋯ hp . Portanto, a expressão (3.3) será dada por:

j N
yˆ( j + k) = ∑
i =max{1, j −hc +1}
g(i)∆uˆ(k + j − i) + ∑ g(i)∆u(k + j − i)
i = j +1
(3.4)

N
Definindo a resposa livre por f u ( j + k ) = ∑ g (i) .∆u ( j + k − i ) .
i = j +1

E realizando uma seqüência de hp previsões, formamos o seguinte sistema de

hp equações com hc incógnitas :

28/81
Controle Preditivo

 yˆ(k +1)   g(1) 0 ⋯ 0 


   
 yˆ(k + 2)   g(2) g(1) ⋯ 0   ∆uˆ(k) 
 ⋮   ⋮ ⋮ ⋱ ⋮ 
     ∆uˆ(k +1) 
 yˆ(k + hc )  =  g(hc ) g(hc −1) ⋯ g(1)  . 
   ⋮   ⋮ 
⋮ ⋮ ⋱ ⋮  
    ∆uˆ(k + hc −1)(h x1)
 yˆ(k + hp −1) 
g(hp−1) g(hp−2 ) ⋯ g(hp−1 − hc +1) c

   
 yˆ (k + hp ) (hpx1) g(hp ) g(hp−1) ⋯ g(hp − hc +1) (hpxhc )

 fu ( k +1) 
 
 fu ( k + 2) 
 ⋮ 
 
+ uf ( k + h )
c 
 ⋮ 
 
 fu (k + hp−1)
 
 fu ( k + hp ) (hp x1)
(3.5)

Ou seja: yˆ = G.∆uˆ + f u , onde ŷ é o vetor hp x1 , G é a matriz hp xhc , ∆û é o vetor hc x1 ,

fu é o vetor hp x1

29/81
Controle Preditivo

Exercício 3: Considere o sistema de controle de temperatura mostrado na Fig. 11.


Aplicando um degrau na válvula de controle, obtemos a seguintes resposta:

Figura 11 - Resposta ao degrau

Para esta função de transferência, podemos observar que a saída estabiliza após 30
períodos de amostragem, portanto o modelo é dado por:

30
y ( j ) = ∑ g i .∆u ( j − i ) .
i =1

A tabela 2 mostra os coeficientes gi de resposta ao degrau da função de

transferência.

Tabela 2- Coeficientes de resposta ao degrau

30/81
Controle Preditivo

Usando os coeficientes da Tabela 1 e a equação (3.5), obter a matriz de previsão


considerando que o instante atual seja k=4, e que hp = 5, hc = 2 . Suponha que a

entrada seja um degrau aplicado no instante k=0.

Os métodos que usam a resposta ao impulso ou ao degrau não podem ser usados
em plantas instáveis ou com pólo na origem e necessitam de um grande número de
parâmetros para descrever o modelo, geralmente N ≥ 40 .

3.2 Sistema Monovariável com Distúrbio Estocástico (não mensurável)

Vamos considerar que um distúrbio d(k) aleatório esteja interferindo na saída do


sistema, a qual será representada por yr (k ) , de maneira que

yr ( k ) = ym ( k ) + d ( k )

onde ym (k ) é a saída do modelo. Este distúrbio pode representar as incertezas na


modelagem e as entradas desconhecidas que atuam no sistema. Portanto, a
previsão j passos a frente a partir do instante k da saída yr (k ) é igual a:

yˆ r (k + j ) = yˆ m (k + j ) + dˆ (k + j )
que é equivalente a
j ∞
yˆ r (k + j ) = ∑ g (i ) ∆uˆ ( j + k − i ) + ∑ g (i ) ∆uˆ ( j + k − i ) +dˆ ( k + j ) (3.6)
i = max{1, j − hc +1} i= j

Considerando que a previsão do distúrbio j passos a frente seja dada por:



dˆ (k + j ) = d (k ) = yr (k ) − ym (k ) = yr (k ) − ∑ g (i )∆u ( j − i ) (3.7)
i =1

Concluímos, substituindo (3.7) em (3.8) que:


j ∞
yˆ r (k + j ) = ∑ g (i ) ∆uˆ ( j + k − i ) + ∑ ( g (k + i ) − g (i )) ∆u ( j − i ) + yr ( k ) (3.8)
i = max{1, j − hc +1} i= j

Considerando que a resposta livre seja:

31/81
Controle Preditivo
N
fu (k + j ) = ∑ ( g (k + i) − g (i))∆u ( j − i ) + yr (k )
i =1

Obtemos a equação de previsão na forma matricial dada em (3.5) quando se


considera distúrbio estocástico no sistema.

Exercício 3 – No sistema de controle de temperatura, suponha que no transmissor


de temperatura ocorra um ruído gaussiano com média zero e variância 0,2 (veja o
comando randn do MaTlab). Construa a matriz de previsão para este sistema com
ruído

Considere que o instante atual seja k=4, e que hp = 5, hc = 2 . Suponha que a

entrada seja um degrau aplicado no instante k=0, ou seja, u (k ) = 1, k = 0,1, 2,⋯ e


u (k ) = 0, k < 0. Compare a resposta prevista com a resposta real.

3.3 Sistema Monovariável com Distúrbio Mensurável

Perturbações mensuráveis podem ser adicionadas às equações de previsão, tendo


em vista que eles serão tratados como entradas conhecidas ( d (i ), i = 0,1, 2,⋯ ), cuja

resposta ao degrau ( g d (i ), i = 0,1, 2,⋯ ) pode ser determinada. Assim, a previsão da

resposta a perturbações futuras j passos a frente ( yˆ d (k + j ) ), pode ser estimada por:


j N
yˆd (k + j) = ∑
i=max{1, j −hc +1}
gd (i)∆dˆ(k + j − i) + ∑ gd (i)∆dˆ(k + j − i)
i = j +1

Onde ∆d ( i ) = d ( i ) − d ( i − 1) .

Realizando uma seqüência de hp previsões, formamos o sistema de hp equações:

yˆ d = Gd .∆dˆ + f d ,

32/81
Controle Preditivo

Onde yˆ d é o vetor hp x1 de previsões da resposta ao distúrbio, Gd é uma matriz

hp xhc dos coeficientes da resposta ao degrau do distúrbio similar a G, ∆d̂ é o vetor

hc x1 de distúrbio previsto , e f d é o vetor hp x1 da resposta livre do distúrbio, que

não depende do distúrbio futuro.

A resposta livre completa (a resposta que não depende das ações de controle
futura) f = f u + Gd .∆d + f d , onde fu é resposta livre à entrada u (sinal de controle),

sem perturbação determinística, Gd .∆d é a resposta forçada do distúrbio e f d é

resposta livre ao distúrbio, sem entrada u .

Portanto, a predição é dada pela conhecida expressão yˆ = G.∆u + f .

3.4 Sistema Multivariável

Seja um sistema multivariável com p entradas e q saídas, e considere que a


resposta ao degrau da saída j em relação a entrada l seja dada por
g jl . A previsão j passos a frente da m-ésima saída a partir do instante k, é dada por:

p N ml
yˆ m ( j + k ) = ∑ ∑ g ml (i )∆ul ( j + k − i), m = 1,⋯ , q
l =1 i = max{1,i − hc −1}
(3.8)

Assim, invertendo o somatório em (3.8) e usando os vetores

 ∆uˆ1 (k ) 
 ∆uˆ (k ) 
∆U (k ) =  
2
Gm (k ) = [ g m1 (k ) g m 2 (k ) ⋯ g mp (k )]1xp
 ⋮ 
 
 ∆uˆ p (k )  px1

Podemos escrever:

N ml
yˆ m ( j + k ) = ∑
i = max{1, j − hc +1}
Gm (i )∆U ( j + k − i ), m = 1,⋯ , q

33/81
Controle Preditivo

Separando as açoes de controle passadas, das ações de controle presente e


futura temos que:

j N
yˆm ( j + k) = ∑
i=max{1, j −hc +1}
G(i)∆Uˆ (k + j − i) + ∑ G(i)∆U(k + j − i)
i = j +1
(3.9)

N
Definindo: fu (k + j ) = ∑G
i = j +1
m (i )∆U (k + j − i ) ,

 yˆ1 (k )   f1,u (k )   G1 (k ) 
 yˆ (k )   f (k )  G (k ) 
Y (k ) =     , G (k ) =  
ˆ 2 2,u 2
, Fu (k ) =
 ⋮   ⋮   ⋮ 
     
 yˆ q (k )  qx1  f q ,u (k )  qx1 Gq (k )  qx1

Obtemos, a partir de (3.9) a seguinte expressão:

j −hc j
Yˆ( j + k) = ∑
i =max{1, j −hc −1}
G(i)Uˆ (k + hc −1) + ∑
i = j −hc +1
G(i)U(k + j − i) + Fu (k)

Realizando uma seqüência de hp previsões para cada uma das saídas y j , j = 1,⋯ , q ,

chegamos ao seguinte sistema de qhp equações com phc

Incógnitas, dado por:

34/81
Controle Preditivo

Yˆ(k +1) 
   G(1) 0 ⋯ 0 
Yˆ(k + 2)   G (2) G (1) ⋯ 0 
     ∆Uˆ ( k ) 
 ⋮   ⋮ ⋮ ⋱ ⋮   
Yˆ(k + h )     ∆ Uˆ ( )  +
k + 1
=  G(hc ) G(hc −1) ⋯ G(1)  • 
 c
 ⋮
 ⋮   ⋮ ⋮ ⋱ ⋮   
ˆ    ∆U ( k + hc −1) ( ph x1)
ˆ
G (h
 p−1 ) G(h ) ⋯ G(h − h +1) 
Y(k + hp −1) p−2 p−1 c c

ˆ  G(hp ) G(hp−1) ⋯ G(hp − hc +1)  


Y(k + hp ) (qhpx1)  qhp xphc

 Fu ( k +1) 
 
 Fu ( k + 2 ) 
 ⋮ 
 
+  Fu (k + hc ) 
 ⋮ 
 
F
 u ( k + h p−1 
)
 
F
 u ( k + h )
p  (qhpx1)

Exercício 4: Para o reator, cujas equações de estado estão no programa reator.m,


1 – Obtenha a matriz de matriz de previsão, usando a resposta ao degrau,
considerando que o instante atual seja k=4, e que hp = 5, hc = 2 . Suponha que as

entradas sejam um degrau aplicado no instante k=0.


2 – Repita para o sistema dinâmico com as seguintes matrizes:

0 0 0.00005   0.0211 0 
 0 1 0 
A = 0 0 −0.000024 , B =  −0.1066 0  , C = 
 , D=0
 0 0 1
0 −0.000024 −0.0068   −3.136 −3.8

35/81
Controle Preditivo

4 Previsão Usando a Função de Transferência


4.1 Sistema monovariável sem distúrbio

O modelo de previsão através da função de transferência pertence à 3ª geração de


controladores preditivos, denominados Controlador Preditivo Generalizado (GPC).
Este tipo de CPBM veio suprir algumas limitações do DMC no controle de plantas
instáveis, variantes no tempo, com integradores (pólo na origem) e plantas com
fase não mínima

É sabido que um processo discreto linear e invariante no tempo pode ser


representado pela equação a diferenças:

y ( k ) + a1. y ( k − 1) + a2 . y ( k − 2 ) + ... + ana . y ( k − na ) =

b1.u ( k − 1 − d ) + b2 .u ( k − 2 − d ) + ... + bnb .u ( k − nb − 1 − d )

A função de transferência relacionando a entrada u e a saída y, é obtida utilizando


um operador atraso unitário z −1 , ou seja:

y (k ) =
( )z
B z −1 −d
.u ( k − 1)
A( z )
−1 (4.1)

( )
A z −1 = 1 + a1.z −1 + a2 .z −2 + ... + ana .z − na
onde
( )
B z −1 = b0 + b1.z −1 + b2 .z −2 + ... + bnb .z − nb

Este tipo de modelo é conhecido por modelo ARMA (Auto-regressive and


move mean).Como o GPC utiliza a variação do sinal de controle para ser
calculada na função objetivo, a função de transferência deve ser transformada
para o modelo ARIMA, o que é feito multiplicando a expressão (4.1) por
(1 − z −1 ) , e considerando que

(1 − z ) u ( k ) = u ( k ) − u ( k − 1) = ∆u ( k − 1) e que
−1
Aɶ ( z −1 ) = (1 − z −1 ) A( z −1 ) .

36/81
Controle Preditivo

Portanto, (4.1) é equivalente ao modelo ARIMA (Auto regressive Integrated


mean Move), dado abaixo:

y (k ) =
( )
B z −1 − d
z .∆u ( k − 1) (4.2)
Aɶ z −1 ( )

Para entender melhor como é feita a previsão através da FT acima, vamos


considerar um sistema com polinômios A e B possuindo ordens na=2 e nb=0,
respectivamente, e atraso d=1, dados por: A ( z −1 ) = 1 − 2 z −1 − 3 z −2 ,

à ( z −1 ) = 1 − z −1 − z −2 + 3 z −3 , B ( z −1 ) = 1 e desta forma concluimos a partir de (4.2) que:

y ( k ) = y ( k − 1) + y ( k − 2 ) − 3 y ( k − 3) + ∆u ( k − 2 )

A previsão da saída 3 passos a frente é obtida a partir da equação acima, ou seja:

yˆ ( k + 3) = yˆ ( k + 2 ) + yˆ ( k + 1) − 3 y ( k ) + ∆uˆ ( k + 1) (4.3)

Portanto, a saída prevista a 3 passos a frente, depende das variáveis não


conhecidas yˆ ( k + 2 ) , yˆ ( k + 1) , ∆uˆ ( k + 1) . Desejamos que a saída prevista dependa

somente do sinal de controle previsto, o qual será calculado através do Otimizador,


e das saídas presente e passadas. Para eliminar as saídas previstas nos instantes 1
e 2 da equação de previsão, usaremos a famosa equação Diophantina:

~
1 = E j ( z −1 ) A( z −1 ) + z − j F j ( z −1 ) (4.4)

Os polinômios Ej e Fj são unicamente definidos com graus j-1 e na respectivamente.


~
Eles podem ser obtidos dividindo-se sucessivamente 1 por A( z −1 ) até que o

remanescente possa ser fatorado como z − j F j ( z −1 ) . O quociente da divisão é o

polinômio E j ( z −1 ) . Por exemplo, considerando Aɶ ( z −1 ) = 1 − z −1 − .z −2 + 3 z −3 e usando a

função diophantina.m, calculamos:


>> [E,F]=diofantina(Ã,3)

37/81
Controle Preditivo

1 0 0 ⇒ E1 = 1 + 0 z −1 + 0 z −2 1 1 −3 ⇒ F1 = 1 + z −1 − 3 z −2
1 1 0 ⇒ E2 = 1 + 1z −1 + 0 z −2 e 2 −2 −3 ⇒ F2 = 2 − 2 z −1 − 3 z −2
1 1 2 ⇒ E3 = 1 + 1z −1 + 2 z −2 0 −1 −6 ⇒ F3 = 0 − z −1 − 6 z −2

Da equação (4.1) temos que:

Aɶ ( z −1 ) y (k ) = B( z −1 ) z − d ∆u (k − 1) = B( z −1 )∆u (k − d − 1) (4.5)

Multiplicando-se (4.5) por E j ( z −1 ) z j :

Aɶ ( z −1 ) E j ( z −1 ) yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1)

Se considerarmos a equação (4.4) na equação (4.5) obtemos:

(1 − z − j Fj ( z −1 )) yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1)

Que podemos reescrever como:

yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) + Fj ( z −1 ) y (k ) = G j ( z −1 )∆u (k + j − d − 1) + Fj ( z −1 ) y (k )

(4.6)
onde G j ( z −1 ) = E j ( z −1 ) B( z −1 ) = g 0 + g1 z −1 + g 2 z −2 + ... + g nb+ j −1 z − ( nb + j −1)

Substituindo E3 e F3 na expressão (4.6) para j=3 e d=1, chegamos ao seguinte

resultado:

yˆ ( k + 3) = (1 + z −1 + 2 z −2 )∆u (k + 1) − ( z −1 + 6 z −2 ) y (k )
(4.7)
= ∆u (k + 1) + ∆u (k ) + 2∆u (k − 1) − y (k − 1) + 6 y (k − 2)

38/81
Controle Preditivo

Observamos em (4.7) que a saída prevista a 3 passos a frente não depende mais
das saídas yˆ (k + 1), yˆ (k + 2) como acontece com (4.3). Assim, concluímos que a
equação diophantina elimina a dependência da saída prevista em relação as saídas
futuras.

Agora observe que G j ( z −1 )∆u (k + j − d − 1) ,(no nosso exemplo é igual a

G3 ( z −1 )∆u (k + 1) = ∆u (k + 1) + ∆u (k ) + 2∆u (k − 1) ), possui termos com ações de

controle passada, presente e futura. Para separarmos estes termos em “tempos”


diferentes, define-se um polinômio de ordem j-d-1

H j ( z −1 ) = g 0 + g1 z −1 + g 2 z −2 + ... + g j −d −1 z − ( j − d −1) (4.8)

que considera as ações presente e futura.(no nosso exemplo H 3 ( z −1 ) = 1 + z −1 )

De forma semelhante, separamos os termos com as ações de controle passadas


através do polinômio :

H j ( z −1 ) = G j ( z −1 ) − H j ( z −1 ) = g j − d z − ( j −d ) + ... + g nb + j −1 z − ( nb + j −1) (4.9)

(no nosso exemplo H 3 ( z −1 ) = 2 z −2 )

Considerando l = j − d , a equação de previsão da saída com as ações de controle


passadas separadas das ações de controle presente e futuras é:

yˆ (k + d + l ) = H d +l ∆u (k + l − 1) + z l H d +l ( z −1 )∆u (k − 1) + Fd +l ( z −1 ) y (k )
ações futuras e passadas saídas passadas
(4.10)

Considerando um horizonte de previsão j = d + l , chega-se através de (4.10) com


1 ≤ l ≤ N , ao seguinte sistema de equações:

39/81
Controle Preditivo

yˆ(k + d + 1) = H d +1∆u (k ) + z H d +1∆u (k − 1) + Fd +1 y (k )


yˆ (k + d + 2) = H d + 2 ∆u (k + 1) + z 2 H d + 2 ∆u (k − 1) + Fd + 2 y (k )

yˆ (k + d + N ) = H d + N ∆u (k + N − 1) + z N H d + N ∆u (k − 1) + Fd + N y (k )

De posse das equações acima e considerando um horizonte de controle hc e


compreendendo l entre 1 e hp − hc , obtém-se a expressão matricial composta das

previsões seqüenciais da saída do processo ŷ e dependente das ações de controle


passadas, presente e futuras e saídas passadas:

yˆ = G∆u + H ( z −1 )∆u (k − 1) + F ( z −1 ) y (k ) (4.11)

onde:

 yˆ (k + d + 1) 
 yˆ (k + d + 2) 
yˆ =   (4.12)
⋮ 
 
 yˆ (k + d + N )  N X1

 ∆u (k ) 
 ∆u (k + 1) 
∆u =   (4.13)
 ⋮ 
 
 ∆u (k + hc − 1)  h X1 c

 g0 0 … 0 
 g g0 … 0 
 1 
 ⋮ ⋮ ⋮ ⋮ 
G=  (4.14)
 g hc −1 g hc − 2 … g0 
 ⋮ ⋮ ⋮ ⋮ 
 
 g N −1 g N −2 … g N − hc 
N X hc

40/81
Controle Preditivo

 zH d +1 
 2 
 z H d +2 
H = (4.15)
 ⋮ 
 N 
 z H d + N  N X1

 Fd +1 ( z −1 ) 
 
 Fd + 2 ( z −1 ) 
−1
F (z ) = (4.16)
 ⋮ 
 −1 
 Fd + N ( z ) N X1

Definindo-se como resposta livre do sistema, dependente somente das entradas e


saídas passadas como:

f = H ( z −1 )∆u (k − 1) + F ( z −1 ) y (k ) (4.17)

Chega-se a expressão de previsão:

ŷ = G∆u + f

Exercício 5 – No sistema de controle de temperatura, construa a matriz de previsão


usando o modelo de função de transferência. Considere que o instante atual seja
k=4, e que hp = 5, hc = 2 . Suponha que a entrada seja um degrau aplicado no instante

k=0, ou seja, u (k ) = 1, k = 0,1, 2,⋯ e u (k ) = 0, k < 0. Compare a resposta prevista com a


resposta real.

Exercício 6 – Repetir o exercício anterior para o sistema de controle do nível do


Molde considerando os parâmetros δ e λ especificados no programa molde.m.

41/81
Controle Preditivo

4.2 Sistema monovariável com distúrbio

Em alguns processos afetados por distúrbios externos e onde estes distúrbios


possam ser medidos ou identificados, é possível representar o comportamento
destes distúrbios no algoritmo do controlador GPC, de forma que o comportamento
do mesmo diante a ocorrência destes possa ser otimizado. Para o caso da inserção
de distúrbio na equação do sistema dada anteriormente pela equação (4.42),
podemos considerar:

A( z −1 ) y (k ) = z − d B( z −1 )u (k − 1) + D( z −1 ).v(k ) (4.18)

Onde verifica-se a inclusão da variável v(t) correspondente ao distúrbio considerado


aqui inicialmente como distúrbios detectáveis e dados no tempo t. D( z −1 ) é um
polinômio definidos por:

D( z −1 ) = d 0 + d1 z −1 + d 2 z −2 + ... + d nd z nd
(4.19)

De maneira semelhante a realizada para o caso irrestrito e sem distúrbio, multiplica-


se (4.18) por ∆E j ( z −1 ) z j :

Aɶ ( z −1 ) E j ( z −1 ) y (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) +
(4.20)
−1 −1
+ E j ( z ) D( z )∆v(k + j )

Considerando a aplicação da equação diofantina (4.2) e posteriores manipulações


algébricas, obtém-se:

yˆ (k + j ) = Fj ( z −1 ) y (k ) + E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) +
(4.21)
+ E j ( z −1 ) D( z −1 )∆v(k + j )

42/81
Controle Preditivo

Definindo-se o polinômio M j ( z −1 ) = E j ( z −1 ) D( z −1 ) , onde:

M j = m0 + m1 z −1 + m2 z −2 + ... + mnd + j −1 z − ( nd + j −1)

Pode-se, considerando também H j (polinômio relacionado às ações de controle

futuras) e H j (polinômio relacionado às ações de controle passadas) já definidos em

(4.8) e (4.9), descrever a equação de predição em j = d + l como:

yˆ (k + d + l ) = Fd +l ( z −1 ) y (k ) + H d +l ( z −1 )∆u (k + d + l − 1) + z l H d +l ( z −1 )∆u (k − 1) +
(4.22)
+ M d +l ( z −1 )∆v(k + d + l )

Na equação (4.22) apenas os termos de H d +l dependem de valores futuros do sinal

de controle ∆u , sendo, portanto, interpretados como a resposta forçada, enquanto


que os termos de H d +l e Fd +l dependem apenas de valores passados, sendo então

a resposta livre do sistema.

O último termo da equação depende do distúrbio. Deve-se então considerar (4.22)


como previsão em processos onde os distúrbios envolvidos possam ser estimados
através de metodologia própria ou estimação/tendência.

Para os casos onde o distúrbio for constante e igual ao valor anterior,


∆v(t + d + l ) = 0 , o último termo de (4.22) poderá, ser desprezado. A equação (4.22)
pode ainda ser escrita como:

yˆ (t + d + l ) = H d +l ( z −1 )∆u (t + l − 1) + f d +l

Onde f d +l representa os demais termos de (4.22), incluindo ações, resposta do


sistema e distúrbios passados.

43/81
Controle Preditivo

Desta forma, considerando um conjunto sucessivo de previsões j = d + l , l = 1...N


passos à frente:

yˆ (t + d + 1) = H d +1 ( z −1 )∆u (t ) + f d +1
yˆ (t + d + 2) = H d + 2 ( z −1 )∆u (t + 1) + f d + 2 (4.23)

yˆ (t + d + N ) = H d + N ( z −1 )∆u (t + N ) + f d + N

Assim, define-se a expressão de previsão como:

yˆ = G.∆u + f (4.24)

Onde G é definido conforme (4.14), ∆u conforme (4.15) e f é definido por:

 f d +1 
f 
f =  d +2  (4.25)
 ⋮ 
 
 f d+N 

Observando (4.24) e (4.25), verificamos que a primeira tem exatamente a mesma


forma que o caso irrestrito sem distúrbio, fazendo com que o sinal de controle futuro
seja obtido da mesma forma, enquanto que a resposta livre do sistema deve
considerar o efeito inserido pelo distúrbio determinístico do processo na previsão.

Exercício 7 – Repetir o exercício 5 para o sistema de controle do nível do Molde


considerando os parâmetros δ e λ especificados no programa molde.m e a
presença de distúrbio de velocidade.

44/81
Controle Preditivo

4.3 Sistema Multivariável


Seja um sistema multivariável com p entradas e q saídas, cuja saída yi , i = 1⋯ q
pode ser representado pela função de tranferência:

Ai ( z −1 ) yi (k ) = z − d Bi1 ( z −1 )u1 (k − 1) + z − d Bi 2 ( z −1 )u2 (k − 1) + ⋯ + z − d Bip ( z −1 )uip (k − 1)

Sejam os polinômios j E i j ( z −1 ) / F i j ( z −1 ) unicamente definidos com graus j-1 e na

respectivamente., pela equação Diophantina:

1 = E ij ( z −1 ) Aɶi ( z −1 ) + z − j Fji ( z −1 )

Da mesma forma que no caso monovariável, definimos os polinômios:

G ij,m ( z −1 ) = E i j ( z −1 ) Bm ( z −1 ) = g 0i ,m + g1i ,m z −1 + g 2i , m z −2 + ... + g nb


i ,m
+ j −1 z
− ( nb + j −1)

H ij,m ( z −1 ) = g0i ,m + g1i ,m z −1 + g 2i ,m z −2 + ... + g ij,−md −1 z − ( j −d −1)

H ij,m ( z −1 ) = G ij,m ( z −1 ) − H ij,m ( z −1 ) = g ij,−md z − ( j − d ) + ... + g nb


i ,m
+ j −1 z
− ( nb + j −1)

onde i = 1⋯ q e m = 1⋯ p . Seguindo o raciocínio semelhante ao caso monovariável,


a previsão da saída i, a j passos a frente é dada pela expressão:

yˆi (k + j) = Hij,1∆u1(k + j − d −1) + Hij,2∆u1(k + j − d −1) +⋯+ Hij, p∆u1(k + j − d −1) +


(4.26)
i,1 −1 i, p −1 i −1
+H (z )∆u1(k −1) +⋯+ H (z )∆up (k −1) + F (z ) yi (k)
j j j

 ∆uˆ1 (k ) 
 ∆uˆ (k ) 
∆U (k ) =  
2
Sejam os vetores:
 ⋮ 
 
 ∆uˆ p (k )  px1

45/81
Controle Preditivo

H ij (k ) = [ H ij,1 (k ) H ij,2 (k ) ⋯ H ij, p (k )]1xp

H ij (k ) = [ H ij,1 (k ) H ij,2 (k ) ⋯ H ij, p (k )]1xp

Com estas definições, a expressão (4.26) é simplificada para a seguinte forma:

yˆi (k + j) = Hij ∆u(k + j − d −1) + Hij ∆U(k −1) + Fj (z−1) yi (k)

Usando os vetores definidos abaixo:

 yˆ1 (k )   H 1j   H 1j   Fj1 y1 
 yˆ (k )   2  2  2 
 H   H  F y 
Yˆ (k ) =   H = j
H j =  j  Fj =  j 2 
2

⋮  j  
  ⋮  ⋮  ⋮ 
 yˆ q (k )  qx1 H  q H  q F q y 
 j  qxp  j  qxp  j q  qx1

Podemos escrever a previsão das q saídas a j passos a frente na seguinte forma


matricial:

Yˆ(k + j) = Hij ∆u(k + j − d −1) + Hij ∆u(k −1) + Fj (z−1)

Realizando uma sequência de previsões entre d+1 a hp passos a frente,


construimos a seguinte matriz de previsões:

Yˆ(k + d +1)   Hd +1∆u(k)   Hd +1   Fd +1(k) 


   H ∆u(k +1)    F (k)
Yˆ (k + d + 2) H
=  d +1  +  d +2  ∆u(k −1) +  d +2 
 ⋮   ⋮   ⋮   ⋮ 
       
 Yˆ(k + N)  Hd +1∆u(k + hc −1)qNx1  HN qNx1  FN (k) qNx1
Nx1

46/81
Controle Preditivo

Tendo em vista as definições de H j e H j , podemos escrever a expressão acima na

seguinte forma:

Yˆ(k + d +1) 
   G0 0 ⋯ 0   Fu ( k +1) 
Yˆ(k + d + 2)  G G0 ⋯ 0   
 1  ∆Uˆ ( k )   F u ( k + 2) 
 
 ⋮   ⋮ ⋮ ⋱ ⋮     ⋮ 
Yˆ(k + h )    ˆ
 ∆U ( k +1)   
 c

= Ghc−1 Ghc−2 ⋯ G0  •  + F
 u (k + h )
c 
 ⋮ ⋮  ⋮  
 ⋮  ⋮ ⋱   ⋮
   ˆ   
ˆ
Y (k + h −1)

Ghp−1 Ghp−2 ⋯ GN  ∆U ( k + hc −1)( phcx1) Fu (k + N −1)
 p 
ˆ     F k +N 
Ghp Ghp−1 ⋯ GN−1   u( )
Y(k + hp ) (qNx1) qNxphc

Onde

 H 1j ∆u (k − 1) + Fj ( z −1 ) y1 (k )   H 1j ∆u (k + j − d − 1) 
 2   2 
 H j ∆u (k − 1) + Fj ( z −1 ) y2 (k )   H j ∆u (k + j − d − 1) 
Fu (k + j ) = Gj =
 ⋮   ⋮ 
 q −1   q 
 H j ∆u (k − 1) + Fj ( z ) yq (k )  qx1  H j ∆u (k + j − d − 1)  qxp

Assim, chega-se a expressão de previsão:

Yˆ = G∆U + f

Exercício 7 – Repetir o exercício 5 para o sistema de controle do nível do tanque


multivariável, considerando os parâmetros δ e λ especificados no programa
tanquemulti.m.

47/81
Controle Preditivo

5 – Solução do Problema de Controle

5.1 Solução do Problema de Controle Preditivo Monovariável Irrestrito

A solução do problema GPC, determinando a seqüência de sinais de controle


∆u (t ), ∆u (t + 1),...∆u (t + hc − 1) é obtida minimizando a função custo (2.0), escrita na

forma matricial:

J = δ (G∆u + f − w)T (G∆u + f − w) + λ∆u T ∆u (5.1)

Onde o vetor de referência w é dado por:

w = [ w(t + d + 1) w(t + d + 2) ⋯ w(t + d + N )]T

A expressão (5.1) pode ser escrita como:

1 T
J= ∆u H ∆u + bT ∆u + f 0 + λ∆u T ∆u (5.2)
2

Onde,

H = 2(δ GT G + λ I )

bT = 2δ ( f − w)T G

f 0 = δ ( f − w) T ( f − w)

O mínimo de J, sem a existência de restrição, é linear e obtém-se derivando J em


relação a ∆u e igualando a zero (condição necessária para o mínimo local),
obtendo-se:

48/81
Controle Preditivo

O vetor de incrementos do sinal de controle ∆u é selecionado de maneira a


∂J
=0
minimizar o índice de desempenho J ⇒ ∂∆u

T
J = δ ( yˆ − w ) . ( yˆ − w ) + λ .∆u T .∆u

T
J = δ ( G.∆u + f ) − w . ( G.∆u + f ) − w + λ .∆u T .∆u

T
J = δ G.∆u + ( f − w )  . G.∆u + ( f − w )  + λ .∆u T .∆u

J = δ ( G.∆u ) . ( G.∆u ) + 2. ( G.∆u ) . ( f − w ) + ( f − w ) . ( f − w )  + λ.∆u T .∆u


T T T

 

J = δ  GT .∆u T . ( G.∆u ) + 2 GT .∆u T . ( f − w ) + ( f − w ) . ( f − w )  + λ .∆u T .∆u


T

 ( ) ( ) 

J = δ  ∆u T . G T .G .∆u + ∆u T 2.G T . ( f − w ) + ( f − w ) . ( f − w )  + λ .∆u T .∆u


T

 ( ) ( ) 

∂J
= δ  2. GT .G .∆u + 2.GT . ( f − w )  + 2.λ .∆u = 0
( )
∂∆u

−1
(δ (G .G ) + λ.I ) .∆u = −δ .G .( f − w) ⇒ ∆u = (δ .(G .G ) + λ.I )
T T T
.δ .GT . ( w − f )

−1
∆u = K .( w − f ) δ ( GT .G + λ .I ) .δ .GT
onde K é a primeira linha da matriz que é o
ganho do controlador.

O algoritmo DMC possui os passos descritos a seguir:

1- Obter a matriz de coeficiente G

2- Obter a previsão de referência

3- Obter a resposta livre (só depende dos controles passados)

4 - Obter as ações de controle futuro:

−1
(
∆u = δ GT .G + λ I ) .δ .G T . ( w − f )

49/81
Controle Preditivo

u ( j ) = u ( j − 1) + ∆u ( j )
5- Obter a ação de controle atual: , onde

∆u = − HH −1b = (δ GT G + λ I ) −1 GT δ ( w − f ) (5.3)

Observa-se que a equação (5.3) resulta num vetor de sinal de controle, onde o sinal
a ser direcionado para o processo é o primeiro elemento do vetor ∆u , obtido por:

∆u = K ( w − f ) (5.4)

Sendo K a primeira linha da matriz (δ G T G + λ I ) −1 GT δ .

5.2 Relacionando o MPC com o Preditor de Smith.

O Preditor de Smith é um controlador muito usado em processos industriais com


atraso. Em geral, sistemas industriais com atraso podem ser representados por
uma Função de Transferência de primeira ordem do tipo:

Ke −TS
G p ( s) =
τ s +1

Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:

q(t)
+ u(t) + y1(t) -ds y(t)
r(t) C(s) G(s) e

Figura 3 : Controle Ideal de Plantas com Atraso

50/81
Controle Preditivo

No entanto, esta solução não é possível de obter na maioria dos casos reais, tendo
em vista que y(t) não é acessível. A solução proposta por Smith nos anos 50,
baseia-se na introdução de um preditor (Gn(s)) no esquema de controle, conforme
mostra a Fig. 7, onde C(s) é projetado para controlar a planta sem o atraso (Gn(s)):

r(t) y(t)
C(s) -ds
G(s) e

⌢ ⌢
y1 (t ) = y (t + d ) ⌢
y (t )

Gn(s) -ds
e

+ e(t)
+

Figura 4 : Diagrama do Preditor de Smith

Para facilar a análise, a comparação do GPC com o preditor de Smith será feita
consirando o modelo de primeira ordem ARIMA discreto:

B ( z −1 ) − d b
y(k ) = z .∆u ( k − 1) = z − d .∆u ( k − 1)
ɶA( z −1 ) 1 − (a + 1) z + az
−1 −2

Fazendo previsões j ≥ d + 1 passos a frente, obtemos:

yˆ ( k + j ) = (1 + a ) yˆ ( k + j − 1) − ayˆ ( k + j − 2 ) + b∆uˆ ( k + j − d − 1)

Para o sistema de primeira ordem, podemos decompor sempre o polinômio


ŷ ( k + j ) , para qualquer j ≥ d + 1 , de maneira que o mesmo dependa somente das

entradas futuras ∆uˆ ( k) , ∆uˆ ( k +1) ,⋯, ∆uˆ ( k + hc ) e das previsões ŷ ( k + d ) .

yˆ ( k + d − 1) Fazendo isto para as previsões ŷ ( k + j ) realizadas nos horizontes

j = d + 1⋯ hp , ( hp = N + d ) obtemos o seguinte sistema matricial:

51/81
Controle Preditivo

yˆ = G´∆u + D´( z −1 ) yˆ´ (5.5)

Onde:

 d01 d11   g 00 0 … 0 
 
 2 2  g11 g 01 … 0 
d d1 
D´=  0  yˆ ( t + d )   ⋮ ⋮ ⋮ ⋮ 
 ⋮ ⋮  y
ˆ ´=  yˆ (t + d − 1)  G´=  
 N   2X1  g 22 g12 … 0 
N
d0 d0 NX2  ⋮
 N −1
⋮ ⋮ ⋮ 

 g N −1 g NN−−12 … g NN −−1hc  N X h
c

Substituindo (5.5) na função custo (2.0), e realizando os cálculos semelhanes ao da


seção 5.1, obtemos o seguinte resultado:

(δ ( G´ .G´) + λ.I ).∆u = −δ .G´ .( D´ yˆ´− w) ⇒


T T

−1
(5.6)
∆u = (δ .( G .G´) + λ .I ) .δ .G´ .( w − D´ yˆ´)
´T T

Seja:
−1
q = (δ .( G´T .G´) + λ.I ) δ G´T

p = qD´

Observe que a matriz q tem dimensão hc xN e a matriz p tem dimensão hc x 2 .

Considerando que o vetor w seja igual a :

1
1
w =   × r (k )
⋮ 

1 N X1

52/81
Controle Preditivo

(onde r(k) é o set point), concluimos que o primeiro elemento do vetor ∆u em (5.6)
será igual a :

 yˆ (k + d ) 
∆u (k ) = (q11 + ⋯ + q1 N )r (k ) + [ − p11 − p12 ]  1 
 yˆ 2 (k + d ) 
Que pode ser representado pelo seguinte diagrama de blocos:

Figura 5 e Figura 6

De (4.2) podemos escrever:

( )
y ( k ) = (1 − Aɶ z −1 ) y (k ) + z − d B ( z −1 ).∆u ( k − 1)

Por recursividade, chegamos a seguinte expressão:

d
yˆ ( k + d ) = ((1 − Aɶ ( z −1 ) z ) d y (k ) + ∑ (1 − Aɶ ( z −1 ))i −1 z − d B ( z −1 ).∆u ( k + d − 1)
i =1

Simplificando a expressão acima temos:

yˆ ( k + d ) = R ( z −1 ) y (k ) + ( z d − R ( z −1 )).Gn ( z −1 )∆u ( k )

Onde:

R( z ) = (1 − Aɶ ( z −1 )) d z d
−1
e −1
Gn ( z ) =
( )
B z −1 − d −1
z
( )
Aɶ z −1

Portanto chegamos ao seguinte diagrama de blocos:

53/81
Controle Preditivo

Figura 7 :

54/81
Controle Preditivo

Exercício 8:
Seja a seguinte Função de Transferência de um determinado processo:

1, 547 z 2 − 1, 705 z + 0, 4574


Gp ( z) =
12 z 5 − 15, 22 z 4 + 4, 415 z 3

1 – Usando um método de modelagem de sistemas de primeira ordem com atraso,


aproxime esta função por:

K exp(−θ s ) bz −1 − d
Gm ( s ) = cuja transformada Z é Gm ( z ) = z ,
τ s +1 1 − az −1

Onde a = exp( −T / τ ), b = K(1-a), θ é múltiplo de T e d = θ / T , T=0,2 seg.

a – Desenvolver um PI através do modelo Gm ( z ) que controle a planta G p ( z ) , com


a resposta ao degrau possuindo o menor sobressinal e o menor tempo de subida.

b - Desenvolver no MatLab um DMC monovariável irretrito, através do modelo


Gm ( z ) , que controle a planta G p ( z ) , com a resposta ao degrau possuindo o menor
sobressinal e o menor tempo de subida.

c – Desenvolver no MatLab um GPC monovariável irrestrito através do modelo


Gm ( z ) , que controle a planta G p ( z ) , com a resposta ao degrau possuindo o menor
sobressinal e o menor tempo de subida.

d – Desenvolver no MatLab um Preditor de Smith através do modelo Gm ( z ) , que


controle a planta G p ( z ) , com a resposta ao degrau possuindo o menor sobressinal
e o menor tempo de subida.

e – Compare os controladores em relação à resposta ao degrau.

55/81
Controle Preditivo

1.1 Controlador preditivo baseado em espaço de estados

Este tipo de controlador preditivo utiliza o modelo em espaço de estados para realizar as
previsões para entradas e q saídas onde , (WANG, 2009).
A formulação do modelo MIMO em espaço de estados é:

onde é o vetor de entradas , é o vetor de saída , são os


estados e é uma perturbação que afeta a entrada do processo. Essa entrada é assumida
como uma sequência de ruído branco integrada, ou seja, satisfaz a equação

onde é um ruído branco com média zero (WANG, 2009).


Sendo e , chega-se a seguinte
expressão:

Fazendo em função de chega-se em:

Usando como novas variáveis de estados o vetor obtém-se o


modelo em espaço de estados para saídas e estados futuros dado por:

onde é uma matriz de zeros.


Segundo Wang (2009), a expressão simplificada das previsões de estados e saídas e a solução
do controlador passos a frente são dados por:

56/81
Controle Preditivo

onde,

A expressão da função custo (3.1) na forma matricial é igual a:

onde ,

Após a multiplicação dos termos da expressão acima obtém-se:

onde ,

57/81
Controle Preditivo

5.2 Solução do Problema de Controle Preditivo Multivariável Irrestrito

No controle preditivo multivariável, a função custo que deve ser minimizada é dada
pela seguinte expressão:

hp 2
q
J (k ) = ∑∑ δ l  yˆl ( j + k ) − wl ( j + k )  +
l =1 j = d

p hc 2

∑ ∑ λ  ∆u ( j + k − 1)
i =1 j =1
i i

Onde δ l , l = 1⋯ q; λi , i = 1⋯ q; são parâmetros de ajuste do controlador multivariável.


Definindo as seguintes matrizes:

δ1 0 ⋯ 0 λ1 0 ⋯ 0
0 δ2 ⋯ 0 0 λ2 ⋯ 0
δ= λ=
⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ δq 0 0 ⋯ λp
qxq pxp

δ 0 ⋯ 0 λ 0 ⋯ 0
0 δ ⋯ 0 0 λ ⋯ 0
δ = λ=
⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ δ ( qN ) x ( qN )
0 0 ⋯ λ ( pN ) x ( pN )

Onde N = hp − d .Assim a função custo, pode ser escrita na seguinte forma matricial:

J = (G∆u + f − w)T δ (G∆u + f − w) + ∆u T λ∆u

Derivando esta função e igualando a zero, obtemos:

∆U = (δ GT δ G + λ I ) −1δ G T (W − f )

O sinal a ser direcionado para o processo é o vetor constituído pelos p’s primeiro
elementos do vetor ∆U , obtido por:

58/81
Controle Preditivo

 ∆u1 (k ) 
 
 ∆u2 (k ) 
∆U (k ) = K (W − f )
 ⋮ 
 
 ∆u p (k ) 
(5.4)

Sendo K é a matriz (G T δ G + λ I ) −1δ GT , que possui p linhas por qN colunas.

Exercício 9:Analisar o desempenho do controlador preditivo multivariável do


Tanque conforme o arquivo tanquemulti.m

5.3 Solução do Problema de Controle Preditivo Monovariável Considerando


Restrições

Em um processo real as restrições à variação de controle ∆u , a excursão do


controle u(t) e a saída y(t) são reais e presentes em todo o período de operação.

As restrições são resultado de limitações de equipamentos em campo (como


capacidade hidráulica/elétrica para movimentação de atuadores, limitação de curso
para válvulas, etc).

A introdução das restrições pode ser feita sistematicamente durante o processo de


sintonia do controlador e quando consideradas, não há uma solução explícita para a
função custo, conforme anteriormente mostrada pela equação (5.3). Assim, o
problema de programação quadrática abaixo deve ser solucionado:

min = J (∆u ) s.a { S ∆u ≤ c (5.5)


∆u

Onde as seguintes restrições foram consideradas:

1- Variação da ação de controle: ∆u (t ) = u (t ) − u (t − 1) , onde

∆u min ≤ ∆u (t + j ) ≤ ∆u max , j=0,1,...,hc-1;

59/81
Controle Preditivo

2- Sinal de controle: u (t ), u min ≤ u (t + j ) ≤ u max ;

3- Sinal da saída prevista: yˆ (t ), y min ≤ yˆ (t + j ) ≤ y max

Para que se consiga solucionar (5.5), deve-se deixar que as restrições acima
estejam em função de ∆u definido em (4.13) na forma matricial.

1- Restrições na variação da ação de controle ∆u :

Γhc ∆u min ≤ ∆u ≤ Γhc ∆u max , sendo:

1
1
Γhc =   (5.6)
⋮ 

1 hcx1

Rearranjando as restrições, têm-se:

∆u ≤ Γ hc ∆umax

Γ hc ∆umin ≤ ∆u ⇒ −Γ hc ∆umin ≥ −∆u

Assim,

− ∆u ≤ −Γhc ∆u min

Considerando ∆u = I hc ∆u , onde Ihc é uma matriz identidade de ordem (hcxhc), tem-


se

60/81
Controle Preditivo

 I hc   Γ hc ∆umax 
  ∆u ≤  
 (5.7)
− I 
 hc  2 hcxhc  Γ hc ∆umin  2 hcx1

2- Restrições ao sinal de controle u

Usando o conceito de variação do sinal de controle recursivamente, na forma


matricial têm-se:

 u (t ) = u (t − 1) + ∆u (t ) 
 u (t + 1) = u (t ) + ∆u (t + 1) = u (t − 1) + ∆u (t ) + ∆u (t + 1) 
  (5.8)
 ⋮ 
 
u (t + hc − 1) = u (t − 1) + ∆u (t ) + ∆u (t + 1) + ⋯ + ∆u (t + hc − 1) Nx1

 u (t )  u (t − 1)  ∆u (t ) 
 u (t + 1)  u (t − 1)  ∆u (t ) + ∆u (t + 1) 
 = .  (5.9)
 ⋮   ⋮  ⋮ 
    
u (t + hc − 1) u (t − 1) ∆u (t ) + ∆u (t + 1) + ⋯ + ∆u (t + hc − 1)

Pode-se escrever (5.9) como:

= Γhc u (t − 1) + Γhc ∆u

Com:

 1 0 0 ⋯ 0
 1 1 0 ⋯ 0
Γhc =  (5.10)
 ⋮ ⋮ ⋮ ⋮ ⋮
 
 1 1 1 ⋯ 1

Da forma demonstrada, chega-se as seguintes desigualdades:

61/81
Controle Preditivo

Γ hc umin ≤ Γ hc u (t − 1) + Τ∆u ≤ Γ hc umax

Γ hc (umin − u (t − 1)) ≤ Τ∆u ≤ Γ hc (umax − u (t − 1))

Que podem ser agrupadas na forma matricial:

Τ  Γ hc (umax − u (t − 1)) 
  .∆u ≤  
 (5.11)
 
 −Τ 2 h Xh  Γ hc (u (t − 1) − umin )  2 h X 1
c c c

3- Restrições no sinal de saída y

De forma semelhante a realizada no item 2, para hp=N+d, podemos determinar


para a saída:

ΓN y min ≤ yˆ = H∆u + f ≤ ΓN y max (5.12)

Onde ŷ é definido por (4.12), H é definido por (4.8) e f por (4.25) e

1
1
ΓN =   (5.13)
⋮

1 Nx1

Após a realização de algumas manipulações algébricas, têm-se:

62/81
Controle Preditivo

Γ N ymin − f ≤ H ∆u ≤ Γ N ymax − f

H ∆u ≤ Γ N ymax − f (5.14)

− H ∆u ≤ f − Γ N ymin

Que na forma matricial representa-se como:

H  Γ N ymax − f 
  .∆u ≤  
 (5.15)
 
 − H  2 Nxh  f − Γ N ymin  2 Nx1
c

É necessário juntar as três restrições acima (1,2 e 3) para permitir que sejam
aplicadas na sintonia do controlador GPC especificado para o controle do sistema,
de forma a evitar desvios adicionais do modelo interno face a resposta do processo
real obtida. Pode-se escrever esta junção como:

S .∆u ≤ C (5.16)

Onde:

 Γhc   Γ hc ∆umax 
− Γ   −Γ hc ∆umin 
 hc   
T  Γ hc (umax − u (t − 1)) 
S =  hc  e C=  (5.17)
 − Thc   Γ hc (u (t − 1) − umin ) 
 H   Γ N ymax − f 
   
 − H  ( 4 hc + 2 N ) xhc  f − Γ N ymin  (4 hc + 2 N ) x1

Com o que foi exposto da estrutura do controlador adotado até aqui, o problema a
ser resolvido pelo controlador Preditivo mediante a presença de restrições consiste
em minimizar a função custo (anteriormente mencionada na equação (5.2) sujeita a
um conjunto definido de restrições, fornecido por (5.17) acima.

63/81
Controle Preditivo

A minimização da função custo (quadrática) pode ser realizada através de meios


computacionais, dentre eles, a utilização da função Quadprog disponível no software
Matlab.

Após a resolução por este método, acha-se um vetor ∆u no qual apenas o primeiro
elemento ∆u (t ) é enviado ao processo para fazer com que a saída se aproxime da
referência desejada minimizando a função custo (5.2), devendo as limitações
contidas em (5.17) serem respeitadas, incondicionalmente.

Exercício 10: Analisar o desempenho do controlador do nível do molde na presença


de restrições e distúrbio de velocidade.

Exercício 11:Analisar o desempenho do controlador preditivo multivariável do


Tanque com restrições.

64/81
Controle Preditivo

5.4 Programação Quadrática

A programação quadrática é uma técnica de otimização cuja função objetivo é uma


função quadrática, tal como a apresentada em (2.2), e as restrições são lineares,
tais como as mostradas em (5.17).O problema de programação quadrática é
formulado através da expressão:

1 T
min f ( x) = x Gx + g T x
x 2

s.a. : (5.18)
ci : ai x = bi i∈I
ci : ai x ≤ bi i∈D

Onde x é um vetor de dimensão n, G representa uma matriz Hessiana simétrica nxn,


e os vetores ai são os gradientes das restriçoes ci com respeito a x; I e D se referem
aos índices do conjunto das restrições de igualdade e de desigualdade,
respectivamente.

Terminologia:

i) Qualquer ponto x ∈ ℝ n que satisfaça as restrições da equação (5.18) é chamado de


factível. Se as restriçoes não são satisfeitas por nenhum ponto x ∈ ℝ n , então o
problema é infactível, e as restrições são chamadas de inconsistentes. Por exemplo:
x1 > 2, x1 < 1 .

ii)Seja o conjunto A tal que Ci ( x) = 0 , i ∈ A . As restrições cujos índices pertencem a

este conjunto são chamadas de ativas. Observe que o conjunto de restrições de


igualdade pertencem ao conjunto de restrições ativas ( I ∈ A ). A intercessão do
conjunto de restrições de desigualdades com o conjunto de restrições ativas ( D ∩ A )
pode ser não nulo, isto quer dizer que restrições de desigualdades podem ser ativas.

65/81
Controle Preditivo

Portanto, o objetivo do algoritmo de otimização é obter o ponto ótimo x* tal que a


função objetivo f(x) seja minimizada e o conjunto de restrições sejam satisfeitas.
Como exemplo, podemos considerar o seguinte problema de programação
quadrática:

T
1 2 0  −2   x1 
min f ( x) = xT  0 2  x +  −2  x , x =  x 
x 2      2

s.a.: (5.19)
T
 −1
c1 :   x ≤ −2 − 2 1 ∈ D
 −1
T
1
c2 :   x ≤ 2 2 ∈ D
 −1

Neste exemplo o conjunto de restrições de igualdade (I) é vazio e o conjunto de


restriçoes de desigualdade é D = {1, 2} . Observe, através na figura 12 que a função
T
objetivo representa uma família de curvas com centro em [1 1] . As Restriçoes

lineares são representadas por retas, e os contornos da função objetivo são


representados por círculos concêntricos.

Quanto menor o valor da função objetivo, menor será o círculo e portanto, o ponto
ótimo x* estará sobre o círculo que tangencia a restrição c1 , ou seja, no ponto
T
 1 1 
1 + 2 1 + 2  . No ponto de mínimo, somente a primeira restrição estará ativa, ou
 
seja A = {1}

66/81
Controle Preditivo

Figura 12: Representação Gráfica do Problema (5.19)

5.4.1 Condição Necessária para a Existência do Mínimo Local no Problema de


Programação Quadrática com Restrições

Num problema de otimização com restrições, o ótimo local x* deve estar na


intercessão das restrições ativas, ou seja,

aiT x* = bi i∈I

Quando isto acontece, podemos provar que o ótimo x* satisfaz a seguinte condição
necessária:
∇f ( x* ) = −∑ ai λi*
i∈ A

67/81
Controle Preditivo

Onde λi* são chamados de multiplicadores de Lagrange.Tal condição necessária é

chamada de condição de Kun-Tucker. Não é o objetivo aqui mostrar como calcular


os multiplicadores de Lagrange.

Figura 13 – Condições de Kun-Tucker para o Problema (5.19)

Os algoritmos de otimização restrita devem encontrar uma direção factível d, em


cada iteração k, tal que xk +1 = xk + d k seja factível e que f ( xk +1 ) ≤ f ( xk ) . O algoritmo

termina quando xk +1 = x* , ou seja, quando as condições de Kun-Tucker são

satisfeitas. Tal procedimento está ilustrado na figura 14 (o detalhamento do


algoritmo de otimização também não é o objetivo deste texto).

68/81
Controle Preditivo

Figura 14 – Seqüência de Passos Necessários para Resolver o Problema (5.19)

5.5 Sintonia dos Parâmetros do CPBM

Os parâmetros hp (horizonte de predição), hc (horizonte de controle), α , δ e λ (fator

de supressão do movimento) são utilizados para sintonizar a resposta de acordo


com as especificações do sobressinal, tempo de subida e erro em regime,
estabelecidas pelo projetista. O incremento no parâmetro λ diminui a variável
manipulada, tornando a resposta mais lenta e suave.Variações em λ também
afetam a robutez do controlador, de maneira que o aumento neste parâmetro
proporciona a melhora na robustez. O incremento nos horizontes de controle e de
previsão ( hp e hc ) contribui para melhorar a estabilidade do controlador, o

sobressinal e o tempo de subida, mas prejudica a robustez do controlador. Observa-


se também que sintonizar o parâmetro λ , com os parãmetros hp e hc fixos, não

conduz a bons resultados; mas o caso contrário permite realizar a sintonia do

69/81
Controle Preditivo

controlador com mais facilidade. Isto mostra que os horizontes de controle e de


predição possuem maior prioridade no ajuste em relação ao parâmetro λ . Também
é observado que as restrições na variável ∆u (variação do sinal de controle),
também afeta na velocidade da resposta do sinal de saída, e esta restrição possui
maior prioridade em relação ao parãmetro λ . Por outro lado, o aumento dos
horizontes de previsão e de controle, provoca o aumento considerável do número de
restrições no Problema de Programação Quadrática, o que pode provocar a
infactibilidade de soluções.

Em vista das questões levantadas no parágrafo anterior, podemos afirmar que a


sintonia do controlador preditivo não é uma tarefa fácil. Os métodos encontrados na
literatura para sintonia dos parâmetros do controlador preditivo são, na maioria
baseados em procedimentos de tentativa e erro. Somente no artigo apresentado por
Dougherty e Cooper (2003) é que se propõe uma solução analítica para a obtenção
do parâmetro λ para sistemas mono e multivariáveis controlador pelo algoritmo
DMC. O guia propostos por estes autores é descrito a seguir:

Passo 1 – Aproximar o modelo do processo por um sistema de primeira ordem do


tipo:
y Ke −θ s
=
u τ s +1

Passo 2 - Calcular os horizontes de previsão ( hp ), e controle ( hc ) e o horizonte do

modelo (N), através da seguinte expressão:

 5τ θ  τ θ 
hp = N =  + int( + 1)  hc =  + int( + 1) 
T T  T T 

Passo 3 – Calcular o coeficiente de supressão do movimento λ através da seguinte


expressão:

hc  2 θ 3τ h −1 
λ=  K (hp − int( + 1) − + 2 − ( c )) 
10  T 2T 2 

70/81
Controle Preditivo

O Algoritmo Genético é uma ferramenta que tem auxiliado na sintonia dos


parãmetros do CPBM e que tem forcenido bons resultados, no entanto, este método
não é objeto de estudo no presente texto.

Exercício 12:

a – O problema de otimização irrestrito:

min f ( x) = 100( x2 − x12 ) 2 + (1 − x1 ) 2

possui um ponto de mínimo local em x* = (1,1)’ , onde y’ é a transposta de y.


Verifique se as condições necessárias para um mínimo local são satisfeitas.

b – Seja o Problema de otimização com restrição:

m in f ( x ) = 1 0 ( x1 − 3 , 5 ) 2 + 2 0 ( x 2 − 4 ) 2
x1 + x 2 ≤ 6
x1 − x 2 ≤ 1
2 x1 + x 2 ≥ 6
0 .5 x1 − x 2 ≥ − 4
x1 ≥ 0
x2 ≥ 0

Resolva Graficamente o problema, indicando a direção do vetor gradiente da função


objetivo e das restrições ativas no ponto ótimo. Verifique se as condições de Kuhn
Tucker são satisfeitas no ponto ótimo.

71/81
Controle Preditivo

6 – Controle Preditivo Baseado em Modelo Com Restrições Para Sistemas


Com Dinâmica Rápida

O CPBM com restrições como o GPC e o DMC utilizando Programação Quadrática


(PQ) são aplicados principalmente em sistemas dinâmicos lentos, pois o número de
cáculos necessários para resolver o problema de otimização aumenta
proporcionalmente com o número de retrições e o tamanho dos horizontes de
previsão e de controle. Para termos noção da complexidade computacional do
CPBM com restrições, se a função custo for linear e possuir n variáveis de controle,
e se o problema de otimização possuir m restrições de desigualdades e meq

restrições de igualdade, o número de operações realizados através do algoritmo de


Programação Linear (PL) para obter uma ação de cotrole (u(k)) é igual a no no
máximo ( (n3 + n 2 ) m + meq ). No caso em que a função custo é quadrática, o número

de operações realizadas pelo algoritmo de PQ será 5 vezes maior que ao do PL.


Portanto, a utilização dos algoritmos PL ou PQ para otimizar a função custo do
CPBM com restrições torna-se inviável quando se pretende controlar sistemas
dinâmico rápidos, como robôs móveis.

Neste capítulo apresentaremos um método de otimização conhecido como


Programação Multiparamétrica (PM) que é mais indicada para aplicação em tempo
real de sistemas dinãmicos rápidos. Sejam os seguintes problemas de otimização:

min J ( x) = cT v + d T x
(PML) v (6.1a)
s.a. : Av ≤ b + Ex,

1 T
min J ( x) = v Gv + xT Fv
(PMQ) v 2 (6.1b)
s.a.: Av ≤ b + Ex,

72/81
Controle Preditivo

min J ( x) = crT vr + cbT vb


v

(PMLI) s.a. : Ar vr + Ab vb ≤ b + Ex,


n
vr ∈ ℝ nr , vb ∈ {0,1} b

Onde x ∈ ℝ p , v ∈ ℝ n , A ∈ ℝ mxn , b ∈ ℝ m e E ∈ ℝ mxp . O parâmetro x ∈ ℝ p sendo conhecido


a priori, este problema de otimição poderia ser resolvido através dos algoritmos PL,
PQ, ou PLI. No entanto, na Programação Multiparamétrica Linear (PML),
Quadrática (PMQ), ou Programação Multiparamétrica Linear Inteira e Inteira
(PMLI), o objetivo é determinar a solução ótima, definida por v* ( x) , como uma
função explícita em relação ao parâmetro x . No caso do problema de controle, o
parâmetro x representa a variável de estado do sistema dinâmico que deve ser
calculada em cada instante e v* ( x) é a ação de controle. Assim, se a
representação da solução ótima é obtida antecipadamente, e conhecendo-se a
equação de estado do sistema, o cálculo da ação de controle se reduz a avaliar a
função v* ( x) em cada estado onde se encontra o sistema dinâmico. Desta
maneira, o algoritmo de programação multiparamétrica encontrará a solução mais
rapidamente do que o algortmo PL, PQ ou PLI.

6.1 Solução do Problema de Programação Multiparamétrica

Definição 6.1.1 (Conjunto Factível) Definimos um conjunto factível Χ ⊆ ℝ p como o


conjunto de parâmetros x ∈ ℝ p para o qual o problema de otimização (6.1) é
factível, ou seja:

Χ = { x ∈ ℝ p Av ≤ b + Ex} ,

Definição 6.1.2 (Partição Politópica) Uma coleção de conjuntos politópicos


R
{Ρ r }r =1 = {Ρ1 ,… , Ρ R } é uma partição politópica de um conjunto politópico Χ se (i)

∪ Rr=1 Ρ r = x , (ii) (Ρ r \ ∂Ρ r ) ∩ (Ρ q \ ∂Ρ q ) = ∅, ∀r ≠ q , onde ∂ significa a fronteira.

73/81
Controle Preditivo

Definição 6.1.3 (Função Afim Por Partes (PWA)) Uma função f : Χ → ℝ d com
R
d ∈ ℕ + é afim por partes ((PWA), se a partição {Ρ r }r =1 de um conjunto Χ existir, tal

que f ( x) = Lr x + Cr se x ∈ Ρ r .

Definição 6.1.3 (Função Quadrática Por Partes (PWQ)) Uma função


R
f : Χ → ℝ d com d ∈ ℕ + é quadrática por partes ((PWQ), se a partição {Ρ r }r =1 de um
conjunto Χ existir, tal que f ( x) = xT Qr x + Lr x + Cr se x ∈ Ρ r .

Teorema 6.1 [BMDP02,Bor03] Considere o Problema de Programação


Multiparamétrica Quadrática (PMQ). Então:

1 – O conjunto de parâmetros factíveis Χ é um poliedro convexo;


2 – O conjunto Χ é particionado em R regiões poliedrais, i.e.:

Pr = { x ∈ ℝ p H r x ≤ K r } , r = 1,… , R

3 – A solução ótima v* : Χ → ℝ n é uma função contínua e afim por partes (PWA) em


relação ao parâmetro x, i.e.

v* ( x) = Lr x + Cr , se x ∈ Ρ r

4– A função custo ótima J * : Χ → ℝ é contínua, convexa e quadrática por partes, i.e.

J * ( x) = xT Qr x + Lr x + Cr , se x ∈ Ρ r

Teorema 6.2 [Bor03] Considere o Problema de Programação Multiparamétrica


Linear e Inteira (PMLI). Então o conjunto de parâmetros factíveis Χ é um poliedro
particionado em R regiões poliedrais. Existe a solução ótima v* : Χ → ℝ n é afim por
partes (PWA) em relação ao parâmetro; e a função custo ótima J * : Χ → ℝ é PWA.

74/81
Controle Preditivo

A grande vantagem das propriedades apresentadas nos Teoremas acima é que a


solução ótima é definida avaliando a função PWA para um valor conhecido de x, o
que envolve os seguintes passos:

1 – Identificar a região Ρ r que contém x;

2 – Avaliar a respectiva função afim Lr x + Cr .

O total de cálculos necessários para realizar as operações nos Passos 1 e 2 acima é


no máximo igual a R, onde R é o total de partiçoes. Portanto, a complexidade
computacional do algoritmo PM está relacionada com os cálculos offline da solução
ótima v* e da capacidade de armazenamento da solução. A complexidade offline é
igual a R Θ( PQn , m ) + R (n f + m) Θ( PLp ,m ) , onde Θ( PQn , m ) é o máximo de operações

numéricas para resolver o algoritmo PQ com n variáveis e m restrições, Θ( PLp ,m ) o

máximo de operações numéricas para resolver o algoritmo PL com p variáveis e m


restrições, e n f = (∑ f r ) / R , sendo que f r é o número de restrições da r-ésima
r

região.

6.2 Sistemas Dinâmicos Afins por Partes

Seja um conjunto de funções lineares f LIN ,i ( x, u ), i = 1,… , nL obtidas através da

expansão da série de Taylor de uma função não linear f entorno do ponto x s ,i , u s ,i ,


isto é:

 ∂f ( x, u )   ∂f ( x, u ) 
f LIN ,i ( x, u ) = f ( x s ,i , u s ,i ) +  s ,i
 s ,i s ,i ( x − x ) + 
s ,i
 (u − u ) xs ,i ,u s ,i , i = 1,… , nL
 ∂ x  x ,u  ∂ u 

Seja x(t ) ∈ ℝ n o vetor de estado no instante t, u (t ) ∈ ℝ m o vetor de controle.


Assume-se que os estados e as entradas são sujeitos a restrições:
x(t ) ∈ Χ ⊂ ℝ n , U (t ) ∈ U ⊂ ℝ m . O sistema dinâmico afim por partes (PWA) é definido
pela equação de estados:

x
x(t + 1) = f LIN ,i ( x, u ) se   ∈ Di , i = 1,… , nL (6.2)
u 

75/81
Controle Preditivo

Onde Di ⊆ Χ × U .

Definição 6.4 O sistema dinâmico PWA está bem estruturado se o seu domínio
D ⊆ Χ × U pode ser particionado em Di regiões tais que D = ∪ i Di e as regiões não se

cruzam, i.e.,
Onde x(t ) ∈ ℝ n é o vetor de estado no instante t, u (t ) ∈ ℝ m é o vetor de controle, e f(.)
a função linear de atualização do estado.Assume-se que os estados e as entradas
são sujeitos a restrições: x(t ) ∈ Χ ⊂ ℝ n , U (t ) ∈ U ⊂ ℝ m . A função f pode ser

aproximada por um conjunto de funções lineares f LIN ,i ( x, u ), i = 1,… , nL obtidas através

da expansão da série de Taylor de f entorno do ponto x s ,i , u s ,i , isto é:


Di ∩ D j = ∅, ∀i ≠ j

Um sistema PWA bem estruturado quer dizer que a sua dinâmica é determinada
unicamente para um dado par ( x, u ) . Tais sistemas pertencem à classe de sistemas
lineares híbridos, constituído de variáveis lógicas e dinâmicas lineares no tempo.

6.3 Controle Ótimo no Tempo Finito com Restrições (COTFR)

Considere o sistema dinâmico discreto no tempo representado pela equação de


estados:

xk +1 = Axk + Buk
(6.3)
yk = Cxk + Duk

Assuma que este sistema seja controlável e observável, e que existam os conjuntos
limitados Χ = { x | H x x ≤ K x } , U = { x | H u x ≤ K u } , Γ set = { x | Lx ≤ M } . Seja N um número

interiro positivo, então o problema COTFR é definido através da seguinte


formulação:

76/81
Controle Preditivo
N −1
J N* ( x0 ) = min ℓ N ( xN ) + ∑ ℓ k ( xk , uk )
UN
k =0

sa.
xk +1 = Axk + Buk (6.4)
xk ∈ Χ, ∀k = 0,… , N
uk ∈ U , ∀k = 0,… , N
xN ∈ Γ set

Onde J * é o custo ótimo que depende da condição inicial x0 , U N = (u0 ,… , u N )T é a

sequência de controle ótimo a ser determinada, xN é o estado final da trajetória,

ℓ N ( xN ) é a função custo final, ℓ k ( xk ) é o custo de cada estágio k , e Γ set representa

a restrição do estado final, que deve ser acrescentado para garantir estabilidade.

O problema COTFR pode ser classificado como :

Problema do Regulador: quando o objetivo é manter a trajetória de estado xk o

mais próximo possível da origem, ou seja, minimizar a função custo dada por:

ℓ N ( xN ) = QN xN p

ℓ( xk , uk ) = Qk xk p
+ Qu uk p
,

Onde QN ∈ ℝ n×n , Qx ∈ ℝ n×n , Qu ∈ ℝ m×m são matrizes de poderações usadas para sintonzar

aperformance do controlador. Além disto p


é tal que Pz 1 = ∑ Pi zi , z 2 = z T Pz , e
i

Pz ∞
= max Pz
i i para algum vetor z e matriz P.
i

Problema do Regulador: quando o objetivo é mater a trajatória de estado xk o

mais próximo possível da referência xREF ou seja, minimizar a função custo dada

por:
ℓ N ( xN ) = QN ( xN − xREF ) p
(6.5)
ℓ( xk , uk ) = Qk ( xk − xREF ) p + Qu ∆uk p
,

Onde ∆uk = uk − uk −1 .

77/81
Controle Preditivo

Problema do Tempo Mínimo:quando o objetivo é obter a sequência de controles


ótimos U N* que leva o estado de uma condição inicial x0 para o estado terminal Γ set no

menor tempo possível, enquanto que as restrições do sistema são atendidas.

O problema COTFR pode ser formulado como um problema de Programação


Multiparamétrica Quadrática (PMQ) ou linear (PML), dependendo do valor da norma
p em (6.4).Na formulação do PMQ, temos p =2, ℓ N ( xN ) = xTN QN xN e

ℓ( xk , uk ) = xkT Qk xk + ukT Qu uk .Assim, definindo as matrizes

 0 … … 0
 I   B 0 … 0 
 A 
 ⋮ ⋮ ⋮ ⋮
Aɶ =   , Bɶ =  
 ⋮   AB B … 0
 N  ⋮ ⋮ ⋮ ⋮
A   N −1 
A B AN −2 B … 0

o problema (6.3) para p=2 pode ser escrito como:

J N* ( x0 ) = x0T Yx0 + min {U NT HU N + x0T FU N }


UN

s.a. (6.6)
GU N ≤ W + Ex0 ,

Onde,
ɶ ɶ + Qɶ , F = Aɶ T QB
H = Bɶ T QB ɶ ɶ , Y = Aɶ T QA
ɶ ɶ , Qɶ = diag (Q ,… , Q Q ) , Qɶ = diag (Q ,… , Q ) .
u x x N u u u

Considerando H semi definida positiva, a solução será dada através do Teorema


6.1.

Na formulação PML, temos p = 1 , ℓ N ( xN ) = QN xN e ℓ( xk , uk ) = Qk xk + Qu uk . Usando

variáveis de folga (ε 0 , ε1 ,… , ε N −1 ) , (δ 0 , δ1 ,… , δ N −1 ) e γ podemos então transformar a


N −1
função não linear J ( x0 ) = min QN xN + ∑ Qx xk + Qu uk numa função custo linear
*
N
UN
k =0

dada por:
78/81
Controle Preditivo

N −1
J N* ( x0 ) = min
U N ,ε 0 ,⋯,ε N −1 ,δ 0 ,⋯,δ N −1 ,γ
∑ (ε
k =0
k + δk ) + γ

sa.
Qu uk ≤ 1ε k , −Qu uk ≤ 1ε k , k = 0,1,… , N − 1 (6.7)
Qx xk ≤ 1δ k , − Qx xk ≤ 1δ k , k = 0,1,… , N − 1
QN xN ≤ 1γ , −QN xN ≤ 1γ

No caso da norma p = ∞ , a função custo será:

J N* ( x0 ) = min ε + δ + γ
U N ,ε ,γ

sa.
Qu uk ≤ 1ε , −Qu uk ≤ 1ε (6.8)
Qx xk ≤ 1δ , −Qx xk ≤ 1δ
QN xN ≤ 1γ , −QN xN ≤ 1γ

Inserindo em (6.6) as restrições em (6.5) podemos resolver o problema PMP através


do Teorema 6.2.

6.3.1 COTFR para Sistemas Afins Por Partes.

A formulação do problema de Controle Ótimo para Sistemas Afins por Partes requer
a transformação do conectivo lógico Se-Então numa representação matemática
equivalente. Conforme sugerido por (CITAR) devemos definir os seletores binários
δ i = {0,1} , i = 1… , nL tais que:

  xk  
(δ i = 1) ⇔    ∈ Di 
 u k  

Assim as restrições H ix x ≤ K ix , H iu u ≤ K iu e xk +1 = Ai xk + Bi uk para i = 1… nL serão

dadas por:

79/81
Controle Preditivo

 xk 
H i   − K i ≤ M i (1 − δ k ,i )
 uk 
nL

∑δ
i =1
k ,i =1
~
xk +1 − ( Ai xk + Bi uk ) ≤ M i (1 − δ k ,i ) (6.9)
~
xk +1 − ( Ai xk + Bi uk ) ≥ mi (1 − δ k ,i )

x  ~ ~
Onde M i = max H i  k  − K i M i = max Ai x + Bi u + ci mi = min Ai x + Bi u + ci
x∈Χ ,u∈U
 uk  x∈Χ ,u∈U x∈Χ ,u∈U

Note que os seletores δ k ,i = {0,1} , i = 1… , nL devem ser introduzidos para cada instante

k = 1… N , o que implica num total de variáveis binárias igual a nL × N .Como o

problema está formulado com variáveis inteiras e reais, a minimização da função


custo (6.4) será obtida usando a norma um ou infinita através da Programação
Multiparamétrica Linear e Inteira (PMLI).

No caso do Algoritmo de Controle Preditivo, seja um sistema dinâmico Afins por


Partes ou não, a solução do problema COTFR U * = {u0,* u1,* ,… , u *N } deve ser obtida a

cada iteração, através da Programação Multiparamétrica, sendo que somente o


sinal de controle no instante atual ( u0* ) é aplicado a planta.

80/81
Controle Preditivo

Bibliografia:

1 - Richalet, J., Rault, A., Testud, J. L, & Papon, J. (1978). Model Predictive Heuristic
Control: Aplications to Industrial Processes. Automática, 14,413-428.
2 - Cutler, C. R., & Ramaker, B.L.(1980). Dynamic Matrix Control – a computer
control algorithm. AICHE national meeting. Houston, TX, April, 1979.
3 - Cutler, C. Moshed, A. & Haydel, J. (1983). An Industrial perspective on advanced
control. In AIChe annual meeting. Washington DC, october 1983.
4 - Qin, S. J. & Badgwell, T.A. (2003). A survey of industrial model predictive control
technology. Control Egineering Practice, 11, 733-764.
5 - Camacho, E.F. and Bordons (2000), Model Predictive Control, Springer Verlag,
2000.
6 - Maciejowski, (2002)J. M. Preditctive Control With Constraints. Harlow, England:
Prentice Hall.
7 - Normey, J.E., Rico (2000), Controle Preditivo de Processos com Grandes Atrasos
de Transporte, Minicurso do XIII Congresso Brasileiro de Automática, Florianópolis
(SC).
8 - Luemberg, David C. (1984), Linear and Non Linear Programming, Addison
Wesley, 2a ed.
9 - D. Dougherty and D.J. Cooper (2003) Tuning Guidelines of A Dynamic Matrix
Controller for Integrating (Non-Self-Regulating) Processes. Ind. Eng. Chem. Res.
42, 1739-1752.
10 - Blevins, T.L; Gregory K. McMillan, W. K. Wojsznis and M.W.Brown. Advanced
Control Unleashed: Plant performance Management for Optimum Benefit. ISA,
2003.

11 - WANG, L. Model Predictive Control System Design and Implementation Using


MATLAB. Melbourne. Australia: Springer-Verlag London Limited, v. 1, 2009.

81/81

Você também pode gostar