Alberic de Lajarte

Robotics and aerospace engineer


...

Master thesis: GNC of a sounding rocket

EPFL Rocket Team : Dec. 2020 - July. 2021

ROS
C++
Python
Real-time Simulation
GNC
Check on Github Thesis report
My master thesis was part of Project Icarus and supervised by Professor Colin Jones and Dr. Peter Listov of the Automatic Control Laboratory at EPFL. Besides managing the project, I had to work on new guidance, navigation, and control (GNC) algorithms for our student-developed rockets.

I developed two Model Predictive Control algorithms: one for attitude and position tracking, and the other one for optimal trajectory planning.
simulator GUI
Simulator GUI based on ROS
I realized the need for a common framework for better cooperation between the student projects, so I developed the open-source real_time_simulator project based on ROS, which defines a modular software and hardware architecture, an interface to a custom real-time rocket simulator, and to our test bench for Hardware-in-the-Loop tests.
This framework allows to test algorithms in a very realistic environment, by testing both the logic of the algorithms and its interface with the hardware.

This framework was used by two major projects last year. The first one was for a custom drone we built as a test platform for our algorithms. Most of these algorithms were developed by Raphaƫl Linsen, then tested with the team. You can find more information on our paper for ICRA.
custom drone
Our custom drone


The second project was an altitude controller for our Bellalui 2 rocket flying at the 2021 EuRoc competition. The goal was to reach a precise altitude at apogee by controlling the thrust level of our rocket engine. The model was simplified to ignore orientation dynamics: \[ \vec{x} = \begin{pmatrix} \vec{p} \\ \vec{v} \\ m \end{pmatrix} \quad \quad \dot{\vec{x}} = \begin{pmatrix} \vec{v} \\ \frac{T*cos(\theta) - Cv^2}{m} -g_0 \\ \frac{-T}{g_0*Isp} \end{pmatrix} \] with \( \vec{p} \) the position, \( \vec{v} \) the velocity, \( m \) the mass, \( \theta \) the angle to the vertical, \( C \) the drag coefficient, \( g_0 \) the Earth gravity, \( Isp \) the rocket efficiency, and \( T \) the rocket thrust that is being controlled.
I used a MPC based trajectory planner to compute the optimal thrust over time, with the goal of minimizing the fuel consumption.

To get a reliable estimate of the rocket's state, the full 3D model of the rocket was used, with Newton-Euler dynamics. This model is integrated into an Extended Kalman Filter to fuse the sensor data from the gyroscope, accelerometer and barometer.


One of the biggest challenge for me was to test these complex algorithms reliably on the ground, without any test flight. Using my simulator, we tested extensively in software and processor-in-the-loop configuration, so the final GNC was completely nominal during the launch and our team won the European competition!


euroc team
The EuRoC team after a successful flight