Kako podesiti pametne telefone i računare. Informativni portal

Gdje je žiroskop u iPhone 5s. Žiroskop ne radi na iPhoneu

Mnogi su čuli za problem s nekalibriranim senzorima u novom iPhoneu 5S - alat za "nivo" ugrađen u izvorni kompas iOS 7 pokazuje odstupanje od nekoliko stupnjeva kada se uređaj postavi na ravnu površinu, poput stola.

Ukratko, u ovom ili onom stepenu, problem orijentacije senzora je uvijek bio prisutan na svim iOS uređajima. Ranije se problem nije tako često uočavao zbog nedostatka aplikacije ugrađene u mobilni OS koja vam omogućava mjerenje nivoa. Sličan problem se javlja i na drugim mobilnim uređajima opremljenim akcelerometrom, budući da su principi svuda isti - svaki programer koji je imao posla s raznim senzorima pokreta i orijentacije trebao bi biti upoznat s tim iz prve ruke.

Razvijao sam aplikacije koristeći senzore akcelerometra, žiroskopa i digitalnog kompasa, upravo otkako je API postao dostupan programerima, skoro od samog početka - kao autor jednog od najpopularnijih kompasa za iOS, naišao sam na probleme sa kalibracijom akcelerometra i tačnost drugih senzora prije nekoliko godina.

Način rješavanja problema je prilično trivijalan i već je ugrađen u većinu primijenjenih i igračkih aplikacija koje na ovaj ili onaj način koriste senzore gravitacije, pokreta i magnetnog polja - kalibraciju o kojoj bi svaki programer koji poštuje sebe i svoje korisnike trebao voditi računa of. U zavisnosti od toga koliko je aplikacija složena i koje zadatke rešava, sa tehničke tačke gledišta programera, implementacija rešenja može biti jednostavna i složena. Ali princip je isti za sve.

Pozivam programere i korisnike aplikacija da saznaju kako to funkcionira, odakle dolaze ove greške, zašto se ne treba previše brinuti o problemima sa akcelerometrom i zašto ne biste trebali trčati u trgovinu da zamijenite "neispravan" uređaj - novi uređaj je malo je vjerovatno da će biti mnogo bolji, a problemi sa greškama senzora rješavaju se na druge načine.

Kako je bilo

Prije više od četiri godine bio sam suočen sa zadatkom da razvijem ne uobičajeni analog 2D kompasa koji je isporučen u paketu s iOS-om, već kompas koji koristi proširenu stvarnost, koji funkcionira u 3D prostoru i sa visokopreciznim poravnanjem virtuelnih oznaka postavljenih na video u realnom vremenu.

Za usklađivanje virtuelne oznake objekta sa njegovom stvarnom pozicijom na slici primljenoj od kamere, potrebno je koristiti sve senzore pokreta koji su dostupni u mobilnom uređaju.

Akcelerometar je potreban za određivanje gravitacijskog vektora ili, jednostavnije rečeno, za otkrivanje koji dio uređaja gleda prema dolje. Senzor digitalnog kompasa ili magnetometar potreban je za orijentaciju na kardinalne tačke kako bi se utvrdilo na koju stranu je uređaj okrenut prema sjeveru. Kasnije se pojavio žiroskop koji određuje rotaciju uređaja i, shodno tome, omogućava značajno povećanje tačnosti pune orijentacije u trodimenzionalnom prostoru.

Kako se aplikacija razvijala i pojavljivala se mogućnost korištenja novih senzora, gotovo odmah su se otkrili pojedinačni nedostaci koji su svojstveni senzorima.

Kako se pokazalo, u svim uređajima senzori proizvode nejednake podatke koji se razlikuju u okviru određene greške, negde su odstupanja veća, negde manja - dok na očitavanje senzora utiče niz različitih neočiglednih faktora.

Prvobitna reakcija onih koji tada nisu imali iskustva u ovoj oblasti bila je slična onoj opisanoj u člancima o pogrešno instaliranom senzoru u iPhone 5S, ali me dalje proučavanje problema natjeralo da promijenim mišljenje i nastavim razvoj bez očekivanja. da bi proizvođač mogao i hoće nešto popraviti, ali uzimajući u obzir karakteristike svakog od potrebnih senzora.

Kao rezultat toga, visokotehnološka igračka s problemima s preciznošću pokazala se kao prilično precizan alat prikladan za stvarnu upotrebu - glavna stvar je znati kako je pravilno koristiti, što direktno proizlazi iz karakteristika svakog senzora, koje pišem detaljno u nastavku.

