Geri Dön

Development/ testing of software for a cubesat for high resolution earth observation in a low earth orbit

Alçak dünya yörüngesinde yüksek çözünürlüklü dünya gözlemine yönelik bir cubesat yazılımının geliştirilmesi/test edilmesi

  1. Tez No: 887277
  2. Yazar: MEHREEN AZAM
  3. Danışmanlar: PROF. DR. ALİM RÜSTEM ASLAN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Havacılık ve Uzay Mühendisliği, Aeronautical Engineering
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2024
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Lisansüstü Eğitim Enstitüsü
  11. Ana Bilim Dalı: Uçak ve Uzay Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Uçak ve Uzay Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 101

Özet

Küp uydular, birçok ülke tarafından akademik ve ticari amaçlarla geliştirilen, boyutları 1U'dan 27U'ya kadar değişen, küçük uydulardır. Görevlerinin başarısı büyük ölçüde yazılım mimarisinin tasarımına bağlıdır. İşlevsellik ve optimum performans elde etmenin ötesinde, yazılım hatalarına karşı dayanıklı olmalı, radyasyona olası etkilerine ve arızalara karşı korunaklı olmalıdır. Küp uydular daha gelişmiş alt sistemleri barındırdıkça, dünya çapındaki geliştiriciler atik geliştirme yöntemlerini araştırmaktadır. Sonuç olarak, yazılım geliştirme üç temel faktöre öncelik vermelidir: Modülerleştirme, yeniden düzenleme ve genelleştirme. Bu çalışmanın amacı, 16U boyutundaki bir küp uydunun yazılım modüllerinin tasarımını, uygulanmasını ve test edilmesini, esas olarak Yerleşik Bilgisayar (OBC) yazılımına odaklanarak açıklamaktır. Küp uydular, alçak dünya yörüngesinden Dünya yüzeyinin yüksek çözünürlüklü görüntülerini yakalamayı amaçlar. Görüntüleyici, 1,5 m GSD'ye sahip çok spektrumlu bir çizgi tarayıcıdır. Görüntüleyici, küp uydular görevindeki tek yüktür; geri kalan tüm donanım, görüntüleme işlemine yardımcı olmak için birleştirilmiştir. Yer istasyonuna görüntü aktarımında yüksek veri hızlı X-bant verici kullanılmış, TTNC için ise S-bant alıcı-verici devreye alınmıştır. Bu RF iletişim modüllerinin dışında üç adet pil paketli EPS alt sistemi kullanılmıştır. Gerekli elektrik enerjisini toplamak ve pil paketlerinde depolamak için hem gövdeye monte hem de açılabilir güneş panelleri bulunmaktadır. Uyduyu yönlendirmek için güneş sensörü, yıldız izleyici gibi çoklu sensörlere ve reaksiyon tekerlekleri gibi aktüatörlere sahip bir ADCS alt sistemi kullanılmıştır. ADCS alt sistemi, yönlü görüntüler için uyduyu yönlendirebilecek ve Dünya'ya görüntü verisi iletimi için yer istasyonunu takip edebilecektir. Son olarak küp uydular, yönlü iletişim için güneş panellerini ve antenleri yerleştirmek için kullanılacak özel olarak geliştirilmiş bir çevre kartına sahiptir. Yukarıda belirtilen tüm alt sistemlerin ve görev yüklerinin entegrasyonunu ve düzenli çalışmasını sağlamak için esnek bir mimariye sahip kapsamlı bir yazılım platformu geliştirilmiştir. Geçmiş projelerden edinilen deneyimlere, kodlama standartlarına ve kurallara aşina olmak için çok sayıda çalışma yapılmıştır. Gereksinim analizinin taslağının hazırlanması, tasarım ve geliştirme, doğrulama ve doğrulama ve dağıtım sonrası bakımı içeren ünlü NASA Uçuş Yazılımı (FSW) geliştirme yaşam döngüsü takip edilmiştir. Görev gereksinimlerinin taslağının hazırlanmasına kapsamlı bir değerlendirme ve özel zaman ayrılmış ve bu gereksinimler iki ana sınıfa ayrılmıştır; fonksiyonel ve fonksiyonel olmayan gereksinimler. İşlevsel olmayan kategoride, yazılım geliştirmenin kalitesini sağlamak için sonuçlandırılan üç temel gereksinim; eş zamanlı dokümantasyon, etkin takip için sürüm kontrolü ve yazılımın yeniden kullanılabilirliği olarak belirlenmiştir. İşlevsel kategoride, geliştirme ortamı, görüntü ve veri indirme, yönlendirme ve kararlılık ve güç üretimi gereksinimlerinin her biri ayrı ayrı ve kapsamlı bir şekilde tanımlanmıştır. Görev yazılımı, gerçek zamanlı planlama işlevselliği, görevler arası iletişim, zamanlama ve senkronizasyon için RTOS Gerçek Zamanlı İşletim Sistemi kullanılarak geliştirilmiştir. İlgili alt sistemler için SEU/SEL yönetimi dikkate alınır. Tercih edilen geliştirme ortamı, kodun C dilinde hazırlanmış olduğu Eclipse IDE'ydi. OBC'ye paylaşılan kaynaklar için rekabet edecek birden fazla alt sistem eklendiğinden, semaforlar, muteksler, kuyruk yapıları vb. gibi RTOS modülleri uygulamaya konmuştur. Seçilen OBC'nin birden fazla arayüzü var; bunlar ön hazırlık/telemetri için I2C, programlama ve hata ayıklama için JTAG ve geliştirme ve test için UART. İlk adımlardan biri, tüm alt sistemin bağlantıları için bir Donanım Soyutlama Katmanı (HAL) tanımlamaktır. Bu HAL çoğunlukla alt sistemlerin çoğu ile OBC arasındaki I2C bağlantısından oluşur, ancak OBC yükünü azaltmak ve görüntü verilerinin X bandı üzerinden doğrudan iletimi için kamera ile X bandı arasında yüksek hızlı uzay kablosu kullanılmıştır. Kod mimarisi, her alt sisteme özel üst düzey uygulamalar geliştirmek için yapı taşları görevi gören, bağımsız alt sistemler için kitaplıklar oluşturma etrafında yapılandırılmıştır. Bu alt sistemler, Alt Sistem Yöneticileri adı verilen RTOS iş parçacıkları tarafından kontrol edilmektedir. Bu yöneticiler sistemin mevcut durumunu kontrol eder ve belirli bir çalışma modunun ihtiyacına göre sistemi uydu için çalışır durumda tutar. Alt sistem yöneticilerinin oluşturulmasının ardından uydunun yedi çalışma modu nihai hale getirilmiştir, bu modlar; Fırlatma ve Erken Operasyonlar (LEOP), Bekleme, Şarj, Tehlike, Kalibrasyon, Kamera ve Görev Yükü çalışma modu. Bu çalışma modları FSW'nin çalışma bloğunu oluşturur. Uydu bu çalışma modlarından birine girer ve Mod Yöneticisi adı verilen bir modül tarafından kontrol edilir. Mod yöneticisi, karar almayı ve çalışma modları arasında geçiş yapmayı sağlayan bir durum makinesi gibi davranır. Görev Kontrolcüsü adı verilen bir modül tarafından desteklenir. Yer istasyonu kullanıcısı bir görüntü yakalama görevi veya görüntü verisi indirme görevi gerçekleştirmek istediğinde, görev kontrolcüsü programlanmış görevleri ayarlar ve uydunun belirli bir çalışma moduna girmesine izin verir. Bahsedilen görev kontrolcüsü aşamalı olarak tasarlanmıştır; bu aşamalar görev hazırlığı, görevin yürütülmesi ve görevin tamamlanmasıdır. Her aşamaya ilişkin zamanlamalar kullanıcı tarafından Yer istasyonundan iletilir ve alt sistemlerin belirlenen görevleri, ilgili alt sistem yöneticisi kullanılarak çalışma modu tarafından gerçekleştirilir. Yedi adet uydu çalışma modu ve bunların geliştirilmesinin yanı sıra, FSW mimarisinin önemli bir parçası olan ek çevre birimleri de bulunmaktadır; bunlar arasında paket yönlendirme, ön hazırlık ve telemetri kaydetme ve iletim, zaman işleyişi ve izleme uygulaması, veri kaydı ve dosya sistemi operasyonları gibi modüller bulunur. Tüm bu ilgili modüller, bu modlardaki görev profiline uyacak şekilde dikkatlice tasarlanmıştır. Küp uydu iletişim mimarisi bir başka karmaşık zorluktur. TTNC mimarisinin tamamı, paket mimarisi (CCSDS), OBC ve S-band üzerinden paket iletimi ve yer istasyonu yazılımından gelen veri paketlerini ayrıştırmak için AX.25 çerçeveleme konularında derinlemesine bilgi sahibi olmayı gerektirmiştir. Mimari, iletişim yöneticisi tarafından kontrol edilen iletim, alım ve iletişim hizmet bloklarından oluşur. Kod geliştirmeden sonraki aşama, kodun gerçek donanım üzerinde test edilmesini içerir. Bu aşama için sağlam bir test çerçevesi uygulanmıştır. Test üç ana aşamaya ayrılmıştır; her bir alt sistemin birim testi, entegre testi ve otonom modda, gerçek yörünge senaryosuymuş gibi, komple donanım kullanılarak yapılacak son test. Görüntüleyicinin birim testinde, ilk kontrolleri gerçekleştirmek ve işlevsellik ile servis elverişliliğini değerlendirmek için görüntüleyici şirketi tarafından sağlanan Yer Destek Ekipmanı (GSE) ve Python komut dosyaları kullanılmıştır. Diğer alt sistemler için, başarılı I2C iletişimini görselleştirmek amacıyla PC-104 konnektör pinleri ve mantık analizörü kullanılmıştır. Bu ilk birim testlerinin ardından OBC, EPS, S-bant alıcı-verici, X-bant verici, görüntüleyici vb. alt sistemler entegre edilmiştir. Kritik çalışma modları; kamera ve görev yükü veri iletimi tamamen yer istasyonu yazılımı ile gerçekleştirilmiş ve test edilmiştir. Ayrıca yer istasyonuna giden ve yer istasyonundan gelen birçok TTNC paketi uygulamaya konulmuş ve doğrulanmıştır. Artık odak noktası, ADCS kodunun uygulanması ve büyük ölçüde ADCS alt sistemine dayanan çalışma modlarının çoğunun başarılı bir şekilde uygulanmasıdır. Gelişimsel değişikliklerin uygulanması sağlamlık ve güvenilirliği sağlamak için gelecek yönelik çalışma olarak devam eden bir süreçtir.

