Git Product home page Git Product logo

cansat-control-panel's Introduction

CanSat Control Panel

CanSat Control Panel (CSCP) is an application prepared for the 2021 CanSat competition. It was made in order to control the satellite, receive or generate data with simulator and to save it. This data can be displayed in a 3D environment, in a graph or in the form of a table in real time during simulation or satellite flight. It is also possible to open any number of windows displaying this data. During the cansat flight we could use the laptop’s screen to control the satellite and on an additional, bigger monitor we could display all of its parameters.

Application modes

The application can work in the following modes

  1. The simulation mode:

    In this mode, it is possible to simulate a cansata flight in order to be able to improve its control algorithms in a virtual environment, without a need of testing with the use of an actual satellite, It is possible to adjust the weather conditions like, wind force, wind direction or atmospheric pressure. Video: https://youtu.be/wQS2Nhe1ypg

  2. The ground station mode:

    In this mode, the application connects via serial communication with the microcontroller of the ground station, which receives data from the satellite using an antenna and sends it to the computer. Then, the data will be processed and used in the software. It is also possible to send commands to the satellite telling it to change the operating mode and add points or azimuth to which the satellite is to be directed. Video: https://youtu.be/yi5yU3P8Hdk

  3. The player mode:

    In this mode it is possible to playback previous flights from data received by the ground station, saved on a SD card by satellite or generated by simulator.

Used technologies

The simulation part is built with the C language and compiled to WebAssembly, which made it easier to integrate with the frontend part while maintaining high efficiency. Data from the transceiver is received with Web Serial API. The satellite steering algorithm can be compiled directly from the satellite code. Thanks to that we do not need to write it for satellite and simulator separately.

The user interface is made with React.js framework, TypeScript language compiled to javascript and Sass compiled to css. Graphs are made with the react-vis library. We thought we had to replace it with another one based on HTML5 canvas element, as the current one is based on SVG graphics, which makes updating the chart with new data very slow with large amounts of data, however it was only a problem in simulation mode when the application received data in short intervals of time (less than one second). It is not a case in station mode, because it receives data once a second.

3D environment, in which satellite is displayed with the help of Unity Engine along with C# language. It is compiled to WebGL version and used in the React app.

cansat-control-panel's People

Contributors

gojodzojo avatar

Stargazers

Aylin Edgü avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.