Akcelerometar

Kako je, za razliku od standardnog kompasa koji radi samo u jednoj orijentaciji, moja aplikacija morala raditi u bilo kojoj od mogućih, već u ranoj fazi, čak i prije pojave žiroskopa, otkrivena je jedna vrlo čudna karakteristika akcelerometra.

Pokazalo se da pored činjenice da akcelerometar ima blago odstupanje u svakom uređaju, unutar istog fizičkog uređaja ovo odstupanje je različito za različite orijentacije uređaja - na primjer, u uobičajenoj portretnoj orijentaciji, odstupanje od stvarnog osa gravitacije može biti 1°, dok pri rotaciji za 180°, u obrnutom portretu može biti 4°.

Rješenje je bilo dodati mogućnost kalibracije akcelerometra zasebno za svaku od šest mogućih orijentacija, a pojava žiroskopa dala je nove mogućnosti - kalibracija senzora pokreta, odnosno, u ovom ili onom obliku, već je dostupna u svakom pristojnom aplikacija koja ih koristi.

Programeri igara morali su to malo lakše prihvatiti – u igrama je dovoljno podržati jednu ili dvije orijentacije uređaja, ali je ipak nemoguće jednostavno zaobići potrebu da se korisniku omogući korištenje kalibracije čak i uz korištenje senzora žiroskopa.

U "nivou" ugrađenom u iOS 7 kompas, kalibracija se vrši jednostavnim dodirom ekrana - samo dodirnite ekran i trenutna pozicija uređaja će se smatrati referentnom ili "nultom" pozicijom.

Kompas i GPS / GLONASS (iako se čini)

Prije pojave žiroskopa, senzor odgovoran za orijentaciju u ravnini horizonta duž kardinalnih tačaka bio je senzor digitalnog kompasa - najosjetljiviji na vanjske faktore od svih senzora i, shodno tome, imao je najveće probleme s preciznošću.

Kalibracija kompasa se vrši konstantno na nivou vozača dok se uređaj rotira - što više podataka uređaj primi, to će rezultat biti tačniji, ali će i dalje biti greške.

Apsolutno rješenje problema tačnosti kompasa je, nažalost, gotovo nemoguće samo kalibracijom. Iako poboljšava preciznost. U iOS-u 7, ugrađeni kompas je još brutalnije kalibriran nego u prethodnim verzijama OS-a. Sada ekran za kalibraciju pokriva cijeli ekran dok korisnik ne izvrši potrebne radnje. Starije verzije su imale malu poruku koja nije prekrivala ekran.

Čak ni kalibracija kompasa i konstantno filtriranje podataka neće puno pomoći u uslovima neujednačenog magnetnog polja - na kraju krajeva, nakon kalibracije kompasa, osoba se obično okreće oko svoje ose, a ne oko ose uređaja, što kada rotirano za 90°, pomiče uređaj u prostoru za oko pola metra, gdje mogu postojati drugi magnetni uvjeti.

U blizini jakih magnetnih polja, metalnih predmeta, žica pod naponom, očitanja magnetometra su nestabilna zbog vrlo visoke osjetljivosti na elektromagnetno zračenje - to je posebno uočljivo u prostorijama i mašinama koje su sve modernije, sve više punjene svime. vrste elektronskog punjenja.

Osim toga, ako je kompas potreban da pokaže geografski sjever, tada dolazi u obzir preciznost pozicioniranja pomoću GPS-a i GLONASS-a, budući da se koordinate koriste za određivanje magnetske deklinacije ili razlike između smjerova prema magnetnom i serverskom polu u određenoj tački na globus.

Magnetni kompas radi dobro i precizno na otvorenom na terenu, gdje nema magnetnih smetnji - ali čak i tako, kalibracija kompasa je poželjna pri svakom mjerenju smjera.

Smjer prema sjevernom polu najpreciznije se određuje uz dobru GPS preciznost, također obično na otvorenom.

Da biste dodatno poboljšali preciznost tamo gdje je to potrebno, na primjer, ako trebate ispravno usmjeriti Wi-Fi ili radio antene jednu na drugu, ili izvršiti bilo kakva precizna mjerenja, već je potrebna dublja podrška na strani aplikacije, kao što je objašnjeno u nastavku.

Žiroskop, žirokompas i Automotive Mode

U zatvorenom prostoru, u automobilu, u čamcu ili u bilo kom drugom prevoznom sredstvu, kao i kada je potrebna veća tačnost i stabilnost orijentacije, konvencionalni magnetni kompas nije prikladan - potrebna je orijentacija ili duž kretanja ili duž žiroskopa. .

