Você está na página 1de 90

Conteúdo

1. Introdução Matrix Math Package;


2. Desenvolver hardware para realizar operações matriciais;
3. Introdução a Modelo Preditivo;
4. Implementação de Modelo Preditivo em VHDL;
5. Análise através de Simulações.

27/02/2020 FAENG - ENG Soluções Tecnológicas 1


Introdução Matrix Math
Package
The VHDL matrix math packages can be downloaded at:
http://www.vhdl.org/fphdl/real_matrix_pkg.zip
By David Bishop

27/02/2020 FAENG - ENG Soluções Tecnológicas 2


• A biblioteca VHDL matrix é baseada na funcionalidade das operações realizadas no Matlab.
• Para habilitar a biblioteca deve-se executar os seguintes procedimentos.
vlib ieee_proposed.lib
vmap ieee_proposed ./ieee_proposed.lib
vcom -2008 -work ieee_proposed real_matrix_pkg.vhdl
vcom -2008 -work ieee_proposed real_matrix_pkg_body.vhdl
vcom -2008 -work ieee_proposed complex_matrix_pkg.vhdl
vcom -2008 -work ieee_proposed complex_matrix_pkg_body.vhdl
vcom -2008 -work ieee_proposed fixed_matrix_pkg.vhdl
vcom -2008 -work ieee_proposed fixed_matrix_pkg_body.vhdl
vlib work
vmap work work
vcom -2008 test_real_matrix.vhdl
vcom -2008 test_complex_matrix.vhdl
vcom -2008 test_fixed_matrix.vhdl

27/02/2020 FAENG - ENG Soluções Tecnológicas 3


Operadores Função exemplo

* Multiplicação entre matrizes real_matrix * real_matrix returna real_matrix


+ Soma de matrizes real_matrix + real_matrix returna real_matrix
- Subtração entre matrizes real_matrix - real_matrix returna real_matrix
/ Divisão entre matrizes real_matrix / real_matrix returna real_matrix

** Matriz elevada a um inteiro real_matrix ** integer returna real_matrix


= Gera igualdade caso as dimensões sejam real_vector = real_matrix
respeitadas. real_vector /= real_matrix
abs Módulo de uma matriz e/ou vetor Retorna o valor absoluto

27/02/2020 FAENG - ENG Soluções Tecnológicas 4


Função Descrição
Sqrt Extrai a raízes quadrada de cada elemento
Exp Exponencial de elemento por elemento
Log Realiza o logaritmo de elemento por elemento
Det Calcula o determinante da matrix
Inv Realiza a operação inversa de cada matriz
Transpose Encontra a transposta da matriz
Zeros Cria uma matriz de zeros. Zeros (rows, columns)
Ones Gera uma matriz com número 1. Ones (rows, columns)
eye Monta uma matriz identidade. eye (rows, columns)
submatrix Gera uma matriz a partir de outra matriz. submatrix (arg, x, y, rows, columns).
buildmatrix Comando utilizado para construir uma matriz. buildmatrix (arg, result, x, y)
InsertColumn Inseri um vetor coluna em uma matriz
Size Retorna o tamanho da matriz
27/02/2020 FAENG - ENG Soluções Tecnológicas 5
27/02/2020 FAENG - ENG Soluções Tecnológicas 6
Exemplo 1:
Dadas as matrizes a e b desenvolva um hardware em VDHL que realize a multiplicação entre estas
matrizes quando o hardware for habilitado (rst = 0). Verifique o resultado desta multiplicação através de
ferramenta de simulação.

Observação: Quando rst = 1, carrega os valores das matrizes.

1.0 6.0
a= 4.0 3.0
2.0 0.5 3.0
7.0 1.0 𝑏=
2.0 5.0 7.0 1.0 0.0

27/02/2020 FAENG - ENG Soluções Tecnológicas 7


Gerar arquivo de simulação - ModelSim

quit -sim -- sai da simulação


