Obtendo o norte magnético de um magnetômetro XYZ (iPhone 3.0)
-
20-08-2019 - |
Pergunta
Na verdade, estou republicando uma pergunta dos quadros de desenvolvimento do iPhone. Não perguntei, mas encontrei ao tentar encontrar sua resposta. Ninguém ainda havia respondido lá, então pensei em tentar postá -lo aqui.
Agradecemos antecipadamente por qualquer ajuda!
Alguém conhece algum detalhes sobre o algoritmo de calcular o cabeçalho magnético a partir dos valores crus xyz de corça? Tenho certeza de que deve haver uma abordagem geral para isso que funcione para diferentes magnetômetros.
Solução
Se você não quiser usar o trueHeading
valor, e assumindo que a bússola está perfeitamente horizontal, o cabeçalho pode ser calculado desta maneira:
- (y> 0) cabeçalho = 90 - Atan2 (x, y)*180 / pi
- (y <0) cabeçalho = 270 - atan2 (x, y)*180 / pi
- (y = 0, x <0) cabeçalho = 180.0
- (y = 0, x> 0) título = 0,0
(Estes são de http://www.magneticsensors.com/datasheets/an203.pdf)
... mais o título deve ser corrigido para Desvio magnético e Declinação magnética
Caso a bússola não seja horizontal, você deve usar apenas o componente horizontal (não pode ignorar o eixo z) projetando o vetor (x, y, z) para um plano paralelo à superfície da terra e depois calcular o cabeçalho A partir deste X e Y projetados.
Espero que ajude.