3.3 Rotina de Calibra¸ c˜ ao
4.1.6 Interface com o Simulink
O algor´ıtimo TRIAD retorna a matriz DCM do sistema, por´em, n˜ao ´e simples interpretar a atitude a partir dela. Um m´etodo mais simples de verificar a atitude de um sistema ´e a partir dos ˆangulos de Euler ou ainda, atrav´es de uma interface gr´afica para visualiza¸c˜ao dos dados.
forma de anima¸c˜ao da atitude, foi criado uma interface utilizando o Simulink.
Esta interface lˆe os dados da matriz DCM enviados via serial, converte a matriz DCM em ˆangulos de Euler, os apresenta em um display e em forma de anima¸c˜ao.
39 FONTE: Autor.
O bloco denominado Serial Receive configura a entrada da serial para aquisi¸c˜ao de dados. Como os dados enviados via serial est˜ao no formato hexadecimal, foi utilizado o bloco ASCII Decode para converter os dados em ascii. O bloco Matriz agrupa os dados na forma matricial, uma vez que ´e enviado um elemento da matriz por vez via serial. O bloco Direction Cosine Matrix to Rotation Angles converte a matriz DCM em ˆangulos de Euler ( ˆAngulos de Rota¸c˜ao). rad2deg converte os ˆangulos de radianos para graus. E por ´ultimo, o bloco MATLAB Animation, a partir dos ˆangulos de rota¸c˜ao gera uma anima¸c˜ao. O bloco de anima¸c˜ao, figura 4.18, apresenta um objeto em trˆes dimens˜oes, onde ´e poss´ıvel visualizar em tempo real a atitude.
Figura 4.18: Interface de anima¸c˜ao do simulink.
FONTE: Autor.
O desempenho do determinador de atitude ´e melhor avaliado atrav´es de uma anima¸c˜ao. Forma anal´ıtica, tal como o plot no tempo dos valores dos quat´ernions, s˜ao dif´ıceis de se analisar. Uma forma qualitativa, pelo menos para o escopo deste trabalho, ´e melhor.
Resultados
5.1
Testes do Algor´ıtimo Determinador de Atitude
O c´odigo do algor´ıtimo TRIAD implementado retorna como resultado a matriz de atitude a uma taxa de 20Hz. Esses dados s˜ao transmitidos via interface RS232 para leitura com o simulink, onde ser˜ao analisados.
A partir da matriz de atitude e com os ˆangulos de rota¸c˜ao, definidos nas equa¸c˜oes 2.27, 2.28 e 2.29, ´e poss´ıvel verificar o funcionamento algor´ıtimo.
Com o simulink, ´e realizado a leitura da matriz DCM e atrav´es de um bloco chamado Direction Cosine Matrix to Rotation Angles, ´e poss´ıvel visualizar os ˆangulos de rota¸c˜ao.
Para obter uma maior precis˜ao nos ˆangulos medidos, foi constru´ıdo um aparato com dois ˆangulos definidos, 450 e 600, como apresentado na figura 5.1.
Figura 5.1: Aparato constru´ıdo para medidas dos ˆangulos de rota¸c˜ao.
FONTE: Autor.
Com esse aparato, o determinador de atitude pode ser posicionado em diferentes posi¸c˜oes e realizado medidas para ˆangulos distintos.
Na tabela 5.1, 5.2 e 5.3 ser´a apresentado os valores coletados.
Tabela 5.1: Medidas dos ˆangulos de rota¸c˜ao em torno do eixo X (ϕ).
Posi¸c˜ao Eixo X Eixo Y Eixo Z Inicial −0.22o −1.38o −0.52o
Rota¸c˜ao de 90oem X 90.12o −11.05o 1.54o
Rota¸c˜ao de 180oem X 176.17o −1.32o −3.26o
Nas figuras 5.2, 5.3 e 5.4 s˜ao apresentados as rota¸c˜oes vista com a anima¸c˜ao feita com o simulink.
Figura 5.2: Visualiza¸c˜ao da rota¸c˜ao em torno do eixo X.
FONTE: Autor.
Tabela 5.2: Medidas dos ˆangulos de rota¸c˜ao em torno do eixo Y (θ).
Posi¸c˜ao Eixo X Eixo Y Eixo Z Inicial −0.62o −2.12o −0.08o
Rota¸c˜ao de 45oem Y −1.13o 42.41o −3.92o
Rota¸c˜ao de 90oem Y −6.75o 86.83o 9.58o
Figura 5.3: Visualiza¸c˜ao da rota¸c˜ao em torno do eixo Y.
Tabela 5.3: Medidas dos ˆangulos de rota¸c˜ao em torno do eixo Z (Ψ).
Posi¸c˜ao Eixo X Eixo Y Eixo Z Inicial −0.94o −0.01o 2.17o
Rota¸c˜ao de 90oem Z 11.13o 2.56o 92.16o Rota¸c˜ao de 180oem Y −6.75o 86.83o 173.79o
Figura 5.4: Visualiza¸c˜ao da rota¸c˜ao em torno do eixo Z.
FONTE: Autor.
As rota¸c˜oes foram realizadas respeitando a faixa de atua¸c˜ao do ˆangulos de Euler apresentadas na equa¸c˜ao 2.5.
Realizado as medi¸c˜oes dos ˆangulos, verificou-se que a movimentar em torno de um ´unico eixo, os outros dois eixos tamb´em apresentavam medidas de ˆangulos. O poss´ıvel problema ´e, como o acelerˆometro e o magnetˆometro est˜ao em placas separadas, os eixos dos sensores n˜ao est˜ao devidamente alinhados, como ilustra a figura 5.5.
Figura 5.5: Desalinhamento entre os eixos dos sensores.
Eixos do
Acelerômetro
Eixos do
Magnetômetro
Como apresentado na figura 5.5, o ideal ´e que os eixos estejam alinhados na mesma dire¸c˜ao. Por´em, como a placa do magnetˆometro conectado ao kit de desenvolvimento, ´e prov´avel que haja o
desalinhamento, como ilustra os eixos em laranjado.
Solu¸c˜ao
Uma solu¸c˜ao para este problema seria colocar os dois sensores no mesmo referencial e realizar medidas de acelera¸c˜ao e campo magn´eticos conhecidos, coletando estes dados, ´e poss´ıvel encontrar uma matriz que relaciona o desalinhamento entre os eixos dos sensores. A partir desta matriz ´e poss´ıvel corrigir este desalinhamento.
Conclus˜ao
Saber determinar a orienta¸c˜ao de um corpo se faz necess´ario nas mais diversas ´areas de atua¸c˜ao, como por exemplo, em sistemas de navega¸c˜ao, em robˆos, jogos e celulares.
A orienta¸c˜ao de um corpo ´e chamada de Atitude, e pode ser expressa de forma matem´atica atrav´es da matriz de atitude, quaternions e ˆangulos de Euler. Os dispositivos capazes de encontrar a orienta¸c˜ao de um corpo s˜ao chamados de Determinadores de Atitude.
A proposta inicial deste trabalho era o de implementar um algor´ıtimo de determina¸c˜ao de atitude em um sistema embarcado utilizando sensores do tipo MEMS. O algor´ıtimo utilizado foi o TRIAD, que a partir da leitura de dois sensores, um magnetˆometro e um acelerˆometro, retorna a matriz de atitude do sistema. A partir dessa matriz, ´e poss´ıvel saber a orienta¸c˜ao do corpo no espa¸co.
Os sensores MEMS s˜ao dispositivos suscept´ıveis a erros, como offset, fator de escala e desalinhamento dos eixos. Devido a isso, foi abordado uma rotina de calibra¸c˜ao baseada na estima¸c˜ao por m´ınimos quadrados(LSE). Esta rotina retorna os parˆametros de calibra¸c˜ao, que s˜ao adicionados ao sinal lido do sensor.
A rotina de calibra¸c˜ao corrige os erros citados acima, por´em n˜ao corrige os erros devido a ru´ıdo. Para minimizar o ru´ıdo dos sensores, foi implementado uma m´edia m´ovel durante a leitura dos sensores. Realizado todo o processo de calibra¸c˜ao e minimiza¸c˜ao de ru´ıdo nos sensores, essas medidas pode ser aplicadas ao algor´ıtimo de determina¸c˜ao de atitude, TRIAD.
A cada itera¸c˜ao, o sistema envia pela sa´ıda serial a matriz de atitude contendo a posi¸c˜ao do corpo. Esses dados foram tratados via simulink, onde foi criada uma interface que mostrava os ˆangulos de Euler e uma anima¸c˜ao com a posi¸c˜ao do corpo em tempo real.
Ao realizar os testes no determinador de atitude, observou-se uma inclina¸c˜ao na atitude medida em rela¸c˜ao a atitude real. O poss´ıvel problema ´e que os sensores magnetˆometro e acelerˆometro est˜ao em placas separadas e seus eixos n˜ao est˜ao devidamente alinhados.
A solu¸c˜ao para este problema seria determinar uma matriz de desalinhamento entre os sensores para corrigir este erro, assim, espera-se que o problema seja solucionado.
Referˆencias Bibliogr´aficas
BATISTA, D. S. Trabalho de Conclus˜ao de Curso, Ambiente Integrado de simula¸c˜ao e teste de um sistema de determina¸c˜ao e estima¸c˜ao de atitude utilizando sensores MEMS. Londrina, PR, Brasil: [s.n.], 2013. 181 p.
CARVALHO NETO, F. Trabalho de Conclus˜ao de Curso, Experimento de aux´ılio `a estima¸c˜ao de atitude para o microssat´elite ITASAT-1 baseado em componentes COTS e sensores MEMS. Londrina, PR, Brasil: [s.n.], 2012. 123 p.
FOSTER C; ELKAIM, G. Extension of a two-step calibration methodology to include nonorthogonal sensor axes. IEEE Transactions on Aerospace and Eletronic Systems, 2008.
GRANZIERA JR., F. Simula¸c˜ao e Implementa¸c˜ao de um Determinador de Atitude em Tempo Real Utilizando Sensores Microfabricados. 284 p. Disserta¸c˜ao (Mestrado em Engenharia El´etrica) — Universidade Estadual de Londrina, Londrina, PR, Brasil, 2006.
GRANZIERA JR., F.; LOPES, R. V. F.; TOSIN, M. C. O problema da determina¸c˜ao da atitude atrav´es da observa¸c˜ao de dois vetores- uma descri¸c˜ao do algoritmo TRIAD e sua matriz de covariˆancia. Semina: Ciˆencias Exatas e Tecnol´ogicas, Londrina, v. 28, n. 1, p. 21–36, jan./jun. 2007.
KANDIYIL, R. Attitude Determination Software for a Star Sensor. 2009.
KUIPERS, J. B. Quaternion and Rotation Sequences. [S.l.]: Princeton University Press, 1999. LIS3DSH, F. LIS3DSH, MEMS digital output motion sensor: ultra-low-power high-performance three-axis ”nano”accelerometer. [S.l.], 2012.
MAG3110, F. MAG3110 Three-Axis, Digital Magnetometer. [S.l.]: October, 2012.
SANTANA, T. A. S. Trabalho de Conclus˜ao de Curso, Desempenho de Algoritmos para Calibra¸c˜ao de Sensores MEMS Aplicados `a Determina¸c˜ao da Atitude. Londrina, PR, Brasil: [s.n.], 2009. 108 p. SMITH, S. W. Digital signal processing: a practical guide for engineers and scientists. [S.l.]: Newnes, 2003.
TAKAHASHI, N. S. Metodologia de Desenvolvimento de um Determinador de Atitude Port´atil de Baixo Custo para Interfaces Homem-M´aquina. 142 p. Disserta¸c˜ao (Mestrado em Engenharia El´etrica) — Universidade Estadual de Londrina, Londrina, PR, Brasil, 2010.
TORMENA J ´UNIOR, O.; GRANZIERA J ´UNIOR, F.; TOSIN, M. C. Development and performance analysis of an autocalibration method for tri-axis sensors in attitude estimation systems. DINAME 2011, 2011.
TORMENA JR, O. M´etodo de Auto Calibra¸c˜ao para Tr´ıade de Sensores Utilizados em Aplica¸c˜oes de Estima¸c˜aoo de Atitude. Disserta¸c˜ao (Mestrado em Engenharia El´etrica) — Universidade Estadual de Londrina, 2010.