Paras vastaus
Tarkistin kysymyksen kommentit, ja se viittaa nimenomaan siihen, mitä Androidilla tapahtuu. Tiedän vastauksen tähän, koska johdin Android Sensor -tiimiä jonkin aikaa.
Fyysisen suunnan tunnistinta ei ole (tällä hetkellä). Suunta-anturi on virtuaalianturi: kiihtyvyysanturin, gyroskoopin ja joissakin tapauksissa magnetometrin tietojen algoritmisella yhdistelmällä se antaa arvion puhelimen rullauksesta, äänenvoimakkuudesta ja kallistumisesta.
Rulla ( miten puhelinta kallistetaan sivulta toiselle) ja äänenvoimakkuus (miten kallistetaan puhelinta edestä taakse) eivät ole kovin kovia ja ne voidaan määrittää suhteellisen yksinkertaisella tavalla pelkällä kiihtyvyysmittarilla.
Haukotus (joka tapa, jolla puhelin on vaakatasossa) on hankala. Ei ole helppoa tapaa määrittää luotettavasti sijaintisi pohjoiseen nähden. Magnetometrit ajautuvat melko vähän ja ovat käytännössä hyödyttömiä sisätiloissa. Joten käyttämällä edistyneitä suodatusalgoritmeja, jotka käyttävät akselia, gyroa ja magia, saat hyvän arvion, mutta se ei silti ole aina oikein.
Gyroskooppi ei mittaa haarautumista, heilumista tai nousua. Se mittaa näiden arvojen muutosnopeuden . Vieritys, sävelkorkeus ja haaroitus mitataan asteina, gyyron tuotos mitataan asteina sekunnissa. Siksi siitä on hyötyä suunnan määrittämisessä: se kertoo kuinka nopeasti käännät. Mutta ei riitä arvioimaan haukottelua, koska et tiedä mistä aloitit.
Voisit kääntyä 50 astetta sekunnissa etelään ja kääntyä 50 astetta sekunnissa pohjoiseen päin, ja gyro antaa tarkalleen sama mittaus.
Täältä tulee edistyneen suodatuksen taika esimerkiksi Kalman-suodattimien avulla.
Vastaa
Suunta-anturi löytyy joistakin digitaalikameroista. Tallentamalla suunnan sieppauksen aikana kameran ohjelmisto voi määrittää, onko kuvan suunnattava vaaka- tai pystymuotoon.
Gyroskooppi on laite, joka käyttää maapallon painovoimaa suunnan määrittämiseen. Sen rakenne koostuu vapaasti pyörivästä levystä, jota kutsutaan roottoriksi, joka on asennettu pyörivälle akselille suuremman ja vakaamman pyörän keskelle. Akselin kääntyessä roottori pysyy paikallaan osoittamaan keskipainovoimaa ja siten mikä suunta on ”Alas.”