Shodno tome, u svojoj aplikaciji implementirao sam obje ove funkcije - za korištenje u raznim vozilima postoji "automobil" mod i "žirokompas" način za sve ostalo.

Sa režimom automobila sve je jednostavno - koristi se tok kretanja, koji zavisi samo od tačnosti GPS-a i GLONASS-a, i, shodno tome, pravac se prilično precizno određuje tokom vožnje pješice, na biciklima, automobilima, čamcima, avionima , i tako dalje.

Sa žirokompasom je situacija i lakša i nešto složenija.

U režimu žirokompasa možete precizno postaviti početni ili ispraviti trenutni smjer koristeći neki vanjski orijentir - sunce, mjesec, zvijezde, geografski objekti, mahovinom prekrivenu stranu drveta, navigirati pomoću mapa ili pomoću drugih metoda.

Ovo se radi jednostavno za korisnika. Oznaka postavljena na video uživo ili strelica koja pokazuje na objekt na točkiću kompasa je poravnata sa stvarnim položajem objekta ili sa smjerom prema njemu. Sva složena matematika zasnovana na hiljadama linija formula ostaje nevidljiva na nivou aplikacije.

Otprilike iste radnje izvode piloti ili osoblje koje opslužuje savremene vojne avione, brodove - provjera i naknadno kalibriranje inercijalnih navigacijskih sistema vrši se na početku leta i tokom njega, što je također olakšano fiksnom lokacijom senzora, dok su naši mobilni uređaji gotovo u stalnom pokretu.

Čini se da je žirokompas idealno rješenje za problem tačnosti kompasa i orijentacije na kardinalne tačke, ali ima i svoje zamke.

U industrijskim i vojnim inercijskim navigacionim sistemima, za razliku od onoga što je trenutno u mobilnim uređajima, za precizno određivanje položaja u prostoru koristi se čitav kompleks, niz senzora, što omogućava kompenzaciju grešaka i netačnosti u očitavanju. .

U mobilnim uređajima obično postoji samo jedna instanca svakog senzora, što onemogućava kompenzaciju grešaka i dovodi do gomilanja grešaka.

Što više vremena prođe od trenutka kalibracije žirokompasa, odnosno, tehnički gledano, od trenutka određivanja referentne "nulte" pozicije, to je veća akumulirana greška, koja se izražava periodičnim pomakom u orijentacija žiroskopa.

Video ispod ilustruje problem.

Video prikazuje kompas u "žirokompas" modu, podešen tačno na server koji radi na uređaju, a koji nepomično leži na stolu. Unatoč činjenici da uređaj s vremenom miruje, dolazi do pomaka. U 00:09 pomiče se od 0° do 359°. U 01:21 smanjuje se na 358°. U 03:03 već vidimo azimut od 357°.

Do gomilanja greške dolazi zbog diskretnosti senzora, koji u nekim trenucima mogu preskočiti događaje, kao što je, na primjer, u videu iznad, na očitavanja žiroskopa utiču i najmanje vibracije ventilatora izvora napajanja u monitor i kompjuter koji se nalaze u blizini na stolu. Senzori, naravno, napreduju tokom vremena, dobijaju veću rezoluciju, ali diskretnost podataka ostaje. Shodno tome, tako manje stvari kao što su otkucaji srca i puls mogu uticati na očitavanja.

Na mikromehaničke sisteme takvih senzora utječu i takvi neočigledni faktori kao što je temperatura okoline - iako je temperatura nedostupna običnim programerima, uzima se u obzir za ispravljanje podataka senzora na nivou drajvera samog OS-a.

Istovremeno, orijentacija žiroskopa je mnogo preciznija nego senzorom kompasa - kada se okreće za 180 °, senzor javlja da je okret bio istih 180 °, a ne 150 °, kao, na primjer, kompas može reći u uslovima smetnji.

Vrijedi samo imati na umu da žiroskop ima takvu funkciju i uzmite to u obzir kada koristite uređaj kao alat ili kada razvijate vlastite aplikacije i igre.

Ali šta je sa novim M7 koprocesorom pokreta?

Sa najavom M7 nadao sam se da će se mobilni uređaji približiti velikim inercijalnim navigacionim sistemima, ali, nažalost, ovaj novi koprocesor rješava malo drugačiji problem.

Prije svega, M7 je dizajniran da smanji potrošnju baterije pri korištenju GPS-a i drugih senzora. Manje vremena se troši na izračunavanje satelitskih podataka zbog činjenice da ovaj proračun ne počinje od nule kada se aplikacija pokrene. Osim toga, podaci s drugih senzora se prikupljaju u pozadini, čak i kada aplikacija nije pokrenuta, što također pomaže u smanjenju potrošnje baterije.