Özet (Çeviri)

CubeSats, ranging from 1U to 27U, are small satellites many nations pursue for academic and commercial purposes. The success of their missions depends greatly on the design of their software architecture. Beyond merely achieving functionality and optimal performance, the software must also be resilient to faults and shielded from the effects of radiation, potential failures, and errors. As CubeSats accommodates more advanced subsystems, developers worldwide are exploring agile development methods. Consequently, software development must prioritize three essential factors: Modularization, refactoring, and generalization. This study aims to describe the design, implementation, and testing of software modules of a 16U CubeSat, focusing on its onboard computer (OBC) software. A comprehensive software platform has been developed featuring a flexible architecture capable of supporting a multispectral payload and other subsystems. Multiple studies were done to familiarize the current work with experience from past projects, coding standards, and rules. Three fundamental requirements were derived to ensure software development quality: Concurrent documentation, version control for efficient tracking, and Debug tools support. The mission software has been developed using the Free RTOS Real-Time Operating System for real-time scheduling functionality, inter-task communication, timing, and synchronization. SEU/SEL management is considered for relevant subsystems. The development environment of choice was the Eclipse IDE, with code crafted in the C language. The code architecture is structured around creating libraries for individual subsystems, which serve as building blocks for developing higher-level applications specific to each subsystem. Followed by creating subsystem managers and various operating modes (Initialization, idle, Payload operation mode, etc.) ensuring reliable operation. Finally, a mode manager is implemented which acts like a state machine handling decision-making and switching between operating modes. Additional peripherals like packet routing, housekeeping, timekeeping, data logging, and even power management have been designed to match the mission profile in these modes. Following code development, the subsequent phase involves testing the code on actual hardware. The chosen OBC hardware has 03 interfaces; I2C for housekeeping/telemetry, JTAG for programming and debugging, and UART for development and testing. Testing of the developed code is in process for various subsystems. As future work, implementation of developmental changes is an ongoing process to ensure robustness and reliability.

