Come funziona la calibrazione della bussola?


8

Mi chiedo come funzioni la calibrazione della bussola / perché, ad esempio, disegnare un 8 o ruotare il telefono su tutti e 3 gli assi (o almeno funzionerà) - Voglio dire, comprenderei il processo di calibrazione, se un'applicazione mi dicesse: Punta a nord, quindi premi quel pulsante laggiù, ma puoi iniziare con una conoscenza praticamente nulla per l'app, semplicemente ruotando il telefono! Come è fatto? Inoltre, devo accedere a una modalità di calibrazione speciale o posso disegnare queste figure (come le 8) direttamente in Google Maps? Come fa Google Maps a sapere che non sto solo spostando il telefono, ma voglio calibrare la bussola? Grazie per qualsiasi suggerimento!


Contrassegnato come duplicato, non pubblicare due domande separate per lo stesso problema. Modifica la tua domanda esistente con nuove informazioni; android.stackexchange.com/questions/30328/…
pzkpfw

1
Lo spostamento di un oggetto attraverso un campo magnetico può indurre una corrente elettrica, che suppongo venga misurata in questo caso. La figura 8 assicura che il telefono si muova lungo ogni possibile vettore su un piano 2D, il che dovrebbe consentirgli di distinguere il nord dal sud. Penso. Per quanto riguarda il rilevamento di Maps, è facile: in quale altra volta fai un movimento così assurdo con il tuo telefono? È abbastanza diverso dai normali movimenti e dovrebbe essere semplice da rilevare.
Matthew Leggi il

@ bigbadonk420 Questo non è un duplicato, è una domanda completamente diversa.
Matteo Leggi

Risposte:


3

La calibrazione della bussola funziona rilevando l'intensità del campo magnetico terrestre. Ma a volte a causa di forti interferenze da altri dispositivi elettronici come i trasformatori, il sensore della bussola può avere un'idea sbagliata dei poli magnetici della terra e può puntare nella direzione sbagliata.

Quindi, per garantire ciò, chiede agli utenti di ricalibrare la bussola ruotando nella figura 8 in modo che possa giudicare l'intensità magnetica in tutte le direzioni. Da quei dati, deduce i veri poli della terra.


1
Questa è in realtà una risposta sbagliata. La calibrazione può annullare solo le distorsioni derivanti dagli oggetti fissati al dispositivo (ruotando così con il dispositivo durante la calibrazione). Se gli oggetti si trovano nell'ambiente, il telefono osserverà un campo magnetico fisso e non avrà idea di quanto sia lontano dal vero Nord.
Marko Topolnik,

5

Lo scopo della calibrazione è capire come compensare il modo in cui i componenti del telefono (viti, magneti degli altoparlanti, ecc.) Interferiscono con il campo magnetico misurato.

Il processo di calibrazione si basa sul fatto che è possibile separare i contributi interni ed esterni al campo magnetico osservando come cambia il campo mentre il telefono viene ruotato. Ad esempio, in un orientamento il campo magnetico dal magnete nell'altoparlante si aggiungerà al campo terrestre; ma quando il telefono è orientato nella direzione opposta, i due campi si annullano parzialmente.

Mentre si agita il telefono, il magnetometro registra come cambia l'ampiezza del campo misurato e lo utilizza per calibrare i sensori di campo magnetico x, ye z. Vedi la risposta di geometrikal a una domanda simile per maggiori dettagli su questo processo. Si noti che questa calibrazione non consente di compensare l'influenza di altri oggetti esterni (ad esempio il frigorifero) sul campo magnetico.

Per quanto riguarda l'implementazione in Google Maps: credo che Google Maps non abbia alcun controllo sulla calibrazione della bussola perché non esiste tale funzionalità nell'API di Android. Probabilmente il magnetometro si sta calibrando continuamente e Google Maps ti sta semplicemente chiedendo di ruotare il telefono in modo che il magnetometro possa raccogliere i dati necessari per ottenere una calibrazione accurata.

In altre parole, è possibile calibrare la bussola ogni volta che si utilizza il sensore di campo magnetico semplicemente agitando il telefono - non esiste una "modalità di calibrazione".


