Algorithme de stabilisation PID » History » Version 12

Axel Faure, 03/27/2013 12:36 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 11 Axel Faure
h2. Algorithme du PID
13 11 Axel Faure
14 1 Axel Faure
Un algorithme simple pour le PID serait donc le suivant (où i représente l'étape actuelle de la boucle) :
15 1 Axel Faure
16 9 Pierre Guinault
_Erreur i = consigne - valeur mesurée i
17 1 Axel Faure
Dérivée i = (valeur mesurée i – valeur mesurée i-1) / (ti - ti-1)
18 1 Axel Faure
Intégrale i = Intégrale i-1 + Erreur i * (ti – ti-1)
19 1 Axel Faure
Erreur i *= Kp
20 1 Axel Faure
Erreur i += Intégrale i * Ki
21 9 Pierre Guinault
Erreur i -= Dérivée * Kd_
22 1 Axel Faure
23 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.
24 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.
25 1 Axel Faure
26 11 Axel Faure
h2. Valeurs trouvées
27 11 Axel Faure
28 1 Axel Faure
Les valeurs les plus efficaces auxquelles nous avons pu parvenir (pour le drone sur lequel nous travaillons) sont les suivantes :
29 8 Pierre Guinault
Kp = 7.8
30 8 Pierre Guinault
Ki = 0.005
31 8 Pierre Guinault
Kd = 0.003
32 1 Axel Faure
33 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.
34 11 Axel Faure
35 11 Axel Faure
h2. Informations complémentaires
36 1 Axel Faure
37 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.
38 1 Axel Faure
39 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é._
40 8 Pierre Guinault
41 2 Axel Faure
_
42 12 Axel Faure
Dernière mise à jour : 27/03/2013 12h37
43 2 Axel Faure
Auteur : Axel FAURE_