Avenue des forces lArmée Royale, Madinat Al Irfane 10 100 B.P. 6 207 Rabat -Instituts Rabat Maroc [601743]
Avenue des forces l'Armée Royale, Madinat Al Irfane 10 100 B.P. 6 207 Rabat -Instituts Rabat Maroc
Tél : (+212) 5 37 71 14 07 – Fax : (+212) 5 37 71 14 06 – Site : http://enset.um5.ac.ma
Université Mohammed V – Rabat
Ecole Normale Supérieure de l’Enseignement Technique
Département Génie Electrique
MEMOIRE DE PROJET DE FIN D’ETUDE
Pour l’obtention du diplôme de Master en Génie Electrique
Réalisé par : Aziz RACHID
Encadré par : Pr Abdel ilah JILBAB
Sous le thème
Modélisation et Contrôle d’un Drone
Quadrirotor
Soutenu le 27 juillet 2016, devant le Jury composé de :
Mr Jamal EL MHAMDI , Président du Jury, Professeur à l’ENSET de Rabat,
Mr Abdel ilah JILBAB, Membre du Jury, Professe ur à l’ENSET de Rabat,
Mr Abden nasser BOUROUHOU , Membre du Jury, Professeur à l’ENSET de Rabat .
i
Dédicaces
A la mémoire de mon père, mon premier
instructeu r, qui n'a jamais cessé d'être pour moi un
exemple de persévérance, de courage et de généro sité.
ii
Remerciements
La réalisation de ce travail a été possible grâce au concours de plusieurs personnes à qui
je voudrais témoigner toute ma reconnaissance. Pourtant il existe une difficulté, celle de
n’oublier personne. C’est pourquoi je tiens à remercier par avance ceux dont le nom n’apparaît
pas dans cette page.
Je voudrais tout d'abord adresser toute ma gratitude à Mr Abdel ilah JILBAB ,
Professeur à l’Ecole Normale Supérieure de l’Enseignement Technique (ENSET ) de Rabat et
l’encadrant de ce PFE, pour sa patience, sa disponibilité et surtout pour ses judicieux conseils .
Je tiens à remercier spécialement Mr Jamal EL MHAMDI , Professeur à l’ENSET de
Rabat et responsable du master génie électrique , pour ses conseils pertinents , ses
encouragements et surtout pour ses grandes qualités humaines.
Je remercie vivement Mr Abden nasser BOUROUHOU , Professeur à l’ENSET de
Rabat , d'avoir accepté d’évaluer le mémoire de ce PFE . Sa participation au jury de soutenance
est un grand honneur pour moi.
Je désir e aussi remercier le corps enseignant du master génie électrique à l’ENSET de
Rabat, qui m’ a fourni les outils nécessaires à la réussite de ce travail.
Je voudrais exprimer ma reconnaissance envers Mr Hassan EL Fadil , Professeur à
l’ENSA de Kénitra, pour ses précieux conseils qui ont grandement facilité mon travail et qui
ont contribué à alimenter ma réflexion .
Un grand merci à Mr Ouadoudi ZYTOUNE , Professeur à l’EN CG de Kénitra, qui m’ a
apporté son support moral et intellect uel tout au long de ma démarche
Enfin , je tiens à témoigner toute ma gratitude aux membres de m a famille pour leur
amour inconditionnel et leur support inestimable.
iii
Résumé
Ce travail est consacré à la modélisation et le contrôle d'un drone quadrirotor. Cet
objectif fut réalisé à travers l’atteinte de plusieurs étapes intermédiaires. La première était
l'étude technique du projet qui nous a permis d'aboutir à un choix judicieux du système de
propulsion et de la charge utile. La modélisation de la dynamique du quadrirotor, la
détermination e xpérimentale des paramètres du modèle et sa validation par voie de simulation
était l'objectif suivant. Ensuite, en utilisant la méthode essai -erreur, nous avons pu déterminer
les paramètres des régulateurs PID et valider leurs performances par voie de sim ulation sous
l'environnement Matlab/Simulink. Une autre étape, c'était la conception d'une carte de contrôle
à base d'un microcontrôleur ATMEGA 2560 et le développement du système de commande via
un ensemble de routines logicielles. En fin la phase de vali dation expérimentale du système de
commande a été réalisée sur une plateforme conçu autour d'une carte Arduino Mega et une
centrale inertielle MPU -6050. Le réglage expérimentale des paramètres des PID a été réalisé
sur le banc d'essai "balançoire" conçu po ur cette tâche.
Mots clés : Quadrirotor, Modélisation, Contrôle de vol, microcontrôleur ATMEGA
2560, Régulateur PID, centrale inertielle MPU -6050.
iv
Abstract
This work is devoted to modeling and control of a quadrirotor. This objective was
achieved throug h the attainment of several intermediate steps. The first was the technical study
of the project that has enabled us to reach a judicious choice of the propulsion system and of
the payload. Modeling the dynamics of quadrirotor, the experimental determinati on of
parameters of the model and its validation through simulation was the next objective. Then
using the trial and error method, we were able to determine the parameters of PID controllers
and validate their performance through simulation under Matlab / Simulink. Another step was
the development of a map -based control of a microcontroller ATMEGA 2560 and development
of the operating system via a set of software routines. In the end, the experimental validation
phase of the process control system was carri ed out on a platform designed around an Arduino
Mega board and the inertial unit (MPU -6050). The experimental setting of PID parameters was
performed on the test bench "balancing" designed for this task.
Keywords : quadrirotor, modeling, flight control, microcontroller ATMEGA 2560 PID
controller, MPU -6050 inertial unit.
v
Liste des acronymes
AHRS Attitude and Heading Reference System
CIA Central Intelligence Agency
CR Close Range
DEC Decoy
DMP Digital Motion Processor
EN Endurance
ESC Electronic Speed Controller
EUROUVS European Association of Unmanned Vehicles System
EXO Exo-stratosphérique
FIFO First In First Out
FPV First Person View
GNSS Global Navigation Satellite System
GPS Global Positioning System
HALE Haute Altitud e et Longue Endurance
I2C Inter -Integrated Circuit
IDE Integrated Development Environment
IMU Inertial Measurement Unit
INS Inertial Navigation System
IRS Inertial Refe rence System
LET Létal
LiPo Lithium polymère
LR Long Range
vi
MALE Moyenne Altitude et Longue Endurance
MAV Micro -Air Vehicle
MEMS Micro Electro Mechanical System
MR Medium Range
PID Proportional Integral Derivative
PWM Pulse Width Modulation
SR Short Range
STRATO Stratosphérique
UAV Unmanned Aerial Vehicle
UVS International Unmanned Vehicle System International
Liste de s tableaux
Tableau I.1 : Classification des drones ………………………….. ………………………….. ………………………….. . 5
Tableau I.2 : Spécifications du projet Drone ………………………….. ………………………….. …………………. 15
Tableau I.3 : Planning prévisionnel du projet drone ………………………….. ………………………….. ……….. 17
Tableau IV. 1 : Relevées relative au coefficient de poussée b ………………………….. …………………………. 47
Tableau V.1: Synthèse des caractéristiques du microcontrôleur ATMEGA 2560 ………………………… 70
viii
Liste des figures
Figure I.1 : Schéma d’un système drone ………………………….. ………………………….. ………………………….. 6
Figure I.2 : Exemples de mini -drones à voilure fixe (à gauche) et tournante (à droite) …………………… 8
Figure I.3 : Exemple de centrale inertielle ………………………….. ………………………….. ……………………… 10
Figure I.4 : Exemples de missions réalisables par des drones ………………………….. ………………………… 13
Figure I.5 : Règles d'usage d'un drone de loisirs ………………………….. ………………………….. ……………… 14
Figure II.1 : Configuration retenue pour le système de propulsion ………………………….. ………………….. 25
Figure II.1 : Résultats de la simulation du système de propulsion choisi ………………………….. ………….. 27
Figure III.1 : Modèle de quadrirotor en "+" (à gauche) et en "X" (à droite) ………………………….. …… 30
Figure III.2 : Sens de rotation des hélices (CW et CCW) ………………………….. ………………………….. … 31
Figure III.3 : Mouvements d’un quadrirotor autour des axes (x, y, z) ………………………….. ……………. 31
Figure III.4 : Montée et descente du quadrirotor ………………………….. ………………………….. ……………. 32
Figure III.5 : Mouvement de tangage ………………………….. ………………………….. ………………………….. . 33
Figure III.6 : Mouvement de Roulis ………………………….. ………………………….. ………………………….. … 33
Figure III.7 : Mouvement de Lacet ………………………….. ………………………….. ………………………….. ….. 34
Figure III.8 : Repères du quadrirotor ………………………….. ………………………….. ………………………….. .. 35
Figure III.9 : Rotations en roulis, tangage et lacet ………………………….. ………………………….. ………….. 36
Figure III.10 : Poids et forces de poussée d’un quadrirotor ………………………….. ………………………….. .. 37
Figure III.11 : Entrées/Sorties de la dynamique de translation ………………………….. ……………………….. 40
Figure III.12 : Entrées/Sorties de la dynamique de rotation ………………………….. ………………………….. . 41
Figure III.13 : Entrées/Sorties de la dynamique des moteurs ………………………….. …………………………. 42
Figure III.14 : Schéma bloc du quadrirotor ………………………….. ………………………….. …………………….. 43
Figure IV.1 : Conception de la structure du drone sous SolidWorks ………………………….. ……………… 46
Figure IV.2 : Banc d’essai pour la mesure de la poussée et la vitesse ………………………….. ……………. 47
Figure IV.3 : Banc d’essai n° 2 ………………………….. ………………………….. ………………………….. ……….. 49
Figure IV.4 : Réponse indicielle de l’ensemble {ESC, Moteur, Hélice} ………………………….. ………… 50
Figure IV.5 : Entrées/Sorties du modèle quadrirotor ………………………….. ………………………….. ………. 51
Figure IV.6 : Modèle du quadrirotor sous L'environnement Matlab/Simulink ………………………….. … 52
Figure IV.7 : Modèle de la dynamique {Variateur + Moteur + Hélice} ………………………….. …………. 53
Figure IV.8 : Schéma bloc du sous -système "Dynamique de rotation" ………………………….. ………….. 54
Figure IV.9 : Modèle de la poussée moteur et de la trainée ………………………….. ………………………….. 55
Figure IV.10 : Bloc double intégration ………………………….. ………………………….. ………………………….. . 55
Figure IV.11 : Modèle de l’effet gyroscopique ………………………….. ………………………….. ………………… 56
ix
Figure IV.12 : Modèle de l’effet d’inertie du quadrirotor ………………………….. ………………………….. ….. 56
Figure IV.13 : Schéma bloc du sous -système "Dynamique de translation" ………………………….. ………. 57
Figure IV.14 : Schéma de l'essai en boucle ouverte ………………………….. ………………………….. ………….. 58
Figure IV.15 : Résultats de la simulation d'une montée verticale ………………………….. ……………………. 59
Figure IV.16 : Résultats de la simulation d'un mouvement de roulis ………………………….. ………………. 59
Figure IV. 17 : Résultats de la simulation d'un mouvement de tangage ………………………….. ……………. 60
Figure IV.18 : Résultats de la simulation d'un mouvement de lacet ………………………….. ………………… 61
Figure IV.19 : Structure parallèle d'un régulateur PID ………………………….. ………………………….. ……… 62
Figure IV.20 : Mixage de commandes ………………………….. ………………………….. ………………………….. .. 63
Figure IV.21 : Régulation de l'att itude du quadrirotor par PID ………………………….. ………………………. 64
Figure IV.22 : Phase de pompage de la boucle de Roulis ………………………….. ………………………….. ….. 65
Figure IV.23 : Réponse de la boucle de r oulis à une consigne de 10° ………………………….. ……………… 66
Figure IV.24 : Réponse de la boucle de tangage à une consigne de 10° ………………………….. …………… 66
Figure IV.25 : Réponse de l a boucle de lacet à une consigne de 10° ………………………….. ………………. 67
Figure IV.26 : Réponses des trois boucles à un consigne de 20° ………………………….. …………………….. 67
Figure V.1: Carte de contrôle et périphériques associés ………………………….. ………………………….. ……. 70
Figure V.2: Architecture interne du microcontrôleur ATMEGA 2560 ………………………….. ……………. 71
Figure V.3: Types d’anten ne pour un module XBee -PRO ………………………….. ………………………….. … 72
Figure V.4: La centrale inertielle MPU -6050 ………………………….. ………………………….. ………………….. 72
Figure V.5: Architecture interne de la MPU -6050 ………………………….. ………………………….. …………… 73
Figure V.6: Routines assurées par la carte de contrôle ………………………….. ………………………….. ……… 74
Figure V.7: Mixage de commandes d'un quadrirotor en configuration plus (+) ………………………….. .. 76
Figure V.8: Signal PWM pour la commande des moteurs ………………………….. ………………………….. … 76
Figure V.9: Schéma de la carte de contrôle sous PROTEUS/ISIS ………………………….. ………………….. 77
Figure VI.1 : Plateforme expérimentale ………………………….. ………………………….. ………………………… 79
Figure VI.2 : Exemple de signaux PWM générés par la carte de contrôle ………………………….. ……… 80
Figure VI.3 : Commande des moteurs via le moniteur série de l'IDE Arduino ………………………….. .. 80
Figure VI.4 : Lecture de l'attitude du quadrirotor via l'interface série ………………………….. ……………. 81
Figure VI.5 : Banc d'essai "Balançoire" ………………………….. ………………………….. ………………………… 82
Figure A1.1 : Fiche technique du moteur Sunnysky V2216 -800kV ………………………….. ………………. 87
Figure A1.2 : Hélice 12×6 à la fibre de carbone ………………………….. ………………………….. ……………… 88
Figure A1.3 : Contrôleur de vitesse électrique (ESC) DYS 30A 2 -4S ………………………….. ……………. 88
Figure A1.4 : Batterie Lion Power 3S 30C 5200mah ………………………….. ………………………….. ………. 88
x
Sommaire
Dédicaces ………………………….. ………………………….. ………………………….. …………… i
Remerciements ………………………….. ………………………….. ………………………….. ………….. ii
Résumé ………………………….. ………………………….. ………………………….. …………. iii
Abstract ………………………….. ………………………….. ………………………….. …………. iv
Liste des acron ymes ………………………….. ………………………….. ………………………….. …….. v
Liste des tableaux ………………………….. ………………………….. ………………………….. ……… vii
Liste des figures ………………………….. ………………………….. ………………………….. ……….. viii
Introduction générale ………………………….. ………………………….. ………………………….. … 1
Chapitre I : Contexte général du travail ………………………….. …………………………. 3
I.1. Généralités sur les drones ………………………….. ………………………….. …………….. 3
I.1.1 Définition ………………………….. ………………………….. ………………………….. 3
I.1.2 Historique ………………………….. ………………………….. …………………………. 3
I.1.3 Classification des drones ………………………….. ………………………….. …….. 4
I.1.4 Le système drone ………………………….. ………………………….. ……………….. 6
I.1.5 L’autopilote ………………………….. ………………………….. ………………………. 8
I.1.6 Les capteurs du drone ………………………….. ………………………….. …………. 9
I.1.7 Utilisations des drones ………………………….. ………………………….. ………. 11
I.1.8 La réglementation drone au Maroc ………………………….. …………………. 14
I.2. Projet Drone ………………………….. ………………………….. ………………………….. …. 15
I.2.1 Objectif ………………………….. ………………………….. ………………………….. . 15
I.2.2 Spécifications du projet Drone ………………………….. ……………………….. 15
I.3. Cahier des charges ………………………….. ………………………….. …………………….. 16
I.4. Planning prévisionnel ………………………….. ………………………….. ………………… 17
Chapitre II : Etude technique du projet ………………………….. …………………………. 19
Introduction ………………………….. ………………………….. ………………………….. …………… 19
II.1. Choix du système de propulsion ………………………….. ………………………….. . 19
II.1.1 Choix des moteurs ………………………….. ………………………….. ……………. 19
II.1.2 Choix des hélices ………………………….. ………………………….. ……………… 21
xi
II.1.3 Choix du contrôleur électronique de vitesse ………………………….. …….. 22
II.1.4 Choix de la batterie : ………………………….. ………………………….. ………… 23
II.2. Validation de la configuration retenue ………………………….. …………………… 24
II.2.1 Configuration finale retenue ………………………….. ………………………….. . 24
II.2.2 Résultats de la simulation ………………………….. ………………………….. ….. 26
Conclusion ………………………….. ………………………….. ………………………….. ……………. 28
Chapitre III : Modé lisation du quadrirotor ………………………….. ……………………… 29
Introduction ………………………….. ………………………….. ………………………….. …………… 29
III.1. Dynamique d’un quadrirotor ………………………….. ………………………….. ……. 30
III.1.1 Montée et descente du quadrirotor ………………………….. ………………….. 32
III.1.2 Le Tangage : Avancer/Reculer : ………………………….. ……………………… 32
III.1.3 Le Roulis : Gauche/Dro ite ………………………….. ………………………….. …. 33
III.1.4 Le Lacet : Rotation autour de l’axe z ………………………….. ………………. 34
III.2. Modélisation dynamique d’un quadrirotor ………………………….. ……………… 34
III.2.1 Hypothèses du modèle ………………………….. ………………………….. ………. 34
III.2.2 Repères du quadrirotor ………………………….. ………………………….. ……… 35
III.2.3 Angles aéronautiq ues ………………………….. ………………………….. ……….. 35
III.2.4 Effets physiques agissants sur le quadrirotor ………………………….. ……. 36
III.2.5 Modèle mathématique selon Newton -Euler ………………………….. ……… 38
III.2.6 Etude de la dynamique des moteurs. ………………………….. ……………….. 41
III.2.7 Schéma bloc du quadrirotor ………………………….. ………………………….. . 42
Conclusion ………………………….. ………………………….. ………………………….. ……………. 43
Chapitre IV : Validation du modèle quadrirotor et approche de commande …. 45
Introduction ………………………….. ………………………….. ………………………….. …………… 45
IV.1. Détermination des paramètres du modèle ………………………….. ………………. 46
IV.1.1 Détermination des moments d’inerties du drone ………………………….. .. 46
IV.1.2 Détermination du coefficient de poussée b ………………………….. ………. 46
IV.1.3 Détermination du coefficient de trainée d ………………………….. ………… 47
IV.1.4 Déterm ination des paramètres du moteur ………………………….. …………. 49
IV.2. Validation du modèle sous Simulink ………………………….. …………………….. 50
IV.2.1 Modèle du quadrirotor sous Simulink ………………………….. ……………… 51
xii
IV.2.2 Simulation en boucle ouverte ………………………….. …………………………. 57
IV.3. Commande en boucle fermée du quadrirotor ………………………….. ………….. 62
IV.3.1 Structure des régulateurs PID proposés ………………………….. ……………. 62
IV.3.2 Détermination des paramètres des régulateurs PID ……………………….. 63
IV.3.3 Validation des performances des régulateurs ………………………….. ……. 67
Chapitre V : Conception de la carte de contrôle ………………………….. ……………… 69
Introduction ………………………….. ………………………….. ………………………….. …………… 69
V.1. Description de la carte de contrôle ………………………….. ………………………… 69
V.1.1 Microcontrôleur ………………………….. ………………………….. ……………….. 70
V.1.2 Modu le de communication ………………………….. ………………………….. … 71
V.1.3 Centrale inertielle ………………………….. ………………………….. …………….. 72
V.1.4 Les contrôleurs électroniques de vitesse ………………………….. ………….. 73
V.2. Architecture logicielle de la carte de contrôle ………………………….. …………. 74
V.2.1 Extraction de consignes ………………………….. ………………………….. …….. 74
V.2.2 Lecture de mesures ………………………….. ………………………….. …………… 75
V.2.3 Envoi de mesures ………………………….. ………………………….. ……………… 75
V.2.4 Régulation d’attitude par PID ………………………….. …………………………. 75
V.2.5 Commande de moteurs ………………………….. ………………………….. ……… 76
V.3. Conception de la carte de contrôle ………………………….. ………………………… 77
Chapitre VI : Validation expérimental e du système de commande ……………….. 79
Introduction ………………………….. ………………………….. ………………………….. …………… 79
VI.1.1 Validation de la commande de moteurs ………………………….. …………… 80
VI.1.2 Validation de la mesure d'angles aéronautiques ………………………….. … 81
VI.1.3 Validation de la régulation par PID ………………………….. …………………. 81
Conclusion ………………………….. ………………………….. ………………………….. ……………. 82
Conclusion générale ………………………….. ………………………….. ………………………….. …. 83
Bibliographie ………………………….. ………………………….. ………………………….. ………… 85
Annexes ………………………….. ………………………….. ………………………….. ………… 87
Annexe 1 : Fiches techniques des composants ………………………….. …………………. 87
xiii
Annexe 2 : Programme principal et routines associées ………………………….. ………. 89
A2.1. Programme principal ………………………….. ………………………….. ………… 89
A2.2. Routine de communication via le module XBee ………………………….. .. 89
A2.3. Routine d e mesures d'angles aéronautiques ………………………….. ……… 90
A2.4. Routine de régulation par PID ………………………….. ………………………… 92
A2.5. Routine de commande de moteurs ………………………….. ………………….. 93
A2.6. Unité de déclarations globales ………………………….. ………………………… 94
Introduction générale
Les drones sont des véhicules aériens de petite taille, sans pilote humain à bord de
l'appareil. Ils furent init ialement développés pour des besoins militaires afin d'accomplir des
missions de surveillance, de renseignement ou de combat, avant d'être ensuite utilisés pour des
applications civiles telles que la surveillance de mouvement de foule ou de trafic routier.
Une configuration de drone en particulier a connu un succès grandissant depuis quelques
années. Il s'agit d'un drone quadrirotor possédant quatre hélices. Ce type de drone est étudié
dans de nombreuses universités ou écoles d'ingénieurs et même vendu au g rand public comme
un jeu pour l'extérieur ou l’intérieur.
De plus, en raison de leur petite envergure, la majorité des laboratoires se sont équipés
de ces engins pour expérimenter les algorithmes d’estimation et de contrôle développés en
simulation. Cepen dant, leur domaine de vol est rapidement perturbé par la présence des
turbulences atmosphériques. Celles -ci produisent un effet déstabilisant pour la trajectoire et
l’orientation d u drone .
Ce présent travail a pour objectif la conception et la réal isation d’une carte de contrôle
de vol ayant pour fonction principale : la commande et la stabilisation d’ un drone à voilure
tournante et plus précisément un quadrirotor.
De plus, l’objectif s’étend à la modélisation de la dynamique du quadrirotor et à
l’applicat ion d’une technique de contrôle classique par PID. La validation du modèle est faite
à l'aide de plusieurs simulations sous L'environnement Matlab/Simulink . Afin de tester le bon
fonctionnement de tout le système, une implémentation de l’ensemble des algor ithmes de
commandes établis a été réalisée sur un drone quadrirotor équipé d'une carte Arduino Mega et
utilisant une centrale inertielle MPU -6050.
Ce mémoire est divisé en six chapitres. Dans le premier chapitre, nous présentons des
généralités sur les dro nes : principe de fonctionnement, classification, capteurs utilisés et
domaines d'application. Dans ce même chapitre nous présentons aussi les objectifs du projet
Drone de l'ENSET de Rabat ainsi que le cahier des charges de ce présent PFE .
2 Introduction générale
Le second chapi tre est consacré à l' étude technique du projet qui nous a permis de faire
le choix de l'ensemble des composants nécessaires à la réalisation de notre quadrirotor : les
éléments du système de propulsion (Moteurs Brushless, hélices, contrôleurs de vitesse,
batteries ), la centrale inertielle, les composants de la carte de contrôle et en fin les éléments de
la charge utile. En fin de chapitre, une validation de la configuration retenue a été réalisée à
l'aide d'une simulation en ligne.
La dynamique d'un quadrir otor à savoir le déplacement vertical selon l'axe z et les trois
mouvements de rotations selon les trois axes (x, y, z) appelés respectivement tangage , roulis et
lacet ainsi que le développement d'un modèle dynamique en utilisant le formalisme de Newton –
Euler est l'objet du troisième chapitre.
La détermination des paramètres expérimentaux du modèle ainsi que la validation du
modèle dynamique par voie de simulation sous l'environnement Matlab/ Simulink, vient
compléter la modélisation d u drone quadrirotor dan s le quatrième chapitre.
Le cinquième chapitre présente la conception de la carte de contrôle pour drone
quadrirotor . Nous commençons par faire une description du microcontrôleur utilisé et de
l'ensemble des périphériques associés. Ensuite, une descriptio n de l'ensemble des routines du
système de contrôle.
Le sixième chapitre est réservé à la validation expérimentale du système de commande
sur une plateforme équipé d' une carte Arduino Mega et d'une centrale inertielle MPU -6050.
En guise de conclusion, les thèmes abordés et la validité de l’ approche utilisée sont
résumés. Ensuite, suivent quelques perspectives pour les travaux futurs.
En fin, des annexes contenant en particulier les fiches techniques des éléments du
système de propulsion choisis ainsi que l e programme implémenté sur la carte de contrôle de
vol du quadrirotor.
Chapitre I : Contexte général du travail
I.1. Généralités sur les drones
I.1.1 Définition
Les drones sont des aéronefs capables de voler et d'effectuer une mission sans présence
humaine à bord. Cette première caractéristique essentielle justifie leur désignation de
Uninhabited ( ou Unmanned) Aerial Vehicle (UAV). D'origine anglaise, le mot « drone », qui
signifie « faux-bourdon », est communément employé en Français en référence au bruit que font
certains d'entre e ux en volant !
La désignation de drone est très limitative puisqu'elle ne recouvre qu'un véhicule aérien.
Le drone n'est en fait qu'un des éléments d'un système, conçu et déployé pour assurer une ou
plusieurs missions. C'est la raison pour laquelle les sp écialistes p arlent de « systèmes de
drones ».
I.1.2 Historique
Quelle que soit la définition ou l’acronyme utilisé, l’histoire nous apprend que le
premier drone fut un ballon gonflable développé autour des années 1850. Ci-après un résumé
par décennie de l’histoire des drones [1] :
Avant 1900 : Des ballons sont utilisés pour lâcher des bombes sur Venise (Italie) par
l’Autriche et durant la guerre civile américaine.
1910 – 1920 : Les États -Unis produisent le drone « Kettering Bug » durant la première
guerre mondiale .
1920 – 1930 : Quelques « Sperry Messenger » sont convertis en bombes volantes
et deviennent ainsi les pr emiers vrais avions téléguidés.
1930 – 1940 : Les Britanniques produisent 400 avions téléguidés comme cible de
pratique pour les défenses anti -aérie nnes. Connus sous le nom de
« Queen Bees », leur nom inspira l’ utilisation du terme « drone ».
4 Chapitre I :
1940 – 1950 : Pendant la deuxième guerre mondiale, Reginald Denny convainc
l’armée américaine d’utiliser ses avions téléguidés les
« Radioplanes OQ -2 » pour ent rainer leur défense anti -aérienne.
Les Allemands produisent le bombardier « V -1 » dans le but de
bombarder Londres.
1950 – 1960 : Le « FireBee » est développé durant les guerres de Corée et du
Vietnam pour les missions de surveil lance confiées à des drone s.
1960 – 1970 : L’armée américaine commence la production de son premier drone
furtif, le « AQM -34 Ryan FireBee ». La Central Intelligence Agency
(CIA) demande la production d’un drone ultrasecret capable de
voler à des vitesses de Mach 3.3 et des altitu des de plus de 27 000m,
le « D -21 ».
1970 – 1990 : Les forces aériennes israéliennes déploient de nouveaux drones
militaires avancés, les plus connus étant les « Firebee 1241 »,
« Scout » et le « Pioneer ».
1990 – 2000 : Une variété de nouveaux drones so nt développés pour des
applications militaires et non -militaires comme les drones à énergie
solaire « Helios » et « Pathfinder ». C’est aussi la décennie de la
mise en service du célèbre « Predator ».
2000 – … : Plus de 32 pays développent des drones et p lus de 41 en ont en
service. Les nouveaux drones apportent de nombreuses idées et
utilisations innovatrices. Il suffit de penser au « Fire Scout », au
« Yamaha R -MAX », au « Raptor/Talon », au « Global Hawk », au
« Black Widow » etc …
I.1.3 Classification des d rones
Les drones peuvent être classés selon différents critères incluant la taille, le poids, la
portée de la télémétrie, le type d’aile s, l’endurance, l’altitude d’opération, etc… Une
classification intéressante fut proposée par l’European Association of Unmanned Vehicles
Systems (EUROUVS) plus tard devenue l’ Unmanned Vehicles Systems International (UVS
International). La classification est basée sur différents pa ramètres comme le poids maximum
Contexte général du travail 5
au décollage, l’altitude maximale et le temps de vol maximum. Le tableau I.1 nous présente un
sommaire complet des quatre principales catégories de drone et de leurs acronymes. Les mini
et micro drones ( Micro -Air Vehicle (MAV)) sont les plus petits parmi les quatre, ils sont surtout
utilisés pour des applications civiles, scientifiques ou commerciales. Les drones tactiques sont
utilisés pour les applications militaires, ils incluent les drones à portées rapprochées ( Close
Range (CR)), à portées courtes (Short Range (SR)), à portées moyennes ( Medium Range (MR)),
à long ues portées ( Long Range (LR)), d’Endurance (EN) et à Moyenne Altitude et Longue
Endurance (MALE).
Ensuite, il y a les drones stratégiques qui sont beaucoup plus lourds et gros que ceux des
catégories précédentes. Ils sont conçus pour les applications en Ha ute Altitude et Longue
Endurance (HALE). La dernière catégorie est celle des drones spécialisés, ceci inclut les drones
Létaux (LET), les leures ( Decoys (DEC)), les Stratosphériques (STRATO) et les
Exostratosphériques (EXO). [2]
Tableau I.1 : Classification des drones
6 Chapitre I :
I.1.4 Le système drone
Le système drone désigne à la fois l’aéronef automatisé et l’ensemble du système
associé pour sa mise en œuvre. En effet, un drone est généralement contrôlé à distance par un
opérateur au sol ; les informations qu’il récolte peuvent égale ment être transmises au sol
pendant le vol, traitées et communiquées aux personnes adéquates. Un système drone est donc
constitué d’un segment air (le drone), d’un segment sol (la station de contrôle et les
infrastructures de mise en œuvre du drone notamme nt pour le décollage et l’atterrissage) et d’un
ou plusieurs liens de communications entre ces entités comme illustré à la figure I.1 . [4]
Figure I.1 : Schéma d’un système drone
I.1.4.1 Le segment sol
La station de contrôle au sol est une composante importante du système drone. Elle
permet à la fois de transmettre les commandes au drone et de recueillir les mesures effectuées
par ce dernier. Ces informations sont analysées, stockées et/ou transmises à d’autres entités en
particulier pour les missions tactiques où l’informatio n est utilisée en temps réel. [4]
Pour les mini -drones, il est courant d’avoir 3 liens de communication distincts : un lien
avec l’ordinateur de contrôle permettant de transmettre des ordres et connaître l’état du drone.
Un lien de sécurité permettant de pi loter le drone directement avec une radiocommande comme
Contexte général du travail 7
pour un aéronef de modélisme, et un lien permettant de transmettre les données de la charge
utile, il s’agit très souvent d’un flux vidéo.
Le segment sol comprend également les infrastructures liées a u décollage et à
l’atterrissage du drone. En effet, si les plus petits sont simplement lancés à la main, certains
drones nécessitent une piste de décollage ou une catapulte pour prendre leur envol.
I.1.4.2 Le segment air
Les drones n’ont pas de contraintes liées a ux personnes à bord d’un aéronef ; aussi leur
design est très variable et s’adapte à la mission à effectuer. À titre d’exemple, quelques
illustrations des mini -drones développés par la société Flyn -Sense sont illustrées par la figure
I.2. On peut toutefois distinguer deux catégories : les drones à voilure fixe et à voilure
tournante . [5]
Les drones à voilure fixe (type avion ou aile volante) doivent se déplacer dans la masse
d’air afin de se sustenter. Ils ont une bonne endurance donc un rayon d’action impo rtant et
peuvent emporter un poids important. Cependant ils sont plus encombrants, ils nécessitent une
logistique contraignante pour le décollage et l’atterrissage (terrain dégagé, catapulte ou piste de
décollage pour les plus gros) et ils ne sont pas capa bles d’effectuer de vol stationnaire.
Les drones à voilure tournante (type hélicoptère, multi -rotors) comportent un ou
plusieurs rotors qui par leur mouvement créent la portance du drone. Ils peuvent décoller à la
verticale et effectuer du vol stationnaire , ils sont donc plus facilement déplo yables et peuvent
effectuer des missions en milieu urbain.
En contrepartie, ils ont une autonomie et un rayon d’action plus limités et une charge
utile moins importante.
8 Chapitre I :
Figure I.2 : Exemples de mini -drones à voilure fixe (à gauche) et tournante (à droite)
I.1.5 L’autopilote
L’autopilote , est le calculateur qui va permettre de contrôler le drone à la place du pilote.
Le niveau d’autonomie d’un drone varie fortement d’un modèle à l’autre : [6 ]
– Le drone peut être simplement piloté à distance via un lien de communication comme
si l’opérateur se trouvait à bord ; les commandes du drone sont déportées au sol comme
dans le cas un aéronef de modélisme.
– L’autopilote peut assister l’opérateur en fourn issant des commandes de plus haut niveau
(contrôle de l’attitude du drone (son orientation dans l’espace) et éventuellement
contrôle de la direction et vitesse de déplacement), il permet de stabiliser l’aéronef.
– L’autopilote peut effectuer le suivi automat ique d’une trajectoire plus ou moins
complexe définie par l’opérateur (ligne droite, cercle, hippodrome, série de points de
passage, etc.).
– Il peut éventuellement décider lui -même de sa trajectoire en fonction d’un objectif
désigné par l’opérateur et des c ontraintes ou obstacles à éviter.
– Enfin il peut fonctionner de manière totalement autonome et choisir lui-même ses
objectifs.
Contexte général du travail 9
Pour augmenter leur niveau d’autonomie, les drones ont besoin de capteurs leur
permettant de connaître leur orientation, leur vite sse, leur position et l’environnement qui les
entoure.
I.1.6 Les capteurs du drone
I.1.6.1 Les capteurs pour la navigation
Voici une description des capteurs que l’on retrouve dans la plupart des drones. Ce sont
des capteurs essentiels qui permettent aux drones d’être autonomes. [7]
Le gyromètre : Il mesure la vitesse de rotation du drone par rapport au repère inertiel .
De nombreuses technologies de gyromètres existent : le gyromètre mécanique se base sur le
principe de conservation du mouvement cinétique et de la force de Coriolis, le gyromètre
optique se base sur l’effet Sagnac, d’autres gyromètres se basent sur des structures vibrantes
notamment la technologie MEMS (de l’anglais Micro Electro Mechanical System) qui permet
de concevoir des capteurs de la taille d’une pu ce électronique. La mesure du gyromètre est
ensuite intégrée au cours du tem ps pour estimer l’orientation du drone.
L’accéléromètre : Il mesure l’accélération propre du drone. L’accélération propre
correspond à l’accélération inertielle non gravitationnell e, c’est -à-dire l’accélération associée à
l’ensemble des forces extérieures appliquées sur le capteur. Le capteur en chute libre mesure
une accélération nulle, alors que le capteur immobile sur une table mesure une accélération de
1g correspondant au champ de gravité terrestre. L’accélération du cap teur par rapport au sol est
obtenue en enlevant au vecteur de mesure l’accélération de la gravité terrestre. Si le capteur est
immobile, il ne mesure que l’accélération de la gravité, ce qui est un bon repère d’o rientation ;
le capteur peut alors servir d’inclinomètre.
Le magnétomètre : C’est un capteur de champ magnétique. Il est notamment capable
de mesurer le champ magnétique terrestre. Il est utilisé pour estimer l’azimut du drone (sa
direction dans le plan h orizontal par rapport au nord). Comme pour une boussole, le
magnétomètre permet d’estimer la direction du nord magnétique pour cela, la connaissance de
la verticale locale est requise.
La radionavigation : Il s’agit typiquement d’un récepteur GNSS (de l’anglais Global
Navigation Satellite System) tel que le GPS (Global Positioning System) permettant d’estimer
10 Chapitre I :
la position du drone à partir des mesures de distance entre le récepteur et plusieurs satellites
dont la position est connue.
Le baromètre : Il permet de mesurer la pression de l’air. Cette pression est utilisée
pour estimer l’altitude du drone connaissant la pression au niveau du sol. Il est donc nécessaire
d’avoir un second baromètre au sol afin de communiquer cette pression de référence pour
estimer correctement l’altitude du drone.
Un télémètre : Il permet d’effectuer une mesure de l’altitude du drone plus précise
que le baromètre lorsque le drone est proche du sol. Il en existe de plusieurs types : ultrason,
radar, optique, laser etc. La portée du t élémètre est limitée (quelques mètres pour les
technologies ultrason, quelques dizaines voire centaines de mètres pour les autres), il est donc
utilisé principalement pour les phases de décollage et d’atterrissage.
La sonde Pitot : Elle permet d’estimer la vitesse de déplacement du drone par rapport
à la masse d’air. Elle est particulièrement utile pour les voilures fixes qui doivent maintenir une
vitesse suffisante dans l’air pour pouvoir voler.
IMU : Une centrale inertielle ou IMU ( Inertial Measurement Unit) est composée de 3
accéléromètres, 3 gyromètres orientés dans des directions orthogonales. Elle permet une mesure
des vitesses angulaires et des accélérations linéaires selon les trois axes . Les centrales inertielles
comportent parfois aussi 3 magnétomè tres. La figure I.3 illustre un exemple de centrale
inertielle à base de circuit MEMS ( Micro -Electro -Mechanical Systems ).
Figure I.3 : Exemple de centrale inertielle
AHRS (Attitude and Heading Reference System ) : Un système de référence de cap et
d’attitude est comp osé d’une centrale inertielle, généralement avec un magnétomètre, et d’un
calculateur permettant de fusionner les mesures des capt eurs pour estimer l’orientation dans
l’espace du système.
Contexte général du travail 11
INS ou IRS (Inertial Navigation System ou Inertial Reference System ) : Le système de
navigation inertielle est un calculateur permettant d’estimer la position, la vitesse et l’attitude
du système à partir d’une centrale inertielle et éventuellement d’autres capteurs comme le
baromètre ou le GPS
I.1.6.2 La charge utile
La charge ut ile est adaptée en fonction du drone et surtout de la mission à effectuer. On
trouve une grande variété de capteurs, voici une liste des plus courants :
– caméra : visible ou multi -spectrale (visible, proche infrarouge, thermique) avec une
résolution et un a ngle de vue très variable,
– radar (Radio Detection and Ranging),
– modem de transmission radio ,
– capteurs acoustiques (mesure de la pollution sonore, détection des balles pour les avions
cibles, etc.),
– capteurs environnementaux : chimiques, de particules, de r adioactivité, etc.,
– capteurs atmosphériques : mesure de l’hygrométrie, de la pression.
Certains de ces capteurs, en particulier les caméras, peuvent être placées dans une
nacelle permettant de les orienter dans la direction voulue. Ainsi la direction d’obs ervation n’est
pas directement dépendante des mouvements du drone.
I.1.7 Utilisations des drones
La guerre a longtemps été la motivation principale pour la conception de drones. Le fait
que l’utilisation d’un drone prévienne des pertes humaines inutiles a mené l es drones à adopter
toutes sortes de missions militaires dont voici des exemples : [3]
Reconnaissance visuelle, surveillance et identification de cibles ;
Surveillance avec un radar à synthèse d'ouverture, en temps de paix ou pour le combat ;
Opérations de déception ;
Opérations maritimes (support au feu, acquisition de cibles au -delà de l’horizon,
classification de navire) ;
Guerre électronique et espionnage ;
12 Chapitre I :
Opérations spéciales et psychologiques ;
Mission de météorologie ;
Soutien à l’itinéraire et à la reconnaissance pour l’atterrissage ;
Ajustement du feu indirect et appui aérien rapproché ;
Confirmation de dommages dus au combat ;
Relais radio.
Dans les deux dernières décennies, le marché des drones civils s’est étendu rapidement.
En effet, la protect ion des frontières, les applications pour l’agriculture et l’industrie ont eu une
incidence majeure sur les ventes de drones ces dernières années. En voici quelques applications
civiles des drones (Voir figure I.4 ) :
Surveillance des frontières ;
Recherche et sauvetage ;
o Accidents d’avions ;
o Naufrages ;
Détection des feux de forêt ;
Relais de communication ;
Application de la loi ;
o Contrôle de foule ;
o Détection de culture de drogue ;
Gestions d’urgences et de désastres ;
o Tremblement de terre ;
o Inondations ;
o Désastres nucléaires ;
o Déversements de pétrole ;
Recherche scientifique ;
o Environnementale ;
o Atmosphérique ;
o Archéologique ;
o Pollution ;
o Recensement de la faune ;
o Étude des glaces ;
Contexte général du travail 13
Application dans l’industrie ;
Épandage des récoltes ;
Cinéma ;
Photo aér ienne, cartographie
Reportage pour les canaux de nouvelles ;
Publicité aérienne ;
Transport de fret ;
Sécurité ;
Surveillance des centrales nucléaires, ou des pipelines.
(a) Surveillance
(b) Télédétection
(c) Audiovisuel
(c) Détection des feux de forêt
(d) Analyse énergétique
(e) Cartographie 3D
Figure I.4 : Exemples de missions réalisables par des drones
14 Chapitre I :
I.1.8 La réglementation drone au Maroc
L’utilisation et l’importation de drone au Maroc est soumise à des règles spécifiques, en
effet, pour utiliser ou importer un dron e il est nécessaire de demander une autorisation aux
autorités locales. Ceci concerne les drones destinés à aller à plus de 150 mètres donc sûrement
les drones professionnels, même si ce n’est pas spécifié pour les drones de loisirs, nous pouvons
admettre que cela vaut également pour cette catégorie.
La figure I.5 nous montre les dix règles à respecter lors de l'utilisation d'un drone de
loisir en France [ 8].
Figure I.5 : Règles d'usage d'un drone de loisirs
Contexte général du travail 15
I.2. Projet Drone
I.2.1 Objectif
Le projet Drone a été proposé à l’éc ole normale supérieure d’enseignement technique
(ENSET) de Rabat, d ans le cadre d’un projet de fin d’étude (PFE) . Une équipe de quatre
étudiants , deux du master génie électrique et deux du master génie mécanique , se sont chargés
de la conception et la réal isation d’un drone à voilure tour nante commandé à partir d’une station
sol.
Ce drone aura pour mission le contrôle du système routier . En propulsion tout e
électrique , Il doit être capable de réaliser un vol stationnaire pendant 10 minutes et de
transporter une charge utile de quelque dizaine de grammes .
I.2.2 Spécifications du projet Drone
Le tableau suivant résume les spécifications du projet Drone :
Charge utile Le drone doit pouvoir embarquer une charge utile de 150g
Performance s o Le drone doit suivre le prof il décrit à la figure ci -dessous.
o La hauteur maximale est de : 10m
o Le profil est décomposé en trois phases :
– La phase de décollage : le drone devra pouvoir monter à une vitesse
moyenne de 1m/s .
– La phase de stabilité.
– La phase d’atterrissage : le drone devr a pouvoir descendre à une
vitesse moyenne de 1m/s .
Masse Maxi : 2kg Envergure Maxi : 1m
Autonomie 10min
Réalisation Fin de mois Juin.
Tableau I.2 : Spécifications du projet Drone
16 Chapitre I :
I.3. Cahier des charges
L’équipe du projet Drone est un quadrinôme , formé par deux étudian ts du master génie
électrique et deux étudiants du master génie mécanique.
Le groupe du génie mécanique est chargé de la conception et la réalisation du châssis
du drone ainsi que la partie mécanique de deux bancs d’essais .
Le groupe du génie électrique do nt je fais partie, est chargé de :
La conception et la réalisation d’une carte de contrôle qui permet de contrôler la
communication entre une station Sol (PC) et le drone. Ce contrôle est réalisée via une
interface LabVIEW et deux modules de communication Xbee. Cette tâche était assurée par
mon coéquipier.
La conception et la réalisation d’une carte de contrôle de vol du drone. Cette carte
électronique qu’est réalisé e autour d’un microcontrôleur ATMEGA 2560 , a pour fonction
principale le contrôle et la stab ilisation du drone via une commande classique utilisant un
PID. C’est la thématique de ce présent PFE .
Pour atte indre cet objectif final, plusieurs tâ ches élémentaires doivent être réalisées par
ce contrôleur de vol :
– Réception de commandes envoyées par l a station sol via le module de
communication Xbee puis e xtraction des consignes :
– Lecture et traitement des mesures données par la centrale inertielle (IMU) ;
– Stabilisation du drone en utilisant trois PID discrets ;
– Création des signaux de commandes des mo teurs.
Contexte général du travail 17
I.4. Planning prévisionnel
Le tableau suivant présente les diverses tâches planifiées tout au long du projet :
Février Mars Avril Mai Etude Etablissement du Cahier des
charges ×
Etat de l'art et étude théorique ×
Choix de matériel × Conception Simulation de la solution ×
Correction et amélioration ×
Programmations et réalisation × × Réalisation Vérification et essai ×
Réalisation du pr ototype × × × ×
Tests et vérifications × × ×
Tableau I.3 : Planning prévisionnel du projet drone
18 Chapitre I :
Chapitre II : Etude technique du projet
Introduction
Après avoir établi le cahier des charges, l'étape suivante c'est l'étude technique de du
projet dron e qui consiste à établir un choix judicieux de tous les composants nécessaire à sa
réalisa tion. Nous commençons par effectuer un choix du système de propulsion du quadrirotor
afin de répondre aux exigences du cahier des charges. Ce choix sera complété par la sélection
de tous les éléments de la charge utile qui sont nécessaires à la réalisation de la mission du
drone quadrirotor à savoir le contrôle routier.
En fin pour valide r la configuration choisie , nous avons effectué une simulation en ligne .
II.1. Choix du système de propulsion
Un système complet de propulsion comprend des moteurs, des hélices, des contrôleurs
de vitesse électroniques ( Electronic Speed Controlle r (ESC)) et une batterie. Presque tous les
petits drones multi -rotors sont électriques, pour cette raison, on va se concentrer sur la mise en
œuvre d’une propulsion électrique utilisant des moteurs à courant continu sans balais (DC
Brushless). L’étape suivante consiste à sélectionner le bon système de propulsion.
II.1.1 Choix des moteurs
II.1.1.1 Le coefficient KV
Le coefficient KV d’un moteur se rapporte à la vitesse de rotation du moteur pour une
tension donnée. Pour la plupart des drones multi -rotors, on recherche un faible KV inférieure à
1000 car cela contribue à la stabilité.
Pour le vol acrobatique cependant, o n peut envisager un KV supérieure à 1000 ainsi que
l’utilisation d’hélices de plus petit diamètre.
20 Chapitre II :
Si le coefficient KV pour un moteur particulier est de 650 tr/mn/V, alors à 11,1 V, le
moteur va tourner à 11,1 V x 650 = 7 215 tr/mn. Si on utilise le mote ur à une tension inférieure
(par exemple 7,4 V), le régime sera de 7,4 V x 650 tr/mn/V = 4 810 tr/mn.
Il est important de noter que l’utilisation d’une tension plus faible tend à signifier que
la consommation de courant est plus élevée (puissance = tensio n x courant).
Pour notre cas : Vol stationnaire
On choisira des moteurs ayant un faible KV inférieur à 1000 tr/min/V
II.1.1.2 La p oussée
La poussée est la force qui peut être produite par un moteur et une hélice spécifique à
une certaine tension. Certains fabricant s de moteur Brushless donnent une indication de la
poussée d’un moteur correspondant à plusieurs options d’hélice (souvent présentées dans un
tableau). L’unité de poussée est souvent en grammes (g), ou newton ( N).
Par exemple, pour un drone quadrirotor et on constate qu’un moteur spécifique peut
fournir jusqu’à 0,5 kg de poussée avec une hélice de 11 pouces (27,94 cm), cela signifie que
quatre de ces moteurs (avec cette hélice d onnée) peuvent produire 0,5 kg x 4 = 2 kg de poussée
maximale.
Par conséquent, si notre quadrirotor pèse un peu moins de 2 kg, à poussée maximale il
ne pourra que décoller . On doit soit choisir une combinaison de moteur + hélice qui peut fournir
plus de po ussée, soit réduire le poids du drone. Si le système de propulsion (tous les moteurs et
accessoires) peut fournir 2 kg de poussée (max.), alors quadrirotor complet doit être au plus
d’environ la moitié de ce poids (1 kg, poids des moteurs compris).
Pour un e configuration donnée, chaque moteur doit donc être capable de fournir :
Poussé par Moteur [Kg] = (Poids total du multirotor [kg] / Nombre de moteurs) x 2
Le poids du multi rotor comprend : châssis, moteurs, électronique, batterie, accessoires, etc.
II.1.1.3 Choix
Pour notre cas, on a un quadrirotor de 2Kg ce qui donne :
Poussé par Moteur [Kg] = (2 / 4) x 2 =1 soit : 1 kg de poussée (ou plus).
Etude technique du projet 21
On choisira alors les moteurs :
Original Sunnysky V2216 800KV Outrunner Brushless Motor [9].
La fiche technique de c es moteurs est présentée à l’annexe I .
II.1.2 Choix des hélices
Le choix d’une hélice est un élément majeur : La matière, la longue ur (en pouces) et le
pas sont les caractéristiques principales à prendre en compte.
II.1.2.1 La matière
Pour les drones, on se limite généralement au carbone, au plastique (nylon) et parfois
au bois. Pour notre quadrirotor , on r etient des hélices au carbone légère s donc favorisant
l’autonomie, rigides afin de limiter les vibrations et résistantes aux crashs qui pourraient
survenir.
Attention : une hélice en carbone par exemple de 15″ qui tourne à 10.000tr/mn peut
occasionner de sérieux dégâts. Pour la prise de vues et la réactivité du drone en sera meilleure .
II.1.2.2 La longueur et le pas
La combinaison de ces deux facteurs aura une extrême importanc e pour le décollage et
les trajectoires du drone. Plus l’hélice est grande, plus le drone est stable mais plus le moteur
fatigue, plus l’hélice est petite, moins le drone sera stable et moins le moteur se fatiguera. La
taille et le pas de l’hélice sera don c en fonction de la puissance des moteurs et le poids du châssis
du drone.
II.1.2.3 Choix
Pour notre cas, chaque moteur devra produire au minimum une poussée d ’un
kilogramme ( 1Kg). En se référant à la fiche technique du fabriquant du moteur , on retient une
hélice à la fibre de carbone de longueur 12’’ et ayant un pas de 6. En effet, l’ensemble moteur
V2216 -800kV et hélice 12×6 produiront une poussée de 1130g sous une tension de 11,1V.
On choisira alors les hélices :
Maytech carbon fibre propeller 12*6inch multiroto r CF prop [10]
22 Chapitre II :
La fiche technique de c es hélices est présentée à l’annexe I.
II.1.3 Choix du contrôleur électronique de vitesse
II.1.3.1 Rôles
Un contrôleur électronique de vitesse ( ESC : Electronic Speed Controller) est un
dispositif électronique embarqué qui possède d eux fonctions principales :
La première est de faire tourner le moteur en alimentant ses 3 phases. Le contrôleur
permet d’augmenter ou de diminuer la vitesse de rotation de l’hélice et donc voler plus ou moins
vite. Un calculateur paramétrable est intégré.
La seconde fonction est d’alimenter le récepteur et la carte de contrôle par une tension
continu e stabilisé e de 5V . Cette seconde fonction n’est présente que sur les contrôleurs à BEC
(Battery Eliminator Circuit ). Un contrôleur OPTO n’assure que la premiè re fonction et
nécessite l’utilisation d’une batterie de réception ou d’un BEC externe.
II.1.3.2 Choix
Le contrôleur ESC doit supporter un courant au moins égal au courant maximal du
moteur. Généralement on prend un ESC un peu supérieur afin qu’il ne chauffe pas t rop. On
prendra une marge de 20%.
Pour notre cas , le courant maximal supporté par le moteur choisis est de 17A. On
choisira alors un ESC ayant un courant maximal de : 17A x 1,20 = 20,4 A ou plus.
On retient alors l’ESC suivant :
DYS 30A 2 -4S Brushless Spee d Controller ESC Simonk Firmware [11]
La fiche technique de c es ESC est présentée à l’annexe I .
Etude technique du projet 23
II.1.4 Choix de la batterie :
II.1.4.1 Caractéristiques
La batterie Lithium polymère (LiPo ) est la plus utilisée dans les drones en raison de son
poids léger par ra pport à sa c apacité de stockage et de son taux de décharge de courant élevé. Il
existe d’autres types de batteries à base de lithium également disponibles sur le marché (LiFe,
LiMn, LiOn …).
Pour une batterie LiPo trois informations essentielles :
– La capacité expri mée en mAh c’est l’autonomie de la batterie (Exemple : 2200m Ah).
– La tension exprimée en S (nombre de cellules) : chaque cellule donnant 3.7V sur une
LiPo ; (1S = 3,7V ; 2S = 7,4V ; 3S = 11.1V ; 4S = 14.8v, …)
– Le taux de décharge , exprimé en C : 1C rep résente un courant égal à 1 fois la capacité
de la batterie. Une batterie de 2200m Ah (2,2Ah) en 30C doit être capable de délivrer une
intensité max de 2,2*30 = 66A.
On doit donc choisir une batterie ayant :
– une capacité suffisante (mAh ) pour avoir un te mps de vol correct ;
– une tension cohérente avec les moteurs et les ESC choisis ;
– un taux de décharge suffisant pour alimenter les moteurs (ex : 4 moteurs 15A max
60A, batterie 2200mAh 30C 2,2*30 = 66A).
Dans les faits, les moteurs sont rarement au maximum mais on garde tout de même de
la marge afin de ne pas trop solliciter la batterie à son maximum. Cela évite aussi que la tension
de la batterie baisse trop en cas de forte sollicitation et déclenche du coup l’alarme « batterie
faible ».
Sans comp ter que d’autres équipements consomment aussi de l ’énergie ( Récepteur
radio, contrôleur de vol, …).
Si on veut avoir plus d’autonomie, lever plus de poids, on aura tendance à augmenter
le voltage de la batterie, diminuer le KV des moteurs.
24 Chapitre II :
II.1.4.2 Choix
Pour notr e cas, on doit choisir :
-Une tension de 3S (3 x 3.7V = 11.1 V ), étant donné les caractéristiques des moteurs choisis ;
-Un taux de décharge pour alimenter les quatre moteurs ayant un courant max de 17A .
On retient alors la batterie : Lion Power 3S 30C 52 00mah [12]
En effet, les quatre moteurs consomment un courant 17x 4 = 68A alors que la batterie
choisie est capable de fournir un courant de décharge de : 5,2 x 30 = 156 >> 68A .
La fiche technique de cette batterie est donnée à l’annexe I.
II.2. Validation de la configuration retenue
Pour valider le choix du système de propulsion, nous avons simulé la configuration du
quadrirotor en ligne sur le site : http://www.drone -configurator.com/fr/ .
II.2.1 Configuration fin ale retenue
La configuration du drone a été complétée par les composants suivants :
– Un contrôleur de vol : Generic Pixhawk PX4 NEO -MN8 Telemetry OSD ;
– Une caméra et une nacelle ;
– Une caméra FPV (First Person View ) et son émetteur vidéo.
Cette configuration est accessible à l’adresse web suivante :
http://www.drone -configurator.com/fr/conf igurateur/4798/
La figure II.1 présente l a liste des composants retenus.
Etude technique du projet 25
Figure II.1 : Configuration retenue pour le système de propulsion
26 Chapitre II :
II.2.2 Résultats de la simulation
Les résultats obtenus , lors de la simulation du système de propulsion choisi, sont
conforment aux exigences du cahier des charges. Ce ci a permet la validation de cette
configuration .
En effet, on voit en clair sur la figure II.2 :
– La poussée maximale qu’est presque le double du poids du quadrirotor ;
– Le temps de vol est de 13 min au lieu de 10 min dema ndé par le cahier des
charges ;
– La puissance du moteur dans ses conditions est de 166W inférieure à la
puissance maximale du moteur ( 180W ).
Etude technique du projet 27
Figure II.1 : Résultats de la simulation du système de propulsion choisi
28 Chapitre II :
Conclusion
Cette étude technique nous a permis d'établir un choix des éléments du système
de propulsion de notre quadrirotor ainsi que ceux de la charge utile. La validation de la
configuration matérielle retenue sur le site : http://www.drone -confi gurator.com/fr/ nous
a permis de vérifier la conformité des résultats obtenus aux spécifications du cahier des
charges.
Le chapitre suivant est consacré à l'étude de la dynamique du quadrirotor et à sa
modélisation.
Chapitre III : Modélisation du quadrirotor
Introducti on
Afin de concevoir un contrôleur de vol, on doit d'abord comprendre profondément les
mouvements du quadrirotor , sa dynamique et par conséquent ses équations dynamiques. Cette
compréhension est nécessaire non simplement pour la conception du contrôleur, mais aussi pour
s'assurer que les simulations du comportement de l’engin sont plus proche que possible de la
réalité lorsque la commande est appliquée.
Le quadrirotor est classé dans la catégorie des systèmes volants les plus complexes vu
le nombre d’effe ts physiques qui affectent sa dynamique à savoir les effets aérodynamiques, la
gravité, les effets gyroscopiques, les frottements et les moments d’inertie s. Cette complexité
résulte essentiellement du fait que l'expression de ces effets est différent e pour chaque mode de
vol. En effet les modèles dynamiques du quadrirotor changent en fonction des taches planifiées
et en fonction des milieux de navigation définis à priori par l’opérateur.
Avant de commencer tout contrôle d’un système, il est important d’en r éaliser une
modélisation comportementale . Le système que l’on cherche à contrôler est dynamique, par
conséquent la modélisation le sera aussi.
Le modèle permet une analyse du système, de ses possibilités et de son comportement
sous différentes conditions. Il est surtout important pour des systèmes aériens quand les risques
de casse sont élevés, une chute de quelques mètres étant suffisante pour causer de sérieux
dommages. Dans ce cas, la possibilité de simuler et améliorer un contrôleur avant son
implémenta tion sur la maquette réel est hautement appréciable .
30 Chapitre III :
III.1. Dynamique d’un quadrirotor
On distingue deux types de quadricoptère , les modèles dit en plus "+" (Quad+) et ceux
en "X" (QuadX) . La structure en elle -même ne change pas, c’est l’orientation de l’avant de
l’appareil qui varie. Sur un Quad+, l’avant de l’appareil pointe dans la direction d’une des
branches. Alors que pour un QuadX la structure est pivotée de 45°. L’avant se situe donc entre
deux bras.
Figure III.1 : Modèle de quadrirotor en "+" (à gauche) et en "X" (à droite)
Considérons le cas d’un quadrirotor (Quad ), c’est l’objet de mon PFE. En tournant, les
hélices vont créer une force de sustentation ( Effet d’une force qui maintient un corps à faible
distance au -dessus d’une surface et sans contact avec elle ) qui va compenser le poids de
l’engin, c’est ce qu’on appelle la poussée (en anglais Thrust). Lorsque cette force est supérieure
au poids du multi rotor , il s’élève dans les airs.
Le sens de rotation des hélices est très important, sur le schéma figure , on cons tate que
les hélices situées sur le même axe tournent dans le même sens. En d’autres termes, les moteurs
M1 et M3 tournent dans le sens horaire ( CW : ClockWise ) et M2 et M4 dans le sens antihoraire
(CCW : Counter -ClockWise ). Cela a pour effet d’annuler le couple induit par l’effort sur
chaque moteur pour faire tourner les hélices .
Modélisation du quadrir otor 31
Figure III.2 : Sens de rotation des hélices ( CW et CCW )
En l’absence de gouvernes aérodynamiques comme celles d’un avion, les différentes
mouvements du Quad sont assurés, selon les trois axes (x, y, z), par l’action sur les vitesses des
hélices de manière synchronisé ou non selon les mouvements et l’orientation de l’engin
souhaité.
Ces trois mouvements de rotation du quadrirotor autour des trois axes x, y et z sont appelés
respectivement : Roulis, Tangage et Lacet . Ils sont illustrés par la figure III.3 .
Figure III.3 : Mouvements d ’un quadrirotor autour des axes ( x, y, z)
32 Chapitre III :
III.1.1 Montée et descente du quadrirotor
Pour faire monter (respectivement descendre) le quadrirotor , on augmente (respectivement
diminue) simultanément la vitesse des quatre moteurs . Dans les deux cas de figure, les moteurs
doivent tourner à la même vitesse en agissant sur la commande des gaz (Throttle ).
Figure III.4 : Montée et descente du quadrirotor
III.1.2 Le Tangage : Avancer/ Reculer :
Pour faire avancer, on va diminuer la vitesse des moteurs avant (M1, M4 ) et augmenter
la vitesse des moteurs arrière ( M2, M3 ) et inversement pour reculer. On appelle cette action le
Tangage ( en anglais : Pitch).
Modélisation du quadrir otor 33
Figure III.5 : Mouvement de tangage
III.1.3 Le Roulis : Gauche/Droite
Pour déplacer le quadrirotor vers la gauche, on va diminuer la vitesse des moteurs de gauche
(M1, M2) et augmenter ce lle des moteurs de droite (M3, M4). Inversement pour déplacer le
quadrirotor vers la droite. Cette action s’appelle le Roulis (Roll).
Figure III.6 : Mouvement de Roulis
34 Chapitre III :
III.1.4 Le Lacet : Rotation autour de l’axe z
Pour faire pivoter le quadrirotor sur son axe de rotation z, on va augmenter légèrement la
vitesse d’une paire de moteurs sur le même axe et diminuer légèrement la vitesse de l’autre
paire. Ceci est un mo uvement de Lacet ( Yaw ).
Figure III.7 : Mouvement de Lacet
III.2. Modélisation dynamique d’un quadrirotor
III.2.1 Hypothèses du modèle
– La structure du quadrirotor est supposée rigide et symétrique, ce qui induit que la matrice
d’inertie sera supposée diagonale,
– Les hélices sont s upposées rigides pour pouvoir négliger l’effet de leur déformation lors de
la rotation.
– Le centre de masse et l’origine du repère lié à la structure coïncident.
– Les forces de portance et de traînée sont proportionnelles aux carrés de la vitesse de rotation
des rotors, ce qui est une approximation très proche du comportement aérodynamique.
Modélisation du quadrir otor 35
III.2.2 Repères du quadrirotor
On considérera un repère spatial fixe lié à la Terre T {X, Y, Z} et un autre lié au
quadrirotor Q {x, y, z}. A chaque instant nous aurons besoin d e connaître la position et
l’orientation de Q par rapport à T.
Figure III.8 : Repères du quadrirotor
III.2.3 Angles aéronautiques
On définit l es angles aéronautiques de la façon suivante :
Angle de roulis
(t) : rotation autour de l’axe x (-
2/ 2/ )
Angle de tangage
(t) : rotation autour de l’axe y ( –
2/ 2/ )
Angle de lacet
(t) : rotation autour de l’axe z (-
)
Chacune de ces rotations élémentaires est représentable par le biais d’une matrice appelé
matrice de rotation . Elle se compose de la façon suivante :
On aura donc pour notre système :
36 Chapitre III :
𝑅(𝑥,𝜙)=[1 0 0
0cos𝜙 −sin𝜙
0sin𝜙 cos𝜙]
𝑅(𝑦,𝜃)=[cos𝜃 0sin𝜃
0 1 0
−sin𝜃0cos𝜃]
𝑅(𝑧,𝜓)=[cos𝜓 −sin𝜓 0
sin𝜓 cos𝜓 0
0 0 1]
Figure III.9 : Rotations en roulis, tangage et lacet
La multiplication de ces trois matrices donne la matrice de rotation complète :
𝑅(𝜙,𝜃,𝜓)=𝑅(𝑧,𝜓)∙𝑅(𝑦,𝜃)∙𝑅(𝑥,𝜙)
𝑅(𝜙,𝜃,𝜓)=[cos𝜓 −sin𝜓 0
sin𝜓 cos𝜓 0
0 0 1]∙[cos𝜃 0sin𝜃
0 1 0
−sin𝜃0cos𝜃]∙[1 0 0
0cos𝜙 −sin𝜙
0sin𝜙 cos𝜙]
𝑅(𝜙,𝜃,𝜓)=[cos𝜓cos𝜃cos𝜓sin𝜃sin𝜙−sin𝜓cos𝜙 cos𝜓sin𝜃cos𝜙+sin𝜓sin𝜙
sin𝜓cos𝜃 sin𝜓sin𝜃sin𝜙+cos𝜓cos𝜙 sin𝜓sin𝜃cos𝜙−cos𝜓sin𝜙
−sin𝜃 cos𝜃sin𝜙 cos𝜃cos𝜙] (III.1)
III.2.4 Effets physiques agissants sur le quadrirotor
III.2.4.1 Les forces :
Les forces agissa nt sur le système sont :
– Le poids du quadrirotor , il est donné par :
𝑷=𝒎.𝒈 (III.2)
Où : m est la masse totale et g la gravité.
– Les forces de poussée : qui sont des forces provoquées par la rotation des mote urs, elles
sont perpendiculaires sur le plan des hélices. Ces forces sont proportionnelles au carrée de
la vitesse de rotation des moteurs :
𝑭𝒊=𝒃.𝛀𝒊𝟐 (III.3)
Avec i = 1…4, et b est le coefficient de portance, il dépend de la forme et le nombre des
pales de l’hélice et de la densité de l’air .
Modélisation du quadrir otor 37
Figure III.10 : Poids et forces de poussée d’un q uadrirotor
– Les forces de traînée : la force de traînée est le couplage entre une force de pression
et la forc e de frottement visqueux, dans le cas du quadrirotor c’est l a traînée dans les
hélices . Elle est proportionnelle au carré de la vitesse de rotation de l’hélice .
Soit :
𝑻𝒊=𝒅.𝛀𝒊𝟐 (III.4)
Avec : d est le coefficient de drag qui dépend de la densité de l’air et de l a forme des hélice s.
III.2.4.2 Les moments
Il y a plusieurs moments agissants sur le quadrirotor, ces m oments sont dus aux forces de
poussée, de traînée et aux effets gyroscopiques.
III.2.4.2.1 Mom ents dus aux forces de poussée
– La rotation autour de l’axe x : elle est due au moment cr ée par la différence entre les forces
de portance des rotors 2 et 4, soit :
𝑴𝒙=𝒍.(𝑭𝟒− 𝑭𝟐)=𝒍.𝒃.(𝛀𝟒𝟐−𝛀𝟐𝟐) (III.5)
Avec l est la longueur du bras entre le rotor et le centre de gravité du quadrirotor.
– La rotation autour de l’axe y : elle est due au moment cr ée par la différence entre les f orces de
portance des rotors 1 et 3, soit :
𝑴𝒚=𝒍.(𝑭𝟑− 𝑭𝟏)=𝒍.𝒃.(𝛀𝟑𝟐−𝛀𝟏𝟐) (III.6)
38 Chapitre III :
III.2.4.2.2 Mome nts dus aux forces de traînée
– La rotation autour de l’axe z : elle est due à un couple réactif provoqué par les coupl es de
traînée dans chaque hélice, soit :
𝑴𝒛=𝒅.(𝛀𝟏𝟐−𝛀𝟐𝟐+ 𝛀𝟑𝟐−𝛀𝟒𝟐) (III.7)
III.2.4.2.3 Moment s gyroscopique s
L’effet gyroscopique se définit comme la difficulté de modifier la position ou
l’orientation du plan de r otation d’une masse tournante. En effet une rotation autour de l’axe x
ou y couplé à la rotation des rotors qui s’effectue autour de l’axe z, crée un moment
respectivement sur l’axe y ou x.
Dans notre cas il y a deux moments gyroscopiques
– Moment gyroscop ique des hélices : il est donné par la relation suivante :
𝑴𝒈𝒉=∑ 𝛀∧𝑱𝒓𝟒
𝒊=𝟏 [𝟎 𝟎 (−𝟏)𝒊+𝟏𝛀𝒊]𝑻 (III.8)
Avec :
Jr : Moment d’inertie d u rotor ;
Ω=[𝜙 ̇𝜃 ̇𝜓̇]𝑇: Vecteur des vitesses angulaires.
– Moment gyroscopique dû aux mouvements du quadrirotor :
𝑴𝒈𝒎=𝛀∧𝑱𝛀 (III.9)
Avec : J est la matrice d’ inertie du système .
Cet effet est aussi, appelé : Effet d’inertie .
III.2.5 Modèle mathématique selon Newton -Euler
En utilisant la formulation de Newt on-Euler, les équations sont écrites sous la forme suivante :
{𝒎.𝒗̇=𝑭𝒇 –𝑭𝒈
𝑱𝛀̇=𝑴𝒇−𝑴𝒈𝒉−𝑴𝒈𝒎 (III.10)
Modélisation du quadrir otor 39
Avec :
m : Masse totale du quadrirotor ;
𝑣̇=[𝑥 ̈𝑦̈ 𝑧̈]𝑇 : Accélération linéaire du quadrirotor
𝐹𝑔 =[0 0 𝑚𝑔]𝑇 : Force de gravité ;
𝐹𝑓 =𝑅(𝜙,𝜃,𝜓).[0 0 ∑ 𝐹𝑖4
𝑖=1]𝑇 : est la force de poussée totale générée par les quatre rotors.
Ω̇ : Accélération angulaire du quadrirotor ;
𝑀𝑓=[𝑀𝑥 𝑀𝑦 𝑀𝑧]𝑇: Moment crée par les f orces de poussée et de traînée.
III.2.5.1 Dynamique de translation
On a : 𝑚.𝑣̇=𝐹𝑓 –𝐹𝑔
En remplaçant chaque force par sa formule, on trouve :
𝑚[𝑥̈
𝑦̈
𝑧̈]= [𝑐𝑜𝑠𝜙 .𝑐𝑜𝑠𝜓 .𝑠𝑖𝑛𝜃 +𝑠𝑖𝑛𝜙 .𝑠𝑖𝑛𝜓
𝑐𝑜𝑠𝜙 .𝑠𝑖𝑛𝜓 .𝑠𝑖𝑛𝜃 −𝑠𝑖𝑛𝜙 .𝑐𝑜𝑠𝜓
𝑐𝑜𝑠𝜙 .𝑐𝑜𝑠𝜃]∑𝐹𝑖4
𝑖=1−[0
0
𝑚𝑔]
Soient :
𝑥̈=𝑐𝑜𝑠𝜓𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜙+𝑠𝑖𝑛𝜓𝑠𝑖𝑛𝜙
𝑚∑𝐹𝑖4
𝑖=1
𝑦̈=𝑠𝑖𝑛𝜓𝑠𝑖𝑛𝜃𝑐𝑜𝑠𝜙−𝑐𝑜𝑠𝜓𝑠𝑖𝑛𝜙
𝑚∑𝐹𝑖4
𝑖=1
𝑧̈=−𝑔+𝑐𝑜𝑠𝜃𝑐𝑜𝑠𝜙
𝑚∑𝐹𝑖4
𝑖=1
Les équations des accélérations linéaires selon les trois axes deviennent :
𝑥̈=𝑐𝑜𝑠 𝜓𝑠𝑖𝑛 𝜃𝑐𝑜𝑠 𝜙+𝑠𝑖𝑛 𝜓𝑠𝑖𝑛 𝜙
𝑚.𝑏.(𝛺12+𝛺22+ 𝛺32+𝛺42)
𝑦̈=𝑠𝑖𝑛 𝜓𝑠𝑖𝑛 𝜃𝑐𝑜𝑠 𝜙−𝑐𝑜𝑠 𝜓𝑠𝑖𝑛 𝜙
𝑚.𝑏.(Ω12+Ω22+ Ω32+Ω42)
𝑧̈=−𝑔+𝑐𝑜𝑠 𝜃𝑐𝑜𝑠 𝜙
𝑚𝑏.(Ω12+Ω22+ Ω32+Ω42) (III.1 1)
La po sition du quadr irotor (x, y, z) peut être déduite par intégration double des
accélérations linéaires.
40 Chapitre III :
La dynamique de translation peut être alors représentée par le sous-système de la figure III.11.
Figure III.11 : Entrées/Sorties de la dynamique de translatio n
III.2.5.2 Dynamique de rotation
On a : 𝐽Ω̇=𝑀𝑓−𝑀𝑔𝑚−𝑀𝑔ℎ
En remplaçant chaque moment par sa formule, on trouve :
[𝐼𝑥 0 0
0 𝐼𝑦 0
0 0 𝐼𝑧][𝜙̈
𝜃̈
𝜓̈]=[𝑙b(Ω42− Ω22)
𝑙b(Ω32− Ω12)
d (Ω12 – Ω22+Ω32 – Ω42)]−[𝜙
𝜃
𝜓̇̇̇
]∧([𝐼𝑥 0 0
0 𝐼𝑦 0
0 0 𝐼𝑧][𝜙
𝜃
𝜓̇̇̇
])−[ 𝐽𝑟(Ω1−Ω2+Ω3−Ω4)𝜃̇
−𝐽𝑟(Ω1−Ω2+Ω3−Ω4)𝜙̇
0]
Les équations des accélérations angulaires selon les trois axes s’écrivent :
𝜙̈=𝜃̇𝜓̇(𝐼𝑦−𝐼𝑧)
𝐼𝑥+𝑏𝑙(Ω42−Ω22)
𝐼𝑥+𝜃̇𝐽𝑟(Ω1−Ω2+Ω3−Ω4)
𝐼𝑥
𝜃̈=𝜓̇𝜙̇(𝐼𝑧−𝐼𝑥)
𝐼𝑦+𝑏𝑙(Ω32−Ω12)
𝐼𝑦−𝜙̇𝐽𝑟(Ω1−Ω2+Ω3−Ω4)
𝐼𝑦
𝜓̈=𝜙̇𝜃̇(𝐼𝑥−𝐼𝑦)
𝐼𝑧+𝑑(Ω12−Ω22+Ω32−Ω42)
𝐼𝑧 (III.1 2)
L’attitude du quadrirotor (𝜙,𝜃,𝜓) peut être déduite par intégration double des
accélérations angulaires. La dynamique de rotation peut être alors représentée par le sous –
système de la figure III.12.
Ω3
𝜙
Dynamique de
translation
(III.11)
Ω1
𝜃
𝜓
𝑥
𝑦
𝑧
Ω4 Ω2
Modélisation du quadrir otor 41
Figure III.12 : Entrées/Sorties de la dynamique de rotation
III.2.6 Etude de la dynamique des moteurs.
Le moteur utilisé est un moteur Brushless qui est en réalité une machine synchrone
gérée par un variateur de vitesse électronique. Le variateur de vitesse a pour rôle d’alimenter
les bonnes phases du moteur au bon moment et à la bonne polarité en fonction de la position
détectée du rotor. La combinaison du variateur de vitesse et du moteur Brushless sera
assimilée à un moteur à coura nt continu standard et la commande du variateur de vitesse sera
assimilée à une variation proportionnelle de la tension d’entrée du moteur.
L’ensemble { contrôleur électronique de vitesse (ESC), Moteur Brushless , Hélice }
aura alors une fonction de transfert de la forme suivante :
𝐻(𝑝)=Ω(𝑝)
𝑈(𝑝)=𝐾
𝐾2+(𝑅+𝐿𝑝)(𝑓+𝐽𝑟𝑝)
Avec :
: vitesse angulaire du moteur ;
U : tension d’alimentation de l’ensemble moteur + hélice ;
K : gain du moteur en volt.s/rad
R : résistance interne du moteur en
L : inductance du moteur en H
f : frottements
Jr : inertie du rotor
Ω3
Dynamique
de rotation
(III.12)
Ω1
𝜙
𝜃
𝜓
Ω4
Ω2
42 Chapitre III :
Cependant, on peut approximer cette fonction de transfert par un premier ordre. En effet,
l’inductance du moteur peut négligée devant sa résistance . De même, les frottements d’un
moteur électrique sont négligea bles devant son inertie. On obtient ainsi :
𝐻(𝑝)= 𝐾
𝐾2+𝑅𝐽𝑟𝑝
Soit :
𝑯(𝒑)=𝛀(𝒑)
𝑼(𝒑)= 𝑲
𝟏+𝝉𝒑 (III.1 3)
Avec :
K : gain du moteur en rad/s/volt
τ : constante de temps de l’ensemble hélice + moteur + variateur.
La dynami que des quatre moteurs peut être représentée par le schéma bloc de la figure III.13.
Figure III.13 : Entrées/Sorties de la dynamique des moteurs
III.2.7 Schéma bloc du quadrirotor
En utilisant les schémas bloc des figures III.11 , III.12 et III.13, la quadrirotor peut êtr e
représenté par le schéma bloc de la figure III.14.
Ω1
Ω3
𝑈3
Dynamique
des moteurs
(III.13)
𝑈1
𝑈4
𝑈2
Ω4
Ω2
Modélisation du quadrir otor 43
Figure III.14 : Schéma bloc du quadrirotor
Conclusion
Dans c e chapitre , nous avons présenté la dynamique des quadrirotors et leur principe de
fonctionnement. Le quadrirotor est l’un des robots volants qui sont en inv estigation ces
dernières années. Ce système est constitué de quatre rotors, deux de ces rotors tournent dans un
sens et les deux autres dans le sens inverse. En variant les vitesses de rotation de ces rotors, le
quadrirotor peut faire différents mouvements aussi bien en translation qu’en rotation.
L’utilisation du formalisme de Newton -Euler nous a permet d’établir un modèle
dynamique du quadrirotor. La complexité du modèle, la non-linéarité, et l’interaction entre les
états du systè me, peuvent se voir clai rement.
Le chapitre suivant sera consacré à la présentation d es différents essais permettant la
détermination des paramètres en vue de faire une validation de ce modèle par voie de simulation
sous l'environnement Matlab /Simulink .
44 Chapitre III :
Chapitre IV : Validation du modèle quadrirotor et
approche de commande
Introduction
Après avoir établi un modèle dynamique d u drone quadrirotor, décrit par l'ensemble des
équations ( (III.11), (III.12), (III.13) ), il nous a été nécessaire d'effectuer une validation de ce
modèle. N ous avons réalisé cette action en trois étapes.
La première consiste à la détermination de tous les paramètres du modèle du quadrirotor
étudié . Ce qui nous a amené à réaliser une série d'essai et manipulations pratiques. Parmi les
paramètres déterminés, nous pouvons citer : la matrice d'inertie du quadrirotor, le coefficient
de poussée, le coefficient de trainée, la masse du quadrirotor, le gain du moteur ainsi que sa
constante de temps .
La deuxième étape consiste à l'implémentation de ce modèle sou s L'envi ronnement
Matlab/Simulink puis à sa validation . Pour se faire, nous avons synthétisé quatre signaux de
commande représentant les tensions de commande des quatre moteurs . En utilisant ses signaux
de commande, nous avons étudié le comportement du quadrirotor en boucle ouverte qui s'est
avéré alors instable.
La troisième étape a pour objectif, la mise en place d'une technique de contrôle et de
stabilisation du quadrirotor. C'est la méthode classique de régulation par PID que nous avons
adopté. Pour l e cho ix des paramètres du régulateur, nous avons adoptés la méthode essai -erreur.
46 Chapitre IV :
IV.1. Détermination des paramètres du modèle
Pour pouvoir valider le modèle du quadrirotor, établi au chapitre précédent, on devra
déterminer tous les paramètres de ce modèle. Cette actio n sera réalisée à travers un ensemble
d’essais et manipulations .
IV.1.1 Détermination des moments d’inerties du drone
La structure du drone étant conçue en utilisant un logiciel de CAO (SolidWorks ) ce qui
a permis de déterminer la matrice d’inertie du quadrirotor :
Figure IV.1 : Conception de la structure du drone sous SolidWorks
Les moments d’inerties corresponds à la structure choisis valent alors :
𝐼𝑥=3,8278 .10−3𝐾𝑔.𝑚2
𝐼𝑦=3,8288 .10−3𝐾𝑔.𝑚² (IV.1)
𝐼𝑧=7,6566 .10−3𝐾𝑔.𝑚²
IV.1.2 Détermination du coefficient de poussée b
La force générée par l’ensemble {Moteur, Hélice} est de la forme : 𝑭𝒊=𝒃.𝛀𝒊𝟐 (IV.2)
Pour déterminer le coefficient de poussée b, nous avons exploit é les résultats du tableau
IV.1 obtenus à partir du b anc d’essai de la figure IV.2, qui permet la mesure de la poussée et la
vitesse produite par l’ensemble {Moteur, Hélice} .
Validation du Modèle quadrirotor 47
Figure IV.2 : Banc d’essai pour la mesure de la poussée et la vitesse
Moteur Brushless A2212 / T13 1000KV et hélice 10''x4,5’’
Relevées Calculs
I(A) U(V) N (tr/min) Thrust (g) (rad/s) b
0,22 11,29 1293 25 135,40 1,34 .10-5
0,49 11,28 2253 75 235,93 1,32 . 10-5
1,13 11,26 3278 157 343,27 1,31 . 10-5
2,03 11,23 3925 212 411,03 1,23 . 10-5
3,24 11,19 4569 306 478,46 1,31 . 10-5
5,67 11,12 5459 436 571,67 1,31 . 10-5
7,23 11,05 5954 519 623,50 1,31 . 10-5
9,3 10,97 6364 620 666,44 1,37 . 10-5
11,95 10,88 6912 699 723,82 1,31 . 10-5
13,81 10,82 7204 770 754,40 1,33 . 10-5
Valeur moyenne du coefficient b 1,31 . 10-5
Tableau IV.1 : Relevées relative au coefficient de poussée b
IV.1.3 Détermination du coef ficient de trainée d
Pour déterminer le coefficient de traînée d, nous avons exploité le banc d’essai de la
figure IV.3. Seul le mouvement de lacet est possible, c’est -à-dire l e drone étant libre en rotation
autour de l’axe vertical z. Après avoir appliqué e une consigne de puissance aux deux des quatre
Moteur Brushless
A2212 / 1000KV
Hélice 10’’x 4, 5’’
A2212 / 1000KV
Batterie 3S
Contrôleur de vitesse ESC
Testeur et analyseur pour
moteur Brushless
Balance électronique
48 Chapitre IV :
moteurs (ici les moteurs 1 et 3) , nous avons chronométré le temps mis par le drone pour
effectuer un quart de tour. La relation entre l’angle de lacet et les vitesses des moteurs est la
suivante :
𝜓̈=𝜙̇𝜃̇(𝐼𝑥−𝐼𝑦)
𝐼𝑧+𝑑(Ω12−Ω22+Ω32−Ω42)
𝐼𝑧
Le drone étant libre seulement selon l’axe de lacet, il ne peut y avoir de roulis ou de
tangage, ce qui implique que : 𝜙̇=𝜃̇=0
On a alors : 𝜓̈=𝑑(Ω12−Ω22+Ω32−Ω42)
𝐼𝑧
En intégrant à deux reprises, on obtient la loi de l’angle de lacet (en considérant les
conditions initiales nulles, ce qui est le cas si on rentre des échelons comme consignes moteurs).
𝜓(𝑡)=𝑑(Ω12−Ω22+Ω32−Ω42)
𝐼𝑧.𝑡2
2
Lors de l’expérience, nous avons mis les moteurs : 1 et 3 à mi -puissance, c’est -à-dire
5400 tr/min et les moteurs 2 et 4 à l’arrêt. On effectue un quart de tour.
𝜋
2=𝑑(Ω12−Ω22+Ω32−Ω42)
𝐼𝑧.𝑡2
2=𝑑.Ω2.𝑇2
𝐼𝑍
Soit :
𝑑=𝜋
2.𝐼𝑍
Ω2.𝑇2
On obtient alors : d = 2,39.10-6 kg.m2/rad² (IV.3)
Validation du Modèle quadrirotor 49
Figure IV.3 : Banc d’essai n° 2
IV.1.4 Détermination des paramètres du moteur
La fonction de transfert de l’ensemble {ESC + Moteur + Hélice} est donnée par :
𝑯(𝒑)= 𝑲
𝟏+𝝉𝒑
Le gain du moteur nous est donné par le constructeur :
1000KV K=1000tr. min-1/V.
Soit : K=105 rad.s-1/V (IV.4)
On détermine la constante de temps en effectuent un enregistrement sonore de la réponse
du moteur à un échelon de tension illustré par la figure IV.4 , puis nous déterminons
graphiquement la constante de temps :
𝝉=𝟎,𝟏𝒔 (IV.5)
50 Chapitre IV :
Figure IV.4 : Réponse indicielle de l’ensemble {ESC, M oteur , Hélice}
IV.2. Validation du modèle sous Simulink
Sur la base des é quations décrivant le comportement dynamique du quadrirotor ( (III.11),
(III.12), (III.13) ), nous avons commencé par simuler son modèle sous l'environnement
Matlab/Simulink. Ce dernier est illustré par la figure IV.5 . Il convient de rappeler que le modèle
élaboré a pour entrée s les tensions de commande des quatre moteurs du quadrirotor (U1, U2, U3,
U4) et a pour sorties :
– La position du quadrirotor définie par les coordonnées (X, Y, Z ) ;
– L’attitude définie par les trois angles de rotation autour des trois ax es x, y et z :
o Angle de roulis (Phi) ;
o Angle de tangage (Thêta ) ;
o Angle de lacet (Psi).
Nous avons ensuite effectué une série de simulations en vue d'une validation du modèle
du quadrirotor.
Validation du Modèle quadrirotor 51
Figure IV.5 : Entrées/Sorties du modèle quadrirotor
IV.2.1 Modèle du quadriro tor sous Simulink
Le schéma bloc du modèle quadrirotor est représenté su r la figure IV.6 . Ce modèle est
constitué de trois sous -systèmes :
– Dynamique des moteurs : ce bloc représente la dynamique de l’ensemble {ESC,
Moteur, Hélice} voir figure IV.7 .
– Dynamiq ue de rotation : représente la dynamique des mouvements de rotation du
quadrirotor. Ce bloc permet de générer les trois angles de rotation (𝜙,𝜃,𝜓) ;
– Dynamique de translation : représente la dynamique des mouvements de
translations selon les trois axes ( x, y, z). Ce bloc permet de générer la position du
quadrirotor (𝑋,𝑌,𝑍).
52 Chapitre IV :
Figure IV.6 : Modèle du quadrirotor sous L'environnement Matlab/Simulink
Validation du Modèle quadrirotor 53
IV.2.1.1 Sous -système "Dynamique des moteurs "
Figure IV.7 : Modèle de la dynamique {Variateur + Moteur + Hélice}
IV.2.1.2 Sous -système "Dynamique de rotation "
Le schéma bloc du sous-système "Dynamique de rotation " est représenté sur la
figure IV.8 . A partir des vitesses (Ω1,Ω2,Ω3,Ω4) des quatre moteurs, ce sous -système
permet de générer les trois angles de rotation (𝜙,𝜃,𝜓) autour des axes (x, y , z).
Il est constitué de quatre blocs :
– Poussée et Trainée (Voir figure IV.9 ) : Ce bloc modélise l’effet de la poussée moteur
et de la trainée .
– Effet gyroscopique (Voir figure IV.1 1) : Ce bloc modélise l’effet gyroscopique dû à
l’inertie du rot or.
– Effet d’inertie (Voir figure IV.1 2) : Ce bloc modélise, l’effet de l’inertie du quadrirotor .
– Double Intégration (Voir figure IV.1 0) : Après avoir additionner toutes les
accélérations angulaires dues aux différents effets, une première intégration perme t de
déterminer les vitesses angulaires respectivement du roulis, tangage puis du lacet. Une
deuxième intégration permet la détermination des angles de rotation
correspondant (𝜙,𝜃,𝜓).
54 Chapitre IV :
Figure IV.8 : Schéma bloc du sous -système " Dynamique de rotation "
Validation du Modèle quadrirotor 55
Figure IV.9 : Modèle de l a poussée m oteur et de la trainée
Figure IV.10 : Bloc double intégration
56 Chapitre IV :
Figure IV.11 : Modèle de l’effet gyroscopique
Figure IV.12 : Modèle de l’effet d’inertie du quadrirotor
IV.2.1.3 Sous -système "Dynamique de translation"
Le schéma bloc du sous -système " Dynamique de translation " est représenté su r la
figure IV. 13. A partir des vitesses (𝛀𝟏,𝛀𝟐,𝛀𝟑,𝛀𝟒) des quatre moteurs et à partir des trois
angles de rotation (𝝓,𝜽,𝝍) autour des axes (x, y , z), ce sous -système permet de générer la
position du quadrirotor correspondante aux coordonnées ( X, Y, Z ).
Validation du Modèle quadrirotor 57
Figure IV.13 : Schéma bloc du sous -système " Dynamique de translation "
IV.2.2 Simulation en boucle ouverte
Pour valider le modèle réalisé sous L'environnement Matlab/Simulink , nous avons
réalisé une série de simulation s en boucle ouverte (Voir figure IV.1 4) sous forme de scénarios
possibles : Monté e verticale, mouvement de tangage, mouvement de roulis, mouvement de
lacet.
58 Chapitre IV :
Figure IV.14 : Schéma de l'essai en boucle ouverte
IV.2.2.1 Scénario n° 1 : Montée verticale
Tous les moteurs sont commandés par la même tension qui correspond à une commande
de gaz de 80%, soit : 𝑼𝟏= 𝑼𝟐= 𝑼𝟑= 𝑼𝟒= 𝟎,𝟖V.
Les résultats de la simulation sont illustrés par la figure IV.15 .
Nous constat ons en clair que le drone est parfaitement horizontal (𝜙=𝜃=𝜓=0). En
effet, nous avons appliqué la même commande de gaz à tous les mo teurs ce qui a pour effet de
produire la même poussée au niveau de chaque hélice.
D'autre part, le drone garde toujours la même position 2D (X=0 et Y=0) alors que selon
l'axe z, il prend de l'altitude mais malheureusemen t son mouvement est instable (Z ).
Validation du Modèle quadrirotor 59
Figure IV.15 : Résultats de la simulation d'une montée verticale
IV.2.2.2 Scénario n° 2 : Mouvement de roulis
Nous allons faire incliner le drone vers la droite en faisant diminuer la tension de
commande du moteur de droite et faire augmenter celle du moteur de gauche dans les mêmes
proportions. Soient : 𝑼𝟏=𝟎,𝟖𝑽; 𝑼𝟐=𝟎,𝟕𝑽; 𝑼𝟑=𝟎.𝟖𝑽 𝒆𝒕 𝑼𝟒= 𝟎,𝟗V.
En observant les résultats de la simulation sur la figure IV.1 6, nous constatons en clair
une instabilité du système en mouvement de roulis ainsi qu'en mon tée verticale .
Figure IV.16 : Résultats de la simulation d'un mouvement de roulis
60 Chapitre IV :
IV.2.2.3 Scénario n° 3 : Mouvement de tangage
Nous allons faire pencher le drone vers l'avant en faisant diminuer la tension de
commande du moteur avant et faire augmenter celle du moteur arrière dans les mêmes
proportions. Soient : 𝑼𝟏=𝟎,𝟕𝑽; 𝑼𝟐=𝟎,𝟖𝑽; 𝑼𝟑=𝟎.𝟗𝑽 𝒆𝒕 𝑼𝟒= 𝟎,𝟖V.
En observant les résultats de la simulation sur la figure IV.17, nous constatons en clair
une instabilité du système en mouvement de tangage ainsi qu'en montée verticale .
Figure IV.17 : Résultats de la simulation d'un mouvement de tangage
IV.2.2.4 Scénario n° 4 : Mouvement de lacet
Nous allons essayer de faire tourner le drone autour de son axe z. Pour se faire, nous
allons faire augmenter les tensions de commande des moteurs avant et arrière tout en faisant
diminuer celles des moteurs de droite et de gauche dans les mêmes proportions.
Soient : 𝑼𝟏=𝟎,𝟗𝑽; 𝑼𝟐=𝟎,𝟕𝑽; 𝑼𝟑=𝟎.𝟗𝑽 𝒆𝒕 𝑼𝟒= 𝟎,𝟕V.
En observant les résultats de la simulation sur la figure IV.18 , nous cons tatons une
instabilité d u système en mouvement de lacet et en montée verticale .
Validation du Modèle quadrirotor 61
Figure IV.18 : Résultats de la simulation d 'un mouvement de lacet
IV.2.2.5 Interprétation des résultats de simulation
En étudiant les résultats des quatre scénarios de commandes étudiés précédemment,
nous pouvons conclure sur l'état de stabilité du drone en boucle ouverte :
– Système instable en rotation selo n les trois axes ;
– Système instable en altitude selon l'axe z ;
– Un mouvement de translation verticale seule n'affecte pas la position 2D du drone dans le
plan (x, y) ainsi que son attitude définie par 𝜙,𝜃 𝑒𝑡 𝜓;
– Un mouvement de rotation autour d'un axe n'induit aucun autre mouvement ce qui montre
qu'il y a un découplage totale entre les trois mouvements de rotation.
– Tant que nous n'avons pas modifié la valeur de la poussée totale, le drone garde la même
altitude indépendamment des mouvements de rotation ce qui montre qu'il y a un découplage
totale entre attitude et altitude.
En conclusion, un drone quadrirotor commandé en boucle ouverte est un système
instable en rotation et en translation verticale . Il est donc nécessaire de réaliser une commande
en boucle fermée afin de contrôler l'attitude et l'altitude de cet engin volant .
62 Chapitre IV :
IV.3. Commande en boucle fermée du quadrirotor
Les simulations ont clairement montré que le système étudié est totalement instable en
boucle ouverte . D'où la nécessité de déterminer une approche de commande adéquate en vue
de le stabiliser et de le réguler.
Dans cette partie, nous nous forcerons de déterminer des régulateurs PID permettant
d'atteindre les objectifs précités. Ces régul ateur s PID sont devenu la "norme de l'industrie " en
matière de régulation en raison de leur simplicité et de leurs bonnes performances.
IV.3.1 Structure des régulateurs PID proposés
On se propose de réguler le comportement du quadrirotor en attitude et en altitud e. Pour
se faire, nous proposons des régulateurs PID à structure parallèle illustrée par la figure IV.19.
Figure IV.19 : Structure parallèle d'un régulateur PID
Un régulateur PID est un algorithme de calcul qui délivre un signal de commande à
partir d'un signal d'erreu r qui représente la différence entre la consigne et la mesure. Sa fonction
de transfert s'écrit :
𝑅(𝑝)= 𝐾𝑃+ 𝐾𝐼.1
𝑝+ 𝐾𝐷 .𝑝 (IV.6)
Avec :
𝐾𝑝 : Gain de l'action proportionnelle permet d' améliore la précision et la rapidité du système ;
𝐾𝐼 : Gain de l'action intégrale qui permet d'éliminer l'erreur statique ;
𝐾𝐷 : Gain de l'action dérivée qui permet d'accélérer la correction.
Validation du Modèle quadrirotor 63
IV.3.2 Détermination des paramètres des régulateurs PID
Suite aux résultats de simulations en boucle ouverte, il s'est avéré que le système étudié
est instable. Nous nous sommes alors forcés à détermin er les paramètres des régulateurs PID,
en utilisant la méthode de Ziegler –Nichols en boucle fermée. Cette méthode est base sur la
détermination du point critique du processus qui correspond à sa limite de stabilité.
Expérimentalement, on boucle le processu s sur un simple régulateur proportionnel dont
on augmente le gain jusqu'à amener le système à osciller de manière permanente. On se trouve
ainsi à la limite de stabilité. Il suffit alors de relever le gain critique 𝐾𝑐𝑟 du régulateur et la
période d'o scillation 𝑇𝑐𝑟 de la réponse puis calculer les paramètres du régulateur PID à l'aide
des équations suivantes :
𝐾𝑃=0,6.𝐾𝑐𝑟 𝐾𝐼=𝑇𝑐𝑟2⁄ 𝐾𝐷=𝑇𝑐𝑟8⁄ (IV.7)
Pour exploiter cette mé thode sous l'environnement Matlab/Simulink, nous avons réalisé
le schéma de simulation en boucle fermé illustré par la figure IV.2 1.
Le bloc "mixage de commandes", dont le schéma interne est illustré par la figure IV.20 ,
représente notre approche de comman de pour faire déplacer le quadrirotor.
Figure IV.20 : Mixage de commandes
64 Chapitre IV :
Figure IV.21 : Régulation de l'attitude du quadrirotor par PID
Validation du Modèle quadrirotor 65
IV.3.2.1 Paramètres du PID de la boucle de Roulis
Pour ramener le système à un point de fonctionnement donnée, nous avons commencé
par appliquer à l'en trée Throttle une valeur de 0,8 représentant une poussée moteur/hélice de
80%. Les paramètres des trois régulateurs étant à zéro, nous avons essayé d'augmenter le gain
𝐾𝑃 de la boucle de Roulis afin de ramener le système à sa limite de stabilité pour. Ainsi nous
avons pu relever pour une consigne RC_Roll de 10°, la sortie illustrée par la figure IV.22 .
Figure IV.22 : Phase de pompage de la boucle de Rouli s
Après avoir relevé le gain critique 𝐾𝐶𝑟=0,061 et la période d'oscillation 𝑇𝐶𝑟=
0,0114 𝑠, nous av ons calculé les paramètres du régulateur PID de la boucle de Roulis.
𝐾𝑃=0,6 .𝐾𝐶𝑟= 0.0366
𝐾𝐼=0,5 .𝑇𝐶𝑟=0,0057
𝐾𝐷=0,125 .𝑇𝐶𝑟=0,001425
En utilisant les paramètres ainsi déterminé pour le régulateur PID de la boucle de Rou lis,
nous avons pu relever une sortie présentant un dépassement élevée. Nous avons alors procéder
66 Chapitre IV :
à une correction de ces paramètres par la méthode essai -erreur jusqu'à ce que nous avons obtenu
le résultat satisfaisant i llustrée par la figure IV.23
Figure IV.23 : Répon se de la boucle de roulis à une consigne de 10°
IV.3.2.1 Paramètres du PID de la boucle de Tangage
Physiquement un quadrirotor est symétrique par rapport aux deux axes passant par les
deux bras de son cadre, nous pouvons alors utiliser les paramètres du régulateur PID de la
boucle de Roulis pour celui de la boucle de tangage. Ce qui nous a conduits au résultat illustré
par la figure IV.24 .
Figure IV.24 : Réponse de la boucle de tangage à une consigne de 10°
IV.3.2.2 Paramètres du PID de la boucle de lacet
En suivant la même démarche préc itée, nous avons pu déterminer les paramètres du
régulateur de la boucle de Lacet. Ce qui a permis d'obtenir le résultat illustré par la figure IV.25 .
Validation du Modèle quadrirotor 67
Figure IV.25 : Réponse de la boucle de lacet à une consigne de 10°
IV.3.3 Validation des performances des régulateurs
Pour va lider les performances des trois régulateurs, nous avons procédé à un essai
utilisant une consigne de 20° pour les trois boucles. Le résultat est illustré par la figure IV.26.
Figure IV.26 : Réponses des trois boucles à un consigne de 20°
Le résultat montre claireme nt que le système est stable, rapide tout en présentant un
dépassement. D'autre part L'erreur statique étant nulle ce qui montre la précision de la
commande.
68 Chapitre IV :
Chapitre V : Conception de la carte de contrôle
Introduction
Le contrôle d’un drone est une tâche très complexe q ue ce soit pour un homme ou pour
un système de contrôle. Ce dernier doit pouvoir compter sur une multitude de périphériques qui
mesurent et analysent l’environnement dans lequel le drone évolue.
Dans ce chapitre, nous avons commencé par décrire la carte de contrôle principalement
son microcontrôleur ATMEGA 2560 ainsi que les périphériques associés à savoir le module de
communication XBee -PRO, la centrale inertielle et les contrôleurs de vitesse ESC.
Dans la partie suivante, nous avons décrit tous les routin es exécutées par le
microcontrôleur de la carte afin d'accomplir la fonction de contrôle et de stabilisation.
V.1. Description de la carte de contrôle
La carte de contrôle de vol est conçue à base d’un microcontrôleur qui communique
avec d’autres périphériques afin d’assurer sa mission principale : le contrôle et la stabilisation
du quadrirotor (Voir figure V.1).
Ces périphériques sont au nombre de trois :
– Un module de communication sans fil ;
– Une centrale inertielle ;
– Quatre contrôleurs électroniques de vitess e associés aux quatre moteurs Brushless.
70 Chapitre V :
Figure V.1: Carte de contrôle et périphériques associés
V.1.1 Microcontrôleur
La carte de contrôle de vol du drone est réalisée autour du microcontrôleur ATMEGA
2560 de la maison Atmel. Le choix de ce microcontrôleur étant j ustifié par ses bonnes
performances ( Voir tableau V.1) ce qui explique son utilisation dans la plupart des contrôleurs
de vol des quadrirotor s actuels.
Microcontrôleur ATMEGA 2560
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 54 (dont 14 disposent d'une sortie PWM)
Broches d'entrées analogiques 16 (utilisables en broches E/S numériques)
Intensité maxi disponible par broche E/S (5V) 40 mA (Attention : 200mA cumulé pour
l'ensemble des broches E/S)
Intensité maxi disponible pour la sortie 3.3V 50 mA
Intensité maxi disponible pour la sortie 5V Fonction de l'alimentation utilisée – 500 mA
max si port USB utilisé seul
Mémoire Programme Flash 256 KB dont 8 KB sont util isés par le
bootloader
Mémoire SRAM (Mémoire volatile) 8 KB
Mémoire EEPROM (Mémoire non volatile) 4 KB
Vitesse d'horloge 16 MHz
Tableau V.1: Synthèse des caractéristiques du microcontrôleur ATMEGA 2560
Microcontrôleur
Interface Série
Interface s PWM
Interface I2C
Centrale inertielle (IMU)
Module de
communication sans fil
ESC1 + Moteur1
ESC2 + Moteur2
ESC3 + Moteur3
ESC4 + Moteur4
Conception et réalisation de la carte de contrôle 71
La figure V.2 présente l'architecture interne du microcontrôleu r ATMEGA 2560 , les différents
ports ainsi que les interfaces de communications.
Figure V.2: Architecture interne du microcontrôleur ATMEGA 2560
V.1.2 Module de communication
Un module de communication qui communique via une liaison série avec le
microcontrôleur et via une liaison sans fil avec la station sol. Il permet de recevoir les consignes
de contrôle du drone depuis la station sol et envoyer les mesures nécessaires vers cette dernière.
Le module utilisé pour notre cas est un module XBee qui se base sur le standard
ZigBee pour mettre en place des communications radio. Cette norme est adaptée aux réseaux
personnels sans fil à faibles débits.
72 Chapitre V :
Les modules XBee fonctionnent dans la bande de fréquences de 2,4GHZ.
Ils disposent, selon leur modèle, d'une antenne intégrée min iature, intégrée verticale, d'un
emplacement pour souder une antenne externe, ou encore d'un connecteur pour raccorder une
antenne externe (Voir figure V.3 ).
Figure V.3: Type s d’antenne pour un module XBee -PRO
La portée des modules dépend bien évidemment de l'antenne, mais aussi de la
configuration de la puissance de sortie des modules. Celle -ci peut être réglée de manière
logicielle. Le module XBee -PRO permet d'obtenir une puissance de sorti e de 60 mW,
correspondant à 18 dBm.
V.1.3 Centrale inertielle
La centrale inertielle (Inertial Measurement Unit (IMU)) utilisée est la MPU -6050 qui
intègre sur s a puce MEMS un gyroscope 3 axes et un accéléromètre 3 axes. Elle est très
précise avec une conversio n analogique -numérique sur 16 bits simultanée sur chaque canal, et
une interface I2C (400 kHz). Le brochage de cette centrale est donné à la figure V.4 .
Figure V.4: La c entrale inertielle MPU -6050
Conception et réalisation de la carte de contrôle 73
Les mesures brutes de ce capteur sont stockées dans un registre FIFO de 1024 octets
qu’un microcontrôleur peut lire, une fois préven u par un signal d'interruption.
Le module fonctionne en esclave sur le bus I2C vis à vis d’un microcontrôleur (pins
SDA, SLC) mais il peut aussi contrôler un autre dispositif en aval avec AUX -DA et AUX -CL,
par exemple un magnétomètre 3 axes (mesure du champ magnétique terrestre) pour une
orientation absolue dans l'espace (boussole). Sa consommation est faible, 3.9 mA avec les 6
capteurs activés. Son architecture interne est présentée à la figure V.5.
Figure V.5: Architecture interne de la MPU -6050
Le gyroscope retourne une vitesse angulaire selon 3 axes , l’angle de rotation s'obtient
par intégration dans le temps, en faisant attention au cumul des erreurs de dérive.
L'accéléromètre retourne une force ou u ne accélération (m²/s), la pesanteur terrestre
seule si le module est fixe. On peut la supprimer (par soustraction) dans le code si on ne veut
que les accélérations. La vitesse (m/s) peut s'en déduire par une première intégration dans le
temps (à une vites se initiale V 0 près), en faisant attention au cumul des erreurs de dérive.
La position de déplacement (m) peut s'en déduire par une seconde intégration dans le temps.
Le capteur possède un processeur numérique de mouvement DMP (Digital Motion
Processor) ca pable de faire des calculs rapides directement sur la puce à partir des mesures
brutes du capteur. En exploitant conjointement les résultats fournis par le gyroscope et par
l’accéléromètre, le DMP réalise indirectement un filtrage des mesures brutes. Ceci a pour effet
d'améliorer la précision des mesures et par la suite la qualité de contrôle du quadrirotor.
V.1.4 Les contrôleurs électroniques de vitesse
Les contrôleurs électroniques de vitesse (Electronic Speed Controller ( ESC) ) : ce sont
les quatre variateurs d e vitesses qui commandent les quatre moteurs Brushless via des signaux
PWM (Pulse Width Modulation).
74 Chapitre V :
L’ensemble est alimenté par une batterie LiPo qui fournit toute l’énergie nécessaire pour
tous les éléments du quadrirotor .
V.2. Architecture logicielle de la c arte de contrôle
Pour réaliser la tâche principale, le contrôle et la stabilisation du quadrirotor, la carte de
contrôle de vol nous permet d' exécute r des routines élémentaires ( Voir figure V.6) :
1. Réception de la trame de contrôle et extraction de consigne s ;
2. Lecture de mesures d’angles aéronautiques depuis la centrale inertielle et envoi de ces
mesures vers la station sol ;
3. Régulation d’attitude (Roulis, Tangage et Lacet) ;
4. Commande de moteurs.
Figure V.6: Routines assurées par la carte de c ontrôle
V.2.1 Extraction de consignes
Cette routine permet la réception de la trame de commande envoyée depuis la station
sol et l’extraction des quatre consignes (Voir A2. 2 de l'annexe 2 ) : Interface série
Interface PWM Extraction de consignes
Commande de moteurs Throttle
Régulation d’attitude (Roulis,
Tangage et Lacet)
Interface I2C Envoi de mesures
Lecture de mesures
(Roulis, Tangage et Lacet)
Conception et réalisation de la carte de contrôle 75
Throttle : Consigne de puissance pour contrôler l’altitude, elle est e nvoyée au x quatre
moteurs simultanément.
RC_Roll : Consigne de roulis pour contrôler la rotation du drone autour de l’axe x .
RC_Pitch : Consigne de tangage pour contrôler la rotation du drone autour de l’axe y.
RC_Yaw : Consigne de lacet pour contrôler la rotation du drone autour de l’axe z .
La première consigne Throttle est envoyée directement vers le bloc Commande de
moteurs alors que les trois autres consignes sont envoyées vers le bloc Régulation
d’attitude .
V.2.2 Lecture de mesures
Ce bloc assure la lecture des angles aéronautiques ( IMU_Roll , IMU_Pitch et IMU_Yaw )
à partir de la mémoire intern e de la centrale inertielle . Ces mesures sont ensuite envoyées vers
le bloc Régulation d’attitude pour assurer la stabilité du drone (Voir A2. 3 de l'annexe 2).
V.2.3 Envoi de mesures
Ce bloc reçoit les mesures des trois angles aéronautiques du bloc Lecture de
mesures pour les transférer vers la station sol en utilisant le module de communication (Voir
A2.3 de l'annexe 2 ).
V.2.4 Régulation d’attitude par PID
Ce bloc a ssure la stabilisation du drone en exploitant les consignes (RC_Roll, RC_ Pitch
et RC_Yaw ) reçues du bloc Extraction de consignes ainsi que les mesures (IMU _Roll,
IMU _Pitch et IMU _Yaw ) reçues du bloc Lecture de mesures . En effet, l a stabilisation du
drone étant assurée grâce à trois PID réalisant un e régulation des trois angles aéronautiques ce
qui permet de fournir les commandes nécessaires ( Roll, Pitch et Yaw ). Ces trois sorties seront
envoyées ensuite vers le bloc Commande de moteurs (Voir A2. 4 de l'annexe 2 ).
76 Chapitre V :
V.2.5 Commande de moteurs
Ce bloc réalise deux tâches élémentaires : mixage de commandes et génération de
signaux PWM (Voir A2. 5 de l'annexe 2 ).
– Mixage de commandes : les quatre commandes Throttle , Roll, Tangage et Yaw sont
exploitées pour générer la commande de gaz pour chaque moteur (Voir figure V.7 ).
Figure V.7: Mixage de commandes d'un quadrirotor en configuration plus (+)
– Génération de signaux PWM : la commande de gaz de chaque moteur étant traduite en
une valeur correspondante à la largeur d’impulsion p uis le signal PWM est généré et envoyé
vers le variateur de vitesse (ESC) correspondant. En effet, une commande de gaz variable
de 1000 à 2000 correspond à un signal PWM de largeur d’impulsion variable entre 1ms et
2ms et ayant une fréquence de 50Hz.
Figure V.8: Signal PWM pour la commande des moteurs
Sous l'environnement Matlab/Simulink nous avons utilisés des tensions de commande
de moteurs variables de 0 à 1V qui correspond à une largeur d'impulsion de 1 à 2ms.
Conception et réalisation de la carte de contrôle 77
V.3. Conception de la carte de contrôle
Nous avons conçu la carte de contrôle de vol sous l'environnement PROTEUS /ISIS .
Cette carte permet de commander les quatre contrôleurs de vitesse (ESC) des quatre moteurs
via quatre connecteurs à trois broches (Gnd, Vcc, Mi) avec i=1..4 . La broche Mi permet de
commander l' ESC correspond via un signal PWM. La centrale inertielle MPU -6050 est reliée
via un connecteur à quatre broches exploitant le bus I2C du microcontrôleur 2560. Le module
de communication XBee -Pro est relié à la carte de contrôle via l'interface série Serial 1.
Figure V.9: Schéma de la carte de contrôle sous PROTEUS /ISIS
Chapitre VI : Validation expérimentale du système de
commande
Introduction
Pour valider expérimentalement le système de commande élaboré ci-avant , nous avons
réalisé un drone quadrirotor à base d' une carte Arduino Mega qui utilise le même
microcontrôleur 2560 . Ce quadrirotor qu'est illustré par la figure V.10 , est constitué des
éléments suivants :
– Un cadre composé de deux barres d'aluminium ayant une envergure de 0,5m ;
– Quatre moteurs Brushless A2212 -13T 1000KV ;
– Quat re hélices de taille 10×4 ,5;
– Quatre contrôleurs de vitesse (ESC) de 30A ;
– Une carte Arduino Mega ;
– Un module XBee -PRO et son shield;
– Une centrale inertielle à 6 axes de type MPU -6050 ;
– Pour alimenter l'ensemble, nous avons exploité u ne alimentation pour PC desktop ayant une
puissance de 230W.
Figure VI.1 : Plateforme expérimentale
80 Chapitre VI :
VI.1.1 Validation de la c ommande de moteurs
Pour tester la routine "Commande de moteurs " (Voir A2.5 de l'annexe 2 ) et vérifier la
génération de signaux PWM par la carte de contrôle, nous avons utilisés un oscilloscope
numérique à deux voies. Un exemple de signaux PWM générés par la carte de contrôle est
illustré par la figure V.1 1. La consigne de commande étant envoyé via le moniteu r série de
l'interface IDE Arduino ( Voir figure V.1 2).
Figure VI.2 : Exemple de signaux PWM générés par la carte de contrôle
Figure VI.3 : Commande des moteurs via le moniteur série de l'IDE Arduino
Validation expérimentale du système de contrôle -commande 81
VI.1.2 Validation de la mesure d'angles aéronautiques
Pour tester la routine "Lecture de mesures d'angles " (Voir A2. 3 de l'annexe 2 ), nous
avons exploit é une autre fois le moniteur série de l'interface IDE Arduino pour afficher les
angles aéronautiques retournés par la centrale inertielle MPU -6050. Les résultats de cet essai
est illustré par la figure V.1 3.
Figure VI.4 : Lecture de l'attitude du quadrirotor via l'int erface série
VI.1.3 Validation de la régulation par PID
Pour pouvoir valider par voie d'essais la routine régulation par PID, nous avons exploité
le banc d'essai "Balançoire" illustré par la figure V.14 .
Sur le même banc d'essai, nous avons adopté la méthode essa i-erreur pour l a
détermination expérimentale des paramètres des régulateurs PID. Ainsi nous avons pu obtenir
les résultats suivants :
– Paramètres du r égulateur PID de roulis : 𝐾𝑝=0.15; 𝐾𝐼=0.2; 𝐾𝐷=0.4
– Paramètres du r égulateur PID de tangage : 𝐾𝑝=0.15; 𝐾𝐼=0.2; 𝐾𝐷=0.4
– Paramètres du r égulateur PID de lacet : 𝐾𝑝=0.5; 𝐾𝐼=0.2; 𝐾𝐷=0.3
82 Chapitre VI :
Figure VI.5 : Banc d'essai "Balançoire"
Conclusion
Au travers de ce chapitre, nous avons pu exploiter une maquette expérimentale pour
valider par voie d'essais le système de commande conçu.
Bien que nous ayons conçue cette maquette à base de moyens de bord , les résultats
obtenus à partir des différents essais étaient très satisfaisants.
En effet, nous avons pu commander les quatre moteurs et faire varier leurs vitesses dans
la fourchette autorisée. Aussi, nous avons pu fusionner les données fournies par le gyroscope
et l'accéléromètre pour avoir des mesures d'angles aérona utiques avec une bonne précision.
Sans oublier la détermination des paramètres des PID en exploitant le banc "balançoire".
Conclusion générale
Ce travail m’a permis de se confronter à de nombreux problèmes pluridisciplinaires
toujours en lien avec ma sp écialité le génie électrique . Les difficultés étaient de taille, puisque
ce travail comportait, entre autres, un fort aspect pratique concernant la conception et la
réalisation d’un prototype de drone quadrirotor , ainsi que les essais expérimentaux nécessa ires
à l’identification du modèle dynamique. Toutefois, ce travail a nécessité de piocher dans
plusieurs domaines pour d’abord initier le concept, puis pour répondre aux différentes tâches
imposées par le projet Drone de l'ENSET de Rabat . Ce projet était une expérience personnelle
formidable, bien qu’à l’évidence, il ne s’annonçait pas comme une aventure facile.
En quelques mots, les travaux entrepris dans ce mémoire s’articulent principalement
autour de la modélisation et le contrôle d'un drone quadrirotor en vue d'assurer un vol quasi –
stationnaire de cet engin. Je présente dans ce qui suit un bilan quant aux résultats et aux
perspectives de ce travail.
La modélisation dynamique d’un drone quadrirotor constituait une tâche très
importante. Il s’agit d’une é tape indispensable à la bonne compréhension des lois physiques qui
régissent de tel système et indispensable à la conception d'un système de contrôle. Après avoir
fait l'inventaire des effets physiques agissant sur un quadrirotor, nous avons élaboré un mod èle
dynamique de cet engin en utilisant le formalisme du Newton -Euler. Ainsi nous avons pu
modéliser un drone quadrirotor par une architecture englobant trois sous -systèmes : un modèle
de la dynamique de moteurs, un modèle de la dynamique de translation et un modèle de la
dynamique de rotation.
Une fois le modèle dynamique du quadrirotor a été élaboré, nous avons pu le valider par
voie de simulation sous l'environnement Matlab/Simulink. En effet, après avoir traduit le
modèle sous forme de schéma bloc sous Simulink, nous avons procédé à une série de
simulations en boucle ouverte. Les résultats obtenus ont clairement montré que le système
étudie est instable en attitude et en altitude. Cette situation nous a forcés à utiliser des
régulateurs PID en vue de réa liser une commande en boucle fermée et stabiliser le
comportement dynamique du quadrirotor. La détermination des paramètres de ces régulateurs
84 Conclusion générale
a été réalisée par la méthode essai -erreur ( try and error method ) ainsi la validation de leurs
performances sous l'environnement Matlab/Simulink a donnée satisfaction.
Une dernière étape était la validation expérimentale du système commande élaboré.
Pour se faire nous avons réalisé un drone quadrirotor à base d'une carte Arduino Mega 2560 et
d'une centrale inertielle MPU -6050 que nous avons exploité pour tester et valider toutes les
routines de ce système. Les résultats obtenus ont pu montrer l'efficacité de l'approché utilisé.
Comme perspectives, nous proposons d'installer une charge utile comprenant une
caméra , une nacelle, une caméra FPV et son émetteur vidéo . Ainsi le quadrirotor sera en mesure
d'accomplir la mission imposée par les spécifications du projet Drone : le contrôle routier.
D'autre part, nous proposons d'équiper le drone, en plus de la centrale inertiel le MPU –
6050, d'un capteur d'altitude en vue de réguler sa position verticale et maitriser ainsi son
atterrissage. La mise en place d'un GPS va nous permettre d'exécuter des missions sur des
trajectoires prédéfinis .
Bibliographie
[1] DeGarmo , M. T. (2004) . Issues concerning integration of unmanned aerial vehicles
in civil airspace. The MITRE Corporation Center for Advanced Aviation System
Development .
[2] Landry , M. (2012). Commande de vol non -linéaire en temps réel d’un drone à
voilure fixe (Doctoral disserta tion, École de technologie supérieure).
[3] Sarris, Zak, and S. Atlas. "Survey of UAV applications in civil markets." IEEE
Mediterranean Conference on Control and Automation . 2001.
[4] Oleson, K. E., et al. "Trust in unmanned aerial systems: A synthetic, distribu ted trust
model." 16th International Symposium on Aviation Psychology,(Dayton, OH.) . 2011.
[5] Austin, Reg. Unmanned aircraft systems: UAVs design, development and
deployment . Vol. 54. John Wiley & Sons, 2011.
[6] Chao, HaiYang, YongCan Cao, and YangQuan Chen. "Au topilots for small
unmanned aerial vehicles: a survey." International Journal of Control, Automation
and Systems 8.1 (2010 ).
[7] Schmidt, George T. INS/GPS technology trends . MASSACHUSETTS INST OF
TECH LEXINGTON MA, 2010.
[8] http://www.developpement -durable.gouv.fr/Regles -d-usage -d-un-drone –
de,41722.html
[9] http://www.banggood.com/fr/Sunnysky -V2216 -800KV -Outrunner -Brushless -Motor –
p-78175.html?p=XC2706231108201307E0
[10] http://www.banggood.com/fr/HQ -Prop -12×6 -1260 -Thin -Electric -Carbon -Composite –
Props -2pcs-CWCCW -For-RC-Airplane -Multicopter -p-998548.html
[11] http://www.banggood.com/DYS -30A-2-4S-Brushless -Speed -Controller -ESC-
Simonk -Firmware -p-950867.html?p=XC2706231108201307E0
[12] http://www.banggood.com/Lion -Power -11_1V -5200MAH -30C-MAX -40C-Lipo-
Battery -XT60 -Plug-p-955501.html
86 Bibliographie
[13] http://www.robotshop.com/blog/fr/robots/gorobotics/tutoriels/comment -fabriquer –
un-drone
[14] http://www.mondrone.net/category/dossier -drone/
[15] http://www.mondrone.net/category/debutant/
[16] http://www.geekmag.fr/lexique -modelisme -oriente -quadricoptere -et-autres –
multicopteres/
[17] http://www.scriptasylum.com/rc_speed/lipo.html
[18] http://www.banggood.com/Wholesale -Multi -Rotor -Parts -c-2520.html
[19] http://www.foxtechfpv.com/multirotor -and-accessories.html
[20] http://www.drone -configurator.com/fr/
[21] http://www.ecalc.ch/xcoptercalc.php?ecalc&lang=fr
Annexes
Annexe 1 : Fiches techniques des composants
Figure A1.1 : Fiche technique du moteur Sunnysky V2216 -800kV
88 Annexe 1 :
Figure A1.2 : Hélice 12×6 à la fibre de carbone
Description:
Brand Name : DYS
Item NO. :MB30030
Model: 30A ESC
Categories: Speed controller
Specification:
– Running current: 30A (Output: Continuous 30A,
Burst 40A up to 10 Secs.)
– Input Voltage: DC 6 -16.8V (2 -4S Lixx )
– BEC: 5V 2amp.
– Size: 46mm (L) * 26mm (W) * 11m m (H).
– Weight: 23g
– With SimonK updated firmware for multicopter
Figure A1.3 : Contrôleur de vitesse électrique ( ESC) DYS 30A 2 -4S
Figure A1.4 : Batterie Lion Power 3S 30C 5200mah
Annexe 2 : Programme principal et routines associées
A2.1. Programme principal
#include "config.h"
void setup()
{
Initialiser_Serial();
Initialiser_I2C();
Initialiser_PID();
Brancher_Moteurs();
Stopper_Moteur();
Throttle = PWM_MOTOR_STOP;
}
void loop()
{
lire_consignes();
if((Throttle >= PWM_MOTOR_STOP ) && (Throttle < PWM_MOTOR_START ))
{
Stopper_Moteur();
} else
{
Mesurer_IMU();
Stabiliser_Quad();
Commander_Moteurs();
}
}
A2.2. Routine de communication via le module XBee
int i;
void Initialiser_Serial()
{
// initialise connexion série à 115200 bauds
// IMPORTANT : régler le terminal côté PC avec la même valeur de transmission
Serial.begin(BaudRate);
}
void lire_consignes()
{
if (Serial.available () > 0) {
Throttle = extraire_consigne();
Serial.print(Throttle);
Serial.print('-');
RC_Roll = extraire_consigne();
Serial.print(RC_Roll);
Serial.print('-');
RC_Pitch = extraire_consigne();
Serial.print(RC_Pitch);
Serial.print('-');
90 Annexe 2 :
RC_Yaw = extraire_consigne();
Serial.println(RC_Yaw);
}
}
double extraire_consigne()
{
char inByte;
String data="";
if (Serial.available () > 0) {
inByte = Serial.read();
while (inByte != fin_commande){
data.concat(char(inByte));
while (Serial.available () == 0);
inByte = Serial.read();
delay(1);
}
return data.toInt();
}
}
A2.3. Routine de mesures d'angles aéronautiques
#include <helper_3dmath .h>
#include <I2Cdev.h> //Bibliothèque pour utliser le bus I2C
#include <MPU6050_6Axis_MotionApps20 .h>
MPU6050 mpu; //Déclara tion d'objet MPU6050
//- Déclaration du numéro de la broche d'interruption du MEGA2560 (INT0)
byte PinIntIMU =0;
// MPU control/status vars
bool dmpReady = false; // set true if DMP init was successful
uint8_t mpuIntStatus; // holds actual interrupt st atus byte from MPU
uint8_t devStatus; // return status after each device operation
// (0 = success, !0 = error)
uint16_t packetSize; // expected DMP packet size (default is 42 bytes)
uint16_t fifoCount; // count of all bytes currently in FIF O
uint8_t fifoBuffer[64]; // FIFO storage buffer
// orientation/motion vars
Quaternion q; // [w, x, y, z] quaternion container
VectorFloat gravity; // [x, y, z] gravity vector
float ypr[3]; // [yaw, pitch, roll]
//
//––- Routine de détection d'interruptions
//
volatile bool mpuInterrupt = false; // indicates whether MPU interrupt
pin has gone high
void dmpDataReady() {
mpuInterrupt = true;
}
//
//––- Initialisation de la communication via I2C <==> I MU (MPU 6050)
Programme principal et routines associées 91
void Initialiser_I2C()
{
// join I2C bus (I2Cdev library doesn't do this automatically)
Wire.begin();
TWBR = 24; // 400kHz I2C clock (200kHz if CPU is 8MHz)
// initialize device
mpu.initialize();
// verify connection
while(!mpu.testConnection()){};
// load and configure the DMP
devStatus = mpu.dmpInitialize();
// make sure it worked (returns 0 if so)
if (devStatus == 0)
{
// turn on the DMP, now that it's ready
mpu.setDMPEnabl ed(true);
// enable Arduino interrupt detection
attachInterrupt (PinIntIMU , dmpDataReady , RISING);
mpuIntStatus = mpu.getIntStatus();
// DMP ready! Waiting for first interrupt…
dmpReady = true;
// get expected DMP packet size for l ater comparison
packetSize = mpu.dmpGetFIFOPacketSize();
}
}
void Mesurer_IMU()
{
if (!dmpReady) return; // if programming failed, don't try to do anything
// Test if MPU interrupt or extra packet(s) available
if (mpuInterrupt || fifoCount >= packetSize) {
// reset interrupt flag and get INT_STATUS byte
mpuInterrupt = false;
mpuIntStatus = mpu.getIntStatus();
// get current FIFO count
fifoCount = mpu.getFIFOCount();
// check for overflow (this should never happen unless our code is too
inefficient)
if ((mpuIntStatus & 0x10) || fifoCount == 1024) {
// reset so we can continue cleanly
mpu.resetFIFO();
// otherwise, check for DMP data ready interrupt (this should happen
frequently)
} else if (mpuIntStatus & 0x02)
{
// wait for correct available data length, should be a VERY short wait
while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount();
// read a packet from FIFO
mpu.getFIFOBytes(fifoBuffer , packetSize);
// track FIFO count he re in case there is > 1 packet available
// (this lets us immediately read more without waiting for an
interrupt)
fifoCount -= packetSize;
92 Annexe 2 :
// Détermination des angles de : Lacet, Tangage et Roulie en radians
mpu.dmpGetQuaternion( &q, fifoBuffer);
mpu.dmpGetGravity( &gravity, &q);
mpu.dmpGetYawPitchRoll(ypr , &q, &gravity);
/*Conversion des mesures en largeurs d'impulsions
*Normalisation des mesures
*/
IMU_Yaw = map(degrees(ypr[0]) ,-180, 180,RC_Yaw_Min , RC_Yaw_Max);
IMU_Pitch = map(degrees(ypr[1]) ,-90 , 90,RC_Pitch_Min ,RC_Pitch_Max);
IMU_Roll = map(degrees(ypr[2]) ,-90 , 90,RC_Roll_Min , RC_Roll_Max);
writeInt(( int)IMU_Roll); Serial.write(fin_commande);
writeInt(( int)IMU_Pitch); Serial.write(fin_commande);
writeInt(( int)IMU_Yaw); Serial.write(fin_commande);
Serial.println();
}
}
}
void writeInt( int d){
String str = String(d);
for(i=0;i<str.length();i++) Serial.write(str[i]);
}
A2.4. Routine de régulation par PID
#include <PID_v1.h> //Bibliothèques pour créer et exécuter un PID
const int SampleTime =10; //Période d'échantillonnage des PIDs (10ms)
//Déclaration des paramètres de réglage (Kp, Ki, Kd)
double //PID tangage
Kp_Pitch =0.15, //Gain de l'action proporti nnelle
Ki_Pitch =0.2, //Gain de l'action intégralle
Kd_Pitch =0.5 ; //Gain de l'action dérivée
double //PID Roulie
Kp_Roll=0.15, //Gain de l'action proportinnelle
Ki_Roll=0.2, //Gain de l'action intégralle
Kd_Roll=0.15; //Gain de l'action dérivée
double //PID Lacet
Kp_Yaw=0.5, //Gain de l'action proportinnelle
Ki_Yaw=0.2, //Gain de l'action intégralle
Kd_Yaw=0.3; //Gain de l'action intégralle
//Déclaration des objet s PIDs pour les trois boucl es de régulation (Pitch, Roll,
Yaw)
//Syntaxe : PID(Input, Output, Setpoint, Kp, Ki, Kd, Direction)
PID
PID_Yaw( &IMU_Yaw, &Yaw, &RC_Yaw, Kp_Yaw, Ki_Yaw, Kd_Yaw, DIRECT),
PID_Pitch( &IMU_Pitch , &Pitch, &RC_Pitch , Kp_Pitch , Ki_Pitch , Kd_Pitch , DIRECT),
PID_Roll(&IMU_Roll , &Roll, &RC_Roll, Kp_Roll, Ki_Roll, Kd_Roll, DIRECT);
//–––––––––- Initialisation des PIDs
void Initialiser_PID()
{
//Définir la période d'échantillonnage Te
PID_Pitch .SetSampleTime (SampleTime);
PID_Roll .SetSampleTime(SampleTime);
Programme principal et routines associées 93
PID_Yaw.SetSampleTime (SampleTime);
//Activer les trois PIDs
PID_Pitch .SetMode(AUTOMATIC );
PID_Roll .SetMode(AUTOMATIC );
PID_Yaw.SetMode(AUTOMATIC );
}
//–––––––– Exécution des PIDs
void Stabiliser_Quad()
{
double
Pitch_Min = max(Throttle -PWM_MOTOR_MAX ,PWM_MOTOR_START -Throttle) ,
Pitch_Max = min(Throttle -PWM_MOTOR_START ,PWM_MOTOR_MAX -Throttle) ,
Roll_Min = max(Throttle -PWM_MOTOR_MAX ,PWM_MOTOR_START -Throttle) ,
Roll_Max = min(Throttle-PWM_MOTOR_START ,PWM_MOTOR_MAX -Throttle);
//Limiter les sorties des PIDs dans la fourchette autorisée
PID_Pitch .SetOutputLimits (Pitch_Min ,Pitch_Max);
PID_Roll .SetOutputLimits (Roll_Min , Roll_Max);
PID_Yaw. SetOutputLimits (Yaw_Min, Yaw_Max);
//Evaluer les sorties des PIDs
PID_Pitch .Compute();
PID_Roll .Compute();
PID_Yaw.Compute();
}
A2.5. Routine de commande de moteurs
#include <Servo.h> //Bibliothèque pour piloter des moteurs Brushless
//Création d'objets représentant l es moteurs du quadricoptère (Quad +)
Servo
Motor_Front , //Moteur Avant (CW)
Motor_Back , //Moteur Arrière (CW)
Motor_Right , //Moteur Droit (CCW)
Motor_Left ; //Moteur Gauche (CCW)
//–– Attachement ESCs/Moteurs aux broches cor respondantes –––
//
void Brancher_Moteurs()
{
Motor_Front .attach(Pin_Motor_Front);
Motor_Right .attach(Pin_Motor_Right);
Motor_Back .attach(Pin_Motor_Back);
Motor_Left .attach(Pin_Motor_Left);
}
/*––––––- Commander Moteurs –––– ––-*/
//
void Commander_Moteurs()
{
//Calcul de la largeur d'impulsion des s ignaux PWM pour un quadrirotor (+)
double
PWM_Motor_Front = Throttle – Pitch + Yaw,
PWM_Motor_Back = Throttle + Pitch + Yaw,
PWM_Motor_Right = Throttle – Roll – Yaw,
PWM_Motor_Left = Throttle + Roll – Yaw;
94 Annexe 2 :
// Impulsion PWM => Moteurs
Motor_Front .writeMicroseconds (PWM_Motor_Front);
Motor_Back .writeMicroseconds (PWM_Motor_Back);
Motor_Left .writeMicroseconds (PWM_Motor_Left);
Motor_Right .writeMicroseconds (PWM_Motor_Right);
}
/*––––––- Arrêter Moteurs –––––– */
void Stopper_Moteur()
{
//Impulsion PWM de largeur 1000 us => Moteurs à l'arrêt
Motor_Front .writeMicroseconds (PWM_MOTOR_STOP);
Motor_Right .writeMicroseconds (PWM_MOTOR_S TOP);
Motor_Back .writeMicroseconds (PWM_MOTOR_STOP);
Motor_Left .writeMicroseconds (PWM_MOTOR_STOP);
}
A2.6. Unité de déclarations globales
#define fin_commande '%'
// –––––––––- Communication ––––––-
#define BaudRate 115200 //Définition de la vitesse de la liaison série
/*Déclaration des consignes envoyées par le pilote du
quadricoptère (Station Sol)
* Throttle : Consigne de la commande des gaz (Puissance)
* RC_Yaw : Consigne de l'angle de Lacet
* RC_Pitch : Consigne de l'angle de tangage
* RC_Roll : Consigne de l'angle de Roulie
*/
double
RC_Yaw,
RC_Pitch ,
RC_Roll,
Throttle;
// Déclaration d es valeurs limites des consignes
#define Throttle_Min 1000
#define Throttle_Center 1500
#define Throttle_Max 2000
#define RC_Pitch_Min 1000
#define RC_Pitch_Center 1500
#define RC_Pitch_Max 2000
#define RC_Yaw_Min 1000
#define RC_Yaw_Center 1500
#define RC_Yaw_Max 2000
#define RC_Roll_Min 1000
#define RC_Roll_Center 1500
Programme principal et routines associées 95
#define RC_Roll_Max 2000
// –––––––––- Capteurs ––––––-
/*Déclaration des mesures d'angles à la sortie de l'IMU (MPU6050)
* IMU_Yaw : Mesure Angle de Lacet (yaw)
* IMU_Pitch : Mesure Angl e de Roulie (pitch)
* IMU_Roll : Mesure Angle de tangage (roll)
*/
double
IMU_Yaw,
IMU_Pitch ,
IMU_Roll;
// –––––––––- Régulation s ––––––-
//Déclaration des commandes régulées à la sortie des PID s
double
Yaw,
Pitch,
Roll;
// Déclaration des valeurs limites des sorties des PIDs (Pitch, Roll, Yaw)
#define PID_Pitch_Min -1000
#define PID_Pitch_Max +1000
#define PID_Yaw_Min -1000
#define PID_Yaw_Max +1000
#define PID_Roll_Min -1000
#define PID_Roll_Max +1000
// –––––––––- Moteurs ––––––-
//Déclarations des valeurs limites PWM des moteurs
#define PWM_MOTOR_STOP 1000
#define PWM_MOTOR_START 1050
#define PWM_MOTOR_MAX 1950
//Déclaration des broches moteurs pour une carte Arduino MEGA 2560
#define Pin_Motor_Front 9
#define Pin_Motor_Right 10
#define Pin_Motor_Back 11
#define Pin_Motor_Left 12
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Avenue des forces lArmée Royale, Madinat Al Irfane 10 100 B.P. 6 207 Rabat -Instituts Rabat Maroc [601743] (ID: 601743)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