vcom top.vhd -- compila o arquivo top.vhd
vsim work.top -- simula a entidade top
add wave -- adiciona para as formas de ondas
force -- force um valor
run 1000 -- roda 1000ps a simulação
do simula.do

27/02/2020 FAENG - ENG Soluções Tecnológicas 8


Exemplo 2:
Dada a matriz a e n = 1.5, desenvolva um hardware em VHDL que realize as operações indicadas em
a) e b), quando o hardware estiver habilitado (rst = 1). Verifique os resultados através do ModelSim.

0.5 0.0 1.0


𝑎= 2.0 1.5 1.0
0.0 0.5 2.0

a) 𝑎𝑇
b) n ∗ 𝑎𝑇 + 𝑎 ∗ 𝑎𝑇

27/02/2020 FAENG - ENG Soluções Tecnológicas 9


Exemplo 3:
Dadas as matrizes A e C determine a matriz F.
1.0 0.5 𝐶𝐴
𝐴= 𝐶 = 0.0 1.0 𝐹=
0.8 0.2 𝐶𝐴2

Exemplo 4:
As matrizes A e B descrevem parte do comportamento de um sistema eletromecânico. Verifique se este sistema é
controlável (usando VHDL).
Observação: o teste de controlabilidade de um sistema é dado por: det[ 𝐵 𝐴𝐵 𝐴2 𝐵 … 𝐴𝑛−1 𝐵 ]. Sendo n a dimensão da
matriz A. Se o determinante da matriz de controlabildade 𝐵 𝐴𝐵 𝐴2 𝐵 … 𝐴𝑛−1 𝐵 for diferente de zero, então o sistema é
controlável. Se o sistema for controlável uma saída S deve ser igual 1, caso contrário S = 0.
1.0 0.5 1.0
𝐴= 𝐵=
0.2 0.0 0.0
27/02/2020 FAENG - ENG Soluções Tecnológicas 10
Exemplo 5:
Dada a matriz A, encontre a inversa desta matriz caso o determinante seja diferente de zero. O hardware
deverá enviar a mensagem “Gera” caso exista a inversa de A, caso contrário deve ser enviada a mensagem
“Erro”. Em ambos os casos o hardware deverá informar o valor do determinante.

1.0 −0.2 2.0


𝐴 = 0.0 0.5 0.1
4.0 0.0 2.0

Exemplo 6:
Idem ao exercício 5.
1.0 −0.5
𝐴=
2.5 3.0
27/02/2020 FAENG - ENG Soluções Tecnológicas 11
Exemplo 7:
Um sistema de controle para satélite é apresentado na equação de estado abaixo. Supondo as
condições iniciais 𝑥1 (0) = 0 e 𝑥2 0 = 1, sendo 𝑥1 relacionado ao deslocamento e 𝑥2 relaciona a
velocidade. Projete um hardware em VHDL que calcule os vetores de estados (deslocamento e
velocidade) e o ganho 𝑢 𝑘 correspondente.

𝑥1 (𝑘 + 1) 0.95 0.0825 𝑥1 (𝑘) 𝑥1 (𝑘)


= 𝑢 𝑘 = 10.0 3.5
𝑥2 (𝑘 + 1) −1 0.65 𝑥2 (𝑘) 𝑥2 (𝑘)

27/02/2020 FAENG - ENG Soluções Tecnológicas 12


Exemplo 8:
Desenvolva um hardware em VHDL que permita ao usuário entrar com as matrizes de estados (A e B) e o
hardware execute as seguintes operações:
a) A*B;
b) 𝐴𝑇 ∗ 𝐵;
c) 𝐴 + 𝐴𝑛 , sendo n definido pelo usuário. Os resultados desta operação deverão ser apresentados para cada
iteração, ou seja, se n = 3, 𝐴 + 𝐴0 , 𝐴 + 𝐴1 , 𝐴 + 𝐴2 𝑒 𝐴 + 𝐴3 .

27/02/2020 FAENG - ENG Soluções Tecnológicas 13


