Algorithme de stabilisation PID » History » Version 10

« Previous - Version 10/12 (diff) - Next » - Current version
Axel Faure, 03/27/2013 11:40 AM


Algorithme de stabilisation PID (Proportionnel - Intégral - Dérivé)

Notions générales

L'asservissement par PID est un système assez simple. Il s'agit d'ajouter à la consigne reçue par chaque moteur un terme correctif déterminé en fonction de l'erreur mesurée.

Ce terme est en fait lui même la somme de trois termes :
  • Un terme proportionnel à l'erreur (P) qui assure un premier degré de correction
  • Un terme proportionnel à l'intégrale de l'erreur (I) dont le rôle est de réduire l'erreur statique
  • Un terme proportionnel à la dérivée de l'erreur (D) dont le rôle est de réduire l'erreur dynamique

Un algorithme simple pour le PID serait donc le suivant (où i représente l'étape actuelle de la boucle) :

Erreur i = consigne - valeur mesurée i
Dérivée i = (valeur mesurée i – valeur mesurée i-1) / (ti - ti-1)
Intégrale i = Intégrale i-1 + Erreur i * (ti – ti-1)
Erreur i *= Kp
Erreur i += Intégrale i * Ki
Erreur i -= Dérivée * Kd

Toute la difficulté de la mise en place de cet algorithme réside donc dans la définition des coefficients Kp, Ki et Kd.
Celle-ci doit être réalisé à partir d'une étude de la physique du drone (et notamment à partir de sa matrice d'inertie). Toutefois, ces méthodes nécessiteraient un banc de test (1) dont nous ne disposons pas et les approximations du comportement du drone sur lesquelles nous avons travaillé sont trop primitives pour permettre d'obtenir un résultat satisfaisant. Un ajustement expérimental s'avère donc nécessaire.

Les valeurs les plus efficaces auxquelles nous avons pu parvenir (pour le drone sur lequel nous travaillons) sont les suivantes :
Kp = 7.8
Ki = 0.005
Kd = 0.003

Toutefois la stabilisation devrait à l'heure actuelle être encore améliorée et le drone ainsi stabilisé ne devrait pas être lâché plus de quelques secondes.

A noter que la présence des batteries (lourdes) sous le drone permet de faciliter sa stabilisation en abaissant le centre de masse.

NB (1) : Un tel banc de test permettrait de limiter les mouvement du drone à un degré de liberté, à savoir un angle ou un axe, et ainsi de simplifier le problème de la stabilisation en le réduisant à plusieurs stabilisations plus primitives. Ce banc de test devrait par ailleurs ne présenter qu'une résistance très négligeable sur le degré de liberté étudié.


Dernière mise à jour : 24/03/2013 22h00
Auteur : Axel FAURE