Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 55

MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR

ET DE LA RECHERCHE SCIENTIFIQUE

DIRECTION GÉNÉRALE DES ÉTUDES TECHNOLOGIQUES


INSTITUT SUPÉRIEUR DES ÉTUDES TECHNOLOGIQUES DE SOUSSE

Département Technologies de l’Informatique

RAPPORT DE STAGE DE FIN D’ETUDES


POUR L’OBTENTION DE LA
LICENCE APPLIQUÉE EN TECHNOLOGIES DE
L’INFORMATIQUE

Parcours : SYSTEME EMBARQUE ET MOBILE


Intitulé

Drone quadricoptère
destinée à l'imagerie et la vidéo aérienne
Élaboré par

Achref Helal Houssem Rouini Rania Djomai

Encadré par
Mr. Karim Ben Romdhane

Année Universitaire 2013 – 2014


Remerciements

Je tiens à exprimer toute ma reconnaissance à mon Encadrant Monsieur Karim Ben


Romdhane. Je la remercie de m’avoir encadré, orienté, aidé et conseillé.

J’adresse mes sincères remerciements à tous les professeurs, intervenants et toutes


les personnes qui par leurs paroles, leurs écrits, leurs conseils et leurs critiques ont guidé
mes réflexions et ont accepté à me rencontrer et répondre à mes questions durant mes
recherches.

Je remercie mes très chers parents, … et …, qui ont toujours été là pour moi, « Vous
avez tout sacrifié pour vos enfants n’épargnant ni santé ni efforts. Vous m’avez donné un
magnifique modèle de labeur et de persévérance. Je suis redevable d’une éducation dont je
suis fier ».

Je remercie mes frères … et …, et ma sœur … pour leur encouragement.

Je tiens à remercier … et …, pour leur amitié, leur soutien inconditionnel et leur


encouragement.

Enfin, je remercie tous mes Ami(e)s que j’aime tant, …, …, … pour leur sincère amitié
et confiance, et à qui je dois ma reconnaissance et mon attachement.

À tous ces intervenants, je présente mes remerciements, mon respect et ma


gratitude.
Sommaire

INTRODUCTION GÉNÉRALE ...................................................................................................... 1

CHAPITRE 1 : ETUDE THÉORIQUE .......................................................................................... 3

I. INTRODUCTION ............................................................................................................................ 3
II. AVIATION..................................................................................................................................... 3
1. Qu’est-ce qu’un quadricoptère .............................................................................................. 3
2. L’utilisation des quadricoptères ............................................................................................. 4
3. Type de vol .............................................................................................................................. 5
4. Le principe de vol d’un quadricoptère ................................................................................... 6
III. SYSTÈMES EMBARQUÉS ........................................................................................................... 9
1. Smartphone ............................................................................................................................. 9
2. La carte Arduino Uno ............................................................................................................. 9
3. La carte Raspberry Pi ........................................................................................................... 10
4. Gyroscope ............................................................................................................................. 10
IV. COMMUNICATION .................................................................................................................. 11
1. Bilan de liaison ..................................................................................................................... 11
III. CONCLUSION ................................................................................................................................. 13

CHAPITRE 2 : CONCEPTION ..................................................................................................... 14

I. INTRODUCTION .......................................................................................................................... 14
II. LE LANGAGE UML..................................................................................................................... 14
III. PRÉSENTATION DU SYSTÈME GLOBAL : ................................................................................. 14
IV. DIAGRAMMES DE CAS D’UTILISATION .................................................................................... 15
1. Diagramme de cas d’utilisation du Système-Drone .............................................................. 15
2. Diagramme de cas d’utilisation « Système application mobile ».......................................... 19
V. DIAGRAMMES DE SÉQUENCES .................................................................................................... 20
1. Diagramme de séquence « Décollage » :.............................................................................. 21
2. Diagramme de séquence « gestion de vol »: ......................................................................... 22
VI. LES DIAGRAMMES D’ÉTAT TRANSITION « DRONE » : ............................................................ 23
VII. LE DIAGRAMME D’ACTIVITÉ « GESTION DU FLUX VIDÉO ».................................................... 24
VIII. CONCLUSION : ....................................................................................................................... 24

CHAPITRE 3 : RÉALISATION .................................................................................................... 25

I. INTRODUCTION .......................................................................................................................... 25
II. ENVIRONNEMENT DE DÉVELOPPEMENT ...................................................................................... 25
1) Programmation de la carte Arduino ..................................................................................... 25
2) Développement de l’application mobile Android .................................................................. 26
3) Communication entre le système « application mobile » et le système « drone » ............... 26
4) Connexion sur la carte raspberry .......................................................................................... 27
III. L SYSTÈME « DRONE » ........................................................................................................... 28
1. Architecture globale du système ........................................................................................... 28
2. Bilan technique et financier .................................................................................................. 31
3. Schéma d’alimentation ......................................................................................................... 35
I. LE SYSTÈME « APPLICATION MOBILE »....................................................................................... 36
1. Interface de connexion .......................................................................................................... 36
2. Interface de paramétrage ..................................................................................................... 36
3. Interface de visualisation ...................................................................................................... 37
4. Interface de commande ........................................................................................................ 37

CONCLUSION GÉNÉRALE .................................................................................................................. 42


Sommaire

BIBLIOGRAPHIE ................................................................................................................................ 43

NETOGRAPHIE.................................................................................................................................. 44

ANNEXE 1 : CONFIGURATION DE LA CARTE ARDUINO UNO ............................................................. 45

ANNEXE 2 : CODE ARDUINO .................................................................. ERREUR ! SIGNET NON DÉFINI.

ANNEXE 3 : CONFIGURATION DE LA CARTE RASPBERRY PI .................... ERREUR ! SIGNET NON DÉFINI.

ANNEXE 4 : MESURE DU NIVEAU DE BATTERIE...................................... ERREUR ! SIGNET NON DÉFINI.


Liste des figures

Figure 1:Quadricoptère .................................................................................................. 3


Figure 2 Des drones sauveteurs à votre secours ............................................................ 4
Figure 3: drone pour l’espionnage de criminels ............................................................ 5
Figure 4 Angles Roulis, tangage, Lacet ......................................................................... 6
Figure 5 Angles Quadricoptère ...................................................................................... 7
Figure 6: configuration typique d'un quadricoptère vu du dessus ................................. 7
Figure 7: Schéma fonctionnel de la carte Raspberry Pi ............................................... 10
Figure 8: gyroscope...................................................................................................... 11
Figure 9: Schéma de principe d’une liaison hertzienne ............................................... 12
Figure 10 : Système global .......................................................................................... 14
Figure 11: Répartition des systèmes ............................................................................ 15
Figure 12:Diagramme de cas d'utilisation du Système Drone ..................................... 16
Figure 13:Diagramme de cas d'utilisation du système « Application mobile »........... 19
Figure 14:Diagramme de séquence "Décollage" ......................................................... 21
Figure 15:Diagramme de séquence " Gestion du vol" ................................................. 22
Figure 16 : Diagramme d’état transition « Drone » ..................................................... 23
Figure 17: Diagramme d’Activité « gestion du flux vidéo » ....................................... 24
Figure 18: COMPOSANTS DU FRAME ST360................................................................... 28
Figure 19: FRAME ST360 MONTE ........................................................................... 28
Figure 20 SCHEMA ALIMENTATION GLOBAL .................................................... 28
Figure 21: ALMENTATION CARTES....................................................................... 28
Figure 22: PREMIER MONTAGE .............................................................................. 28
Figure 23: DEUXIEME MONTAGE .......................................................................... 28
Figure 24: TROISIEME MONTAGE .......................................................................... 29
Figure 25: MONTAGE FINAL ................................................................................... 29
Figure 26: VISUALISATION FLUX VIDEO ............................................................ 29
Figure 27: Connexion de la carte Raspberry Pi et Arduino Uno ................................. 30
Figure 28: Schéma d'alimentation des moteurs ........................................................... 35
Figure 29: Schéma d'alimentation des cartes électroniques ......................................... 35
Figure 30: Interface de connexion ............................................................................... 36
Figure 31: Interface de paramétrage ............................................................................ 37
Figure 32: Interface de visualisation ............................................................................ 37
Figure 33: Interface d'authentification ......................................................................... 38
Figure 34:Interface de commande ............................................................................... 38
Liste des tableaux

