Você está na página 1de 7

Controle Preditivo com Garantia de

Estabilidade Nominal e Factibilidade para


Sistemas Embarcados
Bruno A. Santana ∗,∗∗ Márcio A.F. Martins ∗
Thiago P. das Chagas ∗∗

Programa de Pós-Graduação em Mecatrônica (PPGM), Universidade
Federal da Bahia, BA, (e-mail: brunoaguiar 94@hotmail.com,
marciomartins@ufba.br).
∗∗
Laboratório de Mecatrônica, Universidade Estadual de Santa Cruz,
BA, (e-mail: tpchagas@uesc.br)

Abstract: This work presents an implementation of a predictive controller with nominal stabil-
ity guarantee and feasibility, evaluating the alternating direction method of multipliers (ADMM)
to solve the control problem. The controller is applied to a fast dynamic electromechanical system
and the results obtained from the simulated scenarios indicate that the proposal is feasible for
an embedded application.
Resumo: Este trabalho apresenta uma implementação de um controlador preditivo com
garantia de estabilidade nominal e factibilidade, avaliando o método dos multiplicadores com
direções alternadas (ADMM) para solucionar o problema de controle. O controlador é aplicado
a um sistema eletromecânico de dinâmica rápida e os resultados obtidos a partir dos cenários
simulados indicam que a proposta é viável para uma aplicação embarcada.

Keywords: Predictive control; Embedded; Nominal stability; Feasibility; ADMM.


Palavras-chaves: Controle preditivo; Embarcado; Estabilidade nominal; Factibilidade; ADMM.

1. INTRODUÇÃO quando o sistema sofre perturbações severas. Geralmente,


