Meet the members of our Blue Team from Summer Camp 2018
Members of the Blue Team: Alejandro Chinchilla, Jesús Morales , Ignacio Martínez. They are working on the development of software based in Cosmos for the communication with CubeSat. They are also co-working with the Light Blue Team.
Objetives
Our objective is to develop a software based in COSMOS(??) for the communication with the CUBESAT. Our base is another project that does the same, but with different software. That code uses Matlab as the software at the ground station, that connects with the CUBESAT, which includes and Arduino’s board.
Work distribution
The project has two main tasks:
• Migrate code from Matlab to COSMOS.
• Change Arduino code to be able to communicate with COSMOS instead of MATLAB
Starting point
Final goal
This team is told to handle the migration from Matlab to COSMOS task and the other group has to change the Arduino code.
The project
Version 0.1
We have to define a telemetry packet in COSMOS in order to receive the angular speed, Bdot data and the intensity of the magnetic field from CUBESAT.
TLM file of the first version
After solving a few mistakes and with the code that the light blue team introduce to the Arduino’s board in the CUBESAT, we could connect the it with our COSMOS system and start receiving data:
Reception of packets from Arduino
Version 0.2
We now want to establish limits to our received data. This helps to provide feedback to users about how telemetry is performing. In the tlm file we have to specify the red high,yellow high,yellow low and red high limits. When we see the limits monitor, it has a red area(invalid), yellow area(not so valid) and green area(valid).
Output of the limits monitor
Now that the plotting functions are defined we can visualize the telemetry data comming from the CUBESAT.
Visualization of the received data from CUBESAT
In the figure we have the 9 parameters plotted in three graphics. The peaks come from the movement that did ourselves of the CUBESAT at the time.
Version 0.3
We create a processor in Ruby that executes certain code every time one telemetry packet is received. The aim of doing a processor is the calibration. We have to calculate the offset of the first 300 samples of the angular speed in the three axis. Once this is done, we just calculate the calibrate data by substracting this offset to the next packets we will receive. We need to change our tlm.txt too in order to execute the processor:
Including code for the processor
After that, we thought that to create a GUImay be really usefull to us, because although every application that we will implement on it for the moment is already implemented on COSMOS, it allow us to have them in one screen and be easier to quickly manipulate. For example, we just have to click one button to ask for telemetry packets and another to stop them, instead of execute a code to do it.
Command file for the GUI
Sending telemetry GUI
OpenSatKit
Introduction
OpenSatKit is a software made by NASA to reuse the other missions’ software. OpenSatKit includes three different software: COSMOS, cFS and 42:
• cFS is included in COSMOS, it is a flight software that can reuse another software in the way we say before.
• 42 is a software package that simulates spacecraft attitude and orbital dynamics and control.
COSMOS+cFS+42 – OpenSatKit
We will be using cFS+COSMOS to control and work on a Raspberry Pi with the TCP protocol.
Moving to Raspberry
Now that our interface between Arduino and COSMOS is functional, we want to move to a more advanced system than Arduino, that is Raspberry pi. We are going to work with a Raspberry Pi Zero W. First we have to install an Operative System on the Raspberry. We choose Raspbian that is the tipicall SO for Raspberry and is similar to Linux.
After that, we start installing cFS on Raspberry. We had some issues due to the differences between Linux and Raspbian but we finish doing it. We are currently working on the use of cFS and how to make an application to communicate our cFS system in the Raspberry with a Ground Station with COSMOS.
Presentation of the Blue Team: Blue_Team