Tableau 1: Description du cas d'utilisation "Gestion flux vidéo" ................................ 16


Tableau 2: Description du cas d'utilisation "Gestion de communication" ................... 17
Tableau 3: Description du cas d'utilisation "Stabilisation Drone" ............................... 17
Tableau 4: Description du cas d'utilisation " Gestion de vol" ..................................... 18
Tableau 5: Description du cas d'utilisation "Gestion autonomie énergétique" ............ 18
Tableau 6: Description du cas d'utilisation"Gestion de vol" ....................................... 19
Tableau 7: Description du cas d'utilisation "Gestion Flux Vidéo" .............................. 20
Introduction générale

Introduction Générale

Un drone est un petit avion télécommandé [ 1]. Il emporte souvent une charge utile
destinée à des missions (Ex : de surveillance, de renseignement, d'exploration, de combat, de
transport, etc.).

Les quadricoptères présentent un modèle bien spécifique des drones puisqu’ils sont
équipés de 4 rotors pour assurer le vol.

Les drones sont en général utilisés au profit des forces armées ou de sécurité (police,
douane, etc.) d'un État, mais peuvent avoir aussi des applications civiles.

Une des applications civiles intéressante des quadricoptères est la capture des images
et des vidéos aériennes à basse altitude.

Ces images et vidéos capturées peuvent présenter un moyen très intéressant


d'exploration de l’environnement extérieur.

Une des dernières applications civiles de ses systèmes se manifeste dans le nouveau
modèle de voitures Renault2, annoncé en Inde en février 2014, supportant le concept car-
porte-drone, qui intègre un support pour un drone quadricoptère, ainsi qu'un poste de
commande dudit drone, lequel pourra être lancé depuis le véhicule.

L’objectif principal de ce quadricoptère est la reconnaissance des embouteillages, la


prise de vue du paysage ou la détection des obstacles en amont de la route suite à la prise de
vues.

En s’inspirant de ces innovations technologiques, nous nous sommes décidés


d’apprendre comment ses systèmes fonctionnent et développer notre propre solution.

Dans ce modeste travail, nous avons tracés comme objectif l’étude et la réalisation
d’un drone quadricoptère qui assure la mission de prise de vues aériennes, dans un
environnement dégagé et limité à 150 mètres, en utilisant la norme Wifi 802.11b3 pour assurer
la communication.

1
http://www.larousse.fr/dictionnaires/francais/drone/26865
2
http://www.renault.com/fr/innovation/l-univers-du-design/pages/kwid-concept-car.aspx
3
La norme Wifi 802.11b est la norme la plus répandue actuellement. Elle propose un débit théorique
de 11Mbps, 6Mbps réels, avec une portée pouvant aller jusqu'à 300 mètres dans un environnement
dégagé. La plage de fréquence utilisée est la bande des 2.4 GHz, avec 3 canaux radio disponibles.

1
Introduction générale

La partie commande du drone sera assurée via une application mobile déployée sur un
téléphone mobile équipé du système d’exploitation Android la version 4.0 au minimum.

Ce rapport est subdivisé en trois chapitres. Dans le premier chapitre, on va faire


l'étude théorique concernant les drones quadricoptères et leurs utilisations, ainsi que les
notions théoriques en relation avec l’aviation.

Ensuite, nous allons réserver le chapitre conception pour décrire en détail le


fonctionnement de nos systèmes.

Puis, dans le troisième chapitre, nous allons essayer de présenter les logiciels et
matériels utilisés lors de la réalisation de notre projet.

Enfin, nous terminons le rapport par une conclusion générale de notre travail.

2
Etude théorique

Chapitre 1 : Etude Théorique

I. Introduction

L’étude théorique est la première étape de notre projet. Elle consiste à effectuer une
étude approchée sur notre quadricoptère.

Au départ, Nous allons étudier c’est quoi un quadricoptère et par la suite présenter
les différentes utilisations des quadricoptères.

Ensuite, nous allons détailler les types de vol et les principes qui se cachent derrière.

Après, une étude sur les systèmes embarqués sera réalisée afin d’explorer les cartes
Arduino Uno, Raspberry Pi et le gyroscope.

Finalement, nous allons expliquer les principes de communication par l’étude du


bilan de liaison.

II. Aviation

1. Qu’est-ce qu’un quadricoptère

Figure 1:Quadricoptère

3
Etude théorique

Un quadricoptère est généralement défini comme un avion de petite taille, sans pilote à
bord et commandé à distance.

Cependant la présence d’un pilote qualifié est nécessaire notamment pour les
phases délicates du vol : le décollage ou l’atterrissage.

Ces quadricoptères ont autant de succès depuis quelques temps, puisque c'est une
technologie innovante qui permet d’obtenir des clichés et des vidéos. Le concept consiste à
placer sur un quadricoptère du matériel de prise de vue (caméra par exemple).

2. L’utilisation des quadricoptères


Initialement, les quadricoptères sont prévu pour un usage militaire, dans le but de
réaliser des missions de renseignements, de surveillance, de transport ou de combat, mais
ces outils ont étaient adaptés à d'autre utilisation par exemple la protection civile qui peut
utiliser les quadricoptères pour sauver une personne de la noyade en lui envoyant des
bouées de sauvetage via ces drones.

Figure 2 Des drones sauveteurs à votre secours4


Aussi, le Ministère de l'Intérieur peut utiliser ce quadricoptère pour surveiller le
déroulement d’une manifestation, un évènement sportif ou l’espionnage de criminels5.

4
http://www.fpv-passion.fr/des-drones-sauveteurs-a-votre-secours/
5
http://frenchdrone.fr/la-police-australienne-utilise-des-drones-pour-espionner-des-criminels/

4
Etude théorique

Figure 3: drone pour l’espionnage de criminels

3. Type de vol
Il existe trois types de vol qui sont : le vol de type nerveux (vitesse), stable et
polyvalent.

1) Vol Nerveux (ACCRO ou Vitesse)

Pour ce type de vol, il faut un moteur capable d’atteindre au moins 12 000 tours par
minute, et pour atteindre cette vitesse on aura besoin d’un moteur d’au minimum 1100KV6.
Concernant le choix des hélices, on aura besoin que le Quadri soit facile à bouger, qu’il n’y
ait pas trop de portance, il faut donc retenir des petites hélices (8″) avec un pas « standard »
de « 5».
2) Vol Stable (PRISE DE VUES)

L’objectif est d’avoir une configuration stable, on embarque du matériel (donc la


traction est importante pour soulever le quadri) et l’on a vu qu’il ne faut pas trop de RPM.
Choix des hélices: on a besoin d’avoir de la portance car il y a du poids à faire voler
et il faut que le quadricoptère soit assez stable, donc on va retenir une grande hélice
(10″ ou 11″) avec un petit pas (4 ou 4,5).
Choix des moteurs : on a moins besoin de puissance donc un moteur de 750 KV est
suffisant.
3) Vol Polyvalent

Ce type est une combinaison entre le vol nerveux et le vol stable, donc le choix des
hélices et des moteurs sera une moyenne entre les deux types.

6
Le coefficient de vitesse (Kv) d'un moteur brushless s'exprime en tours/minute/V (rpm/V)

5
Etude théorique

4. Le principe de vol d’un quadricoptère


Le pilotage d’un quadricoptère consiste à maintenir l'avion sur sa trajectoire, ou bien
commander et contrôler une variation de trajectoire, dans le plan vertical ou dans le plan
horizontal.

