GPS-anturi ja Raspberry Pi.
Haluaisin määrittää kiinteän paikan sijainnin mahdollisimman tarkasti gps anturin avulla. Anturista saa kerran sekunnissa ulos latitudin ja longitudin. Käsittääkseni pitämällä anturia riittävän pitkään paikallaan ja laskemalla havainnoista keskiarvo pitäisi paikannuksen tarkkuuden parantua.
Mutta miten laskea saaduista havainnoista lennossa keskiarvo sitä mukaan kun niitä luetaan ja miten laskea samalla tavalla lennossa virhearvio paikannukselle?
Kokeilin tyyliin Keskiarvo = (Edellinen keskiarvo havainto) / 2 mutta tajusin että tällä tavalla uudempien havaintojen painoarvo keskiarvon laskemisessa on paljon suurempi kuin vanhojen havaintojen.
Haluaisin määrittää kiinteän paikan sijainnin mahdollisimman tarkasti gps anturin avulla. Anturista saa kerran sekunnissa ulos latitudin ja longitudin. Käsittääkseni pitämällä anturia riittävän pitkään paikallaan ja laskemalla havainnoista keskiarvo pitäisi paikannuksen tarkkuuden parantua.
Mutta miten laskea saaduista havainnoista lennossa keskiarvo sitä mukaan kun niitä luetaan ja miten laskea samalla tavalla lennossa virhearvio paikannukselle?
Kokeilin tyyliin Keskiarvo = (Edellinen keskiarvo havainto) / 2 mutta tajusin että tällä tavalla uudempien havaintojen painoarvo keskiarvon laskemisessa on paljon suurempi kuin vanhojen havaintojen.
Vastaukset 11
Vanhimmat
Pidä listaa vaikka kymmenestä edellisestä arvosta ja laske niistä keskiarvo jakamalla kymmenellä.
Yksinkertaisesti: laske jatkuvasti havaintoarvojen summaa ja niiden lukumäärää sekä jaa aina edellinen jälkimmäisellä. Tämä edellyttää sen, että summalaskurit voidaan tarvittaessa nollata, kun siirrytään paikasta toiseen. Automaattisen nollauksen voisi laukaista se, että jokin lyhempi keskiarvo muuttuu riittävästi.
Jos haluat hifistellä, tässä menetelmiä joka tarpeeseen:
https://en.wikipedia.org/wiki/Moving_average
Jos+korkeus+on+epäolennainen,+tekisin+niin,+että+merkkaan+ruutupaperille++pisteen+kustakin+havainnosta+pituus-+ja+leveyskoordinaattien+mukaan.++Muutaman+kymmenen+pisteen+joukosta+näkee+jo+silmämääräisestikin+painopisteen+melkoisella+tarkuudella.++Selvät+poikkemat+keskialueesta+kannattaa+jättää+huomiotta.++Näin+menetellen+välttyy+enimmiltä+kynätöiltä.+Jos+välttämättä+laskea+haluaa,+niin+sitten+vain+koordinaatit+paperille,+5+%+ääriarvoistaa+voi+unohtaa+ja+lopuista+keskiarvo.+Tarkistuksen+vuoksi+kannattanee+toistaa+toisena+päivänä+eri+kellonaikaan+ja+verrata+tuloksia,+niin+saa+käsityksen+tarkkuudesta.
Sinun pitää käyttää Kalman filtteriä: https://en.wikipedia.org/wiki/Kalman_filter
"Mutta miten laskea saaduista havainnoista lennossa keskiarvo sitä mukaan kun niitä luetaan "
Ihan tavanomaisesti laskien. Eihän tuossa tarvitse ottaa GPS:ltä luettavissa olevia peräkkäisiä arvoja, riittää lukemat sitä mukaa kun niitä ehtii lukemaan ja merkitsemään muistiin.
Sinä varmaan kirjoitat tietokoneruudultakin sinne näppäimistöllä kirjoittamasi tekstin välillä kynällä ruutuvihkoon?
Tulostin? Mikä se on?
Miksi ne pitäisi tulostaa?? Turhaa paperiroskaa pitäisi tuottaa vai??
Eikö niitä voi lukea näyttöruudusta??
Miksi ne pitää edes lukea?
Raspberry Pi on tietokone, tekee vain ohjelman joka laskee.
Ei tarvitse itse kuin lukea tulos.
Toki sen verran kannattaa koodausvaiheessa ottaa lukuja pihalle, että tarkistaa laskennan toimivan oikein.
Nuo GPS-modulit usein laskee keskiarvoa jo itsessään. Niitä saa ohjattua antamaan keskiarvon esim. 1s, 2s tai 10s välein. Tarkkuus riippuu sitten valitusta jakson pituudesta. Tietysti jos luulee, että itse osaa em. asian tarkemmin laskea, voi pyytää lähettämään vaikka kaikki sijaintiraportit. Noista raporteista mm. näkee, kuinka montaa satelliittia laskennassa on käytetty.
https://en.wikipedia.org/wiki/Time_to_first_fix
Minkälainen GPS-palikka? Antaako pihalle sarjamuotoista NMEA-dataa?
Siitä on jokunen vuosi(kymmen) kun tuon kanssa puljasin, mutta tämän kaltainen se kyllä oli:
https://www.alibaba.com/product-detail/TTL-RS232-optional-VK2828A8G5-ARK-chip_60386375827.html?spm=a2700.7724857.normalList.41.2fe33e69eU8jz4
Tosin karvalakkimalli, ilman mitään liittimiä tai patterivarmennusta. Datana tuli purske, jossa oli muistaakseni kellonaika, koordinaatti halutussa muodossa, jonka saattoi konfiguroida parista vaihtoehdosta ja mm. laskennassa käytetty satelliittien määrä. Oli siinä paljon muutakin, n. 1kt kokoinen halutuin väliajoin. Itse piti ensin asettaa karkea sijainti oikealta pallon osalta, jotta sijaintilasku meni oikein. Koordinaatin sai muistaakseni google-mapsinkin ymmärtämässä muodossa, jolloin pääsi testailemaan modulin tarkkuutta ja kyllä se ihan oikealle hollille tarkentui sijainti.