Contents — find the section you need

Bir robot nadiren ihtiyaç duyduğu durumu doğrudan okur. Bir kodlayıcı pozisyonu gösterebilir ancak hızı göstermeyebilir; bir IMU ivmeyi ve açısal hızı sapmayla bildirir; kamera konumlandırması geç gelir veya kaybolur. Bir durum gözlemcisi, gizli durumu tahmin etmek için bir tesis modeli ve tahmin edilen ve ölçülen çıktı arasındaki farkı kullanır. Doğrusal Kalman filtresi (KF), hata kovaryansını taşıyan ve tahmine mi yoksa ölçüme mi ne kadar güvenileceğine karar vermek için varsayılan işlem ve ölçüm gürültüsünü kullanan standart gözlemcidir.

Temel fikir "sensörlerin ortalamasını almak" değildir. Bir verinin hangi fiziksel zamanı temsil ettiğini, hangi hata modelinin varsayıldığını ve sensörler uyuşmadığında ne olduğunu belirtmektir. Kesinlikle yanlış olan bir tahminci, PID, LQR ve MPC'yi yanlış yere yönlendirir. ROS 2 zamanlama ve yürütme sınırları için ROS 2 Primer okuyun; daha geniş sensör entegrasyonu için Sensor Fusion Primer okuyun.

Pratik Sonuç

  • Bir gözlemci, model tahmini ve yeniliğinden \hat{x} değerini günceller. Gözlemlenemeyen bir durum, yalnızca daha akıllı bir filtre seçilerek benzersiz bir şekilde yeniden oluşturulamaz.

  • KF, durum hatası kovaryansını P taşır ve Kalman kazancını K hesaplamak için işlem kovaryansını Q ve ölçüm kovaryansını R kullanır.

  • Q,R, model ve sensör hataları hakkındaki varsayımlardır, keyfi "doğruluk ayarları" değildir. Bunları yenilikler, kovaryans, zaman damgaları ve arıza verileriyle doğrulayın.

  • Bir tahmin eski ise, kovaryans aşırı ise, yenilik anormal ise veya dönüşümler başarısız olursa, bozulmuş bir durumu kontrole iletin ve tehlikeye göre hareketi azaltın veya durdurun.

Durum uzayı gözlemcisi ve gözlemlenebilirlik

Ayrık doğrusal bir sistem için,

x_{k+1}=A_dx_k+B_du_k+w_k,\qquad z_k=Cx_k+v_k

x gerçek durumu, u bilinen girişi, z ölçümü, w işlem bozulmasını ve v ölçüm gürültüsünü temsil eder. Bir Luenberger gözlemcisi şu forma sahiptir:

\hat{x}_{k+1}=A_d\hat{x}_k+B_du_k+L(z_k-C\hat{x}_k)

Son terim yeniliktir. Yüksek bir gözlemci kazancı L ölçümü hızlı bir şekilde takip eder ancak daha fazla gürültü iletir; düşük bir L modele daha uzun süre güvenir ancak bozulmaları yavaşça düzeltir.

Diagram 1 · Use the button to switch views
Kalman filter predict-update loopThe preceding estimate and covariance are predicted by a model, then corrected from sensor innovation and covariance before being supplied to a controller.prior x̂ₖ₋₁, Pₖ₋₁state and uncertaintypredictA, B, Q → x̂⁻, P⁻updateinnovation, K, R → x̂⁺, P⁺measurement zₖIMU / encoder / cameracontrollerLQR/MPC/PID

Diyagram: Duskcoil, ölçülmüş olmaktan ziyade kavramsal. Tahmin ve kovaryans İç model nicelikleridir, doğrudan sensör gözlemleri değildir.

Gözlemlenebilirlik matrisi \mathcal O=[C^T,(CA)^T,\ldots]^T, ideal doğrusal durumda her durumu yeniden oluşturmak için tam sıralı olmalıdır. Çift entegratörün yalnızca konum ölçümleri, hızı zaman geçmişi boyunca gözlemlenebilir hale getirebilir, ancak örnekleme hızı, niceleme, gecikme ve kayıp, elde edilen tahminin yararlı olup olmadığını belirler. "Gözlemlenebilir", maksimum gecikme ve doğruluk gereksiniminin yerini tutmaz.

Kalman tahmini ve güncellemesi

Sıfır ortalamalı beyaz Gauss w\sim\mathcal N(0,Q) ve v\sim\mathcal N(0,R) varsayımı altında, önsel şöyledir:

\hat{x}_k^-=A_d\hat{x}_{k-1}^++B_du_{k-1},\qquad P_k^-=A_dP_{k-1}^+A_d^T+Q

