Kalman filtresi

Başlatan robomaster, 15 Aralık 2014, 19:57:04

robomaster

Arkadaşlar biraz şu kalman fitresi ile uğraştım. Mantığı konusunda sıkıntı yok.
Ancak bir şey aklıma takıldı.

Yapılan ölçüme göre bir kalman çıktısı hesaplarken (o ölçüm için)  sadece bir önceki kalman çıktısından mı faydalanıyoruz yoksa geriye dönük bilmem adet çıktıdan mı istifade ediyoruz ? (Yani işimiz hep bir önceki ile mi?)

Ayrıca kalman filtresine ait bir kaç farklı yöntem geliştirilmiş, onları da yavaş yavaş tartışabiliriz.

remzi

Bende merak ediyorum nedir bu kalman filtresi?

robomaster

#2
Alıntı yapılan: remzi - 15 Aralık 2014, 20:52:03
Bende merak ediyorum nedir bu kalman filtresi?

Kendi soruma cevap almadan sizinkini cevaplayayım.

Alıntı :
Kullanim amaci o ana kadar gelen bir dizinin kendisinden sonra gelecek elemanini tahmin etme uzerine olan algoritmadir. step step tahminlerini yapar, olcum degerleriyle bunlari karsilastirip estimation icin fine tuningisini yapar, kendini adapte eder ve bir sonraki dizi elemanini tahmin eder. eldeki mevcut eleman sayisi arttikca kesinlik artar.


BENDEN NOT  : Parazit ve anlık sıçramaların önüne geçer. Ölçme hatalarını azaltır.

Yapılan ölçüme göre bir kalman çıktısı hesaplarken (o ölçüm için)  sadece bir önceki kalman çıktısından mı faydalanıyoruz yoksa geriye dönük bilmem adet çıktıdan mı istifade ediyoruz ? (Yani işimiz hep bir önceki ile mi?)

zengdai

Evet dostum. zaten kalmanı böyle ön plana çıkaran bu özelliğidir yani geçmişte bıraktığın bi ton sonucu tekrar hesaplamaya katmıyorsun.

robomaster

Demek sadece bir önceki durum sadece, güzelmiş ...

O zaman şu konuda :
1.Basit kalman filtresi                    (Sanırım çoğu bahis bu konuda)
2.Artırılmış durum kalman filtresi
3.İki aşamalı kalman filtresi
4. Uyarlı iki aşamalı kalman filtresi ( En iyi sonucu veren)

Bunlar arsasındaki farkı bilen arkadaşımız var mı? Uygulamada (kodlamada) ne gibi farklılıkları var?

zengdai

bunların ingilizce isimleri nasıl geçiyor?

berat23

#6
bu aslında modelle alakalı. tam olarak bir öncesi değil, ama gçmişe çokbağlı da değil.

diyelim pozisyon estimate edeceksiniz. sadece pozisyonu state olarak alırsan önceki pozisyona göre bir estimate yapıp correct edersin. eğer modelde hız varsa bir adım geri gider, ivme varsa daha geri gider, gibi. zaten kalman sistem modeli ile doğrudan ilişkili. çok ileri sistemlerde 54 state'li kalman filter'lar gördüm. tabi bu anlattığım sistemin output'u birden fazla.


edit: eldeki eleman arttıkça keskinliğin artması meselesi önceki anlattıklarıla tam alakalı değil. cov. matrix sürekli update edildiği için geçmişten gelen bir tecrübesi oluyor. ben kalmanı adam gibi öğrenmeden önce rls-lms öğrenmiştim, orda daha anlaşılır bu konu.

robomaster

Alıntı yapılan: berat23 - 16 Aralık 2014, 17:49:34
çok ileri sistemlerde 54 state'li kalman filter'lar gördüm.
ben kalmanı adam gibi öğrenmeden önce rls-lms öğrenmiştim, orda daha anlaşılır bu konu.


rls = recursive least square (özyinelemeli enküçük kareler)
lms = least mean square (en küçük ortalamalı kareler)

Bunları ne için kullandınız ?  Onu da belirtin lütfen.