L'avion est soumis à des forces, dues aux mouvements de l'atmosphère qui
l'entoure, qui peuvent être de faible perturbation où le pilote laisse l'avion (normalement
stable) « moyenner » sa trajectoire, ou bien de forte perturbation et dans ce cas l'équilibre
initial est modifié, d’où le pilote agit sur les gouvernes pour que l'avion revienne à sa
position initiale.

A. Action sur les gouvernes en vol7


Un avion peut être représenté en géométrie de l’espace en trois plans formé par :

 l'axe x : axe longitudinal ou axe de roulis (Inclinaison : Gauche-


droite).
 l'axe y : axe transversal ou axe de tangage (Profondeur : Avant-
Arrière).
 l'axe z : axe de lacet (changement de direction).

Figure 4 Angles Roulis, tangage, Lacet

7
http://fr.wikipedia.org/wiki/Pilotage_d'un_avion

6
Etude théorique

B. Comment se déplace un quadricoptère 8

Figure 5 Angles Quadricoptère9


Pour voler et manœuvrer, un quadricoptère utilise la poussée générée par 4 hélices.
Celles-ci ne tournent pas toutes dans le même sens: une moitié tourne dans le sens horaire et
l'autre tourne dans le sens anti-horaire. Cette configuration a pour objectif d'annuler la contre
rotation générée par le couple des hélices.

Les hélices génèrent une poussée qui est proportionnelle avec leur vitesse de rotation.
Le schémas ci dessous illustre une configuration typique d'un quadricoptère vu du dessus.

Figure 6: configuration typique d'un quadricoptère vu du dessus

8
http://quadricoptere.blogspot.com/2013/08/les-bases.html
9
http://laverre.com/WordPress3/tag/free-flight-ff

7
Etude théorique

Pour avancer, le quadricoptère doit diminuer la vitesse de rotation des hélices 1 et 3 et


augmenter celle des hélices 2 et 4. Ceci aura pour conséquence de donner une inclinaison vers
l'avant de l'appareil.

Si on désire déplacer le quadricoptère sur la droite, on augmente la vitesse des hélices


2 et 3 en diminuant la vitesse des hélices 1 et 4.

Pour faire pivoter sur l'axe du lacet, il faut augmenter la vitesse de rotation des hélices
qui tournent dans le sens inverse du sens désiré et diminuer celle des hélices qui tournent dans
le même sens.

Commande de puissance Commande de roulis

commande de lacet. commande de tangage.

8
Etude théorique

III. Systèmes Embarqués

1. Smartphone10
Un Smartphone ou téléphone intelligent, est un téléphone mobile évolué
disposant des fonctions d'un assistant numérique personnel, d'un appareil photo
numérique et d'un ordinateur portable. La saisie des données se fait le plus souvent
par le biais d'un écran tactile ou d'un clavier.
Selon le principe d'un ordinateur, il peut exécuter divers logiciels/applications
grâce à un système d'exploitation spécialement conçu pour mobiles, et donc en
particulier fournir des fonctionnalités en plus
de celles des téléphones mobiles classiques
comme : l'agenda, la télévision, le
calendrier, la navigation sur le Web, la
consultation et l'envoi de courrier
électronique, la géolocalisation,
le dictaphone/magnétophone, la calculatrice,
la boussole, l'accéléromètre, le gyroscope,
la messagerie vocale visuelle, la
cartographie numérique etc..

2. La carte Arduino Uno


Arduino Uno est un circuit imprimé en matériel libre sur lequel se trouve un
microcontrôleur qui peut être programmé pour analyser et produire des signaux
électriques.

Notant que la carte elle-même est publier en licence libre mais dans certain
composant comme microcontrôleur par exemple ne sont pas en licence libre.

Arduino Uno permet d’effectuer des tâches diverses comme :

 la domotique (le contrôle des appareils domestiques - éclairage,


chauffage…)
 le pilotage d'un robot.

10
http://fr.wikipedia.org/wiki/Smartphone

9
Etude théorique

Cette carte se programme avec le logiciel Arduino-IDE. Ce dernier est téléchargeable


gratuitement. Le langage de programmation utilisé est très proche du langage C.

3. La carte Raspberry Pi
La carte Raspberry Pi est un ordinateur de taille réduite avec un processeur
ARM. Cet ordinateur permet l’exécution de plusieurs variantes du système
d’exploitation libre GNU/linux et des logiciels compatibles.
Il est fourni nu (carte mère seule, ni alimentation, ni clavier, ni souris, ni
écran) dont l’objectif est de minimiser les coûts avec l’intention de commercialiser
un ordinateur à faible coût.
L’objectif de cet ordinateur est d’améliorer l’accès à l’informatique et à la
programmation au plus grand nombre.

Figure 7: Schéma fonctionnel de la carte Raspberry Pi

Ce mini PC peut être utilisé de manière conventionnelle pour effectuer des


tâches telles que la rédaction sur un logiciel traitement de texte, la lecture des vidéos
et surtout le développement des programmes informatiques.

La Raspberry peut se programmer avec de nombreux langages. Parmi les


langages, nous pouvons relever Python bien adapté à la découverte de la
programmation. Aussi, Scratch qui est un environnement graphique et le langage C.

4. Gyroscope
Un gyroscope (du grec « qui observe la rotation ») est un appareil qui exploite le
principe de la conservation du moment angulaire en physique (ou encore stabilité
gyroscopique ou effet gyroscopique).

10
Etude théorique

Cette loi fondamentale de la mécanique veut qu'en l'absence de couple appliqué à


un solide en rotation, celui-ci conserve son axe de rotation invariable.
Dans les capteurs : un gyroscope est un capteur de position angulaire,
un gyromètre et un capteur de vitesse angulaire.
Le gyroscope donne la position angulaire (selon un, deux ou les trois axes) de son
référentiel par rapport à un référentiel inertiel (ou galiléen)11.

Figure 8: gyroscope

IV. Communication
La transmission de données sans fils, en utilisant la technologie Wifi, nécessite
un calcul bien déterminé afin de d’évaluer correctement l’aptitude des systèmes
connectés à échanger des données de manière fiable et sans coupure de connexion et
ceci dans la zone de couverture que nous devons connaître davantage.

1. Bilan de liaison12
Avant d’installer un système de radiocommunication ou une liaison
hertzienne, il est nécessaire d’effectuer le calcul du bilan de liaison. En effet, ce calcul
permet de déterminer si le niveau de puissance reçue par le récepteur sera suffisant
pour que la liaison fonctionne correctement.

11
http://fr.wikipedia.org/wiki/Gyroscope
12
http://www.louisreynier.com/fichiers/BILAN%20DE%20LIAISON%20HERTZIENNE.pdf

11
Etude théorique

1) Schéma de principe d’une liaison hertzienne

Le schéma de principe d’une liaison hertzienne est dans le cas général le suivant :

Figure 9: Schéma de principe d’une liaison hertzienne


Emetteur : Il est caractérisé par sa puissance émise PE. Ici PE sera exprimée en dBm
ou dBW. Ordre de grandeur : de quelques mW (0dBm) à plusieurs kW (> 30dBW).
Liaison émetteur- antenne émission : elle est généralement réalisée en câble coaxial.
A plus haute fréquence (> quelques GHz), elle peut être réalisé en guide d’onde. Elle
est caractérisée par son atténuation LE, exprimée en dB.
Dans les petits systèmes, où tout est intégré (WiFi, téléphone mobile, etc..) cette
liaison n’existe pas (LE = 0dB) .
Antenne émission : Elle est caractérisée par son Gain d’antenne GE, exprimé en dBi.
Distance d : c’est la distance entre l’émetteur et le récepteur. On peut montrer (à
partir du calcul de la sphère de l’antenne isotrope et de la définition du gain
d’antenne), que la distance entre l’émetteur et le récepteur, introduit une atténuation
AEL (pour atténuation en espace libre) égale à :
. .
AEL = 20.log ( λ
)

Cette grandeur est exprimée en dB.


Liaison antenne réception- récepteur : comme la liaison émetteur-antenne émission,
la liaison antenne réception-récepteur est caractérisée par l’atténuation LR, exprimée
en dB.
Antenne réception : Elle est caractérisée par son gain d’antenne GR, exprimé en dBi.