Na primjer, u videu koji ilustruje situaciju sa gomilanjem grešaka u žiroskopu iznad, kompas u načinu rada žirokompasa radi na novom iPhoneu 5S koji već koristi M7.

Može li se vjerovati mobilnim uređajima?

Odgovor je da, znajući i uzimajući u obzir karakteristike senzora koji se koriste.

Programeri će sami donijeti svoje zaključke.

Za korisnike koje je zanimalo da pročitaju do kraja, dozvolite mi da vam dam nekoliko savjeta.

Nema posebne potrebe za promjenom uređaja. Možda neće biti bolje. A ko je rekao da je površina korišćenog stola strogo okomita na gravitacioni vektor?

U igrama s haptičkom kontrolom, ako je greška akcelerometra ili žiroskopa jasno vidljiva, pogledajte izbornik za kalibraciju u postavkama ili u načinu pauze.

U svim stvarnim aplikacijama koje implementiraju "level" alat, mora postojati kalibracija koja postavlja "nultu" poziciju - naravno, ona je također u ugrađenoj aplikaciji.

Magnetni kompas dobro funkcionira samo kada planinarite u prirodi. Ne očekujte da će uređaj učiniti nemoguće pokušavajući da odredi pravac sa apsolutnom preciznošću pored računara, zvučnika, hladnjaka ili u bilo kom vozilu. Koristite one posebno dizajnirane za ovu aplikaciju i načine rada koji najbolje odgovaraju zadatku.

Kada koristite magnetni kompas, imajte na umu da očitanja vrijede samo odmah nakon kalibracije, sve dok uređaj nije pomaknut na neku značajnu udaljenost - rotacija od 90° duž ose kičme može već zahtijevati ponovnu kalibraciju.

Kada koristite aplikacije kao što su "nivo" ili "žirokompas", imajte na umu da očitanja senzora vrijede otprilike jednu do dvije minute, što je sasvim dovoljno za mjerenje - da biste izbjegli nakupljanje greške, ponovite kalibraciju prije svakog mjerenja kako biste poboljšali tačnost mjerenja.

P.S. Na pitanja odgovaram u komentarima.

Mnogi su čuli za problem s nekalibriranim senzorima u novom iPhoneu 5S - alat za "nivo" ugrađen u izvorni kompas iOS 7 pokazuje odstupanje od nekoliko stupnjeva kada se uređaj postavi na ravnu površinu, poput stola.

Ukratko, u ovom ili onom stepenu, problem orijentacije senzora je uvijek bio prisutan na svim iOS uređajima. Ranije se problem nije tako često uočavao zbog nedostatka aplikacije ugrađene u mobilni OS koja vam omogućava mjerenje nivoa. Sličan problem se javlja i na drugim mobilnim uređajima opremljenim akcelerometrom, budući da su principi svuda isti - svaki programer koji je imao posla s raznim senzorima pokreta i orijentacije trebao bi biti upoznat s tim iz prve ruke.

Razvijao sam aplikacije koristeći senzore akcelerometra, žiroskopa i digitalnog kompasa, upravo otkako je API postao dostupan programerima, skoro od samog početka - kao autor jednog od najpopularnijih kompasa za iOS, naišao sam na probleme sa kalibracijom akcelerometra i tačnost drugih senzora prije nekoliko godina.

Način rješavanja problema je prilično trivijalan i već je ugrađen u većinu primijenjenih i igračkih aplikacija koje na ovaj ili onaj način koriste senzore gravitacije, pokreta i magnetnog polja - kalibraciju o kojoj bi svaki programer koji poštuje sebe i svoje korisnike trebao voditi računa of. U zavisnosti od toga koliko je aplikacija složena i koje zadatke rešava, sa tehničke tačke gledišta programera, implementacija rešenja može biti jednostavna i složena. Ali princip je isti za sve.

Pozivam programere i korisnike aplikacija da saznaju kako to funkcionira, odakle dolaze ove greške, zašto se ne treba previše brinuti o problemima sa akcelerometrom i zašto ne biste trebali trčati u trgovinu da zamijenite "neispravan" uređaj - novi uređaj je malo je vjerovatno da će biti mnogo bolji, a problemi sa greškama senzora rješavaju se na druge načine.

Kako je bilo

