23
Pilotage de l’AR-Drone à l’aide d’une manette de PS3 Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Embed Size (px)

Citation preview

Page 1: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

1

Pilotage de l’AR-Drone à l’aide d’une manette de PS3Soutenance Intelligence Ambiante – 20 Janvier 2013

Jonathan ATTALLouis BARRÉ

Page 2: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

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

Version 2.0 : cameras HD, possibilité de faire des vrilles

Pilotable via diverses applications pour smartphones

Page 3: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

AR.Drone : Open Source

C'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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Fonctionnement de l'AR Drone

4 hélices tournant dans des sens opposés

Page 5: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Materiel à disposition

Camé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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Nombreuses possibilités

Pilotage selon différents moyens : manette, pad, clavier

Traitement d'image : tracking vidéo, réalité augmentée, déplacement autonome

Page 7: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

But du projet

1è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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Difficultés rencontrées

SDK 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Établissement de la connexion au drone

Cré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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Simplification des commandes AT

Dé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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Démonstration

Page 14: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

14

Dictionnaire : Le Cloud Computing

Page 15: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Définition

Cloud 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1
Page 17: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Les grands types d’applications

Data As A Service: stockage de donnéesExemples : Dropbox, Google Drive, Skydrive

Software 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Exemple : Microsoft Skydrive

Permet 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Exemple : Cloud Gaming

Permet 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

Exemple : Chromebook

Ordinateur 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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

L’internet des objets

C’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: Soutenance Intelligence Ambiante – 20 Janvier 2013 Jonathan ATTAL Louis BARRÉ 1

L’internet des objets

4 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)