Rehber

Mavic Uçuş Günlüğü Alma ve Analiz Kılavuzu

Drone Kara Kutusu İnceleme

Phantom 4 serisinden itibaren, DJI drone ve kontrol yazılımı, hem Drone içerisinde hem de mobil kontrol cihazında (telefon, tablet vb.) çeşitli günlük dosyalarına etkileyici miktarda uçuş verisi kaydeder ve bu, neden ve sonucun belirlenmesinde son derece yararlı olmakla birlikte cihazınızı tanımak onun dilini anlamak size güven verecektir. Bu verilere bir nevi dronun Kara Kutusu diyebiliriz.

Beklenmedik olaylarda bu günlük dosyaları, DJI GO 4 uygulamasında görünen basit uçuş özet dosyalarından çok daha fazla veri içerir, ancak erişimi o kadar kolay değildir. Bunların çoğu şifrelidir, ancak birçoğu yaygın olarak bulunan yazılımlar veya web tabanlı dönüştürücüler kullanılarak okunabilir.​​

Genelde yazılarımı hazırlarken küçük detaylar ile merak uyandırmayı seviyorum bu yüzden günlük dosyalarını açıklamadan önce, uçuş kontrol sistemlerinin nasıl çalıştığına dair kısa bir açıklama yapayım. 

Bu ayrıntı ile ilgilenmiyorsanız LOG Dosya Türleri Başlığından okumaya devam edebilirsiniz.

​​Yalnızca bir üretici yazılımı parametresini değiştirerek kullanılabilen tamamen manuel modu göz ardı ederek , uçak uçuşu, tümleşik uçuş kontrolörü (FC) tarafından tamamen kaputun altında kontrol edilir. İstenen hareketi elde etmek için yukarı/aşağı, ileri/geri, sola/sağa ve sağa/sola hareket etmek için çubuk giriş komutlarını motor ayarlarına dönüştürür. Bu da stickleri ortaladığınızda konumu, rakımı ve yönü tutma (P-GPS modu) veya ayarlanmış olarak rakım ve yönü tutma (ATTI modu) anlamına gelir. Çubuk girişleri, bu taban çizgilerine göre belirli bir hareket talep eder.​​ Bu uçuş kontrol sistemlerinin tam olarak nasıl çalıştığı oldukça derin ve gizemli bir konudur. En basit düzeyde, dronda bir veya iki MEMS bantlı IMU paketi bulunur.

Bir IMU’nun gövde şeması

3 eksenli ivmeölçerler ve hız jiroskopları ile birlikte 3 eksenli manyetometreler (pusula), bir barometrik sensör ve GPS ve GLONASS sinyallerini alan bir GNSS modülü içerir. Temel matematiğe üstünkörü bir aşinalığı olan herkes, bu nedenle, uçuş verilerinde fazlalık olduğunu fark edecektir. Teoride, bir başlangıç ​​konumu ve rotası verildiğinde, ivmeölçer ve hız gyro verilerinin dünya referans çerçevesine dönüştürülmesi, ardından zamana göre entegrasyon, zamanın bir fonksiyonu olarak hız ve yer değiştirmeyi verir – saf atalet navigasyonu. 

Pratikte, entegre miktarlarda hatalara yol açan yanlılık (sıfır ofset hataları) ve kayma (sensör kazancındaki küçük değişiklikler) nedeniyle bu tür IMU’larla çalışmaz. Ham sensör verileri mevcut olduğu için bununla birlikte, ivmeölçer ve hız gyro verileri, aslında, yanıt veren drone kontrolünü sağlamak için yeterince hızlı ölçülen tek veridir ve bu nedenle, kontrol algoritması için birincil veri kaynağıdır. Uçağın yalpalaması (yön) pusula tarafından başlatıldığında, uçağın konumu, hızı, konumu ve yüksekliği öncelikle eylemsiz olarak hesaplanır. 

Kalman Filtresi

IMU sensör kayması ve önyargı sorunları, GNSS, pusula ve barometre verileri kullanılarak bir sensör füzyon algoritması , büyük olasılıkla bir Kalman filtresi veya eşdeğeri kullanılarak daha kademeli olarak düzeltilir ve bu sensörlerin doğruluğu dahilinde mutlak hız, konum, yön ve irtifa doğru tutulur.

Kalman filtresi, sistemin tahmini durumunu ve tahminin varyansını veya belirsizliğini takip eder. Tahmin, bir durum geçiş modeli ve ölçümler kullanılarak güncellenir .

