Google Summer of Code 2020

Project Ideas for Google Summer of Code 2020

Find here a list of project ideas for GSoC 2020.
If you like to know more details please write us at info@librecube.org.


Project 1: Thermalpredict

Project Description

The temperature of system components need to remain within specified limits, otherwise they may fail. For industrial grade components these limits typically range from -40 to +85 degC, which may be enough for terrestrial applications. For CubeSats and other systems in space however, these limits may be exceeded, if no special care is taken. To predict the temperatures, analysis tools are needed. This project aims to provide an open source Python library from which one can build up scenarios to analyze the temperature variation in a simulated environment. Essentially, the user of this library shall be able to use Python classes to build a Geometric Mathematical Model and a Thermal Mathematical Model and to define the environment, and then run a simulation along a given time span.

Knowledge Prerequisite

  • Must have: sound knowledge of Python3
  • Should have: knowledge of thermal engineering (in space environment)

Difficulty

  • Advanced

Mentors

  • Jan Maass
  • Tom Fuchs

Project 2: Powerpredict

Project Description

The sun is the only power source for most systems in space. The incoming power from solar cells is quite limited and thus electrical energy is a scarce resource on satellites. To predict whether and for how long certain power loads (such as instruments) can be used during satellite operations, a power analysis is essential. This project aims at developing the ingredients for such an tool, namely an open source Python library. Satellites typically consist of solar cells as energy source, batteries for energy storage, as well as electrical circuitry to distribute and condition power to the various loads. All of those components shall be generically modeled using Python classes. Then, a simulation is run over time to determine the consumed and excessive power on board the satellite.

Knowledge Prerequisite

  • Must have: knowledge of Python3
  • Should have: knowledge of electrical engineering

Difficulty

  • Advanced

Mentors

  • Jan-Peter Ceglarek
  • Jan Maass

Project 3: Attitudepredict

Project Description

Satellites in space are not confined to air friction and gravity as systems on earth, they are almost free of external forces. There are however, disturbance forces due to moon, residual atmosphere, magnetic field, and other influences. That means that satellites in orbit will eventually rotate arbitrarily, if no active attitude control is employed. An attitude control system is used for exactly that, and it is composed of sensors to detect current attitude and actuators to control to the desired attitude. As an open source replacement for the typically used Matlab analysis, this project aims to provide an elegant Python library that models all such components and disturbance forces in a generic way. The user can than simulate the attitude movement to verify control algorithms.

Knowledge Prerequisite

  • Must have: knowledge of Python3
  • Should have: knowledge of attitude engineering and quaternions

Difficulty

  • Advanced

Mentors

  • Artur Scholz
  • Jan Maass

Project 4: Unified Space Data Link Protocol

Project Description

The USLP is a data link layer protocol to be used by space missions and published by CCSDS. It is relatively new protocol that provides a unified alternative to separate CCSDS uplink and downlink protocols. It basically defines the frame format for sending commands to and receiving telemetry from satellites. The goal of this project is to develop a Python library for this protocol and to use the ZMQ as underlying transport layer for demonstration.

Knowledge Prerequisite

  • Must have: knowledge of Python3
  • Should have: knowledge of ZMQ
  • Nice to have: knowledge of CCSDS communication standards

Difficulty

  • Medium

Mentors

  • Milenko Starcik
  • Fabian Burger

Project 5: 3D Visualization of Celestial Objects and Satellites in your Browser

Project Description

Viewing the position, orientation and movement of satellites and celestial bodies in 3D is useful for visualization of simulations and real-time mission operations. Many software tools exist that can do that. But most of them are desktop-based, and users need to install them on their computer. On the other hand, browser-based solutions do not require the user to install software and can run on any machine that supports modern browsers. Of those, all are coded in Javascript however. We, on the other hand, love Python and want to use it everywhere. Luckily, there are solutions for this that allow writing code in Python syntax and converting it to Javascript in the background. Thus the objective is to develop a framework using those technologies, such that the user can develop a 3D space scenario using Python language, and to have it animated in the browser.

Knowledge Prerequisite

  • Must have: knowledge of Python3 and OpenGL/WebGL
  • Nice to have: knowledge of Brython

Difficulty

  • Medium

Mentors

  • Artur Scholz
  • Fabian Burger