Projet

Général

Profil

Asservissement du Drône » Historique » Version 17

Anonyme, 06/03/2012 22:20

1 1 Anonyme
h1. Asservissement du Drône
2 2 Anonyme
3 3 Anonyme
Cette partie consiste à établir un code permettant de stabiliser le drone. La partie a été sous-divisé en deux.
4
5
> Asservissement en altitude
6
7 15 Anonyme
> Développement du code permettant d'utiliser le sonar
8
9 3 Anonyme
> Asservissement en x et y
10
11
Cette partie a pour but d'être intégrer au micro-contrôleur et au simulateur. Elle constitue une partie centrale du projet permettant de simuler le comportement du drone dans un environnement virtuel, ainsi que la liaison entre une tablette Androïd, les moteurs et le sonar.
12 15 Anonyme
13
h2. Asservissement en altitude
14 4 Anonyme
15
Pour établir la première partie de ce code, nous avons dû travailler sur un tableur et simuler le comportement en Z du drone en fonction de la force exercée. Les premières simulations grâce au tableur se portait sur le décollage et la stabilisation.
16 5 Anonyme
17 17 Anonyme
!http://forge.clermont-universite.fr/attachments/1148/decolage.tiff!
18 12 Anonyme
Les coordonnées en y correspondent à l'altitude en mètre et les coordonnées en x correspondent au temps en millisecondes.
19 7 Anonyme
20
Ce schéma a été réalisable en prenant en compte en maximum de paramètres permettant une approche la plus proche de la réalité.
21
> Masse
22 8 Anonyme
23 7 Anonyme
> Consigne d'altitude et altitude réel
24 8 Anonyme
25 7 Anonyme
> Différents coefficients au niveau des moteurs
26 8 Anonyme
27 7 Anonyme
> Le force a appliqué à l'instant t
28 8 Anonyme
29 7 Anonyme
> Accélération et la vitesse à l'instant t
30
31
En établissant le code, nous avons voulu éviter approche trop simpliste, consistant à mettre une poussé maximum tant que la consigne d'altitude n'est pas atteinte, et à couper les "gaz" lorsque l'altitude est atteinte ou dépassé. Cette solution facile à réaliser aurait poser un réel problème. Le drone aurait eu un comportement difficile à maitriser car il aurait effectuer des oscillations.
32
33
Pour contrer cette problématique, nous avons mis en place un code utilisant des dérivés. Le calcul de la force a appliqué prend au final en compte, la différence entre la consigne d'altitude et l'altitude réelle, l'évolution de l'erreur, ainsi que l'accélération et la vitesse à un moment t.
34
35
La formule appliqué pour calculer la force à appliquer à un moment x est celle-ci.
36
37
*Force actuelle à appliquer = Force appliqué à l'instant t-1 * (Gain proportionnel * Différence entre la consigne d'altitude et l'altitude) + (Gain dérivé * Différence entre l'erreur d'altitude réel à t et l'erreur d'altitude à t-1)*
38 9 Anonyme
39 1 Anonyme
*Détail :* On prend en considération la force appliquée précédemment et l'évolution de l'erreur d'altitude en fonction de cette force appliquer.
40 12 Anonyme
Cela a pour but de diminuer la force et par conséquence, de limiter l'accélération. Le drone s'élevant, va ralentir sa vitesse jusqu'à atteindre l'altitude visée. De cette manière, le drone va limiter sa monté en altitude au dessus de l'altitude visée. Le drone n'aura plus qu'à appliquer une force plus ou moins constante (dans la théorie) pour compenser le poids (P = m * 9,81) et le rendre immobile en altitude.
41 16 Anonyme
42
h2. Développement du code permettant d'utiliser le sonar
43
44
Aurélien
45
46
h2. Asservissement en x et y
47
48
La seconde partie concernant l'asservissement du drône consistait à rendre plus complet l'algorithme de manière à asservir en X et en Y le drône. Cette partie a été facilement réalisable grâce à M. LAFONT. Le code développé a été principalement intégré dans le moteur du simulateur pour deux raisons.
49
50
> La première raison est qu'il nous était difficile de simuler le comportement du drône en X et en Y dans un tableur. Pour cette raison, nous avons développé l'asservissement directement dans le simulateur car nous pouvions directement le tester.
51
52
> Le deuxième intérêt était par soucis de temps. En effet, cette partie a été développée dans les dernières semaines et nous savions que les algorithmes de stabilisation ne pourraient pas être compilés et "uploadés" sur le micro-contôleur. Nous avons donc décidé de mettre la priorité sur cette partie pour pouvoir terminé le simulateur. Nous avons pu dans les mêmes moments, associer les parties du simulateur, à savoir les modélisations et le moteur (avec l'algorithme de stabilisation), le module Wi-fi ainsi que la tablette Androïd. Nous avons alors pu assister à un deuxième aboutissement dans le projet, à savoir que nous pouvions diriger le drône virtuel dans le simulateur grâce à un terminal Androïd, via une connexion Wi-fi.