Dronun konumu aslında türetilmiş Tait-Bryan açıları (eğim, yuvarlanma ve sapma) olarak izlenmez çünkü bu belirli yönler için belirsiz hale gelir. Bunun yerine FC , matematiğin daha belirsiz bir dalı olmasına rağmen bir takım avantajlara sahip olan döndürme kuaterniyonlarını kullanır. ​Çoğu uçuş kontrol sorununa şunlar neden olur:​

  1. Aktif VPS konumlandırması mevcut olmadığı sürece, genellikle FC’nin ATTI moduna geçmesine yol açacak olan GNSS konumlandırma kaybı;
  2. IMU ve pusula sapma değerleri arasında, genellikle yerel olarak manyetik olarak bozulmuş bir bölgeden kalkıştan kaynaklanan uyuşmazlık;
  3. Dronun tasarım sınırlarını aşan rüzgar hızları;
  4. Tahrik kaybına neden olan kayıp/hasarlı aksesuarlar veya motor sorunları;
  5. Pil bağlantılarının kesilmesi nedeniyle güç kesintisi;
  6. FC/IMU işlemci sorunları.

LOG DOSYA TÜRLERİ

Mobil Cihaz DJI TXT Günlükleri​

Bu günlükler, standart DJI SDK tarafından oluşturulur ve birkaç yüz veri alanında 10 Hz’de uçaktan RC’ye iletilen telemetriyi kaydederek, motor çalıştırmadan motor durdurmaya (veya sinyal kaybına) kadar çalışır. Bu günlükler herhangi bir ham sensör verisi içermez – yalnızca sensör füzyon algoritmasının çıktısı olan IMU çözümleri. Ayrıca pil verilerini, gimbal ve kamera verilerini, uçuş durumunu ve hata bayraklarını içerir, ancak motor verilerini içermez.​​

Genellikle basit olayların analizi için gerekli olan tek şey bunlardır, ancak ham sensör verilerinin olmaması, IMU sorunları varsa kesin nedenlerin belirlenmesini zorlaştırır ve tahrik sorunları olduğunda motor verilerinin eksikliği bir sorundur. Ek olarak, nispeten yavaş veri hızı ve saniyenin onda birkaçı gecikme süresi, uçağın hızla kapanmasını takip eden olayların (ör. birçok çarpışma) kaydedilmediği anlamına gelir.​​

DJI GO 4 uygulaması tarafından oluşturulan TXT günlüklerinin kodu, aşağıdaki bölüm 4’te açıklandığım gibi çözülebilir. DJI Fly uygulaması tarafından oluşturulan TXT günlükleri de 1.2.2’den önceki sürümlerde tamamen çözülebilir, ancak Fly 1.2.2’den itibaren TXT günlükleri yalnızca AirData web sitesi tarafından okunabilir.​​

Drone DAT Dosyaları​

Bunlar, en yüksek oranlarda kaydedilen en kapsamlı verileri içerir. Bir DAT dosyası, Dronun açılışında başlatılır ve güç kapatılana kadar devam eder ve uçuş olay akışında çok sayıda önyükleme sırası, sensör kalibrasyonu ve tanılama verilerini içerir. Ayrıca, çoğu yalnızca DJI tarafından anlaşılan, bilinmeyen türlerin flagları veya tanılama hesaplamaları olan yüzlerce veri alanı vardır. Bunlar arasında ham ve işlenmiş sensör verileri ile 5 Hz ile 200 Hz arasında değişen hızlarda kaydedilen pil ve motor verileri ile birlikte uçak konumu, hızı ve yönü için IMU çözümüdür. Bu veriler, uçuş kontrol problemlerini teşhis etmek için çok değerlidir. Dosyalar, kullanılan mobil cihaz kontrol uygulamasından bağımsız olarak bulunur.​​

Ne yazık ki, son DJI modellerinde (Mavic Air, Mavic 2, Mavic Mini ve Mavic Air 2 ve Mavic Mini 2) şifre çözme anahtarları gizlidir ve bu nedenle bunlar DJI dışında okunamaz.​​ Diğer modelleri nasıl inceleyebileceğinizi merak ediyorsanız “DJI Motor Hover Testi ve Uçuş Kayıtları” yazımızı inceleyebilirsiniz.

Mobil Cihaz DAT Dosyaları

Bunlar, 10 Hz’lik daha düşük bir veri hızında kaydedilen ham sensör verilerinin çoğunu içeren Drone DAT dosyalarının bir alt kümesini içerir. Ayrıca, uygulamanın bağlı olması koşuluyla, Drone açıldığında başlatılır ve drone kapatıldığında kapatılırlar – aksi takdirde, uygulama bağlandığında bu sürenin alt kümesi olacaktır. Drone içerisinde tutulan DAT dosyaları kadar iyi değil, ancak çoğu ihtiyaç için neredeyse iyidir. Litchi veya diğer üçüncü taraf kontrol uygulamaları kullanılırken DAT dosyaları oluşturulmaz.​​

