Neden bir Kalman filtresine ihtiyacım var?


61

Birkaç çeşit sensör içerecek bir insansız hava aracı tasarlıyorum:

  • 3 eksenli ivmeölçer
  • 3 eksenli jiroskop
  • 3 eksenli manyetometre
  • ufuk sensörü
  • Küresel Konumlama Sistemi
  • aşağı bakacak şekilde ultrason.

Bir arkadaşım bana tüm bu sensör verilerini bir Kalman filtresiyle koymam gerektiğini söyledi, ama nedenini anlamıyorum. Neden bunu doğrudan mikro denetleyicime koyamıyorum? Kalman filtresi, sensör verilerim hakkında bana nasıl yardımcı olur?

Yanıtlar:


52

Sen do bir mikrodenetleyici doğrudan tüm bu sensörleri bağlayın. Kalman filtresi, sensörler ve mikrodenetleyici arasında geçen LRC filtresi gibi elektronik bir filtre değildir. Kalman filtresi, mikrodenetleyicinin içinde yazılım rutini olarak uygulanan matematiksel bir filtredir.

Listelenen sensörler, her güncellediklerinde mikrodenetleyiciye 14 veya 15 ham sayı verir.

Küçük bir uçağı uçtuğum zaman, gerçekten bilmek istediğim konumu ve yönü ve yerin ne kadar üstünde olduğu - 7 sayı.

Bana bu 7 rakamı veren bir şeye ihtiyacım var .

İdeal olarak, kontrol döngüm boyunca her seferinde bu 7 sayı için yeni bir tahmin istiyorum. Ucuz GPS'imden aldığım saniyede bir güncellemeler neredeyse yeterince hızlı değil. ( Quadcopter çıkış-duyu-hesapla-çıkış-güncelleme güncelleme döngümün hangi sıklıkta sabit kalması gerekiyor? Bana saniyede 50 kez bile yeteri kadar hızlı olmayacağını söylüyorlar).

Bir şekilde, sahip olduğum 14 veya 15 ham sayıyı, bazıları sadece ara sıra güncellenen, gerçekte istediğim 7 sayıya (tahminlerine) düşürmek zorunda kalacağım.

Josh'un belirttiği gibi, bu ham sayıları kullanılabilir verilere dönüştürmenin birçok geçici yolu vardır. 15 sayıyı 7 sayıya dönüştüren herhangi bir rutin "filtre" olarak tanımlanabilir.

Sen yok olması , optimum filtre kullanmak için. Fakat bir çeşit filtre kullanacaksınız - yani sahip olduğunuz 15 sayıdaki ham veriden gerçekten istediğiniz 7 sayıya (tahminler) dönüşen bir şey.

Kalman Filtresi bazı koşullarda, ise, "Optimum" filtresi, gerçekten istediğim 7 sayılar içine ham veriyi dönüştürerek en iyi yolu.

Başka birinin yazdığı ve ayıkladığı bir Kalman filtresi kullanmak, sıfırdan başka bir filtre yazmaktan, hata ayıklamaktan ve kullanılabilir hale gelene kadar malzeme eklemeye devam etmekten daha az çalışmanız gerekebilir. kaçınılmaz olarak alt-optimum olduğu ortaya çıktı.


28

Kısa, snide cevap "olmadan bir deneyin" dir. En iyi cevap bir örnektir: Hızölçerleriniz dikeyden 10 derece olduğunuzu söylediğinde, ancak jironuz dikeyden uzağa dönmediğinizi söylüyor ve manyetometreleriniz kuzeyden 30 derecelik bir ofset rapor ediyor ama jiroskopunuz 32 derece diyor. Geçerli başlık ve eğim nedir?

Muhtemelen bir örnekte çalışıyor gibi görünen, ancak diğerlerinde başarısız olan milyonlarca geçici yöntemle karşılaşacaksınız. Kalman Filtresi (bu görev için Genişletilmiş Kalman Filtresi (EKF)!) Bu soruları cevaplamanız için size sağlam bir yol sağlayacaktır. EKF sicili çok iyi olmasına rağmen - - cevapların kalitesi halen araştırılmaktadır ama en azından herkes cevaplar neyi kabul edecektir vardır .


1
Tam olarak aradığım cevap. "Kalman Filter kullanmazsam ne olur". Teşekkürler!
Manav Kataria

22

Sensör verileri gürültülü. Filtrelemezseniz, en azından uçabilecek kadar dengeli olsaydı, en azından aracınız kararsız davranırdı. Bir Kalman filtresiyle veya başka şekilde filtrelemek, doğru yapıldığında gürültüyü azaltabilir ve böylece kararlılığı artırabilir.

Bir Kalman filtresi , özellikle güçlü bir filtredir. Hem sistem hem de sensörleriniz için sistemin bir modelini ve gürültü modellerini alır. Daha sonra, sağlanan bir durum tahminine ve herhangi bir zamanda uygulanan kontrollere dayanarak aracın durumunu tahmin eder. Bu tahmini durum, sensörlerin bildirdiğinden daha doğru olacaktır.


8

Partikül filtrelerini de kullanabilirsiniz. Partikül Filtrelerine temel giriş için Professor Thrun'un Robotik Bir Araba Programlama'daki videolarına bir göz atabilirsiniz.

http://www.youtube.com/watch?v=H0G1yslM5rc

http://www.youtube.com/watch?v=QgOUu2sUDzg

Parçacık filtreleri daha sağlamdır ve bir EKF uygulanırken ortaya çıkan ilmek kapatma hatasının çok daha düşük bir olasılığına sahiptir.

Videolar, bir partikül filtresinin çalışmasını açıklar.


Genellikle, bir linkten fazlasını içermeyen cevaplar tercih edilmez. Videonun
özüne

kendin için konuş. Başka bir bağlantıdaki bilgiyi yeniden yazarak çok az kazanç görüyorum. Bağlantı farkında olmadığım bilgileri içerebilir ve birisinin beni haberdar etmek için tekrar yazmasına gerek yoktur. Kolayca tıklayabilir ve okuyabilirim, teşekkür ederim.
Çivili3

8

Bir Kalman Filtresi, İHA'ların konumu ve / veya yöneliminin "optimal" bir tahminini sağlamak için çoklu sensör ölçümlerini birbirine bağlamak için İHA'larda yaygın olarak kullanılan bir algoritmadır. Örneğin, bir Kalman Filtresi İHA'nın esnemesi, eğimi ve yuvarlamasını tahmin etmek için hız tahmini ile hızölçer, jiroskop ve manyetometre ölçümlerini birleştirebilir.

İHA durumu tahmininde kullanılan sensörler ve algoritmalar hakkında daha fazla bilgi için, Küçük İnsansız Uçak Uçuşunun Temelleri başlıklı makaleyi deneyin .

Bu makale ayrıca, açıklanan Kalman Filter UAV durum tahmin algoritmalarını uygulayan eşlik eden Matlab koduyla da bağlantılıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.