1 7. Controlo Adaptativo Objectivo: Mostrar como é possível integrar os blocos anteriormente estudados de identificação de sistemas e projecto de controladores para obter controladores adaptativos.
2 Motivação para o Controlo Adaptativo Há situações em que a dinâmica do sistema a controlar se pode alterar ao longo do tempo. Isto pode ser devido, por exemplo, à existência de não linearidades nos actuadores ou no próprio sistema. Neste caso, a dinâmica linearizada vai variar com o ponto de trabalho (por exemplo com a velocidade de equilíbrio). Pode ainda acontecer que a dinâmica varie devido a factores como o envelhecimento ou alterações do ambiente. Nesta situação, a afinação do controlador adequada a um ponto de trabalho pode não o ser para outro.
3 Um exemplo R + - Controlador PI Actuador Sistema u K(1+ Ti s ) f(.) G(s) e 1 y = = + = = Nestas circunstâncias, a resposta do sistema controlado depende do ponto de funcionamento. Um controlador bem afinado para um ponto de funcionamento pode não estar bem afinado para outro.
4 As figuras seguintes mostram a resposta a um escalão na referência de amplitude 0.1, para diversos pontos de funcionamento, com um PI sintonizado em torno de r=0.2. 0.4 3.3 5.3 0.35 0.3 3.25 3.2 3.15 5.25 5.2 5.15 0.25 3.1 5.1 0.2 0.15 3.05 3 2.95 5.05 5 4.95 0.1 0 10 20 30 40 50 60 70 80 90 100 2.9 0 10 20 30 40 50 60 70 80 90 100 4.9 0 10 20 30 40 50 60 70 80 90 100
5 Exemplo de variação da dinâmica num avião Num avião a dinâmica linearizada altera-se com as condições de voo. A figura mostra a dependência dos valores próprios do sistema com a velocidade de equilíbrio Extraída de Neves da Silva, R. (1994). Controlo de Aeronave não tripulada usando técnicas LQG/LTR de ganho variável Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores.
6 Devido à variação da dinâmica com as condições de voo, utilizando um controlador de ganhos fixos, pode ter-se um bom comportamento numa gama de funcionamento e um mau funcionamento noutras zonas. Exemplo do controlo do ângulo de pitch com um controlador fixo quando a velocidade aumenta progressivamente:.extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores
7 Uma possibilidade consiste em adaptar os ganhos para compensar alterações da dinâmica devidas a variações da velocidade. Para tal, podem usar-se várias estruturas. Uma possibilidade é: Adaptador Ajuste dos ganhos do controlador Controlador u y
8 O bloco Adaptador por ser obtido de vários modos: Tabela que altera os ganhos do controlador de um modo fixo, para cada valor de velocidade. Esta técnica denomina-se gain-scheduling. Identificação da dinâmica com o método dos mínimos quadrados, refazendo-se o cálculo dos ganhos repetidamente, em tempo real. Esta técnica denomina-se Controlo Adaptativo.
9 "Gain-scheduling" φ(v) O valor da variável manipulada em Controlador V baixo x V φ(v) cada instante resulta resulta da combinação linear das variáveis calculadas pelos vários u Controlador V médio x V + u controladores. Por exemplo, a velocidades baixas, o φ(v) controlador respectivo é multiplicado Controlador V alto x V por um peso próximo de 1 enquanto o controlador de velocidades altas é multiplicado por zero.
10 Controlo Adaptativo vs. "Gain Scheduling" A solução do controlo de sistemas variáveis no tempo por "gain scheduling" é útil em muitas situações mas levanta problemas quando: Não é possível conhecer a priori qual o controlador a utilizar numa dada situação; É necessário recorrer a um número muito elevado de controladores. Uma possibilidade, que se estuda neste curso é o Controlo adaptativo.
11 Controlo Adaptativo Numa das famílias de Controlo Adaptativo, o Adaptador é constituído por dois blocos: Identificador, que estima continuamente os parâmetros (e. g. a posição dos pólos, dos zeros e o ganho) de um modelo, a partir dos dados de entrada e saída medidos. Projecto do Controlador, que recalcula continuamente os ganhos do controlador tendo em conta as novas estimativas do modelo. Deste modo, quando a dinâmica do sistema se altera, o identificador dá conta desse facto e os ganhos do controlador são alterados para fazer face à nova situação.
12 No caso do exemplo do controlo do ângulo de pitch, é possível, recorrendo ao Controlo Adaptativo, obter uma resposta com características razoavelmente constantes quando a velocidade varia de 10 a 40 m/s: Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores
13 Isto é possível graças ao ajuste dos ganhos do controlador efectuado pelo adaptador: Extraído de Rato, L. M. (1994). Técnicas de Controlo Adaptativo aplicadas a uma aeronave não tripulada Tese de Mestrado, IST - Departamento de Engenharia Electrotécnica e de Computadores. O adaptador actualiza constantemente o modelo melhor ajustado aos dados e recalcula os ganhos do controlador de acordo com esta estimativa do modelo.
14 Estimador de Mínimos Quadrados Recursivo RLS Recusrsive Least Squares Objectivo: Obter estimativas de mínimos quadrados combinando uma estimativa anterior com novos dados, aproveitando cálculos já efectuados anteriormente. Estimativa anterior θ e variáveis auxiliares RLS Novos dados ϕ Nova estimativa θ e variáveis auxiliares
15 Estimador não recursivo dadas observações: θ Pode ser escrita como (mostre!): θ ( Φ Φ) = Φ = Λ ϕ = em que a matriz de informação é dada por Λ = ϕ ϕ =
16 Matriz de informação verifica Λ = Λ + ϕ ϕ (1) Tem-se ainda θ = Λ ϕ = (2) e Λ θ = ϕ = (3) Pretende-se escrever θ em função de θ, de Λ, de e de ϕ Sugestão: Isolar o último termo do somatório em (2). Escrever (3) para ; Usar (1);
17 θ = Λ ϕ = θ = Λ ϕ + ϕ = Λ θ = ϕ = [ Λ ] θ = Λ θ + ϕ
18 [ Λ ] θ = Λ θ + ϕ Λ = Λ ϕ ϕ Assim: [ Λ ] θ = Λ θ ϕ ϕ θ + ϕ [ ] θ θ = + Λ ϕ ϕ θ
19 As equações do estimador recursivo são: [ ] θ θ = + Λ ϕ ϕ θ Nova estimativa Estimativa anterior Ganho vectorial Diferença entre o que esperamos que seja y(t) dada a estimativa e o que observamos Λ = Λ + ϕ ϕ É necessário inverter uma matriz em cada iteração!
20 Será que podemos alterar o algoritmo para evitar inversão de matrizes? [ ] θ θ = + Λ ϕ ϕ θ Λ = Λ + ϕ ϕ Se trabalharmos com a matriz de covariância as equações ficam: [ ] θ = θ + ϕ ϕ θ = Λ + [ ϕ ϕ ]
21 Aplique-se este lema a com Obtém-se: Lema de inversão de matrizes [ + ] = [ + ] [ ϕ ϕ ] = Λ + = Λ =, = ϕ, =, [ ] = ϕ = ϕ ϕ + ϕ Escalar
22 Modelo: Estimador: Algoritmo de Mínimos Quadrados Recursivo (RLS) = ϕ θ + [ ] θ = θ + θ ϕ = ϕ ("Ganho de Kalman") = ϕ ϕ + ϕ ϕ "Equação de Riccati"
23 Alternativamente, o ganho de Kalman e a equação de Riccati podem ser escritos como (demonstre!): = ϕ + ϕ ϕ [ ] = ϕ Esta forma é vantajosa porque permite adaptar a estimativa dos parâmetros antes de adaptar a estimativa da matriz de covariância.
24 Exemplo: Estimação recursiva de um parâmetro 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 Ganho de Kalman Ganho fixo=0.03 Ganho fixo=0.5 = ϕ θ + θ = Ganho do estimador: Alto leva a convergência rápida mas a grande variância das estimativas em regime estacionário. Baixo leva a convergência lenta. O ganho de Kalman é alto no início e baixo no fim, variando no tempo. 0 0 20 40 60 80 100 120 140 160 180 200
25 Programa MATLAB usado no exemplo thrls=0; thsm=0; thbig=0; p=10; theta0=2; tfinal=200; for t=1:tfinal pp(t)=p; fi=1+0.1*rand; y=theta0*fi+0.2*randn; p=p-p*fi*fi*p/(1+fi*p*fi); kalm=p*fi; thrls=thrls+kalm*(y-thrls*fi); thsm=thsm+0.03*(y-thsm*fi); thbig=thbig+0.5*(y-thbig*fi); sth(t,1)=thrls; sth(t,2)=thsm; sth(t,3)=thbig; end; axis([0 tfinal 0 5]) hold on plot(sth) hold off
26 Este exemplo ilustra a convergência dos mínimos quadrados recursivos. Inicialmente, como a nossa incerteza sobre o valor verdadeiro do parâmetro a estimar é grande, escolhemos um valor elevado para a covariância. Neste caso, =. O ganho de Kalman é elevado inicialmente pelo que a convergência é rápida. Há medida que o tempo passa e vamos recebendo dados, diminui e o ganho de Kalman também. Isto leva à convergência da estimativa pois o termo de correcção fica progressivamente menor. 10 1 10 0 10-1 10-2 10-3 0 20 40 60 80 100 120 140 160 180 200
27 O estimador pode ser encarado como um mecanismo que reduz a nossa incerteza sobre o valor verdadeiro do parâmetro através das observações. A incerteza é medida por uma função densidade de probabilidade do erro na estimativa. Neste exemplo esta incerteza é gaussiana e com variância proporcional a. 6 5 4 3 2 1 Parameter probability density given 200 observations Initial parameter probability density function 0 0 0.5 1 1.5 2 2.5 3 3.5 4
28 Um exemplo com parâmetros não identificáveis = + + Apenas a soma pode ser estimada 5 4 3 2 Densidade de probabilidade dos parâmetros 1 0-1 -2-3 -4-5 -5-4 -3-2 -1 0 1 2 3 4 5 Aumentando o número de observações, reduz-se a incerteza da soma mas mantém-se a incerteza na direcção perpendicular (assume-se constante).