SlideShare une entreprise Scribd logo
1  sur  72
Télécharger pour lire hors ligne
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
‫جامع‬‫ــ‬‫ـة‬‫عباس‬ ‫فرحات‬-‫سطيـ‬‫ــ‬‫ـف‬UNIVERSITE FERHAT ABBAS -SETIF
‫التـكنــولــوجيــــا‬ ‫كليـة‬Faculté de Technologie
: ‫قسم‬‫اال‬‫ل‬‫كتروتقنية‬Département D’électrotechnique
Mémoire de Master
No. Réf. : MAI/05/2015
Présenté au Département d’électrotechnique
Domaine : Sciences et Technologie
Filière : Automatique
Spécialité : Automatique Industrielle
Réalisé par :
M.Doukhi Oualid
Thème
Commande et navigation autonome d'un drone
Quadrirotor
Soutenu le 16/06/2015 devant la commission d’examen composée de :
M. Khaber Farid à l’Université de Sétif Président
M. SID Mohamed Amine à l’Université de Sétif Directeur du Mémoire
M. Aouina Abdenoure à l’Université de Boumerdes co-encadrant
M. Aggoune Lakhder à l’Université de Sétif Examinateur
Résumé
L’objectif de ce travail est de développer une approche de commande linéaire,
et de l’appliquer sur un véhicule aérien sans pilote nommé quadrirotor. Après un
état de l’art sur ce type de véhicules, nous avons élaboré le modèle complet du
quadrirotor qui permet d’étudier son comportement dans des différents régimes de
fonctionnement. Pour pouvoir valider notre modèle, plusieurs tests ont été réalisés
par simulation sous Matlab/simulink. Nous avons présenté également les fonde-
ments théoriques de la technique de commande par PID, et cela, pour pouvoir
l’implémenter à la suite dans un calculateur distant. Pour atteindre ce but, nous
avons utilisé le langage C++ et l’environnement de développement ROS tout en
se basant sur les mesures en provenance de la centrale inertielle (IMU). Une fois
notre commande programmée, nous l’avons implémentée et testée sur le banc de
test parrot ardrone 2.0. Les résultats obtenus ont été très satisfaisants du point de
vue performance de commande et robustesse vis-à-vis les perturbations externes.
Mots clés : commande linéaire, drone quadrirotor , Proportionnel intégral dé-
rivé(PID) , C + + ,Robot operating system (ROS) , parrot ardrone
i
Remerciements
Mes remerciements vont, tout d’abord, au « Grand Allah » qui m’a guidé dans
le bon chemin et qui m’a donné toute cette force physique et mentale afin
d’accomplir, au mieux, ce présent travail.
Je tiens surtout à assurer ma sincère reconnaissance, mon plus grand respect et
ma totale gratitude à Mr.Sid Mohamed Amine, mon encadrant et docteur de
l’Université de sétif , pour tous les efforts, l’aide, le soutien et les encouragements
qu’il a montré tout au long de ce travail et aussi pour tant de compréhension, et
disponibilité dont il a fait preuve.
Je tiens aussi à exprimer mes remerciements à Mr. Aouina Abde annoure
mon co-encadrant et docteur de l’Université de boumerdes, d’avoir bien voulu de
me faire profiter pleinement de ces compétences scientifiques et de ses idées pour
l’accomplissement de ce travail.
Je remercie vivement, également, les membres de jury pour avoir accepté de lire
mon mémoire et juger mon travail.
Un grand merci aussi, à mes parents, pour leurs conseils précieux et soutien
constant tout le long de la réalisation de mon mémoire.
Je remercier, tous les enseignants que j’ai eu l’honneur d’avoir durant les cinq
années de mon cursus universitaire, et qui m’ont permis, par leurs enseignements,
d’acquérir des connaissances solides dans le domaine de l’automatique.
J’adresse un remerciement tout spécial au doctorant Nadjib Benaouda et à toute
personne m’ayant apporté le moindre appui au cours de la réalisation de mon
travail .
Enfin j’adresse mes remerciements à tous ceux que j’aurais pu omettre de citer
et qui de près ou de loin m’ont aidé et soutenu.
OUALID
iii
Table des matières
Résumé i
Remerciements iii
Table des matières v
Table des figures ix
Introduction générale 1
1 Historique et domaines d’application des quadrirotors 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 L’histoire des quadrirotors . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Les application des quadrotors . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Surveillance et collecte d’informations . . . . . . . . . . . . . 6
1.3.2 Études scientifiques et surveillance des systèmes distribués . 6
1.3.3 Recherche et sauvetage . . . . . . . . . . . . . . . . . . . . . 7
1.3.4 Missions dangereuses (détection de gaz toxiques, radiations) 7
1.3.5 La livraison des colis . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Modélisation et commande d’un quadrirotor 11
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Modélisation dynamique du quadrirotor . . . . . . . . . . . . . . . . 11
2.2.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Les mouvement du quadrirotor . . . . . . . . . . . . . . . . 12
2.2.2.1 Au long de l’axe z . . . . . . . . . . . . . . . . . . 12
2.2.2.2 Autour des axes x et y (roulis et tangage ) . . . . 13
2.2.2.3 Autour de l’axe z ( lacet ) . . . . . . . . . . . . 14
v
TABLE DES MATIÈRES
2.2.3 Modèle dynamique du quadrirotor . . . . . . . . . . . . . . . 14
2.2.3.1 Hypothèses du modèle . . . . . . . . . . . . . . . . 14
2.2.3.2 Définition des repères . . . . . . . . . . . . . . . . 14
2.2.3.3 Les angles d’Euler . . . . . . . . . . . . . . . . . 15
2.2.3.4 Les vitesses linéaires . . . . . . . . . . . . . . . . . 16
2.2.3.5 Les vitesses angulaires . . . . . . . . . . . . . . . . 16
2.2.3.6 Les forces et les moments agissant sur le quadriro-
tor . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3.7 L’équation de Newton-Euler . . . . . . . . . . . 19
2.2.3.8 La représentation d’état du système . . . . . . . . 21
2.3 Conception de l’algorithme de commande . . . . . . . . . . . . . . . 22
2.3.1 Contrôleur PID : . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1.1 Contrôleur d’altitude : . . . . . . . . . . . . . . . . 24
2.3.1.2 Contrôleur d’attitude . . . . . . . . . . . . . . . . . 24
2.3.1.3 Contrôleur de position : . . . . . . . . . . . . . . . 26
2.3.2 Résultats de simulation : . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Implémentation expérimentale du loi de commande sur un banc d’essai
(Parrot Ardronne 2.0 ) 35
3.1 Présentation de l’AR.Drone . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Présentation de l’environnement ROS . . . . . . . . . . . . . . . . . 37
3.2.1 Une aperçue sur l’environnement ROS . . . . . . . . . . . . 39
3.2.2 Nœuds, messages, topics . . . . . . . . . . . . . . . . . . . . 39
3.2.2.1 Topics . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.2.2 Les nœuds : . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Architecture matériel du quadrirotor . . . . . . . . . . . . . . . . . 39
3.3.1 Communication . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2 Réception de données en provenance des capteurs . . . . . . 40
3.4 Implémentation de l’algorithme de commande . . . . . . . . . . . . 41
3.4.1 Commande de l’altitude . . . . . . . . . . . . . . . . . . . . 41
3.4.2 Commande de l’angle de Lacet . . . . . . . . . . . . . . . . 43
3.4.3 Commande de la position . . . . . . . . . . . . . . . . . . . 44
3.5 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Conclusion et perspectives 47
Annexes 49
A modélisation 51
vi
TABLE DES MATIÈRES
Bibliographie 57
vii
Table des figures
1.2.1 Bréguet Richet Gyro1- 1907 . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Oemichen 1920 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Le Quadrirotor de Bothezat1922. . . . . . . . . . . . . . . . . . . . 5
1.2.4 Convertawings Model A 1956 . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 surveillance de la Maison Blanche . . . . . . . . . . . . . . . . . . 6
1.3.2 réseaux surveillés . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Sauvetage des personnes . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.4 Détection de gaz et radiations . . . . . . . . . . . . . . . . . . . . 8
1.3.5 Livraison des colis . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Structure générale d’un quadrotor . . . . . . . . . . . . . . . . . . 12
2.2.2 Translation selon l’axe z . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.3 Mouvement de roulis et tangage . . . . . . . . . . . . . . . . . 13
2.2.4 Mouvement de lacet . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.5 Système d’axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.6 Les forces et les moment ajissant sur le quadrirotor . . . . . . . . . 18
2.2.7 Les entrer et les sortie . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Contrôleur PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.2 Commande d’altitude . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3 Commande d’attitude . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.4 Commande de la position . . . . . . . . . . . . . . . . . . . . . . . 27
2.3.5 Les signaux de reférence . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.6 Altitude et l’angle de rolice . . . . . . . . . . . . . . . . . . . 29
2.3.7 Angle de lcet et tangage . . . . . . . . . . . . . . . . . . . . . 30
2.3.8 Vitesses moteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.9 Commande de la position . . . . . . . . . . . . . . . . . . . . . . . 32
3.1.1 Ardrone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1 Archtecteur générale . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2.2 Plateformes supportées par ROS . . . . . . . . . . . . . . . . . . . 38
3.2.3 Configuration capteur actionneure avec ROS . . . . . . . . . . . . 38
ix
TABLE DES FIGURES
3.3.1 Les topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.2 Les donneés de l’ IMU . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1 Le flux des messages . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2 L’altitude obtenue expérimentalement . . . . . . . . . . . . . . . . 42
3.4.3 Altitude obtenue en présence de perturbation . . . . . . . . . . . 42
3.4.4 L’angle de lacet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.5 L’angle de lacet sous perturbation . . . . . . . . . . . . . . . . . 43
3.4.6 La position obtenue . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.7 La position en 3d . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.1 modéle simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A.2 Fux cameras et IMU . . . . . . . . . . . . . . . . . . . . . . . . . . 53
A.3 Le simulateur gazebo . . . . . . . . . . . . . . . . . . . . . . . . . 54
A.4 Le banc d’éssai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
A.5 Calculateur parrot ardrone . . . . . . . . . . . . . . . . . . . . . . 55
A.6 Motorisation (BLDC) . . . . . . . . . . . . . . . . . . . . . . . . . 55
x
TABLE DES FIGURES
Listes des Acronymes et Symboles
Acronymes
UAVS Unmanned Aerial Vehicles
DDL Degré de liberté
ROS Robot Operating System
PID Proportionnel Integrel Derive
Symboles
T Force de poussée totale
wi Vitesse moteur
TF Matrice de transformation
RB
I Matrice de rotation
Vecteur de position
φ Angle de roulis
θ Angle de tangage
ψ Angle de lacet
x Variable d’état
vI
x,y,z Vitesse linaire dans le repère fix
vB
x,y,z Vitesse linaire dans le repère mobile
TRi Force de trainée
Mx,y,z Moment des forces
A Effet aérodynamique
Mgyro1,2 Moment gyroscopique
Ir Moment d’inertie du rotor
I Matrice d’inertie
U Commande
φd Angle de roulis désiré
θd Angle de tangage désiré
xd, yd, zd position désiré
xi
Introduction générale
Ce travail de mémoire a été réalisé au sein de l’équipe surveillance des systèmes
du laboratoire d’automatique de Sétif (LAS). Il s’inscrit dans le cadre des efforts
de développement des plateformes expérimentales destinées à la validation des
algorithmes de commande des systèmes cyber-physiques.
Les recherches scientifiques avancées et les progrès technologiques en aéronau-
tique permettent de prévoir un essor important de véhicules aériens. Ces derniers
deviennent d’un jour à un autre plus performants et de plus en plus autonomes
dans leur mode de fonctionnement. Parmi ces véhicules aériens, on trouve les
drones qui consistent en des véhicules volants sans pilote, capables de mener une
mission bien déterminée. En réalité, ces drones ont fait, ces dernières années, l’ob-
jet de divers projets et travaux de recherche. Parmi ces projets, nous pouvons citer
Le X4-Flyer lancé par l’université National Australienne, le Quadrirotor du projet
Quentin lancé par l’école Pour l’Informatique et Techniques Avancées de France,
etc.
Les drones sont souvent équipés d’une variété de capteurs tels que les centrales
inertielles ( IMU ) , le GPS, les ultrasons, les cameras, les lasers, etc. Ces capteurs
permettent au véhicule de se repérer dans son environnement et, de manière géné-
rale, de naviguer en évitant les obstacles. La centrale inertielle fournit des mesures
angulaires et linéaires sur la position du véhicule. En effet, la navigation autonome
des drones est actuellement orientée vers des solutions basées sur l’hybridation
entre les données en provenance des IMU et la vision (caméras). Cette technique
permet la localisation précise du drone car, la vision fournit un ensemble de don-
nées très riche sur l’environnement. Cependant, la difficulté majeure réside dans
la complexité des algorithmes utilisés dans l’exploitation de ces informations.
Le principal défi scientifique pour ces drones réside dans la complexité de leur
comportement dynamique et leur navigation autonome. Dans ce sens, l’objectif
principal de ce travail porte sur l’analyse, la modélisation et la navigation auto-
nome permettant le suivie d’une trajectoire désirée. Afin d’atteindre cet objectif,
notre contribution a porté sur les éléments suivants :
• La dérivation d’un modèle non linéaire du drone en se basant sur les lois de
1
Introduction générale
la physique.
• La simulation du modèle mathématique obtenu en réalisant plusieurs tests
de validation.
• La commande du système en appliquant un algorithme de stabilisation en
altitude, en attitude et en position.
• L’implémentation de la loi de commande dans la plateforme expérimentale
Parrot ardrone 2.0 à l’aide de l’environnement ROS. Ce dernier est un logiciel
open-source (libre) destiné aux applications robotiques.
Afin de décrire notre façon de réfléchir, ce mémoire présentant les principaux
éléments académiques intervenant dans notre contribution ainsi que la façon de
les mettre en oeuvre, est organisé de la manière suivante :
• Le chapitre I présente un bref historique sur la conception des quadrirotors
et quelques domaines d’application de ces véhicules.
• Le chapitre II présente une étude détaillée du modèle dynamique développé
ainsi que le principe de fonctionnement du quadrirotor.
• Le chapitre III présente la loi de commande proposée et qui est basée sur
la technique PID. Il détaille également l’implémentation de cette loi dans la
plateforme expérementale AR Drone.
Le document se termine par une conclusion dans laquelle les principaux résultats
de l’étude sont rappelés et des perspectives ouvertes par ce travail sont proposées.
2
Chapitre 1
Historique et domaines d’application
des quadrirotors
1.1 Introduction
L’utilisation des drones a beaucoup évolué durant cette dernière décennie. L’étude
de ces systèmes a attiré de nombreux chercheurs travaillant dans des disciplines
liées notamment à l’automatique, l’électronique, la mécanique et l’aérodynamique.
Différentes configurations des drones multirotors ont été proposées : en plus (+),
croix (x) et avec deux, trois quatre jusqua huit hélices. Dans ce mémoire nous nous
intéressons par les multirotors à quatre hélices connus par les quadrirotors, Dans
ce chapitre, nous présentons tout d’abord une brève historique sur les quadrirotors.
Ensuite nous présentons les différents domaines d’application de ce véhicule aérien.
1.2 L’histoire des quadrirotors
La première génération des quadrirotors est caractérisée par une grande taille
et de mauvaises performances dynamiques.
Le premier quadrirotor était le Gyroplane n°1 « Breguet-Richet », conçu
par les frères scientifiques français Louis et Jaque Breguet en collaboration
avec le professeur Charles Richet en 1907 (figure1.2.1)[9]. Un an plus tard, un
autre quadrirotor « Gyroplane n°2 » a été construit. Le Gyroplane n°2 est équipé
d’un moteur Renault, plus puissant, qui atteignit 55 CV brusquement.
3
Chapitre 1 Historique et domaines d’application des quadrirotors
Figure 1.2.1 – Bréguet Richet Gyro1- 1907
En 1920(figure 1.2.2), Etienne Oemichen a commencé ses expériences dans la
conception des aéronefs à voilures tournantes[9]. Six modèles ont été conçus par
ce jeune ingénieur de la compagnie Peugeot. Parmi les quels un grand quadrirotor
de 800kg construit en 1922, avec quatre rotors et huit hélices tournées par un seul
moteur.
Figure 1.2.2 – Oemichen 1920
Une autre plateforme à vol vertical été construit pour le service aérien de l’armée
américaine à Dayton Ohio en 1921 par les ingénieurs George de Bothezat
(figure 1.2.3) et Ivan Jérôme . C’était une structure en croix de 1678Kg [9]
Plus de 100 essais de vols ont été exécutés sur ce grand quadrirotor, mais la
commande en vol était très difficile et le prototype n’a pas répondu aux exigences
d’exécution de l’armée américaine.
4
1.3 Les application des quadrotors
Figure 1.2.3 – Le Quadrirotor de Bothezat1922.
Dans les années 50, Amityville (New York), Convertawings a construit un qua-
drirotor. Ce véhicule a été commandé en changeant la poussée fournie par chaque
rotor[9]. Le quadrirotor de Convertawings a été piloté avec succès, mais la pro-
duction a été arrêtée en raison d’un manque d’intérêt commercial pour cet avion.
(figure 1.2.4)
Figure 1.2.4 – Convertawings Model A 1956
1.3 Les application des quadrotors
Les quadrirotors rentrent dans plusieurs applications militaires et civiles.
5
Chapitre 1 Historique et domaines d’application des quadrirotors
1.3.1 Surveillance et collecte d’informations
La variété des capteurs utilisés permet de recueillir plusieurs types d’informa-
tions, restituées en temps réel, sous forme d’ images, d’origine électro-optique ou
électromagnétique sur terre ou sur mer[16], Les informations transmises par le
drone peuvent être exploitées de différentes manières à savoir l’évaluation de la
situation sur un champ d’opérations, la surveillance d’une zone (figure 1.3.1), la
détection et l’identification des objets.
Figure 1.3.1 – surveillance de la Maison Blanche
En dehors des domaines militaires, les quadrirotors possèdent une large variété
potentielle d’applications civiles. Généralement, nous pouvons les classer dans les
quatre catégories suivantes :
1.3.2 Études scientifiques et surveillance des systèmes
distribués
En novembre 2013, pour la première fois une société française, fait décoller un
drone pour inspecter le viaduc ferroviaire , sur la ligne TGV Paris-Marseille[1]. Il a
suffi de quelques images haute définition pour détecter d’éventuelles microfissures,
Repérage des vols de câbles, contrôle des caténaires, détection d’obstacles sur la
voie , le drone peut remplir bien des missions de surveillance sur ces longs réseaux
(figure1.3.2).
6
1.3 Les application des quadrotors
Figure 1.3.2 – réseaux surveillés
1.3.3 Recherche et sauvetage
Les quadrirotors peuvent éventuellement devenir les gardes du corps du futur[1].
Le laboratoire RTS (une société de recherches iranienne ) a commencé le dévelop-
pement d’un quadrirotor géant, Ce robot peut aider les gardes du corps à sauver
des vies en temps record et de limiter la marge de risque des intervenants(figure
1.3.3)
Figure 1.3.3 – Sauvetage des personnes
1.3.4 Missions dangereuses (détection de gaz toxiques,
radiations)
Là où l’homme ne peut se rendre sans mettre en péril sa santé, le drone peut le
remplacer. Un drone a été envoyé par l’agence internationale de l’énergie atomique
7
Chapitre 1 Historique et domaines d’application des quadrirotors
pour cartographier les poches de radioactivité résiduelle autour de la centrale de
Fukushima[1], Ce drone a réussi à accéder aux zones dangereuse pour analyser les
dégâts causés par le tsu-nami. Ce véhicule est idéal pour le déplacement dans les en-
vironnements hostiles ou à accès difficile à savoir les cheminées d’usines ,etc..(figure
1.3.4).
Figure 1.3.4 – Détection de gaz et radiations
1.3.5 La livraison des colis
La livraison des médicaments d’urgence ou des colis achetés sur net sont des ap-
plications possibles[1]. La livraison des colis par les drone est d’un intérêt énorme
pour les citoyens habitant dans des endroits isolés. Les drones peuvent montrer
une grande efficacité dans les opérations de distribution des médicaments ou de la
nourriture durant les catastrophes naturelles (les tremblements de terre, inonda-
tions, avalanches ou incendies) Figure 1.3.5.
Figure 1.3.5 – Livraison des colis
8
1.4 Conclusion
1.4 Conclusion
En conclusion, nous constatons que le domaine du développement et de com-
mande des drones quadrirotors est champ de recherche vierge nécessitant plus
d’efforts pour concrétiser les capacités potentielles fournies par ce véhicule. Dans
les chapitre suivant, nous développons un algorithme de commande assurant des
bonnes performances de fonctionnement.
.
9
Chapitre 2
Modélisation et commande d’un
quadrirotor
2.1 Introduction
La dynamique des véhicules volants à voilure tournante est particulièrement très
complexe vue les nombreux effets aérodynamiques. Dans ce chapitre, nous déve-
loppons un modèle mathématique permettant de décrire les mouvements possibles
du drone.
2.2 Modélisation dynamique du quadrirotor
Avant de donner le modèle mathématique du drone, nous expliquons tout d’abord
son principe de fonctionnement et l’ensemble des mouvements de vol possibles.
2.2.1 Fonctionnement
La conception d’un contrôleur de vol doit passer tout d’abord par la compréhen-
sion approfondie des principes de fonctionnement de l’avion. Cette compréhension
est nécessaire non seulement pour la conception du contrôleur, mais aussi pour
s’assurer que les simulations du comportement du véhicule sont très proches de la
réalité.
Le quadrirotor est un robot mobile aérien à quatre rotors défini dans l’espace
par 6 DDL (trois mouvements de rotation et trois mouvements de translation).Ces
4 rotors sont généralement placés aux extrémités d’une croix[3].Afin d’éviter que
l’appareil se tourne sur son axe de lacet, les deux hélices doivent tourner dans un
sens, et les deux autres dans le sens contraire. Nous pouvons positionner le drone en
11
Chapitre 2 Modélisation et commande d’un quadrirotor
faisant varier astucieusement la puissance des moteurs. De cette façon, le quadriro-
tor peut monter/descendre, s’incliner à gauche/droite (roulis), en avant/arrière
(tangage) ou encore tourner sur lui-même (lacet). Le quadrirotor est un sys-
tème sous actionné vue que le nombre des actionneurs (4 moteurs) est inférieure
au nombre des ddls (6 ddl).
Figure 2.2.1 – Structure générale d’un quadrotor
2.2.2 Les mouvement du quadrirotor
Les quatre mouvements possibles du quadrirotor sont détaillés dans la suite.
2.2.2.1 Au long de l’axe z
Le mouvement de translation selon l’axe z correspond tout simplement à la
montée/descente du quadrirotor. La montée est obtenue en augmentant la vitesse
des quatre moteurs. La descente est obtenue par la réduction de la vitesse des
moteurs.
• la montée
f1 + f2 + f3 + f4 > −mg (2.2.1)
• la descente
f1 + f2 + f3 + f4 < −mg (2.2.2)
D’après ces deux équations [2], Nous remarquons que le mouvement selon z est
engendré par le déséquilibre des forces (des inégalités).
12
2.2 Modélisation dynamique du quadrirotor
Figure 2.2.2 – Translation selon l’axe z
2.2.2.2 Autour des axes x et y (roulis et tangage )
Le roulis et le tangage sont des mouvements assez similaires visant à pen-
cher le quadrirotor sur l’axe x ou sur l’axe y. Ces mouvements sont obtenus en
augmentant la vitesse d’une hélice et en abaissant proportionnellement la vitesse
de l’hélice opposée . D’autre part nous constatons que deux autres mouvements
de translations (selon x ou y) sont obtenus simultanément.
M1 + M2 + M3 + M4 = 0(pas d’équilibre des moments ) (2.2.3)
Figure 2.2.3 – Mouvement de roulis et tangage
13
Chapitre 2 Modélisation et commande d’un quadrirotor
2.2.2.3 Autour de l’axe z ( lacet )
Le mouvement de LACET sert à tourner le quadrirotor sur lui-même. Il est
obtenu en augmentant la vitesse des hélices de même porteur et en diminuant
proportionnellement la vitesse des autres hélices.
(w1 + w3) − (w2 + w4) = 0(pas déséquilibre de vitesse des moteur) (2.2.4)
Figure 2.2.4 – Mouvement de lacet
2.2.3 Modèle dynamique du quadrirotor
2.2.3.1 Hypothèses du modèle
Le modèle dynamique obtenu est basé sur les hypothèse simplificatrices suivantes
[3] :
• La structure du système est supposée rigide.
• La structure est supposée parfaitement symétrique donc la matrice d’inertie
obtenue est diagonale
• La portance et la trainée de chaque moteur sont proportionnelles au carré
de la vitesse (hypothèse empirique).
• Les hélices sont supposées rigides afin de négliger l’effet de leur déformation
lors de la rotation.
2.2.3.2 Définition des repères
Le quadrirotor est considéré comme un corps rigide alors deux repères différents
sont définis pour construire le modèle du quadrirotor et décrire son mouvement
dans l’espace. Pour le premier repère, nous supposons que la terre est plate et
stationnaire dans l’espace, par conséquent ce repère est lié à la terre (EF :Earth
Frame) et sera considéré comme Galiléen. Le deuxième repère est le repère corps
(BF : Body frame) attaché au centre de gravité du quadrirotor[3].
14
2.2 Modélisation dynamique du quadrirotor
Figure 2.2.5 – Système d’axe
Le passage entre les deux repères est assuré par une matrice de transformation
finale TF.
TF =
RI
B
0 1
(2.2.5)
avec RI
B la matrice de rotation et le vecteur position.
2.2.3.3 Les angles d’Euler
La rotation autour de l’axe x[15]
Rx =



