TEORIA E PRATICA DO FILTRO DE KALMAN - foz.unioeste.brchsantos/Extensao/FK/AULA01.pdf · vetor de...
Transcript of TEORIA E PRATICA DO FILTRO DE KALMAN - foz.unioeste.brchsantos/Extensao/FK/AULA01.pdf · vetor de...
1.
'
&
$
%
Universidade Estadual do Oeste do Parana
Parque Tecnologico Itaipu
Centro de Engenharias e Ciencias Exatas
Curso de Extensao
TEORIA E PRATICA DO FILTRO DEKALMAN
Prof. Carlos Henrique Farias dos Santos
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 1
2.
'
&
$
%
Estrutura da aula
1. Introducao
2. Teoria de Sistemas Lineares
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 2
3.
'
&
$
%
Justificativa do curso
Desde que R. E. Kalman publicou sua ideia, no inıcio dos anos 1960, o
Filtro de Kalman (FK) esta entre as mais importantes contribuicoes para
a ciencia dos sistemas de controle no seculo XX e tem sido objeto de
extensivas pesquisas.
O impacto deste trabalho e comparado aos trabalhos de Nyquist, Bode e
Wierner, nos anos de 1920, 1930 e 1940, respectivamente. Ele vem sendo
aplicado em varios problemas praticos em diferentes campos,
particularmente na area de navegacao autonoma.
O que e o Filtro de Kalman ?
Teoricamente:
O filtro de Kalman e um estimador denomidado problema linear
quadratico, o qual consiste no problema de estimar o estado instantaneo
de um sistema dinamico linear perturbado por ruıdo branco, atraves do
uso de medicoes linearmente relacionadas com este estado, porem
corrompidas pelo ruıdo branco.
Definicoes:
Estimacao e o processo de inferir o valor de uma quantidade de interesse
a partir de observacoes indiretas, imprecisas e incertas. O proposito da
observacao pode ser: (a) determinacao da orbita de planetas (Laplace,
Gauss, Legendre); (b) determinacao de posicao e velocidade de uma
aeronave em um sistema de controle de trafico aereo; (c) determinacao de
parametros de um modelo de sistema como forma de predizer o estado
fısico do mesmo, etc...
Filtragem e a estimacao do estado corrente de um sistema dinamico a
razao do termo consiste no processo de obter a melhor estimacao a partir
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 3
4.
'
&
$
%
de dados ruidosos. O termo filtragem e assim usado no sentido de
eliminar um sinal indesejado, o ruıdo branco, neste caso.
Podemos admitir que o sinal dos sensores do sistema dinamico tenham
um perfil de um sinal randomico com um valor medio zero e uma
densidade espectral constante chamada de ruıdo branco estacionario. Um
vetor de ruıdo branco, possui cada elemento como um ruıdo branco, e
pode ser considerado como o vetor de estados de um sistema estocastico,
chamado de processo de ruıdo branco.
Um sistema estocastico e um sistema governado por leis fısicas que ainda
que suas condicoes iniciais sejam conhecidas precisamente, e impossıvel
determinar os estados do sistema em um tempo futuro (probabilidade).
Praticamente:
Uma das primeiras aplicacoes do filtro de Kalman foi o controle de
sistemas dinamicos complexos tais como: processos de manufatura,
aeronautica e astronautica, navios, etc...
Para controlar um sistema dinamico, precisa-se primeiro saber o que ele
esta fazendo. Para estas aplicacoes, nem sempre e possıvel ou desejavel
medir toda variavel que se deseja controlar, e o filtro de Kalman permite
uma maneira de inferir a informacao faltante atraves de medicoes
indiretas e ruıdos.
Sob o ponto de vista pratico, algumas perspectivas do filtro de Kalman
podem ser consideradas neste curso:
• Trata-se apenas de uma ferramenta: Ele nao resolve nenhum
problema por si mesmo, por outro lado, ele pode tornar sua solucao
mais facil. Nao se trata de uma ferramenta fısica, de um ente ou
ferramenta matematica para tornar o trabalho mental mais eficiente.
• E um programa computacional: Ele foi chamado de idealmente
preparado para um computador digital, em parte porque utiliza uma
representacao finita de um problema de estimacao por um numero
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 4
5.
'
&
$
%
fixo de variaveis. Entretanto, admite-se que essas variaveis sejam
numeros reais, com precisao infinita.
• Trata-se de uma caracterizacao estatıstica de um problema de
estimacao: Ele mais que um estimador, porque ele propaga o estado
corrente de conhecimento de um sistema dinamico, incluindo a
influencia estatıstica de perturbacoes randomicas e os efeitos de todas
medicoes passadas.
Objetivo
Habilitar o aluno nos fundamentos do trabalho de Kalman como forma de
estimular o interesse pela contribuicao cientıfica e a exploracao de
aplicacoes recentes do tema, tais como: sistemas de navegacao autonoma,
e deteccao, analise e diagnostico de faltas em sistemas mecanicos e
eletricos, fusao de sensores, etc...
Conteudo Programatico
ETAPA I: Fundamentos Teoricos (7 aulas)
A - Introducao;
B - Teoria de Sistemas Lineares;
C - Teoria da Probabilidade;
D - Estimacao dos Mınimos Quadrados.
ETAPA II: Analise e Projeto do Filtro de Kalman (14 aulas)
A - O Filtro de Kalman;
B - A Funcao de Observador de Estados do Filtro de Kalman;
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 5
6.
'
&
$
%
C - O Ganho do Filtro de Kalman e Equacoes de Variancia;
D - Filtro de Kalman em Regime Estacionario;
E - Filtros de Ordem Reduzida e Ruıdos Correlacionados;
F - Controle Estocastico: O Teorema da Separacao;
G - O Filtro de Kalman Extendido;
H - A Informacao do Filtro.
ETAPA III: Aplicacoes do Filtro de Kalman (5 aulas)
A - Sistemas de Navegacao;
C - Fusao de Sensores;
D - Sistemas de Deteccao de Faltas.
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 6
7.
'
&
$
%
Teoria de Sistemas Lineares
Esta secao faz uma revisao de alguns conceitos essenciais da teoria de
sistemas lineares. Conceitos como manipulacao matricial sao necessarios
para a implementacao do filtro de Kalman.
• Algebra Matricial;
• Sistemas Lineares;
• Sistemas Nao-lineares;
• Discretizacao;
• Simulacao;
• Estabilidade;
• Controlabilidade e Observabilidade
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 7
8.
'
&
$
%
Algebra Matricial
Um vetor consiste de escalares que sao arranjados em linhas ou colunas.
Por exemplo, o vetor
[1 3 π
]Este vetor e chamado de vetor 1× 3 porque possui uma linha e tres
colunas (vetor linha). Enquanto o vetor
−2
π2
j
0
Este vetor e chamado de vetor 4× 1 porque possui quatro linhas e uma
coluna (vetor coluna). Uma matriz consiste de escalares que sao
arranjados em um retangulo. Por exemplo, a matriz
−2 3
0 π2
j 0
e uma matriz 3× 2 porque possui 3 linhas e 2 colunas.
O rank de uma matriz e definido como o numero de linhas ou colunas
linearmente independentes. O rank de uma matriz A e frequentemente
indicado com a notacao ρ(A). O rank de uma matriz e sempre menor ou
igual ao numero de linhas, e tambem menor ou igual ao numero de
colunas. Por exemplo, a matriz
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 8
9.
'
&
$
%
1 2
2 4
tem um rank igual a um porque tem apenas uma linha linearmente
independente, pois as duas linhas sao multiplas uma da outra. Alem
disso, existe apenas uma coluna linearmente independente, as duas
colunas sao multiplas uma da outra.
Por outro lado, a matriz
1 3
2 4
tem um rank igual a dois porque possui duas linhas linearmente
independentes. Ou seja, nao existem escalares nao nulos c1 e c2 capazes
de fazer
c1
[1 3
]+ c2
[2 4
]=
[0 0
]assim, as duas linhas sao linearmente independentes. Alem disso, a
matriz tem duas colunas linearmente independentes. Ou seja, nao
existem escalares nao nulos c1 e c2 capazes de fazer
c1
1
2
+ c2
3
4
=
0
0
portanto, as duas colunas sao linearmente independentes. Uma matriz
n×m cujo rank seja igual a min(n,m) denomina-se de rank completo. A
nulidade de uma matriz A n×m e calculada por [m−ρ(A)]. A transposta
de uma matriz (ou vetor) pode ser obtida atraves da mudanca de linhas
por colunas e vice-versa. A transposta de uma matriz e indicada por um
superescrito T , como em AT . Por exemplo, se A for uma matriz r × n,
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 9
10.
'
&
$
%
A11 · · · A1n
......
Ar1 · · · Arn
entao AT e uma matriz n× r
A11 · · · Ar1
......
A1n · · · Arn
Algebra Matricial:
A soma (A+B) e a diferenca (A−B) sao definidas apenas se as
dimensoes de A e B sejam compatıveis. Suponha que A seja uma matriz
n× r e B seja uma matriz r × p. Entao o produto de A e B e escrito
como C = AB. Cada elemento na matriz produto C e computado como,
Cij =r∑
k=1
AijBkj i = 1, . . . , n j = 1, . . . , p (1)
A matriz produto AB e definida apenas se o numero de colunas em A for
igual ao de linhas em B. Vale destacar que a multiplicacao de matrizes
nao e comutativa. Em geral, AB = BA.
O determinante de uma matriz e definido de forma indutiva para
matrizes quadradas. Considere uma matriz A n× n. O determinante de
A e definido como
|A| =n∑
j=1
(−1)i+jAij|A(i,j)| (2)
onde A(i,j) denota matriz formada pelo cancelamento da i-esima linha e
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 10
11.
'
&
$
%
j-esima coluna de A, para qualquer valor de i ∈ [1, n]. Esta abordagem
recebe a denominacao de Expansao de Laplace de A ao longo de sua
i-esima linha. O determinante de A pode tambem se definido como,
|A| =n∑
i=1
(−1)i+jAij|A(i,j)| (3)
para qualquer valor de j ∈ [1, n]. Esta abordagem recebe a denominacao
de Expansao de Laplace de A ao longo de sua j-esima linha.
Algumas propriedades dos determinantes sao,
|AB| = |A||B| (4)
admitindo que A e B sejam quadradas e tenham a mesma dimensao.
Alem disso,
|A| =n∏
i=1
λi (5)
onde λi sao os autovalores de A.
A inversa de uma matriz A e definida como a matriz A−1 tal que
AA−1 = A−1A = I, onde I e a matriz identidade. Uma matriz nao pode
ter inversa a menos que seja quadrada. Algumas matrizes quadradas nao
possuem inversa. Uma matriz que nao possui uma inversa e chamada de
singular. Uma matriz que tem inversa e chamada de nao-singular, por
exemplo,
1 0
2 3
1 0
−2/3 1/3
=
1 0
0 1
A nao-singularidade de uma matriz A n× n pode ser estabelecida de
varias formas, algumas delas sao destacadas a seguir:
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 11
12.
'
&
$
%
• A e nao-singular;
• A−1 existe;
• O rank de A e igual a n.
• As linhas de A sao linearmente independentes;
• As colunas de A sao linearmente independentes;
• |A| = 0;
• Ax = b tem uma solucao unica x para todo b;
• 0 nao e um autovalor de A.
O traco de uma matriz quadrada e definido como a soma dos seus
elementos diagonais:
Tr(A) =∑i
Aii (6)
Algumas propriedades do traco de uma matriz quadrada sao:
Tr(A) =∑i
λi (7)
Tr(AB) = Tr(BA) (8)
Em palavras, o traco de uma matriz quadrada e igual a soma dos seus
autovalores. Alem disso, o traco de um produto matricial e independente
da ordem na qual as matrizes sao multiplicadas.
A norma dois de um vetor coluna de numeros reais, tambem denominado
de norma Euclidiana, e definida como segue:
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 12
13.
'
&
$
%
∥x∥2 =√xTx (9)
=√
x21 + . . .+ x2
n (10)
Uma matriz A n× n tem n autovalores e n autovetores. O escalar λ e um
autovalor de A, e o vetor x n× 1 e um autovetor de A, se a seguinte
equacao for assegurada:
Ax = λx (11)
Uma matriz simetrica n× n A pode ser caracterizada como:
• Positiva definida se xTAx > 0 para todo vetor x (n× 1) nao-nulo.
Isto e equivalente a dizer que todos os autovalores de A sao numeros
reais positivos.
• Positiva semidefinida se xTAx ≥ 0 para todo vetor x (n× 1) . Isto e
equivalente a dizer que todos os autovalores de A sao numeros reais
nao-negativos.
• Negativa definida se xTAx < 0 para todo vetor x (n× 1) nao-nulo.
Isto e equivalente a dizer que todos os autovalores de A sao numeros
reais negativos.
• Negativa semidefinida se xTAx ≤ 0 para todo vetor x (n× 1) . Isto e
equivalente a dizer que todos os autovalores de A sao numeros reais
negativos.
• Indefinida se nao encaixa em nenhuma das categorias anteriores.
Lema da Inversao Matricial:
Suponha que tenhamos uma matriz particionada
A B
C D
onde A e D
sao matrizes quadradas inversıveis, e B e C sao matrizes que podem ser
ou nao quadradas. Definimos as matrizes E e F como segue:
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 13
14.
'
&
$
%
E = D − CA−1B
C = A−BD−1C
Admita que E seja inversıvel. Assim, podemos mostrar que
A B
C D
A−1 + A−1BE−1CA−1 −A−1BE−1
−E−1CA−1 E−1
=
I +BE−1CA−1 −BE−1CA−1 −BE−1 +BE−1
CA−1 + CA−1BE−1CA−1 −DE−1CA−1 −CA−1BE−1 +DE−1
=
I 0
CA−1 − (D − CA−1B)E−1CA−1 (D − CA−1B)E−1
=
I 0
0 I
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 14
15.
'
&
$
%
Agora assuma que F seja inversıvel. Assim, podemos mostrar que
A B
C D
F−1 −A−1BE−1
−D−1CF−1 E−1
=
AF−1 −BD−1CF−1 −BE−1 +BE−1
CF−1 − CF−1 −CA−1BE−1 +DE−1
=
(A−BD−1C)F−1 0
0 (D − CA−1B)E−1
=
I 0
0 I
Portanto, as equacoes de E e F sao duas expressoes para a inversa de A B
C D
. Desde que sao inversas da mesma matriz, elas devem ser
iguais. Concluımos que a particao superior esquerda das matrizes sao
iguais, o que fornece,
F−1 = A−1 + A−1BE−1CA−1 (12)
Agora podemos usar as definicoes de E e F para obter
(A−BD−1C)−1 = A−1 + A−1B(D − CA−1B)−1CA−1 (13)
Esta equacao e chamada de lema de inversao de matriz, tambem referida
com outros termos como formula de Sherman-Morrison, Identidade de
Woodbury e formula da matriz modificada. O lema da inversao da matriz
e frequentemente estabelecido um pouco diferente mas de forma
equivalente. Por exemplo,
(A+BD−1C)−1 = A−1 − A−1B(D − CA−1B)−1CA−1 (14)
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 15
16.
'
&
$
%
O lema da inversao de matriz pode algumas vezes ser usado para reduzir
o esforco computacional da inversao matricial. Suponha que A seja n× n,
B seja n× p, C seja p× n, D seja p× p, e p < n. Suponha que saibamos
A−1, e queiramos adicionar alguma quantidade a A e entao computar a
nova inversa. A computacao direta da nova inversa seria uma inversao
n× n. Mas se a nova matriz a ser invertida puder ser escrita no formato
da parte esquerda da equacao anterior, entao podemos usar o lado direito
da ultima equacao para computar a nova inversa, e o mesmo requer uma
inversao p× p no lugar de uma inversao n× n.
EXEMPLO:
Em sua firma de investimento, voce percebe que em Janeiro o ındice de
estoque de cambio de Nova Iorque diminuiu 2%, o ındice de estoque de
cambio Americano aumentou 1%, e a Nasdaq aumentou 2%. Como
resultado, investidores aumentaram seus depositos por 1%. No mes
seguinte, os ındices mudaram por −4%, 3% e 2%, respectivamente, e os
depositos dos investidores aumentaram 2%. No mes seguinte, os ındices
mudaram por −5%, 1% e 5% respectivamente, e o deposito dos
investidores aumentaram em 2%. Voce suspeita que as mudancas de
investimento y possam ser modeladas como y = g1x1 + g2x2 + g3x3, onde
as variaveis xi sao as variaveis de mudanca de estoque, e gi sao constantes
desconhecidas. Para determinar as constantes gi voce precisa inverter a
matriz
A =
−2 1 2
−4 3 2
−5 1 5
(15)
O resultado e
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 16
17.
'
&
$
%
A−1 =1
6
13 −3 −4
10 0 −4
11 −3 −2
g = A−1
1
2
2
=1
6
−1
2
1
Isso permite que voce use as variacoes dos ındices para prever as
mudancas de investimento no mes seguinte, o que lhe permite programar
melhor o pessoal e os recursos do computador. No entanto, logo depois de
descobrir que a mudanca NASDAQ no terceiro mes foi realmente 6% em
vez de 5%. Isso significa que, a fim de encontrar as constantes gi voce
precisa para inverter a matriz
A′ =
−2 1 2
−4 3 2
−5 1 6
(16)
Voce esta cansado de inverter matrizes e gostaria de usar a inversa de A
para calcular a inversa de A′. Lembrando-se do lema de inversao da
matriz, voce percebe que A′ = A+BD−1C, onde
B =[0 0 1
]TTEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 17
18.
'
&
$
%
C =[0 0 1
]D = 1
Voce usa o lema da inversao de matrizes para computar
(A′)−1 = (A+BD−1C)−1
= A−1 − A−1B(D − CA−1B)−1CA−1
O termo (D − CA−1B)−1 que precisa ser invertido e um escalar, assim a
inversao fica simples.
A′−1 =
4.00 1.00 −1.00
3.50 −0.50 −1.00
2.75 −0.75 −0.50
g = A′−1
1
2
2
0
0.5
0.25
Neste exemplo o uso do lema de inversao de matrizes nao e tao
necessario, visto que se trata de uma matriz 3× 3. Entretanto, com
matrizes maiores, tais como 1000× 1000, o uso do lema de inversao de
matrizes e significativo.
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 18
19.
'
&
$
%
Sistemas Lineares
Um sistema linear determinıstico em tempo contınuo pode ser descrito
pelas equacoes:
x = Ax+Bu (17)
y = Cx
onde x e o vetor de estados, u e o vetor de controle, e y e o vetor de
saıda. A matriz A e frequentemente chamada de matriz do sistema, B e
matriz de entradas, e C e a matriz de saıda. Se as matrizes A, B e C sao
constantes entao a solucao de 17 e dada por,
x(t) = eA(t−t0)x(t0) +
∫ t
t0
eA(t−τ)Bu(τ)dτ
y(t) = Cx(t)
onde t0 e o tempo inicial do sistema e considerado 0. No caso de entrada
nula, tem-se
x(t) = eA(t−t0)x(t0) (18)
Por esta razao, eAt e chamada de matriz de transicao de estados do
sistema. E a matriz que descreve como os estados mudam a partir da
condicao inicial sem a presenca de entradas externas. Podemos evoluir a
equacao anterior em t = t0 para ser que
eA0 = I (19)
Entretanto, como poderemos calcular a exponencial da equacao 17?
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 19
20.
'
&
$
%
Existem varias formas diferentes de computar esta quantidade. Tres das
mais utilizadas sao descritas a seguir:
eAt =∞∑j=0
(At)j
j
= L−1[(sI − A)−1]
= QeAtQ−1
A primeira expressao nao e muito frequente para propositos
computacionais, pois trata-se de uma soma infinita. A segunda expressao
usa a transformada inversa de Laplace para computar eAt. Na terceira
equacao, Q e uma matriz cujas colunas comportam os autovalores de A, e
A e a forma de Jordan de A. A matriz A e frequentemente diagonal,
A =
A11 0 · · · 0
0 A22 · · · 0...
. . . . . ....
0 · · · · · · Ann
eAt =
eA11 0 · · · 0
0 eA22 · · · 0...
. . . . . ....
0 · · · · · · eAnn
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 20
21.
'
&
$
%
Sistemas Nao-lineares
A forma geral de um sistema nao-linear em tempo contınuo pode ser
escrito como
x = f(x, u, w) (20)
y = h(x, v)
onde f(·) e h(·) sao funcoes de valores arbitrarios. Utilizamos w para
indicar o ruıdo do processo e v indica o ruıdo da medicao. Se f(·) e h(·)sao funcoes do tempo t, entao o sistema e variante no tempo. De outro
modo o sistema e invariante no tempo. Se f(x, u, w) = Ax+Bu+ w e
h(x, v) = Hx+ v, entao o sistema e linear. De outro modo o sistema e
nao-linear. No sentido de aplicar ferramentas da teoria de sistemas
lineares para sistemas nao-lineares, precisamos linearizar o sistema
nao-linear. Em outras palavras, precisamos encontrar um sistema linear
que seja aproximadamente igual ao sistema nao-linear. Para tanto,
comecamos com um vetor de funcoes nao-lineares f(·) de um escalar x.
Nos expandimos f(x) em uma serie de Taylor em torno de algum ponto
de operacao (tambem chamado de ponto de linearizacao), x = x,
definindo x = x− x:
f(x) = f(x) +∂f
∂x
∣∣∣xx+
1
2!
∂2f
∂x2
∣∣∣xx2 +
1
3!
∂3f
∂x3
∣∣∣xx3 + · · · (21)
Agora suponha que x seja um vetor 2× 1. Isto implica que f(x) seja uma
funcao nao-linear de duas variaveis independentes x1 e x2. A expansao da
serie de Taylor de f(x) torna-se
f(x) = f(x) +∂f
∂x1
∣∣∣xx1 +
∂f
∂x2
∣∣∣xx2+ (22)
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 21
22.
'
&
$
%
OBRIGADO
TEORIA E PRATICA DO FILTRO DE KALMAN Aula 01 22