54 state dedğiniz geriye dönük 54 Xk (kalman çıktısından mı bahsediyorsunuz)
Eğer öyle ise bunun algoritması farklı olmalı. Bir fikriniz var mı?

Alıntı yapılan: zengdai - 16 Aralık 2014, 13:56:45
bunların ingilizce isimleri nasıl geçiyor?

Simple Kalman Filter
Steady State Kalman Filter (Bundan emin değilim, eğer yanlışsa bilen düzeltsin lütfen)
Adaptive Kalman Filter
Adaptive Two Stage Kalman Filter

berat23

lms,en ilkel recursive adaptive filter yapısı. ufak araştırmalarla tonla örnek bulabilirsiniz(digital communication'dan tut klasik örnek adaptive noise cancelling'e kadar). rls-kalman ise filtrenin nasıl tune ettiğini anlamaya yardımcı olur. bunlar işin matematiği. olasılık bilmeden, cov., bayes bilemeden kalman öğrenilmez, ancak ezbere uygulanır. recursive yapıları anlamak önemli. zaten gürültüdediğimizşey sabit deterministic birşey olsa standart fir-iir basar geçerdik.

54 state nedir sorusunun cevabı state space representation'dan geçiyor, yani x 54 elemanlı. bu bahsettiğim sistem bir ins. doğrusu 54 state nedir kesin bilmiyorum, bilsemde muhtemelen anlatmam. 54 adet state olması aslında sistemin karmaşıklığından geliyor, yani belirli kaynaklar belirli durumlarda iyi ve bunların güvenilirliklerine göre fuse edilmesi gerekiyor ki kalman da tam olarak bunu yapıyor.

böyle kalman gibi konular ciddi matematik altyapı gerektiren konulardır, böyle hap - şurup tarzı anlatımları olması pek mümkün değil, ya da ben görmedim-bilmiyorum.

mufitsozen

Alıntı yapılan: berat23 - 16 Aralık 2014, 19:07:54

böyle kalman gibi konular ciddi matematik altyapı gerektiren konulardır, böyle hap - şurup tarzı anlatımları olması pek mümkün değil, ya da ben görmedim-bilmiyorum.
Yaa hocam niye moralimizi bozuuyoonn yaa! Hadi hap-surup olmasinda belki damardan asisi filan yokmudur acaba? :P

Belki kataterle damara infuzyon yada telepati ile uzaktan beyne nakil filan!

Bunlari bilse bilse gerbay bilir ama onunda dilini gus kapmis galiba!

Yani ooole derin matematik, kitap oku, ornek yap anla filan bize gelmez! racona aykiri, karizmayi cizer. Hem benim (bizim) vaktimiz yok, bu konuda 18 gun tartisiriz ama hep ogrenmek icin 2 saatte olsun isteriz (valla!)
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

robomaster

#10
Alıntı yapılan: berat23 - 16 Aralık 2014, 19:07:54
bilsemde muhtemelen anlatmam.
Ben bilsem anlatırım çünkü kendimi öyle daha mutlu hissediyorum. Anlatmak istemeyene de saygımız var insan olmasından ötürü.

Alıntı yapılan: berat23 - 16 Aralık 2014, 19:07:54
böyle kalman gibi konular ciddi matematik altyapı gerektiren konulardır, böyle hap - şurup tarzı anlatımları olması pek mümkün değil,
Bizim gayri ciddi olduğumuzu nereden çıkardınız. Ben kendi adıma üniversitede yüksek matematik dersi gördüm ( gerçi çok yıl oldu ama). Ama sorun o zaman  teorinin uygulama ile pekiştirilmemesi veya yerleştirilmemesi idi. Düzgün anlatan biri oldumu o bağı kurmak mesele olmasa gerek.

Alıntı yapılan: berat23 - 16 Aralık 2014, 19:07:54
ya da ben görmedim-bilmiyorum.
Dünya sizin gördüklerinizden ibaret değil.

Sonuç : Uslubunuzu beğenmedim. Yardımcı olmak niyetinde iseniz, iyi niyetinizi gösteriniz. Yoksa moral bozmaya çalışmayalım lütfen.
Polemiğe gerek yok, bilim yapalım hocam.

