ROS-Based CubeSat Flight Software

SmallSat 2020

Poster submission to the 2020 SmallSat Conference

Between the Spring of 2019 and Fall of 2020 (when I finished my undergraduate degree), I worked as the lead flight software engineer to develop the first flight-ready ROS (Robot Operating System) based flight software for the D3 CubeSat mission (Buckner et al., 2020). The D3 contains four deployable booms for control of aerodynamic drag to: (1) reduce orbital lifetime, (2) de-orbit point target and (3) perform collision avoidance. This software was also picked to support the PATCOOL CubeSat mission in addition to D3.

 
D3 Model: Partially Deployed
D3 Model: Fully Deployed
 

Main Contributions:

  1. Developed software modules for radio telemetry links, GPS navigation, finite-state handling, uplink command processing, onboard software updates and failsafe reboots
  2. Created C++ orbital simulation/propagation software to simulate guidance tracker
  3. Performed guided trajectory analysis involving LQR (linear quadratic regulator) and EKF (extended Kalman filter) performance for guidance tracker validation
  4. Led team scheduling, trained new members and prepared test plans for three-layered SWIL (software-in-the-loop), HWIL (hardware-in-the-loop) and FlatSat testing

The D3 CubeSat was successfully launched in July 2022, and performed re-entry (completing all mission requirements) in April 2023.

 
PiNAV GPS testing in the laboratory clean-room
 

References

2020

  1. SmallSat
    buckner2020novel.PNG
    A Novel Approach to CubeSat Flight Software Development Using Robot Operating System (ROS)
    Samuel Buckner, Carlos Carrasquillo, Marcus Elosegui, and 1 more author
    In 34th Annual AIAA/USU Small Satellite Conference, 2020