Exercício 1:
Deseja se aplicar a fórmula de Ackermann para projetar o ganho do controlador K para um satélite. Projete
um hardware em VHDL que encontre o ganho do controlador com base no período (T) estabelecido
pelo usuário. As informações sobre os parâmetros de controle são apresentados nas equações abaixo:

Polinômio característico
𝛼𝑐 ∅ = ∅2 + 𝛼1 ∅ + 𝛼2 𝐼 1.0 𝑇
Sendo: ∅= 𝛼1 = −1.6 𝛼2 = 0.7
0.0 0.1

A matriz de controlabilidade
𝑇2
𝐶 −1 = 𝛿 ∅𝛿 −1
Sendo: 𝛿= 2
𝑇
Ganho do Controlador
𝐾 = 0 1 𝐶 −1 𝛼𝑐 ∅

27/02/2020 FAENG - ENG Soluções Tecnológicas 14


Introdução a Modelo Preditivo
A técnica de Controlador Preditivo vem crescendo em diversas áreas devido a robustez em trabalhar com
sistemas não lineares e de proporcionar restrições nas variáveis de entrada e saída.

Um Modelo de Controlador Preditivo (Model Predicitive Control) – MPC baseado nas matrizes de estado da
planta e no set-point. Além destas informações no projeto de controlado Preditivo são necessário definir dois
parâmetros: Control Horizon Nc e Predicitive Horizon (Np).

Nc é o horizonte de controle. É usado para informar o número de parâmetros para determinar a futura trajetória
do sinal de controle.

Np é denominado de horizonte de predição. Este parâmetro apresenta o mesmo tamanho da janela de


otimização. Nc deve ser menor ou igual ao valor de Np.

27/02/2020 FAENG - ENG Soluções Tecnológicas 15


TRAJETÓRIA
DE
REFERÊNCIA
ENTRADAS E
SAÍDAS
PASSADAS SAÍDAS

-+
PREDITAS
MODELO

MPC foi desenvolvido considerando


ENTRADAS ERROS o conceito de predição e a obtenção
FUTURAS FUTUROS do sinal de controle através da
OTIMIZAÇÃO minimização de uma função
objetivo.

FUNÇÃO RESTRIÇÕES
CUSTO

27/02/2020 FAENG - ENG Soluções Tecnológicas 16


O modelo dinâmico da planta é primordial para projetar o Controlador Preditivo.

Movinghorizonwindow
Janela de horizonte movente: define o tempo que a janela de predição terá: 𝑡𝑖 + 𝑇𝑝 sendo
𝑡𝑖 𝑜 𝑖𝑛𝑖𝑐𝑖𝑜 𝑑𝑎 𝑝𝑟𝑒𝑑𝑖çã𝑜 𝑒 𝑇𝑝 𝑜 𝑡𝑒𝑚𝑝𝑜 𝑝𝑙𝑎𝑛𝑒𝑗𝑎𝑑𝑜 𝑑𝑒 𝑝𝑟𝑒𝑑𝑖çã𝑜.

Prediction Horizon – Horizonte de Predição : dita quanto deseja que o futuro seja previsto.

Função Custo ou função objetivo – Trata-se de uma função erro com base na diferença entre as respostas
desejadas e reais. Esta função é calculada dentro da janela de predição através de algoritmos de otimização.

27/02/2020 FAENG - ENG Soluções Tecnológicas 17


Considerando o instanteda amostragem 𝑘𝑖, 𝑘𝑖 > 0

O vetor variável de estado é obtido através de medição 𝑥 𝑘𝑖 . Este vetor de estado 𝑥 𝑘𝑖 fornece informações
atuais da planta.

Observação: Em muitos casos o vetor de estado 𝑥 𝑘𝑖 não pode medido.

A predição do estado e da saída são baseadas em dois parâmetros para projetar o Controlador Preditivo.
Nc = é denominado de horizonte de controle, ou seja, o número de parâmetros necessário para alcançar a trajetória
de controle futura.

Dada a informação do vetor de estado 𝑥 𝑘𝑖 , o futuro vetor de estado poderá ser predito com Np número de amostra.
Sendo Np denominado de horizonte de predição. Np define o tamanho da janela de otimização da junção custo.

