
FIG. 01
KAYIT KÜNYESİ
Kategori
Aviyonik
TARİH
Geçen sezon bir test uçuşunda, kumandamızın pili sahada bitti. Hava aracı 60 metre irtifadaydı, bizden yaklaşık 200 metre uzaktaydı. Bir saniye sonra RTL'ye (Return To Launch, kalkış noktasına dönüş) geçti, tırmandı, geri uçtu ve indi. Kimse müdahale etmedi, çünkü müdahale edilecek bir şey kalmamıştı.
O gün işe yarayan şey şans değildi. İki hafta önce aynı senaryoyu SITL'de (Software In The Loop, uçuş yazılımının PC üzerinde simülasyon olarak koşması) on kez tetiklemiş, RTL irtifasını sahadaki en yüksek ağaca göre yeniden ayarlamış ve home noktasının doğru yerde kilitlendiğini doğrulamıştık. Bir failsafe (güvenli-mod), onu ayarladığınız anda var olmaz; test ettiğiniz anda var olur.
Bu yazıda ArduPilot Copter'daki failsafe türlerini, her biri için doğru tepkiyi, batarya eşiklerinin nasıl hesaplanacağını ve bunların hepsinin SITL'de nasıl tetikleneceğini ele alıyoruz. Parametre adları ArduPilot dokümantasyonuna göre doğrulandı; adlar sürümler arasında değişebiliyor, bu yüzden Mission Planner'daki tam parametre listesinden teyit edin.
Failsafe türleri ve ArduPilot'taki karşılıkları
ArduPilot'ta failsafe tek bir ana anahtar değil; birbirinden bağımsız çalışan bir kontrol kümesidir. Her birinin kendi tetikleyicisi, kendi zaman aşımı ve kendi eylem parametresi vardır.
Failsafe | Tetikleyici | Anahtar parametreler | Varsayılan zaman aşımı |
|---|---|---|---|
RC link kaybı | Alıcıdan darbe gelmemesi / gaz kanalının eşiğin altına düşmesi |
| 1 s |
GCS / telemetri kaybı | MAVLink heartbeat'in kesilmesi |
| 5 s |
Düşük batarya (gerilim) | Gerilimin eşiğin altında kalması |
| 10 s |
Düşük batarya (kapasite) | Tüketilen mAh'in eşiği geçmesi |
| anında |
EKF arızası | Pusula / konum / hız varyanslarından ikisinin eşiği aşması |
| 1 s |
Geofence ihlali | İrtifa / yarıçap / poligon sınırının aşılması |
| anında |
Çarpma tespiti | Talep edilen ile gerçek yatış açısı arasında 2 s boyunca 30°'den fazla sapma |
| 2 s |
Ortak bir davranış burada çok önemli: RC, GCS, batarya veya arazi verisi failsafe'i bir kez mod değişikliğine yol açtıysa, sorun ortadan kalksa bile hava aracı o modda kalır. Pilot elle değiştirmediği sürece önceki moda dönmez. "Link geri geldi, kontrol yine bende" varsayımıyla kumandayı sallamanın bu yüzden bir faydası yoktur.
Hangi tepki, ne zaman doğru?
Failsafe eylemlerinin hepsi aşağı yukarı aynı havuzdan gelir. Fark, belirli bir durumda hangisinin daha az kötü olduğudur.
Eylem | Ne yapar | Ne zaman tercih edilir | Riski |
|---|---|---|---|
Warn Only (0) | Sadece uyarır, başka bir şey yapmaz | Pilotun hâlâ kontrolde olduğu erken aşama batarya uyarısı | Hiçbir otomatik koruma sağlamaz |
BRAKE / LOITER | Olduğu yerde durur ve konumunu korur | Kararı pilotun vermesinin beklendiği geofence sınırında | Sorun kalıcıysa batarya biter |
LAND | Bulunduğu yere iner | Konuma güvenilmediğinde (EKF, GPS) tek mantıklı seçenek | Yerini bilmediğiniz bir noktaya iner |
RTL | Ayarlanan irtifaya tırmanır, düz bir hatla eve uçar, iner | Konum sağlıklıyken ve dönüş güzergâhı temizken | O düz hat bir engelin içinden geçebilir |
SmartRTL | Gidişte uçtuğu rotayı geri izleyerek döner | Engel yoğun veya ağaçlık alanlarda ya da binalar arasındaki uçuşlar | Kayıtlı bir rota yoksa devreye girmez ve RTL/LAND'e düşer |
Pratikte, SUAS 2026 hava aracımızda hem RC hem GCS failsafe'i için önce SmartRTL, geri düşüşte RTL seçeneklerini kullanıyoruz (FS_THR_ENABLE = 4, FS_GCS_ENABLE = 3). Konum çözümü bozulduğunda tartışılacak bir şey yok: EKF failsafe'i LAND'dir, çünkü kendi konumuna güvenmeyen bir hava aracını 300 metre öteye göndermek, kontrollü bir inişten çok daha kötüdür.
Batarya eşiklerini belirlemek
Batarya failsafe'inde en sık yapılan hata, eşiği dinlenme hâlindeki (yüksüz) hücre gerilimine göre belirlemektir. Hava aracı hover'da akım çekmeye başladığı anda iç direnç gerilimi aşağı çeker; buna sag (yük altında gerilim düşümü) denir. Eşiği yüksüz gerilime göre ayarlarsanız failsafe daha ilk agresif manevrada devreye girer.
V_sag=I_hoverxR_internal, yük altındaki gerilim düşümü
V_threshold= (N_cellsxV_cell_target) -V_sag
Sembol | Nedir ve nereden alınır |
|---|---|
| Hover akımı (A): logdaki |
| Paketin toplam iç direnci (ohm): |
| Hücre sayısı (6S -> 6) |
| Yük altında hâlâ görmek istediğiniz hücre başına gerilim |
Örnek: 6S bir paket, 22 A hover akımı, ölçülen 0.020 ohm iç direnç ve yük altında hücre başına 3.5 V'un altına inmek istemiyoruz:
V_sag= 22 A x 0.020 ohm = 0.44 VV_threshold= (6 x 3.5) - 0.44 = 21.0 - 0.44 = 20.56 V ->BATT_LOW_VOLT = 20.6Kritik kademe: (6 x 3.4) - 0.44 = 19.96 V ->
BATT_CRT_VOLT = 20.0
İki kademe zorunludur. Düşük kademe, BATT_FS_LOW_ACT = 2 (RTL) ile hava aracını eve göndermeli; kritik kademe ise BATT_FS_CRT_ACT = 1 (LAND) ile onu bulunduğu yere indirmelidir. Kritik kademe için RTL seçmek, zaten tükenmiş bir paketle 300 metrelik bir eve dönüşe kalkışmak demektir.
Tek başına gerilim yeterli değil. Yanına bir de kapasite eşiği koyun: ArduPilot dokümantasyonu, BATT_LOW_MAH için paket kapasitesinin kabaca %20'sini öneriyor (5000 mAh'lik bir pakette 1000 mAh). Kapasite sayacı tamamen akım sensörünün ne kadar iyi kalibre edildiğine bağlıdır; kalibre edilmemiş bir sensörle mAh eşiği size gerçek bir güven vermez.
BATT_LOW_TIMER varsayılan olarak 10 saniyedir (0-120 s): gerilimin bu süre boyunca eşiğin altında kalması gerekir, böylece anlık akım sıçramaları failsafe'i tetiklemez. BATT_FS_VOLTSRC = 1 seçerseniz ArduPilot sag-kompanzasyonlu gerilimi kullanır; bu durumda yüksüz gerilime daha yakın bir eşik seçmelisiniz.
Güvenlik uyarısı: Bir LiPo hücresini 3.0 V'un altına düşürmek pakete kalıcı hasar verir, şişme ve termal kaçış riskini artırır. Bir tur daha sıkıştırmak uğruna kritik failsafe eşiğini aşağı çekmeyin. Eşik testlerini yerde pervaneler takılıyken yapmayın: sırf akım çekmek için pervaneli tam gaz denemesi ciddi bir yaralanma riskidir. Akımı ve sag'ı ya elektronik yükle ya da gerçek bir uçuş logundan ölçün.