duas soluções podem ser adotadas: i) o aumento do hori-
zonte de controle; ii) uso de variáveis de folga para relaxar
O controle preditivo baseado em modelo (MPC, do inglês as restrições.
Model Predictive Control ) consiste em uma estratégia de
controle avançado que compreende uma ampla gama de Tradicionalmente, o MPC foi restrito a processos com di-
algoritmos, com grande aceitação na indústria por ser uma nâmicas lentas e com tempos de amostragem na ordem de
técnica capaz de lidar com sistemas de dinâmica complexa, minutos, como os encontrados nas áreas de petroquı́micas
além de permitir tratar restrições nas entradas e saı́das do e refinarias de petróleo. No entanto, com o avanço dos al-
processo. De modo geral, os algoritmos de MPC diferem goritmos de otimização, como a abordagem explı́cita para
entre si quanto à forma como as predições são calculadas, problemas de MPC de pequena escala (Alessio and Bem-
na função objetivo a ser minimizada, no procedimento para porad, 2009), ponto interior adaptado (Wang and Boyd,
manipular as restrições e no cálculo da ação de controle. 2010), conjuntos ativos (Ferreau et al., 2008) ou métodos
de operador de partição (Stathopoulos et al., 2016), as
Uma propriedade desejável em qualquer estratégia de con- aplicações de MPC estenderam-se a problemas da indús-
trole é a sua estabilidade em malha fechada. Com isso, tria automotiva, robótica, eletrônica de potência etc., onde
o ajuste dos parâmetros de sintonia do controlador so- as escalas de tempo estão na faixa de milissegundos ou
mente estará relacionado ao desempenho do sistema. Esta mesmo microssegundos (Beccuti et al., 2013; Besselmann
propriedade é de grande importância, visto que a insta- and Morari, 2009; Borelli et al., 2006). Tais aplicações
bilidade na prática pode ocasionar graves acidentes em são designadas comumente de MPC embarcado, em que
plantas industriais. Uma forma de garantir a estabilidade plataformas computacionais menores e mais baratas tem
nominal em controladores preditivos é a adoção de um sido o alvo preferencial (Jones et al., 2012). Essa tendência
horizonte de predição infinito (Rossiter, 2003), que pode impõe maiores limitações de memória e processamento,
seguir a abordagem por custo e restrições terminais (Muske logo exigem o uso de métodos de otimização eficientes e
and Rawlings, 1993) ou conjuntos terminais invariantes dedicados.
(Afonso and Galvão, 2012). Uma caracterı́stica comum às
diferentes abordagens é que o problema de otimização do Seguindo a abordagem de MPC embarcado, Lima et al.
MPC deve permanecer viável para a garantia de estabili- (2013b) propuseram um protótipo de baixo custo direci-
dade, o que nem sempre ocorre quando há conflito entre as onado a processos de pequeno e médio porte. O software
restrições impostas ao problema, que pode decorrer, por do controlador MPC foi desenvolvido em Python (Ziadé,
exemplo, de grandes variações nas referências, ou ainda, 2008), e a biblioteca de otimização convexa CVXOPT foi
utilizada para calcular as ações de controle. No entanto, Considerando-se um sistema com nu entradas e n y saı́das,
devido à natureza interpretada da linguagem Python, que o modelo em espaço de estados discreto utilizado na
geralmente leva mais tempo para executar um programa formulação do controlador é apresentado em (1) e (2).
do que implementações em linguagens como C ou C++, Este modelo está na forma incremental das entradas e
tal protótipo é aplicável somente a sistemas de dinâmica possui ação integral, responsável pela eliminação do erro
lenta. Em contrapartida, Lima et al. (2013a) implementa- em regime estacionário.
ram um MPC em tempo real aplicado a um helicóptero
de laboratório, que apresenta dinâmica rápida, utilizando
x s (k + 1)
¸· s
D0
· ¸ · ¸ · ¸
programação multiparamétrica. O cálculo da lei de con- I n y 0 x (k)
= + ∆u(k) (1)
trole demandou carga computacional moderada, com duas x d (k + 1) 0 F x d (k) Dd F N
ordens de grandeza menor que o perı́odo de amostragem
¤ x s (k)
· ¸
utilizado.
y(k) = I n y Ψ
£
d (2)
x (k)
Apesar dos avanços na literatura de MPC embarcado,
pouco é abordada a questão da estabilidade nominal e da onde
¤∆£ ¤T
factibilidade em aplicações de tempo real, que são aspec- x s = x 1s x 2s . . . x ns y , x s ∈ Rn y
£
(3)
tos de grande importância conforme citado anteriormente. correspondem aos estados integradores introduzidos pela
Jones et al. (2012) apresentam uma ferramenta de gera- forma incremental,
ção automática de código de otimização para problemas ¤∆h d iT
d
x d = x 1,1,1 . . . x ns y,nu,na ,
£
de MPC embarcado, nomeada de FORCES, fornecendo x 1,1,2
garantia de estabilidade e factibilidade em aplicações de
tempo real, em uma escala de tempo de milissegundos.
A garantia de estabilidade é alcançada através da cha- x s ∈ Cnd (4)
mada restrição Lyapunov, enquanto que a factibilidade correspondem aos estados estáveis do sistema,
da solução é garantida com uma técnica que utiliza a  0
d 1,1 ... 0
d 1,nu

solução subótima do instante de amostragem anterior. No ∆ . .. ..
D0 =   , D 0 ∈ Rn y×nu

entanto, uma solução inicial viável é exigida para garantir  .. . .  (5)
a factibilidade com a técnica proposta. d n0 y,1 0
. . . d nu,n y
Neste trabalho propõe-se uma implementação de um con- 
d 1,1,1

trolador preditivo de horizonte infinito (IHMPC) esten- 0 ... 0
dido, em que variáveis de folga são utilizadas para garantir ∆
 0 d 1,1,2 . . . 0 
Dd =  . . . ,

a factibilidade do problema de otimização. Ainda assim,  .. .. . .. .. 
as propriedades de uma função de Lyapunov são mantidas
0 0 . . . d n y,nu,na
no controlador, preservando a estabilidade nominal. Para
solucionar o problema de otimização online resultante, D d ∈ Cnd ×nd (6)
adota-se o método dos multiplidadores com direções alter-
nadas (ADMM, do inglês Alternating Direction Method of  r T 
Multipliers), pertencente à classe dos métodos de operador e 1,1,1 0 ... 0
de partição. O controle de um sistema eletromecânico 0 e r 1,1,2 T ... 0
 
∆ 
com perı́odo de amostragem na ordem de milissegundos F =
 .. .. .. .. ,
 . . . .

é simulado, mostrando que o ADMM calcula a ação de

controle até 12 vezes mais rápido que o solver quadprog 0 0 . . . e r n y,nu,na T
do MATLAB. Os resultados indicam que a configuração F ∈ Cnd ×nd (7)
proposta é viável de ser implementada em uma aplicação
de tempo real, para o controle de sistemas de dinâmica 
J1

