Résumé en anglais

The goal of this project was to be able to control a real drone, and also a virtual one with an Android device.
So we were a team of ten students, and we have split this project in five parts, in order to work in pair, and each pair had a well-defined part, composed with many tasks.

We first had to order the parts of the drone, one by one, on a Chinese website in order to build it with our own hands.
The first objective was to make the drone fly with a radio control, what we managed to do.

The pair of students in charge of the communication part of the project had to do the interaction between the Android device and the real drone or the simulated one.
There are three types of communication: the original one with Wi-Fi module and microcontroller, the second one between Wi-Fi module and simulator, and the third one directly between Android and the simulator.

A student was in charge of both drone’s enslavement, the real one and the simulated one. The code developed this way was integrated in the simulator and could have been added to the M32C microcontroller.

Another student was in charge of transposing the schema of the electronic card on KiCad in order to be able to distribute the representations of it. Then, we modified these schemas, because we had to remove the inertial measurement unit from it and replace it by another one, more recent.

We also modeled the classroom and the drone with the software Blender, and tested it with Raydium, the pair of students in charge of the Blender part also took care of the forge with TortoiseSVN.

One other big part of this project was to make an Android application which is able to control the real drone and also the virtual one. So we had to learn how to do this kind of program, because we did not learn it. So we have learned on our own to develop the application, and it works pretty well. We had to manage the connection to the devices, and also to get the video stream from the embedded camera.

Then, we had to make a simulator capable of reproducing the behavior of the real drone, in order to test the Android application. For this, we had to work on the physics of the simulator, the frictions, and the stabilization of the drone. We also tried to make it more convenient, by managing the camera of the simulator, so it can follow the drone while moving in its environment, and the keyboard, in order to test the simulator when we don’t have an Android device with us.

Right now, the simulated drone can be controlled with an android device and has quite a realistic behavior, and the real drone works with a radio controller.