Commande Dun Drone Par Mode Glissant PDF
Commande Dun Drone Par Mode Glissant PDF
Commande Dun Drone Par Mode Glissant PDF
MEMOIRE
Présenté pour l’obtention du diplôme de Master 2
EN : CONTROLE DE PROCESSUS ET ROBOTIQUE
Sujet :
Devant le jury:
JUIN 2014
A l’achèvement de notre travail aussi modeste qu’il soit, je
remercie le tout puissant ALLAH, pour nous avoir donné force et
courage pour arriver à la concrétisation de notre projet, ensuite je
remercie infiniment notre encadreur Mr. HADJLARBI, pour son
accueil, ses conseils précieux, et son bienveillante bonté ; sous sa
houlette nous avons pu épanouir nos connaissances dans le
domaine des drones.
A la fin je tiens à saluer tout mes amis et les proches intimes qui
m’ont soutenu dans toute ma vie d’étudiant.
Mohamed Ryad
Remerciements
Remerciements
Nous tenons à remercier tout d’abord le bon Dieu de nous avoir donné le courage
et la volonté pour réaliser ce travail.
Je remercie ma mère qui m’a soutenu tout ou long de ma formation et qui a était
une source de motivation dans mes études ou dans ma vie en général
Nous tenons à manifester nos sincères gratitudes à tous les professeurs qui ont
contribué à notre formation à l’université. Grâce à eux, nous avons acquis de
précieux outils et concepts qui nous ont fortement aidés à résoudre les problèmes
auxquels nous avons été confrontés lors la réalisation de notre projet.
RAFIK AMAINI
Le sommaire
i) Remerciements
ii) Liste des figures
iii) Liste des tableaux
Introduction générale…………………………………………………………………………(1)
Chapitre I : Définitions et Généralités
I.1 La présentation de notre projet……………………………...…………………...………..(2)
I.2 Définition d’un drone ………………………………………………………...…...……..(2)
I.3 classification des drones ……... ……………………………………………………….....(2)
I.4 Choix de la structure de notre hélicoptère……………………………………...…………(2)
I.4.1 Définition d’un hélicoptère……………………………………………………………..(2)
I.4.2 Différents types d’hélicoptères…………………...……………………………….……(2)
I.5 Principe de vol des birotors coaxiaux………………………………………...…………..(4)
I.5.1 Les articulations de pales du birotor coaxial……………………………………………(5)
I.5.2 Vol dans le plan horizontal…………………………………….……………………….(5)
I.6 Conclusion……………………………………………………………………………..…(6)
Chapitre II : Modélisation
II.1 introduction……………………………………………………………………………....(7)
II.2 Synthèse du modèle……………………………………………………..……………….(7)
II.2.1 Repère et système d’axe……………………………………………………………….(7)
II.2.2 Paramètres cinétiques et cinématiques………………………………………..……….(8)
II.2.2.1 Paramètres cinématiques………………………………………………………..…..(8)
II.2.2.2 Paramètres cinétiques………………………………………………………………..(8)
II.2.3 La poussée des deux rotors……………………………………………………………(8)
II.2.4 Matrice de passage………………………………………………………………..….(10)
II.2.5 La cinématique de rotation…………………………………………………………..(11)
II.2.6 Développement du modèle…………………………………………………………..(12)
II.3 Conclusion…………………………………..………………………………………….(15)
Chapitre III : La Loi de Commande
III.1 Introduction……………………………………………………………………………(16)
III.2 Définition de la loi du mode glissant………………………………………………….(16)
III.3 La surface de glissement…………………………………………...………………….(17)
III.4 La synthèse de la commande…………………………………………………………..(17)
III.5.1 Application de la loi de commande………………………………………………….(17)
III.5.2 Le développement des commandes………………………………………………….(18)
III.6 Simulation……………………………………………………………………………..(19)
II.7 Conclusion………………………………………………………...……………………(23)
Chapitre IV :
IV.1 Introduction………………………………………………………………………...….(24)
IV.2 Stratégie à adopter………………………………………………………..……………(24)
IV.3 La contrainte de conception mécanique……………………………………………….(24)
IV.4 Identification du CX MODE…………………………………………………………..(25)
IV.4.1 Le coefficient de poussée b………………………………………………………….(25)
IV.4.2 Le coefficient de trainée d…………………………………………………………...(29)
IV.4.3 La matrice d’inertie………………………………………………………………….(32)
IV.5 Les moteurs du plateau cyclique………………………………………………………(33)
IV.6 La contrainte de l’électronique embarquée……………………………………………(33)
IV.6.1 Les spécifications techniques de la carte STM32f3discovery………………………(34)
IV.6.1.1 Le microcontrôleur STM32F303VCT6………………………………...…………(35)
IV.6.1.2 L’accéléromètre/campas ST MEMS LSM303DLHC………………………...…...(35)
IV.6.1.3 Le gyroscope L3GD20…………………………………………………………….(36)
IV.6.2 La carte de puissance………………………………………………………...………(36)
IV.7 L’utilisation des capteurs…………………………………………………………..….(39)
IV.7.1 Le filtrage de Kalman………………………………………………………………..(40)
IV.7.1.1 Historique du filtre de Kalman……………………………………………...……..(40)
IV.7.1.2 Présentation du filtre de Kalman………………………………………..…………(41)
IV.7.1.3 La théorie du filtre de Kalman…………………………………...………………..(41)
IV.7.1.4 Application du filtre dans l’estimation d’état de l’accéléromètre………………....(42)
IV.7.1.5 Application du filtre dans l’estimation d’état du gyroscope………………………(44)
IV.8 Algorithme général………………………………………………………………….…(46)
IV.9 Conclusion ………………………………………………………………………...…..(47)
Conclusion générale………………………………………………………………………...(47)
Résumé :
Dans ce mémoire, nous avons jeté un pont entre la théorie et la pratique de la commande
d’un drone de type mini hélicoptère. La connaissance des bases de l’aéronautique est
primordiale pour se prononcé sur un choix de la structure à utiliser, et cela suivant la
dynamique de vol de l’engin qu’on va par suite le modélisé et simulé son attitude le long
d’une trajectoire prédéfinie. La mise en pratique de l’étude théorique est consacrée à
l’identification des paramètres aérodynamiques, et à l’électronique embarquée sur l’aéronef
qui alimentera les moteurs de ce dernier. Le filtrage de Kalman est appliqué pour éliminé les
bruits des capteurs dues aux vibrations des moteurs et de la structure. Les résultats du filtrage
ont données des résultats probants qui nous ont fiabilisé les données capteurs.
Abstract :
Liste des figures
De nos jour, la robotique aérienne connait un engouement sans cesse grandissant, tant chez
des constructeurs privés, que dans les laboratoires de recherche. L’intérêt accordé aux
Véhicules Sans Pilote (VSP), est encouragé par l’avènement des nouvelles technologies
performantes et à des coûts pour le moins abordables, rendant ainsi la conception de
structures douées de réelle capacité de navigation autonome possible. Les applications des
VSP sont nombreuses. En premier lieu on les trouve dans le domaine sécuritaire (surveillance
de l’espace aérien, du trafic routier), la gestion des risque de la nature, la protection de
l’environnement, l’intervention dans les sites hostiles ou à haut risque (milieux radioactives,
zones de déminage), la gestion des infrastructures grandiose (les lignes de pipelines, les
grands barrages à eau), ou bien encore dans l’agriculture. Mener à bien le déroulement de
toutes ces applications, nécessite un contrôle performant et robuste de l’appareil, et par
conséquent des informations précises sur son évolution dans l’environnement de travail.
Contrairement aux robots mobiles terrestres pour lesquels il est souvent possible de se
limiter à un modèle cinématique, la commande des robots aériens requiert la connaissance
d'un modèle dynamique. Les effets de la gravité et des forces aérodynamiques en sont les
principales causes.
Le travail entrepris et expliqué dans ce mémoire répond au cahier de charges suivant :
• Stabilisé le vol de l’hélicoptère, par l’apport de la loi de commande par mode glissant
• Filtrage des données capteurs par un filtre performant et adéquat.
− Dans le second chapitre, on va détailler les différentes étapes qui vont nous permettre
d’avoir le modèle dynamique de notre engin.
− Dans le troisième chapitre, nous allons aborder la loi de commande, suivit des tests de
simulation.
1
Chapitre I
Définitions
et
Généralités
Chapitre 1 : Définitions et Généralités.
C’est la structure simple avec un rotor principale qui tourne dans un plan horizontal et
qui assure la propulsion vertical, ledit rotor est posé sur un disque rotorique qui
commande les angles de pas longitudinal et latéral ce qui assure la propulsion
horizontale. Le rotor de queue, également appelé rotor anti-couple, permet de
compenser le moment dû à la rotation du rotor principal selon son propre axe. En
d’autres termes, il permet de piloter la position de l’angle de lacet afin d’éviter que
l’hélicoptère ne tourne indéfiniment sur lui-même. Dans certaine hélicoptère le rotor
de queue est remplacé par une soufflante alimentée par le rotor principal et logée à
l’extrémité de la poutre c’est le système NOTAR. La structure conventionnelle de
2
Chapitre 1 : Définitions et Généralités.
l’hélicoptère est de loin la mieux maitrisée mais la présence d’un rotor de queue la
rend la plus vulnérables aussi ;
3
Chapitre 1 : Définitions et Généralités.
Dans le cas des engins de grande envergure, les rotors en tandem sont utilisés pour le
transport de très lourde charge. Les deux rotors sont contrarotatifs et donc compensent
mutuellement les couples dus à leurs rotations. La poussée est assurée par une
commande symétrique sur le pas collectif de chaque rotor. Pour les déplacements
latéraux, les commandes symétriques de pas cyclique d’amplitudes identiques sont
actionnées en même temps, cependant pour une commande antisymétrique de pas
cyclique il apparaît un couple de lacet.
Ce tour d’horizon nous a permit de faire un choix quant à notre projet, donc vu la
vulnérabilité de la structure conventionnelle de l’hélicoptère, et la complexité des rotors en
tandem, nous avons opté pour la structure du birotor coaxial pour la réalisation de notre
projet.
I.5 Principe de vol des birotors coaxiaux : [2]
L’une des particularités des engins à voilures tournantes est leur capacité de se mouvoir dans
les quatre sens du plan horizontal, et les deux sens du plan vertical. Faisant partie de cette
famille, le birotor coaxial présente le même profil. C’est l’inclinaison du plateau cyclique du
rotor inférieur qui permet à l’aéronef de se déplacer. La commande des angles de pas latéral et
longitudinale sont le moyen de faire incliner le plateau cyclique, la figure (I.8) illustre le
plateau cyclique du rotor inférieur du birotor coaxial.
4
Chapitre 1 : Définitions et Généralités.
• l’angle de battement est résultant de deux forces concurrentes, qui sont la portance et
la force centrifuge, la première soulève les pales alors que la seconde tend à les
alignés avec le plan du disque du rotor ;
• l’angle de pas est résultant de l’inclinaison de la pale avec le plan horizontal ; il à la
particularité d’être contrôler.
I.5.2 Vol dans le plan horizontal : [2]
Comme vu auparavant le rotor principal assure une propulsion verticale, et c’est à lui aussi
de donner à l’aéronef le mouvement de translation horizontale. L’hélicoptère vole suivant le
plan horizontal en commandant le pas collectif du plateau cyclique, référant nous une fois
encore de la figure (I.4), l’inclinaison du plateau cyclique par rapport au mât du rotor
constitue la commande de pas cyclique. De ce fait se produit une dissymétrie de la portance, il
apparaît alors un moment autour du centre de gravité G du véhicule qui permet son contrôle
en attitude illustré par la figure (I.5), l’inclinaison du véhicule entraîne l’inclinaison du rotor
et donc l’inclinaison de la portance globale qui devient alors la composante d’une force
verticale et d’une force située dans le plan horizontal qui entraîne l’hélicoptère en translation.
5
Chapitre 1 : Définitions et Généralités.
I.6 Conclusion:
Ce premier chapitre nous a permis d’opter pour une structure d’hélicoptère pour notre projet,
la connaissance du comportement dynamique de cette dernière et primordiale pour pouvoir
établir son modèle dynamique.
6
Chapitre II
Modélisation
Chapitre 2 : Modélisation
II.1 introduction :
Après avoir choisi la structure de l’hélicoptère à étudiée, nous allons passer maintenant à sa
modélisation mathématique.
7
Chapitre 2 : Modélisation
• la masse du véhicule m;
• la matrice d’inertie, qui quantifie la résistance du véhicule à sa mise en rotation et a
−I
−I
pour expression :
I = −I
I −I
−I
−I
I
(II.1)
Où les éléments diagonaux de I sont les moments d’inertie et les autres éléments sont les
produits d’inertie, qui quantifient une asymétrie géométrique ou massique de l’engin.
Dans le cas d’une symétrie parfaite les éléments non diagonaux de I deviennent nuls donc la
matrice I devient diagonale soit:
0 0
I= 0 I 0
0 0 I
(II.2)
+
deux rotors.
=
Avec , la poussée du rotor supérieur, et , celle du rotor inférieur, pour le rotor supérieur
(II.3)
8
Chapitre 2 : Modélisation
0
= 0
Ω
(II.4)
0
expression la relation suivante :
= 0
Ω
(II.5)
Avec matrice de rotation d’angles d’inclinaison longitudinal (Cx), et latéral (Cy) fig.
(II.2), est un coefficient aérodynamique, et Ω vitesse du rotor inférieur.
La matrice de transition est exprimée de la manière suivante :
= ∗ (II.6)
D’après la figure (II.2), les matrice et s’écrivent :
9
Chapitre 2 : Modélisation
le rotor inférieur subi un sillage de l’air, il doit tourner à une vitesse supérieure au rotor
supérieur, c’est ce qui se passe d’ailleurs dans les birotors coaxiaux de grandes envergures,
l’apparition d’un coefficient d’efficacité aérodynamique noté 0, qui varie suivant la distance
donc de ce fait la poussée globales n’est pas égale à la somme des deux rotors, du fait de
La force de poussée est exprimée dans le repère mobile, il nous reste a l’exprimée dans le
repère terrestre moyennant une matrice de passage entre les deux repères.
II.2.4 Matrice de passage :
La figure(10) illustre les trois rotations d’angles (roulis), (tangage) et (lacet) entre
les trois nouveaux repères 1, 2 et 3, tous d’origine G et ayant respectivement pour bases :
[x1 ,y1 ,z1] ; [x2 ,y2 ,z2] ; [x3 ,y3 ,z3]
10
Chapitre 2 : Modélisation
:
Et donc on trouve la relation générale :
8 1 0 −sin ()
8(9) = !8 , = 0 cos () cos() sin () :
8= 0 −sin () cos() cos () :
(II.14)
sin() = 0 ? sin() = 0 ?
> >
cos() = 1 cos() = 1
Et
La relation (II.14) devient:
11
Chapitre 2 : Modélisation
8 1 0 0 :
8
8(9) = ! , = !0 1 0, :
8= 0 0 1 :
(II.15)
:
Ce qui nous donne :
8
8(9) = !8 , = :
8= :
(II.16)
N |3|
F = −HIJ K 4(7)
LM OPQ SR T
(II.19)
Ou D est le diamètre du rotor, et Z la distance entre ce dernier et le sol, HIJ et HIJ sont
des coefficients tirés de manière expérimentale.
Etant donné la petite dimension de notre structure, la perturbation liée à l’effet de sol est
bornées dans le temps et en amplitude, elle est donnée par la relation suivante :
‖F‖ = −HIJ 4(7) (II.20)
Sous l’hypothèse que les angles longitudinal (Cx) et latéral (Cy) sont tellement petits, la
0
relation (II.11) devient :
= 0
0(Ω + Ω )
(II.21)
12
Chapitre 2 : Modélisation
-Y 0 0 0 -:
C 'Y = −4(7) 0 − HIJ 4(7) 0 + C 0 − V ':
6Y 0(Ω + Ω ) 0(Ω + Ω ) Z 6:
(II.22)
\
` `
'Y = −
_(,;)
0(Ω + Ω ) −
_(,;)
HIJ 0(Ω + Ω ) −
a. :
? (II.23)
] ` ` `
\6Y = − _(;,;) 0(Ω + Ω ) − _(;,;)
HIJ 0(Ω + Ω ) + Z −
:
a.=
[ ` ` `
Avec :
4(1,3) = &5& + 55
4(2,3) = 55& − &5
4(3,3) = &&
Passant maintenant aux accélérations angulaires, qui sont données par la formule suivante :
∑ ℳ = eΩ: + Ω ∧ eΩ (II.24)
Les moments sur les trois axes sont donnés par :
4 = −hi. . sin(&-) . Ω
gj = hi. . sin(&') . cos(&-) . Ω ?
k = l. mΩ − Ω n
(II.25)
Avec :
4 moment de roulis ;
j moment de tangage ;
•
k moment de lacet ;
•
•
• d : est un coefficient aérodynamique ;
• lp : est la distance entre le centre de gravité et le disque rotorique.
Sous l’hypothèse que les angles, longitudinal Cx, et latéral Cy restent tellement petits, on
peut écrire :
sin(&-) = &-
gsin(&') = &'?
cos(&-) = 1
13
Chapitre 2 : Modélisation
e Y e :
Les accélérations angulaires s’écrivent donc :
Soit :
\
Y = + zz xx :: ?
Js.t.Nuvv w Lw
] wyy wyy
\ Y = {.muv Lu| n + wxx Lwyy ::
(II.29)
v v
[ wzz wzz
Au final le modèle dynamique de notre système représenté par les accélérations linéaires
(II.23) et angulaires (II.29), est donné par :
?
] Y = − wxx + wxx ::
Js.t .NΩv v wyy Lwzz (II.30)
\
\ Y = + zz xx ::
Js.t.NΩvv w Lw
\ wyy wyy
\ Y
= + ::
{.mΩv LΩ| n
v v wxx Lwyy
[ wzz wzz
14
Chapitre 2 : Modélisation
Soit :
^ -Y = − ` } (1 − HIJ ) − `
_(,;) a. :
Avec :
} = 0(Ω + Ω )
} = −&-. . Ω
−
}; = &'. . Ω
−
} = l. (Ω − Ω )
−
−
II.3 Conclusion :
Dans ce chapitre nous avons obtenue le modèle dynamique de notre système, par l’approche
de Newton-Euler, ce qui nous permettra dans la suite de simulé l’attitude de notre aéronef.
15
Chapitre III
Loi de
Commande
Chapitre 3 : La Loi de Commande
III.1 Introduction :
Appelé à se mouvoir dans un environnement tridimensionnel, notre système doit avoir une
commande robuste, qui sera capable de résister aux perturbations externes, et de corriger aussi
les erreurs en cas de divergence du système. Le model mathématique de notre système et un
model non linéaire fortement couplé nécessitant une commande robuste, stable insensible aux
perturbations externes tel que les rafales de vent.
Il existe dans la littérature plusieurs théories de commande non linéaire, dans notre cas nous
avons opté pour la loi de commande par mode glissant.
III.2 Définition de la loi du mode glissant : [10]
La commande par mode glissant se réalise en deux phases, dans la première phase dite
d’approche, le système atteintla surface de glissement, dans la seconde, la loi de commande
force les états du système à glisser le long de la ladite surface de glissement.
16
Chapitre 3 : La Loi de Commande
Avec :
− r : le degré relatif du système.
−
: la constante de convergence.
− : l’erreur entre les états du système et ceux de référence.
pour que l’erreur tende vers zéro est que la dérivée de V soit définie négative :
Cette fonction est définie positive de manière évidente. Une condition nécessaire et suffisante
17
Chapitre 3 : La Loi de Commande
Sachant que = −$ ∗ %&'(( ) on trouve :−$ ∗ %&'(( ) = . − . +
∗ .
18
Chapitre 3 : La Loi de Commande
De (II.31) on pose :
− /, = :(1,3) = 4>?@
4>?@ >@
− /A = R(2,3) = >?4@
>?4@ # 4>@
− @ + 4@ 1
Avec C = cos, et S = sin.
La résolution du système d’équation précédant nous donne les angles désirés suivant :
o @ asin UG . SψJ # UR . CψJ
KL
MKL . NO
KT .PNO U. NO
o ? asin V
PNO Q
MK
M L . NO
KT .PNO U
III.6 Simulation :
• Sans perturbations :
On désire que notre aéronef suive une trajectoire en cercle ascendant de la manière suivante :
− Suivant l’axe x : x(t) = 10*cos(0.2t) ;
− Suivant l’axe y : y(t) = 10*sin(0.2t) ;
− Suivant l’axe z : z(t) = t ;
− Et un angle de lacet nul
La simulation nous a permet
et de visualiser la trajectoire réelle de notre aéronef, tracée avec la
trajectoire désirée en 3D pour faire la comparaison :
19
Chapitre 3 : La Loi de Commande
20
Chapitre 3 : La Loi de Commande
21
Chapitre 3 : La Loi de Commande
• Avec perturbations :
Pour s’assurer de la fiabilité de notre loi de commande, on simule notre système avec
l’avènement d’une perturbation. Pour cela on admet la trajectoire désirée du test précédent, et
on applique deux perturbations : l’une sera injectée à t = 4s sur l’axe x et d’une magnitude de
7.5N, la seconde se produira à t = 6s sur l’axe y et aura elle aussi une amplitude de 7.5N. Les
résultats de la simulation sont les suivants :
22
Chapitre 3 : La Loi de Commande
Même avec l’injection d’une perturbation, la loi de commande ramène les états de notre
système à ceux désirées, ce qui implique que notre loi de commande assure la convergence et
la stabilité même en présence de bruits non modélisé.
II.7 Conclusion :
L’apport de la loi de commande par mode glissant, à stabilisé notre système, et assurer la
convergence de ses états vers la consigne désirée, et cela malgré la présence de perturbations
non modélisée.
23
Chapitre IV
Conception
et
Réalisation
Chapitre IV : Conception et Réalisation.
IV.1Introduction :
Dans ce chapitre nous allons présenter les différentes étapes de notre travail pratique, en
premier lieu l’identification des paramètres aérodynamiques de l’hélicoptère, ensuite
l’électronique embarquée dans notre engin, le filtrage numérique pour fiabiliser les données
capteurs, et enfin nous terminerons par l’implémentation du schéma de commande adopté
dans le chapitre III.
24
Chapitre IV : Conception et Réalisation.
• Détermination de la force :
25
Chapitre IV : Conception et Réalisation.
L’expérience est réalisé à l’aide d’une balance électronique réglable pour avoir le zéro, on
procède à l’identification des moteurs un par un, pour avoir la poussée de chaque rotor
séparément.
On pose notre hélicoptère sur la balance, et on branche le moteur du rotor inférieur en
inverse, et cela pour générer une poussée dirigée vers le haut et de cette sorte avoir une force
dirigée vers le bas, cette dernière sera mesurer par la balance en Grammes, ensuite un calcul
mathématique nous donnera la force correspondante, en fait on a :
F = g * M /1000
Avec F : la force en N, g : la gravité en NKg-1 et M : la masse en Grammes ;
On prend différents mesures pour une PWM allant de 10% à 100% de la puissance maximale
(255 de ‘duty cycle’), et on relève les mesures de la balance pour ces changements de tension.
Les résultats de la manipulation sont illustrés par le tableau suivant :
La PWM (% de ‘cycle duty’) Force moteur inférieur (N) Force moteur supérieur (N)
10 0,157 0
20 0,299 0,221
30 0,489 0,503
40 0,549 0,706
50 0,702 0,904
60 0,954 1,055
70 1,113 1,254
80 1,276 1,456
90 1,402 1,611
100 1,521 1,745
Tableau (IV.1) : Les résultats de l’expérience de la force.
L’interface graphique réalisée qui nous a permit la lecture des données est la suivante :
Figure (IV.4)
(IV. : interface graphique de lecture des données.
27
Chapitre IV : Conception et Réalisation.
L’expérience nous a permit d’avoir les résultats illustrées dans le tableau suivant :
Les résultats des deux tableaux (IV.1) et (IV.2), nous permettent d’avoir le coefficient b, le
tableau (IV.3) illustre les résultats :
28
Chapitre IV : Conception et Réalisation.
Comme nous avons deux pâles de même dimension, de même forme, et de même matière,
nous obtiendrons à la fin un seul coefficient b.
De ce fait le coefficient b est la valeur moyenne des coefficients du tableau (IV.3), et cette
dernière nous donne :
= 1,42021E-06
40
30 Vitesse Moteur
Inférieur
20 Linéaire (Vitesse
y = 0,2392x + 21,133
R² = 0,9796 Moteur Inférieur)
10
0
0 50 100 150
Figure (IV.5) : Vitesse (tr/min) en fonction de la PWM (% « cycle duty ») du Moteur inférieur.
29
Chapitre IV : Conception et Réalisation.
56
54
Vitesse Moteur
52 Supérieur
50 Linéaire (Vitesse
y = 0,1794x + 39,574 Moteur Supérieur)
48 R² = 0,9643
46
0 50 100 150
Figure (IV.6) : Vitesse (tr/min) en fonction de la PWM (% « cycle duty ») du Moteur supérieur.
La linéarisation de ces deux graphes nous donne les équations linéaires suivantes :
Moteur inférieur : Vitesse = 0.2392*(PWM) +21.133 => = 0.2392.
Moteur supérieur : Vitesse = 0.1794*(PWM) + 39.574 => = 0.1794.
D’une autre part la relation qui relie le couple moteur au couple de lacet et donnée par:
Est donc :
−
#$ %#&$ #) %#&)
"=
'($ '()
Ω − Ω
Note : en différencie l’essai en charge de celui à vide par l’absence des hélices pour ce
dernier.
Pour avoir la valeur du courant absorbé par les moteurs, on alimente ces derniers en série avec
un Ampèremètre et un MOSFET IRF3205, la grille du MOSFET est attaquée par une PWM
variable pour faire varié la tension aux bornes du moteur, et par la suite le courant. On lit la
valeur du courant absorbé par la suite sur l’Ampèremètre.
La manipulation est réalisée sur les deux moteurs séparément, avec un essai en charge et un
autre à vide (sans pâles), le schéma illustrant la manipulation est le suivant :
30
Chapitre IV : Conception et Réalisation.
31
Chapitre IV : Conception et Réalisation.
Les deux tableaux (IV.2) et (IV.4), nous permettent d’avoir le coefficient de trainé d, et les
résultats sont illustrées dans le tableau suivant :
:;9 :;<
d =0,00035907
32
Chapitre IV : Conception et Réalisation.
multiple calcul rapide, d’autant que les engins volant ont la particularité d’être des systèmes
dynamiques très rapides. D’autre part, les différentes charges mis sur le birotor coaxial
doivent être les plus légères possible, pour que notre hélicoptère puisse les soulevées. Tout
cela à pour but de rendre notre birotor coaxial entièrement autonome. L’électronique
embarquée doit avoir :
Un microcontrôleur exécutant la loi de commande et le filtrage numérique.
Des capteurs fournissant l’état du birotor coaxial.
D’un montage de puissance pour attaquer les moteurs.
La solution trouvée pour palier au deux premières contraintes est trouvée en la carte
STM32f3discovery, qui possède un accéléromètre, un magnétomètre, et un gyromètre.
34
Chapitre IV : Conception et Réalisation.
35
Chapitre IV : Conception et Réalisation.
IV.6.1.3 Le gyroscopeL3GD20 :
Le ST MEMS L3GD20 est un circuit intégré compact, à faible tension d’alimentation, et qui
inclut un capteur numérique à trois axes pour la mesure de la vitesse angulaire. La connexion
entre le L3GD20, et le microcontrôleur STM32f303VTC6 est faite via un port SPI.
36
Chapitre IV : Conception et Réalisation.
Le problème qui s’est posé après, c’est que la PWM de la carte STM32f3discovery a un état
haut de 3 volts donc il fallait alors augmenter la tension qui attaque la grille du IRF3205 à au
moins 5V. Pour pallier à ce problème, nous avons utilisé un Switching Voltage Regulatorou
un Booster qui est leLT497, et qui va nous permettre d’avoir une tension de 9Volts à partir de
la tension de la batterie qui ne dépasse pas les 4.5volts, on va utiliser cette tension de 9volts
pour alimenter un circuit de PUSH PULL pour attaquer la grille de MOSFET et ce qui va
assurer le bon fonctionnement du MOSFET(saturation/blocage). Le schéma est montré dans
la figure suivante :
Maintenant on va voir les moteurs de plateau cyclique que n’ont pas besoin d’une grande
puissance pour tourner mais il faut les asservir en position. Ces moteurs sont munis d’un
potentiomètre qu’on va utiliser pour connaitre la position de moteur et indirectement l’angle
de plateau cyclique.L’utilisationdes comparateurs et du convertisseur numérique analogique
(DAC) de notre carte STM32F3 pour commander un pont en H constitué de 4 transistors
bipolairesBC818 NPNafin d’asservir l’angle de rotation de moteur désire et sa position.
37
Chapitre IV : Conception et Réalisation.
avec 3v issu de la carte STM32F3, alors on pourra savoir la tension de sortie de potentiomètre
pour chaque angle de rotation.
Donc on pourra envoyer la tension équivalente à l’angle désiré sur le DAC et la comparer
avec la tension de potentiomètre en utilisant 2 comparateurs comme la figure suivante le
montre :
Comme on le voit sur la figure (IV.15), quand la tension de DAC et supérieur à la tension de
sortie du potentiomètre, la sortie de comparateur1 est à l’état haut et la sortie de comparateur
2 est à l’état bas et donc le moteur va tourner dans un sens et en même temps la tension de
potentiomètre augmente jusque à ce qu’elle attient la tension de DAC et le moteur s’arrêtera.
Et dans le cas contraire, la tension de DAC est inferieur a la tension de potentiomètre, la sortie
de comparateur 2 qui devient à l’état haut et l’autre à l’état bas et donc le moteur vas tourner
dans l’autre sens et la tension de potentiomètre va diminue jusque à ce qu’elle attient la
tension de DAC.
Le boarddu circuit imprimé réalisé avec le logiciel EAGLE est représenté par la figure
suivante :
38
Chapitre IV : Conception et Réalisation.
Figure (IV.16)
(IV.1 : le circuit imprimé avec EAGLE.
39
Chapitre IV : Conception et Réalisation.
Figure (IV.18)
(IV.1 : donnée brute de l’accéléromètre.
Pour l’accéléromètre on remarque bien des pics de perturbations qui peuvent atteindre
jusqu’une valeur de 7.5 G, ce qui fausse considérablement notre asservissement. Aussi le
gyroscope laisse apparaitre des perturbations allant jusqu’à ∓ 20°.
Les conclusions
usions tirés de ces tests, ne laisse aucune alternative que l’utilisation d’un filtrage
adéquat pour avoir des données fiables dans le but d’asservir notre aéronef en position et en
angle, et le filtre le mieux approprié et celui de Kalman.
IV.7.1 Le filtrage
trage de Kalman :[15]
IV.7.1.1 Historique du filtre de Kalman :
Portant le nom de son développeur, le Hongrois Rudolf Kalman, bien que Thorvald
NicolaiThiele et Peter Swerling aient développé unalgorithme similaire avant lui.Bien
lui que la
théorie du filtre ait été développée et publiée par Rudolf Kalman en 1960, la première
implémentation du filtre fût l’œuvre Stanley Schmidt , qui lors d’une visite de Kalman au
siège de la NASA ait vu un réel potentiel pour son filtre pour corriger la trajectoire de la fusée
Apollo, ceci
eci conduisit à l'utilisation du filtre dans l'ordinateur de navigation.
40
Chapitre IV : Conception et Réalisation.
Une grande variété de filtres de Kalman ont été, depuis, développés à partir de la formulation
originale dite filtre de Kalmansimple. Schmidt développa le filtre de Kalman étendu, Bierman,
Thornton et bien d'autres développèrent toute une gamme de filtres racine carrée.
IV.7.1.2 Présentation du filtre de Kalman :
Le filtre de Kalman est la solution incontournable dans une multitude de domaines
techniques, tant dans le filtrage numérique ou bien la fusion de données, on peut l’utilisé pour
corriger une trajectoire ou bien traité un signal bruité, ou encore assuré la fiabilité des données
misent en chaines de retour comme dans notre cas.
La variante étendue du filtre de Kalman est appliquée aux problèmes non linéaires, comme
notre cas, nous accentuerons notre travail sur ce type de filtrage, pour ôter les bruits des
signaux de nos capteurs.
IV.7.1.3 La théorie du filtre de Kalman :
Le filtre de Kalman est un filtre d’estimation récursif. Il a la particularité d’estimer l’état
actuel à partir de l’état précédemment estimé et d’une nouvelle mesure.
L’équation d’état du système est la suivante :
= U
JV . JVW
Où :
JVK = JTK − JK ,
•
•
• K est la covariance de l'erreur d'estimation.
41
Chapitre IV : Conception et Réalisation.
Les calculs sont faits de façon itérative et incrémentale. En fait, les calculs font intervenir
des matrices intermédiaires, auxquelles on attribuera un indice (-) par opposition aux matrices
"finales", distinguées par un (+).
Supposons que nous connaissons toutes les matrices "finales" à l'instantK% . Voici comment
propager l'estimation au pas suivant.
Prédiction de l'état (ou extrapolation du vecteur d'état) :
JTK% = LK% . JTK%
[
+ OK% . K% (IV.3)
discrétisation de deuxième niveau, entre K% etK , on peut alors fournir des estimées à
Cet état extrapolé permet de fournir une estimée intermédiaire. En utilisant un pas de
J = J + N . + ]^ .
_)
(IV.8)
N = N + ]^ . (IV.9)
42
Chapitre IV : Conception et Réalisation.
Comme on a :
JTK% = LK% . JTK%
[
+ OK% . K%
Soit donc :
J 1 f f ⁄2 J
è = aJc b = @0 1 f F . aJc b (IV.10)
Jd K 0 0 1 Jd K%
La prédiction de la covariance est de la forme suivante :
K% = LK% . K%
[
. LWK% + \K%
Donc :
f k f l f m
j q
1 f f ⁄2 00 01 02 1 f 0 i 20 8 6 p
if l f m f p
K = @0 1 f F . @10 11 12F . @ f 1 0F + g^ . i p
0 0 1 20 21 ⁄
22 K% f 2 0 1 i 8m 3 2 p
if f p
h 6 f o
2
Vient en suite le calcul de la mise à jour :
rVK = rK − QK . èK% (IV.11)
rK , est la valeur que donne l’accéléromètre.
Avec H = [1 0 0], donc on trouve :
rVK = rK − JV (IV.12)
On peut également calculer la covariance de l’innovation :
sK = Q. K% . Q W + K (IV.13)
S’ensuit le gain de Kalman :
K = K% . Q W . sK % (IV.14)
A la fin en corrige l’état :
JK = JTK% + K . rVK (IV.16)
Et la matrice de covariance de l’état :
K =
− K . Q. K% (IV.17)
De la même façon on procède pour les deux autres accélérations, à savoir celle sur l’axe y, et
celle de l’axe z.
En effet, l’accélération filtrée est faussée par une donnée que le capteur donne toujours, et
qui est la force de gravité. Donc pour avoir des mesures correctes on doit ôter cette valeur, et
pour y faire, on ramène les accélérations qu’on a filtrées et qui sont référés au repère mobile
vers le repère terrestre, et cela grâce à la matrice de passage démontré dans le chapitre de la
modélisation paragraphe (II.2.4), ensuite on supprime la gravité. Et cela de la façon suivante :
43
Chapitre IV : Conception et Réalisation.
Les angles : ~,} ,et|, sont issues du filtrage des données du gyroscope.
Le résultat du filtrage de l’accéléromètre visualisé par le biais du logiciel LabView est le
suivant :
44
Chapitre IV : Conception et Réalisation.
~ ~ + ~c + ∗ f
JTK = =
K
(IV.20)
K%
1 −f 00 01 1 0 g 0
K = . . + a b(IV.21)
0 1 10 11 K% −f 1 0 g
00 − 10 ∗ f − f ∗
01 − 11 ∗ f + g 01 − 11 ∗ f
K = a b
10 − 11 ∗ f 11 + g
Il s’ensuit le calcul de l’innovation :
rVK = rK − QK . èK% (IV.23)
rVK = rK − ~K (IV.24)
Dans le cas du gyroscope, on peut avoir la valeur rK par un autre moyen pour pouvoir la
comparée avec l’état estimé. En effet l’angle peut être déduit par l’accéléromètre, pour l’angle
de roulis et de tangage, et par le magnétomètre pour le lacet. Si pour ce dernier la valeur est
donnée directement (il faut ramener le zéro de magnétomètre avec l’axe x au lieu du Nord
magnétique), pour avoir les deux autres angles on procède comme suit :
~ = atan
] ⁄]
} = atan
] ⁄]^
Pour une plus grande fiabilité, on utilise les accélérations issues du filtrage précédemment
démontré dans le paragraphe (IV.7.1.4).
La matrice H est donnée par : Q = 1 0
La covariance de l’innovation est donnée par :
1
sK = Q. K% . Q W + K = 1 0. K% . + K
0
45
Chapitre IV : Conception et Réalisation.
~ ~
= + K .
rK − ~K
K K%
(IV.27)
46
Chapitre IV : Conception et Réalisation.
IV.9 Conclusion :
Les essais réalisés à la fin de notre projet ont laissé apparaitre de grands problèmes liés aux
poids de la structure qu’on a rajouté à l’’aéronef, même si la loi de commande parvient à
stabilisé le drone.
47
Conclusion
Générale
Conclusion générale
Comme détaillé dans le cahier de charges, notre tâche était de commander le vol d’un
hélicoptère le long d’une trajectoire prédéfinie.
Le travail a été entamé par une recherche approfondie dans le domaine de l’aéronautique, qui
nous a permit de se prononcer sur un choix quant à la structure utilisée dans notre projet en
l’occurrence, un hélicoptère birotor coaxial dont le modèle dynamique de vol a été obtenu en
utilisant l’approche Newtonienne. La loi de commande robuste et non linéaire synthétisée par
mode glissant pour commander notre système, et stabiliser ces états, a données des résultats
satisfaisants en simulation, et même en présence de perturbations externes. La conception et la
réalisation pratique portaient sur l’identification des paramètres aérodynamiques de notre
structure mécanique. Ensuite nous avons enchainé avec l’électronique embarquée sur notre
aéronef, et qui comprend une carte STM32f3discovery et qui fera office de calculateur et
centrale inertielle embarquée, une carte de puissance à base de MOSFET permettant
d’alimenter les moteurs, un pont-H pour commander les moteurs du plateau cyclique. Cette
électronique embarquée fonctionne parfaitement et donne de bons résultats, ces résultats ont
était fiabilisés par l’implémentation d’un filtre de KALMAN étendue sur la carte STM32F3
vu que les données issues des capteurs étaient bruitées par les vibrations des moteurs et de la
structure mécanique ce qui rendait leur fiabilité contesté.
47
Bibliographie
[1]: K. Valavanis. Advances in unmanned aerial vehicles: state of the art and the road to
autonomy. Springer Verlag, 2007.
[5]: J. Del Cerro, J. Valero, J. Vidal, and A. Barrientos. Modeling and identification of a small
unmanned helicopter. In Proc. World Automation Congress, volume 15, pages 461–466,
2004.
[7] : « Identification du modèle de mécanique du vol d’un hélicoptère aux basses vitesses »,
B. GIMONET, ONERA-CERT.
[8] : « Modélisation et stabilisation avec des entrées bornées d’un petit hélicoptère possédant
deux rotors pivotants », Farid Kendoul, Isabelle Fantoni, Rogelio Lozano, Heudiasyc, UMR
CNRS 6599, UTC, BP 20529.
[9]: « Atterrissage et décollage robuste d’un hélicoptère standard par les techniques mode
glissant et Backstepping », M’hammed Guisser et Hicham Medromi, Univ Hassan II Ain
Chock, ENSEM, BP. 8118, Oasis Casablanca, Morroco.
[10] : « Fuzzy moving sliding mode control with application to robotic manipulators »,
Durrant-Whyte, Department of Mechanical and Mechatronic Engineering J07, The University
of Sydney, 2006 NSW, Australia.
[11]: « Quasi Sliding Mode Control of Generalized Lorenz Chaotic Systems », Pei-Zhi Zhang-
Jian, Chih-Yung Chen, Jun-Juh Yan*, Shih-Yao Ying, Hun-Da Pei.
[16] : « Kalman Filter Implementation on an Accelerometer sensor data for three state
estimation of a dynamic system », Toshak Singhal, Akshat Harit, and D N Vishwakarma.