Prije više od četiri godine bio sam suočen sa zadatkom da razvijem ne uobičajeni analog 2D kompasa koji je isporučen u paketu s iOS-om, već kompas koji koristi proširenu stvarnost, koji funkcionira u 3D prostoru i sa visokopreciznim poravnanjem virtuelnih oznaka postavljenih na video u realnom vremenu.

Za usklađivanje virtuelne oznake objekta sa njegovom stvarnom pozicijom na slici primljenoj od kamere, potrebno je koristiti sve senzore pokreta koji su dostupni u mobilnom uređaju.

Akcelerometar je potreban za određivanje gravitacijskog vektora ili, jednostavnije rečeno, za otkrivanje koji dio uređaja gleda prema dolje. Senzor digitalnog kompasa ili magnetometar potreban je za orijentaciju na kardinalne tačke kako bi se utvrdilo na koju stranu je uređaj okrenut prema sjeveru. Kasnije se pojavio žiroskop koji određuje rotaciju uređaja i, shodno tome, omogućava značajno povećanje tačnosti pune orijentacije u trodimenzionalnom prostoru.

Kako se aplikacija razvijala i pojavljivala se mogućnost korištenja novih senzora, gotovo odmah su se otkrili pojedinačni nedostaci koji su svojstveni senzorima.

Kako se pokazalo, u svim uređajima senzori proizvode nejednake podatke koji se razlikuju u okviru određene greške, negde su odstupanja veća, negde manja - dok na očitavanje senzora utiče niz različitih neočiglednih faktora.

Prvobitna reakcija onih koji tada nisu imali iskustva u ovoj oblasti bila je slična onoj opisanoj u člancima o pogrešno instaliranom senzoru u iPhone 5S, ali me dalje proučavanje problema natjeralo da promijenim mišljenje i nastavim razvoj bez očekivanja. da bi proizvođač mogao i hoće nešto popraviti, ali uzimajući u obzir karakteristike svakog od potrebnih senzora.

Kao rezultat toga, visokotehnološka igračka s problemima s preciznošću pokazala se kao prilično precizan alat prikladan za stvarnu upotrebu - glavna stvar je znati kako je pravilno koristiti, što direktno proizlazi iz karakteristika svakog senzora, koje pišem detaljno u nastavku.

Akcelerometar

Kako je, za razliku od standardnog kompasa koji radi samo u jednoj orijentaciji, moja aplikacija morala raditi u bilo kojoj od mogućih, već u ranoj fazi, čak i prije pojave žiroskopa, otkrivena je jedna vrlo čudna karakteristika akcelerometra.

Pokazalo se da pored činjenice da akcelerometar ima blago odstupanje u svakom uređaju, unutar istog fizičkog uređaja ovo odstupanje je različito za različite orijentacije uređaja - na primjer, u uobičajenoj portretnoj orijentaciji, odstupanje od stvarnog osa gravitacije može biti 1°, dok pri rotaciji za 180°, u obrnutom portretu može biti 4°.

Rješenje je bilo dodati mogućnost kalibracije akcelerometra zasebno za svaku od šest mogućih orijentacija, a pojava žiroskopa dala je nove mogućnosti - kalibracija senzora pokreta, odnosno, u ovom ili onom obliku, već je dostupna u svakom pristojnom aplikacija koja ih koristi.

Programeri igara morali su to malo lakše prihvatiti – u igrama je dovoljno podržati jednu ili dvije orijentacije uređaja, ali je ipak nemoguće jednostavno zaobići potrebu da se korisniku omogući korištenje kalibracije čak i uz korištenje senzora žiroskopa.

U "nivou" ugrađenom u iOS 7 kompas, kalibracija se vrši jednostavnim dodirom ekrana - samo dodirnite ekran i trenutna pozicija uređaja će se smatrati referentnom ili "nultom" pozicijom.

Kompas i GPS / GLONASS (iako se čini)

Prije pojave žiroskopa, senzor odgovoran za orijentaciju u ravnini horizonta duž kardinalnih tačaka bio je senzor digitalnog kompasa - najosjetljiviji na vanjske faktore od svih senzora i, shodno tome, imao je najveće probleme s preciznošću.

Kalibracija kompasa se vrši konstantno na nivou vozača dok se uređaj rotira - što više podataka uređaj primi, to će rezultat biti tačniji, ali će i dalje biti greške.

Apsolutno rješenje problema tačnosti kompasa je, nažalost, gotovo nemoguće samo kalibracijom. Iako poboljšava preciznost. U iOS-u 7, ugrađeni kompas je još brutalnije kalibriran nego u prethodnim verzijama OS-a. Sada ekran za kalibraciju pokriva cijeli ekran dok korisnik ne izvrši potrebne radnje. Starije verzije su imale malu poruku koja nije prekrivala ekran.

