

Teknoloji & Savunma Sanayii
2023'te yazdığım tanıtıcı bir yazıyı, DroneKit'in çöküşü, akademik literatürün pekiştirmeli öğrenmeye kayışı ve Türkiye'nin EFES-2026'da sahaya sürdüğü canlı mühimmatlı KARGU sürüsü ışığında yeniden ele alıyorum.
Üç yıl önce bu köşede sürü dron teknolojisinin temel mantığını ve Python ile yazılmış basit bir çarpışma önleme örneğini paylaşmıştım. Yazının kavramsal iskeleti — farkındalık, otonomi, adaptasyon, işbirliği — bugün de geçerliğini koruyor. Ama iki eksende zemin kaydı: kullandığım yazılım altyapısı fiilen terk edildi, alanın algoritmik ağırlık merkezi ise reaktif kurallardan öğrenen sistemlere taşındı. Bu ikisinin üstüne, aradan geçen sürede Türk savunma sanayii, o basit dört-dronluk örneği gölgede bırakan bir operasyonel sıçrama gerçekleştirdi.
2023 tarihli yazıdaki kod örneği DroneKit-Python üzerine kuruluydu. Bugün bu kütüphanenin GitHub deposunda "bakım sorumlusu aranıyor" uyarısı asılı duruyor; proje son resmi sürümünü 2017'de aldı, sonrasında yalnızca dağınık topluluk yamalarıyla ayakta kalabildi. PX4'ün resmi geliştirici dokümantasyonu konuyu dolaylı bırakmıyor: DroneKit-Python'un yıllardır bakımının yapılmadığını ve PX4 uçuş yığınıyla kullanım için optimize edilmediğini açıkça yazıyor. 2024-2025 tarihli açık hata kayıtları arasında, kütüphanenin Python 3.10 ve sonrası ile temel bir uyumluluk sorununu (collections.MutableMapping hatası) hâlâ taşıdığı görülüyor — bu, aktif geliştirmenin durduğunun somut bir göstergesi.
Sektörün yöneldiği yer belli: MAVLink protokolü üzerinden çalışan, C++ çekirdekli ve resmi Python bağlamalarına sahip MAVSDK, ya da protokolle doğrudan, soyutlama katmanı olmadan konuşan pymavlink. Yeni açılan akademik ve endüstriyel projelerin neredeyse tamamı bu iki seçenekten birine dayanıyor; DroneKit artık yalnızca eski kod tabanlarını sürdürmek zorunda kalanların uğrak yeri.
Üç yıl önceki kod örneğini bugün aynen çalıştırmaya kalkarsanız, muhtemelen kütüphanenin kendisinde takılırsınız — algoritmanın doğruluğundan önce.
Orijinal yazıdaki çarpışma önleme mantığı basitti: iki dron arasındaki mesafe eşiğin altına düşünce her ikisi de "BRAKE" moduna geçiyor, sonra yön açılarını (yaw) zıt yönlerde 45 derece kaydırıyordu. Bu, literatürde "reaktif" veya "potansiyel alan tabanlı" yaklaşımların en yalın hâli. Üç yılda bu yaklaşım akademik referans olmaktan çıktı.
Alanın Bugünkü Haritası
ScienceDirect'te Kasım 2025'te yayımlanan, 2019-2025 arası 286 hakemli makaleyi tarayan bir derleme, sürü çarpışma önlemede ağırlık merkezinin artık dört başlığa kaydığını gösteriyor: pekiştirmeli öğrenme (RL), federe öğrenme, sinir-esinli modeller ve bu üçünün hibritleri. PatSnap'in 2026 patent haritası ise mimari sıçramayı somutlaştırıyor: Pekin Havacılık ve Uzay Üniversitesi'nin 2025 patent başvurusu, çatışma tespiti ile rota optimizasyonunu ayrı katmanlara bölen "çift katmanlı sürekli-zaman çatışma tabanlı arama" (CCBS) yöntemini, klasik potansiyel-alan mantığına karşı belirgin bir mimari ilerleme olarak sunuyor. 2026 kayıtlarında ise gömülü (on-board) çok-ajanlı pekiştirmeli öğrenme ve büyük dil modeli destekli görev ayrıştırması öne çıkıyor.
Bunun pratik anlamı şu: eski kod, dronun şu an nerede olduğuna bakıp tepki veriyordu. Yeni nesil yaklaşımlar ise sürünün üyelerinin gelecekte nerede olacağını tahmin eden, deneyimden öğrenen ve ölçeklendikçe (dört dron değil, yirmi ya da yüz dron) performansı bozulmayan politikalar üretiyor. 2025'te Sensors dergisinde yayımlanan bir çalışma, itme vektörü (repulsion vector) kavramını — her dronun etrafında bir "koruyucu küre" tanımlayıp bu küreye giren nesnelerden orantılı olarak uzaklaşma — büyük sürülere ölçeklenebilecek, düşük hesaplama yüküne sahip dağıtık bir mekanizma olarak yeniden formüle ediyor. Yani eski fikir tamamen terk edilmedi, ama matematiği ve dağıtık mimarisi yenilendi.
Asıl çarpıcı gelişme akademik literatürde değil, sahada yaşandı. STM'nin geliştirdiği KARGU vurucu İHA'sından oluşan 20 birimlik bir sürü, Türk Silahlı Kuvvetleri'nin en büyük tatbikatı olan EFES-2026 kapsamında, İzmir Seferihisar Doğanbey bölgesinde, tek operatör kontrolünde havalanıp hedef bölgeye tamamen otonom olarak intikal etti ve gerçek patlayıcı mühimmatla hedefleri isabetle imha etti. Şirketin açıklamasına göre bu, canlı mühimmatlı bir tatbikat senaryosu içinde gerçekleştirilen ilk sürü İHA operasyonu olarak kayıtlara geçti. Faaliyeti Milli Savunma Bakanı Yaşar Güler, Genelkurmay Başkanı Orgeneral Selçuk Bayraktaroğlu ve yabancı askeri heyetler yerinde izledi.
STM Genel Müdürü Özgür Güleryüz'ün aktardığına göre bu operasyon, Ocak 2026'da Ankara Polatlı'da yapılan saha testlerinin bir adım ötesiydi. Sistemin öne çıkan özellikleri: tamamen yerli algoritmalar üzerine kurulu dağıtık mimari, İHA'lar arası gerçek zamanlı haberleşme ve hedef paylaşımı, "satürasyon saldırısı" konsepti çerçevesinde eş zamanlı taarruz kabiliyeti, göreve sürüye anlık olarak yeni birim ekleyip çıkarabilme ve sürüyü görev bölgesi içinde alt gruplara bölerek farklı hedeflere yönlendirebilme.
⁂
Aşağıdaki iskelet, orijinal yazıdaki mantığı DroneKit yerine pymavlink üzerine taşıyor ve sabit BRAKE/yaw kuralı yerine, az önce bahsettiğim itme vektörü (repulsion vector) mantığını kullanıyor. Bunun bir üretim sistemi değil, güncel literatürle uyumlu bir öğretici iskelet olduğunu belirtmek gerekir; gerçek bir sürü sisteminin güvenlik doğrulaması, gecikme analizi ve arıza senaryoları çok daha kapsamlı bir mühendislik sürecine ihtiyaç duyar.
from pymavlink import mavutil
import math, time
SAFE_RADIUS_M = 10.0 # koruyucu küre yarıçapı
GAIN = 0.6 # itme vektörü kazancı
def connect_all(n, base_port=14550):
return [mavutil.mavlink_connection(f"udp:127.0.0.1:{base_port+i}")
for i in range(n)]
def haversine_m(p1, p2):
dlat = p2[0] - p1[0]
dlon = p2[1] - p1[1]
return math.sqrt(dlat**2 + dlon**2) * 1.113195e5
def repulsion_vector(my_pos, others):
vx = vy = 0.0
for other in others:
d = haversine_m(my_pos, other)
if d < SAFE_RADIUS_M and d > 0:
strength = GAIN * (SAFE_RADIUS_M - d) / SAFE_RADIUS_M
vx += strength * (my_pos[0] - other[0]) / d
vy += strength * (my_pos[1] - other[1]) / d
return vx, vy
# Ana döngü: her drone kendi konumunu okur, diğerlerinin
# konumlarını sürü ağı üzerinden dinler, itme vektörünü
# hedefe giden rotaya toplar ve hız komutunu gönderir.
while True:
positions = [read_position(v) for v in vehicles]
for i, v in enumerate(vehicles):
others = positions[:i] + positions[i+1:]
rx, ry = repulsion_vector(positions[i], others)
send_velocity_command(v, base_heading[i], rx, ry)
time.sleep(0.2)
Buradaki fark kozmetik değil: eski kod her çarpışma riskinde dronu tamamen durdurup keskin bir dönüş yaptırıyordu; itme vektörü yaklaşımı ise sürekli ve orantılı bir düzeltme uygulayarak sürünün akışkanlığını koruyor. Yine de bu, akademik camianın bugün asıl önem verdiği pekiştirmeli öğrenme tabanlı politikaların yanında hâlâ bir başlangıç seviyesi; STM'nin sahada gösterdiği dağıtık, öğrenilmiş ve silahlandırılmış sürü zekasıyla kıyaslanacak bir şey değil.
Üç yıl, yazılım altyapısı için bir kütüphanenin ölmesine, akademik literatür için bir paradigmanın (reaktif kurallar → öğrenen politikalar) yer değiştirmesine ve Türk savunma sanayii için ise laboratuvar ölçekli bir kavramın canlı mühimmatlı bir operasyonel kabiliyete dönüşmesine yetti. Sürü dron alanında "üç yıl önce yazdım, hâlâ geçerli" diyebileceğiniz tek şey, konunun temel kavramsal çerçevesi; teknik detayların ise düzenli olarak gözden geçirilmesi gerekiyor.
Yaşar Başkaya
Kaynaklar: PX4 Developer Guide (docs.px4.io); dronekit/dronekit-python GitHub deposu; AA / STM basın açıklaması, EFES-2026; SavunmaTR, Savunma Sanayi, STAR, Haber1 haberleri (Mayıs 2026); ScienceDirect, "Collision avoidance in UAV swarms: A learning-centric perspective" (Kasım 2025); PatSnap, "Drone swarm coordination patent landscape 2026"; Sensors, "Collision Avoidance Mechanism for Swarms of Drones" (Şubat 2025).