Kiihtyvyyssensorin virhe

Seuraa 
Viestejä45973
Liittynyt3.9.2015

Terve,

Olisikos jollakulla heittä hyvää algoritmia ja kaavaa nopeuden laskemiseksi suoraan x,y,z kiihtyvyyssensorin datasta ?

Ongelma siinä on se bias error (zero offset), joka sitten integroituu virheenä tulokseen. Kappaleesta ei myöskään saada "trigattua" mitään muuta matka tai aikatietoa itse korjauslaskelmaan. Eli korjaus on tehtävä suodattamalla signaalia reaaliajassa.

Miten sitä bias virhettä kannattais suodattaa pois ?

Kalman filtteristä olen kuullut, mut voisitteko kertoa miten se nyt käytännössä toimii. Tai onko tiedossa jotain linkkiä, missä tuon filtterin toiminta/implementointi olisi selostettu hieman yksinkertaisemmin

Kommentit (7)

Vierailija

Onko mahdollista todeta, milloin nopeus on nolla. Integraattori ilmaisee silloin kiihtyvyyssensorin virheen nopeusvirheenä.

Vierailija

Nollatasot kyllä saa selville, kun jokainen sensori kalibroidaan. Tämä on varmaan se helpoin tapa lähestyä ongelmaa.

Eli laitetaan sensori "lepoasentoon", kaapataan datat ja etsitään niistä high, low arvot. Siinähän se periaatteessa on.

Tässä käytetään 12bitin sensoria, joten zero offset teoria arvo olisi siinä 2048

Vaikka sensori olisi nyt kalibroitu, niin seuraava ongelma on sitten lämpötila kohina. Sensori kun on sen verran karvalakkimalli, ettei siinä ole automaattista lämpötilakompensaatiota mukana.

kyllä tähän varmaan on olemassa jonkinlainen näppärä suodin ratkaisu, jolla voidaan välttää bias ja lämpötilavirheet

Vierailija

Luoti menee melko suoraan, koska rihlat antaa sille nopean pyörimisliikkeen.

Vaikeaa ehdotella mitään konsteja, kun ei tiedä laitteesta enempää. Onko gps-yhteyttä, onko horisontti tai tähdet näkyvissä (IR-justeeraus, esim raketit), saadaanko suuntaa esim Yleisradion lähetteiden doppler-taajuuksista, onko kotelo ei-ferriittistä metallia eli toimiiko elektroninen kompassi

Vierailija

Ulkopuolelta saadaan vain zigbee verkon signalointia. Se olisi yksi keino saada mukaan se korjausparametri.

muuten kappale on täysin itsenäinen. Sinne ei mahdu muita komponentteja kuin prosari, sensori ja zigbee

miten toi kalman filtteri voisi tähän soveltua ?

Stratonovich
Seuraa 
Viestejä358
Liittynyt14.6.2009
softbuster
Terve,

Olisikos jollakulla heittä hyvää algoritmia ja kaavaa nopeuden laskemiseksi suoraan x,y,z kiihtyvyyssensorin datasta ?

Ongelma siinä on se bias error (zero offset), joka sitten integroituu virheenä tulokseen. Kappaleesta ei myöskään saada "trigattua" mitään muuta matka tai aikatietoa itse korjauslaskelmaan. Eli korjaus on tehtävä suodattamalla signaalia reaaliajassa.

Miten sitä bias virhettä kannattais suodattaa pois ?

Kalman filtteristä olen kuullut, mut voisitteko kertoa miten se nyt käytännössä toimii. Tai onko tiedossa jotain linkkiä, missä tuon filtterin toiminta/implementointi olisi selostettu hieman yksinkertaisemmin


Kalmanin suodatin taitaa olla se perinteinen ratkaisu, mutta ei sillä nyt ihan tuosta vaan tuntematonta biasta voi suodattaa pois vaan siihen tarvitaan joku referenssimittaus. Yksi tapa tehdä referenssimittaus on odottaa, että anturi pysähtyy ja käyttää sitten referenssimittauksena gravitaatiokiihtyvyyttä. Kalmanin suodattimen tai vastaavan ad hoc -menetelmän idea lienee yleensä jotain tämänkaltaista (yksinkertaistettuna):

