implantaÇÃo da forma de kalman na estimaÇÃo nÃo linear … · componentes da grandeza física...
TRANSCRIPT
TIAGO TAKEO HASHIMOTO
IMPLANTAÇÃO DA FORMA DE KALMAN NA
ESTIMAÇÃO NÃO LINEAR DE PARÂMETROS PARA
AUTO-CALIBRAÇÃO DE TRÍADES DE SENSORES
MEMS
LONDRINA
2011
UNIVERSIDADE ESTADUAL DE LONDRINA
CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA
IMPLANTAÇÃO DA FORMA DE KALMAN NA
ESTIMAÇÃO NÃO LINEAR DE PARÂMETROS PARA
AUTO-CALIBRAÇÃO DE TRÍADES DE SENSORES
MEMS
Trabalho de conclusão de curso submetido à
Universidade Estadual de Londrina como parte dos requisitos para a obtenção
do grau de Engenheiro Eletricista.
TIAGO TAKEO HASHIMOTO
Londrina, Outubro de 2011.
Implantação da Forma de Kalman na Estimação Não
Linear de Parâmetros para Auto-Calibração de Tríades de
Sensores MEMS
Tiago Takeo Hashimoto
„Este trabalho foi julgado adequado para a conclusão do curso de engenharia elétrica e
aprovado em sua forma final pela Coordenação do Curso de Engenharia Elétrica da
Universidade Estadual de Londrina‟
Prof. Msc. Osmar Tormena Junior
Orientador
Profa. Maria Bernadete de Morais França
Coordenadora de TCC
Banca Examinadora:
Prof. Dr. Leonimer Flávio de Melo
Prof. Dr. Marcio Roberto Covacic
Ao meu pai, minha mãe e meu irmão que sempre me apoiaram.
Aos grandes amigos que encontrei nesta caminhada.
iv
AGRADECIMENTOS
À minha família, especialmente aos meus pais e meu irmão que sempre me apoiaram em
todos os momentos e souberam compreender as dificuldades que encontrei no curso.
Ao meu orientador Prof. Osmar que teve participação ativa no desenvolvimento deste trabalho
e sempre foi muito coerente e me ajudou a solucionar os problemas que encontrei para
implementar este trabalho.
Aos meus amigos que sempre me apoiaram em momentos complicados e me incentivaram a
continuar firme no curso.
Aos meus colegas do curso que sempre estiveram presentes nos momentos complicados, que
não foram poucos e sempre tentaram me ajudar quando necessitei.
v
RESUMO
Palavras-chave: 1. Método de Kalman2. Auto-calibração 3.MEMS
A fim de melhorar a eficiência dos parâmetros para a realização da auto-
calibração de sensores MEMS (Micro-Electro-Mechanical Systems) triaxiais para
determinar atitude de um corpo, especificamente acelerômetros e magnetômetros, será
implementada a forma de Kalman como alternativa computacionalmente mais eficaz
na solução de um problema de estimação não-linear dos parâmetros utilizados para a
determinação de atitude. Este método de estimação utiliza cálculos recursivos,
necessitando de uma capacidade computacional muito menor para alcançar os mesmos
resultados obtidos com o método atual de calibração que é visto no trabalho de
TORMENA JR. (2010), que exige cálculos mais robustos, o que justifica este trabalho,
considerando que a maioria dos sistemas de atitude são embarcados e o poder
computacional disponível em tais sistemas é limitado. Neste trabalho será apresentado
um comparativo entre o método proposto e o que foi anteriormente implementado em
TORMENA JR. (2010), expondo a quantidade de cálculos que é realizado em cada um
deles e a memória exigida para tais métodos, bem como o resultado obtido nas duas
situações.
vi
ABSTRACT
In order to improve the efficiency of the parameters for the process of self-calibration
of triaxials MEMS sensors (Micro-Electro-Mechanical Systems) to determine the attitude of a
body, specifically accelerometers and magnetometers, The Kalman form will be implemented
as a computationally more efficient alternative in solving a problem of non-linear estimation
of the parameters used for attitude determination.This estimation method uses recursive
calculations, requiring a much smaller memory capacity to achieve the same results as with
the current method of calibration seen in the paper of TORMENA JR. (2010) that requires
more robust calculations, which justifies this work, considering that most systems ,to
determine attitude, are embedded and the computing power available in such systems is
limited. In this work it will be presented a comparative between the proposed method and the
previously deployed one, exposing the amount of calculation that is performed on each of
them and the memory required to perform such methods, as well as the results in both
situations
vii
CONTEÚDO
Lista de Figuras ................................................................................................................................................ viii
Lista de Tabelas .................................................................................................................................................. ix
Lista de Abreviaturas e siglas .............................................................................................................................. x
Convenções e Lista de Símbolos ........................................................................................................................ xi
INTRODUÇÃO .......................................................................................................................................................... 1
REVISÃO BIBLIOGRÁFICA ........................................................................................................................................... 3
2.1 CALIBRAÇÃO .............................................................................................................................................. 3
2.2 AUTO-CALIBRAÇÃO .................................................................................................................................... 4
2.3 ATITUDE .................................................................................................................................................... 5
2.3.1 Referências de atitude ............................................................................................................................ 6
2.3.2 Representação de atitude ....................................................................................................................... 9
2.3.2.1 Ângulos de Euler ................................................................................................................................ 10
2.3.2.2 Matriz de rotação .............................................................................................................................. 11
2.3.2.3 Quatérnions ....................................................................................................................................... 12
2.4 SENSORES DE ATITUDE ............................................................................................................................ 13
2.5 FILTRO DE KALMAN ................................................................................................................................. 19
DESENVOLVIMENTO ............................................................................................................................................... 21
3.1MODELO MATEMÁTICO GENÉRICO .......................................................................................................... 21
3.2ESTIMAÇÃO DOS PARÂMETROS APLICANDO MÍNIMOS QUADRADOS ....................................................... 24
3.3ESTIMAÇÃO DOS PARÂMETROS APLICANDO A FORMA DE KALMAN ......................................................... 24
3.4RESOLVENDO OS PARÂMETROS A PARTIR DAS VARIÁVEIS INTERMEDIÁRIAS ............................................ 26
RESULTADOS E DISCUSSÃO ...................................................................................................................................... 28
CONCLUSÕES ........................................................................................................................................................ 36
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................................................................. 37
ANEXO A – Intensidade do Campo Geomagnético ........................................................................................... 39
ANEXO B – Declinação do Campo Geomagnético ............................................................................................. 40
ANEXO C – Inclinação do Campo Geomagnético............................................................................................... 41
ANEXO D – Código utilizando a forma de Kalman ............................................................................................. 42
viii
Lista de Figuras
Figura 2. 1 - Transformação do sistema de coordenadas do corpo (a) para o sistema de coordenadas de referência (b) através da atitude. (TORMENA JR., 2010) ................................................................... 5 Figura 2. 2 - Desvio do valor médio da gravidade, dado em mGal (NGA, 2010) ..................................... 6 Figura 2. 3 - Arranjo entre as placas de um acelerômetro MEMS(TORMENA JR., 2010) ...................... 14 Figura 2. 4 - Desvios de ortogonalidade da tríade sensora(TORMENA JR.,2010) ................................. 16 Figura 2. 5 - Esquemático da estrutura interna de um AMR(TORMENA JR.,2010) ............................... 17 Figura 4.1 - Medidas encontradas para 40 amostras...........................................................................29
Figura 4.2 - Medidas encontradas para 80 amostras...........................................................................30
Figura 4.3 - Medidas encontradas para 120 amostras..........................................................................30
Figura 4.4 - Medidas encontradas para 160 amostras.........................................................................31
Figura 4.5 - Medidas encontradas para 200 amostras.........................................................................31
ix
Lista de Tabelas
Tabela 4. 1 - Relação de cálculos realizados para algumas operações entre matrizes..............33
x
Lista de Abreviaturas e siglas
AMR Anisotropic Magnetoresistive – Magneto – resistiva Anisotrópica
AWG Additive White Gaussian – Gaussiano Branco e Aditivo
EGM2008 Earth Gravitational Model 2008 – Modelo Gravitacional Terrestre 2008
LSE Least Squares Estimator – Estimador de Mínimos Quadrados
MEMS Micro – Electro – Mechanical Systems – Sistemas Micro - Eletromecânicos
WMM 2010 World Magnetic Model 2010 - Modelo Magnético Mundial 2010
xi
Convenções e Lista de Símbolos
a, b e c Sensibilidades dos eixos x,y e z
𝒂𝑖𝑛 Vetor Aceleração
𝒂𝑜𝑢𝑡 Saída Analógica do Acelerômetro
𝐛 𝐫, 𝑡 Campo Geomagnético Total
𝐛𝑐 𝐫, 𝑡 Campo Geomagnético Crustal
𝐛𝑑(𝐫, 𝑡) Campo Geomagnético de Perturbação
𝐛𝑖𝑛 Vetor Campo Magnético
𝐛𝑚 𝐫, 𝑡 Campo Geomagnético Principal
𝐛𝑜𝑢𝑡 Saída Analógica do Magnetômetro
e Eixo de rotação
i, j e k Versores da base ortonormal Euclidiana
𝒐𝒂 Bias do Acelerômetro
𝒐𝒃 Bias ou Erro Hard Iron, do Magnetômetro
𝑞 Quatérnion
𝑞1,𝑞2 e 𝑞3 Componentes Vetoriais do Quatérnion
𝑞4 Componente Escalar do Quatérnion
𝑞 ∗ Quatérnion Conjugado
q Parte Vetorial do Quatérnion
u Vetor da Grandeza Física Genérica
𝑢𝑥 ,𝑢𝑦 e 𝑢𝑧 Componentes da Grandeza Física Genérica
𝑢 𝑥 ,𝑢 𝑦 e 𝑢 𝑧 Componentes da Saída do Sensor Genérico
𝑥𝑜 ,𝑦𝑜 e 𝑧𝑜 Biases dos eixos x, y e z
A – J Variáveis Intermediárias
𝑪𝑚 Matriz de Desalinhamento
𝑪𝑠𝑓 Matriz de Fatores de Escala
𝑪𝑠𝑖 Matriz de Erro Soft Iron
𝐂𝑖 Vetor Estimativa de Covariância
𝐄 𝒊 Vetor de Estado Estimado
𝐊𝑖 Vetor Ganho de Kalman
xii
𝐑 Matriz de Rotação
𝐑𝝋X Rotação de 𝝋 no eixo x
𝐑𝜽Y Rotação de 𝜽 no eixo y
𝐑𝝍Y Rotação de 𝝍 no eixo z
X Matriz de Medidas
𝐗𝑖 Vetores linhas da Matriz X
𝐘𝑖 Vetor de Medidas
𝜂x , 𝜂y e 𝜂z Ruído para os eixos x,y e z
𝝋,𝜽 e 𝝍 Ângulos de Euler
𝜌,𝜙 e 𝜆 Desvios de Ortogonalidade da Tríade
1
CAPÍTULO 1
INTRODUÇÃO
A calibração de qualquer instrumento é o procedimento mais importante para
determinar que os dados gerados por ele estejam dentro de uma faixa tolerável de erro que
garanta a confiabilidade da medida indicada em questão, ou seja, que o valor indicado pelo
instrumento esteja o mais próximo possível do valor real da grandeza que está sendo
analisada.
Para que se possam corrigir os erros de desvio, a calibração utiliza alguns parâmetros
de referência conhecidos, e neste trabalho, assim como em TORMENA JR. (2010), tais
parâmetros fazem uso do campo gravitacional e campo magnético, pois tais referências são
praticamente constantes na maior parte do globo e por se tratar de sistemas determinadores de
atitude para aplicações terrestres. Desta forma, através de um sistema de coordenadas é
possível encontrar a orientação de um determinado corpo.
É essencial que os sistemas utilizados para determinação de atitude (rotação que deve
ser aplicada a um corpo, de maneira que o sistema de coordenadas definido no corpo coincida
com o sistema de coordenadas escolhido como referência), sejam capazes de obter a
informação com o menor erro possível, e os sensores utilizados para medir as grandezas de
referência, ou seja, acelerômetros e magnetômetros devem estar calibrados de forma que
possuam um desvio residual dentro de uma faixa aceitável.
Neste trabalho, será dada especial atenção aos parâmetros a serem calculados que
serão utilizadas na auto-calibração dos sensores MEMS (Micro-Electro-Mechanical Systems –
Sistemas Micro-Eletromecânicos) triaxiais. Tais sensores ganharam mais espaço da indústria
ao longo da última década por serem compactos, leves e eficientes além de possuírem baixo
custo. Atualmente estão sendo amplamente utilizados em veículos como carros, aviões e
satélites, e também em áreas como a robótica, tecnologia de entretenimento, como joysticks,
jogos para celular que utilizam a estimativa de movimento linear e/ou angular como, por
exemplo, o iPhone da Apple.
TORMENA JR. (2010) ressalta que embora tais sensores apresentem todas estas
vantagens, eles exigem uma manutenção constante da calibração, em especial aos parâmetros
de sensibilidade e bias (erros sistemáticos) que são muito sensíveis às variações de
2
temperatura. O que torna as rotinas de auto-calibração essenciais para que estes sensores
sejam utilizados em aplicações onde seriam exigidos sensores de médio a alto desempenho,
no caso, para determinar atitude de corpos. No caso, as maiores tolerâncias dos parâmetros
dos sensores MEMS são corrigidas pela rotina de auto-calibração, o que eleva o seu grau de
precisão e aplicabilidade. A rotina de auto-calibração que será implementada se destaca dos
modelos mais comuns, que apenas utilizam modelos simplificados para correção de
parâmetros de sensibilidade e bias, pois também leva em consideração o desvio de
ortogonalidade dos sensores MEMS triaxiais, que é da ordem de um grau.
Porém, os cálculos adicionais ao modelo de auto-calibração devido à correção do
desvio de ortogonalidade destes sensores torna a estimação dos parâmetros não-linear, o que
aumenta a complexidade dos cálculos computacionais. A forma de Kalman tem o objetivo de
facilitar, tais cálculos que até o presente momento possuem certa complexidade e desta forma
garantir que a carga computacional utilizada para realização dos cálculos para determinação
dos parâmetros da calibração seja bem menor, diminuindo o custo de implementação nos
sistemas embarcados.
A rotina de auto-calibração que utiliza a forma de Kalman para determinação das
variáveis intermediárias, para finalmente calcular os parâmetros dos sensores, é implementada
através do software MatLab®.
No segundo capítulo são apresentados em mais detalhes a importância da calibração
e qual o motivo de utilizar a auto-calibração, as referências de atitude, bem como as suas
representações, como os sensores utilizados trabalham e coletam as medidas e a Forma de
Kalman.
No terceiro capítulo é descrito todo o equacionamento que se origina dos sensores
utilizados, considerando os erros de ortogonalidade, sensibilidade e biases, e também a
corrupção por ruído. A partir deste equacionamento, variáveis intermediárias são descritas,
onde dois métodos são analisados, o primeiro através de mínimos quadrados proposto no
trabalho de TORMENA JR. (2010), e o segundo que é a proposta deste trabalho, no caso o
Forma de Kalman. No quarto capítulo, foi comparado os dois métodos, a quantidade de
cálculos utilizados em cada um deles e o resultado final dos dados tratados pela rotina de
auto-calibração.
3
CAPÍTULO 2
REVISÃO BIBLIOGRÁFICA
2.1 CALIBRAÇÃO
A calibração é essencial em qualquer sistema de medida, pois é a única forma de
assegurar que os dados coletados tenham validade e precisão. Mais especificamente é a
relação entre os valores indicados por um instrumento (calibrador) ou sistema de medição e os
valores representados por uma medida materializada ou um material de referência, ou ainda
os correspondentes valores das grandezas estabelecidas como padrão.
Os métodos de calibração são baseados em comparações com instrumentos padrões
de modo a determinar sua exatidão e verificar se essa exatidão continua dentro de uma faixa
aceitável de erro. Tais métodos também fazem uso de uma ou mais referências conhecidas, de
forma a corrigir os parâmetros que tenham sofrido desvio.
As referências a serem utilizadas e as rotinas para se executar a calibração dependem
do tipo de informação que está sendo tratada e como ela é coletada pelo sistema de aquisição
de dados, sendo ele eletrônico ou não.
TORMENA JR. (2010) ressalta que para que tais sistemas apresentem
confiabilidade, os parâmetros dos sensores devem ser constantemente avaliados, de forma a
corrigir desvios que venham a ocorrer. Desvios estes que podem ser causados por fatores
como: tolerâncias na própria limitação do dispositivo devido a sua construção, grau de
sensibilidade a variações térmicas, desgaste do sensor devido ao tempo de uso, seja um
desgaste natural ou não. Tais desvios acumulados tornam inviável a utilização dos valores
típicos dos parâmetros dos sensores para aplicações onde é exigido certo grau de exatidão.
A grande maioria dos sistemas de aquisição de dados que utilizam sensores, são
calibrados apenas uma vez, ou seja, logo após a sua produção e a calibração não é realizada
novamente. Entretanto, para determinadas aplicações, é necessário realizar testes para
verificar se os seus parâmetros sofreram algum desvio e recalibrá-los sempre que necessário.
O problema é que o tempo entre uma aferição e outra, considera-se que os desvios sofridos
sejam aceitáveis dentro de certo limite. Porém, para aplicações onde é exigida uma alta
precisão, como a que é tratada neste trabalho, que deseja determinar a atitude de um corpo, os
desvios existentes entre duas aferições normalmente ultrapassam a faixa tolerável, causando
4
um erro maior que o mínimo aceitável. E se tratando de atitude, tais erros podem trazer
conseqüências sérias como um desvio na rota de vôo de uma aeronave por exemplo.
Segundo TORMENA JR. (2010), para casos de satélites artificiais de órbita alta, com
apogeu acima de 36.000 km, um erro de um minuto de grau, causaria um erro de apontamento
de mais de dez quilômetros na superfície da Terra.
Em aplicações como esta, não é possível parar a operação do sistema para se realizar
a aferição, é necessário uma metodologia diferente para se realizar o controle dos parâmetros
a fim de garantir uma confiabilidade aceitável dos dados coletados.
2.2 AUTO-CALIBRAÇÃO
O objetivo da auto-calibração de um sistema é permitir que as aferições sejam
realizadas sem a necessidade de parar a operação normal do sistema e também eliminar a
necessidade de uma intervenção externa, dando autonomia e confiabilidade ao sistema. É um
método muito utilizado para aplicações que envolvam determinação de atitude.
Neste trabalho, assim como em TORMENA JR. (2010), o termo auto-calibração diz
respeito à implementação de um método de aferição autônoma do sistema de atitude,
excluindo a necessidade de um operador externo. Neste modelo, o valor real dos parâmetros
do modelo de medida da tríade sensora são estimados, e os dados obtidos no processamento
são feitos de acordo com tais estimativas.
Muitas metodologias de auto-calibração utilizam os mesmos dados necessários na
obtenção da informação de atitude para realizar sua própria calibração. O lado bom é que a
operação normal do sistema não é interrompida, porém a auto-calibração exige alguns
requisitos mínimos que podem fugir da situação atual do sistema e dependendo dos casos, a
qualidade da calibração cai muito e em casos críticos o erro pode até aumentar dependendo do
momento que a auto-calibração é realizada.
Para evitar tais situações, a rotina de auto-calibração deve saber escolher entre uma
situação oportuna para sua realização e uma condição que possa comprometer todo o processo
de calibração. Esta metodologia de auto-calibração deve saber o momento certo para escolher
o conjunto de medidas e realizar o processo de controle de exatidão do sistema.
Para aplicações terrestres, onde as referências de atitude mais utilizadas são o campo
magnético terrestre e a aceleração da gravidade, a auto-calibração se torna muito prática e
aceitável uma vez que tais referências não variam, ou então variam pouco local e
5
temporalmente. Na literatura, existem dois modelos muito precisos destas duas grandezas
físicas para toda a superfície do globo, que são: EGM2008 (Earth GravitationModel 2008 –
Modelo Gravitacional Terrestre 2008)(NGA) e o WMM2010 (World MagneticModel 2010 –
Modelo Magnético Mundial 2010)(NGA e DGC). Tais modelos exigem apenas a posição,
altitude e tempo do sistema, informação esta que é facilmente conseguida em aplicações como
navegação por exemplo.
Com estes modelos, é possível determinar os vetores de aceleração da gravidade e o
campo magnético terrestre em qualquer lugar da Terra, que serve de parâmetro de referência
para verificar se os valores aferidos pela tríade de acelerômetros e magnetômetros estão
corretos, ou seja, calibrados. Como tais grandezas físicas utilizadas como referência já são
necessárias para a determinação de atitude, a complexidade do sistema não aumenta, uma vez
que de qualquer forma, tais grandezas precisam estar presentes no sistema de determinação de
atitude.
2.3 ATITUDE
Uma boa definição de atitude de um corpo é o seu estado caracterizado pela rotação
que deve ser aplicada a um corpo de forma a alinhá-lo paralelamente aos eixos do sistema de
coordenadas de referência utilizado. De forma mais prática, é a rotação que deve ser aplicada
a um corpo, de maneira que o sistema de coordenadas definido no corpo coincida com o
sistema de coordenadas escolhido como referência, conforme a Figura 2.1:
Figura 2.1 - Transformação do sistema de coordenadas do corpo (a) para o sistema de coordenadas de referência
(b) através da atitude. (TORMENA JR., 2010)
6
Para a escolha do sistema de coordenadas de referência é importante ter muita
atenção e normalmente o fator determinante é o ambiente de aplicação do sistema de atitude.
Neste trabalho, o objetivo principal é a auto-calibração de sistemas de atitude em aplicações
terrestres, o sistema de coordenadas mais diretamente aplicável é o Sistema de Coordenadas
Horizontal Local, que utiliza como eixos diretores, o Norte, o Leste e a direção do Zênite, que
é o eixo ortogonal ao plano horizontal local. Os eixos x, y e z podem ser atribuídos aos eixos
diretores arbitrariamente, respeitando a condição de que x, y e z formem uma base dextrógira,
ou seja, que obedeça a regra da mão direita. É importante frisar que o Sistema de
Coordenadas Horizontal Local é dependente da posição sobre o globo.
2.3.1 Referências de atitude
Com o objetivo de resolver a atitude de um sistema, independentemente do método, é
necessário utilizar pelo menos duas referências de atitude. “Para este caso em questão, que é
uma aplicação em ambiente terrestre, as principais referências utilizadas são o campo
gravitacional terrestre e o campo magnético terrestre.” (TORMENA JR; ORMAR, 2010,
p.27).
2.3.1.1 Campo gravitacional terrestre
O campo gravitacional terrestre é uma ótima referência de atitude devido à sua
regularidade. Seu valor pode ser considerado com 1g (9,81m/s2) e sua direção é ortogonal ao
plano horizontal local. O módulo da aceleração da gravidade é essencial para o procedimento
de auto-calibração, sendo necessário fazer uso de um modelo que determine a aceleração da
gravidade (NGA), em um determinado ponto na superfície da Terra, corrigida para os efeitos
de rotação e distribuição irregular de sua massa.
Figura 2. 2 - Desvio do valor médio da gravidade, dado em mGal (NGA, 2010)
A Figura 2.2 mostra uma varredura na superfície terrestre, onde a diferença do valor
da gravidade é dada em mGals (𝑥10−5𝑚/𝑠2).
7
É evidente que a amplitude de variação do campo gravitacional sobre a superfície
terrestre é muito pequena (da ordem de 10−4𝑔) que é a amplitude típica de ruído para
acelerômetros MEMS (Micro-Electro-Mechanical Systems – Sistemas Micro-
Eletromecânicos), não sendo necessário a correção do modelo da gravidade, para fins da
metodologia de calibração.
Outra grande vantagem em se utilizar a gravidade como referência de atitude é
devido a ela estar presente em todo o globo. Como a sua variação é mínima em todo o globo,
seu módulo, direção e sentido são considerados constantes em toda a superfície da Terra, e
não trazem nenhuma perda de precisão para os acelerômetros MEMS, uma vez que a pequena
variação da gravidade acompanha o ruído característico destes sensores em questão.
A única questão que deve ser levada em consideração, é que os acelerômetros não
medem somente a aceleração da gravidade, mas sim qualquer aceleração em que ele está
submetido, ou seja, acelerômetros medem a força de reação e transformam esta informação
em aceleração. O problema é que em um sistema acelerado, é impossível discernir o que é a
gravidade e o que é a outra componente de aceleração, causando erros nas medidas. Desta
forma, é importante lembrar-se desta questão se o sistema em questão estiver em uma situação
dinâmica.
2.3.1.2 Campo magnético terrestre
Deste a Idade Média o campo magnético terrestre vem sendo utilizado como
referência para a navegação, através da bússola. A origem do campo magnético tem relação
com a movimentação do magma terrestre (líquido encontrado no núcleo externo terrestre
constituído por ferro e níquel) que origina um campo elétrico no interior do núcleo terrestre
que por sua vez origina o campo magnético terrestre.
O campo magnético terrestre costuma ser dividido em três partes, que somadas
originam o campo total (os livros de física tradicionalmente utilizam a letra maiúscula B para
representar o campo magnético, mas neste trabalho, por essa grandeza se tratar de um vetor, o
mesmo será dado pela letra minúscula b):
𝐛 𝐫, 𝑡 = 𝐛𝑚 𝐫, 𝑡 + 𝐛𝑐 𝐫, 𝑡 + 𝐛𝑑(𝐫, 𝑡) (2.1)
Sendo que:
8
𝐛𝑚 𝐫, 𝑡 representa a componente principal do campo, gerada pela
circulação de correntes no núcleo terrestre. Este componente apresenta variações
seculares, ou seja, muda lentamente com o passar dos anos.
𝐛𝑐 𝐫, 𝑡 representa a influência de aglomerações rochosas na crosta
terrestre. Esta influência, embora varie parcialmente, é praticamente constante com o
passar dos anos.
𝐛𝑑(𝐫, 𝑡) representa o campo de perturbação, que é o efeito combinado
de correntes elétricas na alta atmosfera, e correntes induzidas no mar e em terra. Pode
ser considerado como ruído natural no campo magnético.
O vetor campo magnético total, varia espacialmente e temporalmente. Esta
dependência é indicada pelas variáveis 𝐫 e 𝑡 que representam posição e tempo,
respectivamente.
Devido aos fatores citados, o campo magnético não é tão uniforme quanto o campo
gravitacional terrestre. Desta forma, o uso de um modelo magnético para o campo magnético
(NGA e DGC) se torna essencial para que tal grandeza seja utilizada como referência de
atitude, e também para que o seu valor absoluto modelado seja utilizado no procedimento de
auto-calibração.
A caracterização do campo geomagnético para uma determinada localidade a um
determinado tempo é definido por três valores: o módulo do campo, o ângulo de inclinação
magnética e o ângulo de declinação magnética. Onde:
O módulo do campo representa seu valor absoluto e, é muito
importante na metodologia de calibração.
O ângulo de inclinação magnética é o ângulo formado entre o plano
horizontal local e a direção do campo magnético, sendo que um valor positivo indica
que o campo está saindo do plano e um valor negativo indica que o campo está
entrado do plano.
O ângulo de declinação magnética mostra o desvio na direção do
campo em relação ao Norte geográfico, onde um valor positivo indica um desvio a
oeste e um valor negativo indica um desvio a leste.
Os anexos A, B e C contêm as cartas magnéticas mundiais obtidas através do
WMM2010. O Anexo A contém as informações do módulo do campo, o Anexo B contém as
9
informações de declinação e, finalmente, o Anexo C contém as informações de inclinação do
campo magnético terrestre.
Mesmo com a inconstância do campo geomagnético, em comparação com o campo
gravitacional, é a referência de atitude mais utilizada, desde aplicações terrestres até os mais
robustos satélites artificiais em órbita. Pelo fato dos corpos estarem em queda livre, a
utilização da gravidade terrestre se torna inviável.
Algumas medidas são importantes para a instalação de magnetômetros como: não
estarem próximos de materiais ferromagnéticos, que distorcem o campo local, assim como
fontes de campos de indução, como linhas de potência, bobinas e indutores. Outra condição
muito complicada de se resolver é a dependência do campo magnético com a própria atitude
do sistema, que é composto por diferentes materiais com diferentes permeabilidades
magnéticas, que causam alterações no campo e que são dependentes da direção do campo e da
orientação do corpo onde está o sistema de atitude.
2.3.2 Representação de atitude
Existem diversas formas de representar a informação de atitude. As mais utilizadas
são os Ângulos de Euler, as Matrizes de Rotação e os Quatérnions, que serão descritas neste
trabalho.
A definição de representação global diz que cada rotação possível é determinada por
valores finitos de parâmetros, mas como tais parâmetros não são unicamente definidos, pode
haver singularidades, ou seja, valores infinitos nas derivadas da representação como ocorrem
com os Ângulos de Euler. Em contrapartida, uma representação não-singular tem suas
derivadas bem definidas, porém não é capaz de representar algumas atitudes, como exemplo
existe a representação de Cayley (SHUSTER, 1993).
Existem outras parametrizações que utilizam mais de três elementos, cada uma com
suas particularidades, vantagens e limitações. Por exemplo, a parametrização com quatro
elementos possui a vantagem de levar a equações lineares, com apenas um parâmetro
redundante. Porém, independente da forma que ela é construída, sua representação sempre
será ambígua, surgindo sempre duas representações para a mesma rotação, a exemplo dos
quatérnions. Utilizando agora cinco parâmetros, é a menor representação livre de
ambigüidades e singularidades, entretanto, levará a equações não-lineares e exigirá um poder
computacional considerável para obter a atitude, sendo tal representação a menos explorada
para parametrização de atitude. Já a representação com seis elementos possui todas as
vantagens da representação com cinco elementos, adicionada ao fato de suas equações serem
10
lineares a atitude ser obtida sem a necessidade de toda a carga computacional exigida na
representação por cinco parâmetros.
2.3.2.1 Ângulos de Euler
Os ângulos de Euler apresentam a forma mais natural de representar rotações. E são
chamados desta forma em homenagem ao seu inventor, Leonhard Euler. Os três ângulos de
Euler indicam as sucessivas rotações em seus eixos coordenados, que o corpo deve ser
submetido, de maneira que seu sistema de coordenada coincida com o sistema de coordenadas
referencial. À medida que a rotação em um dos eixos é executada, os outros dois eixos
acabam mudando de orientação, e desta forma, a próxima rotação deve ser feita sobre esta
nova posição do eixo. Como rotações consecutivas sobre um mesmo eixo podem ser
consideradas como apenas uma única rotação, existem doze possibilidades de seqüência de
rotações sobre eixo que podem ser utilizadas. Não existe vantagem entre as seqüências, mas
para fins de normalização de trabalhos, é comum os autores utilizarem a seqüência zyx,
conhecida como Seqüência Aeroespacial.
As doze seqüências podem ser classificadas como simétricas e assimétricas. Quando
existem duas rotações sobre um eixo (Ex: yxy) são chamadas de seqüência simétricas, e o
outro caso, quando não existe rotação sobre eixos repetidos (Ex: xzy) a seqüência é
assimétrica. E as seqüências possíveis são: XYX, XZX, YXY, YZY, ZXZ, ZYZ, XYZ, XZY,
YZX, YXZ, ZXY, ZYX. Os ângulos de Euler dizem respeito às rotações em torno de cada
eixo, e seguindo a Sequência Aeroespacial, existe a rotação 𝝍 sobre Z, uma rotação𝜽 sobre Y
e uma rotação 𝝋 sobre X. E os limites dos ângulos de Euler são:
0 ≤ 𝝍 < 2𝛑, 0 ≤ 𝜽 ≤ 2π, 0 ≤ 𝝋 < 2𝛑 (2.2)
As grandes vantagens dos ângulos de Euler são a ausência de parâmetros
redundantes (uma rotação pode ser determinada por pelo menos três parâmetros), e
interpretação física clara em muitos casos. Tais ângulos são amplamente utilizados em
estudos analíticos sobre rotações e como entrada e saída de dados em aplicações de atitude.
As limitações dos ângulos de Euler dizem respeito às singularidades na representação e às
funções trigonométricas que surgem, aumentando muito a carga computacional. Além de não
existir uma forma conveniente de realizar o produto de duas rotações sucessivas através desta
representação. Sua utilização é justificada em sistemas de controle de atitude em situações
onde é possível considerar que o ângulo entre duas rotações consecutivas de um corpo será
sempre pequeno, uma vez que as aproximações decorrentes dos ângulos pequenos facilitam
muito sua utilização, computacionalmente.
11
2.3.2.2 Matriz de rotação
Esta matriz representa os parâmetros de rotação matematicamente mais diretos. Para
representar os sistemas de coordenadas de um corpo e de referência, utiliza-se um vetor (3x1),
e com a ajuda da álgebra linear, utilizando a transformação de base de vetores, é possível
utilizar uma matriz (3x3) para realizar a rotação de um sistema de coordenadas no outro.
𝐰3𝑥1 = 𝐑3𝑥3𝐯3𝑥1 (2.3)
Para R como sendo uma matriz de rotação, w o vetor representado no sistema de
coordenadas do corpo e v o vetor representado no sistema de coordenadas de referência.
As propriedades matemáticas de uma matriz de rotação tridimensional são:
Ortogonalidade: Todas as matrizes de rotação são ortogonais, ou seja,
a operação de inversão é equivalente à transposição da matriz. Tal propriedade é muito
útil, uma vez que a inversão de uma matriz exige uma carga computacional
considerável e o processo de transposição é muito mais simples e pode ser realizado
sem maiores problemas, uma vez que as linhas viram colunas ou vice-versa.
Determinante unitário: Todas as matrizes de rotação possuem
determinante igual a 1.
É possível separar a matriz de rotação tridimensional em três componentes de
rotação segundo cada um dos eixos. Como o produto de uma ou mais matrizes não é
comutativo, ou seja, a ordem dos produtos importa, será utilizada novamente a Seqüência
Aeroespacial:
𝐑 = 𝐑𝝋X 𝐑𝜽
Y𝐑𝝍Z (2.4)
Sendo que 𝐑𝝋X , 𝐑𝜽
Y e 𝐑𝝍Z representam as rotações de 𝝋,𝜽e 𝝍 sobre os eixos X, Y e Z
respectivamente. E as matrizes de cada componente da matriz tridimensional podem ser
escritas como:
𝐑𝝋X =
1 0 00 cos𝝋 sin𝝋0 − sin𝝋 cos𝝋
𝐑𝜽Y =
cos𝜽 0 −sin𝜽0 1 0
sin𝜽 0 cos𝜽
(2.5)
𝐑𝝍Z =
cos𝝍 𝑠𝑖𝑛𝝍 0−𝑠𝑖𝑛𝝍 𝑐𝑜𝑠𝝍 0
0 0 1
12
As vantagens em se utilizar a matriz de rotação tridimensional é que não existem
singularidades na representação, não utiliza funções trigonométricas e as sucessivas rotações
podem ser representadas simplesmente pela regra do produto.
O maior problema da matriz de rotação tridimensional é o tamanho da sua
representação, uma vez que uma matriz (3x3) apresenta nove parâmetros, no qual seis deles
são redundantes, tendo uma eficiência de memória muito baixa. Para sistemas que a memória
é limitada esta situação pode ser contornada pelo fato que, para uma matriz de rotação, a
terceira coluna é resultado do produto externo das duas primeiras colunas. Desta forma, é
possível diminuir de nove para seis parâmetros, sendo que os parâmetros restantes podem ser
facilmente obtidos.
2.3.2.3 Quatérnions
Os quatérnions são uma expansão do conjunto dos números complexos, e são
chamados também de números hiper-complexos. Sua utilização se tornou mais freqüente
devido a necessidade de uma representação prática e eficiente de rotações em espaço
tridimensional. O quatérnion pode ser escrito da seguinte forma:
𝑞 = 𝒊𝑞1 + 𝒋𝑞2 + 𝒌𝑞3 + 𝑞4 (2.6)
Sendo 𝑞 a representação do quatérnion, 𝑞1, 𝑞2 𝑒 𝑞3 são as componentes vetoriais do
quatérnion e 𝑞4 sua componente escalar. As letras, i, j e k representam vetores unitários, que
formam a base ortonormal, sendo que 𝒊𝟐 = 𝒋𝟐 = 𝒌𝟐 = 𝒊𝒋𝒌 = −𝟏.
Outra forma de representar o quatérnion, é de forma vetorial:
𝑞 =
𝑞1𝑞2𝑞3𝑞4
= 𝒒𝑞4 (2.7)
Sendo q, a parte vetorial do quatérnion.
De forma mais específica, o quatérnion de rotação pode ser escrito da seguinte
forma:
𝑞 = sin𝜽
2𝒆, cos
𝜽
2 (2.8)
Sendo 𝒆 o vetor unitário que representa o eixo de rotação e 𝜽 neste caso representa o
ângulo de rotação sobre o eixo. Os quatérnions de rotação devem satisfazer a seguinte
restrição:
𝑞12 + 𝑞2
2 + 𝑞32 + 𝑞4
2 = 1 (2.9)
13
Existe uma representação dos quatérnions que representa a mesma rotação, (q, -q4) e
(-q, q4), tornando tal representação ambígua. Normalmente é utilizada a representação que
apresenta a parte escalar positiva, evitando problemas computacionais.
O operador que aplica a transformação de base, representada pelos quatérnions, sobre
um vetor é:
𝐰 = 𝑞 ∗⨂𝐯 ⨂𝑞 (2.10)
Sendo 𝒒 ∗o quatérnion conjugado, ou seja, com sua parte complexa oposta a original
((𝒒,𝑞4)∗ = (−𝒒,𝑞4)), 𝒗 e 𝒘 são quatérnions puros, ou seja, com a parte escalar nula, são
dados respectivamente por: (v,0) e (w,0). O operador ⨂ indica o produto quaterniônico. Para
entender melhor, considerando dois quatérnions 𝒒 e 𝒑 , o produto quaterniônico pode ser
definido como:
𝑝 ⨂𝑞 = 𝑝4𝑞4 − 𝐩 ∘ 𝐪 + 𝑝4𝐪 + 𝑞4𝐩+ 𝐩 × 𝐪 (2.11)
Sendo os operadores (∘) e (×) as representações do produto interno e externo entre os
vetores, respectivamente.
Uma facilidade do quatérnion é sua simplicidade no processo de inversão. A rotação
inversa para um dado quatérnion é dada simplesmente pelo seu conjugado. Outro ponto
positivo é a ausência de singularidades em sua representação, bem como ausência de funções
trigonométricas, possuindo apenas um parâmetro redundante. Porém, o significado físico dos
quatérnions não é claro. Entretanto, é muito utilizado em sistemas de atitude embarcados
devido a sua característica computacional.
2.4 SENSORES DE ATITUDE
Existem variadas grandezas físicas que podem ser utilizadas como referência para a
atitude. Neste trabalho que trata de um algoritmo para auto-calibração de sensores para
determinação de atitude em ambiente terrestre, as grandezas a serem utilizadas serão o campo
gravitacional terrestre e o campo geomagnético. Desta forma, os sensores que tratam de tais
grandezas serão detalhados a seguir.
2.4.1 Acelerômetros
Diferentemente do que o nome sugere os acelerômetros não medem exatamente a
aceleração de um corpo, mas a força inercial sobre a massa de um elemento sensor, em que,
normalmente, a massa já é conhecida. Existem várias formas de medir esta força, seja através
14
de uma alteração de tensão sobre uma linha que ela pode proporcionar ou uma distensão de
uma mola por exemplo.
Cada vez mais empregado nos aparelhos eletrônicos portáteis, acelerômetros
possibilitam uma nova interação com a máquina. Um dos exemplos mais famosos é o iPhone,
celular desenvolvido pela Apple®. Outra aplicação é na indústria automobilística, em que os
acelerômetros são utilizados para realizar o controle de estabilidade ao calcular as forças que
o veículo está sendo submetido, além de auxiliar na orientação do GPS. E neste trabalho, tais
sensores possuem grande importância no estudo que envolve a determinação de atitude para
aplicações terrestres.
Considerando os acelerômetros MEMS, que serão utilizados para o desenvolvimento
das rotinas de auto-calibração, seu funcionamento é baseado na variação de capacitância entre
três placas que estão ligadas em série, de forma que a placa do meio é ligada por apenas uma
de suas extremidades e fica livre para oscilar, causando a variação da capacitância, tornando
possível medir a aceleração que o corpo está submetido. O arranjo entre as placas pode ser
visto na Figura 2.3:
Figura 2. 3 - Arranjo entre as placas de um acelerômetro MEMS(TORMENA JR., 2010)
À medida que a placa oscila o valor de 𝑑 é alterado, mudando a capacitância
𝐶1 e 𝐶2. Através da diferença entre estas capacitâncias é possível obter a aceleração, na
direção perpendicular as placas. Para o caso dos acelerômetros MEMS triaxiais, estão
dispostos três estruturas idênticas a Figura 2.3, de forma ortogonal dentro de um CI (Circuito
Integrado), em conjunto com a parte eletrônica responsável por coletar os dados dos três
acelerômetros e disponibilizar os dados de forma coerente na saída do sensor.
Para detalhar como é o modelo de medidas de um acelerômetro, ou seja, a
relação entre a aceleração e o valor de saída do sensor, tal relação pode ser dada, para uma
boa aproximação, pela equação abaixo proposta no trabalho de TORMENA JR. (2010), em
que a corrupção do ruído é omitida por simplicidade:
15
𝐚𝒐𝒖𝒕 = 𝐂𝑚𝐂𝑠𝑓 𝐚𝑖𝑛𝐨𝑎 (2.12)
Onde 𝑎𝒐𝒖𝒕 é a saída analógica do acelerômetro (3x1), 𝐚𝑖𝑛 é o vetor (3x1) de
aceleração real a que o sensor está submetido, 𝐨𝑎 é o vetor (3x1) que representa os valores de
offset, ou bias, do acelerômetro, 𝐂𝑠𝑓 é a matriz (3x3) dos valores de sensibilidade, ou fatores
de escala, do acelerômetro e por fim 𝐂𝑚 é uma matriz (3x3) que indica o desalinhamento
ortogonal da tríade sensora.
O acelerômetro ilustrado na Figura 2.3 deve ser sensível a acelerações apenas na
direção ortogonal ao plano que contém a placa central, entretanto, em situações onde existe
alguma aceleração em seu eixo sensível criando uma deflexão na placa, uma força de reação
em outro eixo pode causar um torque no ponto de fixação da placa, causando uma deflexão
perturbadora, devido a uma aceleração em outro eixo. Tal efeito é chamado de sensibilidade
cruzada. Considerando tal efeito, a matriz 𝐂𝑠𝑓 vai possuir elementos não nulos fora da
diagonal principal, tornando o modelo de acelerômetro bastante complexo. Entretanto, na
maioria dos acelerômetros MEMS, tal efeito pode ser desprezado, sem causar grandes
variações que possam comprometer a precisão da medida. Desta forma a matriz 𝐂𝑠𝑓 é dada
por:
𝐂𝑠𝑓 =
sxx 0 00 syy 0
0 0 szz
(2.13)
Sendo sxx , syy e szz a sensibilidade nos eixos x,y e z, respectivamente.
A tríade sensora possui desvios de ortogonalidade que podem ser descritos através de
três ângulos, 𝝆,𝝓 e 𝝀, sem perda de generalidade. Sendo que a tríade ortogonal é dada por x,y
e z, ao passo que a tríade real, desalinhada é dada por x´,y´e z´. O eixo x é considerado
perfeitamente alinhado ao eixo x´. O eixo y´ está contido no plano xy, e seu desvio em
relacao a y é dado por 𝝆. E finalmente, os desvios de z´ em relação ao plano xz e yz são dados
por 𝝀e 𝝓, respectivamente. Abaixo, tais desvios estão ilustrados:
16
Figura 2. 4 - Desvios de ortogonalidade da tríade sensora(TORMENA JR.,2010)
Assim, a matriz 𝑪𝑚 representando a não-ortogonalidade da tríade pode ser dada por:
𝑪𝑚 = 1 0 0
sin ρ cos ρ 0sin ϕ cos λ cos ϕ sin λ cos ϕ cos λ
(2.14)
É necessário dar atenção ao efeito de desalinhamento, uma vez que a tolerância na
ortogonalidade da tríade de um acelerômetro MEMS de três eixos é da ordem de um grau.
2.4.2 Magnetômetros
São instrumentos utilizados para medir intensidade, direção e sentido de campos
magnéticos. São amplamente usados em sistemas de navegação, e sua utilização vem desde o
período das Grandes Navegações.
Existem diversas aplicações que utilizam magnetômetros, como a detecção de sítios
arqueológicos, naufrágios e outros objetos enterrados ou submersos, são usados também para
perfurar poços de petróleo e mais recentemente vem sendo utilizados em celulares, como o
iPhone 3G da Apple®, a Motorola Droid [6] e Nokia N97 por exemplo, com aplicativos como
a bússola para indicação de direção.
Existem diversas formas de operação de magnetômetros. Porém, uma das tecnologias
que possibilitam um baixo custo no produto final, e mesmo assim apresentam um
desempenho considerável, é o chamado AMR (Anisotropic Magnetoresistive – Magneto-
resistiva Anisotrópica), onde o sensor é construído utilizando uma liga de ferro-níquel, cuja
resistência elétrica é dependente da presença de campos magnéticos em uma dada direção.
17
A maneira mais simples de construir um magnetômetro AMR consiste em utilizar
pontes resistivas. Desta forma, cada uma das pontes resistivas esta contida em um dos planos,
em que os três planos são ortogonais entre cada um deles. Em cada plano, a direção
perpendicular ao mesmo é a direção onde o elemento sensor é sensível ao campo magnético.
A Figura 2.5 ilustra melhor a situação:
Figura 2. 5 - Esquemático da estrutura interna de um AMR(TORMENA JR.,2010)
Para este tipo de arranjo, o modelo matemático proposto por TORMENA JR. (2010)
e que também será seguido neste trabalho é dado por:
𝐛𝑜𝑢𝑡 = 𝐂𝑚𝐂𝑠𝑓𝐂𝑠𝑖 𝐛𝑖𝑛𝐨𝒃 (2.15)
É necessário enfatizar que para efeitos práticos, a corrupção do ruído foi omitida.
Sabendo que 𝐛𝑜𝑢𝑡 é um vetor (3x1) que representa a saída analógica do sensor, 𝐛𝑖𝑛 é o vetor
(3x1) que representa o campo magnético presente, 𝒐𝒃 representa o bias ou offset (3x1), que é
conhecido como erros Hard Iron, 𝐂𝑚é uma matriz (3x3) que representa os desvios de
ortogonalidade da tríade sensora do magnetômetro, 𝐂𝑠𝑓 também é uma matriz (3x3) que
representa os valores de sensibilidade , ou fatores de escala, do magnetômetro e, por fim, 𝐂𝑠𝑖
representa os erros conhecidos como Soft Iron (3x3).
Agora, será realizada uma explicação mais aprofundada a respeito dos erros
apresentados pelos magnetômetros AMR, sendo que alguns erros podem ser desprezados, ou
então utilizar alguma aproximação. Para os erros conhecidos como Soft Iron, são perturbações
sobre o campo magnético causados por campos magnéticos induzidos, tais campos induzidos
são originados por materiais que possuem propriedades que interagem com campos
18
magnéticos externos. Desta forma, o valor de campo geomagnético é distorcido por campos
induzidos pelo próprio campo geomagnético. O maior problema é que este erro varia com a
atitude, porém considerando uma pequena histerese, uma vez que tal fato é válido para a
maioria dos materiais Soft Iron, é possível representar este erro com uma matriz (3x3) para o
caso tridimensional. Para diminuir este erro ao máximo, os magnetômetros são instalados em
locais estratégicos nos sistemas de atitude, sendo possível aproximar a 𝐂𝑠𝑖 para uma matriz
identidade, sem grandes perdas na precisão.
Já os erros conhecidos como Hard Iron são frutos da presença de materiais
ferromagnéticos próximos aos magnetômetros, e tal influência se dá pela própria estrutura que
o magnetômetro está instalado. Tais erros se sobrepõem com o bias do magnetômetro,
gerando erros constantes na saída do sensor. Uma rotina de auto-calibração é necessária uma
vez que o erro de bias varia com a temperatura e no tempo, diferente dos erros Hard Iron que
são invariantes no tempo, mas como eles se sobrepõem, a medida é corrompida e não pode ser
desprezada.
A sensibilidade dos magnetômetros é similar aos acelerômetros, e de igual forma, a
sensibilidade cruzada pode ser desprezada e a definição da matriz 𝐂𝑠𝑓 é a mesma definida
para os acelerômetros, no qual todos os elementos da diagonal principal são nulos. O mesmo
ocorre para a matriz 𝐂𝑚 , que diz respeito aos desvios de ortogonalidade, que pode ser definida
da mesma forma, tanto para acelerômetros e magnetômetros. Outra característica dos sensores
AMR que merece atenção são os seus domínios magnéticos que se deterioram após poucas
medidas. Uma forma de corrigir esta deficiência é com a aplicação de pulsos de corrente com
valor de pico elevado em curtos intervalos de tempo, técnica conhecida como set e reset. O
primeiro pulso faz com que todos os domínios magnéticos se orientem em uma direção, e o
segundo pulso inverte a orientação dos domínios, anulando qualquer influência anterior que
tenha se mantido por histerese do material.
Como a matriz 𝐂𝑠𝑖 que diz respeito aos erros Soft Iron e pode ser considerada uma
matriz identidade, a equação que define o modelo matemático de magnetômetros se torna
idêntica ao modelo matemático dos acelerômetros. Desta forma, a rotina de auto-calibração
desenvolvida para acelerômetros MEMS pode ser utilizada também para os magnetômetros
AMR.
19
2.5 FILTRO DE KALMAN
Se for tomado pela origem da teoria de seu desenvolvimento, o Filtro de Kalman teve
origem no século XVIII com o uso da teoria dos mínimos quadrados por Gauss no estudo das
órbitas dos planetas. Porém o seu desenvolvimento como método próprio tem origem na
década de sessenta, dentro da área da engenharia elétrica relacionado à teoria do controle de
sistemas, onde foi desenvolvido inicialmente por Rudolph Emil Kalman como uma solução
recursiva para filtragem linear de dados discretos. Sua pesquisa proporcionou contribuições
relevantes ajudando a estabelecer bases teóricas sólidas em varias áreas da engenharia de
sistemas. Em 1960-1961 Kalman desenvolveu, com a colaboração de Richard S. Bucy, a
versão em tempo contínuo do filtro de Kalman, que ficou conhecida como filtro de Kalman-
Bucy. Com o avanço computacional, o filtro de Kalman e suas extensões a problemas não
lineares representam o produto mais largamente utilizado dentro da moderna teoria de
controle.
O filtro de Kalman é um conjunto de equações matemáticas que constitui um
processo recursivo eficiente de estimação, uma vez que o erro quadrático é minimizado.
Através da observação da variável dominada “variável de observação” outra variável, não
observável, denominada “variável de estado” pode ser estimada de forma eficiente. Podem ser
estimados os estados passados, o estado presente e mesmo previstos os estados futuros.
O filtro de Kalman é um procedimento aplicável quando os modelos estão escritos
sob a forma espaço-estado. Além disso, o filtro de Kalman permite a estimação dos
parâmetros desconhecidos do modelo através da maximização da verossimilhança via
decomposição do erro de previsão.
Grewal & Andrews (2001), definem o Filtro de Kalman como um estimador para os
denominados “Problemas quadrático-lineares”, que é o problema de estimação de estados
instantâneos de um sistema linear dinâmico perturbado por um ruído branco (ruído produzido
pela combinação simultânea de sons de todas as freqüências)– através do uso de medidas
lineares relacionadas ao estado, porém corrompidas por ruídos brancos.
Para Welch (2004) um Filtro de Kalman é simplesmente um algoritmo ótimo para
processamento de dados recursivos. A sua otimização provém da incorporação de todas as
informações que estão contidas no sistema. Esse filtro processa todas as medidas disponíveis,
sem se importar com a sua precisão, para estimar valores das variáveis de interesse com o uso
de:
20
Conhecimentos dos dispositivos dinâmicos do sistema e das medidas.
Descrições estatísticas dos ruídos do sistema, erros de medidas e
incertezas nas dinâmicas dos modelos.
Qualquer informação disponível sobre as condições iniciais das
variáveis de interesse.
Alguns benefícios do Filtro de Kalman são citados por Brookner (1998), são eles:
Fornece dados com precisão de posições preditas de objetos (radares,
satélites, armas, etc.).
Alta precisão de cálculo.
Permite manipulação otimizada de medidas que variam com o tempo
de forma precisa.
Pode ser utilizado com alguns dados perdidos e tempos desiguais entre
as medidas.
Permite o uso ótimo de uma informação a priori se disponível.
Possui alta estabilidade.
2.5.1 Aplicações utilizando o filtro de Kalman
O Filtro de Kalman possui uma vasta aplicação, onde é muito utilizado para a
predição de comportamentos dinâmicos que normalmente não podem ser controlados, como o
fluxo de rios durante uma inundação, a trajetória de corpos celestiais e preços de alguns
produtos de exportação (GREWAL & ANDREWS, 2001).
Alguns exemplos de aplicação que utilizam o filtro de Kalman podem ser elencados
abaixo:
Monitoramento de radar;
Monitoramento de trajetória de mísseis;
Navegação à vela;
Navegação de robôs;
Monitoramento de movimento;
Combinação de medição de diversos sensores;
Combinação de modelos de sistemas;
Dentre eles, a aplicação que é o interesse deste trabalho, que é a estimação de
parâmetros para auto-calibração de sensores MEMS para a determinação de atitude.
21
CAPÍTULO 3
DESENVOLVIMENTO
Considerando que os instrumentos utilizados para determinação de atitude são
acelerômetros MEMS e magnetômetros AMR e que ambos os sensores podem ser descritos
através de um mesmo modelo matemático, a rotina de auto-calibração a ser aplicada é a
mesma para os sensores em questão. A seguir, será exposto o desenvolvimento da rotina para
determinação dos parâmetros de atitude que são utilizados na auto-calibração de
acelerômetros e magnetômetros MEMS (a tecnologia utilizada para a construção de
magnetômetros AMR triaxiais é a mesma para sensores MEMS) que foi desenvolvido por
Tormena Jr. (2010) e implementado uma nova metodologia para calcular os parâmetros que
vão ser utilizados na determinação das variáveis intermediárias, que por sua vez são utilizadas
para calibrar os sensores determinadores de atitude.
3.1MODELO MATEMÁTICO GENÉRICO
Como foi citado no início do Capítulo dois, acelerômetros e magnetômetros MEMS
apresentam modelos matemáticos idênticos e podem seguir o mesmo raciocínio para ambos
os instrumentos determinadores de atitude.
Com o objetivo de manter o mesmo rigor matemático para representar as diversas
equações que foram utilizadas para desenvolver a rotina de auto-calibração, as equações
matemáticas a serem utilizadas serão as mesmas apresentadas no trabalho de TORMENA JR.
2010, uma vez que este trabalho utiliza a mesma rotina de auto-calibração, divergindo apenas
no método utilizado para calcular os parâmetros a serem utilizados para determinação das
variáveis intermediárias que são fundamentais para a calibração dos sensores.
Para manter uma generalidade, a metodologia de auto-calibração a ser explicada neste
Capítulo será dado em termos da grandeza física genérica, 𝐮 = (𝑢x ,𝑢y , 𝑢z)𝑇
Utilizando os mesmos modelos dados pelas Eqs. (2.12) e (2.15), as componentes da
grandeza genérica u podem ser escritas como:
𝑢 x = 𝑎𝑢x + 𝑥0 + 𝜂x (3.1)
22
𝑢 y = 𝑏(𝑢x sin𝜌 + 𝑢y cos 𝜌) + 𝑦0 + 𝜂y (3.2)
𝑢 z = 𝑐(𝑢x sin𝜙 cos 𝜆 + 𝑢y cos𝜙 sin 𝜆 + 𝑢z cos𝜙 cos 𝜆) + 𝑧0 + 𝜂z (3.3)
considerando que 𝑢 x ,𝑢 y e 𝑢 z as saídas corrompidas do sensor, para o eixo x, y e z,
respectivamente. Os valores 𝑢x ,𝑢y e 𝑢z são os valores reais dos componentes da grandeza
física u, a, b e csão os fatores de escala dos eixos x, y e z respectivamente. E finalmente os
valores 𝑥0 ,𝑦0 e 𝑧0 são os erros sistemáticos (bias) dos eixos x, y e z.
Os valores 𝜂x , 𝜂y e 𝜂z representam a corrupção por ruído nas medidas em cada um dos
eixos x, y e z. Uma boa aproximação é considerar o ruído AWG (Additive White Gaussian-
Gaussiano Branco e Aditivo) com média zero. Considerando que acelerômetros e
magnetômetros MEMS possuem uma variância de ruído na ordem de 10−6a10−8do valor do
fundo de escala (ANDREJASIC, 2008).
Têm-se também que os ângulos 𝜌,𝜙 e 𝜆 que são os ângulos de desalinhamento
ortogonal da tríade sensora. Sendo que o ângulo 𝜌 é o desvio do eixo y real (chamado y‟) para
o eixo y perfeitamente ortogonal, dentro do plano xy. Os ângulos 𝜙 e 𝜆 são os desvios de z‟
para o plano zx e zy, respectivamente. A Figura 2.4 representa de forma mais clara a relação
da tríade ortogonal e a não-ortogonal contendo os ângulos citados.
Para aplicar o algoritmo de auto-calibração proposto por TORMENA JR(2010), é
necessário conhecer o módulo da grandeza física de referência, desta forma é encontrada a
seguinte equação:
𝐮 2 = 𝑢x2 + 𝑢y
2 + 𝑢z2 (3.4)
Finalmente reescrevendo as Eqs.(3.1), (3.2) e (3.3) têm-se:
𝑢x =(𝑢 x−𝑥0)
𝑎 (3.5)
𝑢y =−𝑏 sin 𝜌 𝑢 x−𝑥0 +𝑎(𝑢 y−𝑦0)
𝑎𝑏 cos 𝜌 (3.6)
𝑢z =𝑏𝑐 sin 𝜌 cos 𝜙 sin 𝜆 𝑢 x−𝑥0 −𝑎𝑐 cos 𝜙 sin 𝜆 𝑢y−𝑦0 +𝑎𝑏 cos 𝜌(𝑢z−𝑧0)
𝑎𝑏𝑐 cos 𝜌 cos 𝜙 cos 𝜆 (3.7)
Agora aplicando as Eqs. (3.5), (3.6) e (3.7) na Eq. (3.4) é possível obter uma equação
na seguinte forma:
23
𝐴𝑢 x2 + 𝐵𝑢 x𝑢 y + 𝐶𝑢 x𝑢 z + 𝐷𝑢 y
2 + 𝐸𝑢 y𝑢 z + 𝐹𝑢 z2 + 𝐺𝑢 x + 𝐻𝑢 y + 𝐼𝑢 z + 𝐽 = 0 (3.8)
Os coeficientes A, B, C, D, E, F, G, H, I e J são funções não-lineares dos parâmetros
de calibração. A Eq. (3.8) é não-linear em termos dos parâmetros de calibração, porém é
linear em termos de A-J. Desta forma, serão utilizadas as letras A-J para representar as
variáveis intermediárias lineares.
Por não ser o objetivo principal apresentar os cálculos detalhados da rotina de auto-
calibração, e sim mostrar a diferença nos dois métodos utilizados para estimar os parâmetros
para calcular as variáveis intermediárias, o desenvolvimento completo das funções não-
lineares não será exposto neste trabalho, mas pode ser visto com mais rigor no trabalho de
TORMENA JR. (2010).
E reescrevendo a Eq. (3.8) de forma mais conveniente para facilitar os cálculos temos:
𝐴𝑢 x2
𝐹𝑢 z2
+𝐵𝑢 x𝑢 y
𝐹𝑢 z2
+𝐶𝑢 x𝑢 z
𝐹𝑢 z2
+𝐷𝑢 y
2
𝐹𝑢 z2
+𝐸𝑢 y𝑢 z
𝐹𝑢 z2
+𝐺𝑢 x
𝐹𝑢 z2
+𝐻𝑢 y
𝐹𝑢 z2
+𝐼𝑢 z
𝐹𝑢 z2
+𝐽
𝐹𝑢 z2
= −1 (3.9)
O fator 𝐹𝑢 z2 foi escolhido como denominador comum por apresentar a solução mais
fácil entre as funções não-lineares (A-J) e que vai ajudar na manipulação posterior das
equações.
Em notação matricial, a Eq. (3.9) fica da seguinte forma:
Sendo que a matriz X é a matriz de amostras, com dimensão (nx9), em que n é o
número de amostras utilizadas, com a exigência de ter 𝑛 ≥ 9. O vetor k representa os
coeficientes da Eq. (3.9) e o vetor p possui elementos unitários negativos.
24
3.2ESTIMAÇÃO DOS PARÂMETROS APLICANDO MÍNIMOS QUADRADOS
Para realizar o cálculo representado pela Eq. (3.10) é necessário isolar o vetor k para
se obter as variáveis intermediárias para realizar a auto-calibração. Assim, desenvolvendo a
equação matricial de forma a isolar o vetor k:
𝐗𝐤 = 𝐩
𝐗𝐓𝐗𝐤 = 𝐗𝐓𝐩
𝐗𝐓𝐗 −1𝐗𝐓𝐗𝐤 = 𝐗𝐓𝐗 −1𝐗𝐓𝐩
𝐈𝐤 = 𝐗𝐓𝐗 −1𝐗𝐓𝐩
𝐤 = 𝐗†𝐩 (3.11)
Sendo 𝐗† = 𝐗𝐓𝐗 −1𝐗𝐓que é conhecida como Pseudo-Inversa de Moore-Penrose, e
que para um valor de n>9, possui um desenvolvimento matemático equivalente a um
estimador de mínimos quadrados (LSE). Note que 𝐤 representa o valor estimado do vetor k.
Note que este método de estimação do vetor k que utiliza a Pseudo Inversa exige uma
carga computacional considerável, considerando que é necessário realizar a inversão de uma
matriz (9x9). Os cálculos necessários para a obtenção do vetor k será apresentado no próximo
Capítulo realizando um comparativo entre este método e o que é proposto neste trabalho.
3.3ESTIMAÇÃO DOS PARÂMETROS APLICANDO A FORMA DE KALMAN
Uma outra forma de resolver equações similares à Eq. (3.10) é a forma de Kalman. A
grande diferença entre os dois métodos de estimação é que a forma de Kalman possui a
característica recursiva, que é muito apropriada para programação que envolva sistemas
embarcados, considerando que as matrizes utilizadas para os cálculos são menores e, desta
forma, a memória exigida para a execução do algoritmo é bem menor.
Como o tratamento pode ser feito após cada amostra, sem a necessidade de recolher
todas para executar o algoritmo de estimação a carga computacional diminui bastante. Outra
vantagem é que este método evita a inversão da matriz (9x9) exigida no LSE.
25
O formulário do estimador de Kalman pode ser visualizado a seguir:
𝐊𝐢 = 𝐂𝐢−𝟏.𝐗𝐢𝐓. 𝐗𝐢.𝐂𝐢−𝟏.𝐗𝐢
𝐓 + 1 −1
(3.12)
𝐂𝐢 = (𝐈 − 𝐊𝐢.𝐗𝐢).𝐂𝐢−𝟏 (3.13)
𝐄 𝐢 = 𝐄 𝐢−𝟏 + 𝐊𝐢. (𝐘𝐢 − 𝐗𝐢. 𝐄 𝐢−𝟏) (3.14)
Onde os vetores 𝐗𝐢, são linhas de matriz X como pode ser visto abaixo, o Y é o vetor
de medidas que é sempre constante e igual a 1. A matriz K é o ganho de Kalman. A matriz C
é a estimativa de covariância e o vetor Ê é o estado estimado.
𝑢 x 1
2
𝑢 z12
𝑢 x1𝑢 y 1
𝑢 z12 …
1
𝑢 z12
⋮ ⋱ ⋮𝑢 x n
2
𝑢 zn2
𝑢 x n𝑢 y n
𝑢 zn2 …
1
𝑢 zn2
= 𝐗1
⋮𝐗n
(3.15)
É necessário ter os valores iniciais para processar o algoritmo recursivamente. Uma
estimativa inicial para o algoritmo devem ser conforme mostrado nas equações que seguem:
C 0 = 𝐗1T … 𝐗n
T . 𝐗1
⋮𝐗n
−1
(3.16)
E 0 = C 0 𝐗1T … 𝐗n
T . 1⋮1 (3.17)
Este método exige apenas valores iniciais para começar, e no caso em questão, serão
utilizados nove valores iniciais que vão ser utilizados para calcular as variáveis intermediárias
para determinar os parâmetros que serão utilizados no algoritmo de calibração dos sensores
MEMS.
Note que o primeiramente é necessário calcular o valor de C 0 que representa a
covariância inicial e que utiliza a matriz de medidas, que é a própria matriz X. Em seguida, é
calculado a estimativa inicial dos parâmetros representado por E 0. Estes dois valores iniciais
são suficientes para implementar o estimador de Kalman definido pelas Eqs. (3.12), (3.13) e
(3.14) e após calcular de forma recursiva todos os parâmetros, é possível calcular as variáveis
intermediárias que será explicitada a seguir.
Embora este método processa uma amostra por vez, o resultado obtido depois de
processar todas as amostras deve ser exatamente o mesmo que um lote utilizando Mínimos
Quadrados.
26
3.4RESOLVENDO OS PARÂMETROS A PARTIR DAS VARIÁVEIS
INTERMEDIÁRIAS
Após a estimação das variáveis intermediárias utilizando a Pseudo Inversa de Moore-
Penrose ou então pela forma de Kalman, é possível finalmente calcular os parâmetros a serem
utilizados no algoritmo de auto-calibração. Para facilitar a representação de tais parâmetros os
valores de A/Fa J/F foram reescritos da seguinte forma:
𝛼 = −𝐴
𝐹 𝛽 = −
𝐵
𝐹 𝛾 = −
𝐶
𝐹
𝛿 = −𝐷
𝐹 휀 = −
𝐸
𝐹 𝜒 = −
𝐺
𝐹 (3.18)
𝜇 = −𝐻
𝐹 𝜄 = −
𝐼
𝐹 𝜅 = −
𝐽
𝐹
Para realizar o cálculo algébrico dos parâmetros da calibração é utilizada uma
aproximação que considera que acelerômetros e magnetômetros MEMS possuem um desvio
de ortogonalidade que é menor que um grau, e desta forma, é válido utilizar a aproximação
para pequenos ângulos das funções trigonométricas, ou seja, cos 𝜃 ≈ 1 e 𝑠𝑒𝑛 𝜃 ≈ 𝜃 para
𝜃 ≤ 5∘. Desta forma, as equações que definem os parâmetros de calibração ficam:
𝑥 0 = −휀2𝜒 − 2𝛽𝜇 + 4𝛿𝜒 − 𝛽휀𝜄 + 2𝛾𝛿𝜄 − 𝛾휀𝜇
−2𝛽2 − 2𝛽𝜇휀 + 2𝛿𝛾2 + 2𝛼휀2 + 8𝛼𝛿 (3.19)
𝑦 0 = −𝛾2𝜇 + 4𝛼𝜇 − 2𝛽𝜒 − 𝛽𝛾𝜄+ 2𝛼휀𝜄 − 𝛾휀𝜒
−2𝛽2 − 2𝛽𝜇휀 + 2𝛿𝛾2 + 2𝛼휀2 + 8𝛼𝛿 (3.20)
𝑧 0 = −𝛽2𝜄 − 𝛽𝛾𝜇 − 4𝛼𝛿𝜄 − 2𝛼휀𝜇 − 𝛽휀𝜒 + 2𝛾𝛿𝜒
−2𝛽2 − 2𝛽𝜇휀 + 2𝛿𝛾2 + 2𝛼휀2 + 8𝛼𝛿 (3.21)
𝑐 =1
𝐮 𝜅 − 𝛼𝑥 0
2 − 𝛽𝑥 0𝑦 0 − 𝛾𝑥 0𝑧 0 − 𝛿𝑦 02 − 휀𝑦 0𝑧 0 + 𝑧 0
2 (3.22)
𝑏 =𝑐
−𝛿 (3.23)
𝑎 = 2𝑐 2 1− 𝜆 2 −1
2𝛼𝑐 2 1− 𝜆 2 2− 𝛽𝑏 𝜆 + 𝛾𝑐 𝜆 2 𝛽𝑏 𝜆 + 𝛾𝑐
(3.24)
𝜌 =𝑎 𝛽𝑏 + 𝛾𝑐 𝜆
2𝑐 2 1 − 𝜆 2 (3.25)
𝜙 =𝑎 𝛽𝑏 𝜆 + 𝛾𝑐
2𝑐 2 1 − 𝜆 2 (3.26)
27
𝜆 =휀
2 −𝛿 (3.27)
Desta forma, todas os parâmetros necessários para realizar a calibração são
estimados e é possível tratar os dados que foram inicialmente corrompidos pelos ruídos e
desvios no início da rotina de calibração, como forma de simular uma situação real.
28
CAPÍTULO 4
RESULTADOS E DISCUSSÃO
O desenvolvimento proposto foi implementado através de um algorítmo de auto-
calibração e em seguida foi realizada a simulação utilizando o software Matlab®, e o código
utilizado está disponível no anexo D. Para esta simulação, foram utilizadas inicialmente 40
amostras (n = 40), em seguida aumentou-se para 50 amostras e estes valores foram
aumentando até chegar a 200 amostras no total. Fica evidente a grande melhora nos resultados
ao passo que as amostras aumentam, porém a memória exigida também aumenta
evidentemente. A primeira simulação com apenas 20 amostras, considera que com este espaço
amostral já são possíveis encontrar resultados satisfatórios com a rotina de calibração.
A metodologia utilizada neste algorítmo utiliza o mesmo raciocínio desenvolvido por
TORMENA JR. (2010) para a auto-calibração, divergindo apenas no cálculo para estimar os
parâmetros que serão utilizados no cálculo das variáveis intermediárias. Desta forma, todos os
passos até este ponto é o mesmo e a rotina de calibração considera os seguintes aspectos:
Foi criado uma dispersão de pontos sobre uma esfera unitária objetivando
gerar dados para a simulação. Tais pontos foram gerados através de
dispersões uniformes dos parâmetros de elevação e azimute das coordenadas
esféricas;
Os pontos criados foram corrompidos aplicando erros de calibração e ruído
Gaussiano com desvio padrão de 10−3 criando amostras que podem ser
definidas pelas Eqs. (3.1), (3.2) e (3.3);
É realizado o cálculo utilizando as equações de Kalman que podem ser vistos
nas Eqs. (3.12), (3.13) e (3.14);
Após realizar o cálculo recursivo da Forma de Kalman, e encontrar as
variáveis intermediárias (𝛼,𝛽, 𝛾, 𝛿, 휀,𝜒, 𝜇, 𝜄,𝜅), foi calculado o valor de todos
os parâmetros de calibração que são representados pelas Eqs. (3.19)-(3.27).
Após a simulação do algoritmo de calibração utilizando a estimativa de Kalman, o
resultado obtido foi idêntico ao encontrado pelo método que utiliza o cálculo da Pseudo-
Inversa de Moore-Penrose. A grande diferença é a quantidade de cálculos realizados que é
29
menor. A seguir, temos o gráfico encontrado aplicando a forma de Kalman, inicialmente para
40 amostras, até o máximo de 200 amostras.
Figura 4. 1 - Medidas encontradas para 40 amostras
Observa-se que para esta primeira simulação, as amostras após a auto-calibração estão
praticamente em cima dos valores reais antes de serem corrompidos, provando que a rotina
implementada aplicando a forma de Kalman também gera ótimos resultados, uma vez que a
figura encontrada utilizando Mínimos Quadrados forneceu uma figura idêntica.
A seguir, será mostrado mais alguns gráficos em que as amostras vão aumentando aos
poucos, a fim de provar como os dados tratados ficam próximos dos valores reais antes de
serem corrompidos.
30
Figura 4. 2 - Medidas encontradas para 80 amostras
Figura 4. 3 - Medidas encontradas para 120 amostras
31
Figura 4. 4- Medidas encontradas para 160 amostras
Figura 4. 5 - Medidas encontradas para 200 amostras
32
Finalmente será realizado um comparativo entre a quantidade de cálculos utilizando
cada um dos métodos em questão. Logo abaixo temos a tabela que mostra a relação entre
algumas operações entre as matrizes e os passos que envolvem tais cálculos matemáticos:
Considerando que temos as seguintes matrizes: 𝐴(𝑀𝑥𝑁),𝐵 𝑁𝑥𝐿 𝑒 𝐶(𝑁𝑥𝑁), d (valor
escalar)
Tabela 4. 2 - Relação de calculos realizados para algumas operações entre matrizes
Expressão Operação Produto Soma Total
AB
Produto de
duas
matrizes
MLN ML(N-1) 2MNL-
ML
𝐶−1 Matriz
inversa
𝑁3
2+
3𝑁2
2
𝑁3
2−𝑁2
2
𝑁3
+𝑁2
+𝑁
dA
Produto de
um escalar
por uma
matriz
MN - MN
Através desta tabela é possível calcular a quantidade de passos que são realizados em
cada um dos métodos, e conseqüentemente a relação entre a memória que é utilizada em cada
um deles.
Considerando que o cálculo da Pseudo-Inversa de Moore-Penrose a equação que
devem ser resolvida pelo Matlab® é a Eq. (3.11) e resolvendo os cálculos segundo a Tab.
(4.1) têm-se:
(9 1) (9 9) (9 9) (9 9) (9 1)
3 2
3 2 3 2 2
ˆ
2(2 ) 2
2(2.9 9 ) 9 9 9 2.9 .1 9.1 3726
x x x x x
MNL ML N N N MNL ML
T -1 Tk = (x x ) x p
33
Agora, considerando as Eqs. (3.12), (3.13) e (3.14) que são as 3 equações recursivas
da forma de Kalman, a quantidade de operações realizadas foi de:
E fazendo a razão entre os dois métodos, encontramos o valor de 0,51. Ou seja,
utilizando a forma de Kalman, a quantidade de operações realizadas se reduz para pelo menos
a metade do valor encontrado pelo método de Mínimos Quadrados.
Agora, fazendo uma breve análise para valores de N amostras, têm-se as seguintes
relações:
Cálculo da Pseudo-Inversa:
(9 1) (9 1) (1 9) (9 9) (9 1)(9 9)
(9 9) (9 9) (9 1) (1 9) (9 9)
2
2 2 2 1 1 9
2.9 .1 9.1 2.1.9.9 1.9 2.1.9.1 1.1 1 1 9 345
81 2 2
81 2.9.1.9 9.9 2.9
x x x x xx
X X X X X
MNL ML MNL ML MNL ML
MNL ML MNL ML
-1T T
i i-1 i i i-1 i
i i i i-1
K = C X X C X +1
C = I - K X C
(9 1) (9 1) (9 1)(9 1) (1 9)
.9.9 9.9 1539
9 9 1 2.
19 2.1.9.1 1.1 36
:1910
X X XX X
MLN ML
Total
i i-1 i-1i i iE = E + K Y - X E
( 1) ( ) ( ) ( ) ( 1)
3 2
3 2 3 2 2 3 2
ˆ
2(2 ) 2
2(2. ) 2. .1 .1 5
Nx NxN NxN NxN Nx
MNL ML N N N MNL ML
N N N N N N N N N
T -1 Tk = (x x ) x p
34
Forma de Kalman:
Analisando para um número de 50 amostras, temos a seguinte relação entre os dois métodos:
Pela Pseudo Inversa: 5𝑁3 + 𝑁2 = 5. 503 + 502= 627500 operações;
Forma de Kalman: 2𝑁3 + 5𝑁2 + 5𝑁 + 2 = 2. 503 + 5. 502 + 5.50 + 2 =
262800 operações
Razão entre os métodos: 0,41.
Analisando agora para um número de 100 amostras, temos a seguinte relação entre os dois
métodos:
Pela Pseudo Inversa: 5𝑁3 + 𝑁2 = 5. 1003 + 1002= 5010000 operações;
Forma de Kalman: 2𝑁3 + 5𝑁2 + 5𝑁 + 2 = 2. 1003 + 5. 1002 + 5.100 + 2 =
2051000 operações
Razão entre os métodos: 0,409
Para um número maior de amostras a razão entre os dois métodos diminui cada vez mais, e
têm-se também que após um número elevado de amostras, 1000 por exemplo, o ganho de
Kalman se torma constante e seu cálculo não se faz mais necessário. O que contribui ainda
mais para diminuição da quantidade de operações aritméticas.
( 1) ( 1) (1 ) ( ) ( 1)( )
( ) ( ) ( 1) (1 ) ( )
2 2
2
2 2 2 1 1 9
2. .1 .1 2.1. . 1. 2.1. .1 1.1 1 1 4 1
2 2
2. .1. .
Nx Nx xN NxN NxNxN
NXN NXN NX XN NXN
MNL ML MNL ML MNL ML
N N N N N N N N N
NN MNL ML MNL ML
N N N N N
-1T T
i i-1 i i i-1 i
i i i i-1
K = C X X C X +1
C = I - K X C
( 1) ( 1) ( 1)( 1) (1 )
3 2
3 2
2. . . . 2
1 2.
1 2.1. .1 1.1 4
: 2 5 5 2
NX NX NXNX XN
N N N N N N N
N N MLN ML
N N N N
Total N N N
i i-1 i-1i i iE = E + K Y - X E
35
A carga computacional utilizada segue a mesma linha de raciocínio, uma vez que
uma quantidade menor de cálculos exige da ULA(Unidade Lógica Aritmética) de um
processador um valor menor de carga computacional para a realização dos cálculos,
justificando a motivação deste trabalho.
36
CAPÍTULO 5
CONCLUSÕES
Após realizar a simulação que utiliza o algoritmo para auto-calibração de sensores
MEMS, mais especificamente acelerômetros e magnetômetros, utilizando a forma de Kalman
e obtendo o mesmo resultado quando se aplicou a estimativa de Mínimos Quadrados ficou
provado que a estimação recursiva de Kalman é totalmente implementável e garante os
mesmos resultados que os métodos mais tradicionais de estimação de parâmetros.
A forma recursiva de Kalman trabalha com uma quantidade menor de amostras por
vez o que possibilita a utilização de uma carga computacional menor, o que justifica a sua
implementação. Após realizar os cálculos que mostram a quantidade de passos para realização
de cada método de estimação de parâmetros para a calibração, provou-se que a razão entre o
método de Kalman e o método de estimação por Minimos Quadrados é aproximadamente
0,51 para apenas nove amostras, e tal valor cai a medida que a quantidade de amostras
aumenta, ou seja, a carga computacional necessária para realizar a auto-calibração cai
consideravelmente.
Com esta redução considerável da carga computacional necessária, fica evidente que
tal método é mais eficiente e para aplicações que envolvem sistemas embarcados, que é o
caso deste trabalho, o algoritmo mais indicado é o que utiliza o estimador recursivo de
Kalman.
Como sugestão para próximos trabalhos, fica a idéia de se implementar este
algoritmo de auto-calibração nos sensores, e realizar a montagem de sistemas embarcados
para possível comercialização do produto.
37
REFERÊNCIAS BIBLIOGRÁFICAS
ANDREJASIC, M. MEMS Accelerometers. Universidade de Ljubljana, Março 2008.
17p.
GRANZIERA JR., F.,”Self Calibration of Mems Sensors Arranged in Triads Using
Kalman Filter Estimator”, 21st Brazilian Congress of Mechanical Engineering, 2011,
Brasil (emInglês).
GREWAL & ANDREWS, Kalman Filtering: Theory and Practice Using MATLAB,
P.116-126, 2001.
NATIONAL GEOSPATIAL-INTELLIGENCE AGENCY (US). Earth Gravitational
Model EGM2008. Disponível em: http://earth-
info.nga.mil/GandG/wgs84/gravitymod/index.html.
NATIONAL GEOSPATIAL-INTELLIGENCE AGENCY (US) AND DEFENCE
GEOGRAPHIC CENTRE (UK). The World Magnetic Model WMM2010.
Disponível em:<http://www.ngdc.noaa.gov/geomag/WMM/DoDWMM.shtml>.
TORMENA JR., O., "Método de Auto-Calibração para Tríades de Sensores utilizados
em aplicações de Estimação de Atitude ", Dissertação de Mestrado, Departamento de
Engenharia Elétrica da Universidade Estadual de Londrina, 2010 (em Português).
http://diy-contractor.com/pt/wiki/tool/19873.html?task=view
SHUSTER, M. D. A survey of attitude representation. The Journal of the
Astronautical Science, v. 41, n. 4, p. 439-517, Outubro-Dezembro 1993.
STUELPNAGEL, J. On the parametrization of the three-dimensional rotation group.
SIAM Review, v.6, n.4, p. 422-430, Outubro 1964.
38
HUNGER, R., “Floating Point Operation in Matrix-Vector Calculus”, Technical
Report, Technische Universitad Munchen, 2007.
39
ANEXO A – Intensidade do Campo Geomagnético
40
ANEXO B – Declinação do Campo Geomagnético
41
ANEXO C – Inclinação do Campo Geomagnético
42
ANEXO D – Código utilizando a forma de Kalman
% Teste Nova Calibração:
close all
clear all
clc
% Parâmetros dos sensores:
at = 1.05; %Fator de escala eixo x
bt = 1; %Fator de escala eixo y
ct = 0.9; %Fator de escala eixo z
x0t = 0.5; %Offset eixo x
y0t = -0.7; %Offset eixo y
z0t = 0.3; %Offset eixo z
rhot = 2*pi/180; %Desalinhamento yy'
phit = -pi/180; %Desalinhamento z para o plano xz
lambdat = 1.5*pi/180; %Desalinhamento z para o plano yz
%Gerando dados:
u2 = 1;
psy = linspace(pi/9,7*pi/18,10);
theta = linspace(0,2*pi,20);
k = 1;
for i = 1:length(psy),
for j = 1:length(theta),
u(1,k) = cos(theta(j))*sin(psy(i));
u(2,k) = sin(theta(j))*sin(psy(i));
u(3,k) = cos(psy(i));
k = k + 1;
end
end
%Inserindo erros de medida:
%Gerando Ruído
nx = 1e-3*randn(1,length(u(1,:)));
ny = 1e-3*randn(1,length(u(1,:)));
43
nz = 1e-3*randn(1,length(u(1,:)));
%Medida = Dados + Erros de parâmetros + Ruído
ux = at*u(1,:) + x0t + nx;
uy = bt*(u(2,:)*cos(rhot) + u(1,:)*sin(rhot)) + y0t + ny;
uz = ct*(u(3,:)*cos(phit)*cos(lambdat) + u(1,:)*sin(phit)*cos(lambdat) +
u(2,:)*cos(phit)*sin(lambdat)) +z0t + nz;
%Matriz de medidas
for i = 1:length(u(1,:)),
X(i,:) = [(ux(i)^2)/(uz(i)^2) ux(i)*uy(i)/(uz(i)^2) ux(i)*uz(i)/(uz(i)^2) (uy(i)^2)/(uz(i)^2) ...
uy(i)*uz(i)/(uz(i)^2) ux(i)/(uz(i)^2) uy(i)/(uz(i)^2) uz(i)/(uz(i)^2) 1/(uz(i)^2)];
end
%Estimação de Parâmetros através da Pseudo-Inversa
%P_est = pinv(X)*ones(length(u(1,:)),1);
% Estimação via Filtro de Kalman
% Covariância inicial
P0 = inv([X(1,:)' X(2,:)' X(3,:)' X(4,:)' X(5,:)' X(6,:)' X(7,:)' X(8,:)'
X(9,:)']*[X(1,:);X(2,:);X(3,:);X(4,:);X(5,:);X(6,:);X(7,:);X(8,:);X(9,:)]);
P(:,:,1) = P0;
% Estimativa inicial dos parâmetros
e0 = P0*[X(1,:)' X(2,:)' X(3,:)' X(4,:)' X(5,:)' X(6,:)' X(7,:)' X(8,:)' X(9,:)']*ones(9,1);
e(:,1) = e0;
k = zeros(9,length(u(1,:)));
% Kalman
for i=1:length(u(1,:)),
k(:,i) = P(:,:,i)*X(i,:)'*inv(X(i,:)*P(:,:,i)*X(i,:)' + 1);
P(:,:,i+1) = (eye(9) - k(:,i)*X(i,:))*P(:,:,i);
e(:,i+1) = e(:,i) + k(:,i)*(1 - X(i,:)*e(:,i));
end
% Definição das variávies intermediárias.
alpha = e(1,length(u(1,:)));
beta = e(2,length(u(1,:)));
gamma = e(3,length(u(1,:)));
delta = e(4,length(u(1,:)));
epsilon = e(5,length(u(1,:)));
44
chi = e(6,length(u(1,:)));
mu = e(7,length(u(1,:)));
iota = e(8,length(u(1,:)));
kappa = e(9,length(u(1,:)));
%Parâmetros:
lambda = epsilon/(2*sqrt(-delta));
x0 = -(epsilon^2*chi - 2*beta*mu + 4*delta*chi - beta*epsilon*iota + 2*gamma*delta*iota -
gamma*epsilon*mu)/(- 2*beta^2 - 2*beta*gamma*epsilon + 2*delta*gamma^2 +
2*alpha*epsilon^2 + 8*alpha*delta);
y0 = -(gamma^2*mu + 4*alpha*mu - 2*beta*chi - beta*gamma*iota + 2*alpha*epsilon*iota -
gamma*epsilon*chi)/(- 2*beta^2 - 2*beta*gamma*epsilon + 2*delta*gamma^2 +
2*alpha*epsilon^2 + 8*alpha*delta);
z0 = -(beta^2*iota - beta*gamma*mu - 4*alpha*delta*iota + 2*alpha*epsilon*mu -
beta*epsilon*chi + 2*gamma*delta*chi)/(- 2*beta^2 - 2*beta*gamma*epsilon +
2*delta*gamma^2 + 2*alpha*epsilon^2 + 8*alpha*delta);
c = (1/sqrt(u2))*sqrt(kappa-alpha*x0^2-beta*x0*y0-gamma*x0*z0-delta*y0^2-
epsilon*y0*z0+z0^2);
b = c/sqrt(-delta);
a = sqrt(2)*c^2*(1-lambda^2)*sqrt(-1/(2*alpha*c^2*(1-lambda^2)^2-
(beta*b*lambda+gamma*c*lambda^2)*(beta*b*lambda+gamma*c)));
rho = (a*(beta*b+gamma*c*lambda))/(2*c^2*(1-lambda^2));
phi = (a*(beta*b*lambda+gamma*c))/(2*c^2*(1-lambda^2));
% Erros em %
a_erro = at-a
b_erro = bt-b
c_erro = ct-c
x0_erro = x0t-x0
y0_erro = y0t-y0
z0_erro = z0t-z0
rho_erro = rhot-rho
phi_erro = phit-phi
lambda_erro = lambdat-lambda
ux_cor = (ux - x0)/a;
uy_cor = ((-b*sin(rho)*(ux-x0))+(a*(uy-y0)))/(a*b*cos(rho));
uz_cor = ((b*c*(sin(rho)*cos(phi)*sin(lambda)-cos(rho)*sin(phi)*cos(lambda)))*(ux-x0)-
(a*c*cos(phi)*sin(lambda))*(uy-y0)...
+(a*b*cos(rho))*(uz-z0))/(a*b*c*cos(rho)*cos(phi)*cos(lambda));
%Plots
figure(1)
45
plot3(u(1,:),u(2,:),u(3,:),'k:')
hold on
plot3(ux,uy,uz,'r.')
plot3(ux_cor,uy_cor,uz_cor,'b.'),grid
xlabel ('Eixo X');
ylabel ('Eixo Y');
zlabel ('Eixo Z');