Como é do conhecimento de todos, o estado de um sistema contém todas as informações sobre o comportamento dinâmico do sistema.
Ou seja, se conhecermos x(0) (tempo inicial
arbitrário), conhecemos a evolução do sistema ,
supondo-se, é claro, que se conheçam A, B, C e u(t)
.
Por isto mesmo a realimentação de estado é uma "arma" muito poderosa, pois, por meio dela, podemos posicionar arbitrariamente todos os pólos do sistema.
Acontece que em inúmeros problemas
reais (pense-se, por exemplo, no caso de um reator de energia nuclear,
com altas temperaturas internas) o estado não é accessível
para medida e, consequentemente, não pode ser realimentado. Que
fazer nestes casos? Uma solução é usar realimentação
dinâmica, i.e., realimentar-se a resposta, não através
de um ganho puro ( K mxp),
mas através de um compensador dinâmico ( C
mxp
(s)). Já estudamos bastante este problema no caso escalar. O estudo
deste problema para o caso multivariável, através de matriz
de transferência, é deixado para o curso de P.G.
A outra solução é,
como veremos neste capítulo, estimar (ou "observar") o estado, i.e.
obter xe(t) tal que xe(t)
x(t) quando
e, em seguida, realimentar (por meio de ganho puro K
mxn
) o estado estimado xe(t).
Veremos que, assim, podemos obter também posicionamento arbitrário dos pólos do sistema.
Acontece que, como veremos também logo a seguir, esta "outra" solução não é bem outra, porque acontece que para estimar o estado usamos também, na realidade, um compensador dinâmico, que é chamado "observador" (ou "observador de Luenberger" ou "estimador de estado").
Seja então o sistema
y = C.x |
(1) |
com as dimensões usuais.
Suponha-se que se queira conhecer o estado
x(t) ,
não se tendo acesso ao mesmo para medida direta. Temos porém
acesso à resposta y(t).
1) Uma maneira óbvia de resolver
este problema é construir um modelo
= A.x + B.u, que chamaremos de (Am,Bm) e submetê-lo
ao mesmo controle u(t),
,
e condição inicial x(0).
|
É claro que se xe(0)
= x(0), Am = A, Bm = B, teremos
xe(t) = x(t) |
Note-se que o modelo do sistema não precisa ter o mesmo "hardware" do sistema (1).
Um simulador (programa de computador) é suficiente, bastando que as equações matemáticas sejam as mesmas.
Mas esta solução tem um grave
inconveniente: ela é em "malha aberta", ou seja se houver qualquer
erro de implementação i.e. xe(t)
x(t) e/ou os parâmetros de (1) forem perturbados, poderá haver
uma grande diferença (se, por exemplo, x(t) for não-limitado)
entre x(t) e xe(t).
Suponha-se doravante que o sistema (1) é observável.
2) Uma segunda maneira de resolver este problema (da observação de estado) é a seguinte.
De (1) vem
Ou seja, de (1) e das equações acima, vem
Ora, sendo u e y mensuráveis, podemos
obter, através de diferenciadores .
Da equação vetorial correspondente podemos tomar n equações diferenciais L.I.: com efeito, sendo (1) observável por hipótese, a matriz que multiplica x, que é a matriz de observabilidade, tem posto cheio. Então, tomando estas n equações escalares L.I. temos
y(t) = O.x(t) +u(t)
onde y(t), O e u(t) são definidos pelas n equações diferemciais L.I..
A grande dificuldade prática nesta solução da estimação do estado é que ela exige a diferenciação de u(t) e y(t). Ora, sabemos que se deve evitar o uso de derivadores num sistema, porque eles amplificam ruídos, sinais parasitas e sinais exógenos em geral.
3) Uma 3a solução para o problema da estimação de estado utiliza o Corol. 5 .
Supondo u(t) = 0, então x(0) pode ser determinado pela expressão
São 2 as desvantagens deste método:
a) supõe u(t) = 0
b) só permite calcular x(0). Se quisermos calcular, por exemplo x(t1), temos que calcular W0(t1,T) e depois a integral acima entre t1 e T. Ou por outras palavras, a solução é "off-line".
Estamos pois interessados em uma solução para o problema da estimação de estado que não tenha os quatro inconvenientes principais acima, ou seja, que tenha as seguintes características
i) não use diferenciadores
ii) não seja preciso conhecer o estado inicial x(0) da planta
iii) seja "on-line"
iv) Sistema possa estar submetido a u(t)
A solução do problema satisfazendo as 4 condições é dada pelo famoso observador de Luenberger, que passamos a estudar.
Como dispomos, para medida, de u e y,
seja
(2) |
onde xe é o estado estimado
de (1) e M, L e N ainda devem ser determinados
(2') |
Subtraindo
= A.x + B.u da equação acima, vem
e
-
= M.xe - (A
+ L.C).x + (N - B).u
Ora, queremos que [ xe(t) -
x(t) ] 0 quanto
Então escolhemos primeiramente
N = B | (3) |
Em seguida, escolhemos
M = A + LC | (4) |
(5)
|
A seguir escolhemos L tal que
(6) |
Isto é sempre possível, se
(1) for observável. Com efeito,
Ora, (1) é observável se só se o posto de PoT for cheio, onde
Ou seja, (A, C) é observável se só se (AT, CT) for controlável.
Mas (AT,CT) é
controlável se só se LT
t.q.
(AT + CT.LT)
pode ser arbitrariamente escolhido.
Então, o observador de Luenberger
é dado por (2) com (3), (4) e (6), i.e.
(7) |
onde L é t.q. (6) seja satisfeito
Então o diagrama de blocos no domínio
do tempo para o SMF (sistema (1) e observador (7)) é:
|
Se L é escolhido t.q. (6) seja satisfeito, temos
[ xe(t) - x(t) ] 0
quanto
Esta estrutura, tal como a 1a solução, não é robusta com relação à perturbação dos parâmetros da planta, mas tem a grande vantagem de não ser necessário conhecer x(0).
Resumindo o estudo feito até aqui
a respeito do observador de Luenberger, temos
Teorema 1
Se (1) for observável, seu estado
pode ser estimado com um observador de dimensão n dado por
(7 bis) |
onde L é escolhido de modo que (A
+ L.C) esteja em pontos escolhidos arbitrariamente de
.
O erro, xe(t) - x(t), entre o estado estimado xe(t)
e o estado x(t) de (1), é dado por
xe(t) - x(t) = e(A + L.C).t. (xe(0) - x(0))
e tenderá a zero tão rapidamente
quanto se queira mediante escolha apropriada de L.
Observação:
Na prática, para obter decaimento muito rápido do erro, é quase sempre necessário usar ganhos (i.e., a matriz L) muito altos, o que introduz saturações (e, portanto, não linearidades) e amplificações excessivas de sinais parasitas, ruídos, etc...
Segue um exemplo