O horizonte de controle é escolhido para ser menor ou igual ao horizonte de predição.


27/02/2020 FAENG - ENG Soluções Tecnológicas 18
O Modelo Preditivo é baseado na modelagem das plantas através do Espaço de Estado (Equação 1).
𝑥𝑚 𝑡 = 𝐴𝑚 𝑥𝑚 𝑡 + 𝐵𝑚 ∆𝑢 𝑡
𝑦 𝑡 = 𝐶𝑚 𝑥𝑚 𝑡

𝑥 𝑘 + 1 = 𝐴𝑥 𝑘 + 𝐵∆𝑢 𝑘
(1)
𝑦 𝑘 = 𝐶𝑥 𝑘

1° Passo: Construir as matrizes aumentada A, B e C.

𝑇 𝐵𝑚
𝐴𝑚 𝑜𝑚
𝐴= 𝐵= 𝐶 = 𝑜𝑚 1
𝐶𝑚 𝐴𝑚 1 𝐶𝑚 𝐵𝑚
𝑛1
Sendo
𝑜𝑚 = 0 0…0 𝑛1 𝑎 𝑑𝑖𝑚𝑒𝑛𝑠ã𝑜 𝑑𝑜 𝑣𝑒𝑡𝑜𝑟 𝑒𝑠𝑝𝑎ç𝑜 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜 𝑥𝑚
27/02/2020 FAENG - ENG Soluções Tecnológicas 19
A trajetória futura é definida por:
∆𝑢(𝑘𝑖 ), ∆𝑢 𝑘𝑖 + 1 , … , ∆𝑢(𝑘𝑖 + 𝑁𝑐 − 1)

As variáveis de estados futuras são definidas por:

𝑥 𝑘𝑖 + 1 , 𝑥 𝑘𝑖 + 2 , … , 𝑥 𝑘𝑖 + 𝑚 , … , 𝑥 𝑘𝑖 + 𝑁𝑝

𝑥 𝑘𝑖 + 𝑁𝑝 = 𝐴𝑁𝑝 𝑥 𝑘𝑖 + 𝐴𝑁𝑝 −1 𝐵∆𝑢 𝑘𝑖 + 𝐴𝑁𝑝 −2 𝐵∆𝑢 𝑘𝑖 + 1 + … + 𝐴𝑁𝑝 −𝑁𝑐 𝐵∆𝑢(𝑘𝑖 + 𝑁𝑐 − 1)

As variáveis de saída preditas são dadas por:

𝑦 𝑘𝑖 + 1 = 𝐶𝐴𝑥 𝑘𝑖 + 𝐶𝐵∆𝑢(𝑘𝑖 )

y 𝑘𝑖 + 𝑁𝑝 = 𝐶𝐴𝑁𝑝 𝑥 𝑘𝑖 + 𝐶𝐴𝑁𝑝−1 𝐵∆𝑢 𝑘𝑖 + 𝐶𝐴𝑁𝑝−2 𝐵∆𝑢 𝑘𝑖 + 1 + … + 𝐶𝐴𝑁𝑝−𝑁𝑐 𝐵∆𝑢(𝑘𝑖 + 𝑁𝑐 − 1)

27/02/2020 FAENG - ENG Soluções Tecnológicas 20


Em um sistema SISO os vetores do sinal de controle e da saída são respectivamente:

𝑇
∆𝑈 = ∆𝑢 𝑘𝑖 ∆𝑢 𝑘𝑖 + 1 ∆𝑢 𝑘𝑖 + 2 … ∆𝑢 𝑘𝑖 + 𝑁𝑐 − 1

𝑇
𝑌 = 𝑦 𝑘𝑖 + 1 𝑦 𝑘𝑖 + 2 𝑦 𝑘𝑖 + 3 … 𝑦(𝑘𝑖 + 𝑁𝑝 )

27/02/2020 FAENG - ENG Soluções Tecnológicas 21


Generalização
MPC