1 0 0
0 cφ −sφ
0 sφ cφ


 (2.2.6)
La rotation autour de l’axe y[15]
Ry =



cθ 0 sθ
0 1 0
−sθ 0 cθ


 (2.2.7)
15
Chapitre 2 Modélisation et commande d’un quadrirotor
La rotation autour de l’axe z[15]
Rz =



cψ −sψ 0
sψ cψ 0
0 0 1


 (2.2.8)
donc la matrice de rotation RI
B est donnée par
RI
B = RzRY Rx (2.2.9)
RI
B =



cψcθ cψsθsφ − sψcφ cψsθcφ + sψsφ
sψsθ sψsθsφ + cψsθcφ sψsθcφ − sφcψ
−sθ cθsφ cθcφ


 (2.2.10)
avec cx = cos(x) et sx = sin(x) [6]
2.2.3.4 Les vitesses linéaires
Les vitesses linéaires sont exprimées dans le repère fixe ( I ) en fonction des
vitesses linéaires dans le repère mobile ( B ) par la relation suivante [9]



vI
x
vI
y
vI
z


 = RI
B



vB
x
vB
y
vB
z


 (2.2.11)
2.2.3.5 Les vitesses angulaires
Les vitesses de rotations dans le repère fixe ˙φ, ˙θ, ˙ψsont exprimées en fonction des
vitesses de rotations dans le repère mobile p, q, r



˙φ
˙θ
˙ψ


 =



p
0
0


 + R−1
x



0
q
0


 + (RY Rx)−1



0
0
r


 = w (2.2.12)
la rotation en roulis a lieu lorsque les repères sont encore confondus. Puis, en
ce qui concerne le tangage, le vecteur représentant la rotation doit être exprimé
dans le repère fixe : il est donc multiplié par R−1
x .De même, le vecteur représentant
la rotation en lacet doit être exprimé dans le repère fixe qui a déjà subites deux
rotations.finalement on trouve
16
2.2 Modélisation dynamique du quadrirotor
w =



1 0 −sθ
0 cφ sφcθ
0 −sφ cφcθ


 .



p
q
r


 (2.2.13)
Si le quadrirotor effectue des petites rotations, nous pouvons écrire les approxi-
mations suivantes :[15]
cφ = cθ = cψ = 1et sφ = sθ = sψ = 0
Par conséquent, la vitesse angulaire dans le repère fix est égale à la vitesse
angulaire dans le repère mobile, ç-à-d :
w =



p
q
r


 =



˙φ
˙θ
˙ψ


 (2.2.14)
2.2.3.6 Les forces et les moments agissant sur le quadrirotor
Le quadrirotor est classé dans la catégorie des systèmes volants les plus com-
plexes vu le nombre d’effets physiques qui affectent sa dynamique.
Les forces
— Le poids du quadrirotor : donné par
p = mg (2.2.15)
où m est la masse totale et g est l’accélération de la pesanteur.
— Les forces de poussé : Ces forces sont proportionnelles au carrée de la
vitesse de rotation des moteurs
fi = kw2
i (2.2.16)
T = f1 + f2 + f3 + f4 (2.2.17)
avec k coefficient de poussé wi vitesse de rotation du moteur i,T la poussé total
— Les forces de trainée : agissent sur les pales et sont proportionnelles au
carré de la vitesse de rotation de l’hélice.
TRri = bw2
i (2.2.18)
avec b coefficient de drag.
17
Chapitre 2 Modélisation et commande d’un quadrirotor
Les moments
— La rotation autour de l’axe x elle est due au moment suivant
MX = l (f4 − f2) = lk w2
4 − w2
2 (2.2.19)
avec l la distance enter le centre du quadrirotor et axe moteur
— La rotation autour de l’axe y
MY = l (f3 − f1) = lk w2
3 − w2
1 (2.2.20)
— La rotation autour de l’axe z
MZ = TRr2 + TRr4 − TRr1 − TRr3 = b w2
2 + w2
4 − w2
1 − w2
3 (2.2.21)
Figure 2.2.6 – Les forces et les moment ajissant sur le quadrirotor
— L’ effet aérodynamique : due au mouvement du corps du quadrirotor et
donné par
A =



ax 0 0
0 ay 0
0 0 az






vI
x
vI
y
vI
z


 (2.2.22)
avec ax, ay, az les coefficient aérodynamique selon les trois axes
18
2.2 Modélisation dynamique du quadrirotor
— Le moment gyroscopique : due aux mouvements de quadrirotor [3]
Mgyro1 = ω ∗ I.ω (2.2.23)
avec I la matrice d’inertie, w la vitesse angulaire dans le repère fixe
— Le moment gyroscopique : généré par la rotation des hélices [3]
Mgyro2 =
4
i=1
ω ∗ Ir 0 0 (−1)i+1
wi
T
(2.2.24)
où Ir est le moment d’inertie du rotor
2.2.3.7 L’équation de Newton-Euler
La dynamique d’un corps regide de masse m soumis à des forces externes ap-
pliquées au centre du corps selon le formalisme de nowten-Euler est donnée
par
Fi = m ˙vi. (2.2.25)
où Fi sont les forces externes exprimées dans le repère fixe et vi sont les vitesses
linéaires exprimées dans le même repère
MB = I ˙ω + Mgyro1 + Mgyro2 (2.2.26)
avec ω la vitesse angulaire
I =



Ix 0 0
0 Iy 0
0 0 Iz


 (2.2.27)
I est la matrice d’inertie, d’où
Fi =



0
0
−mg


 + RI
B



0
0
T


 +



ax 0 0
0 ay 0
0 0 az






vI
x
vI
y
vI
z


 = m




˙vI
x
˙vI
y
˙vI
z



 (2.2.28)
Par conséquent, les équations de translation sont données par



¨x
¨y
¨z


 = −g



0
0
1


 +
T
m



cψsθcφ + sφsψ
sψsθcφ − cψsφ
cθcφ


 −
1
m



ax 0 0
0 ay 0
0 0 az






vI
x
vI
y
vI
z



(2.2.29)
19
Chapitre 2 Modélisation et commande d’un quadrirotor
MB =



Ix 0 0
0 Iy 0
0 0 Iz






¨φ
¨θ
¨ψ


 +



˙φ
˙θ
˙ψ


 ∗



Ix 0 0
0 Iy 0
0 0 Iz






˙φ
˙θ
˙ψ


 + Ir



˙θ
˙φ
0


 wt =



Mx
My
Mz



(2.2.30)
avec
wt = w1 + w3 − w4 − w2 (2.2.31)
Par conséquent, nous obtenons les équations de rotation suivantes



¨φ
¨θ
¨ψ


 =




(Iy−Iz)
Ix
˙θ ˙ψ
(Iz−Ix)
Iy
˙ψ ˙φ
(Ix−Iy)
Iz
˙φ ˙θ



 +




−Ir
˙θwt
Ix
Ir
˙φwt
Iy
0



 +




