Download - MODEL-REFERENCE ADAPTIVE SYSTEMS (MRAS)
Instituto Federal do Pará
Campus Belém
Professor: André Maurício Damasceno Ferreira
Graduação em Engenharia de Controle e Automação
Disciplina: Controle Adaptativo
Atividade Acadêmica de Controle Adaptativo:
Exemplos do Capítulo 5 do Livro Adaptive Control escrito por Karl J.
Astrom & Bjorn Wittenmark
Arthur Coelho Pereira
Jean Rafael Nonato Neves
Pedro Barata Piquia Junior
Renan Paraense Godinho
Belém – PA
2016
Instituto Federal de Educação, Ciência e Tecnologia do Pará
Campus Belém
Professor: André Maurício Damasceno Ferreira
Graduação em Engenharia de Controle e Automação
Disciplina: Controle Adaptativo
Turma: C310-8MM
Arthur Coelho Pereira
Jean Rafael Nonato Neves
Pedro Barata Piquia Junior
Renan Paraense Godinho
Matrícula:2011310003
Matrícula: 2011310033
Matrícula: 2010310025
Matrícula: 2009310028
Atividade Acadêmica de Controle Adaptativo:
Exemplos do Capítulo 5 do Livro AdaptiveControl escrito por Karl J.
Astrom e Bjorn Wittenmark
Atividade acadêmica desenvolvido
para a disciplina Controle
Adaptativo, do curso de Engenharia
de Controle e Automação, sob
orientação do professor André
Maurício Damasceno Ferreira
como parte integrante da nota
correspondente à 2ª Avaliação.
Belém – PA
2016
EXEMPLO 5.1 ADAPTAÇÃO DE UM GANHO FEEDFORWARD
Considere um sistema estável de uma entrada e uma saída (SISO)
𝑦(𝑡) = 𝑘𝐺(𝑝)(𝑢(𝑡))
onde
𝑦(𝑡) é a saída do sistema
𝐺(𝑝) é uma função de transferência conhecida e estável
𝑢(𝑡) é o sinal de entrada
𝑘 é um ganho constante desconhecido
o problema é encontrar o controlador 𝑢(𝑡) = 𝑇(𝑝)
𝑅(𝑝)𝑢𝑐 para seguir
𝑦𝑚(𝑡) = 𝐺𝑚(𝑝)(𝑢𝑐(𝑡)) = 𝑘0𝐺(𝑝)(𝑢𝑐(𝑡))
onde k0 é um ganho constante
se 𝑘 fosse conhecida poderíamos resolver o problema
𝑦(𝑡) = 𝑘𝐺(𝑝)(𝑢(𝑡)) → 𝑦𝑚(𝑡) = 𝑘0𝐺(𝑝)(𝑢𝑐(𝑡))
usando um simples controlador proporcional
𝑢(𝑡) = 𝜃𝑢𝑐(𝑡)
Isto , de fato, funciona porque se 𝜃 é escolhida como
𝜃 = 𝑘0𝑘
então
𝑦(𝑡) = 𝑘𝐺(𝑝)( 𝜃𝑢𝑐(𝑡)) = 𝑘𝐺(𝑝) (𝑘0𝑘𝑢𝑐(𝑡)) = 𝑦𝑚(𝑡)
agora devemos utilizar algum recurso para adaptar o valor de θ, vamos
considerar o erro entre a saída real e a saída simulada
𝑒(𝑡, 𝜃) = 𝑦(𝑡) − 𝑦𝑚(𝑡) = 𝑘𝐺(𝑝)( 𝜃(𝑡)𝑢𝑐(𝑡)) – 𝑘0𝐺(𝑝)(𝑢𝑐(𝑡))
vamos atualizar 𝜃(𝑡) de um jeito que 𝑒(𝑡, 𝜃) fique mínimo, vamos considerar a
função custo que mede o valor de 𝑒(𝑡, 𝜃)
𝐽(𝑡, 𝜃) = |𝑒(𝑡, 𝜃)|²
Sua derivada em função do tempo é dada pela regra da cadeia
𝑑𝐽
𝑑𝑡 =
𝑑𝐽
𝑑𝑡 +
𝑑𝐽
𝑑𝜃
𝑑𝜃
𝑑𝑡
Sua derivada deveria ser negativa
𝑑𝐽
𝑑𝑡 = . . . +
𝑑𝐽
𝑑𝜃 𝑑𝜃
𝑑𝑡 →
𝑑𝜃
𝑑𝑡 = -γ[
𝑑𝐽
𝑑𝜃]
𝑑𝐽
𝑑𝑡 = . . . + 2𝑒
𝑑𝑒
𝑑𝜃 𝑑𝜃
𝑑𝑡 →
𝑑𝜃
𝑑𝑡 = -γ[2𝑒
𝑑𝑒
𝑑𝜃]
Calculando a derivada parcial do erro em função de 𝜃 temos
𝑑𝑒
𝑑𝜃=
𝑑
𝑑𝜃[𝑘𝐺(𝑝)(θ(t)uc(t)] = 𝑘𝐺(𝑝)(𝑢𝑐(𝑡)) =
𝑘
𝑘0𝑘0𝐺(𝑝)(𝑢𝑐(𝑡)) =
𝑘
𝑘0𝑦𝑚(𝑡)
Então a lei de atualização para θ se torna
𝑑𝜃
𝑑𝑡= −γ [2𝑒
𝑑𝑒𝑑𝜃] = −𝛾𝑛𝑦𝑚(𝑡)𝑒(𝑡, θ)
Onde 𝛾𝑛 > 0, é arbitrário desde que 𝛾𝑛 = 𝛾𝑘
𝑘0 com um valor arbitrário de 𝛾 > 0
Lembrando que: 𝐽(・) = |𝑒(・)| → 𝑑𝜃
𝑑𝑡 = − 𝛾𝑛𝑦𝑚(𝑡). 𝑠𝑖𝑔𝑛[𝑒(𝑡, 𝜃)].
A função de transferência utilizado no exemplo é:
𝐺(𝑠) = 1
𝑠 + 1
E
𝑘 = 1, 𝑘0 = 2
A lei de atualização para θ
𝑑𝜃
𝑑𝑡 = -γ[2𝑒
𝑑𝑒
𝑑𝜃] = −𝛾𝑛𝑦𝑚(𝑡)𝑒(𝑡, 𝜃)
Foi feita simulações com os valores de gamma
𝛾 = 0.5, 1, 2
o sinal de entrada é igual 𝑢𝑐 = 𝑠𝑒𝑛(𝑡)
Figura 1: diagrama de blocos do MRAS do exemplo 1
Fonte: Autores
Figura 2: comportamento de y e ym para gama = 0.5
Fonte: Autores
Figura 3: comportamento de 𝑦 e 𝑦𝑚 para gama = 1
Fonte: Autores
Figura 4: comportamento de y e ym para gama = 2
Fonte: Autores
Figura 5: parâmetros do controlador quando o ganho adaptativo 𝛾 = 0.5; 1; 2
Fonte: Autores
EXEMPLO 5.2 MRAS PARA UM SISTEMA DE PRIMEIRA ORDEM
Suponha que a dinâmica do sistema é
𝑑𝑦
𝑑𝑡 = −𝑎𝑦 + 𝑏𝑢, 𝑦 =
𝑏
𝑝+𝑎𝑢
Enquanto a dinâmica desejada para o sistema em malha fechada é
𝑑
𝑑𝑡𝑦𝑚 = −𝑎𝑚 𝑦𝑚 + 𝑏𝑚𝑢𝑐 → 𝑦𝑚 =
𝑏𝑚
𝑝 + 𝑎𝑚𝑢𝑐
O controlador proporcional que resolve esse problema é dado por
𝑢(𝑡) = 𝑇(𝑝)
𝑅(𝑝)𝑢𝑐(𝑡) −
𝑆(𝑝)
𝑅(𝑝)𝑦(𝑡) = 𝜃1𝑢𝑐(𝑡) – 𝜃2𝑦(𝑡)
onde os ganhos para garantir a resposta do sistema desejado são
𝜃1 = 𝜃10 =
𝑏𝑚
𝑏, 𝜃 2 = 𝜃2
0 = 𝑎𝑚−𝑎
𝑏
introduzindo o sinal do erro
𝑒(𝑡) = 𝑦(𝑡) – 𝑦𝑚(𝑡) = 𝑏𝜃1
𝑝 + 𝑎 + 𝑏𝜃2𝑢𝑐(𝑡) −
𝑏𝜃1𝑝 + 𝑎 + 𝑏𝜃2
calculando a derivada parcial do erro em função de 𝜃1 e 𝜃2, temos
𝜕𝑒
𝜕θ1 =
𝑏
𝑝+𝑎+𝑏θ2𝑢𝑐(𝑡)
𝜕𝑒
𝜕θ2 = −
𝑏θ1b
(𝑝+𝑎+𝑏θ2)²𝑢𝑐(𝑡)=
−𝑏
𝑝+𝑎+𝑏θ2y(t)
Ambas as fórmulas podem ser não usadas para atualizar os valores de 𝜃1 e
𝜃2, entretanto as constantes 𝑎 e 𝑏 não são conhecidas, nada pode ser feito,
então assumiremos que podemos inicializar o valor de 𝜃2 arredondando o seu
valor nominal
𝜃2 ≈ 𝜃20 =
𝑎𝑚−𝑎
𝑏 → (𝑎 + 𝑏𝜃2) ≈ 𝑎𝑚
𝑑
𝑑𝑡𝜃2 ≈ −𝛾𝑛𝑒(𝑡) [
𝑎𝑚
𝑠+𝑎𝑚 𝑢𝑐(𝑡)]
𝑑
𝑑𝑡𝜃2 ≈ −𝛾𝑛𝑒(𝑡) [
𝑎𝑚
𝑠+𝑎𝑚 𝑦(𝑡)]
Onde
𝛾𝑛 = 𝛾𝑏
𝑎𝑚
Figura 6: diagrama de blocos de um controlador modelo-referência para um processo de primeira
ordem
Fonte: Autores
Figura 7: comportamento de 𝑦𝑚, 𝑦 e u para 𝑔𝑎𝑚𝑎 = 0.2
Fonte: Autores
Figura 8: comportamento de 𝑦𝑚, 𝑦 e u para gama = 1
Fonte: Autores
Figura 9: comportamento de 𝑦𝑚, 𝑦 e u para gama = 5
Fonte: Autores
Figura 10: parâmetros dos tetas 1 e 2 para gama = 0.2, 1, 5
Fonte: Autores
EXEMPLO 5.3 FALHA NA CONVERGÊNCIA DOS PARÂMETROS
Considere o sistema estático com um ganho desconhecido 𝑘:
𝑦(𝑡) = 𝑘𝑢(𝑡), 𝐺(𝑠) = 1
e o problema de amplificar o sinal uc(t) foi escolhido
𝑦𝑚(𝑡) = 𝑘0𝑢𝑐(𝑡)
com 𝑢(𝑡) = 𝜃𝑢𝑐(𝑡) introduzimos o erro
𝑒(𝑡) = 𝑦(𝑡) – 𝑦𝑚(𝑡) = 𝑘(𝜃𝑢𝑚(𝑡)) – 𝑘0𝑢𝑐(𝑡) = 𝑘(𝜃 – 𝜃0)𝑢𝑐(𝑡)
com 𝜃0 = 𝑘0/𝑘
𝑑
𝑑𝑡 𝜃(𝑡) = −𝛾𝑘²(𝑢𝑐(𝑡))²( 𝜃(𝑡) − 𝜃0)
𝑑
𝑑𝑡 (𝜃(𝑡) − 𝜃0)= −𝛾𝑛𝑘(𝑢𝑐(𝑡))²( 𝜃(𝑡) − 𝜃0)
( 𝜃(𝑡) − 𝜃0) = 𝑒𝑥𝑝 {−𝛾𝑛𝑘∫(𝑢𝑐(𝑡))²𝑑𝑡
𝑡
0
} ( 𝜃(0) − 𝜃0)
𝑒(𝑡) = 𝑘 exp {−𝛾𝑛𝑘 ∫ (uc(t))2dt
t
0} ( 𝜃(0) − 𝜃0)⏟
𝜃(𝑡) − 𝜃0
u(t)
para o sistema e o modelo dado por
𝑦(𝑡) = 𝑘𝑢(𝑡), 𝑦𝑚(𝑡) = 𝑘0𝑢𝑐(𝑡)
defini-se 𝑒(𝑡) = 𝑦(𝑡) – 𝑦𝑚(𝑡) e obtemos
𝑢(𝑡) = 𝜃(𝑡)𝑢𝑐(𝑡), 𝑑
𝑑𝑡 𝜃(𝑡) = −𝛾𝑛𝑢𝑐(𝑡)𝑒(𝑡)
como resultado obtemos
𝜃(𝑡) = 𝜃0 + 𝜎(𝑡) , 𝑒(𝑡) = 𝑘 𝜎(𝑡)𝑢𝑐(𝑡)
𝜎(𝑡) = 𝑒𝑥𝑝{−𝛾𝑛 𝑘2𝐼𝑡}( 𝜃(0) − 𝜃0), 𝐼𝑡 = ∫ (𝑢𝑐(𝜏))
2𝑑𝜏
𝑡
0
se 𝜃(0) ≠ 𝜃0 o erro sempre irá convergir para zero quando 𝑡 ⟶ ∞, porque a
integral 𝐼𝑡 diverge ou 𝑢𝑐(𝑡) ⟶ 0. Os valores limites do parâmetro 𝜃 dependem
das propriedades do sinal de entrada. É comum o erro tornar-se nulo sem que
os parâmetros convirjam para seus corretos valores, uma característica de todo
sistema adaptativo. Além disso, o sinal de entrada deve apresentar
determinadas propriedades para que ocorra a convergência desses
parâmetros, ou seja, o sinal de entrada do processo deve ser persistentemente
excitante.
𝑒𝑥𝑝{−𝛾𝑛 𝑘 𝐼𝑡} → 0 ou 𝑢𝑐 → 0 ou It = ∫ (uc(t))2dt
t
0 → ∞
Figura 11: diagrama de blocos do exemplo 5.3
Fonte: Autores
Figura 12: comportamento de erro e convergência dos parâmetros
Fonte: Autores
Podemos perceber que neste exemplo proposto, os parâmetros tiveram suas
convergências completadas, isso se deve ao fato da amplitude do sinal de
entrada ser pequeno.
EXEMPLO 5.4 ESCOLHA DO GANHO DE ADAPTAÇÃO
Reaproveitando a função do exemplo 5.1
𝐺(𝑠) = 1
𝑠+1, 𝑘 = 1, 𝑘0 = 2
A equação característica é
𝑠 + 𝜇1
𝑠 + 1 = 0 ↔ 𝑠² + 𝑠 + 𝜇 = 0
tem um zero estável se e somente se:
𝜇 = 𝛾𝑘𝑦𝑚0𝑢0𝑐 = 𝛾(𝑘0𝐺(0)𝑢0 𝑐)𝑢0𝑐 = 2𝛾(𝑢0𝑐)² > 0
então γ > 0 funcionará, perceba, entretanto, que o transitório depende de 𝑢𝑐0
o amortecimento relativo é ζ ≈ 1
2√𝜇 =
1
2√2γ (𝑢𝑐
0)-1
μ ≈ 1 é razoável ← sendo γ ≈ 0.5 para 𝑢𝑐0
≈ 1 em média
Seguindo a equação 5.13 do livro, o sistema adaptativo será instável se a
função de transferência G(s) tiver um pólo em excesso maior que 1 e o
parâmetro μ na equação 5.14 for suficientemente grande. O parâmetro μ é
grande se os sinais forem grandes ou se o ganho de adaptação for grande. O
comportamento do sistema depende drasticamente do nível do sinal.
Figura 13: diagrama de blocos do exemplo 5.4
Fonte: Autores
Figura 14: comportamento de 𝑦, 𝑦𝑚 e θ para um sinal de entrada uc = 1
Fonte: Autores
Figura 15: comportamento de 𝑦, 𝑦𝑚 e 𝜃 para um sinal de entrada 𝑢𝑐 = 2
Fonte: Autores
Figura 16: comportamento de 𝑦, 𝑦𝑚 e 𝜃 para um sinal de entrada 𝑢𝑐 = 5
Fonte: Autores
EXEMPLO 5.5 ESTABILIDADE DEPENDENDO DA AMPLITUDE DO SINAL
Considere o sistema estável com grau relativo = 2
𝐺(𝑠) = 1
𝑠² + 𝑎1𝑠 + 𝑎2; 𝑎1 > 0, 𝑎2 > 0
A equação característica
𝑠 + 𝜇1
𝑠² + 𝑎1𝑠 + 𝑎2 = 0 ↔ 𝑠³ + 𝑎1𝑠² + 𝑎2𝑠 + 𝜇 = 0
tem zeros estáveis se e somente se
𝜇 > 0 e 𝑎1 𝑎2 > 𝜇 = 𝛾𝑘𝑦𝑚0𝑢0𝑐
com qualquer escolha de 𝛾 > 0, a estabilidade é perdida para magnitudes
suficientemente grandes do sinal de referencia 𝑢𝑐0. Nesta simulação foi inserido
um valor para 𝜇 = 0.0001, obedecendo a condição acima.
Figura 17: diagrama de blocos do exemplo 5.5
Fonte: Autores
Figura 18: comportamento de 𝑦, 𝑦𝑚 e teta para 𝑢𝑐 = 0.1
Fonte: Autores
Figura 19: comportamento de 𝑦, 𝑦𝑚 e teta para 𝑢𝑐 = 1
Fonte: Autores
Figura 20: comportamento de 𝑦, 𝑦𝑚 e teta para 𝑢𝑐 = 1
Fonte: Autores
A Figura acima mostra claramente que a convergência da saída depende da
amplitude do sinal de entrada, sendo muito lenta quando a amplitude é baixa
ou se tornando instável quando ela é relativamente alta. Para se resolver este
problema a regra MIT foi alterada para não ser mais dependente da amplitude
do sinal de entrada.
Reescrevendo-se a Regra MIT, tem-se:
𝑑𝜃
𝑑𝑡= 𝛾𝜑𝑒
Onde 𝜑 = −𝜕𝑒 𝜕𝜃⁄ . Introduz-se então, a seguinte regra de ajuste denominada
Regra MIT Normalizada, onde a equação abaixo é a derivada de sensibilidade
𝑑𝜃
𝑑𝑡=
𝛾𝜑𝑒
𝛼 + 𝜑𝑇𝜑
onde 𝛼 > 0 para evitar problemas quando 𝜑 for pequeno.
Desta forma, a estabilidade passa a ser avaliada pela equação:
𝑠 + 𝛾𝜑𝑜𝑢𝑐
𝑜
𝛼 + 𝜑𝑇𝜑𝑘𝐺(𝑠) = 0
Obs: de acordo com o livro 𝜑 = −𝜕𝑒 𝜕𝜃⁄ , onde: 𝜕𝑒 𝜕𝜃 = ⁄ k/k0𝑦𝑚, como neste
exemplo k = k0 = 1, para simulação foi considerado −𝜕𝑒 𝜕𝜃⁄ = 𝑦𝑚
Como 𝜑𝑜 é proporcional a 𝑢𝑐𝑜, a raiz da equação acima não irá sofrer grandes
alterações com a variação da amplitude do sinal.
Os gráficos da Figura 5 foram gerados com as mesmas condições que os
gráficos da Figura 4, ou seja, 𝑘 = 𝑎1 = 𝑎2 = 1 e 𝛾 = 0,1, neste caso temos o
acréscimo do parâmetro 𝑎 = 0.001. Isto deixa claro que a regra MIT
normalizada obtém respostas bem mais satisfatórias a qualquer que seja a
amplitude do sinal de entrada, do que a regra MIT convencional.
Figura 21: Diagrama de blocos do exemplo 5.5 para regra MIT normalizada
Fonte: Autores
Figura 22: comportamento de 𝑦, 𝑦𝑚 e teta para 𝑢𝑐 = 0.1
Fonte: Autores
Figura 23: comportamento de 𝑦, 𝑦𝑚 e teta para uc = 1
Fonte: Autores
Figura 24: comportamento de 𝑦, 𝑦𝑚 e teta para uc = 3.5
Fonte: Autores