𝑌 = 𝐹𝑥 𝑘𝑖 + ∅∆𝑈 A dimensão de Y é Nc e a
dimensão de U é Np

Com base nas matrizes aumentadas são definidas as matrizes F e  na qual as dimensões dependem diretamente
da escolha do Control Horizon (Nc) e Prediction Horizon (Np).

𝐶𝐴 𝐶𝐵 0 0 … 0
𝐶𝐴2 𝐶𝐴𝐵 𝐶𝐵 0 … 0
𝐹 = 𝐶𝐴3 ∅= 𝐶𝐴2 𝐶𝐴𝐵 𝐶𝐵 0
⋮ ⋮ ⋮ ⋮ ⋮
𝑁𝑝 −2
𝐶𝐴𝑁𝑝 𝐶𝐴𝑁𝑝 −1 𝐵 𝐶𝐴 𝐵 𝐶𝐴𝑁𝑝 −3 𝐵 𝐶𝐴𝑁𝑝 −𝑁𝑐 𝐵

27/02/2020 FAENG - ENG Soluções Tecnológicas 22


Otimização
Para um determinado setpoint 𝑟 𝑘𝑖 e o tempo de amostragem 𝑘𝑖 dentro da janela de predição, o objetivo do
controlador preditivo é trazer a saída prevista o mais próximo possível para o sinal de setpoint, considerando que
na janela de otimização o setpoint é constante.

O vetor que contem o setpoint é dado por:


𝑁𝑝

𝑅𝑠𝑇 = 1 1 … 1 𝑟 𝑘𝑖

A função custo J reflete o objetivo do controlador.


J= 𝑅𝑠 − 𝑌 𝑇 ത
𝑅𝑠 − 𝑌 + ∆𝑈 𝑇 𝑅∆𝑈

Sendo:

𝑅ത = 𝑟𝑤 𝐼𝑁𝑐 𝑥 𝑁𝑐
Sendo
𝑟𝑤 ≥ 0, 𝑝𝑒𝑠𝑜 𝑝𝑎𝑟𝑎 𝑠𝑖𝑛𝑡𝑜𝑛𝑖𝑎 𝑑𝑜 𝑐𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑑𝑜𝑟 𝑝𝑟𝑒𝑑𝑖𝑡𝑖𝑣𝑜.
𝐼𝑁𝑐𝑥𝑁𝑐 , 𝑚𝑎𝑡𝑟𝑖𝑧 𝑖𝑑𝑒𝑛𝑡𝑖𝑑𝑎𝑑𝑒 𝑑𝑒 𝑑𝑖𝑚𝑒𝑛𝑠ã𝑜 𝑁𝑐
27/02/2020 FAENG - ENG Soluções Tecnológicas 23
Derivada da função custo

𝜕𝐽 𝜕𝐽
= −2∅𝑇 𝑅𝑠 − 𝐹𝑥 𝑘𝑖 ത
+ 2(∅𝑇 ∅ + 𝑅)∆𝑈 =0
𝜕∆𝑈 𝜕∆𝑈

A solução ótima para o sinal de controle é dada por:

∆𝑈 = ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇
𝑅𝑠 − 𝐹𝑥 𝑘𝑖

Desde que a matriz Hessian existe.

∅𝑇 ∅ + 𝑅ത −1

27/02/2020 FAENG - ENG Soluções Tecnológicas 24


Sistema de controle em malha fechada – Ganhos do Controlador preditivo
𝑁𝑐
∆𝑢 𝑘𝑖 = 1 0⋯0 ∅𝑇 ∅ + 𝑅ത −1
∅𝑇 𝑅𝑠 𝑟 𝑘𝑖 − ∅𝑇 𝐹𝑥 𝑘𝑖

= 𝐾𝑦 𝑟 𝑘𝑖 − 𝐾𝑚𝑝𝑐 𝑥(𝑘𝑖 )

Ky é o primeiro elemento de ∅𝑇 ∅ + 𝑅ത −1 𝑇
∅ 𝑅𝑠

