
FIG. 01
KAYIT KÜNYESİ
Kategori
Aviyonik
TARİH
SUAS 2026 hava aracımızı kurarken verdiğimiz ilk kalıcı karar uçuş kontrolcüsü oldu. Kâğıt üzerinde basit görünüyor: bir kart seç, yazılımı yükle, uç. Sonra ArduPilot'ın desteklenen kartlar listesini açıyorsunuz; onlarca isim çıkıyor, her biri "Pixhawk uyumlu" olduğunu iddia ediyor, fiyatlar arasında kat kat fark var ve forumda birileri size PX4'e geçmenizi söylüyor. Nereden başlanacağı hiç belli değil.
Bu yazıda o karmaşayı ikiye ayırıyoruz: donanım seçimi (hangi kart) ve uçuş yazılımı seçimi (ArduPilot mı, PX4 mü). İkisinin birbirine bağlı olduğu sanılır; oysa Pixhawk standardını izleyen kartların çoğu her iki yazılımı da çalıştırır. Yani ikisine ayrı ayrı, farklı ölçütlerle karar verebilirsiniz.
Aşağıdaki her sayı, resmi ArduPilot ve PX4 dokümantasyonuyla karşılaştırılarak doğrulandı. Doğrulayamadığımız yerlerde "üreticinin veri sayfasına bakın" yazdık; kaynak listesi yazının sonunda.
Uçuş kontrolcüsü aslında ne yapar?
Bir uçuş kontrolcüsünün (FC) dört işi vardır ve donanım ölçütlerini doğrudan bu dört iş belirler.
Sensör füzyonu. EKF (Extended Kalman Filter, genişletilmiş Kalman filtresi); IMU'dan (atalet ölçüm birimi: ivmeölçer + jiroskop), barometreden, pusuladan ve GPS'ten gelen ham veriyi tek bir durum kestirimine indirger: konum, hız, yönelim. Sensörler birbiriyle çeliştiğinde hangisine ne kadar güvenileceğine EKF karar verir. Yedekli sensörlerin önemi de buradan gelir.
Stabilizasyon. Yönelim hatasını motor komutlarına çeviren iç döngü. Kart üzerindeki gürültü doğrudan bu döngüye girer; aşağıda ayrı bir titreşim bölümü olmasının sebebi de bu.
Navigasyon. Waypoint'ler arası rota, hız profili, kalkış ve iniş mantığı.
Failsafe (güvenli-mod). Bir şey bozulduğunda ne olacağı. ArduCopter'ın failsafe kapsamı şunları içerir:
Failsafe | Tetikleyici |
|---|---|
Telsiz | Kumanda (RC) sinyalinin kaybedilmesi |
Batarya | Batarya geriliminin veya kalan kapasitenin eşiğin altına düşmesi |
GCS | Yer kontrol istasyonu bağlantısının kopması |
EKF | Durum kestiriminin güvenilmez hale gelmesi |
Titreşim | Titreşimin tolere edilemez seviyeye çıkması |
Dead Reckoning (kör seyir) | Hava aracının konum referansı olmadan konum kestirmeyi sürdürmesi |
Arazi verisi | Arazi takibi sırasında arazi verisinin kaybedilmesi |
Çarpma kontrolü / Paraşüt | Çarpmanın tespit edilmesi / paraşütün tetiklenmesi |
Not: Telsiz, batarya, GCS veya arazi failsafe'i bir mod değişikliğine yol açtıysa, pilot modu elle değiştirene kadar hava aracı o modda kalır.
Pixhawk bir ürün değil, açık bir standart
"Pixhawk" tek bir kart değil; Dronecode Foundation çatısı altında yayımlanan açık donanım standartları ailesidir. Standart; FMU (uçuş yönetim birimi) sürümünü, konnektör pin dizilimini ve son nesilde Pixhawk Autopilot Bus (PAB) üzerinden taşıyıcı kart ile FMU ayrımını tanımlar. Pratikte kazandırdığı şey şu: farklı üreticilerin kartları aynı kablolamayla ve aynı yazılımla çalışır.
FMU sürümü | Örnek kartlar | Konumu |
|---|---|---|
FMUv3 | Hex Cube Black, mRo Pixhawk | Eski nesil, hâlâ uçuyor |
FMUv4 | mRo Pixracer | Küçük ve hafif |
FMUv5 | Holybro Pixhawk 4 | Yaygın orta segment |
FMUv5X | Holybro Pixhawk 5X | Modüler tasarıma geçiş |
FMUv6C | Holybro Pixhawk 6C / 6C Mini, Pix32 v6 | Maliyet odaklı |
FMUv6X | Holybro Pixhawk 6X, CUAV Pixhawk V6X, RaccoonLab FMUv6X | Üst segment, yedeklilik üzerine kurulu |
FMUv6X-RT | NXP MR-VMU-RT1176, Pixhawk 6X-RT | i.MX RT tabanlı varyant |
Farkı somutlaştıralım. Pixhawk 6C: STM32H743 (Cortex-M7, 480 MHz, 2 MB flash, 1 MB RAM), iki IMU (ICM-42688-P + BMI055), tek barometre (MS5611), 16 PWM çıkışı, 84.8 × 44 × 12.4 mm, 59.3 g. Pixhawk 6X: STM32H753, üç IMU (Rev 8'de 3× ICM-45686), çift barometre (ICP20100 + BMP388), ayrı bir titreşim yalıtım sistemi, ısıtıcı dirençli sıcaklık kontrollü IMU kartı, 16 PWM, 8 seri port, 2 CAN. Fiyat farkının gerçekte size aldırdığı şey yedeklilik ve sensör kararlılığı.
Donanım seçim ölçütleri
ArduPilot'ın kendi seçim rehberi şu başlıkları sıralıyor: sensör yedekliliği, servo/motor çıkışı sayısı, UART sayısı, harici veri yolları (I2C, CAN), analog I/O, tümleşik özellikler, titreşim yalıtımı ve IMU ısıtıcısı, fiziksel boyut, maliyet. Otonom bir görevde kartları asıl ayıran üçü şunlar:
1. Flash boyutu. Bazı yapılandırmalarda ArduPilot yazılımı 1 MB'ı aşar; bu yüzden 1 MB flash'lı kartlara bazı özellikleri çıkarılmış bir derleme yüklenir. Hangi özelliklerin çıkarıldığı karttan karta değişir; tam liste, yazılım klasöründeki features.txt dosyasındadır. F4 tabanlı kartlar Lua scriptlerini hiç çalıştıramaz. Otonom görev planlıyorsanız 2 MB flash'lı H7 sınıfı bir kartla başlayın; sonradan bir özelliğin neden olmadığını araştırarak vakit kaybetmeyin.
2. UART bütçesi. En sık yapılan planlama hatası tam burada. Basit bir sayım yapın:
UARTs required= telemetri + GPS + companion + gimbal/kamera + ESC telemetrisi + 1 yedek
Hava aracımız | UART |
|---|---|
Telemetri telsizi | 1 |
GPS/pusula | 1 |
Jetson Orin NX (MAVLink) | 1 |
SIYI A8 mini kontrolü | 1 |
Yedek | 1 |
Toplam | 5 |
Bu sayı kartın seri port sayısını aşıyorsa ya kartı değiştirirsiniz ya da bir şeyi CAN'e taşırsınız; her iki durumda da bunu kablo demetini yapmadan önce bilmek daha ucuza gelir.
3. Titreşim yalıtımı ve SD kayıt. Dahili yalıtım ve IMU ısıtıcısı, tuning süresini kısaltan özelliklerdir. SD kart ise pazarlık konusu değil: log yoksa hata ayıklama da yok; üstelik Lua scriptleri de SD karttan yüklenir.
ArduPilot mı, PX4 mü?
Ölçüt | ArduPilot | PX4 |
|---|---|---|
Lisans | GPLv3: değişiklikleri dağıtırsanız kaynak kodu ve atıf vermek zorundasınız | BSD 3-clause: kapalı kaynak türev ürünlere izin verir |
Araç tipleri | Copter, Plane, Rover, Sub, Blimp, Antenna Tracker | Copter, Plane, VTOL, Rover, Airship, Autogyro, Spacecraft, UUV |
Mimari | HAL üzerinde, zamanlanmış görevlerle çalışan kooperatif zamanlayıcı | uORB yayınla/abone ol veri yolu üzerinde modüler yapı |
Script desteği | Yerleşik Lua scripting | Yerleşik bir Lua karşılığı yok; modüller C++ ile yazılır |
Tipik GCS | Mission Planner (Windows), QGroundControl | QGroundControl (Windows/macOS/Linux/iOS/Android) |
Parametre derinliği | Çok geniş; büyük bir tuning alanı | Daha dar; varsayılanları görece daha oturmuş |
ArduPilot'ı seçin: parametreler üzerinden derinlemesine tuning yapacaksanız, hava aracının üzerinde Lua ile mantık koşturmak istiyorsanız, Mission Planner'ın log analizi ve tuning araçlarını kullanacaksanız ve GPLv3 yükümlülüğü sizin için sorun değilse (bir yarışma takımı için genelde değildir).
PX4'ü seçin: yazılımı kapalı kaynak bir ürüne gömüp ticarileştirecekseniz, uORB tabanlı modüler mimaride C++ modülleri yazacaksanız, uXRCE-DDS köprüsü üzerinden sıkı bir ROS 2 entegrasyonuna ihtiyacınız varsa veya QGroundControl zaten kurumunuzun standardıysa.
Biz ArduPilot'ta karar kıldık: Lua scripting, Mission Planner'ın log ve tuning araçları ve airdrop için ihtiyaç duyduğumuz servo mantığı bu tarafta daha az kodla çözülüyordu. Bu bir üstünlük iddiası değil; iş yükümüzden çıkan bir tercih.
Otonom görevde gerçekten fark yaratan üç özellik
GUIDED modu. Companion computer'ın hava aracını komuta ettiği mod. Konum hedeflerini, hız ve ivme komutlarını ve SET_ATTITUDE_TARGET üzerinden yönelim hedeflerini kabul eder; DO_CHANGE_SPEED ile uçuş sırasında hızı değiştirebilirsiniz. GUIDED_NoGPS varyantı yalnızca yönelim hedeflerini kabul eder. Tespit → hizalanma → bırakma zincirimiz bu modun üzerinde çalışıyor; ayrıntılar companion computer ve MAVLink rehberimizde.
Lua scripting. SCR_ENABLE = 1 ile açılır; scriptler SD karttaki APM/scripts klasörüne konur. Donanım gereksinimi: en az 2 MB flash, en az 80 KB RAM ve bir SD kart. SCR_HEAP_SIZE varsayılanı işlemciye göre 43 KB ile 204.8 KB arasında değişir; hazır applet'lerin çoğu 300 KB'ın üzerini ister, bu yüzden heap'i elle büyütmeniz gerekebilir.
Companion bağlantısı. Jetson Orin NX'i bağlamak için üç parametre yeterli:
Uçmadan önce bunları SITL'de doğrulayın; kurulumu SITL + Gazebo yazımızda ele almıştık. Jetson tarafının kendi kurulum rehberi var.
Titreşim: seçtiğiniz kartın ölçülebilir sonucu
Kart seçiminin uçuş kalitesini nasıl etkilediğini nesnel olarak görebileceğiniz tek yer, logdaki VIBE değerleridir.
VIBE X/Y/Z | Yorum |
|---|---|
< 30 m/s² | Normalde kabul edilebilir |
30–60 m/s² | Sorun çıkarabilir |
> 60 m/s² | Konum ve irtifa tutuşu için neredeyse her zaman sorun |
CLIP0/1/2 sayaçları, bir ivmeölçerin 16 G sınırına dayandığı anları sayar. Sıfır idealdir; sert inişlerden kaynaklanan 100'ün altındaki değerler genelde tolere edilebilir. Log boyunca istikrarlı biçimde artan bir sayaç ise ciddi bir titreşim problemidir.
Titreşimi filtreleyerek bastırmanın yolu harmonik notch filtresidir. Gaz tabanlı (throttle based) kurulum:
f_hover[Hz] =hover_motor_rpm[RPM] / 60
Sayısal bir örnek. Hover'da 4200 RPM motor devri ve 0.35 hover gazı ölçtük:
Parametre | Değer |
|---|---|
| 4200 / 60 = 70 Hz |
| 70 |
| 70 / 2 = 35 Hz |
| 0.35 |
Filtre sonrası FFT'de en düşük motor gürültüsü 55 Hz'e oturuyorsa:
INS_HNTCH_REF= 0.35 * (55/70)^2 = 0.35 * 0.617 = 0.216
f_hover değerini tahmin etmek yerine ham IMU logundan (FFT ile) okuyun.

Sürekli düşülen tuzaklar
Ucuz klon kartlar. ArduPilot dokümantasyonu klonlar konusunda tarafsız kalıyor: birçoğu gayet yeterli olabilir, ancak bir kart için yazılım sağlanıyor olması onay anlamına gelmez. Risk sensörlerde ve güç devresinde yoğunlaşıyor: sahte veya düşük kaliteli IMU'lar, zayıf regülatörler, kötü konnektörler. Bunların hiçbiri tezgâhta ortaya çıkmaz; havada çıkar. Yarışma hava aracında FC, paradan kısılacak yer değildir.
Titreşimi tuning ile çözmeye çalışmak. Notch filtresi mekanik bir problemi maskeler, çözmez. Önce pervane balansı, motor yatakları, gövde rezonansı ve FC montajı. Filtre sonra.
Pusula kalibrasyonu. Metal masa, telefon, dizüstü bilgisayar veya güç kaynağı yakınında kalibrasyon yapmayın. Kalibrasyon sürekli başarısız oluyorsa COMPASS_OFFS_MAX değerini 850'den 2000–3000'e çıkarmayı ve Mission Planner'daki "Fitness" ayarını gevşetmeyi deneyin; harici pusulaya güveniyorsanız tutarsız dahili pusulaları devre dışı bırakabilirsiniz. Kalibrasyondan sonra kartı yeniden başlatın.
1 MB flash sürprizi. Kart masanıza geldikten sonra arazi takibi olmadığını fark etmek çok geç. Almadan önce o kartın features.txt dosyasına bakın veya Custom Firmware Build Server'ın istediğiniz özellik setiyle bir derleme üretebildiğini doğrulayın.
Güvenlik. Motor ve ESC testlerini; mod testleri, failsafe testleri ve yön kontrolleri dahil, pervaneler sökülmüş halde yapın. LiPo bağlıyken kart üzerinde asla kablolama değiştirmeyin; önce mutlaka bataryayı çıkarın. Güç modülünün akım ve gerilim sınırlarını üreticinin veri sayfasından doğrulayın ve batarya failsafe'i yapılandırılmadan otonom uçmayın. Yüksek akım hattındaki gevşek bir konnektör hem yangın hem de uçuşta güç kaybı riskidir.
Pratik özet
Donanımı ve yazılımı ayrı ayrı seçin. Pixhawk standardını izleyen kartların çoğu her iki uçuş yazılımını da çalıştırır; kararı geri almak yazılım tarafında ucuz, donanım tarafında pahalıdır.
2 MB flash'lı H7 sınıfı bir kartla başlayın. Lua, arazi takibi ve tam özellik seti bunu gerektirir; F4 kartlar Lua çalıştıramaz.
Kablolamaya başlamadan önce UART bütçesini yazın. Telemetri + GPS + companion + gimbal + 1 yedek: toplam kartın port sayısını aşıyorsa, kartı değil planı değiştirmek için artık geç kalmışsınız demektir.
Kararınızı "hangisi daha iyi" tartışmasına göre değil, lisansa göre verin. Hedef kapalı kaynak bir ürünse PX4 (BSD); açık kaynak bir yarışma hava aracıysa ArduPilot'ın GPLv3'ü sorun değil.
İlk uçuştan sonra ilk bakacağınız şey VIBE ve CLIP olmalı. 30 m/s²'nin altını hedefleyin; CLIP sayacı artıyorsa tuning'e geçmeden önce mekaniği düzeltin.