12
Etude théorique

Récepteur : Le paramètre qui nous intéresse ici est PR, puissance reçue par le
récepteur. Elle est généralement exprimée en dBm.
2) Expression de la puissance reçue

Pour déterminer PR, la puissance reçue par le récepteur, il suffit en partant de PE de


retrancher toutes les sources d’atténuation du signal et d’ajouter les gains d’antenne.
On obtient ainsi :
PR=PE−LE+GE−AEL+GR−LR
Remarques:
- le terme PE – LE + GE correspond à la PIRE, au niveau de l’antenne d’émission.
- LE et LR sont nuls si l’émetteur et le récepteur sont reliés directement à leurs
antennes.
3. Sensibilité d’un récepteur
Nous nous contenterons ici d’en donner une définition et une signification pratique.
Définition : La sensibilité d'un récepteur est l'amplitude du signal qu'il faut appliquer
à son entrée pour obtenir à la sortie du démodulateur un rapport signal/bruit
déterminé (transmission analogique) ou un taux d’erreur donné en transmission
numérique (10-3 ou 10-6).
Signification : C’est la puissance minimale en dessous de laquelle la qualité de la
liaison est dégradée : craquements importants (« friture ») pour une liaison audio,
image dégradée en transmission vidéo (« neige »), taux d’erreur important en
transmission numérique (« pixellisation » ou « figeage » de l’image en TV vidéo
numérique).
4. Condition de bon fonctionnement d’une liaison hertzienne
Pour qu’une liaison hertzienne fonctionne correctement, il faut que la puissance reçue
soit supérieure à la sensibilité du récepteur. De plus, on prendra généralement une
marge (on essayera d’avoir des dB en plus) pour tenir compte des atténuations
supplémentaires qui peuvent être dues à des réflexions multiples ou à la météo (pluie,
neige, brouillard, etc..)

III. Conclusion
Dans ce chapitre nous avons présenté notre quadricoptère, ses utilisations et les
principaux notions théoriques qu’il faut maîtriser afin d’entamer la phase de conception.

13
Conception

Chapitre 2 : Conception

I. Introduction
On s'intéressera dans ce chapitre à la présentation de la conception des différentes
parties menant à la réalisation de notre projet.
Le premier système va gérer l’interface mobile qui va assurer la commande du
quadricoptère.
Le deuxième système doit assurer le bon fonctionnement du drone et de son vol.
Bien sûr sans oublier la communication entre les deux systèmes.

Figure 10 : Système global

Nous allons utiliser le langage de modélisation UML dans la partie conception.

II. Le langage UML


Le langage UML « Unified Modeling Langage » ou langage de modélisation
unifié est une notation permettant de modéliser un problème de façon standard.

Ce langage est utilisé en développement logiciel et en conception orientée objet. Il


est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais
la référence en termes de modélisation objet.

III. Présentation du Système global :


Ce projet est composé de deux parties qui sont : le système qui gère le
quadricoptère et le deuxième système va gérer la partie commande qui sera déployée
sous forme d’une application mobile sur un téléphone mobile équipé du système
d’exploitation Android.

14
Conception

Système-Drone Système-Application
mobile

Figure 11: Répartition des systèmes

IV. Diagrammes de cas d’utilisation


L’objectif fondamental de cette étape est d’identifier les principaux cas
d’utilisation. Nous nous intéressons donc, dans ce chapitre à la réalisation des
diagrammes de cas d’utilisations.
Ces diagrammes décrivent précisément les besoins d’utilisateur et spécifient le
comportement attendu par le système à développer.

1. Diagramme de cas d’utilisation du Système-Drone

a. Présentation des acteurs


Avant d’étudier les cas d’utilisation nous commencerons par la recherche des
acteurs qui régissent notre champ d’étude.
Dans notre système Drone, nous avons défini un acteur principal qui est la carte
Raspberry Pi qui va déclencher les différents cas d’utilisation.
Et nous noterons la présence de plusieurs acteurs secondaires, les principaux
parmi eux sont : la carte Arduino Uno, le Gyroscope.

b. Diagramme de cas d’utilisation


L’étude des cas d’utilisation a pour objectif de déterminer ce que chaque acteur
attend du système.
La détermination des besoins est basée sur la représentation de l’interaction entre
l’acteur et le système.

15
Conception

c. Présentation graphique
Ci-dessous le diagramme de cas d’utilisation général du Système Drone :
Système-Drone

Gestion du flux vidéo


Camera

Emetteur/Récepteur WI-FI
Gestion de communication

Gyroscope
Stabilisation Drone KKmulticopter5.5
Raspberry Pi

<<include>>
Moteur Brushless

Gestion du vol
Contrôlleur (ESC)

Gestion autonomie
énergetique

Arduino Uno

Batterie

Figure 12:Diagramme de cas d'utilisation du Système Drone


Titre Gestion flux vidéo
Acteur principal Carte Raspberry Pi
Acteur secondaire Caméra
But Permet de capturer un flux vidéo grâce à la caméra
Résumé la carte Raspberry Pi capture un flux vidéo.
Pré condition La carte Raspberry en état inactif (non alimentée).
Post condition La caméra lance le flux vidéo
Tableau 1: Description du cas d'utilisation "Gestion flux vidéo"

16
Conception

Titre Gestion de communication


Acteur principal Carte Raspberry Pi
Acteur Secondaire Emetteur /Récepteur Wifi
Permet de gérer la communication (l'émission et la
But réception des commandes) via l’acteur secondaire
Emetteur/Récepteur Wifi.
Ce cas d’utilisation commence lorsqu’on reçoit des
demandes de systèmes externes pour établir une
Résumé communication avec la drone, le vis-à-vis du carte
raspberry avec le monde extérieur est l’acteur secondaire
Emetteur /Récepteur Wifi
Pré condition La carte Raspberry Pi est prête à gérer la communication
(recevoir ou envoyer des données)
Post condition La carte Raspberry Pi gère la communication
Tableau 2: Description du cas d'utilisation "Gestion de communication"

Titre Stabilisation Drone


Acteur principal Carte Raspberry Pi
Acteur secondaire Gyroscope(kkmulticopter 5.5)
But Assurer la stabilisation du drone
Résumé Ce cas d’utilisation commence lorsque la carte Raspberry Pi
demande de faire la stabilisation du drone en vol grâce à un acteur
secondaire qui est le gyroscope
Pré condition Le drone n'est pas stable
Post condition Le drone est stable grâce au gyroscope
Tableau 3: Description du cas d'utilisation "Stabilisation Drone"

17
Conception

Titre Gestion de vol


Acteur principal La Carte Raspberry Pi
Acteurs secondaires Moteur Brushless, carte Arduino Uno, Contrôleur (ESC)
But La carte Raspberry Pi permet de faire la gestion de vol du drone
grâce aux acteurs secondaires.
Résumé Ce cas d’utilisation se déclenche lorsque la carte Raspberry
demande d’entamer le vol du drone et sa stabilisation.
Pré condition Le drone est prêt à recevoir des commande de changement de
direction ou de vitesse.
Post condition La gestion de vol du drone se fait avec succès
Tableau 4: Description du cas d'utilisation " Gestion de vol"

Titre Gestion autonomie énergétique


Acteur principal La Carte Raspberry Pi
Acteurs secondaires La carte Arduino Uno et la batterie
But Permet de détecter l’autonomie énergétique de la batterie grâce à
la carte Arduino Uno et quelques résistances afin d’estimer la
capacité du drone à continuer son vol.
Résumé Ce cas d'utilisation commence lorsque la carte Raspberry Pi
demande de connaitre l'autonomie énergétique de la batterie.
Pré condition La carte Raspberry Pi ne connaitre pas l'autonomie énergétique de
la batterie.
Post condition La gestion de l'autonomie énergétique se fait avec succès
Tableau 5: Description du cas d'utilisation "Gestion autonomie énergétique"

