Jak działa kalibracja kompasu?


8

Zastanawiam się, jak działa kalibracja kompasu / dlaczego np. Rysowanie 8 lub obracanie telefonu do wszystkich prac w 3 osiach (lub przynajmniej powinno działać) - Mam na myśli, że rozumiem proces kalibracji, jeśli aplikacja powie mi: skieruj się na północ, następnie naciśnij ten przycisk tam, ale możesz zacząć od praktycznie zerowej wiedzy dla aplikacji, po prostu obracając telefon! Jak to się robi? Czy muszę także wprowadzić specjalny tryb kalibracji, czy mogę narysować te liczby (np. 8) bezpośrednio w Mapach Google? Skąd Google Maps wie, że tak naprawdę nie poruszam telefonem, ale chcę skalibrować kompas? Dzięki za podpowiedź!


Oflagowane jako dupe, nie wysyłaj dwóch osobnych pytań dotyczących tego samego problemu. Edytuj swoje istniejące pytanie za pomocą nowych informacji; android.stackexchange.com/questions/30328/…
pzkpfw

1
Poruszanie obiektu przez pole magnetyczne może indukować prąd elektryczny, który, jak sądzę, jest mierzony w tym przypadku. Rycina 8 zapewnia, że ​​telefon porusza się po każdym możliwym wektorze w płaszczyźnie 2D, co powinno pozwolić mu odróżnić północ od południa. Myślę. Jeśli chodzi o wykrywanie map, to jest łatwe - kiedy indziej robisz tak absurdalny ruch za pomocą telefonu? Jest zupełnie inny niż normalne ruchy i powinien być łatwy do wykrycia.
Matthew

@ bigbadonk420 To nie jest duplikat, to zupełnie inne pytanie.
Mateusz

Odpowiedzi:


3

Kalibracja kompasu polega na wykrywaniu natężenia pola magnetycznego ziemi. Ale czasami z powodu silnych zakłóceń od innych urządzeń elektronicznych, takich jak transformatory, czujnik kompasu może mieć błędne wyobrażenie o biegunach magnetycznych ziemi i może wskazywać niewłaściwy kierunek.

Aby to zapewnić, prosi użytkowników o ponowną kalibrację kompasu poprzez obrót w kierunku cyfry 8, aby mógł ocenić natężenie magnetyczne we wszystkich kierunkach. Na podstawie tych danych wydedukowano rzeczywiste bieguny ziemi.


1
To właściwie zła odpowiedź. Kalibracja może jedynie wyeliminować zniekształcenia pochodzące od przedmiotów przymocowanych do urządzenia (obracając się wraz z urządzeniem podczas kalibracji). Jeśli obiekty znajdują się w otoczeniu, telefon będzie obserwował stałe pole magnetyczne i nie będzie miał pojęcia, jak daleko jest od prawdziwej północy.
Marko Topolnik

5

Celem kalibracji jest ustalenie, jak zrekompensować wpływ elementów w telefonie (śrub, magnesów na głośniki itp.) Na zakłócenie zmierzonego pola magnetycznego.

Proces kalibracji opiera się na tym, że można oddzielić wewnętrzny i zewnętrzny wkład w pole magnetyczne, patrząc na zmiany pola w miarę obracania się telefonu. Na przykład, w jednej orientacji, pole magnetyczne z magnesu w głośniku zwiększy pole Ziemi; ale gdy telefon jest skierowany w przeciwnym kierunku, dwa pola częściowo się anulują.

Gdy machasz telefonem, magnetometr rejestruje zmiany wielkości mierzonego pola i używa go do kalibracji czujników pola magnetycznego x, yiz. Zobacz odpowiedź geometrikal na podobne pytanie, aby uzyskać więcej informacji na temat tego procesu. Należy pamiętać, że ta kalibracja nie pozwala zrekompensować wpływu innych obiektów zewnętrznych (np. Lodówki) na pole magnetyczne.

Odnośnie implementacji w Google Maps: Uważam, że Google Maps nie ma kontroli nad kalibracją kompasu, ponieważ nie ma takiej funkcjonalności w interfejsie API Androida. Magnetometr prawdopodobnie kalibruje się w sposób ciągły, a Google Maps prosi tylko o obrócenie telefonu, aby magnetometr mógł zebrać dane potrzebne do uzyskania dokładnej kalibracji.

Innymi słowy, możesz skalibrować kompas za każdym razem, gdy czujnik pola magnetycznego jest używany po prostu machając telefonem - nie ma „trybu kalibracji”.


