Apostila_controle_preditivo
-
Upload
igor-souza -
Category
Documents
-
view
89 -
download
4
description
Transcript of Apostila_controle_preditivo
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
4/81
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:
Controle Preditivo
5/81
Otimizador
Modelo do
Processo
Processo
Real
Trajetória
de referência
Saída atual
Saída futura
prevista
Sinal de
controle atual
Restrições Função Custo
Erros Futuros
Previstos
Sinal de controle presente
futuro e passado
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= , ( ) ( ) ( ) ( ). 1 1 . , 1...w j k w j k r j k k Nα α+ = + − + − + =
Controle Preditivo
6/81
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 ( )y e a
referência desejada (w), podendo penalizar o esforço de controle (∆u) ou não.Pode
ser representado pela expressão:
( ) ( ) ( )2 2
1
ˆ( ) | 1p c
h h
j d j
J k y j k k w j k u j kδ λ= =
= + − + + ∆ + − ∑ ∑
onde ph 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). ch é 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:
(2.0)
Controle Preditivo
7/81
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.
Controle Preditivo
8/81
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.
Controle Preditivo
9/81
Área Adersa Aspen
Thecnology
Honneywel
Hi-Spec
Invensys SGS Total
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.
Controle Preditivo
10/81
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 é
Controle Preditivo
11/81
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.
Controle Preditivo
12/81
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).
Controle Preditivo
13/81
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 ?
Controle Preditivo
14/81
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.
Controle Preditivo
15/81
Otimização do Set Pointda unidade 1
Otimização do Set Pointda unidade 2
Otimização dos Set Points da Planta
Lógica de Seleçãode Restrições, Overrids,
Desacoplamentos
Controle PreditivoBaseado em Modelo
(MPC)
Controladores PIDlocais
Atuadores(Válvulas)
Controladores PIDlocais
Atuadores(Válvulas)
Unidade 1Estrutura de Controle
Convencional
Unidade 2Estrutura de Controle
com MPC
Objetivos Econômicos (diários)
Objetivos Econômicos (horários)
Controle de RestriçõesDinâmicos (a cada minuto)
Controle da Dinâmicado processo
Otimização do Set Pointda unidade 1
Otimização do Set Pointda unidade 2
Otimização dos Set Points da Planta
Lógica de Seleçãode Restrições, Overrids,
Desacoplamentos
Controle PreditivoBaseado em Modelo
(MPC)
Controladores PIDlocais
Atuadores(Válvulas)
Controladores PIDlocais
Atuadores(Válvulas)
Unidade 1Estrutura de Controle
Convencional
Unidade 2Estrutura de Controle
com MPC
Objetivos Econômicos (diários)
Objetivos Econômicos (horários)
Controle de RestriçõesDinâmicos (a cada minuto)
Controle da Dinâmicado processo
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:
( )1
TS
p
KeG z
sτ
−
=+
Controle Preditivo
16/81
Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:
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)):
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:
C(s) -Ls G(s) e
Gn(s) -Ls
e
)( Lnky +⌢
)(ky⌢
+ +
e(k)
y(k) r(k)
C(s) u(t)
+
q(t)
+ g(s)
y1(t) -Ts e r(t)
+ y(t)
Controle Preditivo
17/81
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 ph , d , ch , δ 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 ph =d+1 e horizonte de controle ch =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:
BuAXdt
dX+= CXY = ,
Controle Preditivo
18/81
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:
( )2
2
0 0
( ) ( )p ph k h k
j j
J k X k j u k jδ λ− −
= =
= + + + ∑ ∑
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+ ph , dado o instante atual k, ou seja, o horizonte de previsão é fixo e igual
a ph . No controlador LQ realizamos previsões até o instante ph , dado o instante
atual k, ou seja, o horizonte de previsão depende do instante k sendo dado por ph -
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.
Controle Preditivo
19/81
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 ( )y 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:
( ) ( )1
( ).i
y k h i u k i∞
=
= −∑ (2.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:
( )y k = ( )1
( ).N
i
h i u k i=
−∑ (2.2)
A expressão acima pode ser representada por uma função de transferência,
definindo para isto um operador atraso unitário 1z− , ou seja:
( ) ( )1( ) .y j H z u k−=
onde: ( )1 1 2(1) (2) ... ( ) NH z h z h z h N z− − − −= + + + .
Controle Preditivo
20/81
Exemplo: Seja o sistema representado pela FT:
3
0.2713( )
0.835G z
z 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 :
0 10 20 30 40 50 60 700
0.05
0.1
0.15
0.2
0.25
0.3
0.35Impulse Response
Time (sec)
Am
plitu
de
Figura 9: Resposta ao Impulso da FT 3
0.2713( )
0.835G z
z 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]
Controle Preditivo
21/81
Verifique que o vetor h é igual ao quociente da divisão do numerado pelo
denominador da função 3
1
2
0.2713( )
1 0.835
zG z
z
−−
−=
− .
A predição da saída j passos a frente calculada no instante k ( )( )y j k+
usando (2.2) é:
( )1 1 1
ˆ( ) ( ). ( ) ( ) ( ) ( )jN N
i i i j
y j k h i u j k i h i u k j i h i u k j i= = = +
+ = + − = + − + + −∑ ∑ ∑
(2.3)
Os termos do somatório 1
( ) ( )N
i j
h i u k j i= +
+ −∑ contém ações de controle
passadas (u(k-1),u(k-2), ..., u(k+j-N)), e será chamado de resposta livre, enquanto
que os termos do somatório 1
( ) ( )j
i
h i u k j i=
+ −∑ contém ações de controle presente e
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 ( ch ) menor que o o horizonte de previsão ( ph ), isto é, c ph h< e
consideraremos ˆ ˆ( ) ( ), 1c c pu k u h k h h= = + ⋯ .
Portanto, através de (2.3) concluímos que a previsão c pj h h= ⋯ passos a
frente será dada por:
1 1 1
ˆ ˆ ˆ( ) ( ) ( 1) ( ) ( ) ( ) ( )c
c
j h j N
ci i j h i j
y j k h i u k h h i u k j i h i u k j i−
= = − + = +
+ = + − + + − + + −∑ ∑ ∑ (2.4)
Controle Preditivo
22/81
Definindo a resposta livre no instante k+j por
1
( ) ( ) ( )N
ui j
f k j h i u k j i= +
+ = + −∑
e realizando uma seqüência de ph previsões, formamos o seguinte sistema de
ph equações com ch incógnitas :
1 1
1 2 1
11
( 1)
1
(1) 0 0
(2) (1) 0ˆ( 1)
ˆ( 2)
( ) ( 1) (1)
ˆ( )
( )( ) ( )ˆ( 1)
( ) ( )ˆ( )( )
p c
p c
p
c c
c
h h
p p ip
h hp pp h x
i
h
h hy k
y k
h h h h h
y k h
h ih h h hy k h
h h h hy k hh i
− − +
− − =
− +−
=
+ + − + = + − +
∑
∑
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋯⋮
⋮ ⋮ ⋱ ⋮
⋮
⋯
⋯
( )( )
( )
( 1)1
( 1)
( )
1
2ˆ( )
ˆ( 1)( ).
ˆ( 1)( )c
p
p c
u
u
u c
c h xu p
u ph x
h xh
f k
f ku k
u kf k h
u k hf k h
f k h
−
+
+ + ++ + − +
+
⋮
⋮⋮
Controle Preditivo
23/81
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 é
dada por 3
0.2713( )
0.835G z
z z=
− . Considere que o instante atual seja k=4, e que
5, 2p ch h= = . Suponha que a entrada seja um degrau aplicado no instante k=0, ou
seja, ( ) 1, 0,1,2,u k k= = ⋯e ( ) 0, 0.u k k= < Compare a resposta prevista com a
resposta real.
Controle Preditivo
24/81
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
jlh . Assim, a resposta da saída j em relação a uma entrada lu qualquer pode ser
representada pela convolução:
1 1
( ) ( ) ( ), 1, ,
lmNp
m ml ll i
y k h i u k i m q= =
= − =∑ ∑ ⋯
A previsão j passos a frente da m-ésima saída a partir do instante k, é dada por:
1 1
ˆ ( ) ( ) ( ), 1, ,
lmNp
m ml ll i
y j k h i u j k i m q= =
+ = + − =∑ ∑ ⋯ (2.5)
Assim, invertendo o somatório em (2.5) e usando os vetores
1
2
1
ˆ ( )
ˆ ( )( )
ˆ ( )p px
u k
u kU k
u k
=
⋮ 1 2 1
( ) [ ( ) ( ) ( )]m m m mp xpH k h k h k h k= ⋯
podemos escrever :
1
ˆ ( ) ( ) ( ), 1, ,
lmN
m mi
y j k H i U j k i m q=
+ = + − =∑ ⋯
Considerando c ph h< , a previsão c pj h h= ⋯ passos a frente será dada por:
1 1 1
ˆ ˆˆ ( ) ( ) ( 1) ( ) ( ) ( ) ( )c
c
j h j N
m m c m mi i j h i j
y j k H i U k h H i U k j i H i U k j i−
= = − + = +
+ = + − + + − + + −∑ ∑ ∑ (2.6)
Controle Preditivo
25/81
Definindo: ,
1
( ) ( ) ( )N
m u mi j
f k j H i U k j i= +
+ = + −∑ ,
1
2
1
ˆ ( )
ˆ ( )ˆ( )
ˆ ( )q qx
y k
y kY k
y k
=
⋮,
1
2,
, 1
( )
( )( )
( )
u
u
u
q u qx
f k
f kF k
f k
=
⋮,
1
2
1
( )
( )( )
( )q qx
H k
H kH k
H k
=
⋮
Obtemos, a partir de (2.6) a seguinte expressão:
1 1
ˆ ˆ ˆ( ) ( ) ( 1) ( ) ( ) ( )c
c
j h j
c ui i j h
Y j k H i U k h H i U k j i F k−
= = − +
+ = + − + + − +∑ ∑
Realizando uma seqüência de ph previsões para cada uma das saídas , 1, ,jy j q= ⋯ ,
chegamos ao seguinte sistema de pqh equações com cph
Incógnitas, dado por:
1 1
1 2 1
11
( 1)
1
(1) 0 0ˆ( 1) (2) (1) 0ˆ( 2)
( ) ( 1) (1)
ˆ( )
( )( ) ( )ˆ( 1)
( ) ( )ˆ( ) ( )
p c
p c
p
c c
c
h h
p p iph h
p pp qh x
i
HY k H H
Y k
H h H h H
Y k h
H iH h H hY k hH h H h
Y k h H i
− − +
− − =
− +−
=
+ +
− + =
+ −
+
∑
∑
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋮ ⋯
⋮ ⋮ ⋱ ⋮
⋮
⋯
⋯
( )
( )
( )
( )( )
( )( 1) 1
( 1)
1
2ˆ
ˆ 1( )
ˆ 1 ( )c
p
p c
u
u
u c
c ph x u p
u pqh x
qh xph
F k
F kU k
U k F k h
U k h F k h
F k h
−
+
+ + +• + + − +
+
⋮
⋮⋮
ou de maneira concisa, podemos escrever: Y = HU + Fu
Controle Preditivo
26/81
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
25.80 1.04 0.06 0
22.61 0 2.77 1.79
0 0 3.07 15.57
A
− −
−=
−
− −
,
0.29 0
0.29 0
0.09 0
0 0.18
B
− = −
−
, 1 0 0 0
0 1 0 0C
=
, D=0
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
5, 2p ch h= = . 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 0 0.000024
0 0.000024 0.0068
A
= − − −
,
0.0211 0
0.1066 0
3.136 3.8
B
= − − −
, 0 1 0
0 0 1C
=
, D=0
Controle Preditivo
27/81
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, 0,1, 2,3,...
0, 0
ju j
j
==
<
e usando (2.2), temos o seguinte desenvolvimento:
( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( )
( )
11 (1) (1) . 0
2 (2) (1). 1 (2). 0 (1) (2) (1) (2)
3 (3) (1). 2 (2). 1 (3). 0 (1) (2) (3) (2) (3)
( ) ( 1) ( )
y g h u h
y g h u h u h h g h
y g h u h u h u h h h g h
y i g i g i h i
= = =
= = + = + = +
= = + + = + + = +
= = − +
⋮
Logo, para qualquer i =1,...,N,
( )1( ) ( ) ( 1) ( ). 1h i g i g i g i z−= − − = − (3.1)
Portanto, a expressão (3.1) é equivalente a:
( ) ( ) ( ) ( )1
1 1
( ) 1 . ( ).N N
i i
y k g i z u k i g i u k i−
= =
= − − = ∆ −∑ ∑ (3.2)
Controle Preditivo
28/81
onde ( ) ( ) ( ) ( ) ( )11 1z u k i u k i u k i 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:
( ) ( ) ( )1 1
ˆ ˆ( ) . ( ) .j N
i i j
y j k g i u j k i g i u j k i= = +
+ = ∆ + − + ∆ + −∑ ∑ (3.3)
O somatório ( )1
( ) .N
i j
g i u j k i= +
∆ + −∑ , representa a resposta livre, obtida através
das entradas passadas, e o somatório ( )1
ˆ( ) .j
i
g i u j k i=
∆ + −∑ , representa a resposta
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 ( ch )
menor que o o horizonte de previsão ( ph ), isto é, c ph h< e consideramos
ˆ( ) 0, 1c pu k k h h∆ = = + ⋯ . Portanto, a expressão (3.3) será dada por:
max{1, 1} 1
ˆ ˆ( ) ( ) ( ) ( ) ( )c
j N
i j h i j
y j k g i u k j i g i u k j i= − + = +
+ = ∆ + − + ∆ + −∑ ∑ (3.4)
Definindo a resposa livre por ( )1
( ) ( ) .N
ui j
f j k g i u j k i= +
+ = ∆ + −∑ .
E realizando uma seqüência de ph previsões, formamos o seguinte sistema de
ph equações com ch incógnitas :
Controle Preditivo
29/81
1 2 1
1 ( )( 1)
(1) 0 0ˆ( 1)
(2) (1) 0ˆ( 2)ˆ(
( ) ( 1) (1)ˆ( ) .
( ) ( ) ( 1)ˆ( 1)
( ) ( ) ( 1)ˆ( )p cp
c cc
p p p cp
p p p cp h xhh x
gy k
g gy ku k
g h g h gy k h
g h g h g h hy k h
g h g h g h hy k h
− − −
−
+
+ ∆
−+ =
− + + − − ++
⋯
⋯
⋮ ⋮ ⋱ ⋮⋮
⋯
⋮ ⋮ ⋱ ⋮⋮
⋯
⋯
( )( )
( )
( 1)
1
( 1)
)
ˆ( 1)
ˆ( 1)
1
2
( )
( )
c
p
c h x
u
u
u c
u p
u ph x
u k
u k h
f k
f k
f k h
f k h
f k h
−
∆ + ∆ + −
+
+
++
+
+
⋮
⋮
⋮
(3.5)
Ou seja: ˆ ˆ. uy G u f= ∆ + , onde y é o vetor 1ph x , G é a matriz p ch xh , u∆ é o vetor 1ch x ,
uf é o vetor 1ph x
Controle Preditivo
30/81
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
1
. ( )ii
y j g u j i=
= ∆ −∑ .
A tabela 2 mostra os coeficientes ig de resposta ao degrau da função de
transferência.
Tabela 2- Coeficientes de resposta ao degrau
Controle Preditivo
31/81
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 5, 2p ch h= = . 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 40N ≥ .
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 ( )ry k , de maneira que
( ) ( ) ( )r my k y k d k= +
onde ( )my 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 ( )ry k é igual a:
ˆˆ ˆ( ) ( ) ( )r my k j y k j d k j+ = + + +
que é equivalente a
max{1, 1}
ˆˆ ˆ ˆ( ) ( ) ( ) ( ) ( ) ( )c
j
ri j h i j
y k j g i u j k i g i u j k i d k j∞
= − + =
+ = ∆ + − + ∆ + − + +∑ ∑ (3.6)
Considerando que a previsão do distúrbio j passos a frente seja dada por:
1
ˆ( ) ( ) ( ) ( ) ( ) ( ) ( )r m ri
d k j d k y k y k y k g i u j i∞
=
+ = = − = − ∆ −∑ (3.7)
Concluímos, substituindo (3.7) em (3.8) que:
max{1, 1}
ˆ ˆ( ) ( ) ( ) ( ( ) ( )) ( ) ( )c
j
r ri j h i j
y k j g i u j k i g k i g i u j i y k∞
= − + =
+ = ∆ + − + + − ∆ − +∑ ∑ (3.8)
Considerando que a resposta livre seja:
Controle Preditivo
32/81
1
( ) ( ( ) ( )) ( ) ( )N
u ri
f k j g k i g i u j i y k=
+ = + − ∆ − +∑
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 5, 2p ch h= = . Suponha que a
entrada seja um degrau aplicado no instante k=0, ou seja, ( ) 1, 0,1,2,u k k= = ⋯e
( ) 0, 0.u k k= < 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 ( ( ), 0,1,2,d i i = ⋯ ), cuja
resposta ao degrau ( ( ), 0,1,2,dg i i = ⋯ ) pode ser determinada. Assim, a previsão da
resposta a perturbações futuras j passos a frente ( ˆ ( )dy k j+ ), pode ser estimada por:
max{1, 1} 1
ˆ ˆˆ ( ) ( ) ( ) ( ) ( )c
j N
d d di j h i j
y k j g i d k j i g i d k j i= − + = +
+ = ∆ + − + ∆ + −∑ ∑
Onde ( ) ( ) ( )1d i d i d i∆ = − − .
Realizando uma seqüência de ph previsões, formamos o sistema de ph equações:
ˆˆ .d d dy G d f= ∆ + ,
Controle Preditivo
33/81
Onde ˆdy é o vetor 1ph x de previsões da resposta ao distúrbio, dG é uma matriz
p ch xh dos coeficientes da resposta ao degrau do distúrbio similar a G, d∆ é o vetor
1ch x de distúrbio previsto , e df é o vetor 1ph x 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) .u d df f G d f= + ∆ + , onde uf é resposta livre à entrada u (sinal de controle),
sem perturbação determinística, .dG d∆ é a resposta forçada do distúrbio e df é
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
jlg . A previsão j passos a frente da m-ésima saída a partir do instante k, é dada por:
1 max{1, 1}
ˆ ( ) ( ) ( ), 1, ,
lm
c
Np
m ml ll i i h
y j k g i u j k i m q= = − −
+ = ∆ + − =∑ ∑ ⋯
(3.8) Assim, invertendo o somatório em (3.8) e usando os vetores
1
2
1
ˆ ( )
ˆ ( )( )
ˆ ( )p px
u k
u kU k
u k
∆ ∆ ∆ = ∆
⋮ 1 2 1
( ) [ ( ) ( ) ( )]m m m mp xpG k g k g k g k= ⋯
Podemos escrever:
max{1, 1}
ˆ ( ) ( ) ( ), 1, ,
lm
c
N
m mi j h
y j k G i U j k i m q= − +
+ = ∆ + − =∑ ⋯
Controle Preditivo
34/81
max{1, 1} 1
ˆˆ ( ) ( ) ( ) ( ) ( )c
j N
mi j h i j
y j k G i U k j i G i U k j i= − + = +
+ = ∆ + − + ∆ + −∑ ∑
Separando as açoes de controle passadas, das ações de controle presente e
futura temos que:
(3.9)
Definindo: 1
( ) ( ) ( )N
u mi j
f k j G i U k j i= +
+ = ∆ + −∑ ,
1
2
1
ˆ ( )
ˆ ( )ˆ( )
ˆ ( )q qx
y k
y kY k
y k
=
⋮,
1,
2,
, 1
( )
( )( )
( )
u
u
u
q u qx
f k
f kF k
f k
=
⋮,
1
2
1
( )
( )( )
( )q qx
G k
G kG k
G k
=
⋮
Obtemos, a partir de (3.9) a seguinte expressão:
max{1, 1} 1
ˆ ˆ( ) ( ) ( 1) ( ) ( ) ( )c
c c
j h j
c ui j h i j h
Y j k G i U k h G i U k j i F k−
= − − = − +
+ = + − + + − +∑ ∑
Realizando uma seqüência de ph previsões para cada uma das saídas , 1, ,jy j q= ⋯ ,
chegamos ao seguinte sistema de pqh equações com cph
Incógnitas, dado por:
Controle Preditivo
35/81
1 2 1
1
( 1)
ˆ( 1) (1) 0 0
ˆ( 2) (2) (1) 0ˆ
ˆ ( ) ( 1) (1)( )
( ) ( ) ( 1)ˆ( 1)
( ) ( ) ( 1)ˆ( ) p c
p
c cc
p p p cp
p p p c qh xphp qh x
Y k G
Y k G G
G h G h GY k h
G h G h G h hY k hG h G h G h h
Y k h
− − −
−
+ + ∆ −+ = • − + + − − + +
⋯
⋯
⋮ ⋮ ⋮ ⋱ ⋮
⋯
⋮ ⋮ ⋱ ⋮⋮
⋯
⋯
( )
( )
( )
( )( )
( )
( 1)
1
( 1)
ˆ 1
ˆ 1
1
2
( )
( )
c
p
c ph x
u
u
u c
u p
u pqh x
U k
U k
U k h
F k
F k
F k h
F k h
F k h
−
∆ + +
∆ + −
+
+
++
+
+
⋮
⋮
⋮
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 5, 2p ch h= = . 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 0 0.000024
0 0.000024 0.0068
A
= − − −
,
0.0211 0
0.1066 0
3.136 3.8
B
= − − −
, 0 1 0
0 0 1C
=
, D=0
Controle Preditivo
36/81
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:
( ) ( ) ( ) ( )
( ) ( ) ( )
1 2
1 2
. 1 . 2 ... .
. 1 . 2 ... . 1
na
nb
y k a y k a y k a y k na
b u k d b u k d b u k nb d
+ − + − + + − =
− − + − − + + − − −
A função de transferência relacionando a entrada u e a saída y, é obtida utilizando
um operador atraso unitário 1z− , ou seja:
(4.1)
onde
( )
( )
1 1 2
1 2
1 1 2
0 1 2
1 . . ... .
. . ... .
nana
nbnb
A z a z a z a z
B z b b z b z b z
− − − −
− − − −
= + + + +
= + + + +
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(1 )z−− , e considerando que
( ) ( ) ( ) ( ) ( )11 1 1z u k u k u k u k−− = − − = ∆ − e que ( )1 1 1( ) 1 ( )A z z A z− − −= −ɶ .
( )( )( )
( )1
1. 1d
B zy k z u k
A z
−
−
−= −
Controle Preditivo
37/81
Portanto, (4.1) é equivalente ao modelo ARIMA (Auto regressive Integrated
mean Move), dado abaixo:
( )( )( )
( )1
1. 1d
B zy k z u k
A z
−
−
−= ∆ −ɶ
(4.2)
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: ( )1 1 21 2 3A z z z− − −= − − ,
( )1 1 2 31 3Ã z z z z− − − −= − − + , ( )1 1B z− = e desta forma concluimos a partir de (4.2) que:
( ) ( ) ( ) ( ) ( )1 2 3 3 2y k y k y k y k u k= − + − − − + ∆ −
A previsão da saída 3 passos a frente é obtida a partir da equação acima, ou seja:
( ) ( ) ( ) ( ) ( )ˆ ˆ ˆ ˆ3 2 1 3 1y k y k y k y k u k+ = + + + − + ∆ + (4.3)
Portanto, a saída prevista a 3 passos a frente, depende das variáveis não
conhecidas ( ) ( ) ( )ˆ ˆ ˆ2 , 1 , 1y k y k u k+ + ∆ + . 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 111 −−−− += zFzzAzE jj
j (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 )(~ 1−zA até que o
remanescente possa ser fatorado como )( 1−− zFz jj . O quociente da divisão é o
polinômio )( 1−zE j . Por exemplo, considerando ( )1 1 2 31 . 3A z z z z− − − −= − − +ɶ e usando a
função diophantina.m, calculamos:
>> [E,F]=diofantina(Ã,3)
Controle Preditivo
38/81
1 2
1
1 2
2
1 2
3
1 0 0 1 0 0
1 1 0 1 1 0
1 1 2 1 1 2
E z z
E z z
E z z
− −
− −
− −
⇒ = + +
⇒ = + +
⇒ = + +
e
1 2
1
1 2
2
1 2
3
1 1 3 1 3
2 2 3 2 2 3
0 1 6 0 6
F z z
F z z
F z z
− −
− −
− −
− ⇒ = + −
− − ⇒ = − −
− − ⇒ = − −
Da equação (4.1) temos que:
1 1 1( ) ( ) ( ) ( 1) ( ) ( 1)dA z y k B z z u k B z u k d− − − −= ∆ − = ∆ − −ɶ (4.5)
Multiplicando-se (4.5) por jj zzE )( 1− :
1 1 1 1ˆ( ) ( ) ( ) ( ) ( ) ( 1)j jA z E z y k j E z B z u k j d− − − −+ = ∆ + − −ɶ
Se considerarmos a equação (4.4) na equação (4.5) obtemos:
1 1 1ˆ(1 ( )) ( ) ( ) ( ) ( 1)jj jz F z y k j E z B z u k j d− − − −− + = ∆ + − −
Que podemos reescrever como:
1 1 1 1 1ˆ( ) ( ) ( ) ( 1) ( ) ( ) ( ) ( 1) ( ) ( )j j j jy k j E z B z u k j d F z y k G z u k j d F z y k− − − − −+ = ∆ + − − + = ∆ + − − +
(4.6)
onde 1 1 1 1 2 ( 1)
0 1 2 1( ) ( ) ( ) ... nb jj j nb jG z E z B z g g z g z g z− − − − − − + −
+ −= = + + + +
Substituindo 3E e 3F na expressão (4.6) para j=3 e d=1, chegamos ao seguinte
resultado:
( ) 1 2 1 2ˆ 3 (1 2 ) ( 1) ( 6 ) ( )
( 1) ( ) 2 ( 1) ( 1) 6 ( 2)
y k z z u k z z y k
u k u k u k y k y k
− − − −+ = + + ∆ + − +
= ∆ + + ∆ + ∆ − − − + − (4.7)
Controle Preditivo
39/81
Observamos em (4.7) que a saída prevista a 3 passos a frente não depende mais
das saídas ˆ ˆ( 1), ( 2)y k y k+ + 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 1( ) ( 1)jG z u k j d− ∆ + − − ,(no nosso exemplo é igual a
1
3( ) ( 1) ( 1) ( ) 2 ( 1)G z u k u k u k u k− ∆ + = ∆ + + ∆ + ∆ − ), 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
)1(
1
2
2
1
10
1 ...)( −−−−−
−−− ++++= djdjj zgzgzggzH (4.8)
que considera as ações presente e futura.(no nosso exemplo 1 1
3( ) 1H z z− −= + )
De forma semelhante, separamos os termos com as ações de controle passadas
através do polinômio :
)1(
1
)(111 ...)()()( −+−−+
−−−
−−− ++=−= jnbjnb
djdjjjj zgzgzHzGzH (4.9)
(no nosso exemplo 1 2
3( ) 2H z z− −= )
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 é:
1 1ˆ( ) ( 1) ( ) ( 1) ( ) ( )l
d l d l d ly k d l H u k l z H z u k F z 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
Nl ≤≤1 , ao seguinte sistema de equações:
Controle Preditivo
40/81
1 1 1
2
2 2 2
ˆ( 1) ( ) ( 1) ( )
ˆ( 2) ( 1) ( 1) ( )
ˆ( ) ( 1) ( 1) ( )
d d d
d d d
Nd N d N d N
y k d H u k z H u k F y k
y k d H u k z H u k F y k
y k d N H u k N z H u k F y k
+ + +
+ + +
+ + +
+ + = ∆ + ∆ − +
+ + = ∆ + + ∆ − +
+ + = ∆ + − + ∆ − +
⋮
De posse das equações acima e considerando um horizonte de controle hc e
compreendendo l entre 1 e p ch h− , obtém-se a expressão matricial composta das
previsões seqüenciais da saída do processo y e dependente das ações de controle
passadas, presente e futuras e saídas passadas:
1 1ˆ ( ) ( 1) ( ) ( )y G u H z u k F z y k− −= ∆ + ∆ − + (4.11)
onde:
1
ˆ( 1)
ˆ( 2)ˆ
ˆ( )NX
y k d
y k dy
y k d N
+ + + + =
+ +
⋮ (4.12)
1
( )
( 1)
( 1)c
c h X
u k
u ku
u k h
∆ ∆ + ∆ = ∆ + −
⋮ (4.13)
0
1 0
1 2 0
1 2
0 0
0
c c
cc
h h
N N N h N Xh
g
g g
Gg g g
g g g
− −
− − −
=
…
…
⋮ ⋮ ⋮ ⋮
…
⋮ ⋮ ⋮ ⋮
…
(4.14)
Controle Preditivo
41/81
1
2
2
1
XNNdN
d
d
Hz
Hz
Hz
H
=
+
+
+
⋮ (4.15)
1
1
1
2
1
1
1
)(
)(
)(
)(
XNNd
d
d
zF
zF
zF
zF
=
−+
−+
−+
−
⋮ (4.16)
Definindo-se como resposta livre do sistema, dependente somente das entradas e
saídas passadas como:
1 1( ) ( 1) ( ) ( )f H z u k F z y k− −= ∆ − + (4.17)
Chega-se a expressão de previsão:
y 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 5, 2p ch h= = . Suponha que a entrada seja um degrau aplicado no instante
k=0, ou seja, ( ) 1, 0,1,2,u k k= = ⋯e ( ) 0, 0.u k k= < 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.
Controle Preditivo
42/81
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:
1 1 1( ) ( ) ( ) ( 1) ( ). ( )dA z y k z B z u k D z 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. )( 1−zD é um
polinômio definidos por:
1 1 2
0 1 2( ) ... ndndD z d d z d z d z− − −= + + + + (4.19)
De maneira semelhante a realizada para o caso irrestrito e sem distúrbio, multiplica-
se (4.18) por jj zzE )( 1−∆ :
1 1 1 1
1 1
( ) ( ) ( ) ( ) ( ) ( 1)
( ) ( ) ( )
j j
j
A z E z y k j E z B z u k j d
E z D z v k j
− − − −
− −
+ = ∆ + − − +
+ ∆ +
ɶ
(4.20)
Considerando a aplicação da equação diofantina (4.2) e posteriores manipulações
algébricas, obtém-se:
1 1 1
1 1
ˆ( ) ( ) ( ) ( ) ( ) ( 1)
( ) ( ) ( )
j j
j
y k j F z y k E z B z u k j d
E z D z v k j
− − −
− −
+ = + ∆ + − − +
+ ∆ +
(4.21)
Controle Preditivo
43/81
Definindo-se o polinômio )()()( 111 −−− = zDzEzM jj , onde:
1 2 ( 1)
0 1 2 1... nd jj nd jM m m z m z m z− − − + −
+ −= + + + +
Pode-se, considerando também jH (polinômio relacionado às ações de controle
futuras) e jH (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 ldj += como:
1 1 1
1
ˆ( ) ( ) ( ) ( ) ( 1) ( ) ( 1)
( ) ( )
ld l d l d l
d l
y k d l F z y k H z u k d l z H z u k
M z v k d l
− − −+ + +
−+
+ + = + ∆ + + − + ∆ − +
+ ∆ + +
(4.22)
Na equação (4.22) apenas os termos de ldH + dependem de valores futuros do sinal
de controle u∆ , sendo, portanto, interpretados como a resposta forçada, enquanto
que os termos de ldH + e ldF + 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,
0)( =++∆ ldtv , o último termo de (4.22) poderá, ser desprezado. A equação (4.22)
pode ainda ser escrita como:
ldld fltuzHldty +−
+ +−+∆=++ )1()()(ˆ 1
Onde ldf + representa os demais termos de (4.22), incluindo ações, resposta do
sistema e distúrbios passados.
Controle Preditivo
44/81
Desta forma, considerando um conjunto sucessivo de previsões Nlldj ...1, =+=
passos à frente:
NdNd
dd
dd
fNtuzHNdty
ftuzHdty
ftuzHdty
+−
+
+−
+
+−
+
++∆=++
++∆=++
+∆=++
)()()(ˆ
)1()()2(ˆ
)()()1(ˆ
1
2
1
2
1
1
1
⋮
(4.23)
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:
=
+
+
+
Nd
d
d
f
f
f
f⋮
2
1
(4.25)
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.
Controle Preditivo
45/81
4.3 Sistema Multivariável
Seja um sistema multivariável com p entradas e q saídas, cuja saída , 1iy i q= ⋯
pode ser representado pela função de tranferência:
1 1 1 1
1 1 2 2( ) ( ) ( ) ( 1) ( ) ( 1) ( ) ( 1)d d di i i i ip ipA z y k z B z u k z B z u k z B z u k− − − − − − −= − + − + + −⋯
Sejam os polinômios j1 1( ) / ( )i i
j jE z F z− − unicamente definidos com graus j-1 e na
respectivamente., pela equação Diophantina:
1 1 11 ( ) ( ) ( )i j ij i jE z A z z F z− − − −= +ɶ
Da mesma forma que no caso monovariável, definimos os polinômios:
, 1 1 1 , , 1 , 2 , ( 1)
0 1 2 1( ) ( ) ( ) ...i m i i m i m i m i m nb jj j m nb jG z E z B z g g z g z g z− − − − − − + −
+ −= = + + + +
, 1 , , 1 , 2 , ( 1)
0 1 2 1( ) ...i m i m i m i m i m j dj j dH z g g z g z g z− − − − − −
− −= + + + +
, 1 , 1 , 1 , ( ) , ( 1)
1( ) ( ) ( ) ...i m i m i m i m j d i m nb jj j j j d nb jH z G z H z g z g z− − − − − − + −
− + −= − = + +
onde 1i q= ⋯ e 1m 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:
,1 ,2 ,
1 1 1
,1 1 , 1 1
1
ˆ ( ) ( 1) ( 1) ( 1)
( ) ( 1) ( ) ( 1) ( ) ( )
i i i pi j j j
i i p ij j p j i
y k j H u k j d H u k j d H u k j d
H z u k H z u k F z y k− − −
+ = ∆ + − − + ∆ + − − + + ∆ + − − +
+ ∆ − + + ∆ − +
⋯
⋯
(4.26)
Sejam os vetores:
1
2
1
ˆ ( )
ˆ ( )( )
ˆ ( )p px
u k
u kU k
u k
∆ ∆ ∆ = ∆
⋮
Controle Preditivo
46/81
,1 ,2 ,
1( ) [ ( ) ( ) ( )]i i i i p
j j j j xpH k H k H k H k= ⋯
,1 ,2 ,
1( ) [ ( ) ( ) ( )]i i i i p
j j j j xpH k H k H k H k= ⋯
Com estas definições, a expressão (4.26) é simplificada para a seguinte forma:
1ˆ ( ) ( 1) ( 1) ( ) ( )i ii j j j iy k j H u k j d H U k F z y k−+ = ∆ + − − + ∆ − +
Usando os vetores definidos abaixo:
1
2
1
ˆ ( )
ˆ ( )ˆ( )
ˆ ( )q qx
y k
y kY k
y k
=
⋮
1
2
j
jj
qj qxp
H
HH
H
=
⋮
1
2
j
jj
qj qxp
H
HH
H
=
⋮
1
1
2
2
1
j
jj
qj q qx
F y
F yF
F y
=
⋮
Podemos escrever a previsão das q saídas a j passos a frente na seguinte forma
matricial:
1ˆ( ) ( 1) ( 1) ( )i ij j jY k j H u k j d H u k F z−+ = ∆ + − − + ∆ − +
Realizando uma sequência de previsões entre d+1 a hp passos a frente,
construimos a seguinte matriz de previsões:
1 11
1 22
1 1 111
ˆ( 1) ( ) ( )
ˆ ( 1) ( )( 2)( 1)
( 1) ( )ˆ( )
d dd
d dd
d c NNqNx qNxqNxNx
Y k d H u k F kH
H u k F kHY k du k
H u k h F kHY k N
+ ++
+ ++
+
+ + ∆ ∆ ++ + = + ∆ − +
∆ + − +
⋮ ⋮⋮⋮
Controle Preditivo
47/81
Tendo em vista as definições de jH e jH , podemos escrever a expressão acima na
seguinte forma:
( )
( )
( )
0
1 0
1 2 0
1 2
11
( 1)
ˆ( 1) 0 0
ˆ( 2) 0ˆ
ˆ 1ˆ( )
ˆ 1ˆ( 1)
ˆ( ) c
hc hcc
chp hp Np
hp Nhp qNxphp qNx
Y k d G
Y k d G GU k
U kG G GY k h
U k hG G GY k hG GGY k h
− −
− −
−−
+ + + + ∆ ∆ + + = • ∆ + − + − +
⋯
⋯
⋮ ⋮ ⋮ ⋱ ⋮
⋯⋮
⋮ ⋮ ⋱ ⋮⋮
⋯
⋯
( )( )
( )( 1)
1
2
( )
( 1)c
u
u
u c
ph x u
u
F k
F k
F k h
F k N
F k N
+
+
++
+ − +
⋮
⋮
Onde
1 1
1
2 1
2
1
1
( 1) ( ) ( )
( 1) ( ) ( )( )
( 1) ( ) ( )
u
j j
j j
qj j q qx
H u k F z y k
H u k F z y kF k j
H u k F z y k
−
−
−
∆ − +
∆ − + + =
∆ − +
⋮
1
2
( 1)
( 1)
( 1)
j
jj
qj qxp
H u k j d
H u k j dG
H u k j d
∆ + − −
∆ + − − =
∆ + − −
⋮
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.
Controle Preditivo
48/81
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
)1(),...1(),( −+∆+∆∆ chtututu é obtida minimizando a função custo (2.0), escrita na
forma matricial:
( ) ( )T TJ G u f w G u f w u uδ λ= ∆ + − ∆ + − + ∆ ∆ (5.1)
Onde o vetor de referência w é dado por:
TNdtwdtwdtww ])()2()1([ ++++++= ⋯
A expressão (5.1) pode ser escrita como:
0
1
2
T T TJ u H u b u f u uλ= ∆ ∆ + ∆ + + ∆ ∆ (5.2)
Onde,
2( )TH G G Iδ λ= +
2 ( )T Tb f w Gδ= −
)()(0 wfwff T −−= δ
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:
Controle Preditivo
49/81
O vetor de incrementos do sinal de controle u∆ é selecionado de maneira a
minimizar o índice de desempenho J ⇒ 0
J
u
∂=
∂∆
( ) ( )
( ) ( )
( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )( ) ( ) ( )
ˆ ˆ. . .
. . . . .
. . . . .
. . . 2. . . . . .
. . . 2 . . . . .
.
T T
T T
T T
T T T T
TT T T T T
T
J y w y w u u
J G u f w G u f w u u
J G u f w G u f w u u
J G u G u G u f w f w f w u u
J G u G u G u f w f w f w u u
J u
δ λ
δ λ
δ λ
δ λ
δ λ
δ
= − − + ∆ ∆
= ∆ + − ∆ + − + ∆ ∆
= ∆ + − ∆ + − + ∆ ∆
= ∆ ∆ + ∆ − + − − + ∆ ∆
= ∆ ∆ + ∆ − + − − + ∆ ∆
= ∆ ( ) ( )( ) ( ) ( )
( ) ( )
( )( ) ( ) ( )( ) ( )1
. . 2. . . . .
2. . . 2. . 2. . 0
. . . . . . . . . . .
TT T T T
T T
T T T T
G G u u G f w f w f w u u
JG G u G f w u
u
G G I u G f w u G G I G w f
λ
δ λ
δ λ δ δ λ δ−
∆ + ∆ − + − − + ∆ ∆
∂ = ∆ + − + ∆ = ∂∆
+ ∆ = − − ⇒ ∆ = + −
( ).u K w f∆ = − onde K é a primeira linha da matriz ( )
1
. . . .T TG G I Gδ λ δ−
+ 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
. . . .T Tu G G I G w fδ λ δ−
∆ = + −
Controle Preditivo
50/81
5- Obter a ação de controle atual: ( ) ( ) ( )1u j u j u j= − + ∆ , onde
1 1( ) ( )T Tu HH b G G I G 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:
)( fwKu −=∆ (5.4)
Sendo K a primeira linha da matriz 1( )T TG G I Gδ λ δ−+ .
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:
( )1
TS
p
KeG s
sτ
−
=+
Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:
Figura 3 : Controle Ideal de Plantas com Atraso
C(s) u(t)
+
q(t)
+ G(s)
y1(t) -ds e r(t)
+
y(t)
Controle Preditivo
51/81
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)):
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:
( ) ( ) ( )1
1 1 2
( ). 1 . 1
( ) 1 ( 1)
d dB z by k z u k z u k
A z a z az
−
− −
− − −= ∆ − = ∆ −
− + +ɶ
Fazendo previsões 1j d≥ + passos a frente, obtemos:
( ) ( ) ( ) ( )ˆ ˆ ˆ ˆ(1 ) 1 2 1y k j a y k j ay k j b u k j d+ = + + − − + − + ∆ + − −
Para o sistema de primeira ordem, podemos decompor sempre o polinômio
( )y k j+ , para qualquer 1j d≥ + , de maneira que o mesmo dependa somente das
entradas futuras ( ) ( ) ( )ˆ ˆ ˆ, 1 , , cu k u k u k h∆ ∆ + ∆ +⋯ e das previsões ( )y k d+ .
( )ˆ 1y k d+ − Fazendo isto para as previsões ( )y k j+ realizadas nos horizontes
1 pj d h= + ⋯ , ( ph N d= + ) obtemos o seguinte sistema matricial:
C(s) -ds G(s) e
Gn(s) -ds
e
1( ) ( )y t y t d= +⌢ ⌢
( )y t⌢
+ +
e(t)
y(t) r(t)
Controle Preditivo
52/81
1ˆ ˆ´ ( ) ´y G u D z y−= ∆ + (5.5)
Onde:
1 1
0 1
2 2
0 1
0 0 2
´
N N
NX
d d
d dD
d d
=
⋮ ⋮2 1
ˆ( )ˆ´
ˆ( 1)X
y t dy
y t d
+ = + −
0
0
1 1
1 0
2 2
2 1
1 1
1 2 1
0 0
0
´0
c
c
N hN NN N N N Xh
g
g g
Gg g
g g g −− −
− − −
=
…
…
⋮ ⋮ ⋮ ⋮
…
⋮ ⋮ ⋮ ⋮
…
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:
( )( ) ( )
( )( ) ( )1
´
ˆ´ . ´ . . . ´ . ´ ´
ˆ. . ´ . . . ´ . ´ ´
T T
T T
G G I u G D y w
u G G I G w D y
δ λ δ
δ λ δ−
+ ∆ = − − ⇒
∆ = + − (5.6)
Seja:
( )( )1
´ ´. . ´ .
´
T Tq G G I G
p qD
δ λ δ−
= +
=
Observe que a matriz q tem dimensão ch xN e a matriz p tem dimensão 2ch x .
Considerando que o vetor w seja igual a :
1
1
1( )
1NX
w r k
= ×
⋮
Controle Preditivo
53/81
(onde r(k) é o set point), concluimos que o primeiro elemento do vetor u∆ em (5.6)
será igual a :
[ ] 1
11 1 11 12
2
ˆ ( )( ) ( ) ( )
ˆ ( )N
y k du k q q r k p p
y k d
+ ∆ = + + + − − +
⋯
Que pode ser representado pelo seguinte diagrama de blocos:
Figura 5 e Figura 6
De (4.2) podemos escrever:
( ) ( ) ( )1 1(1 ) ( ) ( ). 1dy k A z y k z B z u k− − −= − + ∆ −ɶ
Por recursividade, chegamos a seguinte expressão:
( ) ( ) ( ) ( )1 1 1 1
1
ˆ ((1 ) ( ) (1 ) ( ). 1d
d i d
i
y k d A z z y k A z z B z u k d− − − − −
=
+ = − + − ∆ + −∑ɶ ɶ
Simplificando a expressão acima temos:
( ) ( )1 1 1ˆ ( ) ( ) ( ( )). ( )d
ny k d R z y k z R z G z u k− − −+ = + − ∆
Onde:
1 1( ) (1 ( ))d dR z A z z− −= − ɶ e ( )( )
1
1 1
1( ) d
n
B zG z z
A z
−
− − −
−=ɶ
Portanto chegamos ao seguinte diagrama de blocos:
Controle Preditivo
54/81
Figura 7 :
Controle Preditivo
55/81
Exercício 8:
Seja a seguinte Função de Transferência de um determinado processo:
2
5 4 3
1,547 1,705 0, 4574( )
12 15, 22 4,415p
z zG z
z z z
− +=
− +
1 – Usando um método de modelagem de sistemas de primeira ordem com atraso, aproxime esta função por:
exp( )( )
1m
K sG s
s
θ
τ
−=
+ cuja transformada Z é
1
1( )
1
dm
bzG z z
az
−−
−=
−,
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 ( )mG z que controle a planta ( )pG 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
( )mG z , que controle a planta ( )pG 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
( )mG z , que controle a planta ( )pG 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 ( )mG z , que
controle a planta ( )pG 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.
:
Controle Preditivo
56/81
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:
Controle Preditivo
57/81
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 ,
Controle Preditivo
58/81
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:
( ) ( )
( )
2
1
2
1 1
ˆ( )
1
p
c
hq
l l ll j d
hp
i ii j
J k y j k w j k
u j k
δ
λ
= =
= =
= + − + +
∆ + −
∑∑
∑ ∑
Onde , 1 ; , 1 ;l il q i qδ λ= =⋯ ⋯ são parâmetros de ajuste do controlador multivariável. Definindo as seguintes matrizes:
1
2
0 0
0 0
0 0 q qxq
δ
δδ
δ
=
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋯
1
2
0 0
0 0
0 0 p pxp
λ
λλ
λ
=
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋯
( ) ( )
0 0
0 0
0 0qN x qN
δ
δδ
δ
=
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋯( ) ( )
0 0
0 0
0 0pN x pN
λ
λλ
λ
=
⋯
⋯
⋮ ⋮ ⋱ ⋮
⋯
Onde pN h d= − .Assim a função custo, pode ser escrita na seguinte forma matricial:
( ) ( )T TJ G u f w G u f w u uδ λ= ∆ + − ∆ + − + ∆ ∆
Derivando esta função e igualando a zero, obtemos:
1( ) ( )T TU G G I G W fδ δ λ δ−∆ = + − O sinal a ser direcionado para o processo é o vetor constituído pelos p’s primeiro
elementos do vetor U∆ , obtido por:
Controle Preditivo
59/81
1
2
( )
( )( ) ( )
( )p
u k
u kU k K W f
u k
∆ ∆ ∆ = − ∆
⋮
(5.4)
Sendo K é a matriz 1( )T TG G I Gδ λ δ−+ , 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 uJu
∆=∆
s.a { S u∆ c≤ (5.5)
Onde as seguintes restrições foram consideradas:
1- Variação da ação de controle: )1()()( −−=∆ tututu , onde
maxmin )( ujtuu ∆≤+∆≤∆ , j=0,1,...,hc-1;
Controle Preditivo
60/81
2- Sinal de controle: maxmin )(),( ujtuutu ≤+≤ ;
3- Sinal da saída prevista: maxmin )(ˆ),(ˆ yjtyyty ≤+≤
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∆ :
maxmin uuu hchc ∆Γ≤∆≤∆Γ , sendo:
11
1
1
hcx
hc
=Γ⋮
(5.6)
Rearranjando as restrições, têm-se:
max
min min
hc
hc hc
u u
u u u u
∆ ≤ Γ ∆
Γ ∆ ≤ ∆ ⇒ −Γ ∆ ≥ −∆
Assim,
minuu hc ∆Γ−≤∆−
Considerando uIuch ∆=∆ , onde hcI é uma matriz identidade de ordem (hcxhc), tem-
se
Controle Preditivo
61/81
max
2 min 2 1
hchc
hc hcxhc hc hcx
uIu
I u
Γ ∆ ∆ ≤ − Γ ∆
(5.7)
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:
1)1()1()()1()1(
)1()()1()1()()1(
)()1()(
Nxchtutututuhctu
tutututututu
tututu
−+∆+++∆+∆+−=−+
+∆+∆+−=+∆+=+
∆+−=
⋯
⋮ (5.8)
−+∆+++∆+∆
+∆+∆
∆
−
−
−
=
−+
+
)1()1()(
)1()(
)(
.
)1(
)1(
)1(
)1(
)1(
)(
chtututu
tutu
tu
tu
tu
tu
hctu
tu
tu
⋯
⋮⋮⋮ (5.9)
Pode-se escrever (5.9) como:
utu hchc ∆Γ+−Γ= )1(
Com:
=Γ
1111
0011
0001
⋯
⋮⋮⋮⋮⋮
⋯
⋯
hc (5.10)
Da forma demonstrada, chega-se as seguintes desigualdades:
Controle Preditivo
62/81
min max
min max
( 1)
( ( 1)) ( ( 1))
hc hc hc
hc hc
u u t u u
u u t u u u t
≤Γ Γ − + Τ∆ ≤ Γ
Γ − − ≤ Τ∆ ≤ Γ − −
Que podem ser agrupadas na forma matricial:
max
min2 2 1
( ( 1))
.
( ( 1) )c c c
hc
hch Xh h X
u u t
u
u t u
Γ − −Τ ∆ ≤ −Τ Γ − −
(5.11)
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:
maxminˆ yfuHyy NN Γ≤+∆=≤Γ (5.12)
Onde y é definido por (4.12), H é definido por (4.8) e f por (4.25) e
11
1
1
Nx
N
=Γ⋮
(5.13)
Após a realização de algumas manipulações algébricas, têm-se:
Controle Preditivo
63/81
min max
max
min
N N
N
N
y f H u y f
H u y f
H u f y
Γ − ≤ ∆ ≤ Γ −
∆ ≤ Γ −
− ∆ ≤ − Γ
(5.14)
Que na forma matricial representa-se como:
max
min2 2 1
.
c
N
NNxh Nx
y fH
u
H f y
Γ − ∆ ≤ − − Γ
(5.15)
É 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:
cc xhNh
hc
hc
hc
hc
H
H
T
TS
)24( +
−
−
Γ−
Γ
= e
max
min
max
min
max
min (4 2 ) 1
( ( 1))
( ( 1) )
c
hc
hc
hc
hc
N
N h N x
u
u
u u tC
u t u
y f
f y+
Γ ∆ −Γ ∆ Γ − −
= Γ − − Γ −
− Γ
(5.17)
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.
Controle Preditivo
64/81
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 )(tu∆ é 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.
Controle Preditivo
65/81
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:
1min ( )
2
. . :
:
:
T T
x
i i i
i i i
f x x Gx g x
s a
c a x b i I
c a x b i D
= +
= ∈
≤ ∈
(5.18)
Onde x é um vetor de dimensão n, G representa uma matriz Hessiana simétrica nxn,
e os vetores ia são os gradientes das restriçoes ic 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 nx ∈ℝ 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 nx ∈ℝ , então o
problema é infactível, e as restrições são chamadas de inconsistentes. Por exemplo:
1 12, 1x x> < .
ii)Seja o conjunto A tal que ( ) 0iC x = , 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.
Controle Preditivo
66/81
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:
1
2
1
2
2 0 21min ( ) ,
0 2 22
. . :
1: 2 2 1
1
1: 2 2
1
T
T
x
T
T
xf x x x x x
x
s a
c x D
c x D
− = + = −
− ≤ − − ∈ −
≤ ∈ −
(5.19)
Neste exemplo o conjunto de restrições de igualdade (I) é vazio e o conjunto de
restriçoes de desigualdade é { }1,2D = . Observe, através na figura 12 que a função
objetivo representa uma família de curvas com centro em [ ]1 1T
. 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 1c , ou seja, no ponto
1 11 1
2 2
T
+ +
. No ponto de mínimo, somente a primeira restrição estará ativa, ou
seja { }1A =
Controle Preditivo
67/81
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,
*T
i ia x b i I= ∈
Quando isto acontece, podemos provar que o ótimo *x satisfaz a seguinte condição
necessária: * *( ) i i
i A
f x a λ∈
∇ = −∑
Controle Preditivo
68/81
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 1k k kx x d+ = + seja factível e que 1( ) ( )k kf x f x+ ≤ . O algoritmo
termina quando *
1kx 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).
Controle Preditivo
69/81
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 ph (horizonte de predição), ch (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 ( ph e ch ) 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 ph e ch fixos, não
conduz a bons resultados; mas o caso contrário permite realizar a sintonia do
Controle Preditivo
70/81
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:
1
sy Ke
u s
θ
τ
−
=+
Passo 2 - Calcular os horizontes de previsão ( ph ), e controle ( ch ) e o horizonte do
modelo (N), através da seguinte expressão:
5int( 1)ph N
T T
τ θ = = + +
int( 1)ch
T T
τ θ = + +
Passo 3 – Calcular o coeficiente de supressão do movimento λ através da seguinte
expressão:
2 13( int( 1) 2 ( ))
10 2 2
c cp
h hK h
T T
θ τλ
− = − + − + −
Controle Preditivo
71/81
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:
2 2 2
2 1 1min ( ) 100( ) (1 )f x x x x= − + −
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:
2 2
1 2
1 2
1 2
1 2
1 2
1
2
m i n ( ) 1 0 ( 3 , 5 ) 2 0 ( 4 )
6
1
2 6
0 .5 4
0
0
f x x x
x x
x x
x x
x x
x
x
= − + −
+ ≤
− ≤
+ ≥
− ≥ −
≥
≥
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.
Controle Preditivo
72/81
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 eqm
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 ( 3 2( ) eqn n m m+ + ). 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:
(PML) min ( )
. . : ,
T T
vJ x c v d x
s a Av b Ex
= +
≤ + (6.1a)
(PMQ) 1
min ( )2
. . : ,
T T
vJ x v Gv x Fv
s a Av b Ex
= +
≤ +
(6.1b)
Controle Preditivo
73/81
(PMLI)
{ }
min ( )
. . : ,
, 0,1 br
T Tr r b b
v
r r b b
nnr b
J x c v c v
s a A v A v b Ex
v v
= +
+ ≤ +
∈ ∈ℝ
Onde , , ,p n mxn mx v A b∈ ∈ ∈ ∈ℝ ℝ ℝ ℝ e mxpE ∈ℝ . O parâmetro px ∈ℝ 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 px ∈ℝ para o qual o problema de otimização (6.1) é
factível, ou seja:
{ }px Av b ExΧ = ∈ ≤ +ℝ ,
Definição 6.1.2 (Partição Politópica) Uma coleção de conjuntos politópicos
{ } { }11, ,
R
r Rr=Ρ = Ρ Ρ… é uma partição politópica de um conjunto politópico Χ se (i)
1
Rr r x= Ρ =∪ , (ii) ( \ ) ( \ ) ,r r q q r qΡ ∂Ρ Ρ ∂Ρ = ∅ ∀ ≠∩ , onde ∂ significa a fronteira.
Controle Preditivo
74/81
Definição 6.1.3 (Função Afim Por Partes (PWA)) Uma função : df Χ → ℝ com
d +∈ℕ é afim por partes ((PWA), se a partição { }1
R
r r=Ρ de um conjunto Χ existir, tal
que ( ) r rf x L x C= + se rx ∈Ρ .
Definição 6.1.3 (Função Quadrática Por Partes (PWQ)) Uma função
: df Χ → ℝ com d +∈ℕ é quadrática por partes ((PWQ), se a partição { }1
R
r r=Ρ de um
conjunto Χ existir, tal que ( ) Tr r rf x x Q x L x C= + + se rx ∈Ρ .
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 r rP x H x K= ∈ ≤ℝ 1, ,r R= …
3 – A solução ótima * : nv Χ → ℝ é uma função contínua e afim por partes (PWA) em
relação ao parâmetro x, i.e.
*( ) ,r rv x L x C= + se rx ∈Ρ
4– A função custo ótima * :J Χ → ℝ é contínua, convexa e quadrática por partes, i.e.
*( ) ,T
r r rJ x x Q x L x C= + + se rx ∈Ρ
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 * : nv Χ → ℝ é afim por
partes (PWA) em relação ao parâmetro; e a função custo ótima * :J Χ → ℝ é PWA.
Controle Preditivo
75/81
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 .r rL x C+
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 ,( )n mPQΘ + R ( )fn m+ ,( )p mPLΘ , onde ,( )n mPQΘ é o máximo de operações
numéricas para resolver o algoritmo PQ com n variáveis e m restrições, ,( )p mPLΘ o
máximo de operações numéricas para resolver o algoritmo PL com p variáveis e m
restrições, e ( ) /f rr
n f R= ∑ , sendo que rf é o número de restrições da r-ésima
região.
6.2 Sistemas Dinâmicos Afins por Partes
Seja um conjunto de funções lineares , ( , ), 1, ,LIN i Lf x u i n= … obtidas através da
expansão da série de Taylor de uma função não linear f entorno do ponto , ,,s i s ix u ,
isto é:
, ,
, ,
, , , ,
, ,,
( , ) ( , )( , ) ( , ) ( ) ( ) , 1, ,s i s i
s i s i
s i s i s i s iLIN i Lx u
x u
f x u f x uf x u f x u x x u u i n
x u
∂ ∂ = + − + − =
∂ ∂ …
Seja ( ) nx t ∈ℝ o vetor de estado no instante t, ( ) mu t ∈ℝ o vetor de controle.
Assume-se que os estados e as entradas são sujeitos a restrições:
( ) , ( )n mx t U t U∈ Χ ⊂ ∈ ⊂ℝ ℝ . O sistema dinâmico afim por partes (PWA) é definido
pela equação de estados:
,( 1) ( , )LIN ix t f x u+ = se , 1, ,i L
xD i n
u
∈ =
… (6.2)
Controle Preditivo
76/81
Onde iD U⊆ Χ× .
Definição 6.4 O sistema dinâmico PWA está bem estruturado se o seu domínio
D U⊆ Χ × pode ser particionado em iD regiões tais que i iD D= ∪ e as regiões não se
cruzam, i.e.,
Onde ( ) nx t ∈ℝ é o vetor de estado no instante t, ( ) mu t ∈ℝ é 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: ( ) , ( )n mx t U t U∈ Χ ⊂ ∈ ⊂ℝ ℝ . A função f pode ser
aproximada por um conjunto de funções lineares , ( , ), 1, ,LIN i Lf x u i n= … obtidas através
da expansão da série de Taylor de f entorno do ponto , ,,s i s ix u , isto é:
,i jD D 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:
1k k k
k k k
x Ax Bu
y Cx Du
+ = +
= +
(6.3)
Assuma que este sistema seja controlável e observável, e que existam os conjuntos
limitados { } { } { }| , | , |x x u usetx H x K U x H x K x Lx MΧ = ≤ = ≤ Γ = ≤ . Seja N um número
interiro positivo, então o problema COTFR é definido através da seguinte
formulação:
Controle Preditivo
77/81
1*
0
0
1
( ) min ( ) ( , )
.
, 0, ,
, 0, ,
N
N
N N N k k kU
k
k k k
k
k
N set
J x x x u
sa
x Ax Bu
x k N
u U k N
x
−
=
+
= +
= +
∈ Χ ∀ =
∈ ∀ =
∈Γ
∑ℓ ℓ
…
…
(6.4)
Onde *J é o custo ótimo que depende da condição inicial 0x , 0( , , )TN NU u u= … é a
sequência de controle ótimo a ser determinada, Nx é o estado final da trajetória,
( )N Nxℓ é a função custo final, ( )k kxℓ é 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 kx o
mais próximo possível da origem, ou seja, minimizar a função custo dada por:
( )
( , ) ,
N N N N p
k k k k u kp p
x Q x
x u Q x Q u
=
= +
ℓ
ℓ
Onde , ,n n n n m mN x uQ Q Q× × ×∈ ∈ ∈ℝ ℝ ℝ são matrizes de poderações usadas para sintonzar
aperformance do controlador. Além disto pé tal que
1 2, ,T
i ii
Pz Pz z z Pz= =∑ e
max i ii
Pz Pz∞
= para algum vetor z e matriz P.
Problema do Regulador: quando o objetivo é mater a trajatória de estado kx o
mais próximo possível da referência REFx ou seja, minimizar a função custo dada
por:
( ) ( )
( , ) ( ) ,
N N N N REF p
k k k k REF u kp p
x Q x x
x u Q x x Q u
= −
= − + ∆
ℓ
ℓ (6.5)
Onde 1k k ku u u −∆ = − .
Controle Preditivo
78/81
Problema do Tempo Mínimo:quando o objetivo é obter a sequência de controles
ótimos *
NU que leva o estado de uma condição inicial 0x 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 2p = , ( ) TN N N N Nx x Q x=ℓ e
( , ) T Tk k k k k k u kx u x Q x u Q u= +ℓ .Assim, definindo as matrizes
N
I
AA
A
=
ɶ⋮
,
1 2
0 0
0 0
0
0N N
B
BAB B
A B A B− −
=
… …
…
⋮ ⋮ ⋮ ⋮ɶ
…
⋮ ⋮ ⋮ ⋮
…
o problema (6.3) para p=2 pode ser escrito como:
{ }*
0 0 0 0
0
( ) min
. .
,
N
T T TN N N N
U
N
J x x Yx U HU x FU
s a
GU W Ex
= + +
≤ +
(6.6)
Onde,
,T TuH B QB Q F A QB= + =ɶ ɶ ɶ ɶɶ ɶ ɶ , TY A QA= ɶ ɶ ɶ , ( , , )x x NQ diag Q Q Q=ɶ … , ( , , )u u uQ diag Q Q=ɶ … .
Considerando H semi definida positiva, a solução será dada através do Teorema
6.1.
Na formulação PML, temos 1p = , ( )N N N Nx Q x=ℓ e ( , )k k k k u kx u Q x Q u= +ℓ . Usando
variáveis de folga 0 1 1( , , , )Nε ε ε −… , 0 1 1( , , , )Nδ δ δ −… e γ podemos então transformar a
função não linear1
*
0
0
( ) minN
N
N N N x k u kU
k
J x Q x Q x Q u−
=
= + +∑ numa função custo linear
dada por:
Controle Preditivo
79/81
0 1 0 1
1*
0, , , , , , ,
0
,
( ) min ( )
.
1 , 1 , 0,1, , 1
1 1 , 0,1, , 1
1 , 1
N N N
N
N k kU
k
u k k u k k
x k k x k k
N N N N
J x
sa
Q u Q u k N
Q x Q x k N
Q x Q x
ε ε δ δ γε δ γ
ε ε
δ δ
γ γ
− −
−
=
= + +
≤ − ≤ = −
≤ − ≤ = −
≤ − ≤
∑⋯ ⋯
…
…
(6.7)
No caso da norma p = ∞ , a função custo será:
*
0, ,
( ) min
.
1 , 1
1 , 1
1 , 1
NN
U
u k u k
x k x k
N N N N
J x
sa
Q u Q u
Q x Q x
Q x Q x
ε γε δ γ
ε ε
δ δ
γ γ
= + +
≤ − ≤
≤ − ≤
≤ − ≤
(6.8)
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
{ }0,1 , 1 ,i Li nδ = = … tais que:
( 1)k
i ik
xD
uδ
= ⇔ ∈
Assim as restrições ,x xi iH x K≤ u u
i iH u K≤ e 1k i k i kx A x B u+ = + para 1 Li n= … serão
dadas por:
Controle Preditivo
80/81
,
,
1
~
1 ,
~
1 ,
(1 )
1
( ) (1 )
( ) (1 )
L
ki i i k i
k
n
k ii
k i k i k i k i
k i k i k i k i
xH K M
u
x A x B u M
x A x B u m
δ
δ
δ
δ
=
+
+
− ≤ −
=
− + ≤ −
− + ≥ −
∑
(6.9)
Onde ,
maxk
i i ix u U
k
xM H K
u∈Χ ∈
= −
~
,maxi i i i
x u UM A x B u c
∈Χ ∈= + +
~
,mini i i i
x u Um A x B u c
∈Χ ∈= + +
Note que os seletores { }, 0,1 , 1 ,k i Li nδ = = … devem ser introduzidos para cada instante
1k N= … , o que implica num total de variáveis binárias igual a Ln 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 { }* * * *
0, 1, , , NU u u u= … deve ser obtida a
cada iteração, através da Programação Multiparamétrica, sendo que somente o
sinal de controle no instante atual ( *
0u ) é aplicado a planta.
Controle Preditivo
81/81
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.