18
Conception

2. Diagramme de cas d’utilisation « Système application mobile »


Système- Application Mobile

Changement de direction

Décollage

Variation de vitesse
<<extend>>

<<extend>> <<extend>>

Gestion de vol

<<extend>>

<<include>>
Atterissage

Gestion de la communication

Administrateur

Antenne Interne ou
<<include>>
Externe

Gestion Flux Vidéo

Utilisateur

Figure 13:Diagramme de cas d'utilisation du système « Application mobile »

Titre Gestion de vol


Acteur Principal Administrateur
But Faire la gestion de vol
Résumé Ce cas d’utilisation est déclenché par l’administrateur qui essaye
de commander le vol du drone
Pré condition -la communication avec une antenne interne ou externe
- l’utilisateur choisi de faire la gestion de vol
Post condition Après que l'utilisateur choisi de faire la gestion de vol,
l'utilisateur peut alors faire le décollage ou le changement de
direction ou le changement de vitesse ou l'atterrissage
Tableau 6: Description du cas d'utilisation"Gestion de vol"

19
Conception

Titre Gestion Flux Vidéo


Acteur Utilisateur et Administrateur
But Capturer le flux vidéo
Résumé Ce cas d’utilisation commence lorsque l’utilisateur souhaite de faire
le flux vidéo à partir de la caméra montée sur le drone. Concernant
l’administrateur l’interface de commande lance pour lui
automatiquement la capture de flux vidéo.
Pré condition -La communication avec une antenne interne ou externe
- L’utilisateur choisi de faire la gestion de Flux vidéo
Post condition Capture de flux vidéo est lancé avec succès
Tableau 7: Description du cas d'utilisation "Gestion Flux Vidéo"

V. Diagrammes de séquences
Les diagrammes de séquences sont la représentation graphique des interactions
entre les acteurs et le système selon un ordre chronologique dans la formulation
UML.
On démontre ces interactions dans le cadre d’un scénario d’un diagramme de cas
d’utilisation.
Nous allons décrire les diagrammes de séquences nécessaires pour notre système.

20
Conception

1. Diagramme de séquence « Décollage » :


Décollage

Administrateur Système-Application Système-Drone Raspberry Pi Arduino Uno Gyroscope Contrôlleur Moteur


Mobile
1: Demande de lancement application

2: Application lancée

3: Demande de décollage

4: Demande de décollage
Demande de décollage

6: Demande de décollage

7: Demande de stabilisation du décollage

loop [Qudricoptère non stable]

8: Gérer vitesse motorisation

9: Envoi vitesse rotation

Figure 14:Diagramme de séquence "Décollage"

C’est l’administrateur qui déclenche la commande de décollage à travers


l’interface mobile déployée sur son téléphone mobile.

Lors de la réception de cette commande, le système « application mobile » va


essayer d’ouvrir un canal de communication avec le système « drone ».

Si la connexion est établie avec succès, la carte Raspberry Pi va demander à la


carte Arduino Uno de mettre en rotation les hélices.

Pour répondre à cet ordre, la carte Arduino Uno communique au gyroscope la


nouvelle position requise afin qu’il gère la vitesse de rotation de chacun des quatre
moteurs en gardant le drone en position stable.

Après la réalisation de ces calculs, le gyroscope envoi ses commandes aux


contrôleurs qui vont à leurs tour traduire ces ordres en format de signal compris par le
moteur.

21
Conception

2. Diagramme de séquence « gestion de vol »:


Gestion de vol

Administrateur Système-Application Système-Drone


Mobile
1: Demande de lancement application

2: Application lancée

3: Demande de configuration

4: Demande de saisi des données de


configuration

5: saisi paramètres configuration

6: Demande de connexion
7: Vérification paramètres

alt Paramètres non valides


8: Echec de connexion

9: Echec de connexion

Paramètres valides 8: Connexion établie

9: Afficher interface de commande

10: Demande décollage

11: Demande décollage

12: Décollage

loop [Connexion disponible et batterie suffisante]

13: Demande préciser action à lancer

14: Choisir action

15: Demande lancer action

Exécution action

Figure 15:Diagramme de séquence " Gestion du vol"

Afin de gérer le vol, l’administrateur lance l’application mobile et saisi les paramètres
de connexion. Si la connexion est ouverte, il peut lancer ses ordres de déplacement du
drone.

22
Conception

VI. Les Diagrammes d’état transition « Drone » :


Ce diagramme sert à représenter des automates d'états finis, sous forme de graphes
d'états, reliés par des arcs orientés qui décrivent les transitions.
Les diagrammes d'états-transitions permettent de décrire les changements d'états
d'un objet ou d'un composant, en réponse aux interactions avec d'autres
objets/composants ou avec des acteurs.
Une transition représente le passage instantané d'un état vers un autre.
Un état se caractérise par sa durée et sa stabilité, il représente une conjonction
instantanée des valeurs des attributs d'un objet.
Ci-dessous le diagramme d’état transition du Système « Drone » :

Arrêt

/ demande de connexion smartphone

Connecté

Déconnecté

/ Ordre de décollage
/ Batterie faible ou Connexion Wifi non
/ Automatiquement
Décollage disponible

En Vol
/ Stabilisation
do / Changement de direction
do / Changement de vitesse
...
/ Ordre d'atterissage
Atterissage

Figure 16 : Diagramme d’état transition « Drone »

23
Conception

VII. Le Diagramme d’Activité « gestion du flux vidéo »


Le diagramme d’activité est utilisé pour modéliser un flux de travail dans un cas
d’utilisation ou entre plusieurs cas d’utilisation.
Aussi de spécifier une opération (décrire la logique d’une opération).
Ci-dessous le diagramme d’activité de la fonctionnalité « gestion du flux vidéo » :

<<4.2- Réception flux vidéo>>

PosteTravail

<<3- Streaming Vidéo>>

<<1-Demande de connexion>>

<<2- Demande de connexion>> Quadricoptère

Reseau_WI-Fi

<<4.1- Réception flux vidéo>>

Peripherique Mobile

Figure 17: Diagramme d’Activité « gestion du flux vidéo »

VIII. Conclusion :
Une fois ce chapitre est terminé, On passe directement à préparer et analyser
l’environnement et les besoins techniques pour réaliser notre application.
Le chapitre suivant va décrire la plateforme de l’application.

24
Réalisation

Chapitre 3 : Réalisation
I. Introduction
On va entamer dans ce chapitre la partie réalisation matérielle et logicielle.
Pour fabriquer un quadricoptère il faut bien choisir les composants appropriés.
A la fin de ce chapitre, les objectifs doivent avoir été atteints et le projet doit être clos.
II. Environnement de développement
1) Programmation de la carte Arduino
L’environnement de développement Arduino IDE est la porte par laquelle nous
pouvons accéder à la programmation de notre carte Arduino Uno.
Il présente une interface qui facilite au programmeur la saisie de son code, la compilation
et finalement le déploiement avec une option de débogage en cas d’erreurs.
Avec Arduino, nous devons utiliser un code
minimal lorsque l'on crée un programme. Ce code permet
de diviser le programme que nous allons créer en deux
grosses parties : les deux fonctions setup et loop.

1void setup() //fonction d'initialisation de la carte


2{
3 //contenu de l'initialisation
4}
5
6void loop() //fonction principale, elle se répète à l'infini
7{
8 //contenu du programme
9}
 Le cadre numéro 1 : ce sont les options de
configuration du logiciel
 Le cadre numéro 2 : il contient les boutons qui
vont nous servir lors de la programmation de nos
cartes
 Le cadre numéro 3 : ce bloc va contenir le
programme que nous allons créer
 Le cadre numéro 4 : celui-ci est important, car il
va nous aider à corriger les fautes dans notre
programme. C'est le débogueur.

25
Réalisation

2) Développement de l’application mobile Android

Eclipse est un IDE ou "Environnement de développement intégré". Outre la coloration du