Čak ni kalibracija kompasa i konstantno filtriranje podataka neće puno pomoći u uslovima neujednačenog magnetnog polja - na kraju krajeva, nakon kalibracije kompasa, osoba se obično okreće oko svoje ose, a ne oko ose uređaja, što kada rotirano za 90°, pomiče uređaj u prostoru za oko pola metra, gdje mogu postojati drugi magnetni uvjeti.

U blizini jakih magnetnih polja, metalnih predmeta, žica pod naponom, očitanja magnetometra su nestabilna zbog vrlo visoke osjetljivosti na elektromagnetno zračenje - to je posebno uočljivo u prostorijama i mašinama koje su sve modernije, sve više punjene svime. vrste elektronskog punjenja.

Osim toga, ako je kompas potreban da pokaže geografski sjever, tada dolazi u obzir preciznost pozicioniranja pomoću GPS-a i GLONASS-a, budući da se koordinate koriste za određivanje magnetske deklinacije ili razlike između smjerova prema magnetnom i serverskom polu u određenoj tački na globus.

Magnetni kompas radi dobro i precizno na otvorenom na terenu, gdje nema magnetnih smetnji - ali čak i tako, kalibracija kompasa je poželjna pri svakom mjerenju smjera.

Smjer prema sjevernom polu najpreciznije se određuje uz dobru GPS preciznost, također obično na otvorenom.

Da biste dodatno poboljšali preciznost tamo gdje je to potrebno, na primjer, ako trebate ispravno usmjeriti Wi-Fi ili radio antene jednu na drugu, ili izvršiti bilo kakva precizna mjerenja, već je potrebna dublja podrška na strani aplikacije, kao što je objašnjeno u nastavku.

Žiroskop, žirokompas i Automotive Mode

U zatvorenom prostoru, u automobilu, u čamcu ili u bilo kom drugom prevoznom sredstvu, kao i kada je potrebna veća tačnost i stabilnost orijentacije, konvencionalni magnetni kompas nije prikladan - potrebna je orijentacija ili duž kretanja ili duž žiroskopa. .

Shodno tome, u svojoj aplikaciji implementirao sam obje ove funkcije - za korištenje u raznim vozilima postoji "automobil" mod i "žirokompas" način za sve ostalo.

Sa režimom automobila sve je jednostavno - koristi se tok kretanja, koji zavisi samo od tačnosti GPS-a i GLONASS-a, i, shodno tome, pravac se prilično precizno određuje tokom vožnje pješice, na biciklima, automobilima, čamcima, avionima , i tako dalje.

Sa žirokompasom je situacija i lakša i nešto složenija.

U režimu žirokompasa možete precizno postaviti početni ili ispraviti trenutni smjer koristeći neki vanjski orijentir - sunce, mjesec, zvijezde, geografski objekti, mahovinom prekrivenu stranu drveta, navigirati pomoću mapa ili pomoću drugih metoda.

Ovo se radi jednostavno za korisnika. Oznaka postavljena na video uživo ili strelica koja pokazuje na objekt na točkiću kompasa je poravnata sa stvarnim položajem objekta ili sa smjerom prema njemu. Sva složena matematika zasnovana na hiljadama linija formula ostaje nevidljiva na nivou aplikacije.

Otprilike iste radnje izvode piloti ili osoblje koje opslužuje savremene vojne avione, brodove - provjera i naknadno kalibriranje inercijalnih navigacijskih sistema vrši se na početku leta i tokom njega, što je također olakšano fiksnom lokacijom senzora, dok su naši mobilni uređaji gotovo u stalnom pokretu.

Čini se da je žirokompas idealno rješenje za problem tačnosti kompasa i orijentacije na kardinalne tačke, ali ima i svoje zamke.

U industrijskim i vojnim inercijskim navigacionim sistemima, za razliku od onoga što je trenutno u mobilnim uređajima, za precizno određivanje položaja u prostoru koristi se čitav kompleks, niz senzora, što omogućava kompenzaciju grešaka i netačnosti u očitavanju. .

U mobilnim uređajima obično postoji samo jedna instanca svakog senzora, što onemogućava kompenzaciju grešaka i dovodi do gomilanja grešaka.

Što više vremena prođe od trenutka kalibracije žirokompasa, odnosno, tehnički gledano, od trenutka određivanja referentne "nulte" pozicije, to je veća akumulirana greška, koja se izražava periodičnim pomakom u orijentacija žiroskopa.

