RAMBOT : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
(Identification des cibles)
(Identification des cibles)
Ligne 78 : Ligne 78 :
  
 
Code Arduino_Uno : [[Fichier:Test_color_sensor_4.zip]]
 
Code Arduino_Uno : [[Fichier:Test_color_sensor_4.zip]]
 +
 +
On utilise le capteur pour identifier les objets rouges et les objets bleus. La mesure fonctionne jusqu'à environ 5cm pour le rouge et 3cm pour le bleu.

Version du 17 avril 2024 à 15:10

Présentation

Mission des robots

Le but est d'assiéger une base ennemie tout en récupérant les blessés sur le chemin. Pour cela nous avons trois robots:

  1. L'éclaireur :
    • il assiège les ennemis
    • il suit une ligne (suiveur) qui forme un escargot pour finir sur un drapeau qui signalera la fin du siège
    • il envoie les positions des obstacles qu'il rencontre (blessé à sauver ou ennemi à capturer)
  2. Le sauveteur :
    • il reçoit les informations de position des blessés
    • il récupère les blessés et les ramène à la base (hôpital)
  3. Le blindé :
    • il reçoit les informations de position des ennemis
    • il récupère les ennemis et les ramène à la base (prison)

Décomposition des actions élémentaires des robots

Dans l'idéal voici toutes les étapes à réaliser avec les robots:

  1. Les trois robots sont au camp de base
  2. Tant que pas d'obstacles : robot 1 fait sa "ronde" en suiveur de ligne
  3. Détecte un obstacle
  4. Identification blessé / ennemi
  5. Communication avec tous les robots
  6. Le robot 1 se déplace vers l'extérieur (pour laisser la place aux autres robots de passer)
  7. Le robot 2 ou 3 (suivant celui qui est nécessaire) s'active et va à la position du robot 1 (suivant la ligne)
  8. Il attrape l'individu
  9. Retour à la base et dépose de l'individu
  10. Envoie d'un signal au robot 1 pour qu'il se réactive
  11. Envoie l'information à l'utilisateur
  12. On reboucle sur l'étape 2
  13. On atteint le drapeau et c'est gagné

Décomposition du travail

Tâches à réaliser par ordre de priorité :

  1. Contrôle des moteurs de la plateforme principale et des plateformes secondaires
  2. Odométrie et repérage dans l'espace
  3. Détection de ligne
  4. Asservissement
  5. Détection des cibles
  6. Identification
  7. Communication sans fil entre les robots et avec l'utilisateur
  8. Attrapage de la cible
  9. Interface utilisateur

Contrôle des moteurs

Robot 1

Robot 2 et 3

Afin de contrôler les déplacements des robots 2 et 3 nous avons utilisés le code suivant : Fichier:Essai moteurs.zip.

Odométrie

Détection de ligne

On utilise le capteur SparkFun Line sensor Breakout QRE1113. Il s'agit d'un capteur de réflexion. Lorsque la réflexion est minimal (noir) il nous renvoie la valeur de la tension d'alimentation. Pour pouvoir détecter correctement il faudra le mettre à 2mm du sol.

Datasheet : https://www.sparkfun.com/datasheets/Robotics/QR_QRE1113.GR.pdf

Code : Fichier:Test ligne.zip


Asservissement

Détection des cibles

La détection de cible consiste à repérer les cibles qui se trouvent à une certaine distance bien définie du robot, puis d'exécuter les actions nécessaires correspondantes. Cela nécessite l'utilisation des capteurs afin de collecter les données de distance entre l'objet (cible) et le robot, puis lire les données recueillis afin d'appliquer les actions prédéfinies qu'ils fassent

Identification des cibles

Une fois que le robot a détecté la présence de cibles à proximité, encore faut-il les identifier pour différencier les alliés des ennemis. Pour cela, on utilise un capteur de couleur, plus précisément le modèle TCS3200.

Datasheet : Fichier:TCS3200 (1).PDF

Code Arduino_Uno : Fichier:Test color sensor 4.zip

On utilise le capteur pour identifier les objets rouges et les objets bleus. La mesure fonctionne jusqu'à environ 5cm pour le rouge et 3cm pour le bleu.