Algorithme de stabilisation PID » History » Version 5

Axel Faure, 03/26/2013 07:13 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 1 Axel Faure
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 1 Axel Faure
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 1 Axel Faure
Kp =
26 1 Axel Faure
Ki =
27 1 Axel Faure
Kd =
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 1 Axel Faure
A noter que la présence des batteries (lourdes) sous le drone permet de faciliter sa stabilisation.
32 3 Axel Faure
33 5 Axel Faure
_ (1) : 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é._
34 2 Axel Faure
_
35 2 Axel Faure
Version non définitive
36 2 Axel Faure
Dernière mise à jour : 24/03/2013 19h00
37 2 Axel Faure
Auteur : Axel FAURE_