Mx
Ix
My
Iy
Mz
Iz



 (2.2.32)
Finalement, les équations différentielles décrivant le mouvent du quadrirotor
sont données par
¨x =
T
m
cψsθcφ + sψsφ −
ax
m
˙x (2.2.33)
¨y =
T
m
sψsθcφ − cψsφ −
ay
m
˙y (2.2.34)
¨z =
T
m
cθcφ −
az
m
˙z − g (2.2.35)
¨φ =
(Iy − Iz)
Ix
˙θ ˙ψ −
Ir
˙θwt
Ix
+
Mx
Ix
(2.2.36)
¨θ =
(Iz − Ix)
Iy
˙ψ ˙φ +
Ir
˙φwt
Iy
+
My
Iy
(2.2.37)
¨ψ =
(Ix − Iy)
Iz
˙φ ˙θ +
Mz
Iz
(2.2.38)
20
2.2 Modélisation dynamique du quadrirotor
Figure 2.2.7 – Les entrer et les sortie
2.2.3.8 La représentation d’état du système
On choisissant le vecteur d’état comme suit[6]
X = φ ˙φ θ ˙θ ψ ˙ψ x ˙x y ˙y z ˙z =
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 . (2.2.39)
Nous obtenons la représentation d’état suivante
21
Chapitre 2 Modélisation et commande d’un quadrirotor
˙x1 = x2
˙x2 = (Iy−Iz)
Ix
x4x6 − Ir
Ix
x4wt + Mx
Ix
˙x3 = x4
˙x4 = (Iz−Ix)
Iy
x6x2 + Ir
Iy
x2 wt + My
Iy
˙x5 = x6
˙x6 = (Ix−IY )
Iz
x2x4 + Mz
Iz
˙x7 = x8
˙x8 = T
m
(cx5sx3cx1 + sx5sx1) − ax
m
x8
˙x9 = x10
˙x10 = T
m
(sx5sx3cx1 − cx5sx1) − ay
m
x10
˙x11 = x12
˙x12 = T
m
(cx3cx1) − az
m
x12 − g
2.3 Conception de l’algorithme de commande
Dans cette partie on utilise le modelé mathématique développé précédemment
pour construire un contrôleur linaire PID qui permettant la stabilisation du qua-
drirotor en altitude, en attitude et en position. Les paramètres de ce contrôleur
sont calculés en utilisant la fonction TUN de MATLAB/SIMULINK.
Pour valider le modèle obtenu nous effectuons une simulation en boucle ouverte.
La vitesse des moteurs demandée pour effectuer un vol stationnaire (hover) calculée
en utilisant la formule suivante[6]
mg = 4fi
mg = 4k w2
ih
w2
ih =
mg
4k
(2.3.1)
Dans notre cas nous obtenons
wih = 620.61rad/s (2.3.2)
22
2.3 Conception de l’algorithme de commande
Donc par augmentation ou diminution de la vitesse des 4 moteurs autours de
cette valeur on peut monter, descente voir incliner le quadrirotor.
La dynamique des moteurs n’est pas considérée dans ce modelé car nous suppo-
sons que les servomoteurs utilisés attiennent la vitesse désirée très rapidement et
sans dépassement. Après la validation de notre modèle mathématique nous utili-
sons un contrôleur d’altitude, d’attitude et de position de type PID .
2.3.1 Contrôleur PID :
Dans la plupart des processus industriels, il est indispensable de maitriser cer-
tains paramètres physiques. En automatique lorsque l’on souhaite atteindre une
certaine vitesse, température, position, angle..., il est donc très souvent nécessaire
d’avoir recours à un asservissement, c’est à dire un système capable d’atteindre
et de maintenir une consigne en utilisant une mesure. Il s’agit donc d’un système
bouclé, dont il reste à déterminer la fonction permettant de corriger la commande
en fonction de la consigne initiale et de l’erreur mesurée. Le PID ( Proportional-
Integral- Derivative ) est une méthode qui a fait ses preuves et qui donne de bons
résultats.
Principe général
L’erreur observée est la différence entre la consigne et la mesure. Le PID permet
3 actions en fonction de cette erreur : • Une action Proportionnelle : l’erreur
est multipliée par un gain G • Une action Intégrale : l’erreur est intégrée sur un
intervalle de temps s, puis multipliée par un gain Ti • Une action Dérivée : l’erreur
est dérivée suivant un temps s, puis multipliée par un gain Td Il existe plusieurs
architectures possibles pour combiner les 3 effets (série, parallèle ou mixte), on
présente ici une architecture parallèle
Figure 2.3.1 – Contrôleur PID
23
Chapitre 2 Modélisation et commande d’un quadrirotor
2.3.1.1 Contrôleur d’altitude :
Les entrées du commande sont
U = T Mx My Mz (2.3.3)
Donc pour asservir l’altitude il faut agire sur la force de pousse totale T
u1 = kp (zd − z) + kd ( ˙zd − ˙z) + ki
ˆ
(zd − z) dt (2.3.4)
avec :
kp gain proportionnel
kd gain dérivé
ki gain intégrale
zd l’altitude désirée
z l altitude mesurée
A partir de l’équation (2.2.35)
T = (g + u1)
m
cθcφ
(2.3.5)
Figure 2.3.2 – Commande d’altitude
2.3.1.2 Contrôleur d’attitude
On peut agir sur les couples Mx, Myet Mz comme suit
24
2.3 Conception de l’algorithme de commande
u2 = kp (φd − φ) + kd
˙φd − ˙φ + ki
ˆ
(φd − φ) dt (2.3.6)
u3 = kp (θd − θ) + kd
˙θd − ˙θ + ki
ˆ
(θd − θ) dt (2.3.7)
u4 = kp (ψd − ψ) + kd
˙ψd − ˙ψ + ki
ˆ
(ψd − ψ) dt (2.3.8)
à partir des équation (2.2.36,2.2.37,2.2.38) nous obtenons
Mx = u2Ix (2.3.9)
My = u3Iy (2.3.10)
Mz = u4Iz (2.3.11)
Figure 2.3.3 – Commande d’attitude
25
Chapitre 2 Modélisation et commande d’un quadrirotor
Finalement la vitesse correcte des moteurs permettant la stabilisation du système
est calculée à partir des équations (2.2.17,2.2.19,2.2.20,2.2.21) sous forme matri-
cielle





T
Mx
My
Mz





=





k k k k
0 −lk 0 lk
−lk 0 lk 0
−b b −b b










w2
1
w2
2
w2
3
w4
4