Mobil Cihaz, Üçüncü Taraf Denetim Uygulaması Günlük Dosyaları

​Litchi gibi üçüncü taraf kontrol uygulamaları, genellikle CSV formatında DJI SDK’yı kullanarak çeşitli formatlarda kendi özel günlük dosyalarını oluşturur. Gördüğüm hiçbiri, DJI DAT günlüğü bir yana, DJI TXT günlüğü kadar kapsamlı değil.​​Litchi muhtemelen en yaygın üçüncü taraf uygulaması olduğundan, iOS ve Android altında Litchi’nin ayrı bir dizinde kendi CSV günlüğünü ve standart bir DJI TXT günlüğünü oluşturduğunu belirtmekte fayda var.

Uzaktan Kumanda Günlükleri​

Popüler inanışın aksine, akıllı kontrolörlerin bariz istisnası dışında uzaktan kumandalar, hava aracından telemetri kaydetmez. Sonuç olarak, yalnızca bir kontrol cihazıyla veya DJI Goggles ile bir mobil cihaz uygulaması olmadan uçmak, uçuş adli tıbbına yardımcı olacak hiçbir telemetri olmayacağı anlamına gelir.​​

GÜNLÜK DOSYA ALMA

Mobil cihaz DJI TXT Günlükleri​

Mobil cihazdan txt günlüklerini almak için: ​​DJI GO 4 çalıştıran iOS cihazlarıyla, uygulama dosyalarına iTunes kullanarak veya iExplorer gibi bir dosya sistemi tarayıcısıyla bilgisayar aracılığıyla erişmeniz gerekir. TXT günlükleri Uygulamalar » DJI GO 4 » FlightRecords içindedirDJI Fly » FlightRecords ‘taki DJI Fly dosyalarına erişmek için aynı yöntem kullanılabilir , ancak DJI Fly ile bunlara iOS Dosyaları uygulaması kullanılarak Gözat » iPhone’umda » DJI Fly » FlightRecords seçilerek erişilebilir.​

Android cihazlarda dosya sistemi DJI GO 4 ile TXT günlükleri DJI » dji.go.v4 » FlightRecord içindedir . DJI Fly ile DJI » dji.go.v5 » FlightRecord klasörü içersindedir.

Uçuşun başlama tarihine ve saatine göre günlük adlandırma kuralı şöyledir: 

DJIFlightRecord_ YYYY_MM_DD _[ sa-dk-sn ].txt

.​iOS altında DJI Fly uygulama dosyalarına doğrudan iOS “Files” uygulamasından erişilebilir, ancak DJI GO 4 uygulamasında bu seçenek yoktur.​​

Verileri analiz etmek için yardım istiyorsanız, günlükleri alıp doğrudan burada yayınlayabilirPhantomHelp veya AirData’ya yükleyebilir ve bağlantıyı tekrar burada yayınlayabilirsini. ​AirData ayrıca, doğrudan yaygın kontrol uygulamalarının çoğundan otomatik günlük yükleme (senkronizasyon) seçeneklerine sahiptir.​

Drone DAT Dosyaları​

Bunlar yalnızca Mavic Mini, Mavic Pro ve Mavic Pro Platinum’dan (Phantom 3, Inspire 1, Phantom 4, Phantom 4 Pro, Inspire 2, Inspire 2 Pro, Matrice 100, Matrice 200, Matrice 600 ve Spark) okunabilir.

Mavic Mini, çıkarılabilir SD kartındaki fc_log.log adlı en son DAT dosyasını gizli klasörde tutar: MISC » LOG » flylog . Dosyayı DatCon ile okumak için dosya uzantısını .log’dan .DAT’ye değiştirin.​​ Drone DAT dosyaları, mobil cihaz dosyalarından çok daha büyük dosyalardır.

Mobil cihaz DAT Dosyaları

TXT günlüklerini içeren klasördeki MCDatFlightRecords adlı bir alt klasördedirler. 

​Dosyanın başlangıç tarihi ve saati dayalı DAT dosyası adlandırma kuralı, şöyledir: 

YY-AA-GG-hr-min-san _FLY XXX DAT . XXX 