code, il vous apportera des outils très pratiques pour compiler vos programmes, les déboguer,
etc.
Eclipse est conçu pour pouvoir être complété avec des plugins. Ainsi, il existe un plugin
pour développer des applications Android.
Le plugin pour les développements d'applications Android s'appelle ADT (qui signifie en
français "Outils de développement Android").
Android est un système d’exploitation pour smartphones, tablettes tactiles, PDA et
terminaux mobiles. C'est un système open source utilisant le noyau Linux.
Le langage Java est un langage de programmation informatique orienté objet.
Java incorpore des fonctionnalités qui facilitent grandement certaines tâches de
programmation avancées comme la gestion des réseaux, la connectivité des bases de données
ou le développement d'applications mobiles.
3) Communication entre le système « application mobile » et le système
« drone »

Python est un langage de programmation objet, multi-paradigme et multi-plateformes.


Il favorise la programmation impérative structurée et orientée objet. Il est doté d'un typage
dynamique fort, d'une gestion automatique de la mémoire par ramasse-miettes et d'un système
de gestion d'exceptions.
Et l’environnement utilisé pour la programmation avec python est soit Komodo, soit Eclipse.

26
Réalisation

4) Connexion sur la carte raspberry

Putty est un émulateur de terminal doublé d'un client pour les


protocoles SSH, Telnet, rlogin, et TCP brut.
Il permet également d'établir des connexions directes par liaison série RS-232.
Xming est un portage sous Windows du système de fenêtrage X ouvert des
systèmes Unix, Linux et BSD. Il est fondé sur le serveur X.org et compilé avec MinGW.
Il permet ainsi de rediriger l'affichage sous Windows d'une application graphique tournant sur
une machine distante, sous un autre système supporté par X.org.
Raspbian est un système d'exploitation libre et gratuit basé sur Linux/GNU/Debian et
optimisé pour fonctionner sur un Raspberry Pi.
Raspbian est un mot-valise formé par la fusion des mots “Raspberry Pi” et “Debian”.
Il s'agit d'une modification de Debian Wheezy spécifiquement adapté pour les puces
de type ARMv6.
Étant donné les ressources limitées de cet ordinateur, Raspbian utilise des logiciels
réputés pour être légers tels que le gestionnaire de fenêtres LXDE et le navigateur
Web Midori.

27
III. L système « drone »

1. Architecture globale du système

Figure 18: COMPOSANTS DU FRAME ST360 Figure 19: FRAME ST360 MONTE Figure 20 SCHEMA ALIMENTATION GLOBAL

Figure 21: ALMENTATION CARTES Figure 22: PREMIER MONTAGE Figure 23: DEUXIEME MONTAGE

28
Figure 24: TROISIEME MONTAGE Figure 25: MONTAGE FINAL Figure 26: VISUALISATION FLUX VIDEO
Au départ, il faut avouer que nous sommes des explorateurs dans le domaine des drones quadricoptères.
Au démarrage du projet, nous avons pensés que si nous regroupons le support du drone et nous lui ajoutons les moteurs et les hélices appropriés
et une source d’alimentation ça sera suffisant pour clôturer notre projet, mais la réalité est loin de ça.
En effet, nous avons senti rapidement un besoin pour utiliser la carte Arduino Uno pour résoudre le problème de contrôle des moteurs.
Ensuite, après le montage de cette carte, nous avons constatés que cette dernière carte est incapable de gérer les flux vidéo.
C’est pour cette raison que nous avons optés pour l’acquisition de la carte Raspberry Pi pour résoudre ce problème.
Toujours loin de la solution, maintenant il s’est avérer qu’il faut connecter les deux cartes, et encore établir une communication entre
l’application mobile déployée sur un téléphone mobile et la carte Raspberry Pi.
Heureusement, cette carte est équipée de deux ports USB, ce qui nous a permis d’utiliser un des deux ports pour connecter une clef Wifi.
Maintenant, le problème c’est comment configurer cet émetteur-récepteur wifi pour qu’il puisse dialoguer avec l’application mobile et lui
envoyer un flux vidéo sachant que l’application mobile fonctionne sous le système d’exploitation Android alors que Raspberry Pi sous Raspbian.

29
Le problème qui s’est avéré par la suite c’est que la carte Raspberry Pi contient uniquement
deux ports USB que nous avons exploités par la connexion du clef wifi et la caméra HD et il
nous reste plus de ports pour connecter Raspberry Pi à Arduino Uno.
C’est pour cette raison que nous avons réalisés un montage spécial pour connecter les deux
sans passer par le port USB, voir figure ci-desous :

Figure 27: Connexion de la carte Raspberry Pi et Arduino Uno

C’est à ce niveau que nous avons commencés les tests de vol, et là notre cauchemar a commencé.

En effet, le drone quadricoptère n’était pas capable de tenir même une seconde en air vu les
perturbations et oscillations qu’il a montré durant les tests dues à la mauvaise synchronisation des
vitesses des moteurs.

En recherchant encore dans les forums professionnels spécialisés, nous avons constatés que notre
montage manque un élément très important qui est responsable d’assurer la stabilisation dans un
drone qui est le gyroscope.

Donc, nous avons commandé le modèle KKmulticopter 5.5, et après des jours de recherche, nous
avons réussi partiellement à l’installer vu la rareté de la documentation.

Malheureusement, jusqu’au jour que nous éditons ce rapport, et même après l’installation de
ce module, nos tests de vols présentent encore un manque de stabilité que nous optons à les
corriger.

30
2. Bilan technique et financier

N° Matériel Modèle Photo Spécifications Quantité Prix TOTAL POIDS


TND TND EN VOL
1 Maquette Frame ST360 - Plastic Frame 1 67 67 740
(Frame + - Wheelbase: 360mm
motorisation + - Height: 90mm
hélices) - Motor: 4X 1050 -KV
- ESC: 4X 20A tunergy
- Propeller: 2X ST8045, 2X ST8045P
- Empty Frame Weight: 180g
- All Weight: 680g
- Flight Time: >10 minutes
- Battery: Li-po 11.1V/2200mAH 45 - 90
C(suggested 1500~2200mAH)
- Flight Control: 1X KK V2.5
- R/C System: 4Ch 2.4GHz
2 Carte de Arduino Uno -Alimentation : via port USB ou 7à 12V sur 1 66 66 25
commande connecteur alim.
des moteurs -Microprocesseur : ATMega328, 16MHz.
-Mémoire Flash : 32KB
-Mémoire SRAM : 2KB
-Mémoire EEPROM : 1KB.
-14 broches d’E/S dont 6 PWM
-6 entrées analogique 10bits
-Intensité par E/S : 40mA.
-Cadencement : 16MHz.
-Bus série, I2C et SPI
-Fiche USB : type B.
-Dimensions : 74 * 54 * 15 mm

31
3 Carte Raspberry Pi Processeur : ARM1176JZF-S (ARMv6) 700MHz 1 158 158 44.885
d’acquisition Modèle B Broadcom 28351(dispose d'un décodeur
images et Broadcam VideoCore IV, permettant le décodage
vidéos H.264 FullHD 1080P et d'un VFPv2 pour le
calcul des opérations à virgule) ;
RAM : 512 Mo ;
2 Sorties vidéo : Composite et HDMI ;
1 Sortie audio stéréo Jack 3 5 mm (sortie son 5.1
sur la prise HDMI) ;
Unité de lecture-écriture de carte
mémoire : SDHC / MMC / SDIO ;
2 Port USB 2.0 ;
Prise pour alimentation Micro-
USB (consommation : 700mA + périphériques) ;
1 port réseau Fast Ethernet (10/100 Mbits/s).
4 Batterie Turnigy nano- Capacity: 2200mAh 1 33.858 33.858 201
tech 2200mah 3S Voltage: 3S1P / 3 Cell / 11.1V
45~90C Lipo Discharge: 45C Constant / 90C Burst
Pack Weight: 201g (including wire, plug & case)
Dimensions: 112x36x26mm
Balance Plug: JST-XH
Discharge Plug: XT60