P, durumun varyansı değil, tahmin hatasının belirsizliğidir. Ölçüm kesintisi sırasında, model yayılımı normalde P^-'in Q'ye kadar büyümesine neden olur.

Gelen bir ölçüm için, yeniliği hesaplayın. \nu_k=z_k-C\hat{x}_k^- ve kovaryansı

S_k=CP_k^-C^T+R

ardından şu şekilde güncelleyin:

K_k=P_k^-C^TS_k^{-1},\qquad \hat{x}_k^+=\hat{x}_k^-+K_k\nu_k,

P_k^+=(I-K_kC)P_k^-

Sonlu hassasiyet, P'nin simetrisini veya pozitif yarı kesinliğini bozabilir. Joseph formu, P^+=(I-KC)P^-(I-KC)^T+KRK^T, genellikle tercih edilir; faktörlü doğrusal sistemleri çözmek, açıkça bir ters oluşturmaktan genellikle daha güvenlidir. Kovaryans matrisi P, her güncellemeden sonra kontrol edilmelidir.

Q ve R Seçimi

R, yalnızca katalog doğruluk numarası değil, gerçek titreşim, sıcaklık, aydınlatma, menzil, paket yeniden deneme ve niceleme koşullarındaki ölçülen hatayı yansıtmalıdır. Q, modelin bir dönemde ne kadar yanlış olabileceğini temsil eder: bilinmeyen ivme, sapma rastgele yürüyüşü, yük değişimi veya modellenmemiş dinamikler. Tiny Q modele aşırı güvenir; gürültülü ölçümden sonra aşırı Q oluşur.

Sayısal örnek: konum ölçümlerinden hızı tahmin etme

Örnekleme periyodu T olan tek boyutlu sabit hızlı bir durum x=[p\ v]^T için,

A_d=\begin{bmatrix}1&T\\0&1\end{bmatrix},\quad B_d=\begin{bmatrix}T^2/2\\T\end{bmatrix},\quad C=\begin{bmatrix}1&0\end{bmatrix}

Sadece konum ölçülür. Somut bir birimsiz güncelleme olarak, T=1 , \hat{x}^-=[0\ 0]^T , P^-=[[2,1],[1,1]] , z=1 , R=1 ve C=[1\ 0] olsun. O zaman S=3 , K=[2/3\ 1/3]^T ve \hat{x}^+=[2/3\ 1/3]^T ; sonradan gelen kovaryans P^+=(I-KC)P^-=[[2/3,1/3],[1/3,2/3]] 'dır. Bu Bu, bir güncellemeyi göstermektedir ve sensör doğruluğu iddiası değildir. Büyük bir başlangıç P_{vv}, hız hakkındaki belirsizliği ifade eder. Tekrarlanan konum yenilikleri, tahmini hızı \hat v çıkarır; bir kesinti, tahminin çalışmasını sağlar ancak belirsizliğini artırır. Hıza ihtiyaç duyan bir kontrolör, P_{vv}, ölçüm yaşı ve artık durumunu kontrol etmeli ve tanımlanan zarfı aştıklarında yavaşlamalı veya durmalıdır.

Bir IMU eklemek, kısa vadeli ivmeyi izlemeye yardımcı olur, ancak durumdan sapmayı çıkarmak, entegrasyon hatasının birikmesine izin verir. Kamera veya LiDAR gözlemleri, bilinen bir haritaya, işaretleyiciye veya başka bir referansa bağlı olduklarında mutlak konumu kısıtlayabilir; yalnızca göreceli izleme, küresel konumu garanti etmez. GNSS ayrıca uydu görünürlüğü, çoklu yol, güncelleme hızı, gecikme ve çerçeve hizalaması ile de koşullandırılır. Doğrusal olmayan tutum veya menzil gözlemleri için EKF veya UKF kullanılabilir, ancak doğrusal KF, Q,R, ölçüm kovaryansı R, zaman, Aykırı değerler ve gözlemlenebilirlik korunur.

Normalleştirilmiş yenilik karesi \nu^TS^{-1}\nu, tahmini dağılımıyla tutarsız bir ölçümü tespit etmeye yardımcı olur. Büyük bir değer, aykırı değer, yanlış çerçeve, zaman damgası hatası, sensör arızası veya model uyumsuzluğu anlamına gelebilir. Bir veriyi gating etmek, hataları gizlemek için bir araç değildir: teşhise ve güvenli bir bozulmuş moda katkıda bulunmalıdır.

Temsili GNSS entegre IMUTemsili IMU/INS
Temsili derinlik kamerasıTemsili derinlik kamerası