Bazı durumlarda, tam olarak açıklanmayan, ancak muhtemelen mobil cihaz donanımıyla ilgili ve çoğu zaman Android altında, DAT dosyaları oluşturulmaz ve bu klasör boştur. Uygulamayı kaldırıp yeniden yüklemek bazen bunu düzeltir. Ayrıca, uygulamayı yeniden yüklemeden önce işlemin uygulama klasörünün manuel olarak silinmesi faydalı olabilir. ​​DJI Fly uygulaması, uçuş kayıtlarını DJI sunucuları ile senkronize ettiğinde ve senkronize ettiğinde DAT dosyalarını siler ve bu nedenle genellikle MCDatFlightRecords klasöründe bulunmazlar. DJI GO 4 uygulamasının iOS sürümü, 4.3.24 sürümünden beri aynı şeyi yapıyor. DJI GO 4’ün Android sürümü, 4.3.32’den itibaren DAT dosyalarını silmez.​​

Litchi Günlük Dosyaları​

iOS cihazlarda, Litchi CSV günlükleri Litchi » Belgeler » uçuş günlükleri içindedir ve DJI TXT günlükleri Litchi » Belgeler » SDK_logs » FlightRecord içindedir .​Android cihazlarda Litchi CSV günlükleri LitchiApp » uçuş günlüklerindedir . Litchi ayrıca standart bir DJI TXT günlüğü oluşturur ve bu günlük, nedense DJI uygulama dizini DJI » com.aryuthere.visionplus » FlightRecord ‘ daki bir alt dizinde depolanır .​Otomatikleştirilmiş Litchi görevleri söz konusu olduğunda, uçuş görevi profiline bir bağlantı göndermek de önemlidir.​​

4. LOG DOSYASI DÖNÜŞTÜRME VE GÖRSELLEŞTİRME

Türüne bağlı olarak günlük dosyalarının içeriğini görselleştirmek ve incelemek için çeşitli seçenekler vardır. Yaygın olarak kullanılanlardan bazıları aşağıda açıklanmıştır:

DJI TXT Günlükleri

PhantomHelp web sitesi telemetri bazılarıyla uçuş bir özetini görüntüler. Ayrıca orijinal TXT günlüğünü ve tam dosya içeriğini CSV formatında indirebilirsiniz. Grafiksel analiz sağlamaz, ancak CSV dosyasını Excel’de veya özel veri analiz programlarında açabilirsiniz. Fly 1.2.2 günlüklerinin kodunu çözmez.​​

Phantom Help İnternet Sitesi

Air DATA web sitesi aynı zamanda verilerin farklı bir görünüm veren, TXT günlükleri okuyacaktır. Uygulama bildirimlerinin kullanışlı bir özet görünümüne ve uçuş sırasında hesaplanan rüzgar alanının oldukça gelişmiş bir analizine sahiptir (yalnızca abonelik). Günlüğün tam indirilebilir bir sürümünü sağlamaz. Ayrıca, varsayılan olarak, orijinal TXT günlüğünün indirilmesine izin verir. Fly 1.2.2 günlükleri okunabilir ancak AirData tam ayrıntılı çıktı oluşturmaz.​​

AirDATA İnternet Sitesi

CsvView’ın Windows sürümü, gömülü bir TXTlogToCSVtool sürümünü kullanarak DJI TXT günlüklerini dönüştürecek ve uçuş verilerini görselleştirmek için çok sayıda güçlü seçenek sunuyor. Fly 1.2.2 günlüklerinin kodunu çözmez.​​

CsvView Programı

​​Drone DAT Dosyaları​

Phantom 4 ve Mavic Pro DAT dosyaları, OS X ve Windows altında çalışan bir Java uygulaması olan CsvView veya DatCon kullanılarak CSV formatına dönüştürülebilir . Bu dosyalar bazı veriler için 200 Hz’e kadar hızlarda kaydedilir ve yüzlerce veri alanı içerir. Bunlar son derece veri açısından zengindir, ancak onları yorumlamaya çalışmak zordur.

​Mobil cihaz DAT Dosyaları​

Bunlar, CsvView veya DatCon kullanılarak okunabilir CSV dosyalarına dönüştürülür ve OS X ve Windows altında CsvView’da görselleştirilebilir . Yalnızca 10 Hz’de kaydedilirler ve uçak DAT dosyalarından çok daha küçüktürler, ancak aynı alanların çoğunu içerirler. AirData ayrıca mobil cihaz DAT dosyalarını okur ve TXT günlüklerinde olduğu gibi benzer bir veri kümesi görüntüler.​

Litchi Günlük Dosyaları

​Bu günlükler CSV dosyaları olarak kaydedilir ve bu nedenle herhangi bir dönüştürmeye ihtiyaç duymazlar. PhantomHelp ve AirData bunları görüntüler veya Excel veya veri analiz yazılımı tarafından açılabilir.​

ADLİ TIP