5 Distributeur Power distribution Cette plaque de distribution électrique à la taille 1 5 5 34


d’alimentation board for Drones d'une carte standard et est la meilleure solution
(8x 30Amp 3.5mm pour ranger l'intérieur du quad. Utilisez
bullet outputs) simplement des contrôleurs avec prises 3.5mm
male et branchez la batterie.
Caractéristiques:
Courant: 8 x 30A Outputs (MAX)
Entrée : fil 12AWG sans prise
Sortie Moteurs : 8 x 3.5mm Femelle

32
6 Contrôlleur de Turnigy Multistar -Courant constant:20A 4 15.444 61.776 100
motorisation 20 Amp Multi- -Tension d'entrée :2-4 S(7.4v- 14.8v)
rotor Brushless -PWM :8MHZ
ESC 2-4S -Vitesse max : 240000 rpm pour 2 poles Moteur
Brushless
(OPTO)
-Size : 41mm x 24mm
-Poids: 25g

7 Chargeur de Turnigy Accucel- -Tension d'entrée: 11 ~ 17v 1 38.94 38.94 0


batterie 6 50W 6A -Circuit de puissance: Max Charge: décharge
Balancer/Charger 50W / Max: 5W
w/ accessories -Chargez Gamme de courant: 0,1 ~ 6.0A
-Les cellules NiMH / NiCd: 1 ~ 15
-Les cellules lithium-ion / LiPo: 1 ~ 6
-Poids: 355g
8 Gyroscope KKmulticopter Size: 50.5mm x 50.5mm x 23.5mm 1 130 130 14.5
5.5 Weight: 14.5 gram
IC: Atmega168PA
Gyro: Murata piezoelectric gyros
Input Voltage: 3.3-5.5V
Signal from Receiver: 1520us (4 channels)
Signal to ESC: 1520us (6 ESCs)

9 Connecteurs Bullet connector - de corps: Laiton 20 25 25 0


- Processus: plaqué or
-Plage de courant: 40-80A

33
10 Camera Module Camera -Résolution maximale en mode photo : 5 1 68.2 68.2 3
Raspberry Pi megapixels.
-Resolution disponibles en vidéo :
 1080p à 30 images par seconde.
 960 à 45 images par seconde
 720p à 45 images par seconde
 VGA (640*480p) à 45 images par seconde
-Réalisation d’images fixe : 2 592 * 1 944.
-Réalisation vidéo maximale : 1080p.
-Dimensions : 20 * 25 * 10mm.
11 Camera HD Webcam Fonctionnalités 1 55 55 89.9
Microsoft HD  Connexion : USB
 Images/seconde : 30 /s
 Pied : oui
 Résolution photo optique : 1280 x 720 pix
 Résolution vidéo optique : 1280 x 720 pix

12 Clef Wi-Fi Dongle Wi-fi  Standard:IEEE802.11N,IEEE802.11g, 1 10 10 30


IEEE802.11b
 Gamme de fréquence : 2.4 à 2.4835 GHZ

735TND ≈1300G

34
Réalisation

3. Schéma d’alimentation

Figure 28: Schéma d'alimentation des moteurs

Pour alimenter notre Drone nous avons utilisés une carte de distribution qui
permet de connecter les câbles de batterie positifs et négatifs. Cette dernière permet
de connecter 4 à 8 ESC en parallèle à la même batterie, fournissant ainsi la même
tension de la batterie.
Et pour alimenter les carte arduino, Raspberry et kkmulticopter (le gyro) nous
avons ajouter un autre ESC (bec) qui fournit 5v.

Figure 29: Schéma d'alimentation des cartes électroniques

35
Réalisation

I. Le système « application mobile »


Dans la dernière étape de notre travail, nous allons orienter notre application
Android vers deux utilisations possibles : la première partie concerne la commande du
drone et la deuxième concerne la visualisation du flux vidéo uniquement.
Notre application Android finale doit donner un accès distant à notre
quadricoptère.

1. Interface de connexion
Au lancement de notre application mobile, une interface de choix s’affiche
pour sélectionner le mode de lancement.
Le premier mode appelé « administrateur » accorde des droits avancés
d’utilisation de l’application et de contrôle sur le drone, par contre le mode spectateur
accorde uniquement le droit de visualisation du flux vidéo capturé à partir du caméra
HD déployée sur le drone.

Figure 30: Interface de connexion

2. Interface de paramétrage
Les informations de paramétrage sont l’adresse IP (Host Name) du serveur de
communication lancé sur la carte Rasberry Pi ainsi que le numéro de port (Port Number) et
finalement la taille de l’image reçue (la largeur et la hauteur).

Et par la suite, on clique sur le bouton « Start » pour lancer la capture du flux vidéo.

36
Réalisation

Figure 31: Interface de paramétrage

3. Interface de visualisation
Si on clique sur le bouton « Spectateur » l’interface de configuration sera
affichée.
Une fois les données de paramétrage saisies et suite au clic sur le bouton
« Start » une deuxième interface se présente.
Cette nouvelle interface sera dédiée uniquement pour la visualisation et nous
aurons pas de possibilité de commander le vol du drone.

Figure 32: Interface de visualisation

4. Interface de commande
Si on clique sur le bouton « Administrateur », une interface d’authentification apparaisse :

37
Réalisation

Figure 33: Interface d'authentification

L’administrateur sera demandé de saisir les données d’authentification à savoir le


login et le mot de passe.
Ensuite il appui sur le bouton « OK », si les données d’authentifications sont corrects
il sera redirigé vers l’interface de paramétrage et ensuite vers l’interface dédiée de
commande Sinon un message d’erreur va apparaître.

Figure 34:Interface de commande

Cette dernière interface est l’interface de commande qui grâce à elle l’administrateur peut
envoyer ses commandes au quadricoptère.

38
Réalisation

Le bouton arrêter réalise deux taches : le démarrage si le drone est inactif et l’arrêt
suite au démarrage.
Le bouton « décollage » permet de lancer la puissance des moteurs pour décoller.
En haut, nous remarquons la présence de deux boutons responsable de réaliser la
rotation du drone sur lui-même.
Si on appui sur le bouton en haut de droite, le drone va exécuter une rotation sur place
contre les aiguilles du montre.
Si on appui sur le bouton en haut à gauche, le drone va exécuter une rotation sur
place suivant les aiguilles du montre.
Le bouton « atterrissage » permet de faire fin à l’expérience du vol.
Les boutons qui restent permettent d’assurer le changement de direction habituel.
Le principal code dans notre application est le suivant :
private Socket socket;
private static final int SERVERPORT = 5000;
private static final String SERVER_IP = "192.168.42.1";
class ClientThread implements Runnable {
@Override
Public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(SERVER_IP);
socket = newSocket(serverAddr, SERVERPORT);}
catch (UnknownHostException e1) { e1.printStackTrace(); }
catch (IOException e1) { e1.printStackTrace(); }
} }
Cette classe assure la connexion de notre application mobile avec le point
d’accès localisé sur le quadricoptère, précisément le connecteur Wifi attaché à la
carte raspberry, pour envoyer des données à travers des sockets.

39
Réalisation

Public void down(View view) {


try {
PrintWriter out = newPrintWriter(new BufferedWriter(
newOutputStreamWriter(socket.getOutputStream())),true);
out.println("d");}
catch (UnknownHostException e) {e.printStackTrace();}
catch (IOException e) { e.printStackTrace(); }
catch (Exception e) { e.printStackTrace();}
}
Cette méthode nous permet d’envoyer le caractère « d » lors de click sur un
bouton au quadricoptère qui va le transférer en une action de descente du drone.