1. Mitataan referenssimittaus, jolla estimoidaan anturien bias.
2. Integroidaan kiihtyvyysarvoista nopeus sillä tavalla, että tunnettu bias vähennetään mittauksista.

Kohdat 1 ja 2 suoritetaan aina kun joko referenssi- tai kiihtyvyysmittaus saadaan. Pistämällä "kalman filter" googleen löydät wikisivun, jonka alareunasta löytänet kirjallisuutta joita voi käydä hakemassa sopivasta yliopiston kirjastosta. Se on siis algoritmi, jolla tuo mittausten ja biaksien kompensointi voidaan tehdä pienimmän neliösumman mielessä optimaalisesti.

Vierailija
1. Mitataan referenssimittaus, jolla estimoidaan anturien bias.
2. Integroidaan kiihtyvyysarvoista nopeus sillä tavalla, että tunnettu bias vähennetään mittauksista.




Tuo mainitsemasi menetelmä on yksi hyvä vaihtoehto

Tiedätkö onko muita vastaavanlaisia filttereitä olemassa tällaiseen sovellukseen ?

Tarkoitus olisi löytää nopea, tehokas ja kohtuu tarkka filtteri.

Kalman filtteri varmaankin on hyvä, mutta googletus tuottaa läjän tietoa joka kertoo filtterin syvällisestä sielunelämästä. Mulle riittäis vaan pseudokielinen malli, jossa on inputit ja outputit.

Stratonovich
Seuraa 
Viestejä358
Liittynyt14.6.2009
softbuster
1. Mitataan referenssimittaus, jolla estimoidaan anturien bias.
2. Integroidaan kiihtyvyysarvoista nopeus sillä tavalla, että tunnettu bias vähennetään mittauksista.




Tuo mainitsemasi menetelmä on yksi hyvä vaihtoehto

Tiedätkö onko muita vastaavanlaisia filttereitä olemassa tällaiseen sovellukseen ?

Tarkoitus olisi löytää nopea, tehokas ja kohtuu tarkka filtteri.

Kalman filtteri varmaankin on hyvä, mutta googletus tuottaa läjän tietoa joka kertoo filtterin syvällisestä sielunelämästä. Mulle riittäis vaan pseudokielinen malli, jossa on inputit ja outputit.


Itse asiassa Kalman-filtteri ei ole ollenkaan "filtteri" vaan matemaattinen viitekehys, jonka avulla voidaan johtaa pienimmän neliösumman estimointialgoritmeja tuon kaltaisiin ongelmiin. Ensimmäinen askel on kirjoittaa estimointiongelma matemaattisessa muodossa (tila-avarusmallina) ja sen jälkeen Kalmanin suodattimen yhtälöt antavat pienimmän neliösumman ratkaisun eli sen input-output algoritmin joka on optimaalinen. Siis koko ongelma on ratkaistu periaatteessa heti kun olet saanut matemaattisen mallin kirjoitettua paperille. Loppu on matriisilaskentaa.

Voit koittaa oikaista etsimällä jostain jonkun muun tekemän matemaattisen formulaation tuolle nimenomaiselle estimointiongelmalle sekä vastaavan Kalmanin suodattimen. Tämä lopullinen algoritmi on juuri tuollainen input-output systeemi mitä kaipaat. Tätä filtteriä voidaan sitten yksinkertaistaa, jolloin saadaan erilaisia Wiener-suodattimia, alfa-beta-suodattimia ynnä muita, mutta samaan asiaan nämäkin perustuvat. Mutta epäilen vahvasti löydätkö tuollaista valmista reseptiä mistään. Suosittelen kirjastossa vierailemista ja pientä itseopiskelua.

Uusimmat

Suosituimmat