Geçtiğimiz birkaç yıl içinde, olayın türüne (kaza, uçuş, kontrol kaybı, beklenmeyen davranış vb.) bağlı olarak verilere bakmak için birkaç basitleştirilmiş yaklaşım geliştirdim, ancak bunların çoğu, kendi kişisel çabalarım ile oldu.

Bunların hepsi önemli bir veri analizi paketi gerektirir – Ben bir dizi veri işleme işlevi için Wavemetrics Igor Pro kullanıyorum. Igor Pro özellikle bu tür işler için uygundur ve kullanıcı işlevleri yorumlanmak yerine derlendiğinden, çok büyük veri kümelerini çok hızlı bir şekilde işler. Birkaç örnek vermek gerekirse:

  • Uçuş kontrolü sorunları durumunda, konum ve hız için IMU sensör füzyon çözümleri arasında tutarsızlıklar ararım ve çubuk girdileri, motor hızları (yalnızca DAT dosyaları), uçak durumu ve yatay hızlar ve ivmeler arasındaki uygun korelasyonları kontrol ederim. 
  • P-GPS’deki uçuşlar (veya genel olarak uçuşlar) ile en etkili teknik, pil seviyesini tahmin etmek ve otomatik iniş ile kesişimi çözmek ve daha sonra nereye otomatik inmesi gerektiğini belirlemek için sürüklenme hızı ile uçak konumunu tahmin etmektir. 
  • Motorun kapanmasına yol açan güç kaybı veya FC arızası için, bir KML’ye yazarak, uçağın alçalma yolu için sürüklenme baskın bir sonlu fark sayısal çözümünü çalıştırmak için yüksekliğin bir fonksiyonu olarak hesaplanan rüzgar alanıyla birlikte bir aerodinamik Drone modeli kullanıyorum.

Bununla birlikte, telemetriye bakarak gerçekleştirilebilecek çeşitli basit kontroller vardır. Aşağıdaki veri alanı adları DJI TXT günlüğündendir, ancak DAT dosyalarında benzer alanlar vardır. Bazıları metin alanları, diğerleri ise sayısaldır.​

  1. OSD.flyTime – geçen uçuş süresi;
  2. OSD.flycState – uçuş kontrol modu (P-GPS, ATTI, RTH, autoland vb.)
  3. SMART_BATTERY.battery – yüzde olarak pil seviyesi;
  4. SMART_BATTERY.goHomeBattery – ana noktadan mesafeye bağlı olarak RTH’yi tetikleyen hesaplanmış pil yüzdesi;
  5. SMART_BATTERY.landBattery – başlangıç ​​noktasının üzerindeki yüksekliğe dayalı olarak otomatik inişi tetikleyen hesaplanmış pil yüzdesi;
  6. OSD.pitch, OSD.roll, OSD.yaw – yunuslama, yalpalama ve yalpalama olarak uçağın konumu (IMU sensör füzyonu yalpalama çözümü – pusula yönü değil);
  7. OSD.height – ana noktanın üzerindeki yükseklik;
  8. OSD.sWaveHeight – yerden VPS yüksekliği;
  9. OSD.gpsNum – kilitli GNSS uydularının sayısı;
  10. OSD.gpsLevel – sensör füzyon çözümüne olan güvenin bir ölçüsü olan navigasyon sağlık seviyesi (1 – 5);
  11. OSD.isGPSused – konumlandırma için kullanılan GNSS’dir;
  12. OSD.isVisionUsed – konumlandırma için kullanılan VPS’dir (GNSS yerine);
  13. RC.aileron, RC.elevator, RC.rudder, RC.throttle – kaydedilen çubuk girişleri;
  14. OSD.latitude, OSD.longitude – konum için sensör füzyonu çözümü (yalnızca DAT dosyasında bulunan ham GNSS konum verileri değil);
  15. OSD.xSpeed, OSD.ySpeed, OSD.zSpeed ​​– sırasıyla kuzey, doğu ve aşağı hız;
  16. MC_PARAM.failSafeAction – arızaya karşı güvenli eylem (RTH, üzerine gelin veya iniş).

Bu yazı uçuş sorunlarını belirlemede yararlı veri alanlarından bazılarının yalnızca kısmi bir listesidir.​  Sabırla okuduğunuz için teşekkür ederim. Herhangi bir probleminiz olursa lütfen yorum yapmaktan çekinmeyin.

ALİ KÖRÜK

networksherlocked

"Hayatta kalanlar, türlerin ne en güçlüsü ne de en zekisidir; hayatta kalanlar kendini değişime en çok uydurabilenlerdir."

2 Yorum

Bir Cevap Yazın

Başa dön tuşu