Benzer Tezler

  1. Küp uydular için tümleşik uçuş bilgisayarı ve haberleşme sistemi

    A combined OBC and communication subsystem for cubesats

    MUSTAFA ERDEM BAŞ

    Yüksek Lisans

    Türkçe

    Türkçe

    2017

    Astronomi ve Uzay Bilimleriİstanbul Teknik Üniversitesi

    Uçak ve Uzay Mühendisliği Ana Bilim Dalı

    PROF. DR. ALİM RÜSTEM ASLAN

  2. A design of a test bed for cubesat attitude determination and control system

    Küp uydu yönelim belirleme ve kontrol sistemleri için test düzeneğinin oluşturulması

    MEHMET ŞEVKET ULUDAĞ

    Yüksek Lisans

    İngilizce

    İngilizce

    2016

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Uçak ve Uzay Mühendisliği Ana Bilim Dalı

    PROF. DR. ALİM RÜSTEM ASLAN

  3. Investigation of the orbital thermal behavior of small satellites in low earth orbit

    Alçak yörüngede hareket eden küçük uyduların yörünge boyunca ısıl davranışının incelenmesi

    GÖNÜL ÇİÇEK

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Makine Mühendisliğiİstanbul Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    DOÇ. DR. ERSİN SAYAR

  4. Fonksiyonel güvenlik kapsamında elektrik motoru takviyeli direksiyon sisteminin model tabanlı yazılımının geliştirilmesi

    Model-based software development of electric motor assisted steering system within the scope of functional safety

    CENGİZ AYDIN

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Otomotiv Mühendisliğiİstanbul Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ OSMAN TAHA ŞEN

  5. Development and testing of kinematic data acquisition for a gait analysis system

    Bir yürüme analiz sistemi için kinematik veri toplama araçlarının geliştirilmesi ve test edilmesi

    YİĞİT KARPAT

    Yüksek Lisans

    İngilizce

    İngilizce

    2000

    Makine MühendisliğiOrta Doğu Teknik Üniversitesi

    Makine Mühendisliği Ana Bilim Dalı

    PROF. DR. TURGUT TÜMER