Video ispod ilustruje problem.

Video prikazuje kompas u "žirokompas" modu, podešen tačno na server koji radi na uređaju, a koji nepomično leži na stolu. Unatoč činjenici da uređaj s vremenom miruje, dolazi do pomaka. U 00:09 pomiče se od 0° do 359°. U 01:21 smanjuje se na 358°. U 03:03 već vidimo azimut od 357°.

Do gomilanja greške dolazi zbog diskretnosti senzora, koji u nekim trenucima mogu preskočiti događaje, kao što je, na primjer, u videu iznad, na očitavanja žiroskopa utiču i najmanje vibracije ventilatora izvora napajanja u monitor i kompjuter koji se nalaze u blizini na stolu. Senzori, naravno, napreduju tokom vremena, dobijaju veću rezoluciju, ali diskretnost podataka ostaje. Shodno tome, tako manje stvari kao što su otkucaji srca i puls mogu uticati na očitavanja.

Na mikromehaničke sisteme takvih senzora utječu i takvi neočigledni faktori kao što je temperatura okoline - iako je temperatura nedostupna običnim programerima, uzima se u obzir za ispravljanje podataka senzora na nivou drajvera samog OS-a.

Istovremeno, orijentacija žiroskopa je mnogo preciznija nego senzorom kompasa - kada se okreće za 180 °, senzor javlja da je okret bio istih 180 °, a ne 150 °, kao, na primjer, kompas može reći u uslovima smetnji.

Vrijedi samo imati na umu da žiroskop ima takvu funkciju i uzmite to u obzir kada koristite uređaj kao alat ili kada razvijate vlastite aplikacije i igre.

Ali šta je sa novim M7 koprocesorom pokreta?

Sa najavom M7 nadao sam se da će se mobilni uređaji približiti velikim inercijalnim navigacionim sistemima, ali, nažalost, ovaj novi koprocesor rješava malo drugačiji problem.

Prije svega, M7 je dizajniran da smanji potrošnju baterije pri korištenju GPS-a i drugih senzora. Manje vremena se troši na izračunavanje satelitskih podataka zbog činjenice da ovaj proračun ne počinje od nule kada se aplikacija pokrene. Osim toga, podaci s drugih senzora se prikupljaju u pozadini, čak i kada aplikacija nije pokrenuta, što također pomaže u smanjenju potrošnje baterije.

Na primjer, u videu koji ilustruje situaciju sa gomilanjem grešaka u žiroskopu iznad, kompas u načinu rada žirokompasa radi na novom iPhoneu 5S koji već koristi M7.

Može li se vjerovati mobilnim uređajima?

Odgovor je da, znajući i uzimajući u obzir karakteristike senzora koji se koriste.

Programeri će sami donijeti svoje zaključke.

Za korisnike koje je zanimalo da pročitaju do kraja, dozvolite mi da vam dam nekoliko savjeta.

Nema posebne potrebe za promjenom uređaja. Možda neće biti bolje. A ko je rekao da je površina korišćenog stola strogo okomita na gravitacioni vektor?

U igrama s haptičkom kontrolom, ako je greška akcelerometra ili žiroskopa jasno vidljiva, pogledajte izbornik za kalibraciju u postavkama ili u načinu pauze.

U svim stvarnim aplikacijama koje implementiraju "level" alat, mora postojati kalibracija koja postavlja "nultu" poziciju - naravno, ona je također u ugrađenoj aplikaciji.

Magnetni kompas dobro funkcionira samo kada planinarite u prirodi. Ne očekujte da će uređaj učiniti nemoguće pokušavajući da odredi pravac sa apsolutnom preciznošću pored računara, zvučnika, hladnjaka ili u bilo kom vozilu. Koristite one posebno dizajnirane za ovu aplikaciju i načine rada koji najbolje odgovaraju zadatku.

Kada koristite magnetni kompas, imajte na umu da očitanja vrijede samo odmah nakon kalibracije, sve dok uređaj nije pomaknut na neku značajnu udaljenost - rotacija od 90° duž ose kičme može već zahtijevati ponovnu kalibraciju.

Kada koristite aplikacije kao što su "nivo" ili "žirokompas", imajte na umu da očitanja senzora vrijede otprilike jednu do dvije minute, što je sasvim dovoljno za mjerenje - da biste izbjegli nakupljanje greške, ponovite kalibraciju prije svakog mjerenja kako biste poboljšali tačnost mjerenja.

P.S. Na pitanja odgovaram u komentarima.

