EKF'yi görselleştirme ve hata ayıklama


22

Şu anda bir EKF'nin (Extended Kalman Filter) hata ayıklaması ve ayarlanması. Görevi, klasik mobil robot pozlarının yer işaretlerinin AR işaretleri olduğu yerlerde izlenmesidir.

Bazen bazı ölçümlerin tahminin nasıl etkilendiğine şaşırdım. İlgili sayıları ve matrisleri incelediğimde ve hesapladığımda, güncelleme adımının nasıl yürüdüğünü, tam olarak ne olduğunu ve neden olduğunu anlayabiliyorum, ancak bu çok sıkıcı.

Öyleyse, EKF güncelleme aşamasında neler olup bittiğini daha iyi anlayabilmeniz için bazı teknik, hile veya zekice bir görselleştirme kullanan var mı?

GÜNCELLEME # 1 (daha spesifik olacak ve aklımda olanların ilk yaklaşımını gösterecek)

Aradığım şey, bir güncelleme adımını bana, ölçümün her bir bileşeninin durumun her bir bileşenini nasıl etkilediğine dair bir fikir verecek şekilde görselleştirmenin bir yoludur.

Benim ilk fikrim ölçümü ölçmek ve K matrisinden alınan bazı vektörlerle birlikte tahminidir. K vektörleri, inovasyon vektörünün (ölçüm - ölçüm tahmini, çizilmemiş) durumun her bir bileşenini nasıl etkileyeceğini temsil eder.

Şu anda durumun 2B poz olduğu (x, y, açı) ve ölçümlerin 2B poz olduğu EKF ile çalışıyorum.

Güncelleme adımının arsa

Ekteki resimde (tam çözünürlükte görmek için yeni sayfa / sekmede açın), (ölçeklendirilmiş) vektör K (1,1: 2) (3x3 matristen bir alt matriks almak için MATLAB sözdizimi) ilkinin nasıl olduğu hakkında bir fikir vermelidir. EKF devletinin bileşeni şu andaki yenilik vektörüyle değişecek, K (2,1: 2), EKF'nin ikinci bileşeninin nasıl değişeceği vs. ile değişecektir. vektör K (2,1: 2) - durumun ikinci bileşeni (y koordinatı) en çok değişecek.

Bu çizimdeki bir problem, inovasyon vektörünün üçüncü bileşeninin (açısının) durumu nasıl etkilediği hakkında bir fikir vermemesidir. Devletin ilk bileşeni, K (1: 1: 2) 'nin gösterdiğinin aksine biraz artar - inovasyonun üçüncü bileşeni buna neden olur, ancak şu anda bunu görselleştiremiyorum.

İlk gelişme, yeniliğin üçüncü bileşeninin devleti nasıl etkilediğini görselleştirmek olacaktır. O zaman K matrisinin nasıl oluşturulduğunu hissetmek için kovaryans verileri eklemek iyi olurdu.

GÜNCELLEME # 2 Şimdi, çizimde her ölçüm bileşeninin pozisyonu nasıl değiştirdiğini gösteren durum uzayda vektörler var. Bu arsadan, ölçümün üçüncü bileşeninin durumu en çok değiştirdiğini görebiliyorum.

Ölçümün her bir bileşenine karşılık gelen vektörleri durum uzayına ekledi


EKF'i Gazebo Verisi üzerinden simüle etmeye çalışabilirsiniz.
Naresh

@Ian güncellemesi için teşekkürler ve özür dilerim bu beni çok uzun zaman aldı. * 8 ')
Mark Booth

Yanıtlar:


4

Ölçümlerin etkisini (benim için) görselleştirmenin çok bilgilendirici bir yolu, her ölçümden önce ve sonra robotun durumunu (ortalama, kovaryans elipsiyle) çizmektir. Ardından, ölçümün münferit bileşenlerini alın (yatak, AR markörlerin menzili) ve bunu hissetmek için ayrı ayrı uygulayın.

Bunu yapmak için:

bir,bθ[0,2π]

r(θ)=birbbmarul2θ+birgünah2θ

Önceki hipotezin, ölçülen durumun ve arka hipotezin kovaryansının izlenmesi genellikle bir EKF denklemlerinin doğru uygulanıp uygulanmadığını bulmak için yeterlidir.

İyi şanslar ve sorunuzu çok sık güncellemeyin. Bunun yerine, yeni sorularla geri dönün.


0

Sık sık yapılan bir şey, durum değişkenlerini zaman içinde ve 3-sigma aralıklarında göstermek. Bu aralığın küçüleceği noktalar, söz konusu ölçümlerin kaynağını açıklayabileceğiniz güncellemelerdir.

Uygulamada kontrol edilmesi gereken hataların yanı sıra (yalnızca yanlış denklemler değil, aynı zamanda sayısal olarak dengesiz denklemler de değil), güncellemelerin etkisi yalnızca "beklenen" ve "ölçülen" ile ilgili belirsizlikler arasındaki farktan doğrudan etkilenir. Bu yüzden, ilk dengedeki zamanın ilerlemesi açısından bu dengeyi görselleştirmenin bir yolunu bulmakla ilgilenebilirsiniz.

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.