rápida.
J 
∆ 2 
O artigo está organizado como segue. Na seção 2, N =  .  , N ∈ Rnd ×nu (8)
 .. 
apresenta-se a formulação do IHMPC estendido. Na se-
ção 3, o ADMM é apresentado e modelado para o pro- Jn y
blema de programação quadrática do IHMPC. Na seção  
4, os resultados de simulação são apresentados e discuti- 1 0 ... 0
. . .
dos, comparando-se o desempenho do controlador com o  .. .. . . ... 

ADMM e o solver quadprog do MATLAB. As conclusões
 
 1 0 . . . 0
são apresentadas na seção 5.
 
∆ . . . ..  nu·na×nu
Ji =  .
. . . . . . , J ∈ R (9)
2. LEI DE CONTROLE PREDITIVO  0 0 . . . 1
 
NOMINALMENTE ESTÁVEL  .. .. . . .. 
 
. . . .
0 0 ... 1
Nesta seção, o IHMPC proposto por Odloak (2004) é apre-
sentado, aplicável a sistemas lineares com polos estáveis. 
Φ ... 0

Este controlador apresenta propriedades estabilizantes e ∆. .
garantia de factibilidade, o que motivou sua escolha para Ψ =  .. . . . ..  , Ψ ∈ Rn y×nd (10)
a implementação proposta. 0 ... Φ
∆£ A restrição do problema (17) pode ser incorporada na
Φ = 1 1 . . . 1 , Φ ∈ Rnu·na
¤
(11)
função objetivo, utilizando para isso o Lagrangiano au-
Os coeficientes di0, j , did, j ,1 , ... , did, j ,na podem ser calculados a mentado:
ρ
partir da expansão em frações parciais e r i , j , r i , j ,1 , ... r i , j ,na L ρ (x, z, ψ) = f (x)+g (z)+ψT (Aa x+Ba z−c)+ ||Aa x+Ba z−c||22
2
são os polos (distintos) do sistema. (18)
A função custo do MPC de horizonte infinito para um onde ρ é chamado de parâmetro de penalidade. Este
sistema de tempo discreto, com garantia de factibilidade, penaliza a violação das restrições do problema, tornando-
pode ser escrita como: se um parâmetro de sintonia.
m
2
||y(k + j |k) − y sp − δ y,k ||Q + ||x d (k + m|k)||Q̄
2
X
Vk = O ADMM consiste, então, nas seguintes iterações:
j =0
m−1
(12)
||∆u(k + j |k)||2R + ||δ y,k ||2S xk+1 := argmin L ρ (xk , zk , ψk ) (19)
X
+
j =0
sujeito a
zk+1 := argmin L ρ (xk+1 , zk , ψk ) (20)
x s (k + m|k) − y sp − δ y,k = 0 (13)
∆u(k + j |k) ∈ U j = 0, ..., m − 1. (14)
ψk+1 := ψk + ρ(Aa xk+1 + Ba zk+1 − c) (21)
−∆u max ≤ ∆u(k + j |k) ≤ ∆u max


 ∆u(k + j |k) = 0, j ≥ m

Boyd et al. (2011) apresentam a prova de convergência do
U= j (15)
algoritmo ADMM, mostrando que as seguintes condições
∆u(k + i |k) ≤ u max
P
 u mi n ≤ u(k − 1) +


i =0 são satisfeitas:
• convergência residual: r k → 0 se k → ∞;
onde Q̄ ∈ Cnd ×nd é o peso associado ao custo terminal,
• convergência do objetivo: f (xk )+g (zk ) → p∗ se k → ∞,
obtido a partir da solução da equação discreta de Lya-
punov (16). A restrição terminal de igualdade (13) deve onde p∗ é o ponto ótimo primal;
• convergência da variável dual: ψk → ψ∗ se k → ∞,
ser imposta para anular o efeito dos estados integradores
artificiais criados pela forma incremental do modelo. Para onde ψ∗ é o ponto ótimo dual;
suavizar esta restrição, nota-se a presença da variável de assumindo f e g funções próprias, convexas e fechadas.
folga δ y,k , garantindo assim a factibilidade do controlador. Além disso, considera-se que o Lagrangiano associado tem
um ponto de sela e que o resı́duo é definido por:
Q̄ = ΨT QΨ + F T Q̄F (16)
rk = Aa xk+1 + Ba zk+1 − c (22)
3. MÉTODO DOS MULTIPLICADORES COM
DIREÇÕES ALTERNADAS 3.2 Formulação do ADMM para o IHMPC