muhittin_kaplan


robomaster

#12
Evet muhittin hocam. Forumdaki daha önceki yazılarından okudum.  Bir hesaplama uygulaması da yaptım. Sadece konuyu derinleştirmeye çalışıyorum.

Özellikle adaptive two stage kalman filter hakkında bir yorum var mı onu merak etttim.  Acaba basit kalman filtresinden ne gibi farkı var onu merak ediyorum.

Ha hocam aklıma gelmişken, Kalman da örnekleme aralıkları PID deki gibi eşit olmak zorunda di mi?

Ayrıca başlangıç değerlerini (set değeri) biz vermek zorundayız di mi?

berat23

Alıntı yapılan: mufitsozen - 16 Aralık 2014, 21:20:48
Yaa hocam niye moralimizi bozuuyoonn yaa! Hadi hap-surup olmasinda belki damardan asisi filan yokmudur acaba? :P

Belki kataterle damara infuzyon yada telepati ile uzaktan beyne nakil filan!

Bunlari bilse bilse gerbay bilir ama onunda dilini gus kapmis galiba!

Yani ooole derin matematik, kitap oku, ornek yap anla filan bize gelmez! racona aykiri, karizmayi cizer. Hem benim (bizim) vaktimiz yok, bu konuda 18 gun tartisiriz ama hep ogrenmek icin 2 saatte olsun isteriz (valla!)


hocam forumda yegane aşıcımız gerbay hocam, onu yapsa yapsa ancak o yapabilir :)

Alıntı yapılan: robomaster - 16 Aralık 2014, 22:27:24
Ben bilsem anlatırım çünkü kendimi öyle daha mutlu hissediyorum. Anlatmak istemeyene de saygımız var insan olmasından ötürü.

onbinlerce dolarlık üzerinde onlarca patent bulunan stratejik cihazların takdir edersinizki nasıl çalıştığı migrosta satılan secret kitabında yazmıyor. bunu yapan abilerde secret diye bir kitap yazıp pdf'ini foruma yüklemez hehalde. yani bu konuda alınganlığın luzumu yok. aslında hata bende ki verdiğim örnek çok uçta kaldı. pozisyon için hız ve ivme state'leri aslında yeterli ornekti.

benim anlam dünyamda yardım demek yekten soru sormak demek değil, soru ya bir sorunu çözer ya da yön verir. mesela dediğim gibi önce bir sistem state space olarak nasıl modellenir iyicekavrasanız, üzerine çok değişkenli olasılık bilgisi, biraz adaptiffiltre derken kalman böylegelir. ben çalıştığımalanda tonla paper-tez-makale okudumki konuyu anlayayımdiye. artık bu alanda ne var ne yok ya da kim kimden çalmış, hangisi gerçek hangisi sabun biliyorum. yani öylekolay değil bazı konular. ayrıca kalman bencemüstesna bir konu, şöyle ki; basit aramalarla tonla kaynağa ulaşmak mümkün fakat bunların çoğu meseleyi anlatmaz, bazıları copy paste dir, bazıları arada sabun yapar vs. yani müthiş bir bilgi kirliliği olan bir konu. temeliniz varsa aradan ayıklarsınız. çoğu insan kalmandan anladığını sanar fakat aslında bu işten anlayan gerçekten çokçok az adam var. mesela ben lisanstayken bildiğimi sanırdım yıllar içindehiçbirşey bilmediğimi öğrendim.


mesajı yazarken sorular gelmiş, bazılarına cevap vereyim;

mesela state space konusunda bilginiz olsaydı örnekleme ile ilgili soru sormazdınız(bkz:a matrisi). başlangıç değerinde ise evet biz state veriyoruz ama zaten doğası gereği bir süre sonra olması gereken değere oturur, model ve measurement noise ise; model ampirik olarak bulunabilir, measurement zaten sensor noise'dur

robomaster

#14
Hocam. Yazdıklarını  tamamını okuma zahmetine katlanmadım.
Kusura bakma. Lütfen varsa somut bir şey onları anlat.
Rica edicem...