• Nenhum resultado encontrado

TEORIA E PRÁTICA DO FILTRO DE KALMAN

N/A
N/A
Protected

Academic year: 2021

Share "TEORIA E PRÁTICA DO FILTRO DE KALMAN"

Copied!
22
0
0

Texto

(1)

1.

Universidade Estadual do Oeste do Paran´a Parque Tecnol´ogico Itaipu

Centro de Engenharias e Ciˆencias Exatas Curso de Extens˜ao

TEORIA E PR ´

ATICA DO FILTRO DE

KALMAN

Prof. Carlos Henrique Farias dos Santos [email protected]

(2)

2.

Estrutura da aula

1. Introdu¸c˜ao

(3)

3.

Justificativa do curso

Desde que R. E. Kalman publicou sua id´eia, no in´ıcio dos anos 1960, o Filtro de Kalman (FK) est´a entre as mais importantes contribui¸c˜oes para a ciˆencia dos sistemas de controle no s´eculo 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 v´arios problemas pr´aticos em diferentes campos,

particularmente na ´area de navega¸c˜ao autˆonoma.

O que ´

e o Filtro de Kalman ?

Teoricamente:

O filtro de Kalman ´e um estimador denomidado problema linear

quadr´atico, o qual consiste no problema de estimar o estado instantˆaneo de um sistema dinˆamico linear perturbado por ru´ıdo branco, atrav´es do uso de medi¸c˜oes linearmente relacionadas com este estado, por´em

corrompidas pelo ru´ıdo branco. D efini¸c˜oes:

Estima¸c˜ao ´e o processo de inferir o valor de uma quantidade de interesse a partir de observa¸c˜oes indiretas, imprecisas e incertas. O prop´osito da observa¸c˜ao pode ser: (a) determina¸c˜ao da ´orbita de planetas (Laplace, Gauss, Legendre); (b) determina¸c˜ao de posi¸c˜ao e velocidade de uma

aeronave em um sistema de controle de tr´afico a´ereo; (c) determina¸c˜ao de parˆametros de um modelo de sistema como forma de predizer o estado f´ısico do mesmo, etc...

Filtragem ´e a estima¸c˜ao do estado corrente de um sistema dinˆamico a raz˜ao do termo consiste no processo de obter a melhor estima¸c˜ao a partir

(4)

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 dinˆamico tenham um perfil de um sinal randˆomico com um valor m´edio zero e uma

densidade espectral constante chamada de ru´ıdo branco estacion´ario. 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 estoc´astico, chamado de processo de ru´ıdo branco.

Um sistema estoc´astico ´e um sistema governado por leis f´ısicas que ainda que suas condi¸c˜oes iniciais sejam conhecidas precisamente, ´e imposs´ıvel determinar os estados do sistema em um tempo futuro (probabilidade). Praticamente:

Uma das primeiras aplica¸c˜oes do filtro de Kalman foi o controle de sistemas dinˆamicos complexos tais como: processos de manufatura, aeron´autica e astron´autica, navios, etc...

Para controlar um sistema dinˆamico, precisa-se primeiro saber o que ele est´a fazendo. Para estas aplica¸c˜oes, nem sempre ´e poss´ıvel ou desej´avel medir toda vari´avel que se deseja controlar, e o filtro de Kalman permite uma maneira de inferir a informa¸c˜ao faltante atrav´es de medi¸c˜oes

indiretas e ru´ıdos.

Sob o ponto de vista pr´atico, algumas perspectivas do filtro de Kalman podem ser consideradas neste curso:

• Trata-se apenas de uma ferramenta: Ele n˜ao resolve nenhum

problema por si mesmo, por outro lado, ele pode tornar sua solu¸c˜ao mais f´acil. N˜ao se trata de uma ferramenta f´ısica, de um ente ou ferramenta matem´atica 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 representa¸c˜ao finita de um problema de estima¸c˜ao por um n´umero

(5)

5.

fixo de vari´aveis. Entretanto, admite-se que essas vari´aveis sejam n´umeros reais, com precis˜ao infinita.

