2007 AntonioPadilhaLanariBo
2007 AntonioPadilhaLanariBo
2007 AntonioPadilhaLanariBo
FACULDADE DE TECNOLOGIA
UNIVERSIDADE DE BRASÍLIA
UNIVERSIDADE DE BRASÍLIA
FACULDADE DE TECNOLOGIA
DISSERTAÇÃO DE MESTRADO
Banca Examinadora
Apesar de sua natureza individual, este trabalho não poderia ser realizado sem o apoio de
diversas pessoas, para as quais manifesto meu profundo agradecimento.
Em especial, agradeço ao meu orientador, Geovany Araújo Borges, pela dedicação e paci-
ência, fundamentais para a realização de cada uma das etapas desse trabalho. Sua paixão
pela atividade de pesquisa e desenvolvimento, capaz de contribuir na construção de uma
sociedade mais justa e de um mundo mais próspero, me incentivou durante todo mestrado
e definitivamente me motiva para futuros projetos.
É de importante também agradecer a todos aqueles que fazem parte do Laboratório de Ro-
bótica e Automação (LARA) da Universidade de Brasília (UnB), com os quais compartilhei
as conquistas e frustrações que permearam este trabalho. Merecem destaque os amigos
Bruno Vilhena Adorno e Alexandre Simões Martins, que prestaram valiosas contribuições
ao trabalho, seja pelo auxílio na condução do experimentos, seja pelo desenvolvimento do
ambiente de simulação 3D utilizado no trabalho. Não há como deixar de citar também os
frutíferos debates psico-tecno-filosóficos e a companhia nos prazos que se estendem para
além do horário comercial.
Aos demais professores e funcionários do Departamento de Engenharia Elétrica (ENE) da
(UnB) com os quais tive contato durante o mestrado, agradeço pelo apoio para a confecção
do protótipo e durante as disciplinas.
Sem a compreensão dos colegas do Conselho Nacional de Desenvolvimento Científico e
Tecnológico (CNPq), este trabalho certamente não seria possível. Por este motivo, sou
extremamente grato pelo voto de confiança.
Pelo financiamento parcial deste trabalho, agradeço ao apoio da empresa Expansion.
Por fim, é de essencial importância agradecer aqueles que não estavam presentes no am-
biente de desenvolvimento do sistema de localização 3D, mas que, ao escutar devaneios
periódicos sobre representações de rotações, tiveram papel fundamental neste trabalho.
Aos meus pais, irmãs e irmão, ao amigo Manoel Brod, à Laís Garcia e aos demais amigos
e familiares, meu muito obrigado!
RESUMO
This work presents the development of a 3D localization system for application on a small Unmanned
Air Vehicle (UAV). The system is able to provide real time position, velocity and attitude estimates
of the vehicle. Due to restrictions imposed by the host vehicle, the system is composed by low cost,
small and light devices and the use of sensors based on external references is limited. Under those
constraints, the following sensors were chosen to compose the system: gyrometers, accelerometers,
magnetometers, pressure sensor and GPS receiver. The manuscript describes each sensor model
individually and the hardware and software design. Calibration procedures and the sensor fusion
algorithm are presented in detail, in which magnetometer and GPS receiver are used to correct the
estimates updated by inertial sensors. Experimental results from tests carried out in laboratory and
outdoors confirm the possibility to employ the system on different applications.
SUMÁRIO
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 C ONTEXTUALIZAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 P ROJETO C ARCARAH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 D EFINIÇÃO DO PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 L OCALIZAÇÃO V S . NAVEGAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 O BJETIVOS DO PROJETO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 D EMAIS APLICAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 R ESULTADOS E CONTRIBUIÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 A PRESENTAÇÃO DO MANUSCRITO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
iii
3.2.1 ACELERÔMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.2 G IRÔMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.3 M AGNETÔMETRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.4 S ENSOR DE PRESSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.5 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3 P ROJETO DA PLACA DE CIRCUITO IMPRESSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 P ROCEDIMENTOS INICIAIS DE CALIBRAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.1 C ONVERSÃO A NALÓGICA /D IGITAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.5.2 ACELERÔMETROS E MAGNETÔMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.3 G IRÔMETROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.4 S ENSOR DE PRESSÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.1 C ONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2 P ROPOSTAS DE TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
ANEXOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A. REPRESENTAÇÃO DE ROTAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A..1 M ATRIZES DE ROTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A..1.1S UCESSIVAS ROTAÇÕES COM MATRIZES DE ROTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
A..1.2P ROPAGAÇÃO DA ATITUDE COM MATRIZES DE ROTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . 100
A..2 Â NGULOS DE E ULER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
A..2.1P ROPAGAÇÃO DA ATITUDE COM ÂNGULOS DE E ULER . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A..3 Q UATÉRNIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A..3.1C ONCEITOS BÁSICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A..3.2Q UATÉRNIOS REPRESENTANDO ROTAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A..3.3S UCESSIVAS ROTAÇÕES COM QUATÉRNIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
A..3.4P ROPAGAÇÃO DA ATITUDE COM QUATÉRNIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.4 O módulo MicroMag3, disponibilizado pela PNI Corporation, que proporciona me-
dição das três componentes ortogonais do campo magnético................................... 37
3.5 mb medida pelo conjunto de magnetômetros, quando parado. Os desvios-padrão es-
timados são σ̂mx = 0, 0624 µT , σ̂my = 0, 0274 µT e σ̂mz = 0, 0546 µT . Nesse
experimento, os magnetômetros estavam sob influência de um campo magnético adi-
cional ao campo terrestre provocado pela presença de um alto-falante próximo ao
sensor. ........................................................................................................ 38
3.6 O módulo GPS ET-102, comercializado pela Globalsat Technology. ........................ 39
3.7 Dados fornecidos pelo receptor GPS, quando parado. Os desvios-padrão estimados
são σ̂gpsx = 2, 108 m, σ̂gpsy = 3, 169 m, σ̂gpsz = 1, 551 m, σ̂gpsvx = 0, 0623 m/s,
σ̂gpsvy = 0, 0622 m/s e σ̂gpsvz = 0, 0078 m/s.................................................... 40
3.8 Sistema de localização 3D projetado e construído nos laboratórios da universidade:
(a) diagrama de blocos e (b) fotografia. .............................................................. 41
3.9 Fluxograma do firmware que é executado no microcontrolador AT91SAM7S256, da
Atmel. ........................................................................................................ 43
3.10 Representação do erro de estimação do ângulo de arfagem, θ.................................. 47
3.11 Erro provocado na estimação de posição do eixo X a partir dos acelerômetros, caso
haja erros na estimação de θ. Foi adotado período de amostragem de 10 ms e inte-
gração retangular........................................................................................... 47
3.12 Evolução dos parâmetros estimados em simulação. Os valores reais estão destacados
em vermelho. Antes da calibração, tinha-se V = 0, 276; após, V = 0, 058. ............... 49
vii
3.13 Evolução dos parâmetros estimados em simulação. Os valores reais estão destacados
em vermelho. Antes da calibração, tinha-se V = 7, 623; após, V = 0, 067. ............... 52
ix
LISTA DE SÍMBOLOS
Símbolos
λ latitude
Λ longitude
h altitude
P pressão atmosférica
T temperatura
h altitude
Sobrescritos
˙ variação temporal
˜ valor corrompido por erros
ˆ valor estimado
Siglas
Paulinho da Viola
1.1 CONTEXTUALIZAÇÃO
O ser humano, por exemplo, utiliza prioritariamente a informação dos olhos para estabelecer sua
posição no espaço. Porém, o labirinto, tato, olfato, audição e até mesmo os músculos são dotados
de grande importância. Naturalmente, outros animais possuem sistemas diferentes. Formigas ope-
rárias, por exemplo, utilizam marcos bioquímicos criados pelas formigas batedoras. Já os morcegos
possuem um sistema baseado em ultra-som capaz de detectar obstáculos ao seu redor. Por fim, até o
campo magnético da Terra é utilizado para localização, como, por exemplo, por bactérias, pombos,
tartarugas.
Todo sistema de localização faz parte de um sistema maior ou de uma aplicação específica, que
possui seus objetivos particulares. Neste contexto, a escolha de um sistema de localização se dá em
função desse sistema ou dessa aplicação na qual será instalado. Diante disso, este trabalho é executado
no contexto de um projeto de robótica aérea desenvolvido pela Universidade de Brasília, o Projeto
Carcarah. Este projeto visa adaptar um helimodelo teleoperado, concedendo-lhe determinados graus
1
de autonomia, para aplicações em operações de inspeção de linhas de transmissão.
A robótica aérea surgiu como uma alternativa para superar limitações de deslocamento existen-
tes em aplicações de robótica móvel terrestre. Em especial, robôs que se deslocam sem o contato
com o solo têm maior facilidade para transpor certos tipos de obstáculos e alcançar localidades de
difícil acesso em topologias mais complexas. Essa versatilidade confere aos Veículos Aéreos Não-
Tripulados (VANTs) ou, em inglês, Unmanned Aerial Vehicles (UAVs) variadas aplicações de cunho
civil ou militar. Apesar das evidentes vantagens, porém, os robôs aéreos possuem algumas desvanta-
gens quando comparados aos seus pares terrestres. Pode-se citar, por exemplo, a limitada capacidade
de carga, a exigência do cumprimento de normas rígidas de segurança e a inerente dificuldade de
se controlar robôs que não estão apoiados sobre uma superfície. Por esta última razão, os sistemas
de controle de tais veículos necessitam de informação de maior qualidade acerca da sua posição,
velocidade e atitude, quando comparados a controladores utilizados em veículos terrestres ou aquáti-
cos. Maiores informações acerca de conceitos relacionados à robótica aérea, as diversas plataformas
disponíveis e os respectivos desafios envolvidos podem ser encontradas em [1, 2].
No contexto do Projeto Carcarah, porém, a aeronave, um sistema de pequeno porte, curto alcance
e que não atuará em modos de vôo extremos, deve ser capaz de realizar inspeção de linhas de trans-
missão localizadas em ambientes externos e, em muitas vezes, de difícil acesso. Diante disso, torna-se
indispensável a utilização de um sistema de localização confiável e que funcione sob tais condições.
Além disso, apesar da comunicação contínua entre o veículo e uma estação-base, é desejável que a
aeronave possua total condição de determinar sua localização caso tal comunicação seja perdida, de
maneira a disponibilizar informação de localização ao sistema de controle. Por fim, devido a res-
trições impostas pelo veículo, tal sistema deve apresentar reduzidas dimensões, peso e consumo de
energia. O desenvolvimento desse sistema foi a principal motivação para este trabalho.
Um sistema de localização 3D pode ser definido como um sistema que, a partir de informação
disponibilizada por sensores, é capaz de fornecer estimativas confiáveis de posição, velocidade e
atitude em relação a um sistema de coordenadas tridimensional de referência. Assim, é um sistema
que, a partir dos dados fornecidos por dispositivos capazes de detectar ou quantificar parâmetros
2
específicos de determinada grandeza física, fornecem estimativas de rn , vn e qbn (posição, velocidade
e orientação, respectivamente).
Diante dessa definição, torna-se clara a necessidade de se estabelecer a natureza dos sensores uti-
lizados, visto que, a partir de diferentes sensores, diferentes abordagens são utilizadas no projeto do
sistema de localização. Assim, os sensores passíveis de emprego em tal sistema podem ser classifica-
dos em:
• Proprioceptivos, que medem estados internos do veículo, tais como codificadores incrementais
(em inglês, encoders) ou sensores inerciais.
• Exteroceptivos, que utilizam algum tipo de referência externa ao veículo para fornecer infor-
mações relativas à localização, tais como sensores ultra-sônicos, baseados em visão compu-
tacional, sensores de contato. Alguns desses sistemas requerem a instalação de dispositivos
adicionais no ambiente de operação, como sistemas baseados em balizadores ativos.
Naturalmente, deve-se considerar que os dois tipos de sensores possuem vantagens e desvantagens
distintas. Uma das principais desvantagens de sistemas que utilizam referências externas para auxílio
na determinação da posição, por exemplo, é que suas estimativas podem se tornar inutilizáveis caso
a referência externa seja degradada ou simplesmente retirada. É o caso, por exemplo, de bússolas
posicionadas próximas a campos magnéticos de alta intensidade. Os sensores proprioceptivos, por
outro lado, bem como alguns sensores exteroceptivos, não são capazes de fornecer estimativas diretas
de posição, até mesmo porque a posição só pode ser definida em relação a um referencial externo.
Nesse contexto, como sensores dessa natureza fornecem apenas medidas relativas da localização,
tais estimativas possuem erros que se acumulam com passar do tempo devido a erros de medição ou
de calibração. É o caso, por exemplo, de encoders instalados junto a rodas que momentaneamente
perdem o contato com o chão.
Diante desse contexto, em muitos casos são projetados sistemas integrados de localização, ou
seja, sistemas que, a partir das informações fornecidas por um conjunto de sensores, promovem a
fusão desses dados para fornecer a estimativa de localização 3D. Muitos desses sistemas empregam,
tal como o sistema proposto neste trabalho, sensores que fornecem medidas absolutas para corrigir a
estimativa fornecida pelos sensores proprioceptivos.
Assim, a localização (relativo ao latim locus, que significa local), como já foi dito, pode ser vista
como a determinação, no decorrer do tempo, da posição no espaço. A posição pode ser determi-
nada em relação a um sistema de coordenadas absoluto ou a simplesmente em relação um sistema
de coordenadas definido pela posição inicial do veículo. Além disso, em alguns casos, também a
determinação da atitude faz parte do problema de determinação da localização.
3
Já a navegação (relativo ao latim navigare, em que navis e igare significam, respectivamente,
veículo e conduzir) diz respeito não apenas a saber onde se está, mas também a saber onde se está
em referência ao caminho que se deve tomar para alcançar o destino desejado. Ou seja, assume-se
aqui que a navegação envolve não apenas o problema de localização, mas também o problema de
determinação da trajetória que será executada, bem como os sistemas de controle, responsáveis por
manter o veículo na trajetória desejada.
Considerados estes termos, reforça-se o fato de que este trabalho preocupa-se apenas com o pro-
blema de localização.
Neste contexto, optou-se por empregar o seguinte conjunto de sensores no sistema de localização
proposto, cujos papéis serão mais detalhadamente descritos no Capítulo 2.1:
• Girômetros, que medem a velocidade de rotação em torno de seu eixo de máxima sensibili-
dade;
Diante das informações fornecidas por tais sensores, uma unidade embarcada de processamento
deve ser capaz de, por meio de um algoritmo de fusão sensorial, fornecer estimativas de rn , vn e qbn .
Nesse contexto, o trabalho envolve o estudo dos sensores utilizados, bem como suas fundamen-
tações matemáticas, o projeto eletrônico do sistema, a confecção do software embarcado responsável
pelo processamento das informações e disponibilização dos dados e, por fim, o projeto e implemen-
tação do algoritmo responsável pela estimação da localização do veículo. Vale destacar também que
os sensores utilizados são dispositivos de baixíssimo custo que, assim, apresentam desempenho re-
duzido quando comparados a sensores utilizados, por exemplo, pela indústria aeronáutica. Assim, há
4
contínua preocupação com a calibração de tais sensores, com o objetivo de fornecer estimativas de
maior qualidade.
• Veículos autônomos aquáticos ou terrestres. Devido ao ambiente em que operam tais veí-
culos, um conjunto distinto de sensores pode ser empregado. Em robôs que se locomovem
sobre um plano, por exemplo, não há necessidade da estimação da variação de altitude ou dos
ângulos de arfagem e rolagem. Sistemas como o proposto neste trabalho, porém, são capazes
de auxiliar sistemas mais especializados existentes nesses veículos;
• Navegação pessoal. Não apenas para deficientes visuais, mas também para diversas outras ati-
vidades humanas, um sistema de localização 3D com tais características é de grande utilidade;
• Treinamento esportivo. Sistemas similares já são utilizados para avaliação dos movimentos
executados pelos atletas. Na natação, por exemplo, acelerômetros e uma câmera de vídeo são
empregados para estimar a aceleração provocada em cada instante da braçada;
5
• Posicionamento dinâmico de antenas. Em sistemas desta natureza, em muitos casos é indis-
pensável uma robusta determinação da atitude relativa a um sistema baseado em coordenadas
geográficas, o que pode ser alcançado com os sensores empregados no sistema proposto;
• Manuseio de cargas pesadas por guindastes. Visto que em geral tais atividades requerem
grande perícia do operador, sistemas de localização 3D podem ser utilizados em sistema auto-
máticos de auxílio à operação do guindaste;
• Brinquedos diversos. As aplicações nessa área são as mais variadas, envolvendo desde brin-
quedos com algum grau de movimentação automática até dispositivos que reagem ao movi-
mento;
• Instrumentação industrial variada. Uma das aplicações para o ambiente fabril envolve a
localização 3D do objeto de interesse em linhas de produção altamente flexíveis, baseadas em
manipuladores robóticos;
• Aplicações médicas. Espera-se um número cada vez maior de aplicações médicas para siste-
mas dessa natureza. Por enquanto, um dos dispositivos desenvolvidos é um bisturi modificado
que compensa vibrações indesejadas provocadas pelo médico;
• Aplicações militares. As aplicações militares representam grande parte dos casos em que já
foi utilizado sistema semelhante ao proposto neste trabalho. Alguns exemplos são veículos
autônomos de combate e mísseis e projéteis de baixo custo.
Parte do conteúdo desse manuscrito já foi submetido a congressos científicos, com o intuito de
divulgar a metodologia adotada e os resultados obtidos. Em [3], descreve-se o desenvolvimento
de um sistema de determinação em tempo real de atitude baseado em girômetros, acelerômetros e
6
magnetômetros de baixo custo. São apresentados o algoritmo responsável pela fusão sensorial e
os resultados alcançados. Já os resultados referentes ao sistema completo de estimação da posição,
velocidade e atitude são apresentados em [4]. Por fim, alguns dos procedimentos iniciais de calibração
desenvolvidos no contexto foram apresentados em [5].
Além disso, cabe destacar algumas contribuições relativas a atividades desenvolvidas junto ao
Projeto CARCARAH, projeto no qual este trabalho está inserido. Apesar de ainda não terem sido
realizados experimentos de certificação do sistema de localização 3D no VANT, em [6] e [7] são
apresentados resultados à regulação da velocidade do rotor principal do helimodelo, etapa importante
para os outros níveis de controle do veículo.
Este manuscrito está distribuído em cinco capítulos principais e dois capítulos adicionais, dispo-
nibilizados em Anexo. Os três capítulos principais, em que são descritas as atividades de pesquisa
realizadas, foram ordenados de acordo com o andamento cronológico da pesquisa. Tais capítulos
representam também fases distintas do projeto, caso se considere a natureza das atividades realizadas
em cada etapa.
No Capítulo 2 são expostos alguns dos conceitos básicos utilizados no decorrer do projeto. Ini-
cialmente, são apresentados os sistemas de coordenadas utilizados. Em seguida, são descritas indi-
vidualmente as tecnologias empregadas no projeto, com destaque para as vantagens, desvantagens
e formulações matemáticas. Por fim, o capítulo é concluído com algumas considerações acerca dos
modelos de erro adotados e com uma breve introdução acerca das arquiteturas de fusão sensorial
aplicadas a sistemas de localização.
O Capítulo 4, então, expõe o algoritmo que promove a fusão dos dados disponibilizados pelos
sensores. Inicialmente, é discutido o procedimento para determinação apenas da atitude. Em seguida,
apresenta-se o algoritmo responsável pela determinação completa da localização do veículo a partir
das informações disponíveis. Tais algoritmos executam também a calibração online de alguns senso-
res. Os resultados experimentais obtidos com o sistema são também apresentados e discutidos nesse
capítulo. Por fim, alguns testes com o sistema em outras configurações são apresentados.
7
No Capítulo 5, é apresentado um breve resumo do manuscrito e dos resultados obtidos, bem
como as conclusões mais pertinentes. Estão presentes também algumas propostas de trabalhos futuros
relacionadas ao tema desenvolvido neste trabalho.
Por fim, nos Anexos A. e B., relativos a rotações em <3 e ao Filtro de Kalman Estendido, são
apresentados conceitos e notações fundamentais utilizados durante toda extensão do manuscrito, e no
Anexo C. são apresentados os diagramas esquemáticos do protótipo construído.
8
2 SISTEMAS DE LOCALIZAÇÃO 3D PARA APLICAÇÃO EM VANTS
There is no truth
There is only perception
Gustave Flaubert
2.1 INTRODUÇÃO
É importante recordar, porém, que o sistema proposto deve atender a determinados requisitos, que
foram apresentados na Seção 1.3. Diante desse contexto, não foi considerada o emprego de sistemas
como radares, balizadores ativos, entre outros, visto que possuem características operacionais bastante
distintas das pretendidas neste caso. Também não há, neste trabalho, qualquer preocupação com a
detecção de obstáculos ou áreas de interesse presentes nesse espaço. Assim, não são aqui descritos
sistemas que poderiam ser utilizados para tal fim, como sensores ultra-sônicos ou laser rangefinders,
apesar de que tais sistemas deverão ser empregados em um sistema especialista de auxílio ao pouso
do VANT. Por fim, também não foram considerados sistemas baseados em visão computacional, pois
também fogem ao escopo do presente trabalho. Vale dizer que tais decisões foram tomadas no intuito
de conservar a generalidade do sistema proposto e não limitar o escopo de suas aplicações a ambientes
estruturados.
Os sistemas de coordenadas são utilizados para referenciar pontos no espaço. Neste trabalho,
estamos interessados em determinar tais posições tanto em relação a referências arbitrárias quanto a
coordenadas geográficas. Dessa forma, os seguintes sistemas de coordenadas são empregados (Figu-
ras 2.1 e 2.2):
9
• Sistema de coordenadas inercial, ECI (do inglês, Earth-Centered Inertial) ou Sistema I, é o
sistema de coordenadas em que a origem está localizada no centro de gravidade da Terra, o eixo
X aponta para a intersecção da eclíptica com o equador celestial (no momento do equinócio da
primavera no hemisfério norte), o eixo Z para o pólo norte e o eixo Y é determinado pela regra
da mão direita. Recebe este nome por manter-se fixo em relação à rotação da Terra.
Neste trabalho, todos os vetores possuem índices que representam a qual sistema as referidas
coordenadas estão referenciadas. Assim, o vetor de força específica no Sistema B, por exemplo, é
identificado por f b .
ωe
em que ωe = 7, 2921158.10−5 rad/s, considerando que a velocidade de rotação da Terra é constante.
10
Figura 2.1: Alguns sistemas de coordenadas utilizados neste trabalho.
seja, ao invés das coordenadas x, y e z, as posições são reprepresentadas pelas suas latitude, longitude
e altitude. A latitude λ varia de −90◦ a 90◦ a partir do plano equatorial, a longitude Λ de −180◦ a
180◦ a partir do plano definido pelo meridiano de Greenwich e a altitude é a altura medida a partir do
nível médio do mar.
Caso o nosso planeta fosse uma esfera perfeita, a conversão das coordenadas de um sistema
cartesiano com origem no centro da Terra para um sistema esférico com mesma origem se daria por
meio das seguintes equações:
r e
z
λgeocentrica = arctan q (2.2)
(rx ) + (rye )2
e 2
rye
Λ = arctan (2.3)
rxe
hgeocentrica = kre k − RT (2.4)
em que q
kre k = (rxe )2 + (rye )2 + (rye )2
Todavia, a Terra não é uma esfera perfeita e convencionou-se representar sua geometria irregular
por um elipsóide de revolução, modelo adotado neste trabalho. Para um elipsóide, os cálculos de
latitude e altitude diferem de um sistema esférico (equações (2.2) e (2.4)). A computação da longitude
(eq. (2.3)) se dá da mesma forma.
De fato, para o elipsóide, há duas representações possíveis da latitude. Uma delas é chamada de
latitude geocêntrica, ou λgeocentrica , e é medida em relação ao centro da Terra. A outra é chamada
11
Figura 2.2: O Sistema B.
Diante disso, para se obter as coordenadas geodésicas a partir das coordenadas cartesianas ou geo-
cêntricas, diversos procedimentos podem ser adotados. O seguinte método iterativo é freqüentemente
utilizado [8]:
em que
R T − rT
eT = = 0, 00335281070319
RT
é conhecida como elipticidade da Terra e RT e rT são respectivamente os semi-eixos médios maior e
menor da Terra. Costuma-se fazer λgeodesica (0) = λgeocentrica .
Por fim, vale acrescentar que, nesse trabalho, λ refere-se a λgeodesica e h refere-se a hgeodesica .
2.2.2 Sistema N ED
12
e no Sistema N ED, faz-se
Assim, caso se deseje representar ωie
ωe cos λ
n
ωie = Cen ωie
n
= 0 . (2.8)
−ωe sin λ
h iT
n vE −vN −vN tan λ
ωen = RT +h RT +h RT +h
. (2.9)
Por este motivo, utiliza-se em sistemas de navegação globais um Sistema N que se rotaciona em
torno do eixo Z de forma a evitar tal singularidade. Neste trabalho, porém, será utilizada o sistema
de coordenadas tal como descrito.
Sistemas como esse possuem diversas vantagens. Não há, por exemplo, necessidade de contar
com referências externas para o funcionamento. Além disso, devido a este fato, não ocorrerão in-
terferências no sinal, sejam intencionais ou não. Porém, como a posição é obtida por operações
de integração, pequenos erros de medida são acumulados no decorrer da operação do dispositivo,
ocasionando erros ilimitados em tempo infinito. Em especial, sistemas de navegação inercial são sen-
síveis a erros de alinhamento, biases e fatores de escala dos sensores, visto que componentes de alta
freqüência têm efeito reduzido devido a limite de banda do sistema. Por este motivo, em muitos casos
os sistemas de navegação inercial operam em conjunto com sistemas de medição absolutos, como o
GPS. Alguns destes sistemas serão os temas das próximas seções deste capítulo.
1
A atitude é caracterizada pelos 3 ângulos de orientação do veículo em relação a um sistema de coordenadas tridimen-
sional conhecido.
13
2.3.1.1 Acelerômetros
Como o próprio nome diz, acelerômetro é um instrumento que mede a aceleração. Entretanto, essa
definição pode ser um pouco difusa, pois, mesmo quando imóvel em relação a um referencial inercial,
em geral o instrumento ainda gera uma saída diferente de zero, referente ao campo gravitacional no
qual o dispositivo em geral se encontra. Isso se dá porque, na verdade, ao invés da aceleração, os
acelerômetros medem a força necessária para manter um corpo de prova no interior do instrumento.
Assim, como a massa do corpo de prova2 é conhecida, a partir da medida da força pode-se calcular
a aceleração. Por conta deste motivo, muitos consideram que, na realidade, acelerômetros medem a
força específica, ou f , que age sobre o corpo.
A força específica, porém, não pode ser diretamente utilizada para se obter a aceleração inercial
do dispositivo. Caso o instrumento esteja em queda livre, por exemplo, o valor medido será zero, visto
que tanto o dispositivo quanto o corpo de prova estarão submetidos à mesma força. Ao mesmo tempo,
caso o dispositivo esteja imóvel em uma bancada de laboratório, sua saída será diferente de zero.
Assim, em termos práticos pode-se assumir que os acelerômetros fornecem medida da aceleração
inercial do instrumento subtraída da aceleração gravitacional local.
Nesse contexto, os acelerômetros são também utilizados para determinar a inclinação de um ob-
jeto estático em relação ao plano perpendicular à aceleração da gravidade (que muitas vezes está
alinhado ao plano da superfície terrestre). Para tanto, basta dispor dois acelerômetros ortogonalmente
entre si e, a partir das componentes da aceleração da gravidade medidas pelo instrumento, calcular
o ângulo de inclinação do plano definido pelos eixos sensíveis dos sensores. Não se pode, natural-
mente, determinar rotações em torno do vetor da aceleração gravitacional, visto que as medidas dos
dois acelerômetros se mantêm constantes caso o corpo seja girado em torno desse eixo. Mesmo com
a utilização de três acelerômetros, não se pode determinar por completo a atitude do dispositivo.
2.3.1.2 Girômetros
Girômetros são dispositivos que medem a velocidade de rotação em relação a um sistema de coor-
denadas inercial. Também são chamados de giroscópios3 , mas aqui prefere-se utilizar a nomenclatura
formal, visto que giroscópio foi o nome dado historicamente ao aparelho mecânico composto por um
2
Os corpos de prova utilizados em sensores da Analog Devices pesam menos de 0, 1 µg [9].
3
De fato, em inglês gyroscope pode representar tanto um girômetro (rate gyroscope) quanto um gôniometro (displace-
ment gyroscope), dispositivo usado para medir deslocamentos angulares.
14
disco rotativo e anéis concêntricos (em inglês, gimbals).
Ao contrário dos acelerômetros, um grande número de técnicas pode ser utilizado para a cons-
trução de girômetros. Atualmente, o estado-da-arte são dispositivos óticos, como o Ring Laser Gy-
roscope ou o Fiber Optic Gyroscope [10]. Neste trabalho, porém, a preferência é por dispositivos de
dimensões reduzidas e de baixos custo e consumo de energia. Tais dispositivos geralmente utilizam
a aceleração de Coriolis para efetuar a medição da velocidade de rotação. A aceleração de Coriolis
é provocada em um corpo que possui velocidade não-nula em relação a um outro corpo que gira e
sobre o qual o primeiro está apoiado. Ocorre, por exemplo, quando um veículo se desloca sobre a
superfície da Terra. Uma das tecnologias mais utilizadas, por exemplo, baseia-se numa massa que
vibra linearmente no plano ortogonal ao eixo de medição. Quando ocorre uma rotação, o corpo em
movimento sofre uma aceleração tangencial proporcional à velocidade de rotação e à velocidade do
corpo, a aceleração de Coriolis. Em muitos casos, para aumentar rejeição a vibrações, utiliza-se dois
elementos que oscilam com mesma amplitude, mas em direções opostas, como no girômetro tuning
fork (uma tradução possível é forquilha ajustável). Os girômetros da família ADXRS, da Analog
Devices, são baseados em um princípio de operação semelhante. Em [11], são descritas as principais
tecnologias comercializadas atualmente.
É importante destacar, por fim, que os girômetros, da mesma forma que os acelerômetros, medem
velocidade de rotação em referência a um sistema inercial. Neste sentido, caso o dispositivo opere na
Terra, por exemplo, em geral será sensível também à rotação do planeta.
Sistemas inerciais utilizados para navegação podem ser divididos em duas categorias [12]. Os
primeiros sistemas disponíveis utilizavam três anéis concêntricos ou gimbals para isolar o conjunto
de acelerômetros das rotações realizadas pelo veículo. Desta forma, caso se considere um sistema
ideal, os eixos de medida do conjunto de acelerômetros estarão sempre alinhados com o plano per-
pendicular à aceleração da gravidade. Na prática, entretanto, devido principalmente ao atrito entre os
gimbals e a plataforma e ao desbalanceamento de massa das peças que compõem o sistema, girôme-
tros são também montados na plataforma para detectar rotações residuais. As respectivas medidas são
utilizadas para acionar motores, que realinham a plataforma. Vale destacar ainda que, em veículos
que executam manobras complexas, torna-se necessário instalar mais um gimbal, visto que há a pos-
sibilidade de ocorrência de um gimbal lock, efeito em que dois ou três gimbals se alinham, impedindo
a detecção de rotação no(s) eixo(s) restante(s).
Acerca das vantagens e desvantagens de cada sistema, pode-se dizer que os sistemas gimbaled
(ou estabilizados) são mais caros, maiores e mais pesados. Já os sistema strapdown são menores, mas
15
requerem girômetros mais sensíveis e software mais complexo.
Inicialmente, serão descritas tais equações para o caso em que se deseja determinar as coordena-
das do veículo em relação a um sistema de coordenadas inercial. Nesse caso, será considerado que o
veículo sofre apenas os efeitos da aceleração gravitacional local e da aceleração causada por forças
locais, como de seu próprio sistema de propulsão e do atrito. Em seguida, serão considerados os
casos em que os sistemas de referências são o Sistema E e o Sistema N , em que são acrescentados
os efeitos relativos à rotação da Terra.
Os sistemas de coordenadas utilizados foram descritos na Seção 2.2, enquanto que grande parte
dos fundamentos matemáticos necessários para este desenvolvimento estão descritos no Anexo A..
Caso o veículo não realize nenhuma rotação, o procedimento para se obter a posição é sim-
plesmente uma dupla integração da aceleração inercial. Entretanto, normalmente alguma rotação é
realizada e torna-se necessário representar o vetor de acelerações no sistema do corpo, ab , no sistema
inercial, ai . Assim, caso seja utilizada a representação de rotações com quatérnios, a velocidade no
Sistema I evoluirá de acordo com:
v̇i = Cbi ab ,
Entretanto, como visto na Seção 2.3.1.1, o acelerômetro mede, na verdade, a força específica
agindo sobre o dispositivo. Assim, a equação utilizada é:
Resta ainda, porém, a obtenção de qbi , o quatérnio que representa a rotação do Sistema B para o
Sistema I, a partir das medidas dos girômetros, que é dada conforme a eq. (A..23), ou seja,
1 b b
q̇bi = Wib qi . (2.11)
2
A partir de qbi , Cbi , a matriz de rotação correspondente, é calculada por meio da equação (A..19).
16
2.3.3.2 Em referência a um sistema rotativo
Assim, para o cálculo da posição, utiliza-se a equação de Coriolis, que neste caso relaciona a
velocidade de um corpo expressa no Sistema I com a velocidade expressa em coordenadas no Sistema
E, a velocidade de rotação entre os sistemas e a posição do Sistema E:
vi = ve + ωie
e
× re . (2.12)
em que re é a posição do veículo no Sistema E e Ωeie , definido na Seção 2.2, diz respeito à velocidade
de rotação da Terra e, assim, possui apenas a componente ωz 6= 0. Os termos acrescentados à equação
de navegação dizem respeito à aceleração de Coriolis experimentada quando o conjunto de sensores
possui movimento relativo ao sistema não-inercial e à aceleração centrífuga, respectivamente.
Em relação à determinação da atitude feita por meio de matrizes de rotação, o cálculo de Cbe é
dado por:
com
b b
ωeb = ωib − Ceb ωie
e
.
1 b b 1 b b
q̇be = − Wie qe + Wib qe . (2.16)
2 2
17
2.3.3.3 Em referência a um sistema geográfico local
Um outro sistema de referência muito utilizado em sistemas de navegação é definido por um plano
tangente à superfície terrestre. Os eixos X e Y são definidos, no caso do Sistema N ED, descrito na
Seção 2.2, pelas direções norte e leste e o eixo Z é perpendicular a este plano, em direção ao centro
da Terra. A origem do sistema coincide com a origem do Sistema B e, portanto, é muito utilizado em
sistemas gimbaled.
Neste caso, porém, as equações cinemáticas tornam-se mais complexas devido ao deslocamento
do sistema de referência em relação ao sistema rotativo que, por sua vez, já possui movimento relativo
ao sistema inercial, do qual são obtidas as medidas. Na prática, há a incorporação do termo Ωnen às
equações:
2.3.3.4 Considerações
Seja devido ao tempo reduzido de operação e à extensão do raio da Terra em comparação aos
deslocamentos do sistema proposto, seja pela magnitude dos erros aleatórios dos sensores utiliza-
dos, neste trabalho serão desconsiderados os efeitos relativos à rotação da Terra (cerca de 15o /hora),
representados por Ωnie e Ωnen . Além disso, não haverá qualquer preocupação em relação às singu-
laridades que ocorrem nos pólos ao se utilizar o sistema geográfico local. Dessa maneira, tem-se o
seguinte conjunto de equações:
e
1 b b
q̇bn = Wib qn . (2.20)
2
O GPS, acrônimo de Global Positioning System (em português, Sistema de Posicionamento Glo-
bal) é um sistema de localização baseado em ondas de rádio e satélites controlado pelo governo dos
18
EUA. É capaz de fornecer a qualquer pessoa (ou veículo autônomo) munido de um aparelho receptor
apropriado informação de tempo e de posição e velocidade no Sistema E.
Entretanto, o GPS não é o único sistema de posicionamento que opera com tais princípios. Muitos
sistemas baseados em ondas de rádio já funcionavam mesmo antes da Segunda Guerra Mundial [13].
De fato, também não foi o primeiro sistema de localização baseado em satélites. Na década de 60,
por exemplo, passou a funcionar o Transit, também desenvolvido pelos EUA. O desempenho deste
sistema, entretanto, era consideravelmente inferior ao desempenho alcançado pelo GPS. Além disso,
vale dizer que existem outros sistemas de natureza similar ao GPS. O sistema russo de posicionamento
global, o GLONASS (em inglês, Global Navigation Satellite System), está em funcionamento desde
1993, mesmo ano em que o GPS iniciou sua operação. Uma nova promessa em termos de localização
global baseada em satélites é o Galileo, sistema europeu que se encontra em fase de implantação.
Esta Seção, entretanto, se concentrará em discussões acerca do GPS.
O sistema GPS é composto por pelo menos 24 satélites dispostos em 6 planos orbitais contendo 4
satélites, em que pelo menos um deles funciona apenas como satélite reserva. Eles viajam em torno
da Terra numa órbita de cerca de 20.000 km acima da superfície terrestre e suas órbitas e posições
nas órbitas são planejadas de forma que estejam distribuídos uniformemente pela alta atmosfera do
planeta. Nessa configuração cerca de 4 a 10 satélites são visíveis de qualquer ponto da Terra a qual-
quer instante, se considerarmos um ângulo de elevação de 10◦ a partir do horizonte [14]. Eles são
monitorados pelo segmento de controle do sistema, formado por estações em terra que rastreiam as
posições dos satélites, verificam o comportamento dos relógios atômicos, entre outras funções.
Cada um desses satélites emite um sinal de rádio com informações relativas à sua posição em
função do tempo, entre outras. Este sinal é recebido pelo receptor, aparelho sobre o qual se deseja
conhecer a posição, e este o utiliza para medir a distância entre o receptor o satélite, visto que possuem
relógios sincronizados. Assim, com os sinais captados, é possível determinar a posição do receptor,
conforme procedimento descrito a seguir.
O cálculo da posição do receptor GPS baseia-se no fato de que é possível obter as coordenadas
de um ponto no espaço ao se conhecer a posição de outros pontos e a distância relativa entre esses e
o ponto de interesse. Tal procedimento também é conhecido como trilateração.
Caso seja considerado um espaço bidimensional, representado na Figura 2.3, tem-se a situação
em que três pontos são necessários para determinar uma solução única ao problema. Um raciocínio
similar leva a crer que, no caso tridimensional, necessita-se de quatro pontos, visto que a intersecção
das esferas representadas pelas distâncias a dois pontos de referência forma uma circunferência de
possibilidades de solução. Ao realizar-se a intersecção dessa circunferência com mais uma esfera,
limita-se o espaço de solução a dois pontos. Daí, a partir de mais um ponto de referência, obtém-se
uma única solução.
19
Entretanto, no problema específico de localização de um receptor GPS próximo à superfície ter-
restre, um dos dois pontos gerados pela intersecção de três esferas está afastado da Terra e não repre-
senta uma solução viável. Assim, são necessárias apenas três equações:
q
ρ1 = (xe1 − xer )2 + (y1e − yre )2 + (z1e − zre )2
q
ρ2 = (xe2 − xer )2 + (y2e − yre )2 + (z2e − zre )2 (2.21)
q
ρ3 = (xe3 − xer )2 + (y3e − yre )2 + (z3e − zre )2 ,
h iT h iT
em que xer yre zre representa a posição que deseja-se calcular, xei yie zie a posição do
i-ésimo satélite ou ponto de referência e ρi a distância entre o i-ésimo satélite e o receptor.
em que t̃si e t̃r são os tempos indicados pelo i-ésimo satélite e pelo receptor, respectivamente, tsi
e tr os tempos verdadeiros e δtsi e δtr os erros, representados apenas por biases, ou seja, fatores
constantes.
Naturalmente, existem outras fontes de erro que afetam a medida da referida distância (Seção
2.4.3). Este fato é de tal forma verdadeiro que convencionou-se chamar os termos ρi de pseudodis-
tâncias (em inglês, pseudoranges), explicitando o fato de que são apenas estimativas da distância real.
Entretanto, a maior parte desses erros pode ser corrigida por meio de modelos existentes ou compen-
sados a partir da utilização de mais um receptor (Seção 2.4.4). Porém, o erro referente ao relógio do
receptor, δtr , é de natureza completamente desconhecida e, dessa forma, é incluído como mais uma
incógnita nas equações (2.21), conforme mostra a Figura 2.3, justificando a utilização de mais um
satélite:
q
ρ1 = (xe1 − xer )2 + (y1e − yre )2 + (z1e − zre )2 + cδtr
q
ρ2 = (xe2 − xer )2 + (y2e − yre )2 + (z2e − zre )2 + cδtr (2.23)
q
ρ3 = (xe3 − xer )2 + (y3e − yre )2 + (z3e − zre )2 + cδtr
q
ρ4 = (xe4 − xer )2 + (y4e − yre )2 + (z4e − zre )2 + cδtr ,
Como se trata de um sistema não-linear de equações, a maior parte das soluções está fundamen-
tada em procedimentos iterativos [8], como o método de Newton-Raphson, que baseia-se na solução
de sistemas linearizados a partir de uma estimativa inicial. Para a aplicação do método, primeiramente
20
Figura 2.3: Problema de trilateração quando há erro de sincronização entre os relógios do receptor e
dos satélites. O ponto A representa a posição correta, obtida por meio dos círculos que representam
o caso em que não há erros de sincronização. Caso haja tais erros, a posição pode ser calculada por
meio das equações (2.23).
define-se a função que representa o erro da estimação dos valores de xer , yre , zre e δtr :
p
(xe1 − xer )2 + (y1e − yre )2 + (z1e − zre )2 + cδtr − ρ1
p e
(x2 − xer )2 + (y2e − yre )2 + (z2e − zre )2 + cδtr − ρ2
e= p e e e
. (2.24)
p(x3 − xer )2 + (y3 − yre )2 + (z3 − zre )2 + cδtr − ρ3
(xe4 − xer )2 + (y4e − yre )2 + (z4e − zre )2 + cδtr − ρ4
A partir daí, caso o erro calculado seja maior do que determinado limiar, , calcula-se os incre-
mentos às incógnitas, a partir da matriz jacobiana do sistema:
∆xer (k)
e
e e e
∆yr (k) e e e
∆z e (k) = e (xr (k), yr (k), zr (k), δtr (k)) ,
J (xr (k), yr (k), zr (k), δtr (k)) (2.25)
r
∆δtr (k)
21
p
em que α = (xei − xer )2 + (yie − yre )2 + (zie − zre )2 ou α = ρi − cδtr , referente ao i-ésimo satélite
considerado.
Caso informações de mais de quatro satélites sejam consideradas, a principal diferença residiria
no cálculo de (2.25). Neste caso, calcula-se a estimativa de mínimos quadrados do referido sistema
linearizado, ou seja,
∆xer (k)
e
∆yr (k) T
−1 T
∆z e (k) = J J J e. (2.28)
r
∆δtr (k)
Com relação aos valores da estimativa inicial, pode-se simplesmente assumir que os valores ini-
ciais são zero, ou seja: posição do receptor no centro da Terra e erro nulo do relógio do receptor.
Vale ressaltar que as soluções aqui apresentadas representam soluções instantâneas ao problema
de determinação da posição do receptor. Entretanto, por meio do efeito Doppler, os receptores tam-
bém são capazes de estimar a velocidade vgps e do veículo, uma estimativa consideravelmente indepen-
dente de regps . Assim, é possível utilizar um filtro estocástico, como o Filtro de Kalman, para estimar
a posição e velocidade do receptor. De fato, muitos receptores GPS, como o utilizado neste trabalho,
utilizam, quando possível, tal método para obter as estimativas de posição e velocidade.
2.4.2 Sinal
O sinal enviado por cada satélite é composto por duas portadoras moduladas por dois sinais di-
gitais codificados e uma mensagem. As duas portadoras são geradas nas freqüências de 1.575, 42
M Hz (portadora L1) e 1.227, 60 M Hz (portadora L2) [12]. O emprego das portadoras em freqüên-
cias distintas permite a correção de um dos maiores erros verificados no sistema, conhecido como
atraso ionosférico. Atualmente, a codificação C/A (do inglês, coarse/aquisition) disponível a todos
usuários, é transmitida na portadora L1, enquanto que a codificação P (do inglês, precise), disponível
apenas a usuários autorizados, é transmitida em ambas portadoras.
Com relação à natureza da codificação C/A, o sinal é uma seqüência de 1.023 bits que se repete
a cada 1 ms, numa taxa de 1.023 M bps. Cada satélite possui um código próprio, o que permite ao
receptor identificar o satélite que envia a mensagem. Além disso, o sinal contém uma mensagem com
informações acerca das coordenadas do satélite em função do tempo, o estado de saúde do satélite, a
correção do relógio do satélite, o calendário do satélite e dados atmosféricos. Este sinal é transmitido
a 50 Kbps, possui 37.500 bits em sua totalidade e contém ainda informações sobre outros satélites.
Uma modernização do sinal transmitido por cada satélite está em curso. De fato, os satélites da
22
nova geração já transmitem o código C/A pela portadora L2, permitindo o alcance de maior preci-
são. Planeja-se para o futuro o acréscimo de outra portadora, a L5, para diminuir efeitos relativos à
interferência, entre outros problemas.
Como a determinação da posição é realizada por meio da medição do tempo em que um sinal
de rádio se propaga no espaço, os principais erros associados à estimativa calculada pelo GPS dizem
respeito a erros de sincronização dos relógios dos transmissores com o relógio do receptor e a atrasos
na propagação do sinal devido a fenômenos atmosféricos, que ocorrem principalmente na ionosfera.
Além desses dois erros críticos, há aqueles associados a erros nas posições assumidas dos satélites, à
reflexão do sinal transmitido, entre outros [14].
Em relação aos erros relativos à dessincronização dos relógios, utiliza-se o procedimento descrito
na Seção 2.4.1.1, visto que, como são utilizados relógios atômicos constantemente monitorados nos
satélites, os erros desses dispositivos são, em geral, ignorados.
Outro tipo de erro relativo à medição do intervalo de tempo decorrido desde o envio do sinal não
provém de falhas nas sincronização dos relógios, mas sim da própria natureza do sinal. Ocorre que,
devido à freqüência de transmissão do código C/A, não é possível detectar as bordas de transição
do sinal binário com uma precisão temporal que se traduza numa elevada precisão espacial. Para
diminuir o efeito deste problema, utiliza-se o próprio sinal da portadora disponível para a maior parte
dos receptores civis (L1) para aumentar a precisão na medida desse intervalo de tempo. Em inglês, a
correção do pseudorange a partir de medidas do sinal da portadora é conhecida como Carrier-phase
Correction.
O erro associado à posição do satélite em sua órbita se deve principalmente às diferenças entre
a órbita real descrita pelo satélite e àquela calculada pelos operadores, durante os intervalos de mo-
nitoração das posições. Para minimizar esse problema, os receptores atuais costumam selecionar os
quatro satélites que estejam mais afastados entre si, de maneira a diminuir a chamada Diluição da
Precisão (em inglês, Dilution of Precision). Entretanto, mesmo ao selecionar satélites consideravel-
mente afastados entre si, o erro da estimativa de altitude do receptor costuma ser maior do que o erro
da estimativa horizontal, visto que o receptor apenas pode utilizar satélites que se encontram acima
da linha do horizonte.
Considerando que as técnicas acima citadas são utilizadas, os atrasos que ocorrem na propagação
do sinal de rádio ao cruzar a ionosfera e a troposfera formam a principal componente do erro encon-
trado nos receptores civis atualmente. Os atrasos ocorridos na ionosfera são causados principalmente
pela interação do sinal de rádio com o gás ionizado presente nesta região da atmosfera. Como a
quantidade de elétrons livres na ionosfera é de difícil previsão (depende de fatores como hora do dia,
período do ano, latitute e estágio do ciclo solar), não é fácil quantificar esse atraso. Além disso, os
atrasos são diferentes para diferentes freqüências de sinal4 . Uma das medidas propostas para dimi-
nuir o efeito deste tipo de erro é a utilização das duas freqüências de sinal disponíveis para efetuar as
4
Apesar de serem tratados genericamente como atraso, a passagem pela ionosfera adianta o sinal da portadora e atrasa
o sinal modulado [14].
23
devidas compensações. Entretanto, apenas alguns receptores são capazes de receber os dois sinais,
visto que a portadora L2 contém códigos exclusivos para uso militar norte-americano.
Acerca dos erros causados pela passagem do sinal nas camadas ionosférica e troposférica da
atmosfera, ainda vale dizer que ambos erros são reduzidos quando o ângulo de elevação para o satélite
aproxima-se do zênite, situação em que, o sinal incide perpendicularmente na atmosfera e, assim,
minimiza-se a distância percorrida no meio.
Outro erro presente na operação de sistemas GPS, em especial em ambientes com obstáculos,
como uma zona urbana, diz respeito à reflexão do sinal transmitido pelo satélite, que, assim, percorre
múltiplos caminhos e pode causar a degradação do código C/A recebido. Atualmente, existem téc-
nicas para minimizar tais efeitos, possibilitando, em alguns casos, utilização do sistema em locais
consideravelmente fechados.
Em períodos anteriores ao ano 2000, outro tipo de erro incidia sobre o sistema. Era um erro
intencionalmente provocado pelo operador do sistema chamado de Disponibilidade Seletiva (ou, em
inglês, Selective Availability). Por meio da alteração de certas informações contidas no código C/A a
intervalos regulares de algumas horas, erros na posição estimada normalmente ultrapassavam 100 m.
Seu principal objetivo era dificultar a utilização do sistema GPS para atividades ilegais e criminosas,
porém, em maio de 2000, decidiu-se por cancelar a incidência dessa interferência deliberada no sinal.
Entende-se como GPS Diferencial ou DGPS (do inglês, Differential GPS) o conjunto de téc-
nicas que utiliza um receptor GPS de referência em uma posição conhecida (estação-base ou, em
inglês, simplesmente base) para reduzir o erro de um receptor GPS móvel (estação-móvel ou, em
inglês,rover). A partir dessa definição, infere-se que os erros referentes aos satélites podem ser can-
celados totalmente, enquanto que os erros referentes a atrasos na atmosfera são reduzidos quanto mais
próximos estiverem os receptores.
Se por um lado a vantagem da utilização de um sistema DGPS é clara, por outro lado suas desvan-
tagens podem tornar seu emprego inviável. Em primeiro lugar, caso se deseje obter as correções em
tempo real (necessárias para o presente trabalho, por exemplo), torna-se necessário o estabelecimento
de um link de comunicação entre a estação-base e a estação-móvel. Além disso, é necessário obter
solução inversa do procedimento descrito em 2.4.1.1, ou seja, a partir de uma posição conhecida,
deve-se calcular os pseudoranges correspondentes, para que os devidos fatores de correção possam
ser encontrados e transmitidos da estação-base para a estação-móvel.
24
um link de comunicação direto entre eles, conhecidos como LADGPS (do inglês Local-Area DGPS),
a precisão pode atingir patamares submétricos. Porém, no caso do WAAS (do inglês Wide Area
Augmentation System), sistema em funcionamento nos EUA que utiliza satélites geoestacionários
para transmitir fatores de correção calculados a partir de 25 estações-base, a melhora em geral não
alcança tais patamares.
2.5 MAGNETÔMETROS
A Terra possui um campo magnético, da mesma forma que um simples ímã. As linhas desse
campo percorrem seu caminho em uma trajetória aproximadamente paralela à superfície terrestre,
do pólo sul magnético em direção ao pólo norte magnético. A determinação da direção das linhas
deste campo magnético é utilizada há centenas de anos para auxiliar a navegação. Os primeiros
instrumentos utilizados para determinar tal direção baseavam-se em agulhas imantadas boiando em
um líquido. Assim eram as primeiras bússolas.
Hoje em dia, porém, outras opções estão disponíveis para realizar tal medição. Uma delas é
baseada em sensores capazes de medir a intensidade do campo magnético incidente em determinado
eixo sensível do componente. Assim, a partir de dois sensores deste tipo, dispostos ortogonalmente
entre si num plano paralelo ao campo magnético da terra, é possível determinar a orientação do
dispositivo em relação a este campo. Para este caso, o cálculo do ângulo em relação ao pólo norte
magnético da Terra (ψ) é dado pela seguinte relação:
mx
ψ = arctan . (2.29)
my
Nos casos em que não se pode garantir que o plano dos sensores está alinhado ao plano da Terra,
situação em que não se pode simplesmente aplicar a equação (2.29), uma solução possível é utilizar
um sensor adicional que forneça a inclinação do corpo em que estão montados os sensores. Tal
situação é característica, por exemplo, de aeronaves e dispositivos manuais, como aparelhos celulares.
Como visto na Seção 2.3.1.1, um acelerômetro de dois eixos pode ser utilizada para tal fim, caso o
dispositivo esteja parado.
Num sistema de localização baseado em coordenadas geográficas, entretanto, tal medida não pode
ser imediatamente utilizada como estimativa de orientação. Isso se dá porque os pólos magnéticos da
Terra não coincidem com os pólos geográficos, determinados a partir do eixo de rotação do planeta.
Porém, a partir de ψ, para se encontrar a direção do pólo norte geográfico, simplesmente adiciona-se
o valor da declinação correspondente ao local. A declinação, bem como dados de outros elementos
magnéticos da Terra, são obtidos com o auxílio de mapas do campo magnético terrestre, que variam
no decorrer dos anos.
Em caráter meramente ilustrativo, foi feita uma consulta à base de dados do National Geophysi-
cal Data Center (NGDC) do National Oceanic & Atmospheric Administration (NOAA) dos Estados
Unidos5 , que revelou a configuração do campo magnético da Terra em Brasília, DF, apresentada na
5
Disponível em http://www.ngdc.noaa.gov/seg/geomag/jsp/IGRFWMM.jsp, acesso em setembro de
2006.
25
Tabela 2.1. Consultas posteriores não indicaram grande variação nesses valores.
2.5.1 Limitações
Em termos gerais, o principal problema reside no fato de que os sensores de densidade de fluxo
do campo magnético são, naturalmente, sensíveis a campos magnéticos de qualquer natureza. Assim,
como o campo magnético da Terra possui intensidade relativamente baixa, pequenas variações locais
causadas pela presença de outros campos podem causar grandes interferências nas medidas. Além
disso, mesmo nos casos em que não há outro campo magnético presente, a mera presença de materiais
ferromagnéticos, seja na própria base em que é montado o sensor, seja apenas próximo ao dispositivo,
distorce o campo magnético que incide no elemento sensor e, assim, degrada a qualidade de sua
medida.
A influência de materiais ferromagnéticos na própria base em que é montado o sensor pode ser
quantificada e compensada. Entretanto, tal erro pode ser determinante, por exemplo, numa situação
em que se deseja medir a direção campo magnético da Terra próxima a uma linha de transmissão.
Neste caso, pode-se filtrar o sinal medido para rejeitar freqüências próximas a 60 Hz. No entanto, há
que se verificar o simples emprego dessa solução caso o campo seja muito intenso.
Outros problemas surgem em tecnologias específicas utilizadas para medição do campo magné-
tico. Caso se utilize os sensores magnetoresistivos de baixo custo comercializados pela Honeywell,
por exemplo, sugere-se que seja aplicado um pulso de corrente a cada sensor periodicamente, para
que o elemento sensor se realinhe ao eixo de medição especificado. Já os sensores magnetoindutivos,
como os magnetômetros fabricados pela PNI Corporation, apesar de apresentarem biases mais cons-
tantes quando comparado a sensores magnetoresistivos, não permite taxas de amostragem elevadas.
Devido a esse conjunto de fatores, costuma-se assumir que os magnetômetros (em especial aque-
les de baixo custo), possuem biases variantes no tempo [12]. Por esse motivo, uma calibração em
operação torna-se necessária para aplicações de alto desempenho.
26
2.5.2 Determinação da atitude a partir de magnetômetros e acelerômetros
No caso do presente trabalho, entretanto, o conjunto de três magnetômetros ortogonais não será
utilizado apenas para determinar o ângulo em relação ao norte geográfico, mas sim para auxiliar na
obtenção de uma completa estimativa da atitude.
Porém, sabe-se que a medição no Sistema B das componentes de um vetor cujas componentes no
Sistema N são conhecidas não é suficiente para determinar a matriz de rotação Cbn (Seção 2.3.1.1).
Entretanto, caso dois vetores não paralelos estejam disponíveis, é possível determinar a atitude do
veículo. De fato, diferentes soluções foram propostas ao longo dos anos para esse problema, baseadas
em métodos iterativos ou determinísticos [16, 17].
Neste trabalho, utiliza-se a estimativa da aceleração gravitacional da Terra, medida pelo acelerô-
metro, como dado complementar, ou seja,
gn = Cbn gb ,
em que g é o vetor de aceleração da gravidade representado nos referidos sistemas. Naturalmente,
como o acelerômetro mede a força específica, deve-se deve-se adotar procedimentos para se obter
apenas a aceleração gravitacional desta medida.
Neste trabalho, utiliza-se uma solução determinística ao problema, por vezes conhecida como
algoritmo TRIAD [18]:
h ih iT
Cbn = ib jb kb in jn kn , (2.30)
em que
i=u (2.31)
u×v
j= (2.32)
|u × v|
k = i × j. (2.33)
e u e v são vetores unitários referentes a g e m, respectivamente.
Pode-se dizer que, quando comparados às soluções iterativas, como em [16], nos casos em que
há dois vetores disponíveis os algoritmos TRIAD são mais simples e consomem menor tempo de
processamento em computador digital.
2.6 ALTÍMETRO
A pressão de um fluido pode ser definida como uma medida da força por unidade de área exercida
pelo fluido sobre uma superfície em contato. A medição da pressão, porém, é normalmente dividida
27
em três categorias: absoluta, diferencial ou gage. A pressão absoluta refere-se ao valor absoluto de
força por unidade de área exercido sobre uma superfície por um fluido. Já os dispositivos que medem
a pressão diferencial fornecem medida da diferença de pressão entre dois pontos. Por fim, os sensores
que medem a pressão gage medem a diferença entre a pressão absoluta e a pressão atmosférica local.
No contexto deste trabalho, deseja-se obter uma estimativa da variação da altitude por meio de
informação relativa à pressão atmosférica local. Assim, torna-se claro que se necessita de um disposi-
tivo de medição da pressão absoluta, visto que a pressão atmosférica local é definida como a pressão
absoluta naquele ponto.
Sabe-se que a pressão atmosférica diminui com o aumento da altitude, pois, em tais condições, o
ar se torna mais rarefeito, menos denso. Uma das formas de se modelar essa relação é por meio da
equação hipsométrica:
RT P0
∆h = h − h0 = ln , (2.34)
g P
em que h [m] é a altitude, T [K] é a temperatura média entre os dois pontos, R [J/KKg] é a constante
do gás, g [m/s2 ] o módulo da aceleração da gravidade e P e P0 as pressões atmosféricas no local e
de referência, respectivamente. A relação é obtida ao se combinar a equação hidrostática e a equação
de estado de um gás perfeito [19].
A partir dessa relação, ao se conhecer o valor da pressão atmosférica local, pode-se então obter
uma estimativa da variação da altitude. Deve-se dizer que este é apenas um modelo simplificado
da distribuição do ar na atmosfera. Sua estimativa, porém, pode ser considerada de qualidade para
pequenos deslocamentos e para casos em que não há grandes variações climáticas.
Uma análise dos erros presentes em sistemas de localização 3D se inicia com a análise dos tipos
de erro de cada sensor. De fato, a calibração de um sensor, fundamental para a qualidade da estimativa
fornecida pelo sistema, é o procedimento no qual são obtidos os parâmetros do modelo de erro refe-
rente àquele sensor. Nesse contexto, o seguinte modelo é adotado para os acelerômetros, girômetros,
magnetômetros e sensor de pressão utilizados:
f˜x = sf x fx + bf x + wf x . (2.35)
Esse modelo, entretanto, não explicita diversos fatores que influenciam o desempenho de tais
componentes. A variação de temperatura, por exemplo, causa efeitos de diferentes magnitude em
28
diferentes componentes. De fato, diversos sensores, como o sensor de pressão utilizado neste trabalho,
possuem um sensor de temperatura integrado para promover compensação interna quando sujeito a
variações de temperatura. Outros, como um dos girômetros empregados, possui sensor interno de
temperatura, mas a compensação deve ser realizada externamente.
Além disso, outros parâmetros podem ser identificados para compor um modelo de erro mais
completo para os sensores utilizados. Por exemplo, pode-se utilizar o seguinte modelo de erro para o
girômetro, em que foram omitidos alguns subíndices:
Note que, nesta representação, os elementos m representam não apenas o desalinhamento entre
os sensores, mas também a sensibilidade daquele sensor a medidas em outros eixos. Já os coeficientes
ba representam a sensibilidade do girômetro a acelerações nos respectivos eixos.
A este modelo, pode-se ainda incluir outros aspectos do comportamento do sensor, como consi-
derar sx um polinômio para representar as não-linearidades do fator de escala, ou mesmo termos que
variam a cada operação do sensor, como o turn-on to turn-on bias. Pode-se também incluir explicita-
mente nesse modelo, por exemplo, efeitos relativos à aceleração tangencial causada pelo afastamento
do acelerômetro do centro do rotação (por exemplo, fx = ẇz r) ou efeitos relativos às acelerações
centrífugas (por exemplo, fy = wz2 r), apesar da pequena distância r que existe em geral do elemento
sensor ao centro de rotação, que minimiza tais efeitos.
mf zx mf zy sf z
Chega a ser intuitiva a noção de que a fusão de dados de diversos sensores é capaz de aumentar
a qualidade da estimativa obtida. Entre as variadas técnicas existentes para tal fim, existem aquelas
baseadas em conceitos de estatística, priorizadas neste trabalho.
Um dos casos mais simples, por exemplo, é o caso em que há dois ou mais sensores medindo a
mesma grandeza. Neste caso, que pode ser ilustrado por um array de termômetros em um forno de
temperatura uniforme, cada medida Ti possui uma variância σi2 a ele relacionada. Assim, a estimativa
de mínima variância da temperatura do forno seria dada por uma média ponderada, em que os pesos
são funções das respectivas variâncias. Para o caso em que há dois sensores, tem-se
29
em que
Neste caso, observa-se que o objetivo da fusão sensorial é obter uma estimativa de menor incerteza
do que aquela obtida com os sensores individualmente. Entretanto, em problemas de localização e
em vários outros, a fusão sensorial atinge outros patamares. Nesses casos, em geral a informação
dos sensores apresenta características de complementaridade, ou seja, apenas a utilização de ambos
sensores pode proporcionar informação acerca da variável de interesse.
Um caso emblemático para ilustrar essa idéia diz respeito a um sistema composto de uma bússola
e de um sensor de velocidade (um tacômetro acoplado às rodas de um automóvel, por exemplo), em
que se deseja obter estimativa da posição do veículo [12]. Está claro que a obtenção das componentes
X e Y da velocidade, necessárias para o cálculo da posição a partir do conhecimento da posição
inicial, depende da utilização dos dados dos dois sensores.
Baseado no exposto nas seções anteriores, está claro que dificilmente é possível obter um sistema
de localização com as características desejadas a partir de apenas um tipo de sensor. Por um lado,
um INS cujos erros mantêm-se em patamares aceitáveis durante o tempo de operação do veículo é
proibitivo em termos de custo, dimensões e consumo de energia. Por outro lado, o GPS não fornece,
caso se use apenas um receptor embarcado, informações sobre a atitude do veículo, além de outras
desvantagens.
Em [20] e [12], são descritas diversas arquiteturas de integração dos dados dos referidos subsis-
temas. De uma forma geral, duas principais caracterizações são utilizadas:
• Fortemente acoplada (em inglês, tightly coupled), que emprega as medidas brutas dos senso-
res envolvidas no filtro de integração, ou fracamente acoplada (em inglês, loosely coupled),
em que os dados empregados são previamente filtrados. Naturalmente, existem diversos níveis
de acoplamento.
6
Interferência intencional e deliberada no sinal.
30
• Indireta, em que os estados do filtro são os erros das variáveis de interesse, ou direta, em que
estima-se diretamente as variáveis de interesse.
A Figura 2.4 ilustra duas possíveis arquiteturas de integração INS/GPS. Na Figura 2.4(a), observa-
se que a etapa de predição do filtro baseia-se nas equações cinemáticas apresentadas na Seção 2.3.3,
enquanto que a etapa de correção utiliza informação processada pelo receptor GPS. Em [21], por
exemplo, é apresentado um filtro ainda mais simples, em que apenas as estimativas de posição e velo-
cidade do INS são fusionadas às mesmas estimativas diponibilizadas pelo GPS. Já na Figura 2.4(b),
tem-se arquitetura semelhante à utilizada em [22], em que o filtro estima os erros das variáveis de
interesse, realiza calibração online de alguns parâmetros dos sensores utilizados e utiliza diretamente
os pseudoranges fornecidos pelo receptor GPS. Nessa configuração, a taxa de amostragem do filtro
pode ser mais lenta que a atualização dos dados por meio das equações de navegação, visto que o
filtro estima os erros das variáveis de interesse..
(a)
(b)
Figura 2.4: Exemplos de arquitetura de integração INS/GPS. Em (a) integração direta e fracamente
acoplada e em (b) uma integração indireta e fortemente acoplada.
Naturalmente, há diversos algoritmos para realizar a integração dos dados. Historicamente, tem
sido largamente o Filtro de Kalman Estendido (em inglês, Extended Kalman Filter). Como o sistema
em questão é não linear, efetua-se uma linearização de 1a ordem da função em torno da estimativa e,
31
assim, procede-se com o cálculo do ganho de Kalman. Uma descrição detalhada do filtro, acompa-
nhada da derivação de suas equações, pode ser encontrada em [23] ou [12]. O Anexo B. apresenta
brevemente o filtro, com destaque para a notação adotada neste manuscrito. Outros algoritmos, po-
rém, já foram aplicados ao problema, como o Unscented Kalman Filter [24] e o Filtro de Partículas
[25]. Um completo survey dos métodos de integração utilizados para estimação da atitude pode ser
encontrado em [26].
Apesar da vasta literatura dedicada à integração INS/GPS, há, naturalmente, sistemas de locali-
zação que utilizam dados provenientes de outros sensores.
A utilização de altímetros, por exemplo, em sistemas de localização compostos por INS e GPS
também é bastante comum. O altímetro fornece uma estimativa da variação da altitude e, assim,
limita o acúmulo de erros no eixo Z do Sistema N . Diversos outros sistemas utilizados pela indústria
aeronáutica são descritos em [10]. Em sistemas de baixo custo, não apenas a utilização de altímetros
de diversos tipos, mas também de magnetômetros de três eixos torna-se cada vez mais comum para
auxiliar a estimação da atitude, como proposto em [27]. Ambos sensores foram selecionados para
compor o sistema integrado de localização 3D proposto neste trabalho.
32
3 PROJETO DO SISTEMA DE LOCALIZAÇÃO
Albert Einstein
3.1 INTRODUÇÃO
3.2 COMPONENTES
Os componentes utilizados no protótipo construído para este trabalho representam alguns dos
últimos avanços proporcionados pela tecnologia MEMS. São sensores de dimensões reduzidas (en-
capsulamentos com menos de 1 cm2 ), baixíssimo consumo de energia (em alguns casos, menos de
1 mA) e cujos preços não chegam a US$ 50. Naturalmente, porém, o desempenho é prejudicado,
conforme ilustra a Tabela 3.1 para o caso dos acelerômetros, cujos dados relativos aos desempenhos
foram obtidos dos respectivos manuais técnicos, [29, 30, 31, 32].
Entretanto, apesar do reduzido desempenho, o baixo custo de tais sensores permitiu o surgimento
de diversas novas aplicações. Por este motivo, a indústria de sensores MEMS encontra-se em legítimo
crescimento e, no momento em que é elaborado este documento, já estão disponíveis no mercado
33
novos dispositivos cujos desempenhos podem já ter ultrapassado o desempenho dos componentes
utilizados neste projeto.
É importante destacar também que a seleção de componentes feitas neste trabalho levou em con-
sideração a facilidade de aquisição de tais dispositivos em pequena quantidades. Em alguns casos,
foram realizados contatos com fabricantes de sensores inerciais, mas não houve resposta sobre o
procedimento para adquirir poucas unidades de tais produtos para utilização em pesquisa científica.
3.2.1 Acelerômetros
Conforme descrito na Seção 2.3.1.1, os acelerômetros foram os primeiros sensores inerciais uti-
lizados largamente pela indústria. Aplicações incluem detecção de desaceleração para sistemas de
airbag em automóveis, determinação da inclinação em relação à gravidade e detecção de queda de
produtos eletrônicos. Diversas indústrias já produzem dispositivos com três acelerômetros ortogonais
e interface digital em um mesmo encapsulamento.
Para o presente projeto, foi escolhido o MMA7260QT, comercializado pela Freescale. O sensor
mede as forças específicas em três eixos ortogonais e disponibiliza as medidas em formato analógico.
A sensibilidade do sensor é ajustável (±1, 5; 2; 4 e 6 g), sua alimentação se dá com 3, 3 V e, de
acordo com [30], requer apenas 500 µA. Além disso, as dimensões do componente, disponível em
encapsulamento QFN, não ultrapassam 10 mm de aresta. Por este motivo, foi adquirido componente
pré-montado em placa de circuito impresso com conector em espaçamento DIP, que pode ser visto
na Figura 3.1(a). A Figura 3.2 mostra as medidas fornecidas pelo conjunto de acelerômetros em
experimento em que se procurou manter o dispositivo parado, com o intuito de ilustrar os ruídos de
medição.
Figura 3.1: Componentes utilizados no projeto: (a) acelerômetro MMA7260QT, da Freescale Semi-
conductor, (b) girômetro ADXRS150, da Analog Devices, e (c) girômetro IDG300, da Invensense.
3.2.2 Girômetros
Em relação aos girômetros fabricados com tecnologia MEMS, estes ainda não são tão largamente
comercializados quanto os acelerômetros. Entretanto, espera-se que o volume de componentes co-
mercializados cresça consideravelmente assim que os preços unitários dos componentes alcancem o
patamar de US$ 10. Algumas aplicações atuais incluem sistema de controle de estabilidade de veí-
culos, estabilização de câmeras e sistema de interface com o usuário para aplicações em realidade
virtual e videogames.
34
Figura 3.2: f b medida pelo conjunto de acelerômetros, quando parado. Os desvios-padrão estimados
com tais dados são σ̂f x = 0, 0659 m/s2 , σ̂f y = 0, 0639 m/s2 e σ̂f z = 0, 0624 m/s2 .
Em relação ao desempenho dos sensores, a Figura 3.3 mostra as medidas fornecidas pelos girô-
metros em experimento em que procurou-se manter o sistema parado, com o intuito de ilustrar os
35
ruídos de medição. Uma análise superficial da figura pode induzir a conclusão de que o girômetro
IDG apresenta melhor desempenho, quando comparado ao girômetro ADXRS, pois não apenas o
ruído é inferior, mas em um dos eixos de medição o bias é também menor. Durante a seqüência de
experimentos realizados, entretanto, não foi essa a conclusão final. O girômetro ADXRS apresentou,
nos diversos testes realizados, um bias consideravelmente mais constante no tempo, enquanto que os
bias do girômetro IDG apresentaram grande variação a cada operação. Além disso, é notável também
a baixa sensibilidade do girômetro IDG, devido a sua larga faixa de operação.
Figura 3.3: ω bib medida pelo conjunto de girômetros, quando parado. Os desvios-padrão estimados
com tais dados são σ̂gx = 0, 0085 ◦ /s, σ̂gy = 0, 0075 ◦ /s e σ̂gz = 0, 0213 ◦ /s.
3.2.3 Magnetômetro
Foi escolhido o MicroMag3 (Figura 3.4) para realizar as medidas de campo magnético neste pro-
tótipo. Trata-se de um módulo integrado para medição das três componentes ortogonais do campo
magnético. O módulo utiliza sensores magnetoindutivos da PNI Corporation (Seção 2.5) e dispo-
nibiliza as medidas por meio de interface SPI. A taxa de amostragem alcançada para os três eixos,
caso se utilize procedimento que proporciona maior resolução de medida, é de cerca de 6 Hz, ou
seja, consideravelmente mais lenta quando comparada àquela utilizada com os sensores analógicos.
O preço do dispositivo é cerca de US$ 60.
Em relação ao desempenho do sistema, o manual técnico [35] do sensor não traz maiores informa-
ções acerca do desempenho do dispositivo. Durante sua operação, entretanto, observou-se a presenças
36
Figura 3.4: O módulo MicroMag3, disponibilizado pela PNI Corporation, que proporciona medição
das três componentes ortogonais do campo magnético.
de biases e fatores de escala consideráveis nas medidas dos três sensores, apesar da dificuldade em
se avaliar com precisão as medidas, visto que não havia disponibilidade de um sensor de referência
do campo magnético. Ao mesmo tempo, porém, não foi observada grande variação destes valores
durante a seqüência de experimentos realizados. A Figura 3.5 mostra as medidas fornecidas pelos
magnetômetros em experimento em que se procurou manter o sistema parado e o campo magnético
ao redor do dispositivo constante, com o intuito de ilustrar o ruído de medição do sensor.
Foi escolhido um sensor de pressão absoluta da Freescale para se obter uma estimativa da altitude.
O sensor escolhido, o MPXA6115A, é um componente de baixo custo, baixo consumo de energia e
reduzidas dimensões, mas que já possui integrado em seu encapsulamento compensação de tempera-
tura e circuito de condicionamento [36]. O elemento sensor é baseado no efeito piezoresistivo: um
cristal de silício sofre variações em sua resistência elétrica ao sofrer uma deformação, o que permite
a medição da pressão.
3.2.5 GPS
O módulo GPS utilizado no trabalho foi o ET-102 (Figura 3.6), comercializado pela Globalsat
Technology. O módulo utiliza o chipset SiRF Star II LP, produzido pela SiRF Technology. Não é, de
fato, o produto mais novo oferecido pela SiRF, porém é capaz de rastrear até 12 satélites e fornece
os dados a cada 1 ms por meio de comunicação serial com taxa de até 115200 bps [37]. O preço do
módulo é cerca de US$ 60. Vale dizer também que o receptor não disponibiliza os pseudoranges a
partir dos quais é calculada a posição do dispositivo. Tal informação permitiria a implementação de
filtros fortemente acoplados, conforme classificação descrita na Seção 2.8.1.
É difícil estabelecer critérios objetivos para avaliação do desempenho de receptores GPS. Isso
ocorre simplesmente porque um receptor GPS não mede diretamente uma grandeza física. De fato,
conforme descrito na Seção 2.4.3, as qualidades das soluções fornecidas por um receptor GPS depen-
dem de diversos fatores, desde condições atmosféricas até a existência de obstáculos nas proximida-
des. Devido a estes aspectos, em muitos casos, para se avaliar o desempenho de um módulo GPS, são
37
Figura 3.5: mb medida pelo conjunto de magnetômetros, quando parado. Os desvios-padrão esti-
mados são σ̂mx = 0, 0624 µT , σ̂my = 0, 0274 µT e σ̂mz = 0, 0546 µT . Nesse experimento, os
magnetômetros estavam sob influência de um campo magnético adicional ao campo terrestre provo-
cado pela presença de um alto-falante próximo ao sensor.
realizadas análises comparativas, em que dois ou mais receptores operam nas mesmas condições.
No contexto deste trabalho, não houve possibilidade de avaliar o desempenho do sistema com
outros receptores GPS. Foram realizados, entretanto, diversos experimentos com este receptor GPS.
A Figura 3.7 ilustra experimento em que o receptor foi mantido parado. As soluções que, de acordo
com informação fornecida pelo próprio receptor, não possuíam qualidade atestada, foram automatica-
mente descartadas pelo sistema. Tal procedimento também foi adotado na operação usual do sistema
(Capítulo 4).
Por fim, vale dizer que houve problemas com a configuração do dispositivo. A configuração é
feita por meio de comandos que, quando aceitos pelos receptor, são seguidos de mensagem de reco-
nhecimento do comando (em inglês, acknowledge message). Entretanto, mesmo com tal confirmação,
o dispositivo não adotou a configuração e continuou a enviar mensagens além daquelas desejadas, o
que dificultou o projeto do software embarcado (Seção 3.4).
38
Figura 3.6: O módulo GPS ET-102, comercializado pela Globalsat Technology.
A placa de circuito impresso descrita nessa Seção representa a alma do sistema de localização,
pois, entre todos sensores utilizados, apenas o receptor GPS não está diretamente soldado sobre ela,
mas sim conectado por cabo. Seu projeto foi realizado com o auxílio do software Protel. A Figura
3.8(a) ilustra o diagrama de blocos do sistema, enquanto que a Figura 3.8(b) mostra a referida placa
em conjunto com os demais elementos do sistema, como o receptor GPS e a bateria.
Uma das principais decisões do projeto foi a confecção da placa nas próprias instalações da uni-
versidade, o que impediu alcançar uma maior miniaturização do protótipo. Por exemplo, tornou-se
necessário adquirir os componentes já soldados em placas de teste (Figura 3.1), pois não teria-se con-
dições de confeccionar placas contendo componentes em encapsulamentos mais complexos, como o
BGA (Ball Grid Array) utilizado pelo girômetro ADXRS. Ao mesmo tempo, devido a essa decisão
não foi possível confeccionar placas com trilhas de dimensões reduzidas.
A partir daí, pode-se dizer que a principal preocupação do projeto foi garantir uma configuração
ortogonal dos eixos de medição que compõem o sistema de localização. Em outras palavras, dispôs-
se os sensores de modo que se alcançasse o melhor alinhamento possível entre os eixos sensíveis.
Naturalmente, essa preocupação não se limitou a garantir a ortogonalidade entre sensores de mesma
natureza, mas também entre os três conjuntos de sensores de três eixos: acelerômetros, girômetros
e magnetômetros. A origem do Sistema B foi definida como a origem do sistema definido pelo
acelerômetro e os girômetros foram posicionados ao longo ou paralelamente aos eixos estabelecidos
pelo acelerômetro.
Outra grande preocupação foi minimizar interferências causados pelos sinais digitais de alta
freqüência do sistema, que poderiam comprometer o desempenho dos sensores analógicos. Neste
sentido, procurou-se inicialmente separar fisicamente os sensores analógicos da porção digital do cir-
cuito. Assim, a decisão de dispor os sensores analógicos em uma placa de circuito impresso isolada,
39
Figura 3.7: Dados fornecidos pelo receptor GPS, quando parado. Os desvios-padrão estimados são
σ̂gpsx = 2, 108 m, σ̂gpsy = 3, 169 m, σ̂gpsz = 1, 551 m, σ̂gpsvx = 0, 0623 m/s, σ̂gpsvy = 0, 0622
m/s e σ̂gpsvz = 0, 0078 m/s.
40
(a)
(b)
Figura 3.8: Sistema de localização 3D projetado e construído nos laboratórios da universidade: (a)
diagrama de blocos e (b) fotografia.
41
acabou por aumentar a modularidade do sistema. Tal placa, então, conecta-se à placa-mãe, onde
se encontram os conversores A/D de 12 bits. Os conversores A/D foram dispostos imediatamente
próximos ao conector que transmite os sinais analógicos à placa-mãe.
Além disso, mas ainda para este fim, foram utilizados reguladores independentes para a placa
analógica, capacitores de desacoplamento em todos componentes, filtros passa-baixas em todos sen-
sores, plano de terra em ambas placas e disposição das trilhas de alimentação e terra em topologia
tipo estrela, quando possível. Naturalmente, procurou-se também seguir algumas das recomendações
básicas para projetos de circuito impresso, tais como: não dispor trilhas com sinais de alta freqüência
próximas a sinais analógicos, não utilizar ângulos oblíquos em trilhas de sinais de alta freqüência,
entre outras.
Durante a operação do sistema, um dos contratempos relacionados à placa de circuito impresso foi
a ineficiência dos conectores utilizados para conectar a placa-mãe ao microcontrolador. Em uma pró-
xima versão, deve-se substituí-lo, até mesmo devido ao seu tamanho elevado. Modificações também
foram realizadas para conexão com o magnetômetro por meio de outros pinos, conforme explanado
na Seção 3.4. De uma forma geral, porém, o sistema mostrou-se eficiente, visto que não foi registrada
grande interferência causada pela porção digital do circuito e, ao mesmo tempo, não foram verifi-
cadas grandes flutuações na tensão de alimentação, o que poderia degradar a medida dos sensores.
Entende-se, entretanto, que a próxima versão do sistema deve ser ainda mais reduzida, de forma a
ampliar a lista de possíveis aplicações do dispositivo.
3.4 FIRMWARE
O firmware desenvolvido é responsável pela aquisição dos dados dos diferentes sensores, integra-
ção completa dessa informação e disponibilização das variavéis de localização do protótipo por meio
de comunicação serial. A figura 3.9 representa o fluxograma simplificado do programa desenvolvido,
que foi baseado nos padrões de comunicação dos dispositivos utilizados e nos periféricos disponíveis
na unidade de processamento empregada.
42
Figura 3.9: Fluxograma do firmware que é executado no microcontrolador AT91SAM7S256, da At-
mel.
43
ciamento das tarefas, comunicação com outros dispositivos e cálculos diversos. Tal opção se deu
devido ao tempo que seria gasto para se adquirir o conhecimento necessário para desenvolvimento do
software com tal o sistema operacional, ao custo em termos de memória e ao fato de que o gerenci-
amento de múltiplas tarefas não se mostrou impeditivo, visto que foram organizadas de forma que o
compartilhamento de recursos foi mínimo.
Outra característica do software é a utilização de um buffer para comunicação serial (padrão físico
RS-232) entre o protótipo e o receptor. A partir deste canal de comunicação é disponibilizado o dado
para sistemas externos, como o processador responsável pelas tarefas de controle e navegação do
veículo ou o PC utilizado nos experimentos descritos nesse trabalho.
Por fim, como boa parte dos cálculos executados envolvem vetores e matrizes, foi utilizada a
biblioteca matricial Gmatrix1 . A partir dessa biblioteca, foram desenvolvidas todas as funções res-
ponsáveis pelas transformações de coordenadas e integração dos dados. Procurou-se minimizar a
quantidade de alocações dinâmicas de memória relativas às matrizes auxiliares utilizadas nos cálcu-
los, visto que foi verificado que longo tempo de processamento era gasto em tal operação. Vale dizer
que tais funções podem ser disponibilizadas para outros usuários na forma de uma biblioteca.
Além disso, outra dificuldade encontrada foi a incompatibilidade entre os protocolos de comu-
nicação utilizados pelo magnetômetro e pelos conversores A/D. Inicialmente, ambos estavam conec-
tados ao mesmo barramento SPI. Entretanto, a forma com a qual é realizada a comunicação com o
magnetômetro impediria a utilização de taxas de amostragem maiores que cerca de 6 Hz para o sis-
tema. Assim, por entender que tal freqüência iria reduzir a qualidade da estimativa obtida, o sistema
foi adaptado para possibilitar a comunicação com o magnetômetro por outro barramento SPI. Como
o SAM7 não disponibiliza duas SPIs, criou-se um driver específico a partir dos outros periféricos
disponíveis. Além disso, houve necessidade de cortar trilhas na placa de circuito impresso, referen-
tes à ligação do magnetômetro com o barramento SPI original, e implementar outras alternativas de
ligação.
Diante de todo esse contexto, a freqüência de amostragem utilizada em grande parte dos experi-
mentos descritos neste trabalho foi de 50 Hz, principalmente quando todos sensores foram utilizados.
Um dos principais responsáveis pela impossibilidade de se diminuir ainda mais o período de amos-
tragem foi o receptor GPS. O módulo utilizado não opera de acordo com as especificações, ao enviar
mensagens além daquelas solicitadas no procedimento de configuração, o que dificultou e alongou o
procedimento de obtenção das medidas do GPS.
Vale acrescentar que o firmware foi organizado de maneira a facilmente permitir a alteração de
1
A biblioteca está disponível em http://www.ene.unb.br/∼gaborges/recursos/programacao/
index.htm.
2
A nota técnica está disponível em http://www.ene.unb.br/∼gaborges/recursos/notas/index.
htm.
44
características do sistemas de localização, tais como relação dos sensores utilizados, freqüência de
amostragem, entre outros. De tal forma, simplificou-se o procedimento experimental e aumentou-se
a generalidade do sistema.
No protótipo construído para este trabalho, há sensores analógicos e sensores que já disponibili-
zam suas medidas em formato digital. Naturalmente, ambos tipos de sensores apresentam erros de
diversas naturezas. Inclusive, como são utilizados sensores de baixo custo neste projeto, tais erros
apresentam fatores além daqueles explicitados no modelo (2.35), conforme descrito na Seção 2.7.
As contribuições de tais fatores são, em alguns casos, relevantes de tal forma que não poderiam ser
desconsideradas caso se dispusesse de um aparato de calibração mais criterioso. Este trabalho, entre-
tanto, se concentra no desenvolvimento de um sistema de localização 3D de baixo custo, que almeja
obter desempenho satisfatório a partir da combinação dos dados de sensores com níveis de desempe-
nho sequer comparáveis aos semelhantes de alto custo. Assim, a utilização de métodos sofisticados
e caros de calibração não foi considerada, até mesmo pela ausência de comprovação de que tais
métodos alcançariam sucesso com os sensores utilizados, que possuem ruído considerável e outros
parâmetros de natureza aleatória. Para maiores informações sobre tais procedimentos de calibração,
em que invariavelmente são necessário dispositivos de precisão para medição, por exemplo, da atitude
do dispositivo, recomenda-se consulta a [10] e [38].
Neste contexto, esta seção descreve os procedimentos executados para obter estimativas iniciais
dos parâmetros dos sensores utilizados, considerando o modelo estabelecido pela equação (2.35).
Além disso, descreve alguns experimentos projetados especificamente para a calibração de alguns
sensores, em oposição aos algoritmos de calibração online apresentados no Capítulo 4, que são exe-
cutados durante a operação do sistema de localização.
Os conversores A/D utilizados neste trabalho são dispositivos que fornecem um número de 12 bits
que representa a razão entre a variável de interesse e a tensão de referência (em inglês, ratiometric).
Na prática, isso indica que, caso haja uma flutuação na tensão de referência utilizada pelo conversor
A/D, ocorrerá uma flutuação proporcional no valor digital obtido.
3
Naturalmente, a informação analógica não é sempre transmitida na forma de uma tensão elétrica, mas este é o caso nos
sensores utilizados.
45
Os manuais técnicos do acelerômetro e medidor de pressão utilizados neste trabalho, por exemplo,
informam que a tensão de saída do respectivo dispositivo é proporcional à tensão de alimentação e,
assim, caso o sensor e o conversor estejam alimentados com a mesma tensão, estaria-se imune aos
efeitos da flutuação da tensão de alimentação. Em relação ao acelerômetro utilizado no trabalho, por
exemplo, é dito no manual que o bias e o fator de escala do dispositivo variam linearmente com a
variação da tensão de alimentação.
Alguns sensores dos quais se espera maior precisão, como os girômetros empregados neste traba-
lho, porém, utilizam uma técnica diferente. Tais sensores utilizam um regulador interno de tensão, o
que proporciona imunidade à flutuação da tensão de alimentação. Além disso, fornecem uma tensão
de referência que pode ser medida e, assim, utilizada para corrigir os erros provenientes da flutuação
da tensão de referência [39].
3.5.2.1 Acelerômetros
Os acelerômetros, como foi visto na Seção 2.3.1.1, fornecem, quando imóveis em relação a um
referencial inercial, medida da aceleração gravitacional a qual estão submetidos. Neste sentido, con-
siderando que as acelerações derivadas do movimento de rotação da Terra são desprezíveis quando
comparadas ao ruído do sensor, a principal dificuldade existente em um procedimento de calibração
de baixo custo para esse dispositivo é o conhecimento dessa aceleração gravitacional. Em relação a
sua magnitude, g = 9, 7808439 m/s2 , o valor foi obtido junto ao Laboratório de Metrologia Dinâ-
mica do Departamento de Eng. Mecânica da UnB. O maior problema, porém, se dá na determinação
da orientação desse vetor no ambiente de calibração. Em outras palavras, ao manter um acelerômetro
imóvel sobre a mesa de calibração, não há como determinar se as medidas resultantes são erros do
sensor ou componentes da aceleração da gravidade, caso esta não esteja precisamente alinhada ao
plano perpendicular ao vetor da gravidade da Terra. Para se solucionar tal problema, não se poderia
utilizar, por exemplo, medidores de inclinação utilizados geralmente em obras, pois tais instrumentos
não proporcionariam a resolução adequada.
A fim de se visualizar tal efeito, foi realizada simulação para verificar a evolução do erro provo-
cado na estimação da posição no eixo X a partir dos acelerômetros, caso haja erros na estimação do
ângulo de arfagem θ, conforme ilustrado na Figura 3.10. Para tanto, utilizou-se as equações 2.10 e
2.11. A Figura 3.11 mostra os resultados obtidos com erros de 0, 2o , 1o e 2o . Considerou-se sensores
inerciais ideiais.
Assim, tendo em vista a dificuldade de se garantir tais condições, optou-se por procedimentos
46
Figura 3.10: Representação do erro de estimação do ângulo de arfagem, θ.
Figura 3.11: Erro provocado na estimação de posição do eixo X a partir dos acelerômetros, caso haja
erros na estimação de θ. Foi adotado período de amostragem de 10 ms e integração retangular.
alternativos para se determinar os biases e fatores de escala dos acelerômetros. Primeiramente, foi
proposto método em que inicialmente são definidas 3 configurações de atitude e, para cada uma dessas
configurações, realizam-se pares de medidas com a plataforma orientada em ângulos opostos. Dessa
forma, caso se considere que a mesa é plana, mesmo que desalinhada em relação à aceleração da
gravidade, os erros relativos a esse desalinhamento serão cancelados. Procedimento semelhante é
sugerido em [40]. Porém, devido à dificuldade de se garantir a orientação do protótipo em algumas
configurações estabelecidas, devido a sua própria silhueta, o desempenho do procedimento não foi
satisfatório.
Diante disso, foi proposto outro procedimento, baseado na aquisição de medidas dos acelerôme-
tros quando imóveis, mas em atitudes diversas e em que não há necessidade de alinhamentos precisos
entre diferentes configurações. Primeiramente, recorda-se que, quando parado, o acelerômetro mede
apenas componentes da aceleração da gravidade, gb . De fato, a seguinte relação é válida para todas
medidas disponibilizadas pelo conjunto de acelerômetros quando estático em relação a um referencial
inercial:
kgb k = kf b k
q
2 2 2
= fxb + fyb + fzb
v !2 !2 !2
f˜yb − bf y
u
u f˜b − b f˜zb − bf z
x fx
= t + + , (3.1)
sf x sf y sf z
47
em que k.k é a norma euclidiana do vetor.
em que θ é o vetor de parâmetros a ser estimado, composto por seis elementos, notadamente os biases
e fatores de escala dos três elementos sensores, ou seja,
h iT
θ = bf x bf y bf z sf x sf y sf z . (3.3)
Nesse contexto, o critério de minimização pode ser dado pela seguinte função de custo quadrática:
N
1 X1
V (θ, k) = e(θ, k)2 , (3.4)
N 2
i=1
Diante desse contexto, diversos algoritmos podem ser empregados para fornecer uma solução ao
problema [41]. Um dos algoritmos mais simples é o gradiente descendente, em que, a partir de um
θ(0) inicial, a atualização de θ se dá por meio de
∂V (θ, k)
θ̂(i + 1) = θ̂(i) − µ , (3.6)
∂θ(i)
∂V (θ,k)
em que a jacobiana ∂θ(i) é dada por
f˜xb (k)−θ1 (i)
2 b
(θ4 (i)) kf (θ,k)k
f˜yb (k)−θ2 (i)
(θ5 (i))2 kf b (θ,k)k
˜b
fz (k)−θ3 (i)
N (θ6 (i))2 kf b (θ,k)k
∂V (θ, k) 1 X
= e(θ, k). (3.7)
∂θ(i) N
i=1 (f˜x (k)−θ1 (i))
b 2
48
em que N(θ, k), uma aproximação da hessiana de (3.4), é dada por
N T
1 X kf b (θ, k)k
b
kf (θ, k)k
N(θ, k) = . (3.9)
N dθ(i) dθ(i)
i=1
f̃ b = (Cbn )T gn ,
às quais foi adicionado uma simulação de ruído branco gaussiano de média nula e desvio-padrão
semelhante ao apresentado na Figura 3.2. A Figura 3.12 mostra a evolução dos parâmetros estimados
em simulação. Vale dizer que o sucesso do algoritmo na validação em simulação não garante o
mesmo desempenho na situação real, visto que os modelos reais dos sensores podem ser muito mais
complexos.
Figura 3.12: Evolução dos parâmetros estimados em simulação. Os valores reais estão destacados em
vermelho. Antes da calibração, tinha-se V = 0, 276; após, V = 0, 058.
É importante notar que o procedimento descrito mostrou-se robusto a pequenas variações no va-
lor da gravidade local, especialmente em relação à estimação dos biases. Assim, caso experimento
semelhante seja realizado em localidades com acelerações da gravidade distintas, espera-se que os pa-
49
Tabela 3.3: Exemplos de biases e fatores de escala obtidos com procedimento inicial de calibração
dos acelerômetros. Antes da calibração, tinha-se V = 0, 232; após, V = 0, 080.
râmetros obtidos não sejam sobremaneira diferentes daqueles obtidos com o valor correto do módulo
da gravidade.
Entretanto, caso o valor adotado para a gravidade local difira consideravelmente do real, a esti-
mação dos fatores de escala se degredará, devido à própria natureza do modelo (3.2) empregado. Por
este mesmo motivo, foi desenvolvido procedimento de estimação conjunta dos parâmetros do sensor
e de kgb k. O procedimento foi baseado na estimação alternada dos parâmetros de interesse. Ou seja,
em um momento mantém-se o módulo da gravidade constante e calibra-se os parâmetros do sensor e,
no seguinte, faz-se o contrário. Na estimação da magnitude da gravidade local, a equivalente à função
(3.2) será
Tal procedimento foi validado a partir dos mesmos dados utilizados para gerar a Tabela 3.3. Em
dois ciclos de estimação dos parâmetros dos sensores e do módulo da gravidade, os valores estimados
convergiram, considerando a precisão utilizada na referida Tabela, para os mesmos parâmetros e para
o valor correto da aceleração gravitacional local.
50
Essa estimativa de σf2 é utilizada nos algoritmos de fusão sensorial e, da mesma forma, é ne-
cessário obter uma estimativa da variância das estimativas bf e sf obtidas a partir do procedimento
anterior. Para tanto, utiliza-se o método descrito em [42], em que a matriz de covariância de θ é
estimada por
∂V (θ,k)
em que V (θ, k)0 = ∂θ .
É importante destacar que métodos semelhantes já foram propostos. Em [43], por exemplo, é
proposto procedimento que utiliza também a magnitude da aceleração da gravidade para calibrar os
acelerômetros. É utilizado, inclusive, modelo mais complexo para o sensor, semelhante ao modelo
(2.36). Contudo, o método define orientações específicas para a calibração e não apresenta maneira
de se obter as variâncias dos parâmetros estimados. Além disso, não é estendido para a estimação
conjunta do módulo da gravidade.
3.5.2.2 Magnetômetros
Entretanto, tendo em vista que a metodologia desenvolvida para calibração dos acelerômetros
(Seção 3.5.2.1) é aplicável ao caso dos magnetômetros com mínimas adaptações, empregou-se com
sucesso mesmo procedimento para estimação dos parâmetros dos referidos sensores. Tal procedi-
mento também foi validado em simulação (Figura 3.13) e o valor de kmb k foi obtido da mesma fonte
citada na Seção 2.5. Neste caso, porém, deve haver a preocupação de se efetuar os procedimentos de
calibração em locais onde, na medida do possível, se crêem ausentes outros campos magnéticos ou
materiais ferromagnéticos que possam distorcer o campo magnético da Terra.
A Tabela 3.4 disponibiliza o resultado obtido no mesmo experimento utilizado para calcular os
parâmetros da Tabela 3.3. Note que os parâmeros obtidos diferem bastante dos valores nominais.
Entretanto, foi verificada considerável estabilidade temporal de tais valores, ao contrário do previsto,
por exemplo, em [12], o que talvez demonstre a melhora na qualidade da medida obtida ao se escolher
uma freqüencia de amostragem mais reduzida [35].
51
Figura 3.13: Evolução dos parâmetros estimados em simulação. Os valores reais estão destacados em
vermelho. Antes da calibração, tinha-se V = 7, 623; após, V = 0, 067.
Tabela 3.4: Exemplos de biases e fatores de escala obtidos com procedimento inicial de calibração
dos magnetômetros. Antes da calibração, tinha-se V = 6, 094; após, V = 1, 610.
3.5.3 Girômetros
Partindo-se do modelo apresentado na Seção 2.7, o procedimento utilizado para fornecer estima-
tivas iniciais dos girômetros pode ser dividido em duas etapas.
Em uma primeira etapa, procurou-se manter os sensores em uma situação em que não havia qual-
quer rotação. Naturalmente, entende-se que a rotação da Terra pode ser desprezada, visto que seu
valor é consideravelmente menor do que o ruído apresentado pelos sensores4 . Assim, a partir dos
dados obtidos, encontrou-se os bias dos respectivos sensores a partir da média ou mediana dos valo-
res medidos. Tal procedimento também é utilizado no procedimento de inicialização do sistema de
localização, descrito no Capítulo 4, em que os parâmetros obtidos em tal procedimento são utilizados
como estimativas iniciais no algoritmo de fusão sensorial.
O procedimento utilizado para obtenção dos fatores de escala dos respectivos sensores foi um
pouco diferente. Como não havia disponibilidade de um sistema que nos proporcionasse uma ve-
locidade de rotação constante e que, mesmo se tal sistema estivesse disponível, haveria o problema
4
Mesmo com essa suposição, a obtenção dos dados para esta etapa foi realizado com o conjunto de sensores em diversas
orientações diferentes em relação ao eixo de rotação da Terra.
52
do cabo de comunicação que conecta o sistema ao computador, utilizou-se o seguinte método: pri-
meiramente, realizou-se rotação conhecida no eixo de interesse e, em seguida, a partir dos cálculos
de propagação da atitude descritos no Anexo A., obteve-se estimativa do respectivo fator de escala.
Os resultados obtidos com tal procedimento não foram satisfatórios, o que reforçou a necessidade de
obtenção de um algoritmo confiável para calibração online dos girômetros.
A partir da equação (2.34) e do manual técnico do sensor, pode-se calcular a mínima variação de
altitude mensurável. Com as informações de resolução do conversor A/D e com os dados do manual,
chega-se à variação mínima de pressão percebida pelo sistema: 0, 027126 kP a. Munido desse valor
e considerando um temperatura constante de 25◦ C, tem-se que a resolução do sistema para a variação
de altitude é de cerca de 2, 4 m.
Diante dessa informação, chega-se à conclusão que o protótipo construído não permite a reali-
zação de procedimentos de calibração que utilizem como referência a própria variação da altitude.
Além disso, considerando as características do projeto de robótica aérea em que o presente trabalho
está inserido, não é possível avaliar experimentalmente o desempenho da medição da variação da
altitude proveniente do sensor de pressão na estimativa da posição do veículo.
Tal fato infelizmente não foi observado no projeto do protótipo. Entretanto, optou-se por não re-
tirar as Seções referentes a tal sensor deste trabalho, pois o mesmo pode ser útil em sistema utilizados
em UAVs que operem em outros envelopes de vôo.
53
4 ALGORITMOS DE FUSÃO SENSORIAL PARA LOCALIZAÇÃO 3D
Um por todos
Todos por um
Alexandre Dumas
4.1 INTRODUÇÃO
Este capítulo apresenta os algoritmos que promovem a fusão dos dados dos sensores com o intuito
de proporcionar uma melhor estimativa da localização do sistema. A fim de que a descrição da
metodologia seja mais clara, primeiramente são apresentados aqueles procedimentos relacionados
apenas à estimação da atitude. Em seguida, é apresentado o algoritmo completo.
4.2 ATITUDE
Nas Seções 2.3.3 e 2.5.2 são brevemente descritos dois métodos de obtenção de uma estimativa
da atitude do veículo. Um deles é baseado na medição das velocidades de rotação do veículo nos
eixos do Sistema B, proporcionada por girômetros. A partir da integração numérica de tais medidas
e do conhecimento da atitude inicial em relação ao sistema de coordenadas de referência, é possível
obter uma estimativa da atitude. A outra abordagem é baseada na medição dos campos gravitacional
e magnético locais. A partir do conhecimento dos valores desses vetores no sistema de referência,
também é possível determinar uma estimativa da atitude.
Diante disso, nesta Seção é descrito algoritmo de fusão sensorial dessas duas estimativas baseado
no Filtro de Kalman Estendido (FKE) para obtenção do quatérnio que representa a atitude do sistema.
Conforme descrito na Seção 2.3.3.4, serão desconsiderados efeitos relativos à rotação da Terra e,
assim, o algoritmo pode ser utilizado indiscriminadamente tanto para obter as variações de atitude em
relação à atitude inicial, como para determinação da atitude em relação a um sistema de referência.
55
4.2.1 Predição
em que η q representa o ruído e f é dada pela equação (A..25), ou seja, referente à propagação da
atitude a partir das medidas dos girômetros:
56
que representa uma estimativa do ruído de processo Q:
0.24609374644 0.00000803428 −0.00000031876 −0.00000763867
0.00000803428 0.00000000170 −0.00000000021 −0.00000000080
Q= .
−0.00000031876 −0.00000000021 0.00000000109 −0.00000000034
−0.00000763867 −0.00000000080 −0.00000000034 0.00000000468
É importante mencionar, porém, que tal matriz não foi utilizada diretamente em alguns experi-
mentos, visto que foi promovida sintonia experimental dos parâmetros do FKE para ajuste do seu
desempenho, com a qual obteve-se desempenho superior.
4.2.2 Correção
A correção aplicada pelo FKE de atitude é dada pela estimativa de atitude calculada a partir das
medições de mb e f b . Como visto na Seção 2.5.2, as soluções ao problema de determinação da
atitude a partir de dois vetores não-colineares podem ser classificadas como métodos iterativos ou
determinísticos. Não foi objetivo deste trabalho a avaliação minuciosa de diferentes algoritmos para
solução de tal problema. De qualquer maneira, verificou-se considerável sensibilidade da solução a
erros nas medidas dos vetores utilizados ao se utilizar a equação (2.30) para determinação da atitude.
Por esta razão, foi utilizado o algoritmo TRIAD melhorado (Improved TRIAD algorithm, em inglês),
proposto por [45], que minimiza tal efeito. Nesse caso, Cbn é calculado por meio de
h ih iT
Cbn = i b
j b b
k in jn kn , (4.3)
em que
u+v
i= (4.4)
|u + v|
i × (u − v)
j= (4.5)
|i × (u − v)|
k=i×j (4.6)
e u e v são vetores unitários referentes a g e m, respectivamente. Note que, nesse método, há também
menores alterações de desempenho caso sejam invertidos u e v, o que não ocorre em (2.30).
Com a matriz de rotação obtida com (4.3), utiliza-se (A..20), para se obter o quatérnio correspon-
dente. Dessa maneira, pode-se assumir o seguinte modelo de correção:
1 0 0 0
0 1 0 0 b
y(k + 1) = 0 0 1 0 qn (k + 1) + η y (k + 1).
(4.7)
0 0 0 1
A partir dessa abordagem ao problema, adotada com algumas diferenças em [27], simplifica-
se o projeto do filtro e reduz-se o custo computacional, apesar da simplificação causada referente
ao ruído de medição. Assim, diante desse contexto, novamente optou-se por utilizar o método da
Transformação Unscented para estimar a covariância R associada ao ruído η y (k + 1). Assim, a partir
57
das variâncias das medidas dos sensores e das variâncias estimadas de seus parâmetros (calculadas
por meio de (3.12)), a matriz R obtida com o mesmo conjunto de dados utilizado para calcular os
parâmetros das Tabelas 3.3 e 3.4 foi:
0, 00003282374 0, 00061438876 −0, 00111374582 −0, 00056777359
−4 0, 00061438876
0, 08635446309 −0, 06342171386 −0, 01650822394
R = 10 .
−0, 00111374582 −0, 06342171386 0, 18545325709 0, 03572519777
−0, 00056777359 −0, 01650822394 0, 03572519777 0, 01408748490
Por fim, há o problema de determinação dos vetores gb e mb . Em relação a mb , caso seja conside-
rado que o campo magnético local não sofre variações consideráveis no envelope de tempo e espaço
de operação do veículo, podem ser tomadas as próprias medidas dos magnetômetros. Entretanto,
não se pode realizar o mesmo procedimento com os acelerômetros, pois tal sensor também mede,
naturalmente, a aceleração inercial do veículo, ab .
Diante disso, algumas alternativas surgem para solucionar a questão. Como o sistema não é
projetado para veículos com acelerações extremas, uma das alternativas seria simplesmente assumir
toda medição do acelerômetro como uma estimativa da aceleração gravitacional e, para compensar
os erros decorrentes dessa suposição, aumentar significativamente a covariância R. Outra alternativa
natural seria, por meio de um filtro passa-baixas, obter a componente de regime permanente da força
específica medida pelo acelerômetro, que representa a aceleração gravitacional. Nesse caso, teria-se
a desvantagem do atraso gerado por tal processo de filtragem. Por fim, uma outra alternativa seria
incluir como estado do filtro a aceleração inercial do veículo no Sistema B, o que possibilitaria o
cálculo direto de ĝb a partir de f̃ b .
Neste trabalho, porém, considerando que a estimativa de atitude gerada pelos girômetros já possui
desempenho razoavelmente satisfatório e que o período de amostragem dos magnetômetros não é
consideravelmente grande quando comparado ao disponibilizado pelo GPS, optou-se simplesmente
por rejeitar aquelas medidas dos acelerômetros em que kkf̃ b k − kgb kk > , além de se promover
alguma sintonia da matriz R. O valor de foi determinado experimentalmente. A facilidade de
implementação foi um fator importante para a utilização de tal abordagem. Além disso, o desempenho
alcançado com tal abordagem justificou seu emprego. De qualquer forma, sugere-se a avaliação das
outras metodologias propostas em trabalhos futuros.
4.2.3 Pseudo-observação
Um dos problemas encontrados na propagação da atitude a partir das medidas dos girômetros é
que, devido aos erros decorrentes do processo numérico de integração ou do algoritmo de fusão, o
quatérnio resultante pode não respeitar a restrição entre seus elementos, kqbn k = 1, condição necessá-
ria para a representação correta de uma transformação de coordenadas. Para solucionar o problema,
em geral é utilizado um procedimento específico para corrigir o quatérnio obtido.
Uma das alternativa mais simples para solucionar a questão, por exemplo, é normalização do
quatérnio estimado. Naturalmente, porém, existem formas mais elegantes para ajustar a velocidade
de convergência do quatérnio em direção à unicidade.
58
O método utilizado neste trabalho é baseado em uma pseudo-observação ou pseudo-medição
referente a
Essa pseudo-observação, assim chamada porque não há real medida do erro de unicidade do
quatérnio, pode ser aplicada a todo instante, inclusive quando há medida disponibilizada pelo mag-
netômetro. Assim, a correção aplicada pelo FKE de atitude será no sentido de garantir a unicidade do
quatérnio e, dessa forma, (4.7) se tornará não-linear.
Entretanto, um aspecto importante é que, caso o modelo (4.8) seja adotado para a pseudo-observação,
o FKE gerará um alto ganho para garantir que a restrição seja atingida, mas possivelmente reduzindo
equivocadamente as contribuições fornecidas pelos girômetros, acelerômetros e magnetômetros. As-
sim, a fim de minimizar tal problema, pode-se incluir um ruído aditivo gaussiano de média nula ao
modelo (4.8), de forma a possibilitar o ajuste da velocidade de convergência da restrição do quatérnio.
Metodologia similar já foi empregada em alguns trabalhos, como em [24], que utiliza também
outro método, baseado na modificação do sub-vetor de estados referente ao quatérnio:
1
qbn (k + 1) = − W(k + 1)qbn (k) + µe(k)qbn (k),
2
em que µ determina a velocidade de convergência.
Nesta Seção, descreve-se mais detalhadamente o FKE que realiza a fusão da estimativa de atitude
proveniente dos girômetros com aquela proveniente do acelerômetro e magnetômetro. Os modelos
de predição e correção foram descritos nas Seções anteriores e no presente momento discute-se como
a estimativa de atitude é calculada no decorrer do tempo.
59
são dados por
sin(v/2)sy
A1,1 = cos(v/2) A3,1 = −
v
sin(v/2)sx sin(v/2)sz
A1,2 = − A3,2 =
v v
sin(v/2)sy
A1,3 =− A3,3 = cos(v/2)
v
sin(v/2)sz sin(v/2)sx
A1,4 =− A3,4 = −
v v
sin(v/2)sx sin(v/2)sz
A2,1 = A4,1 =−
v v
sin(v/2)sy
A2,2 = cos(v/2) A4,2 =−
v
sin(v/2)sz sin(v/2)
A2,3 = A4,3 = sx
v v
sin(v/2)sy
A2,4 =− A4,4 = cos(v/2).
v
Em relação à etapa de correção do FKE, caso não haja medição e não se utilize a pseudo-
observação referente à restrição do quatérnio, considera-se que x̂(k + 1) e P(k + 1) são, respec-
tivamente, x̂− (k + 1) e P− (k + 1), em que x refere-se a qbn . Porém, caso esteja disponível medida
para corrigir o estado predito e a covariância associada, o procedimento de correção se inicia com o
cálculo do ganho de Kalman, que se dá por meio da equação (B..14).
Porém, caso nesse instante se utilize apenas a pseudo-observação, C será apenas um vetor:
∂epseudo h q0 (k+1) q1 (k+1) q2 (k+1) q3 (k+1)
i
C = Cpseudo = = − kq(k+1)k − kq(k+1)k − kq(k+1)k − kq(k+1)k (4.11)
∂ q̂−1
em que foram omitidos índices dos quatérnios.
Por fim, caso as duas medidas estejam presentes, C será uma matriz de dimensão 5 × 4 que
incorpora as jacobianas de ambas medidas, ou seja,
1 0 0 0
0 1 0 0
C= 0 0 1 0 .
(4.12)
0 0 0 1
q0 (k+1) q1 (k+1) q2 (k+1) q3 (k+1)
− kq(k+1)k − kq(k+1)k − kq(k+1)k − kq− (k+1)k
A partir daí, as estimativas a posteriori de x̂(k +1) e P(k +1) serão dadas pelas equações (B..15).
60
Figura 4.1: Diagrama de blocos do FKE de atitude.
Entretanto, tendo em vista que tal método abrange apenas a calibração do bias do referido sen-
sor no momento de inicialização do sistema, outra alternativa para a calibração dos girômetros é a
inclusão dos parâmetros do sensor no vetor de estados do filtro, de maneira a calibrar tais parâmetros
continuamente durante a operação do sistema. Tal abordagem já é usualmente adotada. Entretanto, de
forma distinta a [46] e [22], neste trabalho procede-se com a calibração do bias e do fator de escala.
Assim, o vetor de estados passou a ter 10 elementos, ou seja,
h iT
x = q0 q1 q3 q4 bgx bgy bgz sgx sgy sgz .
Em relação aos modelos dos parâmetros, neste trabalho assume-se que os biases bg e os fatores de
escala sg são constantes adicionadas de um ruído branco gaussiano de média nula e, assim, evoluem
de acordo com as seguintes expressões:
61
Figura 4.2: Diagrama de blocos do FKE de atitude e calibração online dos girômetros.
Diante dessa nova configuração do FKE, o cálculo de novas matrizes A e C tornou-se necessário.
O cálculo de A torna-se especialmente mais complexo, visto que as equações de predição da atitude
passam a assumir as medidas descalibradas dos girômetros como entrada, conforme ilustrado pela
Figura 4.2. Considerando o modelo (2.35), tem-se
(ω̃(k + 1) − bg (k))∆t
s = ω(k + 1)∆t = . (4.14)
sg (k)
Os termos adicionais, em que foram omitidos os instantes de tempo, serão dados por:
sx sin(v/2)q0 ∆t sin(v/2)q1 ∆t sx ∆t sx cos(v/2)∆t
A1,5 = + + sx q1 − +
2sgx v sgx v sgx v 3 2sgx v 2
sy sin(v/2)q0 ∆t sin(v/2)q2 ∆t sy ∆t sy cos(v/2)∆t
A1,6 = + + sy q2 − +
2sgy v sgy v sgy v 3 2sgy v 2
sz sin(v/2)q0 ∆t sin(v/2)q3 ∆t sz ∆t sz cos(v/2)∆t
A1,7 = + + sz q3 − +
2sgz v sgz v sgz v 3 2sgz v 2
62
(ω̃x − bgx )sx sin(v/2)q0 ∆t (ω̃x − bgx ) sin(v/2)q1 ∆t
A1,8 = +
2s2gx v s2gx v
(ω̃x − bgx )sx sin(v/2)∆t (ω̃x − bgx )sx cos(v/2)∆t
+ sx q1 − +
s2gx v 3 2s2gx v 2
(ω̃y − bgy )sy sin(v/2)q0 ∆t (ω̃y − bgy ) sin(v/2)q2 ∆t
A1,9 = +
2s2gy v s2gy v
(ω̃y − bgy )sy sin(v/2)∆t (ω̃y − bgy )sy cos(v/2)∆t
+ sy q2 − +
s2gy v 3 2s2gy v 2
(ω̃z − bgz )sz sin(v/2)q0 ∆t (ω̃z − bgz ) sin(v/2)q3 ∆t
A1,10 = +
2s2gz v s2gz v
(ω̃z − bgz )sz sin(v/2)∆t (ω̃z − bgz )sz cos(v/2)∆t
+ sz q3 − +
s2gz v 3 2s2gz v 2
sx sin(v/2)q1 ∆t sin(v/2)q0 ∆t sx ∆t sx cos(v/2)∆t
A2,5 = − − sx q0 − +
2sgx v sgx v sgx v 3 2sgx v 2
sy sin(v/2)q1 ∆t sin(v/2)q3 ∆t sy ∆t sy cos(v/2)∆t
A2,6 = + + sy q3 − +
2sgy v sgy v sgy v 3 2sgy v 2
sz sin(v/2)q1 ∆t sin(v/2)q2 ∆t sz ∆t sz cos(v/2)∆t
A2,7 = − − sz q2 − +
2sgz v sgz v sgz v 3 2sgz v 2
(ω̃x − bgx )sx sin(v/2)q1 ∆t (ω̃x − bgx ) sin(v/2)q0 ∆t
A2,8 = −
2s2gx v s2gx v
(ω̃x − bgx )sx sin(v/2)∆t (ω̃x − bgx )sx cos(v/2)∆t
− sx q0 − +
s2gx v 3 2s2gx v 2
(ω̃y − bgy )sy sin(v/2)q1 ∆t (ω̃y − bgy ) sin(v/2)q3 ∆t
A2,9 = +
2s2gy v s2gy v
(ω̃y − bgy )sy sin(v/2)∆t (ω̃y − bgy )sy cos(v/2)∆t
+ sy q3 − +
s2gy v 3 2s2gy v 2
(ω̃z − bgz )sz sin(v/2)q1 ∆t (ω̃z − bgz ) sin(v/2)q2 ∆t
A2,10 = −
2s2gz v s2gz v
(ω̃z − bgz )sz sin(v/2)∆t (ω̃z − bgz )sz cos(v/2)∆t
− sz q2 − +
s2gz v 3 2s2gz v 2
sx sin(v/2)q2 ∆t sin(v/2)q3 ∆t sx ∆t sx cos(v/2)∆t
A3,5 = − − sx q3 − +
2sgx v sgx v sgx v 3 2sgx v 2
sy sin(v/2)q2 ∆t sin(v/2)q0 ∆t sy ∆t sy cos(v/2)∆t
A3,6 = − − sy q0 − +
2sgy v sgy v sgy v 3 2sgy v 2
sz sin(v/2)q2 ∆t sin(v/2)q1 ∆t sz ∆t sz cos(v/2)∆t
A3,7 = + + sz q1 − +
2sgz v sgz v sgz v 3 2sgz v 2
(ω̃x − bgx )sx sin(v/2)q2 ∆t (ω̃x − bgx ) sin(v/2)q3 ∆t
A3,8 = −
2s2gx v s2gx v
(ω̃x − bgx )sx sin(v/2)∆t (ω̃x − bgx )sx cos(v/2)∆t
− sx q3 − +
s2gx v 3 2s2gx v 2
63
(ω̃y − bgy )sy sin(v/2)q2 ∆t (ω̃y − bgy ) sin(v/2)q0 ∆t
A3,9 = −
2s2gy v s2gy v
(ω̃y − bgy )sy sin(v/2)∆t (ω̃y − bgy )sy cos(v/2)∆t
− sy q0 − +
s2gy v 3 2s2gy v 2
(ω̃z − bgz )sz sin(v/2)q2 ∆t (ω̃z − bgz ) sin(v/2)q1 ∆t
A3,10 = +
2s2gz v s2gz v
(ω̃z − bgz )sz sin(v/2)∆t (ω̃z − bgz )sz cos(v/2)∆t
+ sz q1 − +
s2gz v 3 2s2gz v 2
sx sin(v/2)q3 ∆t sin(v/2)q2 ∆t sx ∆t sx cos(v/2)∆t
A4,5 = + + sx q2 − +
2sgx v sgx v sgx v 3 2sgx v 2
sy sin(v/2)q3 ∆t sin(v/2)q1 ∆t sy ∆t sy cos(v/2)∆t
A4,6 = − − sy q1 − +
2sgy v sgy v sgy v 3 2sgy v 2
sz sin(v/2)q3 ∆t sin(v/2)q0 ∆t sz ∆t sz cos(v/2)∆t
A4,7 = − − sz q0 − +
2sgz v sgz v sgz v 3 2sgz v 2
(ω̃x − bgx )sx sin(v/2)q3 ∆t (ω̃x − bgx ) sin(v/2)q2 ∆t
A4,8 = +
2s2gx v s2gx v
(ω̃x − bgx )sx sin(v/2)∆t (ω̃x − bgx )sx cos(v/2)∆t
+ sx q2 − +
s2gx v 3 2s2gx v 2
(ω̃y − bgy )sy sin(v/2)q3 ∆t (ω̃y − bgy ) sin(v/2)q1 ∆t
A4,9 = −
2s2gy v s2gy v
(ω̃y − bgy )sy sin(v/2)∆t (ω̃y − bgy )sy cos(v/2)∆t
− sy q1 − +
s2gy v 3 2s2gy v 2
(ω̃z − bgz )sz sin(v/2)q3 ∆t (ω̃z − bgz ) sin(v/2)q0 ∆t
A4,10 = −
2s2gz v s2gz v
(ω̃z − bgz )sz sin(v/2)∆t (ω̃z − bgz )sz cos(v/2)∆t
− sz q0 − +
s2gz v 3 2s2gz v 2
A5−10,5−10 = I6 .
Em relação à matriz C, caso se considere que tanto a medida do magnetômetro quanto a pseudo-
observação são utilizadas, sua dimensão será, naturalmente, 5 × 10. Os termos adicionais em compa-
ração a (4.12) serão todos nulos.
É importante destacar também que, a fim de que a evolução dos parâmetros dos girômetros seja
lenta, a covariância inicial associada é reduzida, bem como os ruídos referentes aos referidos parâme-
tros.
4.2.6 Resultados
64
disponibilização a outros usuários, na forma de uma biblioteca.
Quando a calibração online dos girômetros foi incorporada ao filtro, o desempenho foi seme-
lhante, como pode ser observado na Figura 4.4(b), obtida a partir da mesma seqüência de movimentos.
65
Tal fato confirma a suposição de que os parâmetros do sensor não sofrem variação considerável em tal
tempo de operação. Na Figura 4.5, referente à evolução dos parâmetros dos girômetros, percebe-se
maior variação e também maior convergência dos biases dos sensores que foram mais estimulados no
experimento realizado, quando comparados ao girômetro sensível ao movimento de arfagem.
Foram ainda realizados experimentos especificamente projetados para validar o conjunto de sen-
sores empregados, bem como o algoritmo de fusão sensorial utilizado nesse trabalho, em situações
em que os sistemas individualmente geram estimativas insatisfatórias da atitude. A Figura 4.6 repre-
senta o caso em que o bias de um dos girômetros não é estimado corretamente. Tal situação pode
ocorrer quando o sistema não foi mantido imóvel durante o período de inicialização ou quando, por
exemplo, não houver condições de realização de tal procedimento inicial, como no caso em que o sis-
tema é desligado abruptamente em operação por falha no sistema de alimentação e deve ser religado
rapidamente. Percebe-se, na figura, como a estimativa da atitude é degradada rapidamente, mesmo
em um movimento suave.
Já a Figura 4.7 diz respeito ao caso em que o veículo apresenta uma acaleração inercial determi-
nada, ou seja, kab k 6= 0, mas a medida de f b ainda é utilizada como estimativa de gb . Tal cenário
representa o maior problema da utilização de uma estimativa da atitude baseada em acelerômetros
e magnetômetros, conforme discutido na Seção 4.2.2. O outro grande problema é, naturalmente, a
reduzida freqüência de amostragem disponibilizada pelo magnetômetro empregado neste trabalho.
4.3 LOCALIZAÇÃO 3D
Esta Seção descreve o algoritmo utilizado para estimar não apenas a atitude do sistema em rela-
ção a um sistema de coordenadas de referência, mas também as posições e velocidades do veículo
representadas nesse sistema. Nesse contexto, o vetor de estados será dado por
h iT
x = q0 q1 q3 q4 vxn vyn vzn rxn ryn rzn . (4.16)
66
(a)
(b)
Figura 4.4: (a) atitude estimada em movimentos seqüencias de rolagem e guinada com o FKE de
atitude. (b) desempenho do FKE de atitude e calibração online dos girômetros.
67
Figura 4.5: A evolução dos parâmetros dos girômetros no experimento ilustrado na Figura 4.4(b).
Figura 4.6: Mesmo movimento de guinada das Figuras 4.4(a) e 4.4(b) com erro de 0, 05 o /s na
estimação de bgz .
efetuar a calibração inicial dos girômetros, conforme mencionado nas Seções 3.5.3 e 4.2.5, e as
estimações da origem do Sistema N representada no Sistema E, re (0), da matriz Cen e do quatérnio
qbn (0).
A determinação do Sistema N , definido por sua origem re (0) e pela matriz Cen , é feita a partir
das medidas de posição disponibilizadas pelo receptor GPS, r̃e . Acerca da determinação de Ĉen , após
sucessivas estimativas de posição fornecidas pelo receptor GPS, pode-se calcular a matriz Ĉen por
meio da equação (2.7). Recorda-se que, no contexto deste trabalho, a origem do Sistema N , bem
como a matriz de rotação correspondente, são mantidas constantes durante a operação do dispositivo.
A origem do Sistema N também é obtida a partir dessas sucessivas medidas, sendo definida pela
simples média ou mediana da seqüência de medidas r̃e . Assim, obtém-se r̂e (0). Esta estimativa, por
sua vez, é utilizada durante a operação do sistema de localização 3D para transformar as estimativas
de posição fornecidas pelo receptor GPS para o Sistema N . Tal transformação se dá por meio da
seguinte relação:
68
Figura 4.7: Efeito de aceleração inercial provocada no sistema.
Resta então, para concluir o procedimento de inicialização, o cálculo de q̂bn (0). Este procedi-
mento é muitas vezes conhecido por alinhamento inicial. Uma das formas de se realizar tal operação
seria simplesmente posicionar o sistema de localização de maneira alinhada ao Sistema N recém
definido. Porém, tal procedimento não apenas requisitaria uma interface específica com o operador
responsável, como também impossibilitaria a operação do sistema em casos em que simplesmente
não é possível efetuar tal alinhamento manual. Neste contexto, optou-se por utilizar os acelerômetros
e magnetômetros, conforme mencionado na Seção 4.2.4 para fornecer a estimativa de qbn (0). As es-
timativas de gb e mb são computadas a partir das medidas acumuladas no período de inicialização e,
como são conhecidos gn e mn , o quatérnio correspondente pode ser obtido por meio das equações
(4.3) e (A..20).
Tal procedimento mostrou-se simples e eficiente nos experimentos realizados para avaliar o de-
sempenho do algoritmo de fusão sensorial descrito nessa seção. Em alguns casos, entretanto, verificou-
se existência de certa sensibilidade da estimativa de qbn (0) nas situações em que se viam presentes
campos magnéticos ou materiais ferrosos próximos aos magnetômetros. Tal problema se torna es-
pecialmente grave na estimação de qbn (0), quando comparado às estimativas fornecidas durante a
operação do sistema, visto que tal estimativa depende apenas da solução fornecida pelos acelerôme-
tros e magnetômetros, enquanto que sua evolução no tempo depende das estimativas fornecidas pelos
girômetros e das demais correções aplicadas pelo algoritmo de fusão. Tal problema, não se mostrou
excessivamente grave, como pode ser observado nos resultados apresentados na Seção 4.3.6.
69
4.3.2 Predição
Da mesma forma como ocorre no FKE de atitude, a etapa de predição é dada por um processo
não-linear, como representado pela equação (4.1). Mais uma vez, o processo tem como entrada as
medidas fornecidas pelos sensores inerciais, cujas freqüências de amostragem são consideravelmente
altas quando comparadas aos demais sensores, ou seja,
em que a matriz Cbn (k) é calculada por meio de (A..19), relativa à transformação do quatérnio para a
representação em matriz de rotação.
4.3.3 Correção
As medidas de velocidade e posição são tratadas como medidas independentes, visto que são
estimativas calculadas de forma razoavelmente distinta pelo receptor GPS (Seção 2.4). Assim, após
transformação efetuada por meio da equação (4.17), as medidas do receptor GPS tornam-se observa-
ções diretas dos respectivos estados do filtro. Nesse contexto, caso todas as medidas corretivas sejam
disponibilizadas no mesmo instante, se terá o seguinte vetor de observações:
q̃bn (k + 1)
n
ṽ (k + 1)
y(k + 1) = r̃n (k + 1) + η y (k + 1).
(4.20)
epseudo
70
Figura 4.8: Diagrama de blocos do FKE de localização 3D.
indicação da qualidade da solução obtida pelo receptor ou mesmo fato de que a solução é influenciada
por diversas variáveis, conforme descrito na Seção 2.4.3. Por este motivo, a matriz R foi ajustada
experimentalmente. Fica, porém, como sugestão para trabalhos futuros, uma maior caracterização
dos erros de medida do GPS, tal como proposto em [47].
O algoritmo de fusão sensorial utilizado, cujo diagrama de blocos está ilustrado na Figura 4.8,
é semelhante àquele utilizado para estimação da atitude (Seção 4.2). As estimativas a priori e a
posteriori são calculadas novamente por meio das Equações (B..8), (B..14) e (B..15). Naturalmente,
no presente caso, são acrescentados ao FKE os estados referentes à posição e velocidade, rn e vn , e
as medidas corretivas disponibilizadas pelo GPS, r̃n e ṽn .
Assim, para concluir a caracterização do algoritmo, torna-se necessário o cálculo das jacobianas
A e C. Em relação à matriz A, tem-se que, a partir do modelo representado pela Equação (4.19), ela
apresenta a seguinte configuração:
I4 04×3 04×3
∂vn
A= I3 03×3 , (4.21)
∂qbn
∂rn
∆tI3 I3
∂qbn
em que a submatriz A1−4,1−4 será idêntica à matriz A apresentada na Seção 4.2.4, visto que diz
respeito aos estados do quatérnio. A submatriz A1−4,5−10 terá, naturalmente, apenas elementos nulos.
Os elementos restantes são dados, caso sejam omitidos os instantes de tempo, por:
71
∆t2
A5,1 = (2q0 fx + 2fy − 2fz ) ∆t A8,1 = (2q0 fx + 2fy − 2fz )
2
∆t2
A5,2 = (2q1 fx + 2fy + 2fz ) ∆t A8,2 = (2q1 fx + 2fy + 2fz )
2
∆t2
A5,3 = (−2q2 fx + 2fy − 2fz ) ∆t A8,3 = (−2q2 fx + 2fy − 2fz )
2
∆t2
A5,4 = (−2q3 fx + 2fy + 2fz ) ∆t A8,4 = (−2q3 fx + 2fy + 2fz )
2
A5,5 = 1 A8,5 = ∆t
A5,6 = 0 A8,6 = 0
A5,7 = 0 A8,7 = 0
A5,8 = 0 A8,8 = 1
A5,9 = 0 A8,9 = 0
A5,10 = 0 A8,10 = 0
∆t2
A6,1 = (−2fx + 2q0 fy + 2fz ) ∆t A9,1 = (−2fx + 2q0 fy + 2fz )
2
∆t2
A6,2 = (2fx − 2q1 fy + 2fz ) ∆t A9,2 = (2fx − 2q1 fy + 2fz )
2
∆t2
A6,3 = (2fx + 2q2 fy + 2fz ) ∆t A9,3 = (2fx + 2q2 fy + 2fz )
2
∆t2
A6,4 = (−2fx − 2q3 fy + 2fz ) ∆t A9,4 = (−2fx − 2q3 fy + 2fz )
2
A6,5 = 0 A9,5 =0
A6,6 = 1 A9,6 = ∆t
A6,7 = 0 A9,7 = 0
A6,8 = 0 A9,8 = 0
A6,9 = 0 A9,9 = 1
A6,10 = 0 A9,10 = 0
∆t2
A7,1 = (2fx + 2fy + 2q0 fz ) ∆t A10,1 = (2fx + 2fy + 2q0 fz )
2
∆t2
A7,2 = (2fx − 2fy − 2q1 fz ) ∆t A10,2 = (2fx − 2fy − 2q1 fz )
2
∆t2
A7,3 = (2fx − 2fy − 2q2 fz ) ∆t A10,3 = (2fx − 2fy − 2q2 fz )
2
∆t2
A7,4 = (2fx + 2fy + 2q3 fz ) ∆t A10,4 = (2fx + 2fy + 2q3 fz )
2
A7,5 = 0 A10,5 =0
A7,6 = 0 A10,6 = 0
A7,7 = 1 A10,7 = ∆t
A7,8 = 0 A10,8 = 0
A7,9 = 0 A10,9 = 0
A7,10 = 0 A10,10 = 1.
72
Acerca das matrizes C, sua configuração varia de acordo com as medições disponíveis. Caso
todos sensores sejam utilizados, será dada por
I4 04×3 04×3
03×3 I3 03×3
C=
,
(4.22)
03×3 03×3 I3
Cpseudo 01×3 01×3
Em relação à determinação das estimativas iniciais dos estados do filtro, x̂(0), e da covariância
associada, P(0), a obtenção dos estados iniciais foi discutida na Seção 4.3.1. Devido às incertezas
inerentes ao procedimento de inicialização descrito em tal Seção, P(0) pode assumir valor conside-
ravelmente maior que zero, de maneira a incorporar tais incertezas ao FKE.
Da mesma maneira como proposto na Seção 4.2, o filtro que fornece dados completos sobre a lo-
calização 3D do veículo pode ser utilizado para calibração online dos sensores inerciais, os girômetros
e acelerômetros. Para tanto, os parâmetros dos sensores são incluídos no vetor de estados do filtro,
que passa a ser composto por 22 elementos. Novamente considera-se que os biases e fatores de escala
dos sensores evoluem de acordo com os modelos (4.13). Assim, considerando-se que a calibração de
ambos sensores é realizada, a matriz A passa a ter dimensão 22 × 22 e a seguinte configuração:
∂qbn ∂qbn
I4 04×3 04×3 04×3 04×3
∂bg ∂sg
∂vn ∂v n ∂v n
I3 03×3 03×3 03×3
∂qbn ∂bf ∂sf
∂rn ∂r n ∂r n
∆tI3 I3 03×3 03×3
∂qbn ∂bf ∂sf
A=
, (4.23)
03×3 03×3 03×3 I3 03×3 03×3 03×3
03×3 03×3 03×3 03×3 I3 03×3 03×3
03×3 03×3 03×3 03×3 03×3 I3 03×3
03×3 03×3 03×3 03×3 03×3 03×3 I3
73
em que os seguintes elementos foram acrescentados:
(q02 + q12 − q22 − q32 )∆t (q02 + q12 − q22 − q32 )∆t2
A5,17 = − A8,17 = −
sf x 2sf x
(2q1 q2 + 2q0 q3 )∆t (2q1 q2 + 2q0 q3 )∆t2
A5,18 = − A8,18 = −
sf y 2sf y
(2q1 q3 − 2q0 q2 )∆t (2q1 q3 − 2q0 q2 )∆t2
A5,19 = − A8,19 = −
sf z 2sf z
(q02 + q12 − q22 − q32 )(f˜x − bf x )∆t (q02 + q12 − q22 − q32 )(f˜x − bf x )∆t2
A5,20 = − A8,20 = −
s2f x 2s2f x
(2q1 q2 + 2q0 q3 )(f˜y − bf y )∆t (2q1 q2 + 2q0 q3 )(f˜y − bf y )∆t2
A5,21 = − A8,21 = −
s2f y 2s2f y
(2q1 q3 − 2q0 q2 )(f˜z − bf z )∆t (2q1 q3 − 2q0 q2 )(f˜z − bf z )∆t2
A5,22 = − A8,22 = −
s2f z 2s2f z
(2q1 q2 − 2q0 q3 )∆t (2q1 q2 − 2q0 q3 )∆t2
A6,17 = − A9,17 = −
sf x 2sf x
(q02 − q12 + q22 − q32 )∆t (q02 − q12 + q22 − q32 )∆t2
A6,18 = − A9,18 = −
sf y 2sf y
(2q2 q3 + 2q0 q1 )∆t (2q2 q3 + 2q0 q1 )∆t2
A6,19 = − A9,19 = −
sf z 2sf z
(2q1 q2 − 2q0 q3 )(f˜x − bf x )∆t (2q1 q2 − 2q0 q3 )(f˜x − bf x )∆t2
A6,20 = − A9,20 = −
s2f x 2s2f x
(q02 − q12 + q22 − q32 )(f˜y − bf y )∆t (q02 − q12 + q22 − q32 )(f˜y − bf y )∆t2
A6,21 = − A9,21 = −
s2f y 2s2f y
(2q2 q3 + 2q0 q1 )(f˜z − bf z )∆t (2q2 q3 + 2q0 q1 )(f˜z − bf z )∆t2
A6,22 = − A9,22 = −
s2f z 2s2f z
(2q1 q3 + 2q0 q2 )∆t (2q1 q3 + 2q0 q2 )∆t2
A7,17 = − A10,17 = −
sf x 2sf x
(2q2 q3 − 2q0 q1 )∆t (2q2 q3 − 2q0 q1 )∆t2
A7,18 = − A10,18 = −
sf y 2sf y
(q02 − q12 − q22 + q32 )∆t (q02 − q12 − q22 + q32 )∆t2
A7,19 = − A10,19 = −
sf z 2sf z
(2q1 q3 + 2q0 q2 )(f˜x − bf x )∆t (2q1 q3 + 2q0 q2 )(f˜x − bf x )∆t2
A7,20 = − A10,20 = −
s2f x 2s2f x
(2q2 q3 + 2q0 q1 )(f˜y − bf y )∆t (2q2 q3 + 2q0 q1 )(f˜y − bf y )∆t2
A7,21 = − A10,21 = −
s2f y 2s2f y
(q 2 − q 2 − q 2 + q 2 )(f˜z − bf z )∆t
0 1 2 3 (q 2 − q 2 − q 2 + q 2 )(f˜z − bf z )∆t2
0 1 2 3
A7,22 = − A10,22 = −
s2f z 2s2f z
A17−22,17−22 = I6
Vale destacar que, tal como na Seção 4.2, a fim de que a evolução dos parâmetros dos sensores
inerciais seja lenta, a covariância inicial associada é reduzida, bem como os ruídos referentes aos
74
referidos parâmetros.
4.3.6 Resultados
Para avaliar o desempenho do sistema projetado, foram realizados testes em veículo automotivo
no campus da universidade. Um PC, instalado no interior do veículo, foi responsável pela aquisição
dos dados durante os experimentos. Os dados foram processados posteriormente no Matlab a fim de
possibilitar a comparação das diversas configurações oferecidas pelo sistema construído. É impor-
tante remarcar que, embora os experimentos tenham sido realizados num veículo que, naturalmente,
encontra-se sempre apoiado sobre o solo, nenhuma restrição dessa natureza foi imposta ao filtro.
Tal limitação, porém, impede uma análise mais detalhada do desempenho da estimação de altitude
fornecida pelo sistema.
Diante desse contexto, as Figuras 4.9 e 4.10 ilustram o desempenho do sistema em situação na
qual todos sensores disponíveis foram utilizados durante a operação do sistema. Nas figuras, a posição
estimada está representada em laranja, a atitude em um sistema de coordenadas RGB e as medidas de
posição do GPS em círculos amarelos. As setas em roxo representam momentos em que não houve
informação disponibilizada pelo receptor GPS no instante esperado. O eixo X representa a direção
Norte e o eixo Y aponta para o Leste. O início da trajetória percorrida se deu na origem do sistema
N ED representado.
As Figuras 4.11, 4.12(a) e 4.12(b) ilustram o desempenho do sistema a partir de uma perspectiva
diferente. Mostram, de fato, a evolução no tempo da estimativa de localização 3D do FKE durante o
referido experimento.
75
Figura 4.9: Estimativas de posição e atitude fornecidas pelo sistema em situação na qual todos dados
disponíveis foram utilizados. Fonte: Google Earth.
76
Figura 4.10: Representação 3D dos dados da Figura 4.9.
gerar uma estimativa de qualidade sob ambos efeitos, apesar de que, na Figura 4.9, vê-se o efeito de
erro na estimativa de posição provocado por erro na estimativa de φ.
Figura 4.11: Evolução da atitude estimada. São mostrados os ângulos de Euler estimados pelos
girômetros a partir dos parâmetros obtidos no procedimento de calibração inicial, com o conjunto de
acelerômetros e magnetômetros e fornecidos pelo FKE.
Acerca das Figuras 4.12(a) e 4.12(b), em que estão ilustradas as estimativas de rn e vn no de-
correr do tempo fornecidas pelo receptor GPS e gerados pelo FKE, vale destacar que as estimativas
fornecidas pelos acelerômetros unicamente não foram mostradas, visto que elas divergem rapida-
mente quando nenhuma correção é aplicada, como pode ser observado na Figura 4.14(b). Em relação
ao desempenho do sistema, é importante observar o comportamento do sistema diante dos erros do
receptor GPS, causados nesse caso possivelmente pela presença de obstáculos ao sinal naquela por-
ção do trajeto. Vale remarcar que, além da ausência de informação de posição fornecida pelo GPS
(instante indicado pelas setas roxas na Figura 4.12(a)), em momento anterior já houve erro na esti-
77
mativa de velocidade proveniente do receptor, conforme indicado pelas setas roxas na Figura 4.12(b).
Caso ocorresse apenas um erro na posição fornecida, o desempenho do sistema seria provavelmente
superior.
Para se avaliar de forma mais objetiva tal suposição, é importante comparar o desempenho do
sistema em situações em que não estão disponíveis dados de todos sensores. Além disso, tal iniciativa
é importante também para prever a qualidade da estimativa nos casos em que ocorrer falha de outros
dispositivos, justificar o emprego dos elementos quem compõem o sistema e eventualmente descartar
algum.
Assim, a Figura 4.13 ilustra o desempenho do sistema no caso em que não foram utilizadas as
informações de posição fornecidas pelo receptor GPS. Como já era de se esperar, a qualidade da
estimativa se degrada no decorrer do tempo devido à falta de uma medida corretiva de posição. Ao
mesmo tempo, porém, quando comparado ao desempenho do sistema quando nenhum dos dados do
GPS é utilizado, ilustrado na Figura 4.14(b), percebe-se a considerável melhora quando há informa-
ção disponível referente ao Sistema N . De fato, a Figura 4.14(b) ilustra de forma exemplar como
pequenos erros de atitude propagam-se para as estimativas de posição.
Já a Figura 4.14(a) ilustra a situação oposta à Figura 4.13, ou seja, quando não são utilizados os
dados de velocidade fornecidos pelo receptor GPS. Pode-se observar que, nesse caso, o desempenho
do sistema é muito superior, possivelmente indicando que não há necessidade de se utilizar a infor-
mação de velocidade fornecida pelo receptor GPS. Vale dizer, contudo, que não apenas a informação
de velocidade no Sistema N é extremamente importante para o filtro interno do receptor GPS, mas
também para o sistema proposto, principalmente em casos como o indicado pela seta roxa na Figura
4.14(a). Ou seja, caso apenas a informação de posição seja perdida, o sistema é capaz de fornecer
uma estimativa de qualidade apenas com a informação de velocidade.
A avaliação do FKE que promove a calibração online dos sensores foi realizada a partir dos
mesmos dados utilizados nas Figuras 4.9 a 4.15. A Figura 4.14(d) compara o desempenho do sistema
78
(a)
(b)
Figura 4.12: Evolução das estimativas de (a) posição e (b) velocidade. São representadas as três
componentes do Sistema N ED. As setas roxas indicam os erros mais pertinentes do receptor GPS.
79
Figura 4.13: Estimativas de posição e atitude fornecidas pelo sistema em situação na qual as infor-
mações de posição fornecidas pelo receptor GPS não foram utilizadas. Fonte: Google Earth.
80
(a) (b)
(c) (d)
Figura 4.14: Desempenho do sistema em diversas configurações. São comparados os caso em que to-
dos os dados disponíveis são utilizados (em laranja) com outras configurações específicas (em cinza).
81
Figura 4.15: Evolução da atitude estimada caso não se utilize o artifício da pseudo-observação.
em situações em que todos dados disponíveis foram utilizados, mas em que o FKE promoveu ou
não a calibração online dos sensores inerciais. Em princípio, pode-se pensar que o desempenho do
sistema em que há calibração dos sensores foi melhor, visto que os erros de posição apresentados
foram menores. Entretanto, caso os valores finais das estimativas dos parâmetros dos girômetros
sejam utilizados para se avaliar a estimativa de atitude dos girômetros, como mostra a Figura 4.16,
percebe-se que tal impressão inicial é incorreta. De fato, a partir da discussão relativa à Figura 4.11 e
a partir da Figura 4.17(a), se por um lado a calibração dos biases dos girômetros parece convergir para
valores corretos, a estimação dos fatores de escala demonstra sensibilidade a outros fatores, tais como
uma maior complexidade do modelo real do sensor e erros da estimação de atitude fornecida pelo
conjunto de acelerômetros e magnetômetros. Em relação à calibração dos acelerômetros, representada
na Figura 4.17(b), é difícil realizar uma avaliação mais criteriosa, visto que os efeitos nas estimativas
de posição do FKE são, até certo ponto, imperceptíveis.
A conclusão acerca de tal fato é de que a utilização do algoritmo de calibração online dos senso-
res inerciais durante a operação do robô aéreo deve ser realizada com parcimônia. De fato, caso os
movimentos executados pelo veículo não sejam muito suaves, ela não é recomendada para operação
contínua do dispositivo, mas apenas para procedimentos iniciais de calibração dos girômetros, situa-
ção na qual o movimento efetuado é controlado. Após tal procedimento inicial, pode-se utilizar filtro
que promova apenas a calibração dos biases de tais sensores, com o intuito de se compensar variações
82
Figura 4.16: Comparação das seguintes estimativas de atitude: girômetros apenas com procedimento
inicial de calibração (chamados de descalibrados), FKE que não promove a calibração online dos
sensores inerciais e girômetros calibrados a partir dos valores finais estimados pelo FKE que promove
a calibração online dos sensores inerciais (chamados de calibrados).
Por fim, com o intuito de avaliar o desempenho do sistema proposto caso sensores de outras natu-
rezas venham a substituir o receptor GPS, simulações foram realizadas, a partir dos dados obtidos no
experimentos principal executado, nas quais não foram utilizadas as informações de posição e veloci-
dade do veículo no Sistema N , mas sim krn k, ou seja, a distância ou range do veículo até a origem do
sistema de referência. Tal avaliação foi efetuada com o intuito de verificar a generalidade do sistema
para operação, por exemplo, em ambientes internos, onde raramente receptores GPS apresentam bom
desempenho e outros sensores podem ser empregados a um custo menor.
Caso o sistema de localização apresente essa configuração, há forte necessidade de uma boa
estimativa da atitude do veículo para estimação da posição e velocidade. Tal exigência não é tão
83
fundamental no caso em que há medição direta das coordenadas do veículo no sistema de interesse,
como no caso das informações disponibilizadas pelo receptor GPS. De fato, pode ser considerado
que um sistema que utiliza apenas a distância relativa à origem do sistema de referência como medida
corretiva aplica uma normalização nas velocidades e posições medidas. Tal normalização, entretanto,
será ponderada por Cbn (k)f b + gn , o que pode conduzir a grandes erros, caso não haja uma estima-
tiva precisa da atitude. Assim, caso se garanta um bom desempenho do sistema de determinação da
atitude, a utilização de tais sensores poderá minimizar os efeitos dos erros de estimativa de posição e
velocidade ao se utilizar unicamente os acelerômetros.
Assim, considera-se que o receptor GPS fornece kr̃n k. Nesse contexto, a matriz Crange será dada
pela jacobiana de kr̃n k em relação aos estados do filtro, ou seja,
" #
rxn (k + 1) ryn (k + 1) rzn (k + 1)
Crange = 01×7 . (4.24)
krn (k + 1)k krn (k + 1)k krn (k + 1)k
A Figura 4.19 ilustra o desempenho do sistema em tal configuração. Nela, pode-se observar que,
no início da operação do dispositivo, as estimativas de posição fornecidas são satisfatórias. Entretanto,
à medida que a estimativa de atitude sofre alguma deterioração, as estimativas de posição do sistema
degradam consideravelmente.
84
(a)
(b)
Figura 4.17: Evolução dos parâmetros dos (a) girômetros e (b) acelerômetros com FKE que promove
tal calibração.
85
Figura 4.18: Estimativas de posição e atitude fornecidas pelo sistema em situação na qual todos dados
disponíveis foram utilizados, mas em que a medida do magnetômetro foi deliberadamente perturbada.
Fonte: Google Earth
86
(a)
(b)
Figura 4.19: Evolução das estimativas de (a) posição e (b) velocidade em configuração na qual não
são utilizados dados de posição e velocidade do receptor GPS, mas sim kr̃n k.
87
5 CONCLUSÕES
Milton Santos
Foram apresentadas diversas considerações acerca dos componentes indicados para compor o sis-
tema, diante das diversas restrições apresentadas por tais aeronaves, entre as quais podem ser citadas
as limitações de peso, dimensão, consumo de energia e custo. Além disso, há restrições relacionadas
ao ambiente no qual o veículo para o qual se projetou o presente sistema irá operar. Assim, sistemas
exteroceptivos baseados em ambientes específicos ou que necessitem de instalação de dispositivos
adicionais em tal ambiente foram descartados. Dessa maneira, o sistema projetado confirmou sua
tendência generalista, visto que suas estimativas independem do ambiente de operação e da instala-
ção de demais dispositivos.
Diante desse contexto, os seguintes componentes foram escolhidos para compor o sistema: sen-
sores inerciais baseados em tecnologia MEMS, receptor GPS, conjunto de magnetômetros e sensor
de pressão. A partir de então, foi promovido um estudo dos modelos de tais sensores, de forma a
se conhecer as limitações e as contribuições que tais elementos poderiam fornecer ao sistema inte-
grado de localização 3D. O Capítulo 2 trata desses componentes, bem como de considerações acerca
dos sistemas de coordenadas utilizados e das arquiteturas de integração disponíveis. Nesse capítulo,
apresentam-se algumas considerações acerca dos sistemas de coordenadas adotados e define-se que
a representação da atitude se dará por quatérnios. O Anexo A. também trata da representação de
rotações em sistemas de coordenadas 3D.
Uma das principais etapas do trabalho desenvolvido foi a escolha dos componentes que seriam
empregados no sistema e o próprio projeto do prótotipo confeccionado. Além de um grande aprendi-
zado pessoal, tal trabalho estabeleceu as bases para projetos de sistemas de dimensões mais reduzidas
e desempenho superior. Além disso, as atividades desenvolvidas possibilitaram maior compreensão
das possíveis aplicações que tais componentes de baixo custo podem ter na engenharia. A constru-
ção do sistema envolveu a montagem da placa de circuito impresso e o desenvolvimento do software
embarcado, etapa em que uma série de contratempos teve de ser superada. Neste contexto, foi de-
89
senvolvido neste trabalho, por exemplo, um procedimento de calibração inicial simples e rápido que
produz consistentes melhorias no desempenho individual de cada sensor, em especial dos acelerô-
metros e magnetômetros. Tal procedimento de calibração inicial, que pode ser utilizado em outros
projetos que empregam dispositivos de natureza semelhante, confirma as características de baixo
custo do presente projeto. O Capítulo 3 trata destes temas.
A partir do instante em que o sistema foi finalizado e decretou-se que o mesmo estava pronto para
os diversos experimentos de localização 3D, a elaboração dos algoritmos de fusão sensorial passou
a ser a maior preocupação do projeto. O algoritmo escolhido inicialmente foi o Filtro de Kalman
Estendido (FKE), tanto por ter sido largamente utilizado em problemas dessa natureza, quanto pela
relativa facilidade de implementação e facilidade de sintonização. Primeiramente, foi projetado um
filtro capaz de fornecer apenas estimativas da atitude a partir das medidas disponibilizadas pelo con-
junto de girômetros, acelerômetros e magnetômetros. A execução em tempo real de tal algoritmo no
microcontrolador mostrou-se factível e a visualização da atitude estimada foi realizada com o auxílio
de um ambiente de simulação 3D. Os resultados evidenciaram a robustez do sistema projetado às
principais limitações apresentadas pelos dois métodos utilizados para determinação da atitude. Tal
desenvolvimento foi descrito no início do Capítulo 4.
Diante de todas essas considerações, o sistema projetado foi capaz de fornecer estimativas de
qualidade da atitude, posição e velocidade do veículo sob condições de operação semelhantes às en-
contradas em VANTs de pequeno porte, curto alcance e que não atuem em modos de vôo extremos.
Há de se destacar, porém, algumas limitações do sistema, em especial a degradação da estimativa for-
necida quando a informação proveniente do receptor GPS não é disponibilizada por longos períodos
de tempo. Em tal situação, pequenos erros na estimativa de atitude propagam-se para as estimativas
de velocidade e posição. Infelizmente, porém, não foi possível avaliar o desempenho do sistema em
um robô aéreo em operação. Porém, assim que as condições para tal experimento sejam estabelecidas,
será conduzida tal verificação.
Por fim, é importante destacar mais uma vez a generalidade do sistema projetado. Tal generali-
dade não se manifesta apenas no grande número de aplicações em que se pode utilizar um sistema
de localização 3D com as características do sistema projetado, mas também na possibilidade de se
utilizar diretamente o mesmo algoritmo de integração apresentado, que é o principal produto forne-
90
cido por este trabalho, com outros modelos de sensores e, assim, obter um sistema de desempenho
distinto. De fato, acredita-se que, num futuro breve, sensores de baixo custo e de qualidade superior
estarão disponíveis no mercado, o que possibilitará a construção de sistemas ainda mais precisos,
porém baseados no mesmo algoritmo.
Nesta seção são apresentadas algumas propostas de trabalho que venham a enriquecer os resul-
tados alcançados nesse trabalho. Não se trata de sugestões de cunho tecnológico, como a utilização
de componentes de outros fabricantes na composição do sistema, mas sim de sugestões de linhas de
pesquisa que venham a preencher lacunas deixadas pela metodologia adotada e percorrer caminhos
abertos pelos resultados alcançados.
• Inclusão dos ruídos de processo nas funções não-lineares correspondentes e avaliação do de-
sempenho do FKE em tal configuração, conforme discutido na Seção 4.2.1;
• Avaliação de outros algoritmos de fusão sensorial. Trabalhos recentes, como [24] e [25], têm
ressaltado, respectivamente, o desempenho do UKF e do Filtro de Partículas em sistemas se-
melhantes.
• Caracterização analítica ou experimental do erro apresentado pelo GPS. Uma das metodologias
existentes foi apresentada em [47];
• Extensão dos métodos de calibração para o modelo (2.36), de maneira semelhante à realizada
em [43]. Possivelmente a calibração online dos sensores inerciais não resultaria em desem-
penho consideravelmente superior, porém a calibração inicial a partir do método proposto na
Seção 3.5.2 poderia ser beneficiada de maneira considerável;
• Incorporação dos atrasos referentes às medidas do GPS e do magnetômetros nos modelos utili-
zados, de maneira similar à proposta em [48].
• Avaliação dos diferentes métodos propostos na Seção 4.2.2 para rejeição da aceleração para
determinação da atitude a partir dos acelerômetros e magnetômetros;
• Avaliação dos métodos de calibração e integração propostos com sistemas de medição de refe-
rência, para fins de certificação do sistema construído.
91
REFERÊNCIAS BIBLIOGRÁFICAS
[1] A. Ollero e L. Merino. Control and perception techniques for aerial robotics. Annual Reviews
in Control, 28:167–178, 2004.
[2] P. Castillo, R. Lozano, e A. E. Dzul. Modelling and Control of Mini-Flying Machines. Springer,
2005.
[3] A. P. L. Bo e G. A. Borges. Sistema de baixo custo para determinação da atitude com aplicação
em VANTs. In VIII Simpósio Brasileiro de Automação Inteligente (SBAI 2007), 2007.
[4] A. P. L. Bo e G. A. Borges. Low cost 3D localization system for applications on UAVs (SUB-
METIDO). In 19th International Congress of Mechanical Engineering (COBEM 2007), 2007.
[5] A. P. L. Bo e G. A. Borges. Automatic calibration procedure for low cost inertial and magne-
tic measurement unit (RESUMO ESTENDIDO SUBMETIDO). In V Simpósio Brasileiro de
Engenharia Inercial (SBEIN 2007), 2007.
[8] James Bao-Yen Tsui. Fundamentals of Global Positioning Systems Receivers: a Software Ap-
proach. John Wiley & Sons, 2005.
[9] J. Doscher. A high performance surface micromachined accelerometer for machine health and
tactical inertial applications. Nota técnica, Analog Device, Inc, 2000.
[10] D. H. Titterton e J. L. Weston. Strapdown inertial navigation technology. Peter Peregrinus LTD.
on behalf of the Institution of Electrical Engineers, 1997.
[11] Steven Nasiri. A critical review of MEMS gyroscopes technology and commercialization status.
Nota técnica, Invensense, Inc, 2005.
[13] G. T. French. Understanding the GPS: An Introduction to the Global Positioning System. Baker
GeoResearch, 1996.
[14] A. El-Rabbany. Introduction to GPS: the Global Positioning System. Artech House Mobile
Communications Series, 2001.
93
[15] M.J. Caruso. Applications of magnetic sensors for low cost compass systems. In IEEE Position
Location and Navigation Symposium, 2000.
[16] D. Gebre-Egziabher, G.H. Elkaim, J.D. Powell, e B.W. Parkinson. A gyro-free quaternion-based
attitude determination system suitablefor implementation using low cost sensors. In IEEE 2000
Position Location and Navigation Symposium, pages 185–192, 2000.
[17] J.F. Vasconcelos, J. Calvário, P. Oliveira, e C. Silvestre. GPS aided IMU for unmanned air
vehicles. In 5th IFAC/EURON Symposium on Intelligent Autonomous Vehicles, 2004.
[18] M. D. Shuster. Deterministic three-axis attitude determination. The Journal of the Astronautical
Sciences, 52(3):405–419, 2004.
[20] J. F. Wagner e T. Wieneke. Integrating satellite and inertial navigation - conventional and new
fusion approaches. Control Engineerging Practice, 11(5):543–550, 2003.
[21] Honghui Qi e J.B. Moore. Direct Kalman filtering approach for GPS/INS integration. IEEE
Transactions on Aerospace and Electronic Systems, 38(2):687–693, 2002.
[22] E. M. Hemerly e V. R. Schad. Sistema de navegação de baixo custo baseado na fusão INS/GPS
usando filtro de kalman. In XV Congresso Brasileiro de Automática, 2004.
[23] A. H. Jazwinski. Stochastic processes and filtering theory. Academic Press Inc., London, 1970.
[24] R. van der Merwe. Sigma-Point Kalman Filters for Probabilistic Inference in Dynamic State-
Space Models. PhD thesis, Oregon Health & Science University, USA, 2004.
[25] H. Carvalho, P. Del Moral, A. Monin, e G. Salut. Optimal nonlinear filter for GPS/INS integra-
tion. IEEE Transactions on Aerospace and Electronic Systems, 33(3):835–850, 1997.
[28] J.F. Wagner e G. Kasties. Applying the principle of integrated navigation systems to estimating
the motion of large vehicles. Aerospace Science and Technology, 8(2):155–166, 2004.
[29] Analog Devices Inc. Analog Devices ADXL330 Technical Data, 2006.
[30] Freescale Semiconductor Inc. Freescale Semiconductor MMA7260QT Technical Data, 2007.
[32] Crossbow Technology Inc. Crossbow Technology CXL-LP Series Technical Data, 2002.
[33] Analog Devices Inc. Analog Devices ADXRS150 Technical Data, 2004.
94
[34] Invensense Inc. Invensense IDG300 Technical Data, 2007.
[35] PNI Corporation Inc. PNI Corporation MicroMag3 Technical Data, 2005.
[36] Freescale Semiconductor Inc. Freescale Semiconductor MPX6115A Technical Data, 2007.
[37] Globalsat Technology Corporation. Globalsat Technology Corporation ET-102 Technical Data,
2005.
[38] Robert M. Rogers. Applied mathematics in integrated navigation systems. AIAA Education
Series, 2003.
[39] H. Weinberg. AN-767: Using absolute output iMEMS gyroscopes with ratiometric ADCs. Nota
técnica, Analog Devices Inc., 2005.
[40] K. Tuck. AN-3447: Implementing auto-zero calibration technique for accelerometers. Nota
técnica, Freescale Semiconductor Inc., 2007.
[41] L. Ljung. System identification: theory for the user. Prentice Hall, 1999.
[42] Robert M. Haralick. Propagating covariance in computer vision. In 12th IAPR International
Conference on Pattern Recognition, volume 1, pages 493–498, 1994.
[43] I. Skog e P. Handel. Calibration of a MEMS inertial measurement unit. In XVII IMEKO World
Congress - Metrology for a Sustainable Development, 2006.
[44] S. Julier, J. Uhlmann, e H. F. Durrant-Whyte. A new method for the nonlinear transformation
of means and covariances in filters and estimators. IEEE Transactions on Automatic Control,
45(3):477–482, 2000.
[45] Y. Li e J. Yuan. Attitude determination using GPS vector observations. GNSS World of China,
33(3):51–56, 2005.
[46] N. Metnia, J.-M. Pflimlin, T. Hamel, e P. Soueres. Attitude and gyro bias estimation for a VTOL
UAV. Control Engineering Practice, 14(12):1511–1520, 2006.
[47] E. M. Nebot, H. Durrant-Whyte, e S. Scheding. Kalman filtering design techniques for aided
GPS land navigation applications. In First Australian Data Fusion Symposium, 1996.
[48] D. Kingston e R. Beard. Real-time attitude and position estimation for small UAVs using low-
cost sensors. In AIAA 3rd Unmanned Unlimited Technical Conference, Workshop and Exhibit,
2004.
[49] R. J. Schilling. Fundamentals of robotics: analysis and control. Prentice Hall, 1990.
[50] Jack B. Kuipers. Quaternions and rotation sequences: a primer with applications to orbits,
aerospace, and virtual reality. Princeton University Press, 1998.
95
ANEXOS
97
A. REPRESENTAÇÃO DE ROTAÇÕES
pf = Cm m
f p , (A..1)
em que fx,y,z e mx,y,z são vetores unitários coincidentes com os eixos de coordenadas corresponden-
tes. Entretanto, como tais vetores unitários definem os respectivos sistemas de coordenadas, a mesma
matriz pode ser calculada por meio de
cos (θfx mx ) cos (θfx my ) cos (θfx mz )
Cm f = cos (θfy mx ) cos (θfy my ) cos (θfy mz ) , (A..3)
Por esse motivo, tais matrizes são comumente chamadas em inglês de Direction Cosine Ma-
trix ou simplesmente DCM. Vale dizer também que, de todas as matrizes que compõem o conjunto
de matrizes de rotação em <3 , as seguintes características são observadas: são matrizes ortogonais
(AT = A−1 ) com det(A) = 1. O conjunto de todas as matrizes com tais características em <3 é
denominado SO(3).
Tais definições e propriedades também são válidas para casos bidimensionais. Neste caso, como
o ângulo entre os sistemas M e F é definido apenas por α, a matriz será
" #
cos (α) sin (α)
Cm
f = .
− sin (α) cos (α)
99
Figura A..1: Rotação em torno do eixo Z.
Da mesma forma, num sistema de coordenadas tridimensional right-handed uma rotação em torno
de Z (Figura A..1) será representada pela seguinte matriz:
cos (α) − sin (α) 0
Cm = sin (α) cos (α) 0 .
f
0 0 1
ωff m = Cm m
f ωf m ,
Por sucessivas rotações, entende-se que são rotações subseqüentes executadas pelo sistema M ,
enquanto que o sistema F se mantém fixo em relação a um referencial comum. Caso as rotações se
dêem em torno do mesmo eixo, naturalmente basta somar os respectivos ângulos. Já em casos em
que as rotações são definidas em eixos distintos, a matriz que representa todas N rotações efetuadas
em M [50] será dada por
Ċm m m
f = Cf Ωf m , (A..5)
100
em que
0 −ωz ωy
Ωm = ωz 0 −ωx (A..6)
fm
−ωy ωx 0
é uma matriz anti-simétrica (em inglês, skew symmetric matrix), que representa a velocidade de ro-
tação do sistema M em relação ao sistema F expresso em termos de medidas nos eixos do sistema
M.
Para fins de implementação em processador digital [10, 38], deve-se solucionar a equação de
diferenças correspondente para obter-se a representação no decorrer do tempo. Nos passos que se
seguem foram omitidos os respectivos índices:
C(k + 1) = C(k)A,
A = eΩ∆t
∆t2 ∆t2 ∆t2
= I3 + Ω∆t + Ω2 + Ω3 + Ω4 + ...,
2 3! 4!
Os ângulos de Euler recebem este nome em tributo ao matématico suíço Leonard Euler, que for-
mulou teorema que, em termos gerais, diz que quaisquer dois sistemas de coordenadas ortonormais
podem ser relacionados por meio de três rotações sucessivas em torno dos eixos de coordenadas.
Entretanto, caso as mesmas rotações sejam efetuadas em ordens distintas, possivelmente a rotação re-
presentada também será diferente. Assim, para representação correta da atitude, é necessária também
a informação da ordem em que ocorreram as três rotações, ilustradas na Figura A..2. Neste sentido,
normalmente a seguinte ordem de rotações em torno do sistema M é utilizada:
101
Figura A..2: Ângulos de Euler: rolagem (φ), arfagem (θ) e guinada (ψ).
Note que, caso os ângulos em questão sejam de tal forma pequenos que permitam considerar
sin α = α, cos α = 1 e sin α sin α = 0, (A..7) pode ser representada pela seguinte matriz:
1 −ψ θ
Cm =ψ 1 −φ .
f
−θ φ 1
Nota-se da equação (A..8) que a solução de φ̇ e ψ̇ torna-se indeterminada com θ = ±90o . Tal
fato restringe a utilzação de ângulos de Euler para aplicações que requerem a propagação da atitude
por meio de medições de velocidade de rotação do sistema M .
102
A..3 QUATÉRNIOS
Apesar de intuitivamente simples, as matrizes de rotação não são a única forma de representar
tais operações no espaço. De fato, não são também as mais eficientes, ao menos em termos de
custo computacional. Existem outras alternativas e todas elas possuem, naturalmente, vantagens e
desvantagens em relação às outras. Uma dessas alternativas é a representação baseada em quatérnios,
que são tema desta breve seção.
Os quatérnios foram criados por Sir W. Hamilton, em 1843. A palavra é de origem grega e
significa conjunto de quatro. De fato, um quatérnio pode ser visto como um número complexo (ou
hipercomplexo) definido em <4 , ou seja, ao invés de apenas um elemento imaginário, tem-se três:
q0
q1
q = q0 + q1 i + q2 j + q3 k =
q ,
(A..9)
2
q3
em que i, j, k são as unidades imaginárias ou, alternativamente, as bases ortonormais em <3 , definindo
a parte vetorial do quatérnio. As relações que os caracterizam foram definidas por Sir Hamilton:
i2 = j2 = k2 = −1
• Conjugado de q:
q0
∗
−q1
q =
(A..10)
−q 2
−q3
• Norma de q: q
p
kqk = q ⊗ q∗ = qo2 + q12 + q22 + q32 (A..11)
• Soma de quatérnios:
q 0 + p0
q1 + p1
q+p=
q + p
(A..12)
2 2
q 3 + p3
103
• Multiplicação por escalar:
αq0
αq1
αq =
(A..13)
αq
2
αq3
• Produto de quatérnios:
" #
q0 p0 − q1−3 p1−3
q⊗p=
q0 p1−3 + p0 q1−3 + q1−3 × p1−3
q 1 p 1 − q 2 p2 − q 3 p 3 − q 4 p4
q2 p1 + q1 p2 + q3 p4 − q4 p3
=q p − q p + q p + q p
(A..14)
1 3 2 4 3 1 4 2
q 1 p 4 + q 2 p 3 − q 3 p2 + q 4 p 1
• Inversão:
q∗
q−1 = (A..15)
kqk
Uma outra representação de rotações baseada em três parâmetros é baseada nos chamados vetores
de rotação, que representam um eixo e uma magnitude de rotação entre dois sistemas de coordenadas.
Naturalmente, porém, não é uma representação única, visto que, adicionando-se múltiplos de ±2π
à magnitude, o vetor de rotação resultante ainda estará correto. Além disso, de acordo com [12], a
representação de sucessivas rotações e a propagação da atitude torna-se complexa. Neste contexto,
uma das formas de facilitar tais cálculos, mas ainda minimizar a quantidade de parâmetros associados,
é baseada em quatérnios unitários.
104
em que u define o eixo de rotação e θ/2 a magnitude. Analogamente, a representação do vetor de
rotação
r1
r = r r2 , krk = r
r3
A partir dessa definição a transformação dos vetores do sistema M para o sistema F se dará por
meio da relação
pf = qm m m∗
f ⊗ p ⊗ qf (A..17)
pm = qm∗ f m
f ⊗ p ⊗ qf . (A..18)
Caso a equação (A..17) seja desenvolvida, será obtida a matriz de rotação equivalente:
q02 + q12 − q22 − q32 2q1 q2 + 2q0 q3 2q1 q3 − 2q0 q2
pf = Cm m
f p = 2q1 q2 − 2q0 q3 q02 − q12 + q22 − q32 2q2 q3 + 2q0 q1 pm . (A..19)
De fato, essa relação define uma maneira de se obter a matriz de rotação a partir do quatérnio.
Além disso, evidencia que os quatérnios q e −q representam a mesma rotação. Caso se deseje obter
o quatérnio a partir da matriz de rotação, as seguintes relações podem ser utilizadas:
p
1 + C1,1 + C2,2 + C3,3
q0 =
2
C3,2 − C2,3
q1 = (A..20)
4q0
C1,3 − C3,1
q2 =
4q0
C2,1 − C1,2
q3 = .
4q0
105
A..3.4 Propagação da atitude com quatérnios
" #
1 m 0
q̇m
f = qf ⊗ m . (A..22)
2 ωf m
0 ωx ωy ωz
1 1 −ωx 0 −ωz ωy
q̇ = − Wq = − q, (A..23)
2 2 −ωy ωz 0 −ωx
−ωz −ωy ωx 0
q1 q2 q3
ωx
1 −q0 q3 −q2
q̇ = − ωy . (A..24)
2 −q3 −q0 q1
ωz
q2 −q1 −q0
em que
sin (v/2)
e−W∆t = I4 cos (v/2) − W∆t ,
v
q
v= s2x + s2y + s2z ,
s = ω(k + 1)∆t,
ou seja, considera-se que a velocidade de rotação manteve-se constante durante o período ∆t. Caso a
106
equação (A..25) seja desenvolvida, chega-se a
sin(v/2)
cos(v/2)q0 (k) − v (sx q1 (k) + sy q2 (k) + sz q3 (k))
sin(v/2)
cos(v/2)q1 (k) − (−sx q0 (k) − sz q2 (k) + sy q3 (k))
v
q(k + 1) = .
sin(v/2)
cos(v/2)q2 (k) − (−sy q0 (k) + sz q1 (k) − sx q3 (k))
v
sin(v/2)
cos(v/2)q3 (k) − v (−sz q0 (k) − sy q1 (k) + sx q2 (k))
Em geral, costuma-se adotar também algum procedimento para normalização do quatérnio como
medida para minimizar os erros decorrentes da integração.
107
B. FILTRO DE KALMAN ESTENDIDO
Este anexo apresenta o algoritmo de fusão sensorial utilizado neste trabalho, o Filtro de Kalman
Estendido (FKE). Não se pretende fornecer descrição detalhada do filtro, apenas apresentar suas
equações de acordo com a notação adotada neste manuscrito.
O Filtro de Kalman é um estimador recursivo cujo objetivo é fornecer uma estimativa do estado
x(k + 1), cuja evolução se dá segundo o seguinte sistema dinâmico linear estocástico em tempo
discreto:
η x ∼ N (0, Q)
η y ∼ N (0, R).
A partir dessas definições, como não se pode garantir que medições estejam disponíveis a cada
instante, divide-se o processo de estimação em duas etapas: a predição e a correção. Na fase de
predição, obtém-se as estimativas a priori x̂− (k + 1) e P− (k + 1):
Na fase de correção, é calculado o ganho de Kalman que minimiza a covariância estimada a priori
por meio de
−1
K(k + 1) = P− (k + 1)CT CP− (k + 1)CT + R . (B..5)
A partir daí, dada a medição y(k+1), calculam-se as estimativas a posteriori x̂(k+1) e P(k+1):
109
B..2 FILTRO DE KALMAN ESTENDIDO
O Filtro de Kalman é o estimador ótimo para sistemas lineares que apresentam ruídos gaussianos.
Entretanto, em muitos casos deseja-se estimar estados que evoluem de maneira não-linear ou que
apresentam ruídos de naturezas distintas. Para estes casos, um dos métodos mais utilizados é o Filtro
de Kalman Estendido (FKE), que promove uma linearização de primeira ordem do modelo em torno
da estimativa atual.
Nesse contexto, considera-se que o estado x(k + 1) evolue segundo o seguinte sistema dinâmico
não-linear estocástico em tempo discreto:
A partir daí, tem-se um sistema modificado sobre o qual pode-se aplicar as equações do Filtro de
Kalman. A fase de predição é composta pelos cálculos das estimativas a priori x̂− (k+1) e P− (k+1):
110
C. DIAGRAMAS ESQUEMÁTICOS DO PROTÓTIPO
111
1 2 3 4
Conversão A/D
A A
Analógica
U1 +3.3
1 16
CH0 Vdd
2 15
CH1 Vref
3 C5
Acel Z ADC CH2
4 14 Cap
Acel Y ADC CH3 AGND
5 9 0.1uF
Acel X ADC CH4 DGND
6
Vs
Giro Y ADC CH5
7
Giro XY Vref CH6
8
Giro X ADC CH7
13
CLK SPI CLK
12
Dout MISO J2
14
21
12
11
1
Din MOSI Analogica
10
not(CS)/SHDN notCS 3.3 2
Altitude ALT ADC
Vcc
Vcc
GND
GND
3
MPC3304 Giro Z Giro Z ADC
17 4
Giro Z ST1 Giro Z ST1 Giro Z ref Giro Z 2.5
18 5
Giro Z ST2 Giro Z ST2 Temp Temp ADC
U2 +5 6
B Giro X Giro X ADC B
1 16 7
Temp ADC CH0 Vdd Giro XY ref Giro XY Vref
2 15 13 8
Giro Z 2.5 CH1 Vref GND Giro Y Giro Y ADC
3 C6 22 9
Giro Z ADC CH2 GND Acel X Acel X ADC
4 14 Cap 10
ALT ADC CH3 AGND Acel Y Acel Y ADC
NC
NC
NC
NC
5 9 0.1uF 11
CH4 DGND Acel Z Acel Z ADC
6
CH5 U3 +5
7
CH6 1 14
15
16
19
20
8 SPI CLK A1 Vcc
CH7
2 13
13 Y1 A6 notCS 5
CLK
12
Dout MISO 3 12
11 A2 Y6
Din
10
not(CS)/SHDN 4 11
Y2 A5
MPC3304
5 10
A3 Y5
6 9
Y3 A4 MOSI
C 7 8 C
GND Y4
74LS14
SAM7
RS-232 0
J1
PA0 not(RESET)
39
+3.3
1 38
C1 PA1 GND
2 37
PA2 3.3 V
3 36
PA3 5V (USB)
Cap2 4 35
C2 U4 +3.3 PA4 AD6
100nF 5 34
1 16 RXD0 PA5 AD5
C1+ VCC 6 33
3 2 C3 TXD0 PA6 AD4
Cap2 C1- V+ 7 32
4 Cap2 PBRES PA7 ADREF
100nF C2+ 8 31
5 100nF Reset Mag PA8 PA31 notCS 3.3
C2- 9 30
JP2 PA9 PA30 notCS 5
10 29
11 14 D Connector 9 DRDY Mag PA10 PA29 Giro Z ST1
D TXD1 232 232 out 11 28 D
notCS Mag PA11 PA28
12 27
10 7 MISO PA12 PA27 Giro Z ST2
13 26
1
6
2
7
3
8
4
9
5
232 in
Out2
Out1
Out2
100pF
In
In
C12
Cap2
100nF 3-Jumper 3-Jumper
RS-485
RDX1 485
RXD1 232
TDX1 485
TXD1 232
E E
U5 +5
GPS
8
VCC
2 485 in
1 A 6
TDX1 485 R R1
B 7 Res2
485 enable 130
3
W3 +5 JP1
4 D
RDX1 485 +3.3 1 11
Vant Ser out A RXD0
3 12
5 Vbat Ser in A TXD0
GND +5
2 14
MAX485CPA Jumper Vdc Ser out B
4 15
Vdc Ser in B
485 out
10 19
GND 1 sec mark
13
GND
16 5
JP3 GND PBRES PBRES
18
GND
NC
NC
NC
NC
NC
NC
F 485 in 1 F
485 out 2
Header 2 ET102
17
20
6
7
8
9
Alimentação
U6
4 +3.3
OUT
3 2
Vs IN OUT
GND
C8 C9
Cap Cap2
G 220uF G
MicroMag 3
10nF
1
LM1117MPX
JP4
+3.3 J3
Vs 1 12 1
Vdd SCLK SPI CLK
C7 2 7 2
GND MISO MISO
Cap2 14 3
Header 2 GND MOSI MOSI
220uF 4
SS notCS Mag
U7 5
DRDY DRDY Mag
4 +5 6
OUT Reset Reset Mag
3 2
Vs IN OUT
NC
NC
NC
NC
NC
GND
13
8
9
10nF 220uF
1
H H
LM1117MPX
1 2 3 4
112
1 2 3 4
A A
Giro Z Giro XY
B B
fo = 2122 Hz
fo = 402 Hz
+5 U1
1 +3.3 U2
Vcc
2 1
GND 3.3 V
3 2
Giro Z ADC RateOut GND
4 3
Giro Z 2.5 2.5 V Giro Y ADC Yout
5 4
Temp ADC Temp Giro XY Vref Vref
6 5
Giro Z ST1 ST1 Giro X ADC Xout
7
Giro Z ST2 ST2
IDG300 Brkout
ADXRS Brkout
C C
Acelerômetros
Altímetro
W2 W1
U4
fo = 1591 Hz
+5 Out1
Out2
Out1
Out2
+5 U5 fo = 220 Hz
2 In
In
7 2 Vs
Vdd -IN R1 +3.3 U3
4 3 4
Vss +IN Vout C2 C3 1
Res2 Vcc
Cap Cap +3.3 +3.3 2
6 C1 3.3K GND
D OUT 3 1uF 10nF 3 D
Cap GND Acel X ADC Xaxis
NC
NC
NC
NC
NC
3-Jumper 3-Jumper 4
0.22uF Acel Y ADC Yaxis
5
NC
NC
NC
7
GS2
8
1
5
8
ALT ADC
Sleep
MPXA6115
+3.3 MMA7260 Brkout
MCP601
E
Conectores E
Alimentação
JP1
1
ALT ADC 2
Giro Z ADC 3
Giro Z 2.5 4
Temp ADC 5
U6
Giro Y ADC 6
4 +3.3
OUT Giro XY Vref 7
3 2
Vs IN OUT Giro X ADC 8
Acel X ADC 9
GND
C4 C5
Cap2 Acel Y ADC 10
Cap
220uF Acel Z ADC 11
10nF
F 12 F
1
Header 12
LM1117MPX
JP2
1
2
U7
3
4 +5
OUT 4
3 2
Vs IN OUT Giro Z ST1 5
Giro Z ST2 6
GND
C6 C7
Cap2 7
Cap
220uF 8
10nF
Vs 9
1
C8 C9 10
Cap2 Cap2 Header 10
G LM1117MPX 220uF 220uF G
H H
1 2 3 4
113