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
- Tez No: 887277
- Danışmanlar: PROF. DR. ALİM RÜSTEM ASLAN
- Tez Türü: Yüksek Lisans
- Konular: Havacılık ve Uzay Mühendisliği, Aeronautical Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2024
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Lisansüstü Eğitim Enstitüsü
- Ana Bilim Dalı: Uçak ve Uzay Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Uçak ve Uzay Mühendisliği Bilim Dalı
- 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
- 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
2017
Astronomi ve Uzay Bilimleriİstanbul Teknik ÜniversitesiUçak ve Uzay Mühendisliği Ana Bilim Dalı
PROF. DR. ALİM RÜSTEM ASLAN
- 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
2016
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiUçak ve Uzay Mühendisliği Ana Bilim Dalı
PROF. DR. ALİM RÜSTEM ASLAN
- 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
2023
Makine Mühendisliğiİstanbul Teknik ÜniversitesiMakine Mühendisliği Ana Bilim Dalı
DOÇ. DR. ERSİN SAYAR
- 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
2022
Otomotiv Mühendisliğiİstanbul Teknik ÜniversitesiMakine Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ OSMAN TAHA ŞEN
- 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
2000
Makine MühendisliğiOrta Doğu Teknik ÜniversitesiMakine Mühendisliği Ana Bilim Dalı
PROF. DR. TURGUT TÜMER