Ale w jaki sposób system operacyjny Android decyduje, kiedy zmienić wartości kalibracji, reaguję na ruch lub w regularnych odstępach czasu, czy też na oba?
Hamish_Fernsby

Android musi po prostu przechowywać historię odczytów i nadal stosować na nich żelazną korektę. Jest to nawet określone w dokumentacji .
Marko Topolnik

3

W dowolnym punkcie przestrzeni siła i kierunek pola magnetycznego jest efektem netto wszystkich źródeł pola magnetycznego wpływających na ten punkt. Ziemskie pole magnetyczne jest jednym z nich. Magnetyczne śrubokręty, samochody, magnesy na lodówkę itp. Wytwarzają pola. Pola wytwarzane są również przez prąd przepływający przez przewody. To jak wlewanie wody do szklanki z wielu źródeł. Gdy znajdzie się już w szklance, nie wiadomo, skąd się wziął.

Nie ma przyrządu, który mógłby określić „rzeczywiste bieguny” ziemi poprzez pomiar pola magnetycznego w jednym punkcie. Telefon może jednak wyczuć punkt, w którym oś telefonu jest równoległa do linii siły magnetycznej N / S, i określić, który koniec telefonu jest skierowany na północ. Jeśli wykonujesz taniec z dala od przedmiotów, które mogą być namagnesowane, takich jak samochody i stalowe ogrodzenia, pole mierzone przez telefon może być przede wszystkim polem ziemi, a zatem kompas telefonu zostanie odpowiednio skalibrowany. Jeśli jednak włożysz telefon do namagnesowanego samochodu, wskaże on zły kierunek na północ. Stal w każdym samochodzie jest namagnesowana w takim czy innym stopniu.

Kompasy o wysokiej precyzji, takie jak stosowane w samolotach i poważnych statkach morskich, faktycznie mają małe magnesy korekcyjne, które można regulować za pomocą śrub dla błędów N / S i E / W. Są one kalibrowane po instalacji, obracając pojazd na znane pozycje (na przykład róża kompasu namalowana przez geodetę na drodze kołowania z dala od metalowych budynków) i szarpiąc magnesami, aż błąd kompasu zostanie zminimalizowany. Następnie błędy resztkowe są zapisywane na „karcie korekcji kompasu” w celu wykorzystania do korekty wskazanych odczytów. Wyszukaj „kartę korekcji kompasu”, aby zobaczyć zdjęcia.

Teoretycznie GPS można wykorzystać do kalibracji kompasu podczas chodzenia lub jazdy samochodem, ponieważ natychmiastowy ślad GPS jest dokładny. Nie słyszałem o tym, że jest to zrobione, choć być może jest to powszechne. Działa nawet w namagnesowanym samochodzie. Jednak w samolocie lub na statku nie zadziałałoby to, ponieważ kurs pojazdu jest w takim czy innym stopniu zwykle lekko zakrzywiony pod wiatr i GPS nie ma o tym wiedzy.


To nie wydaje się mówić, jak i dlaczego działa wspólna procedura kalibracji w Androidzie.
Ruslan

1

Przetestowałem pomiary pól kompasu dostarczone przez telefon z Androidem i odkryłem, że jeśli obrócę telefon o 180 stopni, pole nie zmieni się dokładnie przeciwnie, co musi mieć miejsce, jeśli czujniki są prawidłowe. Może to być spowodowane wewnętrznym magnetyzmem szczegółów telefonu lub niedokładnością odczytu czujnika.

Jeśli nie zrekompensujesz tego i po prostu użyjesz odczytu w takiej formie, w jakiej jest, i spróbujesz obliczyć kierunek północny, przekonasz się, że są one nieprawidłowe: obrócenie telefonu o 90 stopni wokół osi pionowej nie prowadzi do obrócenia zmierzonego pola magnetycznego o ten sam kąt (to prawda dla każdego kąta, po prostu łatwiej to sprawdzić pod kątem 90 stopni).

Dlatego celem kalibracji jest opracowanie wzoru kompensacji, który przekształci błędne odczyty z czujnika magnetycznego na bardziej realistyczne wartości, na podstawie których możemy obliczyć prawidłowe łożysko. Domyślam się, że szuka optymalnego przesunięcia zera dla każdej osi, co da wynikową długość wektora magnetycznego niezależną od orientacji telefonu (tak musi być w idealnej sytuacji, ale nie dzieje się tak, gdy zero jest przesunięte na dowolnej osi ).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.