Kmpc é a primeira linha de ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇 𝐹

𝑁𝑐
𝐾𝑀𝑃𝐶 = 1 0 0 0 ∅𝑇 ∅ + 𝑅ത −1
(∅𝑇 𝐹) 𝐾𝑚𝑝𝑐 = 𝐾𝑥 𝐾𝑦

Ou seja:
• a parcela ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇 𝑅 𝑟
𝑠 𝑘𝑖 está relacionada com a busca pelo setpoint.
• A parcela ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇 𝐹𝑥 𝑘𝑖 está relacionada com a realimentação.
27/02/2020 FAENG - ENG Soluções Tecnológicas 25
Diagrama de bloco do Controlador Preditivo Diagrama de bloco do Controlador PID

27/02/2020 FAENG - ENG Soluções Tecnológicas 26


Exemplo 1: Dado o modelo do sistema discreto, encontre as matrizes aumentadas
1 1 0.5
𝑥𝑚 𝑘 + 1 = 𝑥𝑚 𝑘 + 𝑢 𝑘
0 1 1

𝑦 𝑘 = 1 0 𝑥𝑚 (𝑘)

Exemplo 2: Dado o modelo do sistema discreto, encontre as matrizes aumentadas

𝑥𝑚 𝑘 + 1 = 𝑎𝑥𝑚 𝑘 + 𝑏𝑢 𝑘 Considere:
Np = 4 e Nc = 2
𝑦 𝑘 = 𝑥𝑚 (𝑘)
Set-point = 1
a) Encontre as matrizes aumentadas do modelo no espaço de estado;
b) Determine as matrizes F e ;
c) Calcule os parâmetros que formam a predição das futuras saídas: ∅𝑇 ∅, ∅𝑇 𝐹 𝑒 ∅𝑇 𝑅ത𝑠 ;
27/02/2020 FAENG - ENG Soluções Tecnológicas 27
Exemplo 3:
Supondo que uma planta é descrita pela equação de estado:

𝑥𝑚 𝑘 + 1 = 𝑎𝑥𝑚 𝑘 + 𝑏𝑢 𝑘
Sendo a = 0.8 e b = 0.1
𝑦 𝑘 = 𝑥𝑚 (𝑘)
Considere:
Np = 3 e Nc = 2
Setpoint𝑟 𝑘𝑖 = 1
𝑇
𝑥 10 = 0.1 0.2
a) Encontre as matrizes aumentadas do modelo no espaço de estado;
b) Determine as matrizes F e ;
c) Calcule os parâmetros que formam a predição das futuras saídas: ∅𝑇 ∅, ∅𝑇 𝐹 𝑒 ∅𝑇 𝑅ത𝑠 ;
d) Encontre a solução ótima ∆U(10) para 𝑟𝑤 = 0 𝑒 𝑟𝑤 = 10.
∆𝑈 = ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇
𝑅𝑠 − 𝐹𝑥 𝑘𝑖

27/02/2020 FAENG - ENG Soluções Tecnológicas 28


Exemplo 4:
Supondo que uma planta é descrita pela equação de estado:

𝑥𝑚 𝑘 + 1 = 𝑎𝑥𝑚 𝑘 + 𝑏𝑢 𝑘
Sendo a = 0.8 e b = 0.1
𝑦 𝑘 = 𝑥𝑚 (𝑘)
Considere:
Np = 10 e Nc = 4
a) Encontre as matrizes aumentadas do modelo no espaço de estado;
Setpoint𝑟 𝑘𝑖 = 1
b) Determine as matrizes F e ; 𝑇
𝑥 10 = 0.1 0.2
c) Calcule os parâmetros que formam a predição das futuras saídas: ∅𝑇 ∅, ∅𝑇 𝐹 𝑒 ∅𝑇 𝑅ത𝑠 ;
d) Encontre a solução ótima ∆U(10) para 𝑟𝑤 = 0 𝑒 𝑟𝑤 = 10. ∆𝑈 = ∅𝑇 ∅ + 𝑅ത −1 ∅𝑇 𝑅𝑠 − 𝐹𝑥 𝑘𝑖
e) Obtenha os valores dos ganhos do controlador (𝐾𝑚𝑝𝑐 , 𝐾𝑦 𝑒 𝐾𝑥 ).

