ArduPilot kumanda kesilince failsafe'e geçmiyor (RSSI var)
Alıcı ekranı RSSI dolu gösteriyor, kumandayı kapatıyorsun ama drone GUIDED ya da AUTO'dan çıkmıyor, eve dönmüyor. Failsafe hiç tetiklenmemiş gibi davranıyor.
Bunun nedeni çoğunlukla ArduPilot'ta değil, alıcının kendi ayarında. Alıcı sinyal kesilince ne yapacağını kendi menüsünden seçtiğin bir moda göre belirliyor; o mod yanlışsa otopilot sinyalin kesildiğini hiç öğrenemiyor.
Otopilot sinyal kaybını nasıl anlıyor
ArduPilot üç bağımsız yoldan birini kullanıyor: SBUS/CRSF gibi protokollerde alıcının çerçeveye koyduğu failsafe biti, hiç çerçeve gelmemesi durumunda RC_FS_TIMEOUT sayacı, ya da gaz kanalı PWM değerinin FS_THR_VALUE altına düşmesi.
Sorun şurada: ucuz ya da varsayılan ayarlı bir alıcı, sinyal kesilince bu üç yoldan hiçbirini tetiklemeyecek şekilde davranabiliyor. Son gelen kanal değerlerini olduğu gibi dondurup göndermeye devam ediyor. Buna alıcı üreticileri genelde "hold" modu diyor.
SITL'de neyi ölçtük
ArduCopter SITL'e SIM_RC_FAIL parametresiyle iki gerçek arıza verdik: tamamen sinyal kaybı ve gazı 950 mikrosaniyeye sabitleme. Varsayılan ayarlarla (FS_THR_ENABLE=1, FS_THR_VALUE=975, RC_FS_TIMEOUT=1.0 sn) ikisi de failsafe'i tetikledi; sinyal kaybı yaklaşık 1.1 saniyede, düşük gaz değeri yaklaşık 2.3 saniyede. İkinci yol biraz daha yavaş, çünkü üç ardışık düşük kare bekliyor.
Alıcının "hold" davranışını SITL'de üretemedik: SIM_RC_FAIL parametresi yalnızca sinyal yok ya da sabit düşük gaz durumlarını simüle ediyor, son değeri dondurma seçeneği yok. Yani bu makaledeki tek doğrulanamayan iddia şu: alıcının hangi modda olduğunu sahada, kendi ayar menüsünden kontrol etmen gerekiyor.
Hata Mesajları ve Anlamları
Radio Failsafe - Disarming
Drone yerdeyken ve henüz kalkmamışken sinyal kaybı algılandığında görünür; otopilot motorları zaten susturuyor, ekstra bir işlem yapmana gerek yok.
Radio Failsafe
Havadayken tetiklenir. FS_THR_ENABLE parametresinde seçtiğin eylem (varsayılan: RTL) devreye girer.
Radio Failsafe Cleared
Bağlantı geri geldiğinde gelir; kumandayı tekrar ele alabilirsin.
FS_THR_ENABLE=1 FS_THR_VALUE=975 RC_FS_TIMEOUT=1.0Sahada ne kontrol edilir
Alıcını bağla, kumandayı kapat ve çıkışını izle: kanal değerleri hemen dursun ya da alıcının failsafe için ayırdığın PWM değerine düşsün istiyorsun. Değerler olduğu gibi kalıyorsa alıcı hold modunda demektir; menüsünden ya da bind prosedüründen failsafe moduna geçirmen gerekiyor.
Sensörlerden Uçuşa Temel İHA kursunda bu üç yolun kaynak kod satırlarını, gerçek saha vakalarını ve alıcı bazlı failsafe farklarını tek tek işliyoruz.




Yorumlar