(2.3.12)
En remplaçant T MxMyMz par leurs valeurs dans l’ équation 2.3.12 , wi est
donné par
w1 =
T
4k
−
My
2kl
−
Mz
4b
(2.3.13)
w2 =
T
4k
−
Mx
2kl
+
Mz
4b
(2.3.14)
w3 =
T
4k
+
My
2kl
−
Mz
4b
(2.3.15)
w4 =
T
4k
+
Mx
2kl
+
Mz
4b
(2.3.16)
2.3.1.3 Contrôleur de position :
La position x et y ne peut pas commander directement par la commande U en
revanche la position x et y peuvent étre commande à travers les angles rolice et
tangage . Les agles désiré il est calculer en utilise les équations de mouvement
de translation (2.2.33,2.2.34 )
26
2.3 Conception de l’algorithme de commande
Figure 2.3.4 – Commande de la position
¨x =
T
m
cψsθdcφd + sψsφd −
ax
m
˙x
¨y =
T
m
sψsθdcφd − cψsφd −
ay
m
˙y
Tantque le quadrirotor opér autour de piont de fonctionnement , les angle de
tangage et rolice pronder petit valeur ,donc en utilise la (small angle assump-
tion) sin(φd) = φd sin(θd) = θd et cos(θd) = cos(φd) = 1 alors on trouve que
[6]
φd =
m
T
[sψ[ ¨xd +
ax
m
˙xd] + sψ[ ¨yd +
ay
m
˙yd] (2.3.17)
θd =
m
T
[cψ[ ¨xd +
ax
m
˙xd] + sψ[ ¨yd +
ay
m
˙yd] (2.3.18)
Avec :
¨xd = kp(xd − x) + kd( ˙xd − ˙x) + ki
ˆ
(xd − x)dt (2.3.19)
27
Chapitre 2 Modélisation et commande d’un quadrirotor
2.3.2 Résultats de simulation :
Les performances de notre contrôleur sont testées pour plusieurs scénarii et pour
des différentes conditions initiales. Dans le
1er
scénario le quadrirotor se trouve sur terre et au repos = 0 0 0
T
et
n = φ θ ψ
T
= 0 0 0
T
. Nous essayons d’asservir le drone à la référence
variable représentée ci-dessous.
Figure 2.3.5 – Les signaux de reférence
28
2.3 Conception de l’algorithme de commande
(a) Altitude
(b) L ’angle de rolice
Figure 2.3.6 – Altitude et l’angle de rolice
29
Chapitre 2 Modélisation et commande d’un quadrirotor
(a) L’angle de lacet
(b) L’angle de tangage
Figure 2.3.7 – Angle de lcet et tangage
30
2.3 Conception de l’algorithme de commande
Figure 2.3.8 – Vitesses moteur
D’après les résultats illustrés aux figures précédent ,en constatons que l’agorithme
de commande conçu assure une bonne poursuite de la consigne donnée.
Evolution de la position en 3D
Commande de la position : la trajectoir désirée est définie par les fonctions
suivantes [15] :
xd = cos(t)
yd = sin(t)
zd = 1 + t/10
31
Chapitre 2 Modélisation et commande d’un quadrirotor
(a) Commande de la position (b) Commande de la pposition en présens de perturbation
Figure 2.3.9 – Commande de la position
Ces résultats de simulation montrent que la technique de commande appliquée
force le systéme à suivre la trajectoire disérée (figure 2.3.9a) . Dans la figure 2.3.9b
une perturabtion externe (du vent) est appliquée sur le système selon les axes
x, y, z afin de tester la robustesse et la sensibilité de notre contrôleur vis-à-vis les
signaux éxogènes.
Les résultats de simulation montrent que l’algorithme de commande PID est
robuste aux pertrubations en gardant des bonnes performances de poursuite de
trajectoire désirée.
2.3.3 Conclusion
Dans ce chapitre nous avons développé le modèle mathématique et la commande
PID du quadrirotor. La dynamique de ce dernier est présentée par des équations
différentielles qui ont été dérivées via l’utilisation du formalisme de newton Euler.
32
2.3 Conception de l’algorithme de commande
Le modèle proposé a été validé dans un premier temps par une simulation en boucle
ouverte, et par une autre en boucle fermée visant particulièrement la validation de
la commande de quadrirotor. Notre simulation a été conduite en utilisant matlab
simulink.
Dans le but de valider réellement notre commande PID développée, nous dé-
taillons dans le chapitre suivant sa mise en oeuvre réelle, et cela, en utilisant la
plateforme extpérimentale Ardrone 2.0 avec l’environnement de développement
ROS.
33
Chapitre 3
Implémentation expérimentale du loi
de commande sur un banc d’essai
(Parrot Ardronne 2.0 )
Introduction
Dans ce chapitre nous allons appliqué la loi de commande proposée précédem-
ment sur une plateforme expérimentale parrot ar drone 2.0. Nous utilisons l’envi-
ronnement « robot operating systems ROS » pour récupérer les mesures et envoyer
les commandes au drone. Afin de fermer la boucle de commande nous devons tout
d’abord mieux connaitre l’AR.Drone et maitriser l’environnement ROS.
3.1 Présentation de l’AR.Drone
Figure 3.1.1 – Ardrone 2.0
35
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
L’AR.Drone est un quadrirotor conçu par la société française Parrot SA et sorti
en août 2010 en France. Il s’agit d’un petit hélicoptère à quatre hélices au design
futuriste. Il peut se piloter avec un appareil sous iOS(iPhone, iPod touch,iPad),
Android ou Symbian (Téléphones Nokia) via une liaison Wifi [11]. Il est principale-
ment dédié au divertissement mais dispose d’équipements de haute technologie tels
qu’une caméra frontale pour le pilotage, une seconde verticale, un accéléromètre
trois axes, deux gyroscopes, deux émetteurs récepteurs à ultrasons permettant de
calculer l’altitude, de nombreux capteurs ainsi qu’un ordinateur embarqué fonc-
tionnant sur noyau Linux. Une véritable centrale inertielle et autant d’équipements
habituellement réservés à un usage professionnel ou militaire.
Quelques caractéristiques techniques...[7]
1. Processeur ARM cadencé à 468 MHz
a) Mémoire DDR 128 Mbyte at 200 MHz
b) Wi-Fi
c) USB high speed
d) Systèmes inertiels de guidage
e) Accéléromètre 3-axes
f) Gyromètre 2 axes
g) 1 Gyromètre de précision pour la rotation(axe Z)
h) Vitesse : 5 m/s, 18km /h
i) Poids : 380 g sans carène , 420 g avec carène
j) Autonomie de vol : 12 minutes
k) Système de sécurité Coque de protection , Blocage automatique des hé-
lices en cas de contact , Interface de contrôle avec bouton d’urgence.
l) Structure aéronautique Hélices haute performances (spécialement dési-
gnées pour l’AR.Drone) Structure en fibres de carbone
m) 4 servomoteurs brushless, (35000 rpm, puissance : 15 W)
n) Batterie Lithium (3 cells, 11.1 V, 1000 mAh) Capacité de décharge : 10C
Temps de charge de la batterie : 90 minutes
o) Altimètre à ultra-sons Fréquence d’émission : 40 kHz Portée : 6 mètres,
p) stabilisation verticale Caméra frontale Caméra grand angle 93°
36
3.2 Présentation de l’environnement ROS
3.2 Présentation de l’environnement ROS
Robot Operating Systems, est une structure diffusée selon les termes de la licence
BSD (Berkeley Software Distribution , systèmes d’exploitation dérivé d’Unix.).[10]
C’est un environnement open source destiné au développement de logiciels robo-
tiques. ROS a été créée en 2007 par le Laboratoire d’intelligence artificielle de
Stanford avec l’appui du projet l’AI Robot Stanford (STAIR). En 2008 le dévelop-
pement se poursuit principalement au sein du laboratoire de recherche en robotique
Willow Garage créé fin 2006.
Figure 3.2.1 – Archtecteur générale
Beaucoup d’institution de recherche ont commencé à développer des projets sous
ROS en ajoutant des nouveaux robots et partageant leurs codes. De même, les com-
pagnies ont commencé à adapter leurs produits à l’environnement ROS. Dans la
figure (??), nous identifions quelques plateformes supportées par ROS. Un nombre
important de codes à implémenter dans ces plateformes sont publiés afin d’accélé-
rer le développement des algorithmes en robotique via le partage libre.
37
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
Figure 3.2.2 – Plateformes supportées par ROS
Les robots deviennent de plus en plus complexes, et exigent l’intégration d’un
nombre important de capteurs et d’actionneurs. D’une manière continue un nombre
croissant d’appareils sont supportés par ROS. Ce dernier facilite la mise en œuvre
rapide des algorithmes et réduit le temps exigé pour l’intégration de nouveaux
matériels.
Figure 3.2.3 – Configuration capteur actionneure avec ROS
38
3.3 Architecture matériel du quadrirotor
3.2.1 Une aperçue sur l’environnement ROS
Afin de démarrer l’environnement ROS nous utilisons l’instruction suivante
$ roscore
Cette commande lance deux choses : Le MASTER , Le serveur de paramètres.
Le Master : C’est le processus cœur comportant les différents nœuds. Une fois
que les nœuds sont en contact, ils se communiquent directement → architecture
distribuée
Le serveur de paramètres : Il permet de définir et de gérer les paramètres globaux
du robot. Ces derniers peuvent être de type entier, flottant, booléen, string ou liste.
Le serveur des paramètres est une mémoire partagée dans laquelle chaque nœud
peut lire et modifier ces paramètres.
3.2.2 Nœuds, messages, topics
Le MASTER démarre un nœud, qui démarre un topic
3.2.2.1 Topics
Un topic est un système de transport de l’information many-to-many, il faut
préciser quel type de messages transportés (twist , empty ..), En se basant sur
le système de l’abonnement / publication (subscribe / publish) , On peut lire un
topic en temps réel en utilisant la commande.
$ rostopic list
$ rostopic echo /topic_name
3.2.2.2 Les nœuds :
Un nœud est un sous programme exécutable qui peut être lié à un actionneur
ou à un capteur. Un nœud peut publier ou lire des messages d’un topic. La dé-
faillance d’un noeud n’implique pas la défaillance de ROS (Notion de micro-kernel
sur laquelle est basée ROS). Les nœuds communiquent entre eux de manière évè-
nementielle en utilisant les différents topics.
3.3 Architecture matériel du quadrirotor
3.3.1 Communication
Nous allons dans un premier temps décrire la relation client-serveur entre le PC
et le drone. Dans notre cas le drône joue le rôle d’un serveur en créant un point d’ac-
cès. Par conséquent le l’ordinateur qui exécute ROS est considéré comme un client.
39
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
Ce dernier se connecte au quadrirotor afin de l’envoyer les consignes. De son part,
le drône exécute ces cosignes en réalisant les mouvements de vole désirés. Chacun
de drone et de l’ordinateur est mené d’une adresse IP bien déterminée(Internet
Protocol).
3.3.2 Réception de données en provenance des capteurs
Nous détaillons maintenant comment accéder à la mémoire du drône, pour cela
nous nous connectons au drone par le wifi. Il est à noté qu’un seul client peut se
connecter à la fois (en effet imaginons un instant le contrôle d’un hélicoptère par
2 pilotes à la fois, ce ne serait pas facile). Par conséquent s’il y a déjà un client
connecté les autres connexions entrantes seront rejetées. Une fois qu’un client est
accepté par l’appareil ces LEDs deviennent vertes. Si cela ne fonctionne pas, c’est
que quelqu’un d’autre s’est connecté auparavant au drone. Dans ce cas si le drône
n’est pas en cours d’utilisation, il suffit d’appuyer sur le bouton « reste ». Une fois
que cela est fait nous ouvrons un terminal lunix et tapons la commande
$ rosrun [package_name] [node_name]
doukhi@doukhi-Aspire-5733 :~$ rosrun ardrone_autonomy ardrone_driver
Nous sommes en mesure lancer le nœud ardrone_driver qui permet de se connec-
ter avec le drone. D’autre part l’affichage du contenu des topics communiquant avec
ce nœud est possible en utilisant la commande
$ rostopic list
Figure 3.3.1 – Les topics
Pour accéder à l’un des topics ( exemple : imu) nous tapons l’instruction suivante
40
3.4 Implémentation de l’algorithme de commande
doukhi@doukhi-Aspire-5733 :~$ rostopic echo /ardrone/imu
Figure 3.3.2 – Les donneés de l’ IMU
3.4 Implémentation de l’algorithme de commande
Dans cette partie nous détaillons l’implémentation de l’algorithme de commande
PID sur ardrone 2.0 afin d’asservir l’altitude( z ), et l’attitude et la position ( x ,
y ) [4].
3.4.1 Commande de l’altitude
Le contrôleur pid est programmé en langage c++ afin de stabiliser l’altitude.
Ce programme est considéré comme un nœud qui publie ses messages à travers le
topic ardrone/cmd_vel.
Figure 3.4.1 – Le flux des messages
41
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
Résultats expérimentaux :
La valeur de consigne d’altitude désirée est 1.5 m.
Figure 3.4.2 – L’altitude obtenue expérimentalement
En perturbant l’altitude nous obtenons la réponse illustrée à la figure ci-dessous
Figure 3.4.3 – Altitude obtenue en présence de perturbation
42
3.4 Implémentation de l’algorithme de commande
3.4.2 Commande de l’angle de Lacet
Avec un angle désiré de 90° nous obtenus
Figure 3.4.4 – L’angle de lacet
En injectant une perturbation sur l’angle de lacet on récupère les données sui-
vantes.
Figure 3.4.5 – L’angle de lacet sous perturbation
43
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
3.4.3 Commande de la position
Avec les consignes suivantes
cx = 100sin(t)
cy = 100cos(t)
cz = 700(1 + t/10)
Nous obtenons les résultats illustrés à la figure ci-dessous.
Figure 3.4.6 – La position obtenue
Evolution de la position en 3D
44
3.5 conclusion
Figure 3.4.7 – La position en 3d
Interprétation
D’après les résultats expérimentaux, nous constatons :
1. D’après la figure (3.4.3), une bonne stabilité en altitude, et cela, vis-à-vis de
nos perturbations exercées sur le quadrirotor.
2. D’après la figure (3.4.5), une bonne stabilité au niveau de l’angle de lacet et
toujours en présence de perturbations.
3. D’après la figure (3.4.6), un suivi acceptable de la trajectoire désirée avec la
présence de certaines erreurs, relativement, négligeables.
Dans manière générale, nous pouvons dire que notre commande PID à montrer
une robustesse vis-à-vis des perturbations externes et une bonne poursuite de la
consigne donnée.
3.5 conclusion
Dans ce chapitre, nous avons appliqué une technique de commande linéaire sur
un drone quadrirotor parrot ardrone 2.0 en se basant sur les mesures provenant
de son IMU. Les résultats expérimentaux obtenus montrent que cette technique
donne de bonnes performances en terme de poursuite de trajectoire avec un taux
d’erreurs négligeable. Ces résultats permettent de valider expérimentalement les
lois de commande proposées dans le chapitre précédent et montre la performance
45
Chapitre 3 Implémentation expérimentale du loi de commande sur un banc
d’essai (Parrot Ardronne 2.0 )
de ces lois pour la naviguation autonome (sans pilote) du quadrirotor dans un
environnement connu au préalable.
46
Conclusion et perspectives
Dans ce mémoire, nous avons étudié un type particulier des véhicules aériens
appelé Quadrirotor. Notre objectif principal a porté sur l’analyse, la modélisation
et la navigation autonome permettant le suivie d’une trajectoire désirée ,de ce
genre de véhicules.
Pendant la réalisation de ce présent travail, nous avons consolidé davantage nos
connaissances théoriques et pratiques dans le domaine de la robotique en générale
et dans la façon de les commander en particulier. Il nous a mené à faire un état de
l’art sur les quadrirotors et bien particulièrement sur leur mode de fonctionnement
en termes de navigation autonome et de suivi de trajectoire. Nous avons effectué
cette étude dans le but de pouvoir apporter des contributions originales pertinentes
à la commande de ces quadrirotors dans ses différents modes de fonctionnement.
Les contributions majeures de ce travail consistent en :
— La proposition d’un modèle mathématique précis qui serve de base pour la
simulation d’un comportement dynamique et effectif du quadrirotor. Notre
modèle comporte deux parties, une première qui est pertinente aux équa-
tions décrivant les mouvements de translation, et une deuxième qui porte
sur les équations qui décrivent les mouvements de rotation. Dans ce modèle
proposé, nous avons pris en compte principalement, la vitesse du vent, l’effet
aérodynamique et la force de trainée (drag force) qui affecte les hélices de
notre quadrirotor. Pour pouvoir simuler notre modèle, nous avons mis en
œuvre ces deux parties dans Simulink pour les assemblés à la suite dans un
seul modèle complet.
— Une fois ce modèle est réalisé, nous avons développé une commande linéaire
PID qui permet de stabiliser notre quadrirotor en position, en altitude et en
attitude.
— Afin de valider nos modèle et commande, nous avons réalisé dans une pre-
mière tentative une simulation en utilisant Matlab. Dans cette simulation,
nous avons conduit quelques manœuvres de vol pertinentes à la conduite
autonome du quadrirotor. Durant la simulation, nous avons soumis ce der-
nier à des diverses perturbations, et cela, suivant les trois axes (X, Y, Z).
47
Conclusion et perspectives
Le quadrirotor a montré une capacité de poursuite intéressante avec de très
bonnes performances.
— Dans une deuxième tentative, nous avons conduit des tests expérimentaux
réels en utilisant la plateforme expérimentale parrot ar-drone 2.0 et l’envi-
ronnement de développement ROS. Ce dernier nous a permis de programmer
notre commande PID proposée auparavant, et cela, en utilisant C++. Les
résultats obtenus ont montré l’efficacité de cette commande dans des condi-
tions expérimentales différentes.
Les objectifs soulignés au début de ce travail ont été atteints en surmontant les
obstacles que nous avons rencontrés durant le temps restreint fixé pour finaliser ce
travail ainsi que la nature multidisciplinaire du sujet étudié.
Afin d’apporter plus de valeur à ce présent travail, ce dernier peut être conduit
à long terme et comme perspectives suivant différentes dimensions dont voici les
plus importantes :
— Faire intervenir d’autres stratégies de commande plus sophistiquées comme la
commande robuste et la commande non linéaire avec une étude comparative
sur leur implication induite sur le fonctionnement du quadrirotor.
— Étudier les effets de la commande tolérante aux défauts sur le comportement
dynamique du quadrirotor.
— Étendre notre proposition en introduisant la navigation simultanée et colla-
borative de d’autres quadrirotors.
— Dans notre travail et afin de faire naviguer notre quadrirotor, nous nous
sommes juste limités par l’utilisation du l’IMU. Dans ce sens, il est très
intéressant d’améliorer davantage notre proposition pour intégrer la vison
artificielle (slam/ visuel odometry/3d reconstraction) dans ce processus de
navigation. Cette technique offre une fois intégrée, plus d’autonomie dans la
navigation de notre quadrirotor.
48
Annexes
Annexe A
modélisation
Figure A.1 – modéle simulink
51
Annexe A modélisation
Algorithme A.1 fonction pour calculer la vitesse des moteures
Algorithme A.2 Calcule de la commande
52
Algorithme A.3 Sous systéme de rotation
Algorithme A.4 sous systéme de translation
Figure A.2 – Fux cameras et IMU
53
Annexe A modélisation
Figure A.3 – Le simulateur gazebo
Figure A.4 – Le banc d’éssai
54
Figure A.5 – Calculateur parrot ardrone
Figure A.6 – Motorisation (BLDC)
55
Bibliographie
[1] http ://www.popsci.com
[2] Corrado Santoro<<How does a Quadrotor fly ? A journey from physics,
mathematics, control systems and computer science towards a “Controllable
Flying Object>>ARSLAB - Autonomous and Robotic Systems Laboratory
Dipartimento di Matematica e Informatica - Universit ‘a di Catania, Italy -
Jan 10, 2014
[3] Mr. KHEBBACHE Hicham <<Tolérance aux défauts via la méthode
backstepping des systèmes non linéaires Application : Système UAV de type
Quadrirotor>>Mémoire de Magister UNIVERSITE FERHAT ABBAS DE
SETIF Département d’Electrotechnique Faculté de Technologie - 06 / 06 /
2012
[4] D. Cremers, J. Sturm, J. Engel, C. Kerl <<Visual Navigation for
Flying Robots>> lecture Computer Vision Group Department of Informatics
Technical University of Munich Summer Term 2013
[5] Leghmizi Said and Boumediene Latifa <<Modeling and Control of
Mechanical Systems in Simulink of Matlab>> College of Automation, Harbin
Engineering University China 09, September, 2011
[6] Heba talla Mohamed Nabil ElKholy<<Dynamic Modeling and
Control of a Quadrotor Using Linear and Nonlinear Approaches>>In par-
tial fulfillment of the requirements for The degree of Master of Science in
Robotics, Control and Smart Systems The American University IN CAIRO
School of Sciences and Engineering
[7] Ehouarn Perret - Levent Demir<<Projet AR.Drone>> Poly-
tech Grenoble Gipsa - lab
[8] Garcia Carrillo,L.R,Dzul Lopez, AE.Lozano,
R. ;Hardcover<<Quad Rotorcraft Control>> springer 2013
[9] BELLAHCENE ZAKARIA<<Synthèse de lois de commande robuste pour
un hélicoptère à quatre hélices>> Thèse Présentée pour l’obtention du DI-
PLOME DE MAGISTER EN AUTOMATIQUE Université des Sciences et de
57
BIBLIOGRAPHIE
la Technologie d’Oran Mohamed Boudiaf Faculté de Génie Electrique Dépar-
tement d’Automatique 6/3/2013
[10] Jason M. O’Kane<<A Gentle Introduction to ROS>> University of South
Carolina Department of Computer Science and Engineering 315Main Street
Columbia, SC 29208generated on November 20, 2014.
[11] Inkyu, Hu and Van <<Technical documentation for AR.Drone
project>>Cyphy Lab. Queensland University of Technology
January 14, 2013
[12] Matt Mahoney<<How to Program in C++ >>
[13] https ://raw.githubusercontent.com/AutonomyLab/ardrone_autonomy
[14] www.ros.org
[15] Marilena Vendittelli <<quadrotor modeling>>University de Roma SA-
PIENZA
[16] Isabelle FANTONI-COICHOT<<Vers l’autonomie des v’ehi-
cules aeriens>> MEMOIRE presente et soutenu publiquement
le 10 decembre 2007 pour l’obtention de l’ Habilitation µa Diri-
ger des Recherches Ecole doctorale de l’Universit’e de Tech-
nologie de Compiµegne le 10 decembre 2007
58

Contenu connexe

Tendances

Presentation pfe RoBeX
Presentation pfe RoBeXPresentation pfe RoBeX
Presentation pfe RoBeXjalel Derbali
 
Conception, automatisation et supervision d’une machine d’assemblage connec...
  Conception, automatisation et supervision d’une machine d’assemblage connec...  Conception, automatisation et supervision d’une machine d’assemblage connec...
Conception, automatisation et supervision d’une machine d’assemblage connec...Hamza Jmili
 
Cours robotique complet
Cours robotique completCours robotique complet
Cours robotique completMouna Souissi
 
Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Oussama Ben Sghaier
 
Chapitre 3 robotique e
Chapitre 3 robotique eChapitre 3 robotique e
Chapitre 3 robotique eMouna Souissi
 
Conception et réalisation d’un robot de supervision : acquisition et échange ...
Conception et réalisation d’un robot de supervision : acquisition et échange ...Conception et réalisation d’un robot de supervision : acquisition et échange ...
Conception et réalisation d’un robot de supervision : acquisition et échange ...BADDOU mohamed
 
Réalisation d'un robot téleguidé
Réalisation d'un robot téleguidéRéalisation d'un robot téleguidé
Réalisation d'un robot téleguidéMohamed Amine LABIDI
 
Ing Mécatronique FST FES
Ing Mécatronique FST FESIng Mécatronique FST FES
Ing Mécatronique FST FESzouhairkalkhi
 
présentation Mini projet.pptx
présentation Mini projet.pptxprésentation Mini projet.pptx
présentation Mini projet.pptxEyaEssayel
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauNicolas Roulleau
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.Sabri El gharbi El yahmadi
 
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...Mohammed JAITI
 
Biométrie d'Empreinte Digitale Power Point
Biométrie d'Empreinte Digitale Power PointBiométrie d'Empreinte Digitale Power Point
Biométrie d'Empreinte Digitale Power PointIntissar Dguechi
 

Tendances (20)

Presentation pfe RoBeX
Presentation pfe RoBeXPresentation pfe RoBeX
Presentation pfe RoBeX
 
Conception, automatisation et supervision d’une machine d’assemblage connec...
  Conception, automatisation et supervision d’une machine d’assemblage connec...  Conception, automatisation et supervision d’une machine d’assemblage connec...
Conception, automatisation et supervision d’une machine d’assemblage connec...
 
Présentation mécatronique
Présentation mécatroniquePrésentation mécatronique
Présentation mécatronique
 
Cours robotique complet
Cours robotique completCours robotique complet
Cours robotique complet
 
Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .
 
ROBOT à base d'Android - Rapport PFE
ROBOT à base d'Android - Rapport PFEROBOT à base d'Android - Rapport PFE
ROBOT à base d'Android - Rapport PFE
 
Chapitre 4 robotique
Chapitre 4 robotiqueChapitre 4 robotique
Chapitre 4 robotique
 
Chapitre 3 robotique e
Chapitre 3 robotique eChapitre 3 robotique e
Chapitre 3 robotique e
 
Conception et réalisation d’un robot de supervision : acquisition et échange ...
Conception et réalisation d’un robot de supervision : acquisition et échange ...Conception et réalisation d’un robot de supervision : acquisition et échange ...
Conception et réalisation d’un robot de supervision : acquisition et échange ...
 
Réalisation d'un robot téleguidé
Réalisation d'un robot téleguidéRéalisation d'un robot téleguidé
Réalisation d'un robot téleguidé
 
Rapport cimat
Rapport cimatRapport cimat
Rapport cimat
 
Ing Mécatronique FST FES
Ing Mécatronique FST FESIng Mécatronique FST FES
Ing Mécatronique FST FES
 