27/02/2020 FAENG - ENG Soluções Tecnológicas 29


Repostas

27/02/2020 FAENG - ENG Soluções Tecnológicas 30


27/02/2020 FAENG - ENG Soluções Tecnológicas 31
27/02/2020 FAENG - ENG Soluções Tecnológicas 32
27/02/2020 FAENG - ENG Soluções Tecnológicas 33
Projeto de um Controlador Peditivo (MPC) - Cosimulação
Dada a planta (equação abaixo), projete um controlador preditivo, para um setpoint = 10, Nc = 3, Np = 5 e rw = 2.0.

Planta
Configuração inicial do
bloco MPC

• Projeto MPC – Matlab/Simulink;


• Projeto MPC – ModelSim;
• Integração Matlab/Simulink e ModelSim.

27/02/2020 FAENG - ENG Soluções Tecnológicas 34


MPC – Matlab/Simulink
• measured output signal (mo);
• reference signal (ref);
• measured disturbance signal (md);
• manipulated variables (mv).

• Para utilizar o bloco MPC no Simulink é necessário configurar e


compilar o MPC object no Matlab;
• A planta faz parte da configuração e compilação no MPC object

27/02/2020 FAENG - ENG Soluções Tecnológicas 35


Configuração do MPC object
•MPCobj = mpc(Plant)
MPCOBJ = mpc (MODELS,TS,P,M, W)
•MPCobj = mpc(Plant,Ts)
•MPCobj = mpc(Plant,Ts,p,m,W,MV,OV,DV) • MODELS: Planta;
MPCOBJ
•MPCobj = mpc(Models,Ts,p,m,W,MV,OV,DV)
• TS: Tempo de Amostragem;
• P : Np
• M: Nc
• W: peso

27/02/2020 FAENG - ENG Soluções Tecnológicas 36


Projeto MPC – Matlab/Simulink

27/02/2020 FAENG - ENG Soluções Tecnológicas 37


27/02/2020 FAENG - ENG Soluções Tecnológicas 38
Importar a planta para o MPC

27/02/2020 FAENG - ENG Soluções Tecnológicas 39


Configuração do MPC – Matlab/Simulink

27/02/2020 FAENG - ENG Soluções Tecnológicas 40


27/02/2020 FAENG - ENG Soluções Tecnológicas 41
27/02/2020 FAENG - ENG Soluções Tecnológicas 42
27/02/2020 FAENG - ENG Soluções Tecnológicas 43
27/02/2020 FAENG - ENG Soluções Tecnológicas 44
27/02/2020 FAENG - ENG Soluções Tecnológicas 45
27/02/2020 FAENG - ENG Soluções Tecnológicas 46
27/02/2020 FAENG - ENG Soluções Tecnológicas 47
Projeto MPC – ModelSim

27/02/2020 FAENG - ENG Soluções Tecnológicas 48


27/02/2020 FAENG - ENG Soluções Tecnológicas 49
27/02/2020 FAENG - ENG Soluções Tecnológicas 50
27/02/2020 FAENG - ENG Soluções Tecnológicas 51
27/02/2020 FAENG - ENG Soluções Tecnológicas 52
27/02/2020 FAENG - ENG Soluções Tecnológicas 53
Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 54


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 55


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 56


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 57


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 58


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 59


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 60


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 61


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 62


Configuração da Co-simulação

27/02/2020 FAENG - ENG Soluções Tecnológicas 63


