/ESO-Promethee

Development of a realtime experimental rocket tracking module to be tested during CNES' 2022 C'Space launch campain in France

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ESO-Promethee

Project description

ESO-Prométhée was an experimental rocket project which was designed and built by the Estaca Space Odyssey student association in 2022 at the C'Space student launch campain organized by CNES and Planète Science.

alt text Credits: https://eso-estaca.fr/

The objective of this experimental rocket was to test a Low-Cost navigation software (based on an Extended Kalman filter EKF) developed by the team responsible for the rocket's experimental payload.

Repository

This repository contains the four main Python/C/C++ modules implemented during the project:

  • The Embedded flight software designed to run on two separate boards: MASTER and SLAVE. The role of the MASTER board is to read and process the measurements from the pressure sensors, IMUs, magnetometers and GPS boards. On the other hand, the SLAVE board stores the processed data transmitted by the MASTER board on an SD card.
  • The Rocket flight simulation software, used to simulate the full rocket flight dynamics (Models: wind, aerodynamic, propulsion, ...) and generate the corresponding sensor data (Models: magnetic, atmospheric, dynamics, ...). This simulator was then used to design and tune the EKF navigation algorithm on realistic flight data.
  • The Navigation system EKF-based used to retrieve the rocket trajectory developed in python.
  • The Data analysis scripts used to process flight data. Due to the failure of the GPS module, the full EKF could not be successfully applied to retrieve the rocket trajectory. However, the flight data was used to test the apogee predictions of the flight simulation software.

Results

Flight simulation software

The following results correpond to the predicted trajectory of the rocket for average wind conditions and assuming nominal mass, dimensions, propulsion performances and atmosphere.

Rocket position exrpessed in the ENU coordinate frame

states_p_enu

Angular velocities expressed in the ENU coordinate frame

states_omega_enu

Quaternion vector

states_q

Velocity in the ENU reference frame

states_v_enu

Tuning of the Extended Kalman Filter (attitude determination)

The following results correpond to the rocket attitude predicted by the navigation software (in blue) using simulated flight data (in red).

Simulated and predicted quaternion vector

kalman_quaternion_q

Real flight data

The following results showcase the processed flight data and the corresponding altitude prediction.

Measured Pressure and Temperature

data_fusex_PT

Measured acceleration in the rocket frame

data_fusex_accel_lo

Measured angular velocity in the rocket frame

data_fusex_omega_lo

Predicted altitude using accelerometer/gyrometer integrated measurements, pressure/temperature and the EKF

data_fusex_z_ekf

The altitude predicted by the EKF is very similar to the one found with the full flight simulation (take-off @ t=5s): image