• Trata-se de uma caracteriza¸c˜ao estat´ıstica de um problema de

estima¸c˜ao: Ele mais que um estimador, porque ele propaga o estado corrente de conhecimento de um sistema dinˆamico, incluindo a

influˆencia estat´ıstica de perturba¸c˜oes randˆomicas e os efeitos de todas medi¸c˜oes passadas.

Objetivo

Habilitar o aluno nos fundamentos do trabalho de Kalman como forma de estimular o interesse pela contribui¸c˜ao cient´ıfica e a explora¸c˜ao de

aplica¸c˜oes recentes do tema, tais como: sistemas de navega¸c˜ao autˆonoma, e detec¸c˜ao, an´alise e diagn´ostico de faltas em sistemas mecˆanicos e

el´etricos, fus˜ao de sensores, etc...

Conte´

udo Program´

atico

ETAPA I: Fundamentos Te´oricos (7 aulas)

A - Introdu¸c˜ao;

B - Teoria de Sistemas Lineares; C - Teoria da Probabilidade;

D - Estima¸c˜ao dos M´ınimos Quadrados.

ETAPA II: An´alise e Projeto do Filtro de Kalman (14 aulas)

A - O Filtro de Kalman;

(6)

6.

C - O Ganho do Filtro de Kalman e Equa¸c˜oes de Variˆancia;

D - Filtro de Kalman em Regime Estacion´ario;

E - Filtros de Ordem Reduzida e Ru´ıdos Correlacionados; F - Controle Estoc´astico: O Teorema da Separa¸c˜ao;

G - O Filtro de Kalman Extendido; H - A Informa¸c˜ao do Filtro.

ETAPA III: Aplica¸c˜oes do Filtro de Kalman (5 aulas)

A - Sistemas de Navega¸c˜ao;

C - Fus˜ao de Sensores;

(7)

7.

Teoria de Sistemas Lineares

Esta se¸c˜ao faz uma revis˜ao de alguns conceitos essenciais da teoria de sistemas lineares. Conceitos como manipula¸c˜ao matricial s˜ao necess´arios para a implementa¸c˜ao do filtro de Kalman.

• ´Algebra Matricial; • Sistemas Lineares; • Sistemas N˜ao-lineares; • Discretiza¸c˜ao; • Simula¸c˜ao; • Estabilidade; • Controlabilidade e Observabilidade

(8)

8.

´

Algebra Matricial

Um vetor consiste de escalares que s˜ao arranjados em linhas ou colunas. Por exemplo, o vetor

[

1 3 π ]

Este vetor ´e chamado de vetor 1× 3 porque possui uma linha e trˆes 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 s˜ao

arranjados em um retˆangulo. 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 n´umero de linhas ou colunas linearmente independentes. O rank de uma matriz A ´e frequentemente indicado com a nota¸c˜ao ρ(A). O rank de uma matriz ´e sempre menor ou igual ao n´umero de linhas, e tamb´em menor ou igual ao n´umero de

(9)

9.   1 2 2 4  

tem um rank igual a um porque tem apenas uma linha linearmente independente, pois as duas linhas s˜ao m´ultiplas uma da outra. Al´em disso, existe apenas uma coluna linearmente independente, as duas colunas s˜ao m´ultiplas 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, n˜ao existem escalares n˜ao nulos c1 e c2 capazes de fazer c1 [ 1 3 ] + c2 [ 2 4 ] = [ 0 0 ]

assim, as duas linhas s˜ao linearmente independentes. Al´em disso, a matriz tem duas colunas linearmente independentes. Ou seja, n˜ao existem escalares n˜ao nulos c1 e c2 capazes de fazer

c1   1 2   + c2   3 4   =   0 0  

portanto, as duas colunas s˜ao 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 atrav´es da mudan¸ca 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,

(10)

10.     A11 · · · A1n .. . ... Ar1 · · · Arn     ent˜ao AT ´e uma matriz n× r

    A11 · · · Ar1 .. . ... A1n · · · Arn     ´ Algebra Matricial:

A soma (A + B) e a diferen¸ca (A− B) s˜ao definidas apenas se as

dimens˜oes de A e B sejam compat´ıveis. Suponha que A seja uma matriz n× r e B seja uma matriz r × p. Ent˜ao 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 n´umero de colunas em A for igual ao de linhas em B. Vale destacar que a multiplica¸c˜ao de matrizes n˜ao ´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| = nj=1 (−1)i+jAij|A(i,j)| (2)

(11)

11.

j-´esima coluna de A, para qualquer valor de i ∈ [1, n]. Esta abordagem recebe a denomina¸c˜ao de Expans˜ao de Laplace de A ao longo de sua i-´esima linha. O determinante de A pode tamb´em 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 denomina¸c˜ao de Expans˜ao de Laplace de A ao longo de sua j-´esima linha.

Algumas propriedades dos determinantes s˜ao,

|AB| = |A||B| (4)

admitindo que A e B sejam quadradas e tenham a mesma dimens˜ao. Al´em disso, |A| = ni=1 λi (5) onde λiao 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 n˜ao pode ter inversa a menos que seja quadrada. Algumas matrizes quadradas n˜ao possuem inversa. Uma matriz que n˜ao possui uma inversa ´e chamada de singular. Uma matriz que tem inversa ´e chamada de n˜ao-singular, por exemplo,   1 0 2 3     1 0 −2/3 1/3   =   1 0 0 1  

A n˜ao-singularidade de uma matriz A n× n pode ser estabelecida de v´arias formas, algumas delas s˜ao destacadas a seguir:

(12)

12.

• A ´e n˜ao-singular; • A−1 existe;

• O rank de A ´e igual a n.

• As linhas de A s˜ao linearmente independentes; • As colunas de A s˜ao linearmente independentes; • |A| ̸= 0;

• Ax = b tem uma solu¸c˜ao ´unica x para todo b; • 0 n˜ao ´e um autovalor de A.

O tra¸co de uma matriz quadrada ´e definido como a soma dos seus elementos diagonais:

T r(A) =

i

Aii (6)

Algumas propriedades do tra¸co de uma matriz quadrada s˜ao:

T r(A) =

i

λi (7)

T r(AB) = T r(BA) (8)

Em palavras, o tra¸co de uma matriz quadrada ´e igual a soma dos seus autovalores. Al´em disso, o tra¸co de um produto matricial ´e independente da ordem na qual as matrizes s˜ao multiplicadas.

A norma dois de um vetor coluna de n´umeros reais, tamb´em denominado de norma Euclidiana, ´e definida como segue:

(13)

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 equa¸c˜ao for assegurada:

Ax = λx (11)

Uma matriz sim´etrica n× n A pode ser caracterizada como:

• Positiva definida se xTAx > 0 para todo vetor x (n× 1) n˜ao-nulo.

Isto ´e equivalente a dizer que todos os autovalores de A s˜ao n´umeros reais positivos.

• Positiva semidefinida se xTAx ≥ 0 para todo vetor x (n × 1) . Isto ´e

equivalente a dizer que todos os autovalores de A s˜ao n´umeros reais n˜ao-negativos.

• Negativa definida se xTAx < 0 para todo vetor x (n× 1) n˜ao-nulo.

Isto ´e equivalente a dizer que todos os autovalores de A s˜ao n´umeros reais negativos.

• Negativa semidefinida se xTAx≤ 0 para todo vetor x (n × 1) . Isto ´e

equivalente a dizer que todos os autovalores de A s˜ao n´umeros reais negativos.

• Indefinida se n˜ao encaixa em nenhuma das categorias anteriores.

Lema da Invers˜ao Matricial:

Suponha que tenhamos uma matriz particionada 

A B

C D

 onde A e Dao matrizes quadradas invers´ıveis, e B e C s˜ao matrizes que podem ser ou n˜ao quadradas. Definimos as matrizes E e F como segue:

(14)

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  

(15)

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 equa¸c˜oes de E e F s˜ao duas express˜oes para a inversa de 