Naravno, svaki korisnik može naići na dosta neugodnosti kada gsm akcelerometar ne radi na iPhone 5 iz nepoznatog razloga. Želio bih odmah napomenuti da ne biste trebali očekivati ​​ništa dobro od samopopravke, jer samo iskusni i obrazovani stručnjaci Appleovog tehnološkog servisnog centra mogu se nositi s ovim problemom. Osim toga, bogato znanje i vještine majstora upotpunjuje dostupnost profesionalne opreme, visoko precizne opreme i visokokvalitetnih komponenti koje su uvijek dostupne. Svaka vrsta popravka je osigurana dugotrajnom garancijom.

Niko ne sumnja u potrebu za tako važnim elementom kao što je akcelerometar za moderne uređaje. A sve zato što bi ovaj senzor "trebao" obavljati prilično važne funkcije (rad sa ekranom, igricama, raznim aplikacijama itd.). Ali ponekad se korisnici suočavaju s neugodnim problemom - gsm akcelerometar ne radi na iPhoneu 5. Uglavnom se to događa zbog pada, udara ili jakog podrhtavanja uređaja. Dobro je ako još uvijek imate garanciju na iPhone. Zatim se može odnijeti u specijalizirani servisni centar i izvršiti besplatna dijagnoza.

Usluge koje pruža Apple servisni centar:

  • zamjena neispravne baterije;
  • popravka GSM i Wi-Fi modula;
  • visokokvalitetno treptanje uređaja;
  • vraćanje funkcija bootloadera;
  • zamjena dugmadi koja ne rade;
  • zamjena oštećenih elemenata kamere;
  • zamena zvučnika i mikrofona
  • zamjena slomljenog trupa;
  • zamjena pokvarenih konektora;
  • otključavanje i rusifikacija gadžeta.

Bez obzira na razlog zašto gsm akcelerometar ne radi na iPhoneu 5, slobodno se obratite pouzdanom Apple servisnom centru za pomoć.

Većina pametnih telefona ima ugrađeni akcelerometar koji vam omogućava da radite sve vrste kul stvari, poput toga koliko visoko možete baciti telefon.

Osim toga, koristeći podatke primljene od njega, možete odrediti njegovu lokaciju na telefonskoj ploči. Osnovna ideja je da dobijete podatke o ubrzanju sa telefona, zatim pratite promjenu ubrzanja u zavisnosti od položaja tijela pametnog telefona i na osnovu toga izračunate lokaciju senzora senzora akcelerometra.

Hoćemo li pokušati?

Ključ eksperimenta će biti kružno kretanje. Kada se objekat kreće u krug konstantnom brzinom, imaće ubrzanje:

Osim toga, ubrzanje objekta koji se kreće u krugu bit će usmjereno prema središtu kruga:

Ako je y-osa tijela iPhone-a usmjerena prema središtu kruga, tada će y-komponenta njegovog ubrzanja biti konstantna. Dakle, morate staviti telefon na rotirajuću platformu, na konstantnoj udaljenosti od centra rotacije. Snimanjem ubrzanja i ugaone brzine može se odrediti udaljenost senzora do centra kruga. Prilično jednostavno, zar ne?

Za snimanje ubrzanja na iPhone-u možete koristiti bilo koju prikladnu aplikaciju, na primjer Mobile Science Acceleration.

Potpuno je besplatan i podaci se mogu izvesti u CVS datoteku ili primiti e-poštom.

Koristimo rotirajući metar, na čijem je jednom kraju iPhone. Za kontrolu brzine elektromotora možete koristiti LEGO Mindstorms konstruktor.

Ugaonu brzinu dobijamo pomoću video kamere pričvršćene na vrhu.

Vrijednosti snimanja iz akceleratora u aplikaciji će biti postavljene na frekvenciji od 10 puta u sekundi. Sačuvani podaci (koji se mogu uvesti u Vernier's Logger Pro) izgledaju otprilike ovako:

Ovo pokazuje ubrzanje, podaci su malo drugačiji, ali možete vidjeti konstantne vrijednosti (označene plavom bojom) koje se mogu koristiti kao osnova za izračunavanje lokacije akceleratora.

Također će vam trebati vrijednost ugaone brzine. Evo ugaone brzine za pola obrtaja, koja se može dobiti analizom podataka sa kamere pomoću Tracker Video Analysis.

Slika ispod je dijagram koji prikazuje dvije orijentacije kućišta telefona u odnosu na centar rotacije. Udaljenost do centra se mjeri sa bliže strane pametnog telefona.

Top Related Articles