27/02/2020 FAENG - ENG Soluções Tecnológicas 64
27/02/2020 FAENG - ENG Soluções Tecnológicas 65
27/02/2020 FAENG - ENG Soluções Tecnológicas 66
27/02/2020 FAENG - ENG Soluções Tecnológicas 67
27/02/2020 FAENG - ENG Soluções Tecnológicas 68
27/02/2020 FAENG - ENG Soluções Tecnológicas 69
27/02/2020 FAENG - ENG Soluções Tecnológicas 70
27/02/2020 FAENG - ENG Soluções Tecnológicas 71
27/02/2020 FAENG - ENG Soluções Tecnológicas 72
27/02/2020 FAENG - ENG Soluções Tecnológicas 73
27/02/2020 FAENG - ENG Soluções Tecnológicas 74
27/02/2020 FAENG - ENG Soluções Tecnológicas 75
Modelo Preditivo com Observador de Estado

27/02/2020 FAENG - ENG Soluções Tecnológicas 76


𝑥ො𝑚 𝑘 + 1 = 𝐴𝑚 𝑥ො𝑚 𝑘 + 𝐵𝑚 𝑢 𝑘 + 𝐾𝑜𝑏 (𝑦 𝑘 − 𝐶𝑚 𝑥ො𝑚 𝑘 )

∆𝑢 𝑘𝑖 = 𝐾𝑦 𝑟 𝑘𝑖 − 𝐾𝑚𝑝𝑐 𝑥ො𝑚 (𝑘𝑖 )

𝑦ො 𝑘 = 𝐶𝑚 𝑥ො𝑚 𝑘 )

27/02/2020 FAENG - ENG Soluções Tecnológicas 77


𝑥ො𝑚 𝑘 + 1 = 𝐴𝑚 𝑥ො𝑚 𝑘 + 𝐵𝑚 𝑢 𝑘 + 𝐾𝑜𝑏 (𝑦 𝑘 − 𝐶𝑚 𝑥ො𝑚 𝑘 )

MATLAB

VHDL

27/02/2020 FAENG - ENG Soluções Tecnológicas 78


27/02/2020 FAENG - ENG Soluções Tecnológicas 79
27/02/2020 FAENG - ENG Soluções Tecnológicas 80
rw = 7.0

27/02/2020 FAENG - ENG Soluções Tecnológicas 81


rw = 9.0

27/02/2020 FAENG - ENG Soluções Tecnológicas 82


27/02/2020 FAENG - ENG Soluções Tecnológicas 83
TRABALHO 2

O trabalho será avaliado nos seguintes tópicos:


a) Código de verificação em Matlab correspondente ao código VHDL;
b) Projeto em Matlab/Simulink do controlador MPC com as mesmas configurações do projeto em VHDL.
c) Projeto em VHDL/ModelSim do Controlador Preditivo;
d) Projeto de Cosimulação Matlab/Simulink com ModelSim;
e) Resultados das Simulações e Cosimulações;
f) Artigo (template): fundamentação teórica sobre modelo preditivo e a “planta”, desenvolvimento do trabalho,
resultados comparativos entre simulações e cosimulações, conclusão e referência bibliográfica.

27/02/2020 FAENG - ENG Soluções Tecnológicas 84


1. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Sistema de levitação magnética

27/02/2020 FAENG - ENG Soluções Tecnológicas 85


2. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Diagrama de blocos simplificado do


controle do ângulo de manobra de
um veículo guiado automaticamente

27/02/2020 FAENG - ENG Soluções Tecnológicas 86


3. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Turbina e gerador

27/02/2020 FAENG - ENG Soluções Tecnológicas 87


4. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Diagrama de blocos de um sistema de estabilização de


rolamento de um navio.

27/02/2020 FAENG - ENG Soluções Tecnológicas 88


5. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Sistema de controle de antena.

27/02/2020 FAENG - ENG Soluções Tecnológicas 89


6. Com base na planta da Figura abaixo, projete um controlador preditivo que atinja o setpoint. Teste o
comportamento do controlador preditivo com diferentes (pelo menos duas configurações diferentes) Np, Nc e rw.

Vista em corte de uma câmara fotográfica


Nikon 35 mm mostrando partes do sistema
CCD de focalização automática

27/02/2020 FAENG - ENG Soluções Tecnológicas 90

Você também pode gostar