A classe dos métodos de operador de partição (OSM) com- Como visto na seção 2, o IHMPC é formulado como um
preendem um amplo conjunto de esquemas conceituais, problema de programação quadrática, sujeito a restrições
que decompõem um problema de otimização em subpro- de igualdade e desigualdade. Portanto, para que o pro-
blemas mais simples, e os solucionam para encontrar a blema seja solucionado com o ADMM, deve-se reformular
solução global. Apesar de tais métodos tradicionalmente o problema de otimização para que atenda à forma padrão
serem aplicados a problemas de grande escala, avanços (17) exigida pelo método.
recentes os tornaram uma alternativa competitiva a outros
Considere o problema geral de programação quadrática da
algoritmos de otimização quando se trata de controle em-
forma:
barcado (Ferreau et al., 2017). Na classe do OSM, tem-se 1
o algoritmo ADMM, destacando-se por ser um algoritmo min xT Hx + CTf x + c (23)
x 2
simples, mas capaz de se adaptar a diversos problemas de
otimização convexa. Por isso, o ADMM tem sido utilizado sujeito a:
com frequência em aplicações de MPC (O’Donoghue et al., Aeq x = beq
2013; Peccin et al., 2018; Raghunathan and Cairano, 2014), Ain x ≤ bin
sendo escolhido neste trabalho para solucionar o problema
de otimização resultante do IHMPC. onde H é uma matriz simétrica positiva definida, x ∈ Rn ,
Aeq ∈ Rm×n , beq ∈ Rm , Ain ∈ Rp×n , bin ∈ Rp .
3.1 Formulação padrão
Um problema geral de programação quadrática pode ser
O algoritmo ADMM resolve problemas do tipo: reduzido sempre a uma forma padrão mediante à intro-
dução de variáveis de folga (z). Portanto, tem-se que o
min f (x) + g (z)
x, z
(17) problema (23) é equivalente a:
s.a. Aa x + Ba z = c 1 T
min x Hx + CTf x + c (24)
x 2
com x ∈ Rn , z ∈ Rm , Aa ∈ Rp×n , Ba ∈ Rp×m , c ∈ Rp e f e g
sendo funções convexas. sujeito a:
Aeq x − beq = 0 controlada é a velocidade de rotação (em rotações por
Ain x − bin + z = 0 minuto) do eixo do motor, enquanto a variável manipulada
z≥0 é a tensão aplicada. Para o acionamento do motor e lei-
tura do encoder, foi utilizado o microcontrolador Arduino
onde z ∈ Rp . Mega (Banzi, 2008), com perı́odo de amostragem de 16
milissegundos. Já na identificação do modelo matemático,
Para incorporar a restrição de desigualdade de (24) na utilizou-se o toolbox System Identification do MATLAB,
função objetivo, utiliza-se uma função indicadora para a partir de um conjunto de amostras com dados de ten-
aplicar uma penalidade infinita nas componentes negativas são e velocidade do sistema. Então, obteve-se a função
de z. Dessa maneira, obtém-se a forma padrão do ADMM, de transferência de tempo contı́nuo com um polo estável
possuindo somente restrições de igualdade: apresentada em (26), sendo esta o modelo que melhor se
ajustou aos dados experimentais.
min f (x) + I + (z) (25) 124.5
x,z G(s) = (26)
s + 13.71
sujeito a:
Ap x + Ĩz − Bp = 0 Para avaliar o desempenho do controlador proposto com o
ADMM, recorreu-se a simulações em MATLAB, realizando
onde uma comparação com o solver quadprog (utilizando o
1 método de ponto interior). O parâmetro de penalidade
f (x) = xT Hx + CTf x + c,
½2
(ρ ) do ADMM foi definido em 1 × 10−4 , as tolerâncias
0, se z ≥ 0 dos resı́duos de ambos os métodos definidas em 1 × 10−6
I + (z) = e o número máximo de iterações em 200. As restrições
∞, se z < 0,
associadas à entrada do sistema são definidas na tabela
Ap = [Aeq Ain ]T ,
1, contendo os limites máximo e mı́nimo do esforço de
Bp = [beq bin ]T , controle e do incremento das ações de controle, enquanto
Ĩ = [0m Ip ]T . os parâmetros de sintonia do controlador são apresentados
na tabela 2.
Para um problema na forma (25), as expressões (19) e (20) Tabela 1. Restrições da entrada do sistema.
possuem solução analı́tica, que podem ser consultadas em
(Peccin et al., 2018). Dessa maneira, chega-se ao algoritmo Variável manipulada Mı́n (volts) Máx (volts)
1 do ADMM para o problema do IHMPC, que está na Atuador 0 12
forma escalonada. Os parâmetros ∈pri e ∈dual representam 4Atudador -1 1
as tolerâncias dos resı́duos, que são definidas como critérios
ψ Tabela 2. Parâmetros de sintonia do controla-
de parada do algoritmo, enquanto φ = corresponde à dor.
ρ
variável dual escalonada. Variável Valor
Qy 100
Algorithm 1 ADMM para IHMPC Sy 100000
Entrada: H, CTf , Ap , Bp , x0 factı́vel R 1
m 5
Saı́da: x
Dados: ρ > 0, φ0 = 0, ∈pri > 0, ∈dual > 0, kmax
A primeira simulação realizada corresponde ao caso nomi-
1: H̃ = H + ATp ρ Ap ; nal, onde o modelo utilizado pelo controlador é o ideal,
-1 com os resultados ilustrados nas figuras de 1 a 5. O con-
2: armazena H̃ ;
0
3: z = −Ap x + Bp ; trolador apresenta desempenho satisfatório com ambos os
4: k ← 0; métodos de otimização, como é visto na figura 1, atingindo
5: while k < k max do regime permanente em 12 intervalos de amostragem e um
6: b̃ = CTf + ρ ATp (zk + φk − Bp ); sobressinal de aproximadamente 2,5%.
-1
7: xk+1 := −H̃ b̃; O esforço de controle é ilustrado na figura 2, mostrando
8: zk+1 := max(−Ap xk+1 + Bp − φk , 0); que a solução do problema de controle com ambos os méto-
9: φk+1 := φk + Ap xk+1 − Bp + zk+1 ; dos são muito semelhantes, fazendo com que os resultados
se sobreponham no gráfico. Mesmo havendo uma pequena
10: if ||Ap xk+1 − Bp + zk+1 || ≤ ∈pri and ||ρ ATp (zk+1 −
k
diferença, cada método possui sua precisão, e a restrição
z )|| ≤ ∈dual then da entrada foi respeitada com ambos os métodos, uma vez
11: return; que o esforço de controle não ultrapassou 12 volts.
12: end if
13: k = k + 1; Na figura 3 é apresentada a função custo (12) associada
ao controlador. Nota-se que esta é uma curva assintotica-
mente decrescente, caracterizando de fato uma função de
4. RESULTADOS Lyapunov. Já na figura 4, apresenta-se o comportamento
da variável de folga durante a simulação. Nota-se que seu
O sistema eletromecânico utilizado neste trabalho consis- uso é necessário durante as mudanças de referência, garan-
tiu de um motor de corrente contı́nua, cuja velocidade tindo assim a factibilidade do problema, além de preservar
é obtida através de um encoder incremental. A variável as propriedades estabilizantes do controlador. Em regime
Figura 1. Desempenho da saı́da controlada. Figura 4. Variável de folga.

