pilotage de l’ar-drone à l’aide d’une manette de ps3
DESCRIPTION
Pilotage de l’AR-Drone à l’aide d’une manette de PS3. Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ. Présentation de l'AR-Drone 2.0. Conçu et vendu par la société français Parrot depuis 2010 (version 1.0 ) Premier quadricoptère commandé grand public - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/1.jpg)
1
Pilotage de l’AR-Drone à l’aide d’une manette de PS3Soutenance Intelligence Ambiante – 20 Janvier 2013
Jonathan ATTALLouis BARRÉ
![Page 2: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/2.jpg)
Présentation de l'AR-Drone 2.0Conçu et vendu par la société français Parrot
depuis 2010 (version 1.0)
Premier quadricoptère commandé grand public
Version 2.0 : cameras HD, possibilité de faire des vrilles
Pilotable via diverses applications pour smartphones
![Page 3: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/3.jpg)
AR.Drone : Open SourceC'est un outil ouvert à la programmation.
Il possède un Software Developpement Kit détaillé en C++.
Possibilité de programmer pour iOS et android ainsi qu'en C++, java et python.
Utilisation relativement simple.
![Page 4: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/4.jpg)
Fonctionnement de l'AR Drone4 hélices tournant dans des sens opposés
![Page 5: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/5.jpg)
Materiel à dispositionCaméra frontale HD et caméra sous l'AR-
Drone.
Nombreux capteurs : accéléromètres, gyroscope, boussole, baromètre, altimètre
Connexion Wifi en AdHoc pour transmission flux de données (sortie : vidéo, angles, position / entrée : commandes)
![Page 6: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/6.jpg)
Nombreuses possibilitésPilotage selon différents moyens : manette,
pad, clavier
Traitement d'image : tracking vidéo, réalité augmentée, déplacement autonome
![Page 7: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/7.jpg)
But du projet1ère étape : Etablissement de la connexion
avec le drone
2ème étape : Utiliser le clavier pour controler le drone grâce à une application JAVA
3ème étape : utiliser une manette de Playstation 3 pour controler le drone
![Page 8: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/8.jpg)
Difficultés rencontréesSDK et documentation très obscurs : de
nombreux développeurs ne s'en servent donc pas et Parrot ne propose pas de support au développement.
Difficultés pour récupérer le flux vidéo du drone.
![Page 9: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/9.jpg)
Établissement de la connexion au droneCréation d’un constructeur pour la classe
principale « ARDrone »ByteBuffer bb = ByteBuffer.allocate(4);fb = bb.asFloatBuffer();ib = bb.asIntBuffer();inet_addr = InetAddress.getByAddress(ip_bytes);socket = new DatagramSocket();socket.setSoTimeout(3000);
Ce constructeur ouvre également une JFrame qui permettra d’écouter les entrées clavier permettant le contrôle du drone.
![Page 10: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/10.jpg)
Envoi d’une commande AT* void send_at_cmd(String at_cmd) throws Exception {
byte[] buffer = (at_cmd + "\r").getBytes();DatagramPacket packet = new DatagramPacket(buffer, buffer.length, inet_addr, 5556);socket.send(packet);waitms(1);
}
Les chaines de caractères AT permettent d’envoyer des commandes au drone, comme des instructions de vol (décoller, avancer) ou des informations de configuration (régler l’altitude maximale ou la vitesse)
![Page 11: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/11.jpg)
Simplification des commandes ATDécollage public void takeoff() throws Exception{ send_at_cmd("AT*REF=" + (seq++) + ",290718208"); waiting(3); }
Mettre à jour les variables du drone : public void updateDrone() throws Exception{ String at_cmd = ""; at_cmd = "AT*PCMD=" + (seq++) + ",1," + intOfFloat(pitch) + "," + intOfFloat(roll) + "," + intOfFloat(gaz) + "," + intOfFloat(yaw); send_at_cmd(at_cmd); }
![Page 12: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/12.jpg)
Fonction principale On instancie un objet de la classe ARDrone Boucle infinie qui écoute les entrées clavier Exemple :
while (k<500 && lpressed){ //tourner droitedrone.setYaw((float) vitesse);waitms(1);k=k+1;
}
public void keyPressed(KeyEvent e) {switch (e.getKeyCode()) {case KeyEvent.VK_J: jpressed = true; break;case KeyEvent.VK_L: lpressed = true; break;case KeyEvent.VK_K: kpressed = true; break;case KeyEvent.VK_I: ipressed = true; break;case KeyEvent.VK_Z: zpressed = true; break;case KeyEvent.VK_S: spressed = true; break;case KeyEvent.VK_Q: qpressed = true; break;case KeyEvent.VK_D: dpressed = true; break;case KeyEvent.VK_SPACE: spacepressed = true; break;case KeyEvent.VK_E: epressed = true; break;case KeyEvent.VK_A: quit=false; break;}}
![Page 13: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/13.jpg)
Démonstration
![Page 14: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/14.jpg)
14
Dictionnaire : Le Cloud Computing
![Page 15: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/15.jpg)
DéfinitionCloud Computing = Informatique en Nuage
Consiste à dématérialiser les ressources informatiques en les hébergeant sur un serveur distant accessible depuis n’importe ou.
Avantages : accessibilité, synchronisation entre les terminaux, risque de perte de données quasiment nul.
Inconvénient : Nécessité d’une connexion internet suffisamment rapide selon l’utilisation
![Page 16: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/16.jpg)
![Page 17: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/17.jpg)
Les grands types d’applicationsData As A Service: stockage de données
Exemples : Dropbox, Google Drive, SkydriveSoftware As A Service : logiciel utilisable en
ligneExemples : Google Maps, Suites bureautiques,
jeux vidéos… Platform As A Service : met à disposition de
la puissance de calculExemple : Engine Yard
Desktop As A Service : bureau en ligne, rassemble souvent plusieurs autres types d’application
![Page 18: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/18.jpg)
Exemple : Microsoft SkydrivePermet d’utiliser Microsoft Office et de
stocker/consulter/éditer ses documents en ligne (également depuis smartphones et tablettes)
Equivalent à Google Drive + Google Docs
![Page 19: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/19.jpg)
Exemple : Cloud GamingPermet de jouer via un navigateur à des jeux
vidéos qui sont lancés sur des serveurs, en récupérant seulement la vidéo du jeu.
Avantage : Pas nécessaire d’avoir un ordinateur puissant pour jouer aux jeux en qualité maximale
Exemple : Gaikai
![Page 20: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/20.jpg)
Exemple : ChromebookOrdinateur fonctionnant sous ChromeOS
(développé par Google)
La plupart des fonctionnalités de l’ordinateur fonctionnent en ligne
Peu cher : environ 200€
Pas un succès commercial
![Page 21: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/21.jpg)
L’internet des objets
Extension d’internet à des objets ou des lieux dans le monde physique. « Objets ayant une identité »
Enjeux : Reconnaitre chaque objet de façon unique et recueillir les données stockées au niveau de l’objet
Technologie utilisé : RFID, Qrcode, étiquette
Plus compliqué que de lier deux pages web ensemble
![Page 22: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/22.jpg)
L’internet des objetsC’est un système de systèmes :
Etiquette physique ou virtuelle pour identifier les lieux ou objets
Un moyen de lire ou de localiser ces étiquettes Un dispositif mobile Un logiciel sur le dispositif permettant de lire
l’étiquette Un réseau sans fil au moins 2G Un page contenant l’information de l’objet lié à
l’étiquette Un affichage pour regarder l’information sur
l’objet
![Page 23: Pilotage de l’AR-Drone à l’aide d’une manette de PS3](https://reader035.vdocuments.site/reader035/viewer/2022062302/5681676a550346895ddc52e2/html5/thumbnails/23.jpg)
L’internet des objets4 grands types d’étiquettes :
La radio-étiquette : Technologie RFID
L’étiquette graphique : le QR code
Etiquette de type SMS : On utilise le SMS pour envoyer un code et recevoir un lien
Etiquette virtuel : URL associé à un ensemble de coordonnées géographique (utilisation du GPS)