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

dc.contributor.advisor Aslan, Ali Rüstem
dc.contributor.author Azam, Mehreen
dc.contributor.authorID 511221120
dc.contributor.department Aeronautical and Astronautical Engineering
dc.date.accessioned 2025-05-28T12:46:16Z
dc.date.available 2025-05-28T12:46:16Z
dc.date.issued 2024-06-24
dc.description Thesis (M.Sc.) -- Istanbul Technical University, Graduate School, 2024
dc.description.abstract 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.
dc.description.degree M.Sc.
dc.identifier.uri http://hdl.handle.net/11527/27211
dc.language.iso en_US
dc.publisher Graduate School
dc.sdg.type Goal 6: Clean Water and Sanitation
dc.sdg.type Goal 7: Affordable and Clean Energy
dc.sdg.type Goal 9: Industry, Innovation and Infrastructure
dc.subject CubeSats
dc.subject Küp uydular
dc.title Development/ testing of software for a cubesat for high resolution earth observation in a low earth orbit
dc.title.alternative 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
dc.type Master Thesis
Dosyalar
Orijinal seri
Şimdi gösteriliyor 1 - 1 / 1
thumbnail.default.alt
Ad:
511221120.pdf
Boyut:
3.28 MB
Format:
Adobe Portable Document Format
Açıklama
Lisanslı seri
Şimdi gösteriliyor 1 - 1 / 1
thumbnail.default.placeholder
Ad:
license.txt
Boyut:
1.58 KB
Format:
Item-specific license agreed upon to submission
Açıklama