Resimler: Xsens MTi-G (Kallap85, CC BY-SA 4.0) ve Intel RealSense D435 (Marc Auledas, CC BY-SA 4.0), Wikimedia Commons. Bunlar temsili sensörlerdir, ölçülmüş kanıt veya önerilen birleşik bir sistem değildir.

PID, LQR ve MPC'nin Sağlanması

PID, ham filtrelenmiş geri beslemeyi kullanabilir, ancak türev terimi ve iç hız döngüsü genellikle bir tahminden fayda sağlar. LQR, çok durumlu \hat{x} varsayar; ayrıştırma ilkesi koşulları altında, bir LQR kazancı ve Kalman tahmincisi bir LQG mimarisi oluşturur. Doygunluk, gecikme ve doğrusal olmama, gerçek dünya sağlamlığını hala yok edebilir. MPC ayrıca zamanında bir başlangıç durumu ve bozulma tahminine bağlıdır; eski bir tahminden veya Yanlış küçük kovaryans, yanlış dünya için cilalanmış bir plan oluşturur.

Hedef Tipik kontrol Tahminci çıktısı gerekli Arıza yanıtı
Tek hız/sıcaklık döngüsü PID filtrelenmiş ölçüm / hız tahmini sensör kaybında integrali durdur
Yerel çok durumlu stabilizasyon LQR/LQG senkronize \hat{x} ve geçerlilik artan kovaryansa aşırı güvenmeyin
Kısıtlı yol/tahsis MPC durum, gecikme, bozulma, güven eski durum/çözücü hatasında yavaşlat veya durdur

Robot zamanlaması ve arızaya dayanıklı çalışma

ROS 2'de, ölçüm zamanını mesaj varış zamanından ayırın. Mevcut durumu, sanki güncelmiş gibi geç bir kamera verisiyle güncellemek, robotu geçmişine doğru çeker. Bir politika seçin ve belgeleyin: geçmişi geri sarın/yeniden yayınlayın, gecikmiş verileri reddedin veya düşük seviyeli odometriyi daha yavaş harita düzeltmelerinden ayırın. ROS 2 taşıma ve koordinat dönüşümleri açıklanmıştır ROS 2 Temel Kılavuzu ve Sensör Füzyonu Temel Kılavuzu'nda belirtilen ön koşullar, filtre denklemlerinin dışındadır.

Zaman aşımını, kovaryans tavanlarını, tekrarlanan yenilik kapısı hatalarını, ıraksak sapmayı, kullanılamayan dönüşümleri ve süre aşımını izleyin. Tüm ölçümler kaybolursa, yalnızca tahmine dayalı olarak süresiz olarak çalıştırmayın. Uygulamaya bağlı olarak hız sınırlama, durdurma, yedeklilik veya operatör devri seçin. Tahminci sıfırlaması durum atlamasına neden olabilir, bu nedenle kontrolör referansları, integral durumları ve çıkışlar sorunsuz bir şekilde ele alınmalıdır.

Uygulama kontrol listesi

  1. Durumu, ölçümü, girişi, çerçeveyi, ölçüm zamanını ve alma zamanını tanımlayın.

  2. Her durum için gözlemlenebilirliği, gerekli doğruluğu ve maksimum gecikmeyi ölçün.

  3. Spesifikasyonlardan, verilerden ve testlerden Q,R,P_0 için kanıt kaydedin.

  4. İzleyin P'ın simetrisi/kesinliği, yenilik, kapılar ve zaman aşımı.

  5. Dropout, aykırı değer, yeniden konumlandırma ve sapma değişimi durumlarını ekleyin.

  6. Tahmin kalitesi düştüğünde PID/LQR/MPC'nin ne aldığını tanımlayın ve bağımsız güvenlik eylemini doğrulayın.

Referanslar

Anlayışınızı Kontrol Edin
Bir ölçüme daha çok güvenildiğinde ne olur?

Aynı tahmin belirsizliğiyle, daha düşük ölçüm kovaryansı güncellemeyi ölçüme doğru kaydırır. Gerçekçi olmayan güven, tahminlerin gürültüyü takip etmesine neden olabilir.

Related reading

Explore another aspect of this fieldMPC Laboratuvarı — bir ufuk ve direksiyon sınırları içinde eğrilik dizisini yeniden çözmeExplore another aspect of this fieldYol takibi karşılaştırma Laboratuvarı — PP, APP, RPP, Stanley ve MPC'yi aynı koşullar altında çalıştırınExplore another aspect of this fieldPure Pursuit Laboratuvarı — sabit ileri-bakış mesafeli yol takibini karşılaştırın