Voici un petit poste expliquant mon projet. Mon but est de construire un quadcopter moi même en partant de 0.
La structure
La mécanique, c'est pas trop mon truc. Vu Qu'il existe déjà sur le marché des strcutures toutes prêtes, j'ai commandé une Q450 V3 (10€):

Il y a une très bonne vidéo ici qui montre comment monter la strcuture(en Anglais):
Les rotors
4 Turnigy D2836/8 1100KV

4 Turnigy dlux 20A SBEC

8x4~10x4.5 Prop
C'est la partie la plus négligée du projet
Batterie
2200mAh 3S 11.1V 30C LiPo, 13AWG EC3
Je me suis rendu compte que ma batterie sera trop petite pour tourner à pleine puissance
IMU
J'ai acheté un AltIMU-10 v3, qui regroupe un baromètre LPS331AP, un gyroscope L3GD20H et un accéléromètre LSM303D. La communication se fait via I2C.

Controlleur
Le controlleur est fait maison basé sur une carte BeagleBone. C'est un carte pas très connue, c'est en gros un mix entre une Raspberry PI et une Arduino. Ma distribution est basée sur Debian (Linux). Le processeur ets un AM3358 cadencé à 720MHz. Cette carte a maintenant été remplacé par la BBB (BeagleBone Black), plus puissante et moins chere ($55).

Manette
Une manette de playstation low cost à 10€
Programmes
Serveur:
Il tourne en pure Python. Subdivisé en 4 classes pour le moment:
- Communication: Gère la communication entre le serveur et le client (le quadcopter et l'ordinateur)
- Reception: Une sorte de buffer qui gère les ordres envoyés par l'odinateur.
- IMU: Gère l'acquisition de l'IMU et le traintement (callibration, filtre). Fait maison.
- PID: gère le controle des moteurs.
Pure Python également. C'est une interface graphique qui gère l'analyse des données envoyés par le drone et qui envoi les commandes. Subdivisé en une dizaine de classes:
- Window: Classe principale
- Client, ClientDataReceiver: Classes de communication TCP/IP avec le drone
- compassGUI: Pas complète. Une classe qui gère l'affichage d'une sorte de boussole pour positioner le drone.
- Display: Affiche les valeurs de l'IMU
- Joystick: Tout est dit
- Motors, MotorPower: Gère les bargraphs moteurs
- Parameters: Les valeurs des PIDs.
- Trend: Affichage des courbes des différentes valeurs (basé sur matplotlib)
- widget3D: Affiche une représentation du drone en 3D