Apostila_controle_preditivo

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

description

Apostila controle preditivoufespos graduacaoengenharia elétricampcdmcgpc

Transcript of Apostila_controle_preditivo

Page 1: 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

Page 2: Apostila_controle_preditivo

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

Page 3: Apostila_controle_preditivo

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)

Page 4: Apostila_controle_preditivo

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:

Page 5: Apostila_controle_preditivo

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α α+ = + − + − + =

Page 6: Apostila_controle_preditivo

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)

Page 7: Apostila_controle_preditivo

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.

Page 8: Apostila_controle_preditivo

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.

Page 9: Apostila_controle_preditivo

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.

Page 10: Apostila_controle_preditivo

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 é

Page 11: Apostila_controle_preditivo

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.

Page 12: Apostila_controle_preditivo

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).

Page 13: Apostila_controle_preditivo

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 ?

Page 14: Apostila_controle_preditivo

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.

Page 15: Apostila_controle_preditivo

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

=+

Page 16: Apostila_controle_preditivo

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)

Page 17: Apostila_controle_preditivo

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 = ,

Page 18: Apostila_controle_preditivo

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.

Page 19: Apostila_controle_preditivo

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− − − −= + + + .

Page 20: Apostila_controle_preditivo

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]

Page 21: Apostila_controle_preditivo

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)

Page 22: Apostila_controle_preditivo

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

+

+ + ++ + − +

+

⋮⋮

Page 23: Apostila_controle_preditivo

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.

Page 24: Apostila_controle_preditivo

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)

Page 25: Apostila_controle_preditivo

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

ˆ 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

Page 26: Apostila_controle_preditivo

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

Page 27: Apostila_controle_preditivo

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)

Page 28: Apostila_controle_preditivo

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 :

Page 29: Apostila_controle_preditivo

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

Page 30: Apostila_controle_preditivo

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

Page 31: Apostila_controle_preditivo

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:

Page 32: Apostila_controle_preditivo

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= ∆ + ,

Page 33: Apostila_controle_preditivo

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= − +

+ = ∆ + − =∑ ⋯

Page 34: Apostila_controle_preditivo

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:

Page 35: Apostila_controle_preditivo

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

Page 36: Apostila_controle_preditivo

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

−= −

Page 37: Apostila_controle_preditivo

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)

Page 38: Apostila_controle_preditivo

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)

Page 39: Apostila_controle_preditivo

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:

Page 40: Apostila_controle_preditivo

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)

Page 41: Apostila_controle_preditivo

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.

Page 42: Apostila_controle_preditivo

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)

Page 43: Apostila_controle_preditivo

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.

Page 44: Apostila_controle_preditivo

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.

Page 45: Apostila_controle_preditivo

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

∆ ∆ ∆ = ∆

Page 46: Apostila_controle_preditivo

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

+ ++

+ ++

+

+ + ∆ ∆ ++ + = + ∆ − +

∆ + − +

⋮ ⋮⋮⋮

Page 47: Apostila_controle_preditivo

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.

Page 48: Apostila_controle_preditivo

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:

Page 49: Apostila_controle_preditivo

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δ λ δ−

∆ = + −

Page 50: Apostila_controle_preditivo

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

=+

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)

Page 51: Apostila_controle_preditivo

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)

Page 52: Apostila_controle_preditivo

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

= ×

Page 53: Apostila_controle_preditivo

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:

Page 54: Apostila_controle_preditivo

Controle Preditivo

54/81

Figura 7 :

Page 55: Apostila_controle_preditivo

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.

:

Page 56: Apostila_controle_preditivo

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:

Page 57: Apostila_controle_preditivo

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 ,

Page 58: Apostila_controle_preditivo

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:

Page 59: Apostila_controle_preditivo

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;

Page 60: Apostila_controle_preditivo

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

Page 61: Apostila_controle_preditivo

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:

Page 62: Apostila_controle_preditivo

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:

Page 63: Apostila_controle_preditivo

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.

Page 64: Apostila_controle_preditivo

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.

Page 65: Apostila_controle_preditivo

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.

Page 66: Apostila_controle_preditivo

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 =

Page 67: Apostila_controle_preditivo

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 λ∈

∇ = −∑

Page 68: Apostila_controle_preditivo

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).

Page 69: Apostila_controle_preditivo

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

Page 70: Apostila_controle_preditivo

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

θ τλ

− = − + − + −

Page 71: Apostila_controle_preditivo

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.

Page 72: Apostila_controle_preditivo

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)

Page 73: Apostila_controle_preditivo

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.

Page 74: Apostila_controle_preditivo

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.

Page 75: Apostila_controle_preditivo

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)

Page 76: Apostila_controle_preditivo

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:

Page 77: Apostila_controle_preditivo

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 −∆ = − .

Page 78: Apostila_controle_preditivo

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:

Page 79: Apostila_controle_preditivo

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

= ⇔ ∈

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:

Page 80: Apostila_controle_preditivo

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.

Page 81: Apostila_controle_preditivo

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.