A B

C D

. Desde que s˜ao inversas da mesma matriz, elas devem ser iguais. Conclu´ımos que a parti¸c˜ao superior esquerda das matrizes s˜ao iguais, o que fornece,

F−1 = A−1 + A−1BE−1CA−1 (12) Agora podemos usar as defini¸c˜oes de E e F para obter

(A− BD−1C)−1 = A−1 + A−1B(D− CA−1B)−1CA−1 (13) Esta equa¸c˜ao ´e chamada de lema de invers˜ao de matriz, tamb´em referida com outros termos como f´ormula de Sherman-Morrison, Identidade de Woodbury e f´ormula da matriz modificada. O lema da invers˜ao da matriz ´e frequentemente estabelecido um pouco diferente mas de forma

equivalente. Por exemplo,

(16)

16.

O lema da invers˜ao de matriz pode algumas vezes ser usado para reduzir o esfor¸co computacional da invers˜ao 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 ent˜ao computar a nova inversa. A computa¸c˜ao direta da nova inversa seria uma invers˜ao n× n. Mas se a nova matriz a ser invertida puder ser escrita no formato da parte esquerda da equa¸c˜ao anterior, ent˜ao podemos usar o lado direito da ´ultima equa¸c˜ao para computar a nova inversa, e o mesmo requer uma invers˜ao p× p no lugar de uma invers˜ao n × n.

EXEMPLO:

Em sua firma de investimento, vocˆe percebe que em Janeiro o ´ındice de estoque de cˆambio de Nova Iorque diminuiu 2%, o ´ındice de estoque de cˆambio Americano aumentou 1%, e a Nasdaq aumentou 2%. Como resultado, investidores aumentaram seus dep´ositos por 1%. No mˆes seguinte, os ´ındices mudaram por −4%, 3% e 2%, respectivamente, e os dep´ositos dos investidores aumentaram 2%. No mˆes seguinte, os ´ındices mudaram por −5%, 1% e 5% respectivamente, e o dep´osito dos

investidores aumentaram em 2%. Vocˆe suspeita que as mudan¸cas de investimento y possam ser modeladas como y = g1x1+ g2x2+ g3x3, onde as vari´aveis xi s˜ao as vari´aveis de mudan¸ca de estoque, e gi s˜ao constantes

desconhecidas. Para determinar as constantes gi vocˆe precisa inverter a matriz A =     −2 1 2 −4 3 2 −5 1 5     (15) O resultado ´e

(17)

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 vocˆe use as varia¸c˜oes dos ´ındices para prever as

mudan¸cas de investimento no mˆes seguinte, o que lhe permite programar melhor o pessoal e os recursos do computador. No entanto, logo depois de descobrir que a mudan¸ca NASDAQ no terceiro mˆes foi realmente 6% em vez de 5%. Isso significa que, a fim de encontrar as constantes gi vocˆe

precisa para inverter a matriz

A′ =     −2 1 2 −4 3 2 −5 1 6     (16)

Vocˆe est´a cansado de inverter matrizes e gostaria de usar a inversa de A para calcular a inversa de A′. Lembrando-se do lema de invers˜ao da matriz, vocˆe percebe que A′ = A + BD−1C, onde

B = [

0 0 1 ]T

(18)

18. C = [ 0 0 1 ] D = 1

Vocˆe usa o lema da invers˜ao 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 invers˜ao 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 invers˜ao de matrizes n˜ao ´e t˜ao necess´ario, visto que se trata de uma matriz 3× 3. Entretanto, com matrizes maiores, tais como 1000× 1000, o uso do lema de invers˜ao de matrizes ´e significativo.

(19)

19.

Sistemas Lineares

Um sistema linear determin´ıstico em tempo cont´ınuo pode ser descrito pelas equa¸c˜oes:

˙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 s˜ao constantes ent˜ao a solu¸c˜ao de 17 ´e dada por,

x(t) = eA(t−t0)x(t 0) + ∫ 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(t

0) (18)

