EN

Timeline

En cour de réécriture... (13/11/2013)

▸ 15/09/2011

Montée en régime

Banc de test Après avoir réussi à transmettre l'information de la puissance des moteurs de la carte électronique aux controleurs, et arriver à décoder le fonctionnement de ces derniers, j'ai fait une montée en charge des moteurs sur mon banc de test sans stabilisation.
Les classeurs ont été rajoutés pour mettre à plat le quadricoptère. Sinon à 60-70% de la puissance total et du coups avec un angle de 45%, la planche se déplaçait horizontalement.

Vidéo du test sans la stabilisation :

▸ 21/09/2011

Position angulaire dans l'espace

La première étape est de réaliser une représentation virtuelle de la position angulaire du quadricoptère dans l'espace. Pour cela, on utilise un gyroscope et un accéléromètre pour corriger les défauts du premier. Cependant, j'ai voulu écrire mon propre algorithme basé en priorité sur l'accéléromètre, puisqu'il renvoi une réponse en absolu, pas de cumule d'erreurs possibles. En effet, un gyroscope détecte une vitesse angulaire, on peut donc connaitre l'angle en cumulant les petites distances angulaires parcourues aux fils du temps, ce qui peut créer des erreurs importantes à terme. En revanche, un accéléromètre détecte la pesanteur en absolu, sans cumuler une donnée, pas d'erreur possible. En statique, lorsque le quadricoptère ne se déplace pas, il n'y a pas de problème. En revanche, dés qu'il y a un déplacement, on créer une accélération qui est détectée par l'accéléromètre et donc induit la représentation virtuelle. J'ai alors essayé avec le gyroscope de corriger l'accéléromètre, en réduisant sans influence lorsqu'il y a une vitesse angulaire, sans grand succès. Je me suis donc rabatu sur le script d'AeroQuad, basé sur le gyroscopte corrigé par l'accéléromètre.
J'ai été également confronté à des problèmes de mathématique, par exemple les fameux angles Euler, qui me permettent d'obtenir les angles selon l'axe X, Y, et Z du répère du quadricoptère. Le blocage du cadran ne permet pas faire une représentation virtuelle, lorsque le quadricoptère se retrouve à l'envers, il y aura selon un axe (Y : tangage, dans mon cas) où une fois 90° passé, il se retrouvera la tête en bas au lieu d'être en haut (une rotation selon Z : lacet de +180°). Pour le moment, je laisse comme les développeurs d'AeroQuad on fait, je verrai par la suite si je fait du vol 3D, mais ça m'étonnerai.

Stabilisation

Via l'interface en python (langage de programmation) et le port série USB, j'ai pu renvoyer les données de la puissance des gaz de mon joystick sur mon quadricoptère. Pour faire des tests de stabilisation, c'est plus pratique d'avoir à gérer les gaz généraux à la main, question de sécurité aussi.

La suite très prochainement...

Ecrit le
Chargement...