The point of this project is to illustrate the behaviour of a Real-Time system. To do so, we had to manage to make a Lego Mindstorm robot to follow a black line on a white track and can avoid obstacles (U-turn). This involve modelisation, a synchronous approach considering both mono and multi tasking. The modelisation is to be done with MatLab Simulink, the Lego Mindstorm API are in C and so is the synchronous development.

The theoretical part is divided into two parts:

The "automatics" part, where we study the problems of uncertainty in the modeling and the robustness of the command.

The "implantation part", where we study the problem of deterministically implement the control software. This part is based on the so-called synchronous approach, and considers both mono and multi tasking.

For the "automatics" part:

- the courses "Introduction à la commande des systèmes embarqués"
- "Implantation de système de contrôle"

For the "automatics" part:

- The course "Modèles du temps et du paraléllisme" (2a)

At the end of his project, the algorithms of depth extraction were working with all the constraints of High Level Synthesis (no dynamic allocation, no float, limited memory access). To do so, the image was treated in small windows and the Fixed-point arithmetic was used. This process takes about 10 minutes per image of 1758x1171 pixels. The result were not as precise as the searchers ones but considering a power of processing it was satisfying.

MatLab Simulink

Lego Mindstorm

Atom

Overleaf

This project allowed me to develop the following skills :

- Software development
- Software testing
- Project management