RTL irtifası ve dönüş güzergâhının riskleri
RTL önce hava aracını RTL_ALT_M irtifasına tırmandırır (Copter 4.6 öncesinde parametre RTL_ALT ve birim santimetredir; sürümünüzü kontrol edin), ardından düz bir hatla eve uçar. Varsayılan 15 metredir ve ağaçlı ya da binalı bir sahada bu yeterli değildir.
RTL_ALT_M=tallest_obstacle_height+safety_margin
Sahamızdaki en yüksek engel 18 m'lik bir ağaç sırasıysa, 10 m güvenlik payıyla RTL_ALT_M = 28 yaparız. Bu irtifa her yarışmadan ve her uçuştan önce sahaya göre yeniden ayarlanmalıdır; "geçen sefer işe yaramıştı" bir gerekçe değildir.
Kritik nokta şu: RTL düz bir hatla döner, uçtuğunuz rotayı geri izlemez. Bir binanın arkasından çıkarak uçtuysanız, RTL sizi doğrudan binanın içinden geçirmeye çalışır. Engel yoğun sahalarda önce SmartRTL seçeneklerini bu yüzden kullanıyoruz. RTL_CONE_SLOPE (varsayılan 3) home yakınında gereksiz tırmanmayı sınırlar; failsafe tam home'un üzerinde devreye girerse hava aracı 28 metreye kadar çıkmak yerine kısa bir koni boyunca yükselir.
RTL_ALT_FINAL_M sıfırda bırakılırsa hava aracı dönüşün sonunda otomatik olarak iner. Sıfırdan farklı bir değer verirseniz o irtifada tutunur ve pilot girdisi bekler; link zaten koptuysa bu, batarya bitene kadar havada asılı kalmak demektir. RC failsafe durumu için sıfırda bırakın.
SITL'de failsafe senaryolarını enjekte etmek
Bunların hiçbirini ilk kez sahada denemeyin. SITL + Gazebo kurulumu yazımızdaki ortamda, failsafe'leri doğrudan MAVProxy konsolundan tetikleyebilirsiniz:
Her senaryoda tek bir soruyu yanıtlayın: hava aracı ne yaptı, bunu yapması ne kadar sürdü ve logda hangi mesaj göründü? SIM_SPEEDUP ile işleri hızlandırmak bir kahve molasında on senaryo koşmanızı sağlar, ama çok yüksek değerlerde simülasyonun kendisi failsafe üretebilir; bu yüzden sonuçlarınızı 1x hızda doğrulayın.
Sık yapılan hatalar
Test edilmemiş failsafe. Parametreyi girip Mission Planner'ı kapatmak test değildir. En az bir kez SITL'de, bir kez de sahada kontrollü koşullarda tetikleyin: yüksek irtifa, açık alan, kumanda kapalı.
Yanlış home noktası. Home normalde arm anında kilitlenir. Zayıf bir GPS fix'i ile arm ederseniz home yüzlerce metre ötede kalabilir ve RTL sizi seve seve oraya götürür. Arm etmeden önce HDOP ve uydu sayısını kontrol edin, home ikonunun gerçekten ayağınızın dibinde olduğunu Mission Planner'dan doğrulayın.
Fazla düşük RTL irtifası. Ağaç sıralı bir sahada varsayılan 15 m ile uçmak, failsafe'inizi bir çarpma prosedürüne dönüştürür.
Kritik kademe için RTL seçmek. Gerilim kritik eşiğe ulaştıysa eve dönüş için enerji kalmamıştır. Kritik kademe LAND olmak zorundadır.
Yüksüz gerilime dayanan eşikler. Sag hesabı yapılmadan belirlenen bir eşik ya erken devreye girer ya da hiç girmez.
Failsafe'in kendi kendine geri alınacağını varsaymak. Link geri gelse bile hava aracı failsafe modunda kalır; modu pilotun elle değiştirmesi gerekir.
Companion computer'ın failsafe'i ezmesi. Jetson'dan MAVLink üzerinden komut gönderiyorsanız, GUIDED modda sürekli setpoint basan bir script, failsafe sonrası gelen mod değişikliğiyle çatışabilir. Bir failsafe devreye girdiğinde offboard kontrolün susması gerekir.
Pratik özet
Altı failsafe'in (RC, GCS, batarya, EKF, geofence, çarpma) hepsini tek tek etkinleştirin; hiçbirini varsayılanında bırakmayın.
Batarya eşiğini
V_threshold = (N_cells x V_cell_target) - I_hover x R_internalile hesaplayın; iki kademe kurun (düşük -> RTL, kritik -> LAND).Her uçuştan önce sahadaki en yüksek engele bir güvenlik payı ekleyerek
RTL_ALT_Mdeğerini ayarlayın veRTL_ALT_FINAL_Mdeğerini sıfırda bırakın.Konum güvenilirliğinden şüphe duyulan her durumda (EKF, GPS) eylem daima LAND olmalı; engel yoğun bir sahada SmartRTL'yi RTL'ye tercih edin.
Uçmadan önce her senaryoyu SITL'de
SIM_RC_FAIL,SIM_BATT_VOLTAGE,SIM_GPS1_ENABLEveSIM_ENGINE_FAILkullanarak enjekte edin; tepkiyi ve zamanlamasını logdan doğrulayın.Arm etmeden önce home noktasının gerçekten doğru yerde olduğunu gözle doğrulayın.
