Robots siffleurs : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
(Partie 1 : Émission audio)
Ligne 82 : Ligne 82 :
  
 
=== Choix des commandes associés ===
 
=== Choix des commandes associés ===
 +
 +
Une fois que nous étions capables de générer une note et de savoir a quel moment la jouer il fallait associer un ordre à chaque note.
 +
Nous avons choisit de faire au plus simple, c'est a dire autant de boucles "if" que de commande, voici notre code :
 +
[[Fichier:10.PNG|vignette]]
 +
 
=== Création d'un Robot esclave pour test ===
 
=== Création d'un Robot esclave pour test ===
 
==== Réception d'une note ====
 
==== Réception d'une note ====

Version du 20 mai 2017 à 19:02

Le projet du module Robots connectés 2016/2017 propose d'utiliser des robots holonomes (à roues suédoises) communiquant entre eux par des signaux acoustiques.
3 robots sont utilisés, un maître télécommandé par bluetooth via un dispositif Androïd, équipé d'un haut-parleur, et 2 esclaves équipés de microphones, qui suivent le robot maître grâce aux commandes sonores émises par ce dernier.


Robot Siffleur

Le scénario qui nous a été proposé consiste à réaliser trois robots holonomes. Le premier dit "Maître" communique et ordonne leur faits et gestes aux deux autres robots appelés "esclaves". La description de chacun d'eux est apporté ultérieurement.

Cahier des Charges

Description projet :

  • 3 robots Holonomes :
  1. Moteurs
  2. Ponts en H
  3. Carte microcontrôleurs moteurs (bas niveau) (Teensy3.2)
  4. Carte microcontrôleurs logiciel(haut niveau) (Teensy3.2)
  • Communication inter robot : signal acoustique (note de musique)
  1. Haut parleurs pour l'émission
  2. Microphone pour la réception
  • Robot maitre télécommander par une application Androïd sur téléphone ou tablette via Bluetooth
  • 2 robots esclaves : suivent les ordres du robot maitre (suivre, autre action)
  • Utilisation de l'AudioLibrary sur l'Audioboard Teensy


Schéma synoptique

Nous avons commencé par diviser le projet en trois premières parties : La première consistera en l'émission d'un signal sonore maitrisé, une autre en la réception et la compréhension de ce signal, et enfin une troisième qui consistera à gérer la liaison Bluetooth.


2.png


Partie 1 : Émission audio

Participants : Alix Barrière, Florian Courbon, Quentin Leroy, Florian Taillandier.

Notre Travail

Tout d'abord voici les documents permettant de reprendre ce projet là ou nous en étions :

Lien vers code du robot maître (HL) : https://drive.google.com/open?id=0B3RzegXT8aoXZUw0eEVwVGxYcU0

Lien vers code de notre robot esclave (HL) : https://drive.google.com/open?id=0B3RzegXT8aoXZGZBRW9zckNNYk0

Lien vers code de notre robot esclave (BL) : https://drive.google.com/open?id=0B3RzegXT8aoXdGt6c1kwcktOY0E

Lien vers notre présentation PowerPoint : https://drive.google.com/open?id=0B3RzegXT8aoXM1dPSnh4S0gyR3c

Cahier des charges de l'émission

Le but de la partie "émission" était de pouvoir envoyer une note de musique à l'instant ou le robot maître allait dans une direction (une note par direction). Pour cela nous avions 1 robot holonome 4 roues comme robot maître, 2 cartes Teensy : une pour gérer les moteurs et une pour gérer la gestion des notes de musique. Et pour finir un Haut-Parleur.

Nous devions réaliser une communication entre le robot maître et esclave par l'intermédiaire de ces notes. La commande du robot maître était faite par une application mobile Androïd réalisée par un autre groupe.


Génération d'un signal sonore

Afin de générer un signal audio, une note de musique nous avons commencé par utiliser un amplificateur audio : !!!! PHOTO AMPLI AUDIO !!!! Avec cet amplificateur il nous suffisait de créer un signal de forme sinusoïdale et de fréquence correspondant à une note de musique. On peut d'aider de ce tableau pour savoir quel est la fréquence des notes :

31.PNG

Il suffisait ensuite simplement d'ajouter un fil sur la broche correspondante à ce signal et relier l'amplificateur audio aux haut-parleurs.


Dans un second temps nous avons choisit d'arrêter l'utilisation de cette amplificateur au profit d'une audioboard, c'est une carte qui possède une liste de librairies et d'autres choses utile à la génération d'une note ou même à sa détection.

Voici la carte en question :

5.jpg
6.jpg

Avec cette carte nous avons pu mettre au point un code générant une note dont on pouvait modifier sa note, son octave, le volume ou elle était jouée, le temps qu'elle allait durer ainsi que le temps avant de jouer une autre note. Voici le code permettant de jouer une note :

7.3.PNG

Espionnage sur la liaison TX/RX

Afin de pouvoir envoyer une note de musique à l'instant ou nous faisions avancer le robot il fallait que la carte Bluetooth contenue sur le robot maître dialogue avec les deux cartes : celle qui gère les moteurs et celle qui gère la génération d'une note. Afin de faire cela nous avions plusieurs possibilités : La première était d'envoyer l'information de commande (ar, ag, av etc...) sur une des deux cartes Teensy, puis, via une liaison série, renvoyer cette information sur la deuxième carte. Le problème fut que nous n'avions pas assez de broches TX/RX sur nos cartes Teensy, due à l'audioboard et aux ponts en H. Pour résoudre ce problème nous avions deux choix : ajouter une troisième carte Teensy qui gère la distribution des données ou réaliser un espionnage de données.

Nous avons donc choisit l'espionnage de données pour des raisons de simplicités et d'économie d'une carte Teensy. Cet espionnage est très simple : la carte Bluetooth et la carte BL du robot communique via leurs ports TX/RX, et nous venons simplement faire un pont entre les ports RX des deux cartes Teensy (BL et HL) de notre robot maître. Comme ceci :

32.PNG
12.jpg


Choix des commandes associés

Une fois que nous étions capables de générer une note et de savoir a quel moment la jouer il fallait associer un ordre à chaque note. Nous avons choisit de faire au plus simple, c'est a dire autant de boucles "if" que de commande, voici notre code :

10.PNG

Création d'un Robot esclave pour test

Réception d'une note

Atténuation du bruit

Partie 2 : Réception audio

Participants : Aiman Ben Sallam, Hamza Bourachdi, Soukaina Mkhairi, Anass Rahhal.


Partie 3 : Liaison Bluetooth-Teensy

Participants : Louis Berger, Romain Chiesa, Julien Desvignes.

code android

On commence par ajouter l'objet "bluetooth" pour pouvoir interagir avec lui par la suite. Bluetooth adapter nous permet de voir si le bluetooth est activé.

Liaison bluetooth2.jpg

Ensuite on initialise la connexion en affichant un message de connexion. Une fois que la carte à trouvé un appareil auquel se connecter, il l'indique en sortant un message "connected". En cas de problème ou si on ne trouve pas d'appareil, on affichera alors "unable to connect" en spécifiant le problème lorsque le bluetooth n'est pas activé.


Liaison bluetooth.jpg

Bibliographie

Des ultrasons pour pister les téléphones