Mission Planner EKF hatası veriyor
Güncelleme tarihi: 14 Eki
Drone yerde duruyor, GPS var, uydu sayısı yeterli. Mission Planner'ın üstündeki EKF yazısı kırmızıya dönüyor ve motorlar ARM olmuyor.
Beklersen düzeliyor. Ertesi gün aynı alanda yine kırmızı. Bozduğun bir ayar aramana gerek yok, çünkü ortada bozulmuş bir ayar yok. Otopilot sana kendi konum tahminine ne kadar güvendiğini söylüyor.
Ekrandaki o çubuk ne ölçüyor
Mission Planner'ın HUD'undaki EKF etiketine tıkladığında açılan pencerede beş çubuk var. Bunlar sensör değeri değil. Otopilot her ölçümü kendi beklentisiyle karşılaştırıyor ve aradaki farkı, o ölçüm için tanımlanmış kabul sınırına bölüyor. Çıkan oran çubuğa yansıyor.
Yani çubuk yükseldiğinde pusulan bozulmuş olmak zorunda değil. Pusulanın söylediği ile otopilotun beklediği birbirini tutmuyor. İkisi farklı şeyler.
Resmî doküman bu değerlerin 0 ile 1 arasında olduğunu yazar, ama değer üst sınırsızdır. Aşağıdaki girişim örneğinde pusula varyansı 289'a çıkıyor; 1'in üstü "bu ölçüm reddedildi" demek.
0.8 sayısı nereden geliyor
Otopilotta bu iş için tek bir eşik parametresi var ve varsayılan değeri 0.8. Bu sayı iki ayrı yerde kullanılıyor: ARM öncesi kontrolde ve uçuş sırasındaki failsafe'de.
Aradaki fark önemli. ARM öncesi kontrol dört varyansa da tek tek bakıyor ve biri bile eşiği aşıyorsa ARM izni vermiyor. Uçuş sırasındaki kontrol ise aynı şekilde çalışmıyor.
Uçuş sırasındaki kontrol saniyede on kez bir puan hesaplar. Şekilde hangi varyansın kaç puan verdiğine ve failsafe'e giden yolun nerede ayrıldığına bak.
Zincire dikkat et: yükseklik varyansı uçuş sırasında hiç karşılaştırılmıyor. Konum varyansı da tek başına sayacı artırmıyor, yalnızca başka bir koşul zaten tuttuysa devreye giriyor.
Eşik aşımı sürerken 8. turda yaw sıfırlaması, 9. turda IMU lane değişimi denenir; bunlar sessizdir. Aşım 10 tur üst üste sürerse failsafe gelir.
Kırmızı çubuk gördüğün hâlde failsafe neden gelmiyor
Havada asılı duran bir araçta motor akımına bağlı manyetik girişim yükselince dört varyansın nasıl ayrıştığını aşağıdaki 200 saniyelik kayıtta görüyorsun. Girişimin açık olduğu bölgeye bak.
Pusula varyansı 0.011'den 289'a çıkar ve 403 örnek boyunca eşiğin üstünde kalır. Hız varyansı en fazla 0.18, konum varyansı en fazla 0.06 olur; ikisi de eşiğe yaklaşmaz.
EKF failsafe hiç tetiklenmez. Karar zinciri iki bağımsız işaret ister, burada yalnızca bir tane var ve araç uçmaya devam eder.
Bunun yerine başka bir şey olur. Otopilot 32 kez pusula değiştirir ve mesaj sekmesine EKF3 IMU0 switching to compass 1 satırını düşürür. Kırmızı çubuğu gördüğün hâlde failsafe beklemek yanlış refleks; asıl sinyal mesaj sekmesinde.
Örnek: Yarışma alanında kalkış sırası sende, gaz açar açmaz HUD'daki EKF yazısı kırmızıya dönüyor ve pencerede yalnızca pusula çubuğu tepeye vuruyor. Araç uçmaya devam eder ve failsafe gelmez; ama mesaj sekmesinde pusula değişim satırları art arda düşüyorsa pusula motor akımının ürettiği alanın içinde demektir. İnişten sonra pusulayı güç kablolarından ve dağıtım kartından uzaklaştırıp aynı testi gazı açarak tekrar et.
Kendi kartında nasıl ölçersin
Bu sorunun kaynağı gerçek donanımda motor akımı, gövde metali ve pusulanın montaj yeri. Senin kartında girişimi motorların kendisi üretir; ölçmen yeterli.
Mission Planner'ın penceresine bakmak yerine sayıyı doğrudan oku. Aşağıdaki kod otopilota bağlanır ve dört varyansı saniyede iki kez basar. Eşiği aşanı satırın sonunda işaretler.
Aracı yerde tutup gaz vermeden çalıştır, sonra pervaneleri sökmeden kalkışa geç ve aynı satırları izle. Girişim varsa fark gaz açtığın anda belirir ve çıktı şuna benzer:
pusula=169.707 hiz= 0.011 konum= 0.007 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.713 hiz= 0.011 konum= 0.005 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.781 hiz= 0.011 konum= 0.006 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.739 hiz= 0.010 konum= 0.006 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.767 hiz= 0.010 konum= 0.006 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.723 hiz= 0.010 konum= 0.006 yukseklik= 0.000 ESIK USTU: pusula
pusula=169.701 hiz= 0.009 konum= 0.007 yukseklik= 0.000 ESIK USTU: pusula
pusula=170.879 hiz= 0.009 konum= 0.007 yukseklik= 0.000 ESIK USTU: pusulaEşiğin adı FS_EKF_THRESH ve varsayılan değeri 0.8.
En sık yapılan hata FS_EKF_THRESH'i 1.0'a çekip uyarıyı susturmak. Eşiği yükseltmek pusulayı düzeltmez, sadece otopilotun seni uyarma penceresini daraltır. Girişim aynı yerde durur, uyarı gider.
Hata Mesajları ve Anlamları
Aşağıdakiler ArduPilot'un gerçekten ürettiği metinler. Mission Planner'ın mesaj sekmesinde birebir bu şekilde görünürler.
PreArm: AHRS: EKF3 still initialising
EKF3 açıldı ama çözümü henüz oturmadı. EKF3 etkin olduktan sonra da ARM izni bir süre gecikir; aradaki fark normal, bekleyeceksin.
PreArm: Need Position Estimate
EKF henüz bir konum üretemedi. Kapalı alandaysan dışarı çık, GPS'in yerleşmesini bekle. İvmeölçer ve pusula kalibrasyonlarının tamamlanmış olması gerekiyor.
EKF compass variance
Pusula yönü hatalı görünüyor. Aracı ortamdaki metalden uzaklaştır, pusulayı gövdedeki metalden ayır, kalibrasyonu tekrarla. Dahili pusulayı devre dışı bırakmak çoğu kurulumda işe yarar.
EKF height variance
Barometre değerleri kararsız ya da titreşim yüksek. Bu mesaj yalnızca ARM öncesi çıkar; uçuş sırasındaki failsafe yükseklik varyansına bakmaz.
EKF position variance
GPS konumu kararsız. Açık alana çık, GPS'i etkileyebilecek yayın kaynaklarını kaldır, anten yüksekliğini artır.
EKF velocity variance
GPS ya da optik akış hızları kararsız. Optik akış kullanıyorsan kalibrasyonunu kontrol et.
EKF variance: over thresholds
Failsafe tetiklendi ve sebebi varyans. Bu metnin ikinci hâli "position lost"; o zaman sorun varyans değil, EKF'nin konum tahminini tamamen kaybetmesidir. İkisi farklı arızalar, aynı satırda görünürler.
EKF Failsafe: changed to LAND Mode
Failsafe eylemi çalıştı. Varsayılan davranış budur: konum isteyen bir moddaysan araç LAND moduna geçer, roll ve pitch sende kalır, iniş hızını otopilot yönetir.
EKF3 IMU0 switching to compass 1
Otopilot pusula değiştirdi. Tek seferlik görürsen normaldir. Arka arkaya tekrarlıyorsa iki pusulanın da tatmin edici olmadığını söylüyor; yukarıdaki girişim örneğinde 32 kez tekrarlar.
Sahada ne değişir
Kırmızı çubuk gördüğünde hangi çubuğun kırmızı olduğuna bak. Pusula ile konum aynı şey değil, çözümleri de aynı değil.
Uyarı yalnızca gaz açtığında geliyorsa sebebi büyük ihtimalle motor akımı. Pusulayı güç kablolarından ve dağıtım kartından uzaklaştır.
Uyarı belirli bir alanda hep geliyorsa sebebi ortam. Aynı aracı 200 metre öteye taşı ve tekrar dene.
Failsafe gelmemesi sorunun olmadığı anlamına gelmiyor. Mesaj sekmesini aç ve pusula değişim satırlarını say.
Konunun devamı kursta
Buradaki eşik ve karar zinciri, otopilotun konum tahminini nasıl kurduğunu bilmeden ezberlenmez. Sensörlerin ne ölçtüğü, kalibrasyonun neyi düzelttiği ve ilk uçuşta neye bakılacağı kursta sırayla anlatılıyor.
Bu dersler Sensörlerden Uçuşa Temel İHA eğitiminin içinde.
İNDİRİM KUPONU
Kupon kodu: SOFTIVATION15
Eğitimi alırken ödeme ekranındaki "Kupon kodu" kutusuna bu kodu yaz, %15 iner.




Yorumlar