Ma come fa il sistema operativo Android a decidere quando modificare i suoi valori di calibrazione, i risposta al movimento o ad intervalli regolari o entrambi?
Hamish_Ferns dal

Android deve solo mantenere una cronologia delle letture e continuare ad applicare la correzione del ferro da stiro su di essi. Questo è anche specificato nella documentazione .
Marko Topolnik,

3

In qualsiasi punto dello spazio, l'intensità e la direzione del campo magnetico sono l'effetto netto di tutte le sorgenti del campo magnetico che influenzano quel punto. Il campo magnetico terrestre è uno di questi. Cacciaviti magnetizzati, automobili, magneti per frigoriferi, ecc. Producono campi. I campi sono anche prodotti dalla corrente che scorre attraverso i fili. È come versare acqua in un bicchiere da più fonti. Una volta che è nel bicchiere, non puoi dire da dove viene.

Non esiste uno strumento in grado di determinare i "poli effettivi" della terra misurando il campo magnetico in un punto. Ciò che il telefono può fare, tuttavia, è rilevare il punto in cui l'asse del telefono è parallelo alla linea di forza magnetica N / S e determinare quale estremità del telefono è rivolta a nord. Se fai la tua danza lontano da oggetti che potrebbero essere magnetizzati, come automobili e recinzioni d'acciaio, il campo che il telefono sta misurando potrebbe essere principalmente il campo terrestre e quindi la bussola del telefono sarà calibrata correttamente. Se poi metti il ​​telefono in un'auto magnetizzata, tuttavia, indicherà la direzione sbagliata per il nord. L'acciaio di ogni auto è magnetizzato in un modo o nell'altro.

Bussole di alta precisione come quelle utilizzate sugli aeromobili e le navi marittime serie in realtà hanno minuscoli magneti di correzione che sono regolabili con viti per errori N / S ed E / O. Vengono calibrati dopo l'installazione ruotando il veicolo su titoli noti (una rosa dei venti dipinta da un geometra su una via di rullaggio lontana da edifici metallici, ad esempio) e agitandosi con i magneti fino a ridurre al minimo l'errore della bussola. Quindi gli errori residui vengono registrati su una "scheda di correzione della bussola" per la correzione delle letture indicate. Cerca "carta correzione bussola" per vedere le immagini.

In teoria, il GPS potrebbe essere utilizzato per calibrare la bussola quando si cammina o si guida poiché la traccia GPS istantanea è accurata. Non ho sentito parlare di questo fatto, anche se forse è comune. Funzionerebbe anche in un'auto magnetizzata. Tuttavia, in un aereo o in una nave, questo non funzionerebbe perché la rotta del veicolo è in un modo o nell'altro di solito leggermente sballottata dal vento e il GPS non ne è a conoscenza.


Questo non sembra dire come e perché la procedura di calibrazione comune in Android funziona.
Ruslan,

1

Ho testato le misure dei campi bussola fornite dal telefono Android e ho scoperto che se ruoto il telefono di 180 gradi, il campo non cambia esattamente al contrario, il che deve essere il caso se i sensori sono corretti. Ciò potrebbe essere dovuto al magnetismo interno dei dettagli del telefono o all'inaccuratezza della lettura del sensore.

Se non lo compensi e usi solo la lettura così com'è e provi a calcolare la direzione nord, scoprirai che non sono corretti: la rotazione del telefono di 90 gradi attorno all'asse verticale non porta alla rotazione del campo magnetico misurato di lo stesso angolo (vale per qualsiasi angolo, è più facile controllarlo con 90 gradi).

Lo scopo della calibrazione è quindi quello di sviluppare una formula di compensazione che trasformi le letture errate dal sensore magnetico in valori più realistici, da cui possiamo calcolare il cuscinetto corretto. La mia ipotesi è che stia cercando uno spostamento ottimale di zero per ciascun asse, il che darà al risultato una lunghezza del vettore magnetico indipendente dall'orientamento del telefono (che deve essere il caso nella situazione ideale, ma non lo è quando lo zero viene spostato su qualsiasi asse ).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.