Robots danseurs : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
Ligne 45 : Ligne 45 :
 
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.
 
La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché.
 
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.
 
Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.
 +
 +
La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître
  
 
=== Liste des ordres disponibles ===
 
=== Liste des ordres disponibles ===
 +
 
La liste est ordre est :
 
La liste est ordre est :
 
*Coup vers l'avant: fait avancer le robot
 
*Coup vers l'avant: fait avancer le robot
Ligne 58 : Ligne 61 :
  
 
=== Fabrication ===
 
=== Fabrication ===
 +
 +
[[Fichier:Baguettemag.jpg|vignette|Vue en coupe de la baguette modélisé sous Solid]]
 +
 +
La baguette a été modélisé sur SolidWorks puis imprimé en 3D.
  
 
=== Décorations supplémentaires ===
 
=== Décorations supplémentaires ===
 +
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]
  
 
Des bandes de led <ref name="LED"> LED strip [https://www.adafruit.com/product/1506] </ref>
 
Des bandes de led <ref name="LED"> LED strip [https://www.adafruit.com/product/1506] </ref>
[[Fichier:Bande_de_led.jpg|vignette|Bande de led]]
+
 
 
La bande est enroulé autour de la baguette ces fonctionnalités sont:
 
La bande est enroulé autour de la baguette ces fonctionnalités sont:
 
*Prendre une couleur différente pour chaque ordre
 
*Prendre une couleur différente pour chaque ordre
Ligne 69 : Ligne 77 :
 
*Si le bouton est relâché les led "redescendent"
 
*Si le bouton est relâché les led "redescendent"
  
La bande de led est alimenté via une batterie de 5V.
+
La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.
  
  
Ligne 81 : Ligne 89 :
 
*Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
 
*Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
 
*Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] </ref>
 
*Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] </ref>
 +
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V 
  
 
== Programmation ==
 
== Programmation ==
Ligne 91 : Ligne 100 :
 
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.
 
Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.
  
 +
=== La commande du robot ===
 +
 +
Les moteurs sont pilotés via différentes fonctions:
 +
*Avancer
 +
*Reculer
 +
*Aller à droite
 +
*Aller à gauche
 +
*Aller en biais en haut à droite
 +
*Aller en biais en haut à gauche
 +
*Aller en biais en bas à droite
 +
*Aller en biais en bas à gauche
 +
*Rotation dans le sens trigonométrique
 +
*Rotation dans le sens anti trigonométrique
 +
 +
=== La détection d’obstacle  ===
 +
 +
Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures
 +
 +
=== La communication ===
 +
 +
[[Fichier:Communication.png|vignette|droite|Schéma de communication global]]
 +
 +
Le robot-maître reçoit ses ordres de la baguette par bluetooth.
 +
 +
La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.
  
 
= Les Robot-Esclaves =
 
= Les Robot-Esclaves =
Ligne 100 : Ligne 134 :
 
*Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
 
*Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
 
*Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] </ref>
 
*Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [https://ujm.webgroup.fr/images/7/7a/PCB_Robot4Voies.pdf] </ref>
 +
*Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V 
  
 
== Programmation ==
 
== Programmation ==
 +
Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots.
 
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre
 
Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre
  
  
 
= Références externes =
 
= Références externes =

Version du 24 avril 2019 à 16:13

Projet du module Robots Communicants de Telecom Saint-Etienne 2018/2019.

Sujet

L'utilisateur doit pouvoir commander un robot "maître" à distance au moyen d'une baguette. Deux robots esclaves doivent, en temps réel, imiter les mouvements du maître.

Objectif du projet

Créer une "baguette magique" permettant de donner des ordres de façon fluide et intuitive à un robot-maître, le robot-maître doit ensuite transmettre les ordres qu'il reçoit à un couple de robot-esclaves

La Baguette

La baguette sert à contrôler le robot maître par le biais de ses mouvements. Elle doit donc pouvoir:

  • Mesurer les amplitudes et directions de ses accélérations
  • Traiter l'information pour en faire des ordres compréhensible par le robot-maître
  • Pouvoir communiquer avec le robot-maître

Composants électroniques

Carte de contrôle

La carte Arduino Teensy <ref name="Teensy"> carte Arduino Teensy [1] </ref> a été retenu en raison de son appartenance à l'environnement Arduino ainsi que ça petite taille, facile à intégrer dans la baguette. Cette carte est alimenté via une batterie de 3.6V et 600mAh

Appareil de mesure

Axes d'un gyromètre

Le type de capteur retenu est le gyromètre, il permet de mesurer les accélération linéaire et angulaire des trois direction de l'espace.

Deux gyromètre sont en compétition, la Pololu AltMU-10 v4 <ref name="Pololu"> carte Pololu [2] </ref> et le Grove IMU 10DOF v1.1 <ref name="Grove"> carte Grove [3] </ref>


Critères de choix retenus (trié par ordre d'importance):

  1. la fiabilité du capteur (absence de valeur aberrantes)
  2. la taille (il doit être facile à intégrer sur la baguette)
  3. la facilité de programmation
  4. la précision (dans le cas ou la vitesse de la baguette serve au pilotage du robot)

Finalement c'est le Pololu qui a été retenu en raison de sa très petite taille par rapport au capteur Grove.


Programmation

Sparkfun esp32

Fonctionnement

La baguette fonctionne suivant le principe suivant : appuyer sur le bouton lance la séquence de captation d’ordre qui se poursuit jusqu’à ce qu’il soit relâché. Tant que le bouton est maintenu le dernier ordre envoyé est « gelé » c’est-à-dire que donner un coup de baguette vers la droite puis ne plus bouger enverra le robot vers la droite tant que le bouton sera appuyé.

La baguette traite directement l'information issue de ses capteurs et transmet directement les ordres au robot-maître

Liste des ordres disponibles

La liste est ordre est :

  • Coup vers l'avant: fait avancer le robot
  • Coup vers l'arrière: fait reculer le robot
  • Coup vers la droite: fait aller le robot vers la droite
  • Coup vers la gauche: fait aller le robot vers la gauche
  • Rotation droite: fait tourner le robot dans le sens anti-trigonométrique
  • Rotation gauche: fait tourner le robot dans le sens trigonométrique

Aspect esthétique

Fabrication

Vue en coupe de la baguette modélisé sous Solid

La baguette a été modélisé sur SolidWorks puis imprimé en 3D.

Décorations supplémentaires

Bande de led

Des bandes de led <ref name="LED"> LED strip [4] </ref>

La bande est enroulé autour de la baguette ces fonctionnalités sont:

  • Prendre une couleur différente pour chaque ordre
  • Plus l'ordre est maintenu plus le nombre de led illuminé augmente
  • Si l'on change l'ordre les led "redescendent" rapidement avant de "remonter" dans une autre couleur
  • Si le bouton est relâché les led "redescendent"

La bande de led est alimenté via une batterie de 5V différente de la batterie alimentant la carte en elle même.


Le Robot-Maître

Photo du robot-maître

Composants

  • Moteur: Mabuchi rk-370-CA <ref name="Moteur Esclave"> Moteur Esclave [5] </ref>
  • Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
  • Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [6] </ref>
  • Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V

Programmation

Le code des robots sera séparé en trois parties distinctes :

  • la commande du robot
  • la détection d’obstacle
  • la communication

Des interruptions sont utilisées par le programme pour récupérer les informations générées par les roues codeuse afin de soulager le processeur.

La commande du robot

Les moteurs sont pilotés via différentes fonctions:

  • Avancer
  • Reculer
  • Aller à droite
  • Aller à gauche
  • Aller en biais en haut à droite
  • Aller en biais en haut à gauche
  • Aller en biais en bas à droite
  • Aller en biais en bas à gauche
  • Rotation dans le sens trigonométrique
  • Rotation dans le sens anti trigonométrique

La détection d’obstacle

Afin d’empêcher les robots de se prendre des murs des capteurs de distances on été placés sur leur structures

La communication

Schéma de communication global

Le robot-maître reçoit ses ordres de la baguette par bluetooth.

La communication avec les robot-esclaves se fait via une communication Wi-Fi, le robot-maître crée un serveur auquel se connecte les robot-esclaves pour récupérer leurs ordres.

Les Robot-Esclaves

Photo d'un des robot-esclaves

Composants

  • Moteur: Hennkwell HG37D670WE12-052
  • Carte de contrôle: Arduino Teensy <ref name="Teensy"/>
  • Interface de puissance: Carte fournie par TSE <ref name="Interface de puissance"> Interface de puissance [7] </ref>
  • Batterie : 8 piles de 2500mAh (soit 20Ah en tout) de 5V

Programmation

Les robot-esclaves reçoivent exactement les mêmes ordres que ceux reçu par le robot-maître étant donné que le programme est le même pour les 3 robots. Le programme des robot-esclaves est exactement le même que celui du robot-maître, à la différence près qu'il a été adapté pour fonctionner avec 3 roues et non quatre


Références externes