Open Source Projects
Automated Payload TT&C System
The aim of this project is to develop an automated payload TT&C system to support a future GNSS reflectometry cubesat mission. Currently this project allows the cubesat operator to schedule GNSS reflectometry experiments and have it automatically queued, uplinked during a pass, scheduled, executed and downlink experiment data, all without operator intervention. However, its implementation here can be generalised to be adopted by any payload that uses KubOS as its Cubesat operating system.
This is done by implementing a web dashboard that allows the operator to schedule experiments and view the data from the experiment. Then, the web dashboard communicates to backend system, which commands the cubesat for experiments and download telemetry and experiment data.
In combination with onboard flight software, this system have the following capabilities:
- Fully automated experiment scheduling and execution allows the operator to only specify experiment start and stop times to use the system. No other operator intervention is necessary
- Integrated data analysis tool allows the operator to view GNSS reflectometry data quality in the same web application without having to download the data first
The data analysis tool is shown below:
This project is built on several open source projects:
- Dash, a Python-based web dashboard framework that allows the developer to write web interface in pure Python
- PostgreSQL for database that is used for storing experiment states and system logs
- Redis with python-rq provides command queueing on the ground station side
- Docker provides isolated enviroments that allows easy development and deployment
This system also integrates with KubOS, a Linux-based cubesat flight software framework. This framework provides:
- Onboard scheduler that runs schedules sent from this system
- Telemetry database to store experiment status and progress
- File transfer service to downlink telemetry and science data from the satellite
A live demo of this system is available at harrygs-demo.ddns.net:8050 . The web application in this link controls a flatsat setup on ACSER, which uses Beaglebone Black as OBC and Arduino Uno as EPS. This setup hosts Harry v2, a GNSS reflectometry payload that is connected to a GPS simulator.
A guide on using the demo system is available at harrygs-demo.ddns.net . By following the guide, you can use this system to run an actual experiment on this test setup
Source code and feedback
We intend to make this project open source, but it has yet to be sufficiently mature to be publicly released. By way of the live demo, we are currently seeking collaboration, use case feedback and functionality feedback. Contact firstname.lastname@example.org for login details to the demonstration website and also the repository of this project.