Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.