Algorithme de stabilisation PID » History » Version 3

« Previous - Version 3/12 (diff) - Next » - Current version
Axel Faure, 03/26/2013 07:13 PM


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* 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 =
Ki =
Kd =

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.

* Un tel banc de test permettrait de limiter les mouvement du drone à un degrés 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é.

Version non définitive
Dernière mise à jour : 24/03/2013 19h00
Auteur : Axel FAURE