Figura 2. Variável manipulada. Figura 5. Iterações por intervalo de amostragem.


Pode-se notar que o método de ponto interior da quadprog
apresenta carga computacional relativamente constante,
que é uma caracterı́stica já conhecida desse método. O
ADMM apresenta um número elevado de iterações durante
as mudanças de referência, atingindo o máximo definido
na simulação. No entanto, a medida em que o sistema se
aproxima do regime permanente o número de iterações
é reduzido. Mesmo com este comportamento, o ADMM
mostra vantagem sobre a quadprog, pois suas iterações
são muito mais rápidas, como pode ser visto nos dados da
tabela 3. Nota-se que em média o ADMM é aproximada-
mente 12 vezes mais rápido que a quadprog. Nos cálculos
da média e do desvio padrão, as primeiras cinco amostras
de tempo de ambos os métodos foram desconsideradas, por
conta do carregamento das variáveis na memória definidas
na simulação.
Figura 3. Função de custo. Tabela 3. Tempo por intervalo de amostragem.
estacionário a variável de folga converge para zero, uma vez Variável ADMM Quadprog
que a referência é atingida. É possı́vel perceber também Média 0.0011 s 0.0137 s
Desvio padrão 0.0017 s 0.0029 s
que a variável de folga é menos utilizada no ADMM, o
que pode ser explicado por este método já incluir variáveis
de folga em sua formulação, conforme a seção 3.2, o que Para testar a robustez do controlador, que diz respeito
suaviza ainda mais as restrições do problema. à sua capacidade de substituir qualquer efeito indesejado
quando ocorre uma incompatibilidade no modelo do pro-
Na figura 5 apresenta-se a quantidade de iterações por cesso, foi realizada uma simulação aplicando tal desasso-
intervalo de amostragem de cada método de otimização. ciação (mismatch) no modelo, empregando a função de
5. CONCLUSÃO

