Pilotage de l ar drone l aide d une manette de ps3
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

Pilotage de l’AR-Drone à l’aide d’une manette de PS3 PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Pilotage de l’AR-Drone à l’aide d’une manette de PS3

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Pilotage de l ar drone l aide d une manette de ps3

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

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


Ar drone open source

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.


Fonctionnement de l ar drone

Fonctionnement de l'AR Drone

4 hélices tournant dans des sens opposés


Materiel disposition

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)


Nombreuses possibilit s

Nombreuses possibilités

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

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


But du projet

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


Difficult s rencontr es

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.


Tablissement de la connexion au drone

Établissement de la connexion au drone

  • Création d’un constructeur pour la classe principale « ARDrone »

    ByteBufferbb = ByteBuffer.allocate(4);

    fb= bb.asFloatBuffer();

    ib= bb.asIntBuffer();

    inet_addr= InetAddress.getByAddress(ip_bytes);

    socket= newDatagramSocket();

    socket.setSoTimeout(3000);

  • Ce constructeur ouvre également une JFrame qui permettra d’écouter les entrées clavier permettant le contrôle du drone.


Envoi d une commande at

Envoi d’une commande AT*

voidsend_at_cmd(String at_cmd) throws Exception {

byte[] buffer = (at_cmd + "\r").getBytes();

DatagramPacket packet = newDatagramPacket(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)


Simplification des commandes at

Simplification des commandes AT

Décollage

publicvoid takeoff() throws Exception{

send_at_cmd("AT*REF=" + (seq++) + ",290718208");

waiting(3);

}

Mettre à jour les variables du drone :

publicvoidupdateDrone() throws Exception{

String at_cmd = "";

at_cmd = "AT*PCMD=" + (seq++) + ",1," + intOfFloat(pitch) + "," + intOfFloat(roll) + "," + intOfFloat(gaz) + "," + intOfFloat(yaw);

send_at_cmd(at_cmd);

}


Fonction principale

Fonction principale

  • On instancie un objet de la classe ARDrone

  • Boucle infinie qui écoute les entrées clavier

  • Exemple :

    while (k<500 && lpressed){ //tourner droite

    drone.setYaw((float) vitesse);

    waitms(1);

    k=k+1;

    }

    publicvoidkeyPressed(KeyEvent e) {

    switch (e.getKeyCode()) {

    caseKeyEvent.VK_J: jpressed = true; break;

    caseKeyEvent.VK_L: lpressed = true; break;

    caseKeyEvent.VK_K: kpressed = true; break;

    caseKeyEvent.VK_I: ipressed = true; break;

    caseKeyEvent.VK_Z: zpressed = true; break;

    caseKeyEvent.VK_S: spressed = true; break;

    caseKeyEvent.VK_Q: qpressed = true; break;

    caseKeyEvent.VK_D: dpressed = true; break;

    caseKeyEvent.VK_SPACE: spacepressed = true; break;

    caseKeyEvent.VK_E: epressed = true; break;

    caseKeyEvent.VK_A: quit=false; break;

    }

    }


Pilotage de l ar drone l aide d une manette de ps3

Démonstration


Dictionnaire le c loud computing

Dictionnaire : Le Cloud Computing


D finition

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


Les grands types d applications

Les grands types d’applications

  • Data As A Service: stockage de données

    • Exemples : Dropbox, Google Drive, Skydrive

  • Software As A Service : logiciel utilisable en ligne

    • Exemples : Google Maps, Suites bureautiques, jeux vidéos…

  • Platform As A Service : met à disposition de la puissance de calcul

    • Exemple : Engine Yard

  • Desktop As A Service : bureau en ligne, rassemble souvent plusieurs autres types d’application


Exemple microsoft skydrive

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


Exemple cloud gaming

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


Exemple chromebook

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


L internet des objets

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


L internet des objets1

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


L internet des objets2

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)


  • Login