Professional Documents
Culture Documents
RESUMO:
1. INTRODUO
Rudolf Emil Kalman (1930), responsvel pela sua implementao, em 1958. O Filtro de
Kalman, um mtodo bastante utilizado quando se deseja atenuar a captao de rudos via software.
Este mtodo foi criado por Rudolf Kalman e tem por objetivo utilizar medies de grandezas
realizadas ao longo do tempo (contaminadas com rudo e outras incertezas) e gerar resultados que
tendam a se aproximar dos valores reais das grandezas medidas (WELCH; BISHOP, 2006).
1.1. A Importncia
O filtro de Kalman um filtro recursivo preditivo para medidas ruidosas. Uma das
aplicaes do filtro de Kalman sobre a normalizao, ou combinao poderada, para fuso
sensorual. (SABATELLI; GALGANI; FANUCC, ROCCHI, 2012)
1
1.2. Aplicao
A aplicao que ser abordada ao longo deste trabalho se dar sobre a fuso de sensores de
uma IMU (Inertial measurement unit), composta por Giroscpios e Acelermetros. A IMU, que
um sistema microeletromecnicos (Microelectromechanical systems - MENS) que registra
grandesas de velocidade (ou acelerao) e de orientao (ou toro), baseando-se sobre as foras
gravitacionais e vibratrias, utilizando uma combinao de acelermetro, giroscpio e/ou
magnetmetro as IMUs como so normalmente utilizadas para manobrar aeronaves, incluindo
veculos areos no tripulados (UAVs), embarcaes, aeronaves, naves espaciais, efetuadores em
braos robticos entre muitos outros, e, incluindo satlites e sondas. Recentes desenvolvimentos
permitem a produo de dispositivos GPS IMU-ativado. Um IMU permite que um vavegador GPS,
contnue a trabalhar quando o sinal GPS no esto disponveis, como em tneis, no interior de
edifcios, ou quando a interferncia eletrnica est presente.
Figura 1 Exemplo dos eixos e seus graus de liberdade monitorados por uma IMU. (INVENSENSE, 2013)
2
Um giroscpio convencional um mecanismo que compreende um rotor com dirio para
girar sobre um eixo, as revistas de o rotor ser montado no interior ou um cardan anel. J o
funcionamento de um giroscpio MENS, baseia-se se no fenmeno de vibrao piezo eltrico.
1.5. IMU
O IMU (Inertial Measurement Unit) ou unidade de medio inercial, previsto para emprego
o circuito integrado MPU-6050, que apresenta um giroscpio de trs eixos (x, y, z), um
acelermetro de trs eixos (x, y, z). Totalizando 6 DOF (degree of libert), graus de liberdade.
1.6. Fuso
O giroscpio responsvel pela medio das rotaes, ngulos yaw (guinada), pitch
(arfagem) e Roll (rolagem), da estrutura, do objeto ou aeronave. Abaixo temos um modelo
esquemtico de acordo com (RAOL, 1947), para uma aplicao simplificada do filtro de Kalman
para fuso de dois sensores.
3
2. REVISO BIBLIOGRFICA
= + + (1)
= + (2)
1
= (3)
0 1
= (4)
0
= (5)
H = [1 0] (6)
4
acelermetro multiplicando por uma taxa ( ), resultando em (7). E temos (8) como erro estimado a
priori e (9) o erro estimado a posteriori do passo k. R a matriz de co-varincia. Deve ser
tipicamente o quadrado do desvio-padro do giroscpio, da folha de dados, ou apenas manter as
coisas estacionrio e registrar os dados por aproximadamente 5 minutos. Calculando a mdia e o
desvio std. = 2 (RAOL, 1947).
0
= 0 (7)
= [ ] (8)
= (9)
= (10)
= = . . + . . (11)
= [ ] = . . (12)
= . .( . . + ) (13)
= + .( ) (14)
=( . ) (15)
Onde o calculo do ganho dado em (13), atualizao do estado estimado (14), como uma
combinao linear do estado estimado a priori, ( ) e uma diferena ponderada entre uma medio
real ( ) e uma previso de medio ( ), em seguida a atualizao do erro de covarincia (15),
respectivamente fazem parte da segunda etapa do algoritmo, ou etapa de atualizao. Sendo P a
matriz de covarincia dos estados. Abaixo temos uma imagem esquemtica do funcionamento
recursivo das duas etapas de execuo do Filtro de Kalman:
5
ATUALIZAO (CORREO):
=( . ).
2.2. Particularidades
[ ] = ( [ 1] + . [ ]) + (1 ) [ ] (16)
A equao (16) funciona como um filtro passa altas para o giroscpio e como um filtro
passa-baixa para o acelermetro, anulando os termos do giroscpio e discretizando a equao
resulta em (17).
= (1 ) (17)
A equao (17) corresponde funo de transferncia de um filtro passa baixas com polo
em . Sua resposta ao degrau (1 ) [ ], o que significa que um maior faz com que a
resposta ao degrau convirja mais rapidamente para seu valor de regime. Analisando novamente
6
(16), deixa claro que quando a velocidade angular fornecida pelo giroscpio for nula, o valor do
ngulo ir convergir para o valor do acelermetro, anulando o erro em regime do giroscpio (drift).
3. IMPLEMENTAO
3.1. Hardware
Os hardwares selecionados para o experimento so: uma placa micro controladora Arduino
Uno (ARDUINO, 2016), que trabalha com uma tenso de 5v (alimentada entre 7-12V), consumindo
20 a 50 mA, operando com 8 bits uma velocidade de 16 MHz, 26 pinos de I/O, dotada de um
micro controlador Atmega328P de fabricao da Atmel, que ira fazer a leitura do sensor MPU-
6050. Esta placa se responsvel por realizar as leituras do circuito integrado MPU-6050, dotado de
um giroscpio de trs eixos, um acelermetro de trs eixos e um termmetro digital (INVESENSE,
2012) e fazer a comunicao por porta serial com o Microcomputador, para posterior registro em
grficos via MatLab.
Microcontroller ATmega328P
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limit) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
PWM Digital I/O Pins 6
Analog Input Pins 6
DC Current per I/O Pin 20 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 32 KB (ATmega328P)
of which 0.5 KB used by bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Clock Speed 16 MHz
Length 68.6 mm
Width 53.4 mm
Weight 25 g
7
3.2. Software.
4. PROBLEMA
Empregar os dados do acelermetro para minimizar o erro que o giroscpio apresenta erros
de deslizamento (drift), ou erros em regime (acelermetro est deslocado do centro de rotao). Em
contrapartida reduzir eliminar a amplificao de rudos dinmica caracterstica do acelermetro.
Realizando a fuso do sensor, atravs do algoritmo de filtro de Kalman para eliminar os rudos e
assim garantir uma medida angular adequada.
5. RESULTADOS
8
A Conexo da IMU com o micro controlador dada via I2C, protocolo de dois fios com a
placa MPU-6050, a imagem (Figura 5) a seguir demonstra o esquema de ligao, a comunicao
com o computador via emulao USB-Serial, a velocidade de 9600 bps (bits por segundo).
Uma funo em cdigo .m recebe os dados e os registra on-line para anlise imediata ou
armazenamento. Realizando o comando: setupSerial6(COM3,200) no MatLab obtemos
duzentas amostras atravs da porta serial COM3, que podemos observar no grfico da Figura 6.
40
20
Volor das amostras
-20
-40
-60
0 20 40 60 80 100 120 140 160 180 200
Nmero de amostras
Como podemos observar na Figura 6, vemos em vermelho ( -o- ) apenas o sinal proveniente
do Giroscpio, o sinal isolado do acelermetro em azul ( -x- ), e o resultado da fuso dos sensores
em rosa ( ). Mantendo a IMU praticamente esttica, observamos que o resultado do giroscpio
diverge e inserindo rudos vemos que o acelermetro muito discrepante, em detalhe prximo da
9
amostra nmero 120, variar bruscamente (-18 a 15) em um intervalo de tempo curto. Este fenmeno
fica mais claro na imagem a seguir (Figura 7), aonde suas medidas chegam a extrapolar a escala do
grfico, no entanto a sada do filtro permanece estvel.
40
30
20
Valor das amostras
10
-10
-20
-30
-40
-50
0 20 40 60 80 100 120 140 160 180 200
Nmero de amostras
40
30
20
10
Valor das amostras
-10
-20
-30
-40
-50
0 10 20 30 40 50 60 70 80
Nmero de amostras
10
6. CONCLUSES
REFERNCIAS
[5] RAOL, J. R. (Jitendra R.). Multi-sensor data fusion with MATLAB. 1947-
11
[7] SABATELLI, Simone; SECHI, Francesco; ROCCHI, Alessandro; FANUCCI, Luca. A
sensor fusion algorithm for an integrated angular position estimation with inertial measurement
units. 2011 EDAA.
[8] VASCONCELLOS, Camila Simes da Costa Cunha; CATUNDA, Paulo Roberto Yamasaki.
Projeto, Construo e Controle de um Prottipo de um Quadrirrotor. Universidade Federal do Rio
de Janeiro. 114pg. 2013.
[9] WELCH, Greg; BISHOP Gary. An Introduction to the Kalman Filter. Department of
Computer Science University of North Carolina at Chapel Hill Chapel Hill. July 24, 2006.
7. APNDICE A
8. APNDICE B
= + (1)
1
= + (2)
0 1 0
+
= (3)
= . . +
1 1 0
= . . +
0 1 0 1 0
12
+ ( + )
=
+
= .
= [1 0]
7. Y=newAngle angle;
=( . . + )
1
= [1 0]. . +
0
= +
8. S = P[0][0] + R_meansure;
= . .
1
= . .
0
13
9. K[0] = P[0][0]/S;
10. K[1] = P[0][1]/S;
= + .
= + .
.
= +
.
=( . ).
1 0
= . [1 0] .
0 1
. .
=
. .
Definindo a partir da folha de dados do sensor (INVEN SENSE, 2013), obtemos erros de
medio e covarincia:
19. float Q_angle = 0.001;
20. float Q_gyroBias = 0.003;
21. float R_meansure = 0.03;
14
Q_angle e Q_gyroBias, foram retirado da folha de dados em INVEN SENSE, 2013 e
R_mensure obtido por = 2 ou experimentalmente, ou ajustado experimentalmente.
15