Neste trabalho o método dos multiplicadores com direções


alternadas foi avaliado para solucionar o problema de oti-
mização de uma lei de controle preditivo com garantia de
estabilidade e factibilidade. O controlador foi aplicado a
um sistema eletromecânico com perı́odo de amostragem
de 16 milissegundos. Tanto para o caso nominal quanto
para o caso de mismatch, o ADMM mostrou-se uma boa
opção para uma aplicação embarcada, já que apresenta
alta probabilidade de que seu tempo médio de execução
seja menor do que o perı́odo de amostragem do sistema.
Além disso, este método apresentou tempo de execução
aproximadamente 12 vezes mais rápido do que o solver
quadprog do MATLAB. Uma vez que a viabilidade de
implementação foi analisada sob simulação, os testes ex-
Figura 6. Desempenho da saı́da controlada com mismatch. perimentais com o sistema embarcado são propostos como
trabalho futuro, já estando em fase de execução. Além
120 disso, uma reformulação do ADMM para o IHMPC pode
transferência G(s) = no controlador. Neste caso, o ser explorada, a fim de reduzir o esforço computacional.
s + 12
filtro de Kalman (Welch and Bishop, 1995) foi usado para
estimar os estados do sistema antes da realimentação ao AGRADECIMENTOS
controlador, sintonizando-se os ganhos do observador em
Q kalman = I 2×2 e R kalman = 1. O desempenho obtido sob O presente trabalho foi realizado com apoio da Coorde-
este cenário é ilustrado na figura 6, percebendo-se que nação de Aperfeiçoamento de Pessoal de Nı́vel Superior -
há um leve aumento no sobressinal e nos instantes de Brasil (CAPES) - Código de Financiamento 001.
amostragem necessários para atingir regime permanente,
no entanto, um bom desempenho ainda é mantido. Nota-se
ainda que não há erro de regime permanente, em virtude REFERÊNCIAS
da formulação do controlador possuir ação integral. Já o Afonso, R. and Galvão, R. (2012). Uso de conjuntos
tempo médio por intervalo de amostragem para o cenário terminais parametrizados para tratamento de problemas
de mismatch é apresentado na tabela 4, onde percebe- de não-factibilidade em controle preditivo. Controle e
se que há um aumento na média de tempo do ADMM, Automação, 23(6), 653–666.
enquanto seu desvio padrão diminui, pois o número de Alessio, A. and Bemporad, A. (2009). A survey on explicit
iterações manteve-se elevado durante toda a simulação. model predictive control. Nonlinear model predictive
Na quadprog a média mantém-se inalterada, aumentando control, 345–369.
somente o desvio padrão. Banzi, M. (2008). Getting Started with Arduino. Make
Tabela 4. Tempo por intervalo de amostragem Books - Imprint of: O’Reilly Media, Sebastopol, CA.
(mismatch). Beccuti, A., Kvasnica, M., Papafotiou, G., and Morari, M.
(2013). A decentralized explicit predictive control para-
Variável ADMM Quadprog digm for parallelized dc-dc circuits. IEEE Transactions
Média 0.0045 s 0.0137 s on Control Systems Technology, 21(1), 136–148.
Desvio padrão 0.0001 s 0.0037 s Besselmann, T. and Morari, M. (2009). Autonomus vehi-
cle steering using explicit lpv-mpc. European control
Por fim, como a implementação proposta visa uma aplica- conference, 2628–2633.
ção embarcada, deve-se analisar a viabilidade de uso dos Borelli, F., Bemporad, A., Fodor, M., and Hrovat, D.
métodos de otimização com o perı́odo de amostragem do (2006). An mpc/hybrid system approach to traction
sistema, configurado em 16 milissegundos. Considerando control. IEEE Transactions on Control Systems Tech-
que a variável segue uma distribuição normal, tem-se que nology, 14(3), 541–552.
cerca de 49,85% dos valores estão contidos no intervalo Ferreau, H., Almér, S., Verschueren, R., Diehl, M., Frick,
definido pela média mais três desvios padrão. Aplicando D., Domahidi, A., Jerez, J., Stathopoulos, G., and
essa regra ao pior caso observado (mismatch), o ADMM Jones, C. (2017). Embedded optimization methods for
tem alta probabilidade em apresentar tempo de até 4,8 industrial automatic control. IFAC-PapersOnline, 50,
milissegundos para solucionar o problema de controle, mas 13194–13209.
esse tempo ainda é menor do que o perı́odo de amostragem Ferreau, H., Bock, H., and Diehl, M. (2008). An online
do sistema. Já a quadprog, considerando a mesma regra, active set strategy to over come the limitations of
tem uma alta probabilidade de apresentar tempo de até explicit mpc. International Journal of Robust and
24,8 milissegundos por intervalo de amostragem, o que Nonlinear Control, 18(8), 816–830.
inviabilizaria seu uso na aplicação de tempo real. Neste Jones, C., Domahidi, A., Morari, M., Richter, S., Ullman,
contexto, considerando que o desempenho do controlador F., and Zeilinger, M. (2012). Fast predictive control:
com ambos os métodos de otimização foi similar, o ADMM real-time computation and certification. In IFAC Non-
apresenta-se como a melhor solução para a aplicação em- linear Model Predictive Control Conference, volume 45,
barcada, devido ao seu tempo de execução mais rápido. 23–27.
Lima, D.D.S., Yoneyama, T., and Galvão, R.K.H. (2013a).
Controle preditivo explı́cito aplicado a um helicóptero
de laboratório. In Simpósio Brasileiro de Automação
Inteligente (SBAI).
Lima, D.M., da Costa, M.V.A., and Normey-Rico, J.E.
(2013b). A flexible low cost embedded system for
model predictive control of industrial processes. In 2013
European Control Conference (ECC), 1571–1576. doi:
10.23919/ECC.2013.6669339.
Muske, K. and Rawlings, J. (1993). Linear model predic-
tive control of unstable processes. Journal of Processes
Control, 3(2), 85–96.
Odloak, D. (2004). Extended robust model predictive
control. AIChE Journal, 50, 1824–1836.
O’Donoghue, B., Stathopoulos, G., and Boyd, S. (2013). A
splitting method for optimal control. IEEE Transactions
on Control Systems Technology, 21(6), 2432–2442.
Peccin, V., Lima, D., Flesch, C., and Normey-Rico, J.
(2018). Implementação de gpc e dmc para sistemas
rápidos usando admm. In Congresso Brasileiro de
Automática (CBA).
Raghunathan, A. and Cairano, S. (2014). Infeasibility
detection in alternating direction method of multipliers
for convex quadratic programs. 53rd IEEE Conference
on Decision and Control, 5819–5824.
Rossiter, J. (2003). Model-based predictive control: a
practical approach. CRC Press.
Stathopoulos, G., Shukla, H., Szucs, A., Pu, Y., and
Jones, C. (2016). Operator splitting methods in control.
Foundations and Trends(R) in Systems and Control,
3(3), 249–362. doi:10.1561/2600000008.
Wang, Y. and Boyd, S. (2010). Fast model predictive
control using online optimization. IEEE Transactions
on control systems technology, 18, 267–278.
Welch, G. and Bishop, G. (1995). An introduction to the
kalman filter.
Ziadé, T. (2008). Expert Python Programming. Packt
Publishing.

Você também pode gostar