Integracao GPSINS
Integracao GPSINS
Integracao GPSINS
Uberlândia
2022
LUCAS BOAVENTURA PEREIRA
Uberlândia
2022
LUCAS BOAVENTURA PEREIRA
Uberlândia, 11/04/2022
Banca Examinadora:
_________________________________________________
Prof. Dr. Pedro Augusto Queiroz de Assis – FEMEC/UFU
_________________________________________________
Prof. Dr. José Jean-Paul Zanlucchi de Souza Tavares – FEMEC/UFU
_________________________________________________
Prof. Dr. Roberto de Souza Martins – FEMEC/UFU
Dedico este trabalho à minha família, aos
meus amigos e a todos que me apoiaram ao
longo dessa jornada.
AGRADECIMENTOS
Agradeço à Deus pelo dom da vida, por todas as bençãos recebidas e por todos os
obstáculos que me fizeram amadurecer e evoluir.
Aos meus pais, Cláudio e Márcia, pelo amor incondicional. Por terem me incentivado a
enfrentar essa jornada acadêmica e terem se mantidos sempre próximos ao longo do processo,
me proporcionado tudo para que fosse possível eu completá-la.
À minha irmã, Clara, por ser uma pessoa com quem eu sempre pude contar, por me
aconselhar e encorajar durante os anos em que moramos juntos em Uberlândia.
À minha namorada, Viviane, por todo amor, demonstrado dia a dia em forma de
companheirismo, incentivo, escuta e carinho, tornando minha vida mais suave.
Ao meu cunhado, Felipe, pelos ensinamentos transmitidos e pelos insights que me
possibilitou ter sobre diversos assuntos de Engenharia, seja em conversas despretensiosas ou
durante as oportunidades de iniciação científica e estágio que me proporcionou.
Aos meus amigos, que me acompanharam ao longo dessa caminhada, compartilhando
as dificuldades, superações e alegrias e que permanecem comigo até hoje.
Aos meus professores, que compartilharam seus conhecimentos e que foram essenciais
em minha formação.
Ao meu orientador, Pedro Augusto Queiroz de Assis, por ter aceitado minha proposta
de tema para esse trabalho e ter encarado os desafios junto comigo. Além disso, por ser para
mim um exemplo de professor: ótima didática e enorme entusiasmo e comprometimento no que
faz.
Ao professor Nassau de Nogueira Nardez por ter realizado as medições com o GPS de
precisão para mim, sempre com grande disponibilidade em ajudar.
“Faça o teu melhor na condição que você tem,
enquanto não tem condições melhores,
para fazer melhor ainda.”
Mário Sérgio Cortella
RESUMO
Navigation means determining position and attitude of a moving body in relation to a reference
over time. The quantities position, velocity and attitude, which allow this body to be
georeferenced, are called navigation states. The combination of sensors that makes it possible
to determine navigation states is known as a navigation system. The integration of navigation
systems seeks to overcome the quality of states estimation in relation to that obtained with any
of the systems operating in isolation. For this, systems with complementary characteristics are
typically combined. In this context, the present paper involved the development of a navigation
system using GPS/INS integration through two Kalman filters. The first is used for attitude
estimation, using accelerometer, gyroscope and magnetometer readings. The second is used to
estimate the position from the GPS measurement and the accelerometer output. GPS/INS
integration benefits from small short-term INS estimation errors and the fact that GPS
measurements do not diverge over time. To validate the implemented system, a reference
trajectory was defined, from four points that were defined using a precision GPS. Such
validation was performed in simulation and from experimental data. With the simulated data,
the GPS/INS integration presented a better result than the GPS measurement alone. More
precisely, the mean error and the error variance of the values estimated by the filters were
smaller than those of the measured values. However, in the test with real data, the results of the
developed navigation system were below expectations. This was due to the high noise level of
the low-cost accelerometer used, in line with the double integration performed in the dynamic
model of the Kalman filter for position estimation.
Keywords: Integrated Navigation System. Kalman filter. GPS. INS Attitude estimation.
Position estimation.
LISTA DE ILUSTRAÇÕES
Tabela 1 - Erro médio e variância do erro das atitudes medida e estimada ............................. 33
Tabela 2 - Erro médio e variância do erro das posições medida e estimada ............................ 33
LISTA DE ABREVIATURAS E SIGLAS
1 INTRODUÇÃO .................................................................................................................. 12
2 ESTIMATIVA DE ATITUDE .......................................................................................... 15
2.1 Definição de referenciais ............................................................................................ 15
2.2 Definição dos ângulos de Euler .................................................................................. 16
2.3 Filtro de Kalman para estimativa de atitude ........................................................... 17
3 ESTIMATIVA DE POSIÇÃO .......................................................................................... 23
4 RESULTADOS E DISCUSSÃO ....................................................................................... 27
4.1 Resultados de simulação............................................................................................. 29
4.2 Resultados experimentais ........................................................................................... 33
5 CONCLUSÕES .................................................................................................................. 37
6 REFERÊNCIAS ................................................................................................................. 38
12
1 INTRODUÇÃO
Receptores GPS funcionam por meio da recepção de sinais de rádio emitidos por
satélites. Os sinais envolvidos na comunicação podem sofrer interferências do meio no qual
esses sinais se propagam, sendo distorcidos por fatores como condições atmosféricas adversas
e elementos presentes no meio de propagação, como edificações ou túneis (PISSARDINI et al.,
2017). Mais ainda, tipicamente as informações do GPS possuem uma baixa frequência de
atualização (por volta de 1 Hz) (FAKHARIAN; GUSTAFSSON; MEHRFAM, 2011). Essas
características podem impedir o emprego do GPS para navegação em determinadas situações.
Por exemplo, se for necessária uma frequência de atualização elevada para fins de controle.
Como alternativa pode-se adotar o sistema de navegação inercial ou INS (Inertial
Navigation System), que é composto por uma unidade de medidas inerciais ou IMU (Inertial
Measurement Unit). A IMU é formada por acelerômetros e giroscópios, geralmente três de
cada, montados em uma base comum (GREWAL; WEILL; ANDREWS, 2001). Combinando-
se as informações desses sensores, é possível calcular posição, atitude e velocidade de um corpo
por meio de sucessivas integrações numéricas em relação ao tempo, baseadas nas leis da
mecânica clássica de Newton (TITTERTON; WESTON, 2004). O INS é um sistema totalmente
autocontido, isto é, não depende da recepção de sinais de fontes externas (TITTERTON;
WESTON, 2004), como é o caso do GPS. Além disso, a IMU pode fornecer altas frequências
de amostragem, o que permite o INS ter elevadas taxas de atualização (FAKHARIAN;
GUSTAFSSON; MEHRFAM, 2011). Por outro lado, o INS depende do conhecimento preciso
da posição inicial do corpo, a partir da qual as medições inerciais são usadas para se obter
estimativas dos estados de navegação (TITTERTON; WESTON, 2004). Caso tal informação
não seja conhecida precisamente, o erro de estimativa pode divergir devido a erros na
integração.
É possível perceber que o INS e o GPS são complementares. No curto prazo, o INS gera
erros de estimativa pequenos. Já o GPS pode apresentar erros elevados, devido a interferências
nos sinais dos satélites. Em contrapartida, a longo prazo, as estimativas realizadas com base no
INS podem divergir em relação aos estados reais. Esse fenômeno não ocorre no GPS
(GREWAL; WEILL; ANDREWS, 2001). Portanto, a integração desses dois sistemas de
navegação foi e é amplamente explorada na literatura. Tipicamente tal integração é realizada
com base em um filtro de Kalman, como é feito em Shin e El-Sheimy (2002), Honghui Qi e
Moore (2002) e Romaniuk e Gosiewski (2014). Esse filtro se aproveita das características
complementares do INS e do GPS e, por meio de informações estatísticas sobre os erros de
ambos os sistemas, fornece uma implementação integrada com desempenho superior ao dos
sistemas separados (GREWAL; WEILL; ANDREWS, 2001).
14
2 ESTIMATIVA DE ATITUDE
Esses ângulos representam uma combinação de três rotações que move o n-frame para
o b-frame. Então, são utilizados para descrever a atitude de um corpo. Isso equivale a dizer que
qualquer atitude pode ser alcançada compondo três rotações elementares, isto é, rotações sobre
17
o único eixo. Além disso, significa que qualquer rotação pode ser decomposta como um produto
de três matrizes de rotação elementares (FLORES, 2015).
Para realizar tal rotação, neste trabalho adota-se a seguinte convenção: primeiro
rotacionar um ângulo 𝜓 em torno do eixo 𝑧 𝑛 original, depois rotacionar um ângulo 𝜃 em torno
do novo eixo 𝑦 𝑛 e, finalmente, rotacionar um ângulo 𝜙 em torno do novo eixo 𝑥 𝑛 . A matriz de
rotação elementar para cada uma dessas operações é dada, respectivamente, por (TITTERTON;
WESTON, 2004)
𝑐𝑜𝑠𝜓 𝑠𝑒𝑛𝜓 0
𝑪𝟏 = [−𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜓 0] (1)
0 0 1
𝑐𝑜𝑠𝜃 0 −𝑠𝑒𝑛𝜃
𝑪𝟐 = [ 0 1 0 ] (2)
𝑠𝑒𝑛𝜃 0 𝑐𝑜𝑠𝜃
1 0 0
𝑪𝟑 = [0 𝑐𝑜𝑠𝜙 𝑠𝑒𝑛𝜙] (3)
0 −𝑠𝑒𝑛𝜙 𝑐𝑜𝑠𝜙
Dessa forma, a transformação do n-frame para o b-frame pode ser expressa por
𝑪𝒃𝒏 = 𝑪𝟑 𝑪𝟐 𝑪𝟏
𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜓 𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜓 −𝑠𝑒𝑛𝜃 (4)
= [𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜙 − 𝑐𝑜𝑠𝜙𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜙𝑐𝑜𝑠𝜓 + 𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜙𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜙]
𝑐𝑜𝑠𝜙𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜃 + 𝑠𝑒𝑛𝜙𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜙𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜓 − 𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜙 𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜙
𝒛 𝑘 = 𝑯𝑘 𝒙 𝑘 (6)
18
𝜙
𝒙𝑎 = [ 𝜃 ] (7)
𝜓
1 0 0
𝑨𝑎 = [0 1 0] (8)
0 0 1
𝑇 0 0
𝑩𝑎 = [ 0 𝑇 0] (9)
0 0 𝑇
1 0 0
𝑎
𝑯 = [0 1 0] (10)
0 0 1
Fonte: O autor.
O vetor de entrada 𝒖𝑎 do FKA é dado pelas taxas de variação dos ângulos de Euler (𝜙̇,
𝜃̇, 𝜓̇). Pode-se calcular essas taxas de variação a partir das leituras do giroscópio do seguinte
modo (TITTERTON e WESTON, 2004):
𝜔𝑥 𝜙̇ 0 0
𝜔
[ 𝑦 ] = [ 0 ] + 𝑪𝟑 [𝜃̇] + 𝑪𝟑 𝑪𝟐 [ 0 ] (11)
𝜔𝑧 0 0 𝜓̇
𝜙̇ 1 𝑠𝑒𝑛𝜙𝑡𝑎𝑛𝜃 𝑐𝑜𝑠𝜙𝑡𝑎𝑛𝜃 𝜔𝑥
𝑎
𝒖 = [ 𝜃̇ ] = [0 𝑐𝑜𝑠𝜙 −𝑠𝑒𝑛𝜙 ] [𝜔𝑦 ] (12)
𝜓̇ 0 𝑠𝑒𝑛𝜙𝑠𝑒𝑐𝜃 𝑐𝑜𝑠𝜙𝑠𝑒𝑐𝜃 𝜔𝑧
𝐺𝑝𝑥 0
𝐺 𝒃 0
𝑮𝒑 = [ 𝑝𝑦 ] = 𝑪𝒏 [ ] (13)
𝐺𝑝𝑧 𝑔
Assume-se, portanto, que o corpo não possui aceleração linear em relação ao n-frame,
o que é uma limitação dessa formulação.
Além disso, adota-se a convenção de que a saída do acelerômetro é negada, de forma a
se obter um valor de +1𝑔 em qualquer eixo alinhado com o campo gravitacional descendente
da Terra (PEDLEY, 2013).
Substituindo (4) em (13) e dividindo ambos os lados por √𝐺𝑝𝑥
2 + 𝐺 2 + 𝐺 2 = 𝑔,
𝑝𝑦 𝑝𝑧
𝐺𝑝𝑥 −𝑠𝑒𝑛𝜃
1
[𝐺𝑝𝑦 ] = [𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜙] (14)
2 + 𝐺2 + 𝐺2
√𝐺𝑝𝑥 𝑝𝑦 𝑝𝑧 𝐺 𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜙
𝑝𝑧
𝐺𝑝𝑦
𝑡𝑎𝑛𝜙𝑎𝑐𝑐 = (15)
𝐺𝑝𝑧
−𝐺𝑝𝑥
𝑡𝑎𝑛𝜃𝑎𝑐𝑐 = (16)
2 + 𝐺2
√𝐺𝑝𝑦 𝑝𝑧
Note que, caso 𝐺𝑝𝑧 = 0, há uma singularidade em (15). Para contornar esse problema,
pode-se adicionar um novo termo no denominador. Assim como proposto em Pedley (2013),
aqui adota-se
𝐺𝑝𝑦
𝑡𝑎𝑛𝜙𝑎𝑐𝑐 = (17)
2 + 𝐺2
𝑠𝑖𝑔𝑛(𝐺𝑝𝑧 )√𝜇𝐺𝑝𝑥 𝑝𝑧
em que a função sinal (𝑠𝑖𝑔𝑛) é utilizada para manutenção do sinal de 𝐺𝑝𝑧 e 𝜇 é um escalar de
baixa magnitude.
21
Além disso, uma vez que (16) e (17) têm um número infinito de soluções em múltiplos
de 360°, adota-se a convenção de restringir as soluções para 𝜙 e 𝜃 na faixa de -180° a 180°. No
entanto, para garantir que exista apenas uma solução única, ainda é necessário limitar o ângulo
𝜃 na faixa de -90° a 90°. Dessa forma, (17) é calculada com a função ATAN2 (intervalo de
ângulo de saída de -180° a 180°) e (16) é calculada com a função ATAN (intervalo de ângulo
de saída -90° a 90°) (OZYAGCILAR, 2015).
De maneira similar ao acelerômetro, é necessário modelar a saída do magnetômetro, o
que pode ser feito transformando-se o vetor campo magnético da Terra (𝑩 = 𝐵[𝑐𝑜𝑠δ 0 senδ]𝑇 )
do n-frame para o b-frame, isto é
𝐵𝑝𝑥 𝑐𝑜𝑠𝛿
𝐵 𝒃
𝑩𝒑 = [ 𝑝𝑦 ] = 𝑪𝒏 𝐵 [ 0 ] (18)
𝐵𝑝𝑧 𝑠𝑒𝑛𝛿
Nota-se que essa formulação também leva em conta os ângulos 𝜙 e 𝜃, por isso é
chamada de tilt-compensated (inclinação compensada) (OZYAGCILAR, 2015).
Assim como (16) e (17), (19) também possui um número infinito de soluções em
múltiplos de 360°, logo deve-se limitá-las para 𝜓 na faixa de -180° a 180° e utilizar a função
ATAN2 para o cálculo desse ângulo (OZYAGCILAR, 2015).
Vale comentar que há um bias inicial na leitura do giroscópio. Isto é, tal sensor apresenta
medições diferentes de zero ainda que o sensor se encontre parado. Neste trabalho, estimou-se
o bias inicial realizando uma média das medições do giroscópio, para cada um dos eixos,
deixando a IMU em repouso sobre uma superfície plana por alguns instantes. Esses valores de
bias estimados foram, então, subtraídos das medições do giroscópio.
22
3 ESTIMATIVA DE POSIÇÃO
Fonte: O autor.
𝜑
𝜑̇
𝜆
𝒙𝑝 = ̇ (20)
𝜆
ℎ
[ ℎ̇ ]
1 𝑇 0 0 0 0
0 1 0 0 0 0
𝑨𝑝 = 0 0 1 𝑇 0 0 (21)
0 0 0 1 0 0
0 0 0 0 1 𝑇
[0 0 0 0 0 1]
𝑇2
0 0
2
𝑇 0 0
𝑇2
𝑩𝑝 = 0 2 0 (22)
0 𝑇 0
𝑇2
0 0
2
[0 0 𝑇]
1 0 0 0 0 0
𝑯 𝑝 = [0 0 1 0 0 0] (23)
0 0 0 0 1 0
O vetor de medição 𝒛𝑝 do FKP, como pode ser visto na Figura 6, é composto diretamente
pelas leituras do GPS, isto é,
𝜑𝐺𝑃𝑆
𝒛 = [ 𝜆𝐺𝑃𝑆 ]
𝑝
(24)
ℎ𝐺𝑃𝑆
em que 𝜑𝐺𝑃𝑆 , 𝜆𝐺𝑃𝑆 e ℎ𝐺𝑃𝑆 são, respectivamente, latitude, longitude e altura dadas pelo GPS no
ECEF frame.
O vetor de entrada 𝒖𝑝 do FKP é formado pelas medições do acelerômetro após três de
operações. A primeira operação é a transformação da saída do acelerômetro, que é dada no b-
frame, para o n-frame. Para isso é utilizada a matriz 𝑪𝒏𝒃 , obtida a partir de 𝑪𝒃𝒏 , dada em (4),
fazendo-se (TITTERTON; WESTON, 2004)
𝑇
𝑪𝒏𝒃 = 𝑪𝒃𝒏
𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜓 𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜙 − 𝑐𝑜𝑠𝜙𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜙𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜃 + 𝑠𝑒𝑛𝜙𝑠𝑒𝑛𝜓 (25)
=[𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜙𝑐𝑜𝑠𝜓 + 𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜙𝑠𝑒𝑛𝜓 𝑐𝑜𝑠𝜙𝑠𝑒𝑛𝜃𝑠𝑒𝑛𝜓 − 𝑐𝑜𝑠𝜓𝑠𝑒𝑛𝜙 ]
−𝑠𝑒𝑛𝜃 𝑐𝑜𝑠𝜃𝑠𝑒𝑛𝜙 𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜙
1
0 0
𝑅𝑁 + ℎ
𝑻= 𝑠𝑒𝑐𝜑 (26)
0 0
𝑅𝐸 + ℎ
[ 0 0 −1]
𝑅(1 − 𝑒 2 )
𝑅𝑁 = 3 (27)
(1 − 𝑒 2 sen2 𝜑)2
𝑅 (28)
𝑅𝐸 = 1
(1 − 𝑒 2 sen2 𝜑)2
𝑒 = 0,0818191908426 (29)
𝑅 = 6.378.137 𝑚 (30)
remover das medições do acelerômetro frequências mais elevadas que não correspondessem à
frequência do movimento realizada na prática. A análise de frequência realizada é apresentada
no Apêndice C.
Outro ponto importante é que a frequência de amostragem das medições do
acelerômetro, que compõem o vetor de entrada 𝒖𝑝 , é maior que das leituras do GPS, que
compõem o vetor de medição 𝒛𝑝 . Nos instantes de tempo em que apenas o vetor 𝒖𝑝 é atualizado,
a fase de predição do filtro de Kalman é realizada. Logo, a fase de correção, que depende do
vetor 𝒛𝑝 , é omitida. Novamente, um detalhamento sobre o filtro de Kalman é apresentado no
Apêndice A.
Sintetizando, para estimar a posição, retira-se o efeito gravitacional das leituras do
acelerômetro, após serem convertidas para o referencial de navegação usando (25). Em seguida,
transformam-se esses dados para o mesmo referencial da saída do GPS por meio de (26).
Finalmente, as informações desses dois sensores são combinadas com o modelo matemático
(21) - (23) no FKP para obtenção de uma estimativa de posição.
27
4 RESULTADOS E DISCUSSÃO
Como pode-se ver na Figura 7, ao percorrer a trajetória de referência, passa-se por baixo
de árvores do 𝑃𝑇01 ao 𝑃𝑇02 e por um trecho coberto pelo telhado de um bloco do 𝑃𝑇03 ao
𝑃𝑇04. Esses obstáculos podem influenciar o sinal do GPS utilizado nos testes e,
consequentemente, a precisão da medida de posição.
Nos testes, inicializou-se o vetor de estados 𝒙𝑎 do FKA da seguinte forma:
𝜙0 0°
𝒙𝑎0 = [ 𝜃0 ] = [ 0° ] (31)
𝜓0 75°
1 0 0 (32)
𝑎
𝑸 = [0 1 0 ]
0 0 1
29
100 0 0 (33)
𝑎
𝑹 =[ 0 10000 0 ]
0 0 100
𝜑0 −18,918986°
𝜑̇ 0 0°/𝑠
𝜆 0 −48,256146°
𝒙𝑝0 = 𝜆 ̇ = (34)
0 0°/𝑠
ℎ0 862,148 𝑚
̇
[ ℎ0 ] [ 0 𝑚/𝑠 ]
1 0 0 0 0 0
0 1 0 0 0 0
𝑸 = 0
𝑝 0 1 0 0 0 (35)
0 0 0 1 0 0
0 0 0 0 1 0
[0 0 0 0 0 1]
250 0 0
𝑝
𝑹 =[ 0 250 0 ] (36)
0 0 250
utilizados no teste com dados reais, em simulação configurou-se um modelo de ruído de baixa
acurácia predefinido para simular os erros dos sensores. Já na configuração de movimento da
simulação, a posição e a atitude iniciais foram definidas como sendo iguais a (31) e (34),
respectivamente. Além disso, especificaram-se os comandos de movimento necessários para
percorrer a trajetória mostrada na Figura 7. Esses comandos são acelerações lineares e atitudes
impostas ao veículo. Para deslocar o corpo, que inicialmente encontrava-se posicionado em
𝑃𝑇01, na direção do 𝑃𝑇02, aplicou-se uma determinada aceleração linear durante alguns
segundos. Em seguida, para que o veículo chegasse em 𝑃𝑇02 com uma velocidade nula, impôs-
se uma aceleração com sinal oposto a anterior. Finalmente, rotacionou-se o veículo em direção
ao 𝑃𝑇03, configurando-se um ângulo de guinada adequado. A mesma metodologia foi adotada
para os trechos seguintes da trajetória.
Aplicaram-se, então, as leituras dos sensores geradas pela simulação aos filtros
desenvolvidos (FKA e FKP). A atitude real (𝜙, 𝜃, 𝜓), também gerada pela simulação, foi
comparada às atitudes medida (𝜙𝑎𝑐𝑐 , 𝜃𝑎𝑐𝑐 , 𝜓𝑚𝑎𝑔 ) e estimada pelo FKA (𝜙̂, 𝜃̂, 𝜓̂). Da mesma
forma, comparou-se a posição real (𝜑 e 𝜆) às posições medida (𝜑𝐺𝑃𝑆 e 𝜆𝐺𝑃𝑆 ) e estimada pelo
FKP (𝜑̂ e 𝜆̂). As Figuras 8 até 11 mostram essas comparações. Em todos os casos, vê-se que o
emprego do filtro possibilitou a suavização de variações causadas pelo ruído de medida.
Figura 8 - Ângulo de rolagem estimado pelo FKA (𝜙̂) a partir de dados simulados. Também
são mostrados os dados reais (𝜙) e medidos (𝜙𝑎𝑐𝑐 ).
Fonte: O autor.
31
Figura 9 - Ângulo de arfagem estimado pelo FKA (𝜃̂) a partir de dados simulados. Também
são mostrados os dados reais (𝜃) e medidos (𝜃𝑎𝑐𝑐 ).
Fonte: O autor.
Figura 10 - Ângulo de guinada estimado pelo FKA (𝜓̂) a partir de dados simulados. Também
são mostrados os dados reais (𝜓) e medidos (𝜓𝑚𝑎𝑔 ).
Fonte: O autor.
32
Figura 11 - Posição estimada pelo FKP (𝜆̂ 𝑣𝑠 𝜑̂) a partir de dados simulados. Também são
mostrados os dados reais (𝜆 𝑣𝑠 𝜑) e medidos (𝜆𝐺𝑃𝑆 𝑣𝑠 𝜑𝐺𝑃𝑆 ).
Fonte: O autor.
Nas Figuras 8 e 9 nota-se que 𝜙 e 𝜃 são nulos durante todo o movimento, o que era
esperado, uma vez que a simulação é desenvolvida considerando que os sensores são mantidos
alinhados ao longo de todo o movimento.
O ângulo 𝜙̂, mostrado na Figura 8, apresentou picos de pequena amplitude (< 0,2°) em
alguns trechos. Isso ocorre devido aos ruídos presentes nas leituras do giroscópio. Essas leituras,
após serem transformadas em taxas de variação dos ângulos de Euler por meio de (12), são
utilizadas no vetor de entrada 𝒖𝑎 , gerando esses pequenos desvios na saída estimada pelo FKA.
Na Figura 9, o ângulo 𝜃𝑎𝑐𝑐 se desviou do valor real nos instantes em que se impôs
acelerações lineares ao corpo simulado. Isso ocorre porque, na formulação do vetor de medição
𝒛𝑎 , assume-se que a única aceleração presente no sistema é a aceleração gravitacional.
Consequentemente, as acelerações lineares do movimento geram erros nos valores medidos.
Aqui justifica-se o valor mais elevado associado ao estado 𝜃 da matriz 𝑹𝑎 . Isso é feito de forma
a se obter um ângulo 𝜃̂ menos susceptível a esse erro relacionado às acelerações lineares, como
pode ser visto também na Figura 9.
Nota-se que, com o ajuste realizado na matriz 𝑹𝑝 , obteve-se visualmente uma posição
estimada mais precisa que a medida pelo GPS, como mostra a Figura 11. Além disso, fez-se
uma análise quantitativa dos dados obtidos em simulação. Para isso, calculou-se o erro médio
33
(𝜀𝑚é𝑑𝑖𝑜 ) entre os valores de atitude e posição medidos e estimados pelos filtros em relação aos
valores reais. Também se determinou a variância (𝜎 2 ) do erro médio. Esses resultados estão
organizados nas Tabelas 1 e 2.
Ao observar os resultados obtidos, vê-se que o 𝜀𝑚é𝑑𝑖𝑜 dos valores estimados pelos filtros
é menor que o dos valores medidos, o que indica uma maior acurácia dos dados estimados. Da
mesma forma, o 𝜎 2 dos valores estimados também é menor, indicando um aumento da precisão
da estimativa em relação à medição. Esses resultados justificam, então, a aplicação dos filtros.
Portanto, o teste com os dados simulados permite concluir que as formulações
desenvolvidas para o FKA e FKP estão adequadas e permitem estimar a atitude e a posição de
um veículo, respectivamente.
Para a realização do teste com dados reais utilizou-se o módulo MPU-9250. Esse
módulo combina um MPU-6500, que consiste em um giroscópio de três eixos e um
acelerômetro de três eixos, e um AK8963, que é um magnetômetro de três eixos
(INVENSENSE, 2016). A frequência de amostragem usada foi de 20 Hz. Utilizou-se também
o módulo de GPS NEO-6M da fabricante u-blox (U-BLOX, 2011), configurado com uma
frequência de amostragem de 1 Hz.
Fixaram-se esses sensores a uma superfície plana e esta, por sua vez, foi fixada na tampa
de um notebook, responsável por coletar os dados dos sensores. Os módulos foram conectados
34
Fonte: O autor.
Fonte: O autor.
Na Figura 13 vê-se que os ângulos estimados pelo FKA estão coerentes com os vistos
em simulação. Os ângulos 𝜙̂ e 𝜃̂ ficaram próximo de 0° e o ângulo 𝜓̂ variou em degraus ao
longo do tempo. No entanto, é possível perceber que a atitude estimada ainda é bastante ruidosa.
36
Na Figura 14 é possível verificar que a posição medida pelo GPS se distanciou da posição de
referência, principalmente na parte superior da trajetória. Possivelmente, isso ocorreu devido a
esse trecho ser coberto, como citado anteriormente, o que interfere na recepção do sinal do GPS.
Nessa mesma figura, nota-se que a posição estimada pelo FKP visualmente não teve um
desempenho melhor que a posição medida pelo GPS. Esse fato pode ser explicado
primeiramente pelos ruídos na estimativa da atitude, o que compromete a transformação da
medição de aceleração para o n-frame. Além disso, a própria medição do acelerômetro é muito
ruidosa, uma vez que se trata de um sensor de baixo custo. Como explicado anteriormente, a
leitura do acelerômetro, após algumas transformações, compõe o vetor de entrada 𝒖𝑝 . Dessa
forma, a medição ruidosa desse sensor prejudica a fase de predição do FKP e faz com que esse
filtro não tenha um desempenho tão bom, no que tange à aproximação da posição estimada da
posição de referência.
Como principal ponto positivo, o emprego da combinação GPS e INS permitiu obter a
informação de posição com uma frequência maior do que utilizando-se apenas o GPS. Cabe
relembrar que, enquanto o GPS é atualizado a uma frequência de amostragem de 1 Hz, a IMU
fornece informações a 20 Hz.
37
5 CONCLUSÕES
6 REFERÊNCIAS
CIVITA, A.; FIORI, S.; ROMANI, G. A Mobile Acquisition System and a Method for Hips
Sway Fluency Assessment. Information, v. 9, n. 12, p. 321, 12 dez. 2018.
FLORES, P. Euler Angles, Bryant Angles and Euler Parameters. In: Concepts and
Formulations for Spatial Multibody Dynamics. 1. ed. Cham: Springer, 2015. p. 15–22.
HONGHUI QI; MOORE, J. B. Direct Kalman filtering approach for GPS/INS integration.
IEEE Transactions on Aerospace and Electronic Systems, v. 38, n. 2, p. 687–693, abr. 2002.
LAMMAS, A.; SAMMUT, K.; HE, F. 6-DoF Navigation Systems for Autonomous Underwater
Vehicles. In: Mobile Robots Navigation. 1. ed. London: IntechOpen, 2010.
NIELSEN, M. B.; RAQUET, J. F.; VETH, M.; PACHTER, M. Development and flight test
of a robust optical-inertial navigation system using low-cost sensors. 21st International
Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2008).
Anais...2008.
ROMANIUK, S.; GOSIEWSKI, Z. Kalman Filter Realization for Orientation and Position
Estimation on Dedicated Processor. Acta Mechanica et Automatica, v. 8, n. 2, p. 88–94, 15
ago. 2014.
SHIN, E.-H.; EL-SHEIMY, N. Accuracy improvement of low cost INS/GPS for land
applications. Proceedings of the 2002 National Technical Meeting of The Institute of
Navigation. Anais...San Diego: Institute of Navigation (ION), jan. 2002.
U-BLOX. NEO-6 u-blox 6 GPS Modules Data Sheet. Disponível em: <https://www.u-
blox.com/sites/default/files/products/documents/NEO-6_DataSheet_(GPS.G6-HW-
09005).pdf>. Acesso em: 20 mar. 2022.
Esse apêndice dá uma visão geral das equações e do funcionamento do filtro de Kalman,
conforme Bishop e Welch (2001). O filtro de Kalman aborda o problema geral de estimar o
estado 𝒙 ∈ ℝ𝑛 de um processo controlado a tempo discreto, que é descrito por
̂−
predição de medição 𝑯𝒙 𝑘 . Mais precisamente, calcula-se 𝒙
̂𝑘 como se segue
̂−
̂𝑘 = 𝒙
𝒙 ̂−
𝑘 + 𝑲(𝒛𝑘 − 𝑯𝒙 𝑘) (39)
̂−
em que (𝒛𝑘 − 𝑯𝒙 𝑘 ) é chamada de inovação (ou resíduo) de medição. O resíduo reflete a
̂−
discrepância entre a medição predita 𝑯𝒙 𝑘 e a medição real 𝒛𝑘 . Um resíduo de zero significa
que os dois estão em completo acordo. A matriz 𝑲 é escolhida para ser o ganho que minimiza
a covariância do erro a posteriori 𝑷𝑘 . Mais especificamente,
41
𝑲 = 𝑷− 𝑇 − 𝑇
𝑘 𝑯 (𝑯𝑷𝑘 𝑯 + 𝑹)
−1
(40)
As equações do primeiro grupo são responsáveis por projetar para frente (no tempo) as
estimativas do estado e da covariância de erro atuais para se obter as estimativas a priori para
o próximo passo de tempo. Já as do segundo são responsáveis por incorporar uma nova medição
na estimativa a priori para se obter uma estimativa a posteriori melhorada.
42
Fonte: O autor.
No entanto, na maioria dos casos, a distorção hard iron tem uma contribuição muito maior para
o erro total do sensor do que a soft iron, além de ser mais simples de ser corrigida. Dessa forma,
nesse trabalhou concentrou-se em calibrar o magnetômetro a fim de compensar a distorção hard
iron. Para isso, coletam-se as leituras do sensor por alguns instantes o movimentando
lentamente em variados padrões de oito no ar. Depois, encontra-se a leitura máxima e mínima
de cada eixo. Subtrai-se, então, das medições de cada eixo do sensor, a média entre os valores
máximo e mínimo daquele eixo. Isso equivale a centralizar as saídas circulares do
magnetômetro (VECTORNAV, 2022). O resultado dessa calibração é apresentado na Figura
17.
Fonte: O autor.
44
Por meio do espectro de frequência do sinal de cada um dos três eixos do acelerômetro,
observou-se que as frequências predominantes na medição desse sensor são abaixo de 2,5 Hz.
Dessa forma, adotou-se um valor um pouco abaixo a esse, 2,2 Hz, como a frequência de corte
do filtro passa-baixas projetado. Assim, as frequências presentes no sinal do acelerômetro foram
atenuadas a partir do valor de corte e praticamente eliminadas acima de 2,5 Hz. Isso pode ser
verificado na Figura 18, que apresenta os espectros de frequência das medições do acelerômetro
no eixo 𝑥 antes e depois da aplicação do filtro passa-baixas.
Fonte: O autor.
Fonte: O autor.
46
Dado
Nome: WGS 84
Nome da Elipsóide: WGS 84
Eixo Semi-maior: 6378137.000 m
Achatamento Inverso: 298.257223563
DX para WGS84: 0.0000 m
DY para WGS84: 0.0000 m
DY para WGS84: 0.0000 m
RX para WGS84: -0.000000 "
RY para WGS84: -0.000000 "
RZ para WGS84: -0.000000 "
ppm para WGS84: 0.000000000000
Pontos de Controlo : 1
Pontos de Referência : 0
Pontos Registados : 4
Pontos Alvo : 0
Pontos Intermédios : 0
Pontos de Controlo
95%
Nome Componentes Erro Estado Erro de
Controlo
MGUB Long 48° 15' 21.77766"W 0.001 Fixo
Lat 18° 55' 08.98803"S 0.001 Fixo
Altura da elipse 869.241 0.004 Fixo
Descrição MGUB
47
Pontos Registados
95%
Nome Componentes Erro Estado
PTO1 Long 48° 15' 22.12560"W 0.001 Processado (Estático)
Lat 18° 55' 08.34793"S 0.001 Processado (Estático)
Altura da elipse 862.148 0.001 Processado (Estático)
Ficheiros
Nome Hora de InícioAmostragem ÉpocasTamanho (Kb) Tipo
mgub2601.21d 21/09/16 21:00 15 5760 9870 L1/L2 GPS/GLONASS
BASHTA21.260 21/09/17 10:05 15 104 40 L1 GPS
BASHTB21.260 21/09/17 10:38 15 105 41 L1 GPS
BASHTD21.260 21/09/17 11:33 15 101 37 L1 GPS
BASHTE21.260 21/09/17 12:39 15 101 38 L1 GPS
Ocupações
Local Hora de InícioIntervalo de horas Tipo Ficheiro
MGUB 16 setembro 2021 21:00:00.00 23:59:45.00 Static mgub2601.21d
PTO1 17 setembro 2021 10:05:45.00 00:25:45.00 Static BASHTA21.260
PTO2 17 setembro 2021 10:38:15.00 00:26:00.00 Static BASHTB21.260
PTO3 17 setembro 2021 11:33:45.00 00:25:00.00 Static BASHTD21.260
PTO4 17 setembro 2021 12:39:45.00 00:25:00.00 Static BASHTE21.260
Processos
Referência Ficheiro de Referência Móvel Ficheiro Móvel Modo Núm
MGUB mgub2601.21d PTO4 BASHTE21.260 Static 1
MGUB mgub2601.21d PTO3 BASHTD21.260 Static 2
MGUB mgub2601.21d PTO2 BASHTB21.260 Static 3
MGUB mgub2601.21d PTO1 BASHTA21.260 Static 4
Vectores processados
Vector 95% Vector 95%
Identificador de VectorComprimento Erro Componentes Erro SV PDOP QA Solução
MGUB - PTO1 23.270 0.002 X -7.816 0.001 10 1.6 Fixo
21/09/17 10:05 Y -6.535 0.001
Z 20.921 0.001