Algorithme de stabilisation PID » History » Version 9

Pierre Guinault, 03/26/2013 09:52 PM

1 1 Axel Faure
h1. Algorithme de stabilisation PID (Proportionnel - Intégral - Dérivé)
2 1 Axel Faure
3 1 Axel Faure
h2. Notions générales
4 1 Axel Faure
5 1 Axel Faure
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.
6 1 Axel Faure
7 1 Axel Faure
Ce terme est en fait lui même la somme de trois termes : 
8 1 Axel Faure
* Un terme proportionnel à l'erreur (P) qui assure un premier degré de correction
9 1 Axel Faure
* Un terme proportionnel à l'intégrale de l'erreur (I) dont le rôle est de réduire l'erreur statique
10 1 Axel Faure
* Un terme proportionnel à la dérivée de l'erreur (D) dont le rôle est de réduire l'erreur dynamique
11 1 Axel Faure
12 1 Axel Faure
Un algorithme simple pour le PID serait donc le suivant (où i représente l'étape actuelle de la boucle) :
13 1 Axel Faure
14 9 Pierre Guinault
_Erreur i = consigne - valeur mesurée i
15 1 Axel Faure
Dérivée i = (valeur mesurée i – valeur mesurée i-1) / (ti - ti-1)
16 1 Axel Faure
Intégrale i = Intégrale i-1 + Erreur i * (ti – ti-1)
17 1 Axel Faure
Erreur i *= Kp
18 1 Axel Faure
Erreur i += Intégrale i * Ki
19 9 Pierre Guinault
Erreur i -= Dérivée * Kd_
20 1 Axel Faure
21 1 Axel Faure
Toute la difficulté de la mise en place de cet algorithme réside donc dans la définition des coefficients Kp, Ki et Kd.
22 4 Axel Faure
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.
23 1 Axel Faure
24 1 Axel Faure
Les valeurs les plus efficaces auxquelles nous avons pu parvenir (pour le drone sur lequel nous travaillons) sont les suivantes :
25 8 Pierre Guinault
Kp = 7.8
26 8 Pierre Guinault
Ki = 0.005
27 8 Pierre Guinault
Kd = 0.003
28 1 Axel Faure
29 1 Axel Faure
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.
30 1 Axel Faure
31 8 Pierre Guinault
A noter que la présence des batteries (lourdes) sous le drone permet de faciliter sa stabilisation en abaissant le centre de masse.
32 1 Axel Faure
33 3 Axel Faure
_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é._
34 8 Pierre Guinault
35 2 Axel Faure
_
36 2 Axel Faure
Version non définitive
37 8 Pierre Guinault
Dernière mise à jour : 24/03/2013 22h00
38 2 Axel Faure
Auteur : Axel FAURE_