Public class DoRead extends AsyncTask<String, Void, MjpegInputStream> {


protected MjpegInputStream doInBackground( String... params){
Socket socket = null;
try {
socket = newSocket( params[0], Integer.valueOf( params[1]));
return (newMjpegInputStream(socket.getInputStream()));
}
catch (UnknownHostException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
returnnull;
}
Protected void onPostExecute(MjpegInputStream result) {
mv.setSource(result);
if(result!=null) result.setSkip(1);
mv.setDisplayMode(MjpegView.SIZE_BEST_FIT);
mv.showFps(true);
}
}
Ces deux Méthode dans la classe DoRead permettent d’ouvrir le flux vidéo à
travers le socket et afficher les frames capturées par la caméra HD.

40
Réalisation

EditText etPort = (EditText)findViewById( R.id.editText_portnum);


EditText etWidth = (EditText)findViewById( R.id.editText_width);
EditText etHeight = (EditText)findViewById( R.id.editText_height);
String hostname = etHost.getText().toString();
String portnum = etPort.getText().toString();
String width = etWidth.getText().toString();
String height = etHeight.getText().toString();
Prend les valeurs saisies par l’utilisateur (IP, port, hauteur, largeur).
SharedPreferences sp = this.getPreferences( MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putString(KEY_HOSTNAME, hostname);
editor.putString(KEY_PORTNUM, portnum);
editor.putString(KEY_WIDTH, width);
editor.putString(KEY_HEIGHT, height);
editor.commit();
Sauvegarder les données saisies.
MjpegView.setImageSize( Integer.parseInt( width), Integer.parseInt(height));
Configurer la taille de l’image.
Intent intent = newIntent(this, MjpegActivity.class);
intent.putExtra(KEY_HOSTNAME, hostname);
intent.putExtra(KEY_PORTNUM, portnum);
this.startActivity( intent);
Lancer MjpegActivity lors de click sur le bouton START.

41
Conclusion générale

Conclusion générale
Le quadricoptère est une configuration qui semble intéresser de plus en plus de
chercheurs de nos jours.
Et malgré l'évolution technologique énorme dans la fabrication des
quadricoptères contrôlés à distance, ce domaine est encore à ses premiers pas en
Tunisie.
Nous avons tracés un objectif dans ce modeste travail qui est l’étude et la
réalisation d’un drone quadricoptère qui assure la mission de prise de vues aériennes.
A première vue, ce projet semble être une tâche de montage simple qui
consiste à regrouper quelques composants et cartes électronique et le tour est fait.
Mais, la pratique nous a montré que ce domaine de recherche est loin d’être à
la portée de tous.
Ceci est dû principalement à l’implication de plusieurs disciplines de la
science (l’informatique, l’électronique, la mécanique etc.) dans sa réalisation.
Le prototype que nous avons réalisé est loin de satisfaire nos ambitions du
départ, mais nous avouons que ce projet est encore au stade de test et la quantité
d’informations et la qualité des expertises que nous avons acquises ne puissent que
nous encourager à foncer dans cette direction de recherche et atteindre sa fin.
Loin d’être parfait, ce projet peut être amélioré par la révision de l’utilisation
de la technique de communication Wifi par la radio ou la GPS pour assurer des vols à
longues distances et trouver une solution pour le problème d’autonomie énergétique.

42
Bibliographie & netographie

BIBLIOGRAPHIE
Titre : Programmation Android De la conception au déploiement
avec le SDK Google Android 2
Auteurs :Damien Guignard - Julien Chable - Emmanuel Robles
La maison d'édition: Eyrolles
L'année: 1 /07/ 2011

Titre :L’art du développement Android


Auteur :Mark L. Murphy
La maison d'édition: Pearson Education
L'année: 20/08/2010

Titre : Arduino applications avancées


Auteur : Christian Tavernier
La maison d'édition: Dunod
L'année: 17/10/2012

Titre : Le grand livre d'Arduino


Auteur : Erik Bartmann
La maison d'édition: Eyrolles
L'année: 02/01/2014

Titre : Raspberry PiPrise en main et premières réalisations


Auteur : Christian Tavernier
La maison d'édition: Dunod
L'année:2013

43
Bibliographie & netographie

Titre : A la découverte du Raspberry Pi


Auteurs : Matt Richardson, Shawn Wallace
La maison d'édition: Eyrolles
L'année: 02/01/2014

Titre : Programmer un Raspberry Pi initiation avec Python


Auteur : Simon Monk
La maison d'édition: Dunod
L'année: 05/02/2014

NETOGRAPHIE
http://www.arduino.cc/
http://www.raspberrypi.org/blog/
http://www.elinux.org/
http://hobbyking.com/hobbyking/store/index.asp
http://www.larousse.fr/dictionnaires/francais/drone/26865
http://www.renault.com/fr/innovation/l-univers-du-design/pages/kwid-concept-car.aspx
http://www.commentcamarche.net/contents/1280-wifi-portee-et-debit
http://www.fpv-passion.fr/des-drones-sauveteurs-a-votre-secours/
http://frenchdrone.fr/la-police-australienne-utilise-des-drones-pour-espionner-des-criminels/
http://fr.wikipedia.org/wiki/Pilotage_d'un_avion
http://quadricoptere.blogspot.com/2013/08/les-bases.html
http://laverre.com/WordPress3/tag/free-flight-ff
http://fr.wikipedia.org/wiki/Smartphone
http://fr.wikipedia.org/wiki/Gyroscope
http://www.louisreynier.com/fichiers/BILAN%20DE%20LIAISON%20HERTZIENNE.pdf
http://www.androidhive.info/

44
Annexe 5 : Programmation des ESC

Annexe 1 : Configuration de la carte Arduino Uno

Nous allons tester le programme à déployer sur la carte Arduino Uno pour faire fonctionner
les moteurs et ainsi tourner les hélices.
La connexion entre notre PC et la carte Arduino Uno se fait via un câble USB type A/USB type
B.

Ensuite, il faut installer le nouveau matériel

Après, il faut installer le pilote de périphérique adéquat

Une fois l’installation finie, on aura le message suivant :

45
Annexe 5 : Programmation des ESC

Et en se retournant vers la liste des périphériques du système nous constatons la présence


du nouveau périphérique :

La figure ci-dessus indique que la carte Arduino Uno a été installée avec succès, et la
communication sera sur le port série « COM8 ».
Après l’installation du périphérique, il faut régler la configuration au niveau de
l’environnement de développement comme indiqué dans la figure suivante :

46
Annexe 5 : Programmation des ESC

Donc, là il faut sélectionner le bon port série, et aussi le modèle de la carte Arduino utilisée.

47
Annexe 5 : Programmation des ESC

Le logiciel Arduino va alors vérifier si le programme ne contient pas des erreurs et


ensuite le compiler pour l'envoyer dans la carte.

Finalement nous allons envoyer le programme dans la carte, Pour cela il suffit
de cliquer sur le bouton « téléverser » comme indiqué dans la figure au-dessus.

Le programme rentre donc dans la carte en passant en premier par le


connecteur USB de celle –ci.

Il va alors subir une petite transformation qui permet d’adapter le signal


électrique correspondant au programme vers un signal plus approprié pour le
microcontrôleur.

On passe ainsi d’un signal codé pour la norme USB à un signal codé pour une
simple voie série.

Dès que le LED (Pin 13) dans la carte est allumé ça signifie que le programme
est enregistré dans la carte et fonctionne correctement.

48
Annexe 5 : Programmation des ESC

Suite de l’écriture du programme et l’installation dans la carte, nous avons fait notre
montage qui se compose de la carte Arduino Uno, le frame, les moteurs, les contrôleurs ainsi
l’alimentation. Puis nous avons fait la connexion entre la carte Arduino Uno et notre PC.

Par la suite, nous avons lancé le logiciel Arduino et après avoir ouvert le moniteur série
puisque grâce à lui on peut envoyer les commandes aux moteurs. Après nous avons entrés à
chaque fois une valeur de la vitesse pour les moteurs, ces valeurs sont transformé vers les
contrôleurs ESC pour activer notre moteurs. Ces derniers font un bip sonore comme un
signal d'activation .Après cela, nous avons augmenté la valeur de la vitesse de chaque
moteur du quadricoptère pour qu'il puisse voler. Notre quadricoptère décolle mais on a
quelques problèmes.

49

Vous aimerez peut-être aussi