présentation Mini projet.pptx
présentation Mini projet.pptxprésentation Mini projet.pptx
présentation Mini projet.pptx
 
Cahier Meca 4 ST Part 1/2
Cahier Meca 4 ST Part 1/2Cahier Meca 4 ST Part 1/2
Cahier Meca 4 ST Part 1/2
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
iRecruite
iRecruiteiRecruite
iRecruite
 
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauRapport Projet Application Web De Domotique Arduino - Liotard Roulleau
Rapport Projet Application Web De Domotique Arduino - Liotard Roulleau
 
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
Application  de gestion, suivi,et de sécurité des chantiers en temps réels.Application  de gestion, suivi,et de sécurité des chantiers en temps réels.
Application de gestion, suivi,et de sécurité des chantiers en temps réels.
 
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
Soutenance de Mon PFE - Interaction Homme Machine par geste avec Python - Jai...
 
Biométrie d'Empreinte Digitale Power Point
Biométrie d'Empreinte Digitale Power PointBiométrie d'Empreinte Digitale Power Point
Biométrie d'Empreinte Digitale Power Point
 

En vedette

Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Piyush Chand
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) hvcoup
 
Report on automatic door
Report on automatic doorReport on automatic door
Report on automatic doorIndira Kundu
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesFabrice HAUHOUOT
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

En vedette (9)

Simulating TUM Drone 2.0 by ROS
Simulating TUM Drone 2.0  by ROSSimulating TUM Drone 2.0  by ROS
Simulating TUM Drone 2.0 by ROS
 
quadrotor
quadrotor quadrotor
quadrotor
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
 
Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System) Introduction to ROS (Robot Operating System)
Introduction to ROS (Robot Operating System)
 
Report on automatic door
Report on automatic doorReport on automatic door
Report on automatic door
 
Diaporama drone
Diaporama droneDiaporama drone
Diaporama drone
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Autonomous navigation of flying robot

Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes Souhail Bouzidi
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelTidiane Sylla
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)bessem ellili
 
Risques hydrologiques et aménagement du territoire
Risques hydrologiques et aménagement du territoireRisques hydrologiques et aménagement du territoire
Risques hydrologiques et aménagement du territoireSouhila Benkaci
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfnesrine haloui
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesisAbirHezzi
 
2008 evry0045
2008 evry00452008 evry0045
2008 evry0045uykuyk
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.commorin moli
 
Introduction aux systèmes automatisés
Introduction aux systèmes automatisésIntroduction aux systèmes automatisés
Introduction aux systèmes automatisésmorin moli
 
Rd m resistance_materiaux
Rd m resistance_materiauxRd m resistance_materiaux
Rd m resistance_materiauxBeni Ludger
 
Chateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportChateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportMouhamed Ndao
 

Similaire à Autonomous navigation of flying robot (20)

Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes Dimensionnement d'un Tour (IGH)  R+17 sous Eurocodes
Dimensionnement d'un Tour (IGH) R+17 sous Eurocodes
 
Rapport
RapportRapport
Rapport
 
Conception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM NortelConception et Développement d'un Network Management System ATM Nortel
Conception et Développement d'un Network Management System ATM Nortel
 
Memoire_final
Memoire_finalMemoire_final
Memoire_final
 
2009 these servant (1)
2009 these servant (1)2009 these servant (1)
2009 these servant (1)
 
Badis these
Badis theseBadis these
Badis these
 
Rapport
RapportRapport
Rapport
 
Risques hydrologiques et aménagement du territoire
Risques hydrologiques et aménagement du territoireRisques hydrologiques et aménagement du territoire
Risques hydrologiques et aménagement du territoire
 
pfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdfpfe_rapport_poste_licence_LFIG.pdf
pfe_rapport_poste_licence_LFIG.pdf
 
Rapport final-FIROZI-V2
Rapport final-FIROZI-V2Rapport final-FIROZI-V2
Rapport final-FIROZI-V2
 
Mr phd thesis
Mr phd thesisMr phd thesis
Mr phd thesis
 
siem.pdf
siem.pdfsiem.pdf
siem.pdf
 
2008 evry0045
2008 evry00452008 evry0045
2008 evry0045
 
Automatisme) www.cours-online.com
Automatisme) www.cours-online.comAutomatisme) www.cours-online.com
Automatisme) www.cours-online.com
 
Introduction aux systèmes automatisés
Introduction aux systèmes automatisésIntroduction aux systèmes automatisés
Introduction aux systèmes automatisés
 
Rd m resistance_materiaux
Rd m resistance_materiauxRd m resistance_materiaux
Rd m resistance_materiaux
 
Polycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdfPolycopie_CNA_CD.pdf
Polycopie_CNA_CD.pdf
 
PhD Thesis
PhD ThesisPhD Thesis
PhD Thesis
 
Chateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapportChateaut.free.fr robotique rapport
Chateaut.free.fr robotique rapport
 
cour robotique
cour robotiquecour robotique
cour robotique
 

Dernier

firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............cheddadzaineb
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 

Dernier (20)

firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............DISPOSITIFS-MEDICAUX-PPT.pdf............
DISPOSITIFS-MEDICAUX-PPT.pdf............
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 