Por esta raz˜ao, eAt ´e chamada de matriz de transi¸c˜ao de estados do sistema. ´E a matriz que descreve como os estados mudam a partir da condi¸c˜ao inicial sem a presen¸ca de entradas externas. Podemos evoluir a equa¸c˜ao anterior em t = t0 para ser que

eA0 = I (19)

(20)

20.

Existem v´arias formas diferentes de computar esta quantidade. Trˆes das mais utilizadas s˜ao descritas a seguir:

eAt = j=0 (At)j j = L−1[(sI − A)−1] = QeAtˆ Q−1

A primeira express˜ao n˜ao ´e muito frequente para prop´ositos

computacionais, pois trata-se de uma soma infinita. A segunda express˜ao usa a transformada inversa de Laplace para computar eAt. Na terceira equa¸c˜ao, 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 Aˆ22 · · · 0 .. . . .. ... ... 0 · · · ˆAnn        eAtˆ =        eAˆ11 0 · · · 0 0 eAˆ22 · · · 0 .. . . .. ... ... 0 · · · eAˆnn       

(21)

21.

Sistemas N˜

ao-lineares

A forma geral de um sistema n˜ao-linear em tempo cont´ınuo pode ser escrito como

˙x = f (x, u, w) (20)

y = h(x, v)

onde f (·) e h(·) s˜ao fun¸c˜oes de valores arbitr´arios. Utilizamos w para indicar o ru´ıdo do processo e v indica o ru´ıdo da medi¸c˜ao. Se f (·) e h(·) s˜ao fun¸c˜oes do tempo t, ent˜ao 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, ent˜ao o sistema ´e linear. De outro modo o sistema ´e n˜ao-linear. No sentido de aplicar ferramentas da teoria de sistemas lineares para sistemas n˜ao-lineares, precisamos linearizar o sistema n˜ao-linear. Em outras palavras, precisamos encontrar um sistema linear que seja aproximadamente igual ao sistema n˜ao-linear. Para tanto, come¸camos com um vetor de fun¸c˜oes n˜ao-lineares f (·) de um escalar x. Nos expandimos f (x) em uma s´erie de Taylor em torno de algum ponto de opera¸c˜ao (tamb´em chamado de ponto de lineariza¸c˜ao), x = ¯x,

definindo ˜x = x− ¯x: f (x) = f (¯x) + ∂f ∂x ¯ x ¯ x + 1 2! 2f ∂x2 ¯ x ¯ x2+ 1 3! 3f ∂x3 ¯ x ¯ x3 +· · · (21) Agora suponha que x seja um vetor 2× 1. Isto implica que f(x) seja uma fun¸c˜ao n˜ao-linear de duas vari´aveis independentes x1 e x2. A expans˜ao da s´erie de Taylor de f (x) torna-se

f (x) = f (¯x) + ∂f ∂x1 ¯ x ˜ x1 + ∂f ∂x2 ¯ x ˜ x2+ (22)

(22)

22.

Referências

Documentos relacionados

ABSTRACT: The toxicological effects of crude ethanolic extracts (CEE) of the seed and bark of Persea americana have been analyzed on larvae and pupae of

aureus in Minas Traditional Serro cheese manufactured with raw milk containing different concentrations of nisin, during 60 days of ripening.. The in fluence of nisin on

Vá para as Tabelas Valor Decimal, no Apêndice A, e faça a leitura dos códigos de barras que representa o mesmo código. Repita os passos 1-3 do

Indicações e contra-indicações de prótese parcial fixa, diagnóstico e plano de tratamento em prótese fixa, princípios biomecânicos dos preparos dentais, materiais

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Diante das consequências provocadas pelas intempé- ries climáticas sobre a oferta de cana-de-açúcar para a indústria, a tendência natural é que a produção seja inferior

Em caso de uso de grande quantidade deste medicamento, procure rapidamente socorro médico e leve a embalagem ou bula do medicamento, se possível.. III-

Tendo em vista o completo silêncio histórico a respeito de Jesus Cristo, bem como as evidentes ligações deste com o mito dos deuses-solares, Dupuis escreveu o