top of page
Eğitim Paneli

Geofence poligonu geniş, drone erken dönüyor

14 Ağu
3 dakikada okunur

Güncelleme tarihi: 14 Eki

Poligonu haritanın üstüne çizdin, kenarları uçuş alanının epey dışından geçiyor, yükledin ve kabul edildi. Kalkıştan bir buçuk dakika sonra otopilot moda RTL yazıyor ve drone eve dönüyor.

Poligonun kenarına yaklaşmadın bile. Drone'u döndüren, çizdiğin alanla birlikte açık kalan ikinci bir çit.

Poligonu çizmek daireyi kapatmıyor

ArduPilot'ta çit ayarı tek bir seçim değildir. Yükseklik tavanı, home merkezli daire, poligon ve yükseklik tabanı ayrı çitlerdir ve açık olan her biri kendi başına uygulanır.

Poligonu yüklemek daireyi kapatmaz. Daire açık kalır ve yarıçapı hangi değerdeyse orada durur. Poligonun bir kilometre ötede olması bir şeyi değiştirmez; iki çit birbirinden bağımsız ölçülür.



Hangi çitin tetiklendiğini mesaj söyler

ArduPilot ihlal anında hangi çitin tetiklendiğini yazar. Yer kontrol istasyonunun mesaj penceresinde geçen ifade doğrudan teşhistir.

Circle fence breached görüyorsan tetikleyen poligon değil, home merkezli dairedir. Polygon fence breached görüyorsan gerçekten çizdiğin alanın dışına çıkmışsındır. İkisi aynı ekranda benzer görünür, ama bakman gereken parametre farklıdır.

Mesajı yakalayamadıysan tahmin etme. Uçuş kaydını indir, mesaj satırlarını aç ve moddan önceki son satıra bak.



Çit ayarı tek sayının içinde dört çit taşır

FENCE_TYPE bir liste kutusu gibi davranmaz. Dört ayrı çiti tek sayının içinde taşır ve açık olan her bit kendi çitini uygular:


Bit

Değer

Çit

Neyi uygular

bit 0

1

Max Alt

FENCE_ALT_MAX yüksekliği

bit 1

2

Circle

home merkezli FENCE_RADIUS dairesi

bit 2

4

Polygon

yüklediğin kapsama/dışlama alanları

bit 3

8

Min Alt

FENCE_ALT_MIN tabanı


FENCE_TYPE = 7 üç biti birden açar: Max Alt + Circle + Polygon. Poligonu yüklemek bit 1'i kapatmaz, daire FENCE_RADIUS hangi değerdeyse orada kalır.

Kaynak koddaki dairesel çit yarıçapı varsayılanı 300 metredir; libraries/AC_Fence/AC_Fence.cpp içinde AC_FENCE_CIRCLE_RADIUS_DEFAULT olarak tanımlı. Senin aracında bu değer daha önce değiştirilmiş olabilir; ezberden gitme, parametre ekranından oku.



Aynı poligon, daire açıkken ve kapalıyken

ArduCopter 4.7.0'da 1200 × 1200 metrelik bir kapsama poligonu yükleyip FENCE_RADIUS'u 150 metrede bırakırsan ve aracı doğuya doğru uçurursan, tek değişken FENCE_TYPE olduğunda fark şekildeki gibi olur.



Varsayılan 7 değerinde araç 153 metrede Circle fence breached mesajını basar ve mod RTL'e döner. FENCE_TYPE 4 yaptığında aynı poligonla 574 metreye kadar hiçbir tepki gelmez.

İhlal anında mesaj satırları şu sırayla düşer:


Arming motors
EKF3 IMU0 MAG0 in-flight yaw alignment complete
Circle fence breached
Manual recovery started
Fence breach cleared
Disarming motors

Aradaki Manual recovery started satırı yanıltıcı olabilir: kaynak kodda bu mesaj, ihlal sürerken uçuş modu değiştiğinde basılır ve mod değişikliğinin otomatik olması durumu değiştirmez.



Daire bitini kapat

Yalnızca çizdiğin alan uygulansın istiyorsan daire bitini düşür. Yükseklik tavanını korumak genelde iyi fikirdir, o yüzden FENCE_TYPE için 5 mantıklı bir başlangıçtır: 1 (Max Alt) + 4 (Polygon).



Sıra önemli: çit açıkken tipini değiştirmek, otopilotun bir sonraki döngüde eski maskeyle ölçüm yapmasına yol açabilir. Kapat, yaz, aç.

Yazdıktan sonra değeri geri oku. Mission Planner'ın parametre ekranı, yazma isteğini gönderdikten sonra kutuyu yeni değerle boyar; bu otopilotun kabul ettiği anlamına gelmez.

Örnek: Teknofest görev alanının köşe koordinatlarını poligon olarak yükledin; kalkış noktan alanın bir kenarında, en uzak görev noktası ise home'a daire yarıçapından daha uzak. Daire biti açık kaldığı sürece araç poligonun içinde olduğu hâlde o noktaya giderken yarı yolda döner. Göreve çıkmadan FENCE_TYPE'ı geri oku ve daire bitinin gerçekten kapalı olduğunu gör; daireyi açık tutacaksan FENCE_RADIUS'un en uzak görev noktasını kapsadığından emin ol.



Hata Mesajları ve Anlamları

Aşağıdaki dizeler ArduCopter 4.7.0 kaynağında birebir geçer.



Circle fence breached

Home merkezli dairesel çit yeni ihlal edildi. FENCE_TYPE'ta bit 1 açık ve araç FENCE_RADIUS dışına çıktı. Poligonla ilgisi yok.



Fence breach cleared

İhlal edilen bütün çitler temizlendi, araç yeniden izinli bölgede. Bu satır tek başına uçuşun düzeldiği anlamına gelmez; öncesinde hangi çitin tetiklendiğine bak.



Fences enabled, but none selected

ARM öncesinde çıkar ve ekranda PreArm: önekiyle görünür. FENCE_ENABLE 1 yapılmış ama FENCE_TYPE 0 kalmış demektir.



Fence requires position

Yatay konum çözümü hazır olmadan dairesel ya da poligon çiti ölçülemez. Bu satır çit ayarının bozuk olduğunu değil, EKF'nin henüz konum üretmediğini söyler. İlk ARM denemesinde karşına çıkabilir ve uydu çözümü oturunca kendiliğinden geçer; ekranda Arm: önekiyle görünür.



Devamı

Bu yazı tek bir belirtiyi kapatıyor. Çitin karar sırasını, hangi mesajın hangi kaynak satırından geldiğini, birden çok kapsama alanı çizildiğinde izinli bölgenin nasıl daraldığını ve sahadan gelen vakaları derste adım adım işliyoruz.

Ders, Sıfırdan Mission Planner eğitimi içindeki güncel eklemeler bölümünde. Diğer eğitimler Softivation eğitim listesinde.


İNDİRİM KUPONU

Kupon kodu: SOFTIVATION15

Eğitimi alırken ödeme ekranındaki "Kupon kodu" kutusuna bu kodu yaz, %15 iner.

Yorumlar


bottom of page