Autonomous navigation of flying robot

  • 1. MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE ‫جامع‬‫ــ‬‫ـة‬‫عباس‬ ‫فرحات‬-‫سطيـ‬‫ــ‬‫ـف‬UNIVERSITE FERHAT ABBAS -SETIF ‫التـكنــولــوجيــــا‬ ‫كليـة‬Faculté de Technologie : ‫قسم‬‫اال‬‫ل‬‫كتروتقنية‬Département D’électrotechnique Mémoire de Master No. Réf. : MAI/05/2015 Présenté au Département d’électrotechnique Domaine : Sciences et Technologie Filière : Automatique Spécialité : Automatique Industrielle Réalisé par : M.Doukhi Oualid Thème Commande et navigation autonome d'un drone Quadrirotor Soutenu le 16/06/2015 devant la commission d’examen composée de : M. Khaber Farid à l’Université de Sétif Président M. SID Mohamed Amine à l’Université de Sétif Directeur du Mémoire M. Aouina Abdenoure à l’Université de Boumerdes co-encadrant M. Aggoune Lakhder à l’Université de Sétif Examinateur
  • 2.
  • 3. Résumé L’objectif de ce travail est de développer une approche de commande linéaire, et de l’appliquer sur un véhicule aérien sans pilote nommé quadrirotor. Après un état de l’art sur ce type de véhicules, nous avons élaboré le modèle complet du quadrirotor qui permet d’étudier son comportement dans des différents régimes de fonctionnement. Pour pouvoir valider notre modèle, plusieurs tests ont été réalisés par simulation sous Matlab/simulink. Nous avons présenté également les fonde- ments théoriques de la technique de commande par PID, et cela, pour pouvoir l’implémenter à la suite dans un calculateur distant. Pour atteindre ce but, nous avons utilisé le langage C++ et l’environnement de développement ROS tout en se basant sur les mesures en provenance de la centrale inertielle (IMU). Une fois notre commande programmée, nous l’avons implémentée et testée sur le banc de test parrot ardrone 2.0. Les résultats obtenus ont été très satisfaisants du point de vue performance de commande et robustesse vis-à-vis les perturbations externes. Mots clés : commande linéaire, drone quadrirotor , Proportionnel intégral dé- rivé(PID) , C + + ,Robot operating system (ROS) , parrot ardrone i
  • 4.
  • 5. Remerciements Mes remerciements vont, tout d’abord, au « Grand Allah » qui m’a guidé dans le bon chemin et qui m’a donné toute cette force physique et mentale afin d’accomplir, au mieux, ce présent travail. Je tiens surtout à assurer ma sincère reconnaissance, mon plus grand respect et ma totale gratitude à Mr.Sid Mohamed Amine, mon encadrant et docteur de l’Université de sétif , pour tous les efforts, l’aide, le soutien et les encouragements qu’il a montré tout au long de ce travail et aussi pour tant de compréhension, et disponibilité dont il a fait preuve. Je tiens aussi à exprimer mes remerciements à Mr. Aouina Abde annoure mon co-encadrant et docteur de l’Université de boumerdes, d’avoir bien voulu de me faire profiter pleinement de ces compétences scientifiques et de ses idées pour l’accomplissement de ce travail. Je remercie vivement, également, les membres de jury pour avoir accepté de lire mon mémoire et juger mon travail. Un grand merci aussi, à mes parents, pour leurs conseils précieux et soutien constant tout le long de la réalisation de mon mémoire. Je remercier, tous les enseignants que j’ai eu l’honneur d’avoir durant les cinq années de mon cursus universitaire, et qui m’ont permis, par leurs enseignements, d’acquérir des connaissances solides dans le domaine de l’automatique. J’adresse un remerciement tout spécial au doctorant Nadjib Benaouda et à toute personne m’ayant apporté le moindre appui au cours de la réalisation de mon travail . Enfin j’adresse mes remerciements à tous ceux que j’aurais pu omettre de citer et qui de près ou de loin m’ont aidé et soutenu. OUALID iii
  • 6.
  • 7. Table des matières Résumé i Remerciements iii Table des matières v Table des figures ix Introduction générale 1 1 Historique et domaines d’application des quadrirotors 3 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 L’histoire des quadrirotors . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Les application des quadrotors . . . . . . . . . . . . . . . . . . . . . 5 1.3.1 Surveillance et collecte d’informations . . . . . . . . . . . . . 6 1.3.2 Études scientifiques et surveillance des systèmes distribués . 6 1.3.3 Recherche et sauvetage . . . . . . . . . . . . . . . . . . . . . 7 1.3.4 Missions dangereuses (détection de gaz toxiques, radiations) 7 1.3.5 La livraison des colis . . . . . . . . . . . . . . . . . . . . . . 8 1.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Modélisation et commande d’un quadrirotor 11 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Modélisation dynamique du quadrirotor . . . . . . . . . . . . . . . . 11 2.2.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Les mouvement du quadrirotor . . . . . . . . . . . . . . . . 12 2.2.2.1 Au long de l’axe z . . . . . . . . . . . . . . . . . . 12 2.2.2.2 Autour des axes x et y (roulis et tangage ) . . . . 13 2.2.2.3 Autour de l’axe z ( lacet ) . . . . . . . . . . . . 14 v
  • 8. TABLE DES MATIÈRES 2.2.3 Modèle dynamique du quadrirotor . . . . . . . . . . . . . . . 14 2.2.3.1 Hypothèses du modèle . . . . . . . . . . . . . . . . 14 2.2.3.2 Définition des repères . . . . . . . . . . . . . . . . 14 2.2.3.3 Les angles d’Euler . . . . . . . . . . . . . . . . . 15 2.2.3.4 Les vitesses linéaires . . . . . . . . . . . . . . . . . 16 2.2.3.5 Les vitesses angulaires . . . . . . . . . . . . . . . . 16 2.2.3.6 Les forces et les moments agissant sur le quadriro- tor . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.3.7 L’équation de Newton-Euler . . . . . . . . . . . 19 2.2.3.8 La représentation d’état du système . . . . . . . . 21 2.3 Conception de l’algorithme de commande . . . . . . . . . . . . . . . 22 2.3.1 Contrôleur PID : . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.1.1 Contrôleur d’altitude : . . . . . . . . . . . . . . . . 24 2.3.1.2 Contrôleur d’attitude . . . . . . . . . . . . . . . . . 24 2.3.1.3 Contrôleur de position : . . . . . . . . . . . . . . . 26 2.3.2 Résultats de simulation : . . . . . . . . . . . . . . . . . . . . 28 2.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) 35 3.1 Présentation de l’AR.Drone . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Présentation de l’environnement ROS . . . . . . . . . . . . . . . . . 37 3.2.1 Une aperçue sur l’environnement ROS . . . . . . . . . . . . 39 3.2.2 Nœuds, messages, topics . . . . . . . . . . . . . . . . . . . . 39 3.2.2.1 Topics . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2.2.2 Les nœuds : . . . . . . . . . . . . . . . . . . . . . . 39 3.3 Architecture matériel du quadrirotor . . . . . . . . . . . . . . . . . 39 3.3.1 Communication . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.2 Réception de données en provenance des capteurs . . . . . . 40 3.4 Implémentation de l’algorithme de commande . . . . . . . . . . . . 41 3.4.1 Commande de l’altitude . . . . . . . . . . . . . . . . . . . . 41 3.4.2 Commande de l’angle de Lacet . . . . . . . . . . . . . . . . 43 3.4.3 Commande de la position . . . . . . . . . . . . . . . . . . . 44 3.5 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Conclusion et perspectives 47 Annexes 49 A modélisation 51 vi
  • 10.
  • 11. Table des figures 1.2.1 Bréguet Richet Gyro1- 1907 . . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Oemichen 1920 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Le Quadrirotor de Bothezat1922. . . . . . . . . . . . . . . . . . . . 5 1.2.4 Convertawings Model A 1956 . . . . . . . . . . . . . . . . . . . . . 5 1.3.1 surveillance de la Maison Blanche . . . . . . . . . . . . . . . . . . 6 1.3.2 réseaux surveillés . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.3 Sauvetage des personnes . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.4 Détection de gaz et radiations . . . . . . . . . . . . . . . . . . . . 8 1.3.5 Livraison des colis . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 Structure générale d’un quadrotor . . . . . . . . . . . . . . . . . . 12 2.2.2 Translation selon l’axe z . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 Mouvement de roulis et tangage . . . . . . . . . . . . . . . . . 13 2.2.4 Mouvement de lacet . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.5 Système d’axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.6 Les forces et les moment ajissant sur le quadrirotor . . . . . . . . . 18 2.2.7 Les entrer et les sortie . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1 Contrôleur PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.2 Commande d’altitude . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3.3 Commande d’attitude . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.4 Commande de la position . . . . . . . . . . . . . . . . . . . . . . . 27 2.3.5 Les signaux de reférence . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3.6 Altitude et l’angle de rolice . . . . . . . . . . . . . . . . . . . 29 2.3.7 Angle de lcet et tangage . . . . . . . . . . . . . . . . . . . . . 30 2.3.8 Vitesses moteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3.9 Commande de la position . . . . . . . . . . . . . . . . . . . . . . . 32 3.1.1 Ardrone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Archtecteur générale . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2.2 Plateformes supportées par ROS . . . . . . . . . . . . . . . . . . . 38 3.2.3 Configuration capteur actionneure avec ROS . . . . . . . . . . . . 38 ix
  • 12. TABLE DES FIGURES 3.3.1 Les topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.3.2 Les donneés de l’ IMU . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.1 Le flux des messages . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.2 L’altitude obtenue expérimentalement . . . . . . . . . . . . . . . . 42 3.4.3 Altitude obtenue en présence de perturbation . . . . . . . . . . . 42 3.4.4 L’angle de lacet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.5 L’angle de lacet sous perturbation . . . . . . . . . . . . . . . . . 43 3.4.6 La position obtenue . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.4.7 La position en 3d . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.1 modéle simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 A.2 Fux cameras et IMU . . . . . . . . . . . . . . . . . . . . . . . . . . 53 A.3 Le simulateur gazebo . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.4 Le banc d’éssai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.5 Calculateur parrot ardrone . . . . . . . . . . . . . . . . . . . . . . 55 A.6 Motorisation (BLDC) . . . . . . . . . . . . . . . . . . . . . . . . . 55 x
  • 13. TABLE DES FIGURES Listes des Acronymes et Symboles Acronymes UAVS Unmanned Aerial Vehicles DDL Degré de liberté ROS Robot Operating System PID Proportionnel Integrel Derive Symboles T Force de poussée totale wi Vitesse moteur TF Matrice de transformation RB I Matrice de rotation Vecteur de position φ Angle de roulis θ Angle de tangage ψ Angle de lacet x Variable d’état vI x,y,z Vitesse linaire dans le repère fix vB x,y,z Vitesse linaire dans le repère mobile TRi Force de trainée Mx,y,z Moment des forces A Effet aérodynamique Mgyro1,2 Moment gyroscopique Ir Moment d’inertie du rotor I Matrice d’inertie U Commande φd Angle de roulis désiré θd Angle de tangage désiré xd, yd, zd position désiré xi
  • 14.
  • 15. Introduction générale Ce travail de mémoire a été réalisé au sein de l’équipe surveillance des systèmes du laboratoire d’automatique de Sétif (LAS). Il s’inscrit dans le cadre des efforts de développement des plateformes expérimentales destinées à la validation des algorithmes de commande des systèmes cyber-physiques. Les recherches scientifiques avancées et les progrès technologiques en aéronau- tique permettent de prévoir un essor important de véhicules aériens. Ces derniers deviennent d’un jour à un autre plus performants et de plus en plus autonomes dans leur mode de fonctionnement. Parmi ces véhicules aériens, on trouve les drones qui consistent en des véhicules volants sans pilote, capables de mener une mission bien déterminée. En réalité, ces drones ont fait, ces dernières années, l’ob- jet de divers projets et travaux de recherche. Parmi ces projets, nous pouvons citer Le X4-Flyer lancé par l’université National Australienne, le Quadrirotor du projet Quentin lancé par l’école Pour l’Informatique et Techniques Avancées de France, etc. Les drones sont souvent équipés d’une variété de capteurs tels que les centrales inertielles ( IMU ) , le GPS, les ultrasons, les cameras, les lasers, etc. Ces capteurs permettent au véhicule de se repérer dans son environnement et, de manière géné- rale, de naviguer en évitant les obstacles. La centrale inertielle fournit des mesures angulaires et linéaires sur la position du véhicule. En effet, la navigation autonome des drones est actuellement orientée vers des solutions basées sur l’hybridation entre les données en provenance des IMU et la vision (caméras). Cette technique permet la localisation précise du drone car, la vision fournit un ensemble de don- nées très riche sur l’environnement. Cependant, la difficulté majeure réside dans la complexité des algorithmes utilisés dans l’exploitation de ces informations. Le principal défi scientifique pour ces drones réside dans la complexité de leur comportement dynamique et leur navigation autonome. Dans ce sens, l’objectif principal de ce travail porte sur l’analyse, la modélisation et la navigation auto- nome permettant le suivie d’une trajectoire désirée. Afin d’atteindre cet objectif, notre contribution a porté sur les éléments suivants : • La dérivation d’un modèle non linéaire du drone en se basant sur les lois de 1
  • 16. Introduction générale la physique. • La simulation du modèle mathématique obtenu en réalisant plusieurs tests de validation. • La commande du système en appliquant un algorithme de stabilisation en altitude, en attitude et en position. • L’implémentation de la loi de commande dans la plateforme expérimentale Parrot ardrone 2.0 à l’aide de l’environnement ROS. Ce dernier est un logiciel open-source (libre) destiné aux applications robotiques. Afin de décrire notre façon de réfléchir, ce mémoire présentant les principaux éléments académiques intervenant dans notre contribution ainsi que la façon de les mettre en oeuvre, est organisé de la manière suivante : • Le chapitre I présente un bref historique sur la conception des quadrirotors et quelques domaines d’application de ces véhicules. • Le chapitre II présente une étude détaillée du modèle dynamique développé ainsi que le principe de fonctionnement du quadrirotor. • Le chapitre III présente la loi de commande proposée et qui est basée sur la technique PID. Il détaille également l’implémentation de cette loi dans la plateforme expérementale AR Drone. Le document se termine par une conclusion dans laquelle les principaux résultats de l’étude sont rappelés et des perspectives ouvertes par ce travail sont proposées. 2
  • 17. Chapitre 1 Historique et domaines d’application des quadrirotors 1.1 Introduction L’utilisation des drones a beaucoup évolué durant cette dernière décennie. L’étude de ces systèmes a attiré de nombreux chercheurs travaillant dans des disciplines liées notamment à l’automatique, l’électronique, la mécanique et l’aérodynamique. Différentes configurations des drones multirotors ont été proposées : en plus (+), croix (x) et avec deux, trois quatre jusqua huit hélices. Dans ce mémoire nous nous intéressons par les multirotors à quatre hélices connus par les quadrirotors, Dans ce chapitre, nous présentons tout d’abord une brève historique sur les quadrirotors. Ensuite nous présentons les différents domaines d’application de ce véhicule aérien. 1.2 L’histoire des quadrirotors La première génération des quadrirotors est caractérisée par une grande taille et de mauvaises performances dynamiques. Le premier quadrirotor était le Gyroplane n°1 « Breguet-Richet », conçu par les frères scientifiques français Louis et Jaque Breguet en collaboration avec le professeur Charles Richet en 1907 (figure1.2.1)[9]. Un an plus tard, un autre quadrirotor « Gyroplane n°2 » a été construit. Le Gyroplane n°2 est équipé d’un moteur Renault, plus puissant, qui atteignit 55 CV brusquement. 3
  • 18. Chapitre 1 Historique et domaines d’application des quadrirotors Figure 1.2.1 – Bréguet Richet Gyro1- 1907 En 1920(figure 1.2.2), Etienne Oemichen a commencé ses expériences dans la conception des aéronefs à voilures tournantes[9]. Six modèles ont été conçus par ce jeune ingénieur de la compagnie Peugeot. Parmi les quels un grand quadrirotor de 800kg construit en 1922, avec quatre rotors et huit hélices tournées par un seul moteur. Figure 1.2.2 – Oemichen 1920 Une autre plateforme à vol vertical été construit pour le service aérien de l’armée américaine à Dayton Ohio en 1921 par les ingénieurs George de Bothezat (figure 1.2.3) et Ivan Jérôme . C’était une structure en croix de 1678Kg [9] Plus de 100 essais de vols ont été exécutés sur ce grand quadrirotor, mais la commande en vol était très difficile et le prototype n’a pas répondu aux exigences d’exécution de l’armée américaine. 4
  • 19. 1.3 Les application des quadrotors Figure 1.2.3 – Le Quadrirotor de Bothezat1922. Dans les années 50, Amityville (New York), Convertawings a construit un qua- drirotor. Ce véhicule a été commandé en changeant la poussée fournie par chaque rotor[9]. Le quadrirotor de Convertawings a été piloté avec succès, mais la pro- duction a été arrêtée en raison d’un manque d’intérêt commercial pour cet avion. (figure 1.2.4) Figure 1.2.4 – Convertawings Model A 1956 1.3 Les application des quadrotors Les quadrirotors rentrent dans plusieurs applications militaires et civiles. 5
  • 20. Chapitre 1 Historique et domaines d’application des quadrirotors 1.3.1 Surveillance et collecte d’informations La variété des capteurs utilisés permet de recueillir plusieurs types d’informa- tions, restituées en temps réel, sous forme d’ images, d’origine électro-optique ou électromagnétique sur terre ou sur mer[16], Les informations transmises par le drone peuvent être exploitées de différentes manières à savoir l’évaluation de la situation sur un champ d’opérations, la surveillance d’une zone (figure 1.3.1), la détection et l’identification des objets. Figure 1.3.1 – surveillance de la Maison Blanche En dehors des domaines militaires, les quadrirotors possèdent une large variété potentielle d’applications civiles. Généralement, nous pouvons les classer dans les quatre catégories suivantes : 1.3.2 Études scientifiques et surveillance des systèmes distribués En novembre 2013, pour la première fois une société française, fait décoller un drone pour inspecter le viaduc ferroviaire , sur la ligne TGV Paris-Marseille[1]. Il a suffi de quelques images haute définition pour détecter d’éventuelles microfissures, Repérage des vols de câbles, contrôle des caténaires, détection d’obstacles sur la voie , le drone peut remplir bien des missions de surveillance sur ces longs réseaux (figure1.3.2). 6
  • 21. 1.3 Les application des quadrotors Figure 1.3.2 – réseaux surveillés 1.3.3 Recherche et sauvetage Les quadrirotors peuvent éventuellement devenir les gardes du corps du futur[1]. Le laboratoire RTS (une société de recherches iranienne ) a commencé le dévelop- pement d’un quadrirotor géant, Ce robot peut aider les gardes du corps à sauver des vies en temps record et de limiter la marge de risque des intervenants(figure 1.3.3) Figure 1.3.3 – Sauvetage des personnes 1.3.4 Missions dangereuses (détection de gaz toxiques, radiations) Là où l’homme ne peut se rendre sans mettre en péril sa santé, le drone peut le remplacer. Un drone a été envoyé par l’agence internationale de l’énergie atomique 7
  • 22. Chapitre 1 Historique et domaines d’application des quadrirotors pour cartographier les poches de radioactivité résiduelle autour de la centrale de Fukushima[1], Ce drone a réussi à accéder aux zones dangereuse pour analyser les dégâts causés par le tsu-nami. Ce véhicule est idéal pour le déplacement dans les en- vironnements hostiles ou à accès difficile à savoir les cheminées d’usines ,etc..(figure 1.3.4). Figure 1.3.4 – Détection de gaz et radiations 1.3.5 La livraison des colis La livraison des médicaments d’urgence ou des colis achetés sur net sont des ap- plications possibles[1]. La livraison des colis par les drone est d’un intérêt énorme pour les citoyens habitant dans des endroits isolés. Les drones peuvent montrer une grande efficacité dans les opérations de distribution des médicaments ou de la nourriture durant les catastrophes naturelles (les tremblements de terre, inonda- tions, avalanches ou incendies) Figure 1.3.5. Figure 1.3.5 – Livraison des colis 8
  • 23. 1.4 Conclusion 1.4 Conclusion En conclusion, nous constatons que le domaine du développement et de com- mande des drones quadrirotors est champ de recherche vierge nécessitant plus d’efforts pour concrétiser les capacités potentielles fournies par ce véhicule. Dans les chapitre suivant, nous développons un algorithme de commande assurant des bonnes performances de fonctionnement. . 9
  • 24.
  • 25. Chapitre 2 Modélisation et commande d’un quadrirotor 2.1 Introduction La dynamique des véhicules volants à voilure tournante est particulièrement très complexe vue les nombreux effets aérodynamiques. Dans ce chapitre, nous déve- loppons un modèle mathématique permettant de décrire les mouvements possibles du drone. 2.2 Modélisation dynamique du quadrirotor Avant de donner le modèle mathématique du drone, nous expliquons tout d’abord son principe de fonctionnement et l’ensemble des mouvements de vol possibles. 2.2.1 Fonctionnement La conception d’un contrôleur de vol doit passer tout d’abord par la compréhen- sion approfondie des principes de fonctionnement de l’avion. Cette compréhension est nécessaire non seulement pour la conception du contrôleur, mais aussi pour s’assurer que les simulations du comportement du véhicule sont très proches de la réalité. Le quadrirotor est un robot mobile aérien à quatre rotors défini dans l’espace par 6 DDL (trois mouvements de rotation et trois mouvements de translation).Ces 4 rotors sont généralement placés aux extrémités d’une croix[3].Afin d’éviter que l’appareil se tourne sur son axe de lacet, les deux hélices doivent tourner dans un sens, et les deux autres dans le sens contraire. Nous pouvons positionner le drone en 11
  • 26. Chapitre 2 Modélisation et commande d’un quadrirotor faisant varier astucieusement la puissance des moteurs. De cette façon, le quadriro- tor peut monter/descendre, s’incliner à gauche/droite (roulis), en avant/arrière (tangage) ou encore tourner sur lui-même (lacet). Le quadrirotor est un sys- tème sous actionné vue que le nombre des actionneurs (4 moteurs) est inférieure au nombre des ddls (6 ddl). Figure 2.2.1 – Structure générale d’un quadrotor 2.2.2 Les mouvement du quadrirotor Les quatre mouvements possibles du quadrirotor sont détaillés dans la suite. 2.2.2.1 Au long de l’axe z Le mouvement de translation selon l’axe z correspond tout simplement à la montée/descente du quadrirotor. La montée est obtenue en augmentant la vitesse des quatre moteurs. La descente est obtenue par la réduction de la vitesse des moteurs. • la montée f1 + f2 + f3 + f4 > −mg (2.2.1) • la descente f1 + f2 + f3 + f4 < −mg (2.2.2) D’après ces deux équations [2], Nous remarquons que le mouvement selon z est engendré par le déséquilibre des forces (des inégalités). 12
  • 27. 2.2 Modélisation dynamique du quadrirotor Figure 2.2.2 – Translation selon l’axe z 2.2.2.2 Autour des axes x et y (roulis et tangage ) Le roulis et le tangage sont des mouvements assez similaires visant à pen- cher le quadrirotor sur l’axe x ou sur l’axe y. Ces mouvements sont obtenus en augmentant la vitesse d’une hélice et en abaissant proportionnellement la vitesse de l’hélice opposée . D’autre part nous constatons que deux autres mouvements de translations (selon x ou y) sont obtenus simultanément. M1 + M2 + M3 + M4 = 0(pas d’équilibre des moments ) (2.2.3) Figure 2.2.3 – Mouvement de roulis et tangage 13
  • 28. Chapitre 2 Modélisation et commande d’un quadrirotor 2.2.2.3 Autour de l’axe z ( lacet ) Le mouvement de LACET sert à tourner le quadrirotor sur lui-même. Il est obtenu en augmentant la vitesse des hélices de même porteur et en diminuant proportionnellement la vitesse des autres hélices. (w1 + w3) − (w2 + w4) = 0(pas déséquilibre de vitesse des moteur) (2.2.4) Figure 2.2.4 – Mouvement de lacet 2.2.3 Modèle dynamique du quadrirotor 2.2.3.1 Hypothèses du modèle Le modèle dynamique obtenu est basé sur les hypothèse simplificatrices suivantes [3] : • La structure du système est supposée rigide. • La structure est supposée parfaitement symétrique donc la matrice d’inertie obtenue est diagonale • La portance et la trainée de chaque moteur sont proportionnelles au carré de la vitesse (hypothèse empirique). • Les hélices sont supposées rigides afin de négliger l’effet de leur déformation lors de la rotation. 2.2.3.2 Définition des repères Le quadrirotor est considéré comme un corps rigide alors deux repères différents sont définis pour construire le modèle du quadrirotor et décrire son mouvement dans l’espace. Pour le premier repère, nous supposons que la terre est plate et stationnaire dans l’espace, par conséquent ce repère est lié à la terre (EF :Earth Frame) et sera considéré comme Galiléen. Le deuxième repère est le repère corps (BF : Body frame) attaché au centre de gravité du quadrirotor[3]. 14
  • 29. 2.2 Modélisation dynamique du quadrirotor Figure 2.2.5 – Système d’axe Le passage entre les deux repères est assuré par une matrice de transformation finale TF. TF = RI B 0 1 (2.2.5) avec RI B la matrice de rotation et le vecteur position. 2.2.3.3 Les angles d’Euler La rotation autour de l’axe x[15] Rx =    1 0 0 0 cφ −sφ 0 sφ cφ    (2.2.6) La rotation autour de l’axe y[15] Ry =    cθ 0 sθ 0 1 0 −sθ 0 cθ    (2.2.7) 15
  • 30. Chapitre 2 Modélisation et commande d’un quadrirotor La rotation autour de l’axe z[15] Rz =    cψ −sψ 0 sψ cψ 0 0 0 1    (2.2.8) donc la matrice de rotation RI B est donnée par RI B = RzRY Rx (2.2.9) RI B =    cψcθ cψsθsφ − sψcφ cψsθcφ + sψsφ sψsθ sψsθsφ + cψsθcφ sψsθcφ − sφcψ −sθ cθsφ cθcφ    (2.2.10) avec cx = cos(x) et sx = sin(x) [6] 2.2.3.4 Les vitesses linéaires Les vitesses linéaires sont exprimées dans le repère fixe ( I ) en fonction des vitesses linéaires dans le repère mobile ( B ) par la relation suivante [9]    vI x vI y vI z    = RI B    vB x vB y vB z    (2.2.11) 2.2.3.5 Les vitesses angulaires Les vitesses de rotations dans le repère fixe ˙φ, ˙θ, ˙ψsont exprimées en fonction des vitesses de rotations dans le repère mobile p, q, r    ˙φ ˙θ ˙ψ    =    p 0 0    + R−1 x    0 q 0    + (RY Rx)−1    0 0 r    = w (2.2.12) la rotation en roulis a lieu lorsque les repères sont encore confondus. Puis, en ce qui concerne le tangage, le vecteur représentant la rotation doit être exprimé dans le repère fixe : il est donc multiplié par R−1 x .De même, le vecteur représentant la rotation en lacet doit être exprimé dans le repère fixe qui a déjà subites deux rotations.finalement on trouve 16
  • 31. 2.2 Modélisation dynamique du quadrirotor w =    1 0 −sθ 0 cφ sφcθ 0 −sφ cφcθ    .    p q r    (2.2.13) Si le quadrirotor effectue des petites rotations, nous pouvons écrire les approxi- mations suivantes :[15] cφ = cθ = cψ = 1et sφ = sθ = sψ = 0 Par conséquent, la vitesse angulaire dans le repère fix est égale à la vitesse angulaire dans le repère mobile, ç-à-d : w =    p q r    =    ˙φ ˙θ ˙ψ    (2.2.14) 2.2.3.6 Les forces et les moments agissant sur le quadrirotor Le quadrirotor est classé dans la catégorie des systèmes volants les plus com- plexes vu le nombre d’effets physiques qui affectent sa dynamique. Les forces — Le poids du quadrirotor : donné par p = mg (2.2.15) où m est la masse totale et g est l’accélération de la pesanteur. — Les forces de poussé : Ces forces sont proportionnelles au carrée de la vitesse de rotation des moteurs fi = kw2 i (2.2.16) T = f1 + f2 + f3 + f4 (2.2.17) avec k coefficient de poussé wi vitesse de rotation du moteur i,T la poussé total — Les forces de trainée : agissent sur les pales et sont proportionnelles au carré de la vitesse de rotation de l’hélice. TRri = bw2 i (2.2.18) avec b coefficient de drag. 17
  • 32. Chapitre 2 Modélisation et commande d’un quadrirotor Les moments — La rotation autour de l’axe x elle est due au moment suivant MX = l (f4 − f2) = lk w2 4 − w2 2 (2.2.19) avec l la distance enter le centre du quadrirotor et axe moteur — La rotation autour de l’axe y MY = l (f3 − f1) = lk w2 3 − w2 1 (2.2.20) — La rotation autour de l’axe z MZ = TRr2 + TRr4 − TRr1 − TRr3 = b w2 2 + w2 4 − w2 1 − w2 3 (2.2.21) Figure 2.2.6 – Les forces et les moment ajissant sur le quadrirotor — L’ effet aérodynamique : due au mouvement du corps du quadrirotor et donné par A =    ax 0 0 0 ay 0 0 0 az       vI x vI y vI z    (2.2.22) avec ax, ay, az les coefficient aérodynamique selon les trois axes 18
  • 33. 2.2 Modélisation dynamique du quadrirotor — Le moment gyroscopique : due aux mouvements de quadrirotor [3] Mgyro1 = ω ∗ I.ω (2.2.23) avec I la matrice d’inertie, w la vitesse angulaire dans le repère fixe — Le moment gyroscopique : généré par la rotation des hélices [3] Mgyro2 = 4 i=1 ω ∗ Ir 0 0 (−1)i+1 wi T (2.2.24) où Ir est le moment d’inertie du rotor 2.2.3.7 L’équation de Newton-Euler La dynamique d’un corps regide de masse m soumis à des forces externes ap- pliquées au centre du corps selon le formalisme de nowten-Euler est donnée par Fi = m ˙vi. (2.2.25) où Fi sont les forces externes exprimées dans le repère fixe et vi sont les vitesses linéaires exprimées dans le même repère MB = I ˙ω + Mgyro1 + Mgyro2 (2.2.26) avec ω la vitesse angulaire I =    Ix 0 0 0 Iy 0 0 0 Iz    (2.2.27) I est la matrice d’inertie, d’où Fi =    0 0 −mg    + RI B    0 0 T    +    ax 0 0 0 ay 0 0 0 az       vI x vI y vI z    = m     ˙vI x ˙vI y ˙vI z     (2.2.28) Par conséquent, les équations de translation sont données par    ¨x ¨y ¨z    = −g    0 0 1    + T m    cψsθcφ + sφsψ sψsθcφ − cψsφ cθcφ    − 1 m    ax 0 0 0 ay 0 0 0 az       vI x vI y vI z    (2.2.29) 19
  • 34. Chapitre 2 Modélisation et commande d’un quadrirotor MB =    Ix 0 0 0 Iy 0 0 0 Iz       ¨φ ¨θ ¨ψ    +    ˙φ ˙θ ˙ψ    ∗    Ix 0 0 0 Iy 0 0 0 Iz       ˙φ ˙θ ˙ψ    + Ir    ˙θ ˙φ 0    wt =    Mx My Mz    (2.2.30) avec wt = w1 + w3 − w4 − w2 (2.2.31) Par conséquent, nous obtenons les équations de rotation suivantes    ¨φ ¨θ ¨ψ    =     (Iy−Iz) Ix ˙θ ˙ψ (Iz−Ix) Iy ˙ψ ˙φ (Ix−Iy) Iz ˙φ ˙θ     +     −Ir ˙θwt Ix Ir ˙φwt Iy 0     +     Mx Ix My Iy Mz Iz     (2.2.32) Finalement, les équations différentielles décrivant le mouvent du quadrirotor sont données par ¨x = T m cψsθcφ + sψsφ − ax m ˙x (2.2.33) ¨y = T m sψsθcφ − cψsφ − ay m ˙y (2.2.34) ¨z = T m cθcφ − az m ˙z − g (2.2.35) ¨φ = (Iy − Iz) Ix ˙θ ˙ψ − Ir ˙θwt Ix + Mx Ix (2.2.36) ¨θ = (Iz − Ix) Iy ˙ψ ˙φ + Ir ˙φwt Iy + My Iy (2.2.37) ¨ψ = (Ix − Iy) Iz ˙φ ˙θ + Mz Iz (2.2.38) 20
  • 35. 2.2 Modélisation dynamique du quadrirotor Figure 2.2.7 – Les entrer et les sortie 2.2.3.8 La représentation d’état du système On choisissant le vecteur d’état comme suit[6] X = φ ˙φ θ ˙θ ψ ˙ψ x ˙x y ˙y z ˙z = x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 . (2.2.39) Nous obtenons la représentation d’état suivante 21
  • 36. Chapitre 2 Modélisation et commande d’un quadrirotor ˙x1 = x2 ˙x2 = (Iy−Iz) Ix x4x6 − Ir Ix x4wt + Mx Ix ˙x3 = x4 ˙x4 = (Iz−Ix) Iy x6x2 + Ir Iy x2 wt + My Iy ˙x5 = x6 ˙x6 = (Ix−IY ) Iz x2x4 + Mz Iz ˙x7 = x8 ˙x8 = T m (cx5sx3cx1 + sx5sx1) − ax m x8 ˙x9 = x10 ˙x10 = T m (sx5sx3cx1 − cx5sx1) − ay m x10 ˙x11 = x12 ˙x12 = T m (cx3cx1) − az m x12 − g 2.3 Conception de l’algorithme de commande Dans cette partie on utilise le modelé mathématique développé précédemment pour construire un contrôleur linaire PID qui permettant la stabilisation du qua- drirotor en altitude, en attitude et en position. Les paramètres de ce contrôleur sont calculés en utilisant la fonction TUN de MATLAB/SIMULINK. Pour valider le modèle obtenu nous effectuons une simulation en boucle ouverte. La vitesse des moteurs demandée pour effectuer un vol stationnaire (hover) calculée en utilisant la formule suivante[6] mg = 4fi mg = 4k w2 ih w2 ih = mg 4k (2.3.1) Dans notre cas nous obtenons wih = 620.61rad/s (2.3.2) 22
  • 37. 2.3 Conception de l’algorithme de commande Donc par augmentation ou diminution de la vitesse des 4 moteurs autours de cette valeur on peut monter, descente voir incliner le quadrirotor. La dynamique des moteurs n’est pas considérée dans ce modelé car nous suppo- sons que les servomoteurs utilisés attiennent la vitesse désirée très rapidement et sans dépassement. Après la validation de notre modèle mathématique nous utili- sons un contrôleur d’altitude, d’attitude et de position de type PID . 2.3.1 Contrôleur PID : Dans la plupart des processus industriels, il est indispensable de maitriser cer- tains paramètres physiques. En automatique lorsque l’on souhaite atteindre une certaine vitesse, température, position, angle..., il est donc très souvent nécessaire d’avoir recours à un asservissement, c’est à dire un système capable d’atteindre et de maintenir une consigne en utilisant une mesure. Il s’agit donc d’un système bouclé, dont il reste à déterminer la fonction permettant de corriger la commande en fonction de la consigne initiale et de l’erreur mesurée. Le PID ( Proportional- Integral- Derivative ) est une méthode qui a fait ses preuves et qui donne de bons résultats. Principe général L’erreur observée est la différence entre la consigne et la mesure. Le PID permet 3 actions en fonction de cette erreur : • Une action Proportionnelle : l’erreur est multipliée par un gain G • Une action Intégrale : l’erreur est intégrée sur un intervalle de temps s, puis multipliée par un gain Ti • Une action Dérivée : l’erreur est dérivée suivant un temps s, puis multipliée par un gain Td Il existe plusieurs architectures possibles pour combiner les 3 effets (série, parallèle ou mixte), on présente ici une architecture parallèle Figure 2.3.1 – Contrôleur PID 23
  • 38. Chapitre 2 Modélisation et commande d’un quadrirotor 2.3.1.1 Contrôleur d’altitude : Les entrées du commande sont U = T Mx My Mz (2.3.3) Donc pour asservir l’altitude il faut agire sur la force de pousse totale T u1 = kp (zd − z) + kd ( ˙zd − ˙z) + ki ˆ (zd − z) dt (2.3.4) avec : kp gain proportionnel kd gain dérivé ki gain intégrale zd l’altitude désirée z l altitude mesurée A partir de l’équation (2.2.35) T = (g + u1) m cθcφ (2.3.5) Figure 2.3.2 – Commande d’altitude 2.3.1.2 Contrôleur d’attitude On peut agir sur les couples Mx, Myet Mz comme suit 24
  • 39. 2.3 Conception de l’algorithme de commande u2 = kp (φd − φ) + kd ˙φd − ˙φ + ki ˆ (φd − φ) dt (2.3.6) u3 = kp (θd − θ) + kd ˙θd − ˙θ + ki ˆ (θd − θ) dt (2.3.7) u4 = kp (ψd − ψ) + kd ˙ψd − ˙ψ + ki ˆ (ψd − ψ) dt (2.3.8) à partir des équation (2.2.36,2.2.37,2.2.38) nous obtenons Mx = u2Ix (2.3.9) My = u3Iy (2.3.10) Mz = u4Iz (2.3.11) Figure 2.3.3 – Commande d’attitude 25
  • 40. Chapitre 2 Modélisation et commande d’un quadrirotor Finalement la vitesse correcte des moteurs permettant la stabilisation du système est calculée à partir des équations (2.2.17,2.2.19,2.2.20,2.2.21) sous forme matri- cielle      T Mx My Mz      =      k k k k 0 −lk 0 lk −lk 0 lk 0 −b b −b b           w2 1 w2 2 w2 3 w4 4      (2.3.12) En remplaçant T MxMyMz par leurs valeurs dans l’ équation 2.3.12 , wi est donné par w1 = T 4k − My 2kl − Mz 4b (2.3.13) w2 = T 4k − Mx 2kl + Mz 4b (2.3.14) w3 = T 4k + My 2kl − Mz 4b (2.3.15) w4 = T 4k + Mx 2kl + Mz 4b (2.3.16) 2.3.1.3 Contrôleur de position : La position x et y ne peut pas commander directement par la commande U en revanche la position x et y peuvent étre commande à travers les angles rolice et tangage . Les agles désiré il est calculer en utilise les équations de mouvement de translation (2.2.33,2.2.34 ) 26
  • 41. 2.3 Conception de l’algorithme de commande Figure 2.3.4 – Commande de la position ¨x = T m cψsθdcφd + sψsφd − ax m ˙x ¨y = T m sψsθdcφd − cψsφd − ay m ˙y Tantque le quadrirotor opér autour de piont de fonctionnement , les angle de tangage et rolice pronder petit valeur ,donc en utilise la (small angle assump- tion) sin(φd) = φd sin(θd) = θd et cos(θd) = cos(φd) = 1 alors on trouve que [6] φd = m T [sψ[ ¨xd + ax m ˙xd] + sψ[ ¨yd + ay m ˙yd] (2.3.17) θd = m T [cψ[ ¨xd + ax m ˙xd] + sψ[ ¨yd + ay m ˙yd] (2.3.18) Avec : ¨xd = kp(xd − x) + kd( ˙xd − ˙x) + ki ˆ (xd − x)dt (2.3.19) 27
  • 42. Chapitre 2 Modélisation et commande d’un quadrirotor 2.3.2 Résultats de simulation : Les performances de notre contrôleur sont testées pour plusieurs scénarii et pour des différentes conditions initiales. Dans le 1er scénario le quadrirotor se trouve sur terre et au repos = 0 0 0 T et n = φ θ ψ T = 0 0 0 T . Nous essayons d’asservir le drone à la référence variable représentée ci-dessous. Figure 2.3.5 – Les signaux de reférence 28
  • 43. 2.3 Conception de l’algorithme de commande (a) Altitude (b) L ’angle de rolice Figure 2.3.6 – Altitude et l’angle de rolice 29
  • 44. Chapitre 2 Modélisation et commande d’un quadrirotor (a) L’angle de lacet (b) L’angle de tangage Figure 2.3.7 – Angle de lcet et tangage 30
  • 45. 2.3 Conception de l’algorithme de commande Figure 2.3.8 – Vitesses moteur D’après les résultats illustrés aux figures précédent ,en constatons que l’agorithme de commande conçu assure une bonne poursuite de la consigne donnée. Evolution de la position en 3D Commande de la position : la trajectoir désirée est définie par les fonctions suivantes [15] : xd = cos(t) yd = sin(t) zd = 1 + t/10 31
  • 46. Chapitre 2 Modélisation et commande d’un quadrirotor (a) Commande de la position (b) Commande de la pposition en présens de perturbation Figure 2.3.9 – Commande de la position Ces résultats de simulation montrent que la technique de commande appliquée force le systéme à suivre la trajectoire disérée (figure 2.3.9a) . Dans la figure 2.3.9b une perturabtion externe (du vent) est appliquée sur le système selon les axes x, y, z afin de tester la robustesse et la sensibilité de notre contrôleur vis-à-vis les signaux éxogènes. Les résultats de simulation montrent que l’algorithme de commande PID est robuste aux pertrubations en gardant des bonnes performances de poursuite de trajectoire désirée. 2.3.3 Conclusion Dans ce chapitre nous avons développé le modèle mathématique et la commande PID du quadrirotor. La dynamique de ce dernier est présentée par des équations différentielles qui ont été dérivées via l’utilisation du formalisme de newton Euler. 32
  • 47. 2.3 Conception de l’algorithme de commande Le modèle proposé a été validé dans un premier temps par une simulation en boucle ouverte, et par une autre en boucle fermée visant particulièrement la validation de la commande de quadrirotor. Notre simulation a été conduite en utilisant matlab simulink. Dans le but de valider réellement notre commande PID développée, nous dé- taillons dans le chapitre suivant sa mise en oeuvre réelle, et cela, en utilisant la plateforme extpérimentale Ardrone 2.0 avec l’environnement de développement ROS. 33
  • 48.
  • 49. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) Introduction Dans ce chapitre nous allons appliqué la loi de commande proposée précédem- ment sur une plateforme expérimentale parrot ar drone 2.0. Nous utilisons l’envi- ronnement « robot operating systems ROS » pour récupérer les mesures et envoyer les commandes au drone. Afin de fermer la boucle de commande nous devons tout d’abord mieux connaitre l’AR.Drone et maitriser l’environnement ROS. 3.1 Présentation de l’AR.Drone Figure 3.1.1 – Ardrone 2.0 35
  • 50. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) L’AR.Drone est un quadrirotor conçu par la société française Parrot SA et sorti en août 2010 en France. Il s’agit d’un petit hélicoptère à quatre hélices au design futuriste. Il peut se piloter avec un appareil sous iOS(iPhone, iPod touch,iPad), Android ou Symbian (Téléphones Nokia) via une liaison Wifi [11]. Il est principale- ment dédié au divertissement mais dispose d’équipements de haute technologie tels qu’une caméra frontale pour le pilotage, une seconde verticale, un accéléromètre trois axes, deux gyroscopes, deux émetteurs récepteurs à ultrasons permettant de calculer l’altitude, de nombreux capteurs ainsi qu’un ordinateur embarqué fonc- tionnant sur noyau Linux. Une véritable centrale inertielle et autant d’équipements habituellement réservés à un usage professionnel ou militaire. Quelques caractéristiques techniques...[7] 1. Processeur ARM cadencé à 468 MHz a) Mémoire DDR 128 Mbyte at 200 MHz b) Wi-Fi c) USB high speed d) Systèmes inertiels de guidage e) Accéléromètre 3-axes f) Gyromètre 2 axes g) 1 Gyromètre de précision pour la rotation(axe Z) h) Vitesse : 5 m/s, 18km /h i) Poids : 380 g sans carène , 420 g avec carène j) Autonomie de vol : 12 minutes k) Système de sécurité Coque de protection , Blocage automatique des hé- lices en cas de contact , Interface de contrôle avec bouton d’urgence. l) Structure aéronautique Hélices haute performances (spécialement dési- gnées pour l’AR.Drone) Structure en fibres de carbone m) 4 servomoteurs brushless, (35000 rpm, puissance : 15 W) n) Batterie Lithium (3 cells, 11.1 V, 1000 mAh) Capacité de décharge : 10C Temps de charge de la batterie : 90 minutes o) Altimètre à ultra-sons Fréquence d’émission : 40 kHz Portée : 6 mètres, p) stabilisation verticale Caméra frontale Caméra grand angle 93° 36
  • 51. 3.2 Présentation de l’environnement ROS 3.2 Présentation de l’environnement ROS Robot Operating Systems, est une structure diffusée selon les termes de la licence BSD (Berkeley Software Distribution , systèmes d’exploitation dérivé d’Unix.).[10] C’est un environnement open source destiné au développement de logiciels robo- tiques. ROS a été créée en 2007 par le Laboratoire d’intelligence artificielle de Stanford avec l’appui du projet l’AI Robot Stanford (STAIR). En 2008 le dévelop- pement se poursuit principalement au sein du laboratoire de recherche en robotique Willow Garage créé fin 2006. Figure 3.2.1 – Archtecteur générale Beaucoup d’institution de recherche ont commencé à développer des projets sous ROS en ajoutant des nouveaux robots et partageant leurs codes. De même, les com- pagnies ont commencé à adapter leurs produits à l’environnement ROS. Dans la figure (??), nous identifions quelques plateformes supportées par ROS. Un nombre important de codes à implémenter dans ces plateformes sont publiés afin d’accélé- rer le développement des algorithmes en robotique via le partage libre. 37
  • 52. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) Figure 3.2.2 – Plateformes supportées par ROS Les robots deviennent de plus en plus complexes, et exigent l’intégration d’un nombre important de capteurs et d’actionneurs. D’une manière continue un nombre croissant d’appareils sont supportés par ROS. Ce dernier facilite la mise en œuvre rapide des algorithmes et réduit le temps exigé pour l’intégration de nouveaux matériels. Figure 3.2.3 – Configuration capteur actionneure avec ROS 38
  • 53. 3.3 Architecture matériel du quadrirotor 3.2.1 Une aperçue sur l’environnement ROS Afin de démarrer l’environnement ROS nous utilisons l’instruction suivante $ roscore Cette commande lance deux choses : Le MASTER , Le serveur de paramètres. Le Master : C’est le processus cœur comportant les différents nœuds. Une fois que les nœuds sont en contact, ils se communiquent directement → architecture distribuée Le serveur de paramètres : Il permet de définir et de gérer les paramètres globaux du robot. Ces derniers peuvent être de type entier, flottant, booléen, string ou liste. Le serveur des paramètres est une mémoire partagée dans laquelle chaque nœud peut lire et modifier ces paramètres. 3.2.2 Nœuds, messages, topics Le MASTER démarre un nœud, qui démarre un topic 3.2.2.1 Topics Un topic est un système de transport de l’information many-to-many, il faut préciser quel type de messages transportés (twist , empty ..), En se basant sur le système de l’abonnement / publication (subscribe / publish) , On peut lire un topic en temps réel en utilisant la commande. $ rostopic list $ rostopic echo /topic_name 3.2.2.2 Les nœuds : Un nœud est un sous programme exécutable qui peut être lié à un actionneur ou à un capteur. Un nœud peut publier ou lire des messages d’un topic. La dé- faillance d’un noeud n’implique pas la défaillance de ROS (Notion de micro-kernel sur laquelle est basée ROS). Les nœuds communiquent entre eux de manière évè- nementielle en utilisant les différents topics. 3.3 Architecture matériel du quadrirotor 3.3.1 Communication Nous allons dans un premier temps décrire la relation client-serveur entre le PC et le drone. Dans notre cas le drône joue le rôle d’un serveur en créant un point d’ac- cès. Par conséquent le l’ordinateur qui exécute ROS est considéré comme un client. 39
  • 54. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) Ce dernier se connecte au quadrirotor afin de l’envoyer les consignes. De son part, le drône exécute ces cosignes en réalisant les mouvements de vole désirés. Chacun de drone et de l’ordinateur est mené d’une adresse IP bien déterminée(Internet Protocol). 3.3.2 Réception de données en provenance des capteurs Nous détaillons maintenant comment accéder à la mémoire du drône, pour cela nous nous connectons au drone par le wifi. Il est à noté qu’un seul client peut se connecter à la fois (en effet imaginons un instant le contrôle d’un hélicoptère par 2 pilotes à la fois, ce ne serait pas facile). Par conséquent s’il y a déjà un client connecté les autres connexions entrantes seront rejetées. Une fois qu’un client est accepté par l’appareil ces LEDs deviennent vertes. Si cela ne fonctionne pas, c’est que quelqu’un d’autre s’est connecté auparavant au drone. Dans ce cas si le drône n’est pas en cours d’utilisation, il suffit d’appuyer sur le bouton « reste ». Une fois que cela est fait nous ouvrons un terminal lunix et tapons la commande $ rosrun [package_name] [node_name] doukhi@doukhi-Aspire-5733 :~$ rosrun ardrone_autonomy ardrone_driver Nous sommes en mesure lancer le nœud ardrone_driver qui permet de se connec- ter avec le drone. D’autre part l’affichage du contenu des topics communiquant avec ce nœud est possible en utilisant la commande $ rostopic list Figure 3.3.1 – Les topics Pour accéder à l’un des topics ( exemple : imu) nous tapons l’instruction suivante 40
  • 55. 3.4 Implémentation de l’algorithme de commande doukhi@doukhi-Aspire-5733 :~$ rostopic echo /ardrone/imu Figure 3.3.2 – Les donneés de l’ IMU 3.4 Implémentation de l’algorithme de commande Dans cette partie nous détaillons l’implémentation de l’algorithme de commande PID sur ardrone 2.0 afin d’asservir l’altitude( z ), et l’attitude et la position ( x , y ) [4]. 3.4.1 Commande de l’altitude Le contrôleur pid est programmé en langage c++ afin de stabiliser l’altitude. Ce programme est considéré comme un nœud qui publie ses messages à travers le topic ardrone/cmd_vel. Figure 3.4.1 – Le flux des messages 41
  • 56. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) Résultats expérimentaux : La valeur de consigne d’altitude désirée est 1.5 m. Figure 3.4.2 – L’altitude obtenue expérimentalement En perturbant l’altitude nous obtenons la réponse illustrée à la figure ci-dessous Figure 3.4.3 – Altitude obtenue en présence de perturbation 42
  • 57. 3.4 Implémentation de l’algorithme de commande 3.4.2 Commande de l’angle de Lacet Avec un angle désiré de 90° nous obtenus Figure 3.4.4 – L’angle de lacet En injectant une perturbation sur l’angle de lacet on récupère les données sui- vantes. Figure 3.4.5 – L’angle de lacet sous perturbation 43
  • 58. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) 3.4.3 Commande de la position Avec les consignes suivantes cx = 100sin(t) cy = 100cos(t) cz = 700(1 + t/10) Nous obtenons les résultats illustrés à la figure ci-dessous. Figure 3.4.6 – La position obtenue Evolution de la position en 3D 44
  • 59. 3.5 conclusion Figure 3.4.7 – La position en 3d Interprétation D’après les résultats expérimentaux, nous constatons : 1. D’après la figure (3.4.3), une bonne stabilité en altitude, et cela, vis-à-vis de nos perturbations exercées sur le quadrirotor. 2. D’après la figure (3.4.5), une bonne stabilité au niveau de l’angle de lacet et toujours en présence de perturbations. 3. D’après la figure (3.4.6), un suivi acceptable de la trajectoire désirée avec la présence de certaines erreurs, relativement, négligeables. Dans manière générale, nous pouvons dire que notre commande PID à montrer une robustesse vis-à-vis des perturbations externes et une bonne poursuite de la consigne donnée. 3.5 conclusion Dans ce chapitre, nous avons appliqué une technique de commande linéaire sur un drone quadrirotor parrot ardrone 2.0 en se basant sur les mesures provenant de son IMU. Les résultats expérimentaux obtenus montrent que cette technique donne de bonnes performances en terme de poursuite de trajectoire avec un taux d’erreurs négligeable. Ces résultats permettent de valider expérimentalement les lois de commande proposées dans le chapitre précédent et montre la performance 45
  • 60. Chapitre 3 Implémentation expérimentale du loi de commande sur un banc d’essai (Parrot Ardronne 2.0 ) de ces lois pour la naviguation autonome (sans pilote) du quadrirotor dans un environnement connu au préalable. 46
  • 61. Conclusion et perspectives Dans ce mémoire, nous avons étudié un type particulier des véhicules aériens appelé Quadrirotor. Notre objectif principal a porté sur l’analyse, la modélisation et la navigation autonome permettant le suivie d’une trajectoire désirée ,de ce genre de véhicules. Pendant la réalisation de ce présent travail, nous avons consolidé davantage nos connaissances théoriques et pratiques dans le domaine de la robotique en générale et dans la façon de les commander en particulier. Il nous a mené à faire un état de l’art sur les quadrirotors et bien particulièrement sur leur mode de fonctionnement en termes de navigation autonome et de suivi de trajectoire. Nous avons effectué cette étude dans le but de pouvoir apporter des contributions originales pertinentes à la commande de ces quadrirotors dans ses différents modes de fonctionnement. Les contributions majeures de ce travail consistent en : — La proposition d’un modèle mathématique précis qui serve de base pour la simulation d’un comportement dynamique et effectif du quadrirotor. Notre modèle comporte deux parties, une première qui est pertinente aux équa- tions décrivant les mouvements de translation, et une deuxième qui porte sur les équations qui décrivent les mouvements de rotation. Dans ce modèle proposé, nous avons pris en compte principalement, la vitesse du vent, l’effet aérodynamique et la force de trainée (drag force) qui affecte les hélices de notre quadrirotor. Pour pouvoir simuler notre modèle, nous avons mis en œuvre ces deux parties dans Simulink pour les assemblés à la suite dans un seul modèle complet. — Une fois ce modèle est réalisé, nous avons développé une commande linéaire PID qui permet de stabiliser notre quadrirotor en position, en altitude et en attitude. — Afin de valider nos modèle et commande, nous avons réalisé dans une pre- mière tentative une simulation en utilisant Matlab. Dans cette simulation, nous avons conduit quelques manœuvres de vol pertinentes à la conduite autonome du quadrirotor. Durant la simulation, nous avons soumis ce der- nier à des diverses perturbations, et cela, suivant les trois axes (X, Y, Z). 47
  • 62. Conclusion et perspectives Le quadrirotor a montré une capacité de poursuite intéressante avec de très bonnes performances. — Dans une deuxième tentative, nous avons conduit des tests expérimentaux réels en utilisant la plateforme expérimentale parrot ar-drone 2.0 et l’envi- ronnement de développement ROS. Ce dernier nous a permis de programmer notre commande PID proposée auparavant, et cela, en utilisant C++. Les résultats obtenus ont montré l’efficacité de cette commande dans des condi- tions expérimentales différentes. Les objectifs soulignés au début de ce travail ont été atteints en surmontant les obstacles que nous avons rencontrés durant le temps restreint fixé pour finaliser ce travail ainsi que la nature multidisciplinaire du sujet étudié. Afin d’apporter plus de valeur à ce présent travail, ce dernier peut être conduit à long terme et comme perspectives suivant différentes dimensions dont voici les plus importantes : — Faire intervenir d’autres stratégies de commande plus sophistiquées comme la commande robuste et la commande non linéaire avec une étude comparative sur leur implication induite sur le fonctionnement du quadrirotor. — Étudier les effets de la commande tolérante aux défauts sur le comportement dynamique du quadrirotor. — Étendre notre proposition en introduisant la navigation simultanée et colla- borative de d’autres quadrirotors. — Dans notre travail et afin de faire naviguer notre quadrirotor, nous nous sommes juste limités par l’utilisation du l’IMU. Dans ce sens, il est très intéressant d’améliorer davantage notre proposition pour intégrer la vison artificielle (slam/ visuel odometry/3d reconstraction) dans ce processus de navigation. Cette technique offre une fois intégrée, plus d’autonomie dans la navigation de notre quadrirotor. 48
  • 64.
  • 65. Annexe A modélisation Figure A.1 – modéle simulink 51
  • 66. Annexe A modélisation Algorithme A.1 fonction pour calculer la vitesse des moteures Algorithme A.2 Calcule de la commande 52
  • 67. Algorithme A.3 Sous systéme de rotation Algorithme A.4 sous systéme de translation Figure A.2 – Fux cameras et IMU 53
  • 68. Annexe A modélisation Figure A.3 – Le simulateur gazebo Figure A.4 – Le banc d’éssai 54
  • 69. Figure A.5 – Calculateur parrot ardrone Figure A.6 – Motorisation (BLDC) 55
  • 70.
  • 71. Bibliographie [1] http ://www.popsci.com [2] Corrado Santoro<<How does a Quadrotor fly ? A journey from physics, mathematics, control systems and computer science towards a “Controllable Flying Object>>ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit ‘a di Catania, Italy - Jan 10, 2014 [3] Mr. KHEBBACHE Hicham <<Tolérance aux défauts via la méthode backstepping des systèmes non linéaires Application : Système UAV de type Quadrirotor>>Mémoire de Magister UNIVERSITE FERHAT ABBAS DE SETIF Département d’Electrotechnique Faculté de Technologie - 06 / 06 / 2012 [4] D. Cremers, J. Sturm, J. Engel, C. Kerl <<Visual Navigation for Flying Robots>> lecture Computer Vision Group Department of Informatics Technical University of Munich Summer Term 2013 [5] Leghmizi Said and Boumediene Latifa <<Modeling and Control of Mechanical Systems in Simulink of Matlab>> College of Automation, Harbin Engineering University China 09, September, 2011 [6] Heba talla Mohamed Nabil ElKholy<<Dynamic Modeling and Control of a Quadrotor Using Linear and Nonlinear Approaches>>In par- tial fulfillment of the requirements for The degree of Master of Science in Robotics, Control and Smart Systems The American University IN CAIRO School of Sciences and Engineering [7] Ehouarn Perret - Levent Demir<<Projet AR.Drone>> Poly- tech Grenoble Gipsa - lab [8] Garcia Carrillo,L.R,Dzul Lopez, AE.Lozano, R. ;Hardcover<<Quad Rotorcraft Control>> springer 2013 [9] BELLAHCENE ZAKARIA<<Synthèse de lois de commande robuste pour un hélicoptère à quatre hélices>> Thèse Présentée pour l’obtention du DI- PLOME DE MAGISTER EN AUTOMATIQUE Université des Sciences et de 57
  • 72. BIBLIOGRAPHIE la Technologie d’Oran Mohamed Boudiaf Faculté de Génie Electrique Dépar- tement d’Automatique 6/3/2013 [10] Jason M. O’Kane<<A Gentle Introduction to ROS>> University of South Carolina Department of Computer Science and Engineering 315Main Street Columbia, SC 29208generated on November 20, 2014. [11] Inkyu, Hu and Van <<Technical documentation for AR.Drone project>>Cyphy Lab. Queensland University of Technology January 14, 2013 [12] Matt Mahoney<<How to Program in C++ >> [13] https ://raw.githubusercontent.com/AutonomyLab/ardrone_autonomy [14] www.ros.org [15] Marilena Vendittelli <<quadrotor modeling>>University de Roma SA- PIENZA [16] Isabelle FANTONI-COICHOT<<Vers l’autonomie des v’ehi- cules aeriens>> MEMOIRE presente et soutenu publiquement le 10 decembre 2007 pour l’obtention de l’ Habilitation µa Diri- ger des Recherches Ecole doctorale de l’Universit’e de Tech- nologie de Compiµegne le 10 decembre 2007 58