FlyFreak

RC Modeli => Elektronika i baterije => Topic started by: Luxo on October 23, 2012, 10:41:24 pm

Title: Implementacija Kalman filtera
Post by: Luxo on October 23, 2012, 10:41:24 pm
Evo filmića testiranja Kalman filtera koristeči OpenCV biblioteku (ako nekoga interesira). Filter se koristi kako bi se maknuo šum mjernih uređaja (npr. žiroskopa). Zelena linija reprezentira 2D koordinate miša i to samo poziciju (ako se u algoritam doda brzina miša onda je još preciznije) na koje sam namjerno dodao slućajne brojeve za X i Y os kako bi vidio filter na dijelu. Crvena linija reprezentira filtrirane koordinate. Ovo je rezultat i moram priznati da super radi :).

OpenCV Kalman filtering (http://www.youtube.com/watch?v=bS4r2qwoNWA#)

Sljedeći korak je implementacija na PIC.

poz
Title: Odg: Implementacija Kalman filtera
Post by: Wespen on October 24, 2012, 01:55:50 am
Najs...

se mogu podesavati parametri "zaokruzivanja"?

U cemu to programiras i na sto stavljas?
na neku Atmegicu ili?
Title: Odg: Implementacija Kalman filtera
Post by: Luxo on October 24, 2012, 09:53:56 am
Hej, drago mi je da još nekoga to zanima :)! U Kalmana staviš kaj god hočeš sve dok dobiješ isti rezultat iz različitih mjerenja, npr. ovdje sam ja koristio samo poziciju miša dok sam mogao staviti i njegovu brzinu, a onda još i akceleraciju (sve što mogu izmjeriti ). Ovdje bi pozicija bila prvi stupanj u transicijskoj matrici, brzina drugi, pošto je derivacija pozicije (puta), a akceleracija treći (derivacija brzine). Tako isto kod žiroskopa mogu koristiti kutnu brzinu i akceleraciju sa akcelerometra da bi dobio istu vrijednost kao što je u gornjem primjeru put.

Ovo je prilično dobar blog, ima na netu još toga :):
http://adrianboeing.blogspot.com/2010/05/kalman-filters.html (http://adrianboeing.blogspot.com/2010/05/kalman-filters.html)

http://en.wikipedia.org/wiki/Kalman_filter (http://en.wikipedia.org/wiki/Kalman_filter)

Za jednu dimenziju npr. mjerim poziciju x, to imam odmah, ukoliko imam brzinu miša onda je x također x=Vm*dt, a ako još imam i akceleraciju onda imam i x=1/2*Am*dt^2. Sve to bubneš u transicijsku matricu i što više mjerenja to je preciznija estimacija.

Programiram na PIC-u, ne velim da je bolji, mislim da je ARM cortex bolji i to iz razloga kaj ovi iz microchipa još uvjek nisu omogućili C++ compiler što mi onemogućava korištenje brdo biblioteka... sranje.
Title: Odg: Implementacija Kalman filtera
Post by: Shimpa on October 24, 2012, 10:04:36 am
super stvar, svaka čast, bum te cimnuo ovih dana da dodjem vidit, nikak do sad nisam stigo.
Title: Odg: Implementacija Kalman filtera
Post by: Vedran-Ri on October 24, 2012, 11:49:15 am
Frende ovo je za mene znanstvena fantastika :D
Title: Odg: Implementacija Kalman filtera
Post by: Luxo on October 24, 2012, 11:50:49 am
Frende ovo je za mene znanstvena fantastika :D

Vjeruj mi, da te zanima kako i helići i da si u tome, riječ "fantastika" bi isparila ;).

Poz
Title: Odg: Implementacija Kalman filtera
Post by: Vedran-Ri on October 24, 2012, 02:40:17 pm
Frende ovo je za mene znanstvena fantastika :D

Vjeruj mi, da te zanima kako i helići i da si u tome, riječ "fantastika" bi isparila ;).

Poz
vjerujem ti ali svaka ti cast sumnjam da bi do tuda dosao  :)
Title: Odg: Implementacija Kalman filtera
Post by: ficho on November 02, 2012, 01:43:56 am
Ajde konacno nesto stvarno zanimljivo :D

Kemijam nekakav gimbal kontroler(ako ne prije kad odem u penziju ;)) pa reko da i ovo probam
Kalman filter (http://www.youtube.com/watch?v=vDML3Smt3yE#)

senzor je 'analogni' iz hk401 ziroskopa sa taman suma za filter isprobavat.
Title: Odg: Implementacija Kalman filtera
Post by: Luxo on November 02, 2012, 07:15:11 pm
Super, Ficho, vidim Arduino dole, koji je to?
Title: Odg: Implementacija Kalman filtera
Post by: ficho on November 03, 2012, 02:08:01 pm
je, uno kineski sa hka, sa svih svojih 8 bita :D