Robots suiveurs

De Learning Lab Environnements Connectés
Révision datée du 11 mars 2020 à 11:44 par Eric (discussion | contributions) (Méthodes utilisées)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche

Éléments de notre projet

Déroulement du projet / phasage
Instructable Robot
Télémètres

Sujet

Nous proposons aux participants de créer et développer des robots connectés, sur le thème initial de robots suiveurs. Le scénario de départ fait intervenir un robot-maître, suivi de 2 robots en file indienne. Ce scénario est appelé à évoluer en complexité au fil de l'avancée du projet.

Les robots seront développés sur des bases Stinger et Traxer qui embarquent une carte microcontrôleur qui gère la puissance et l'asservissement. Le dialogue (envoi de commandes) avec cette carte se fait par liaison série TTL 5V. L'intelligence du robot et la communication sans fil seront gérées par Arduino Yùn.

Projet

Participants : Charlotte, Safae, Léa, Flora, Jimmy, Mehdi, Cyril, Yoann, Axel.

Objectif de départ

  • Avoir 3 robots qui se suivent.
  • Obtenir la même distance entre les robots au départ et à l’arrivée.

Résultat final

Notre cahier des charges étant assez large et nous octroyant un degré de liberté relativement important, nous avons pu réaliser plusieurs fonctionnalités grâce à nos robots sans forcément réaliser la première idée évoquée (les robots suiveurs).

Voici ce que nous avons été capable de réaliser dans le temps qui nous était imparti :

  • Premièrement, l'interface Web permettant de piloter le mode de fonctionnement du robot de tête (ainsi que les commandes de direction et de stop).
Ihm pour contrôller notre robot

Plusieurs modes de fonctionnement existent.

  • Mode Manuel. Celui-ci nous permet de pouvoir piloter, à l'aide des flèches de notre clavier, le robot de tête. Le robot suiveur effectuera exactement les mêmes mouvements que le robot piloté.

Pour ce mode, nous pouvons activer la CheckBox nous permettant de piloter seulement le robot de tête.

  • Mode Auto. Celui-ci nous permettra de voir le robot maître (de tête) éviter les obstacles se trouvant juste devant lui. Encore une fois le second robot imitera le moindre de ses mouvements.
  • Mode Danse. Les robots effectuent en synchronisation des mouvements pré-programmés uniquement sur le robot maître. Le robot esclave imitera le premier encore une fois.
  • Le bouton Stop sert à stopper tout mouvement des deux robots.



Voici la vidéo finale de notre projet regroupant l'ensemble des fonctionnalités réalisées dans l'ordre expliqué ci dessus :


Méthodes utilisées

Pour une explication plus détaillée de nos problèmes référez vous à la partie Déroulement projet (tout le travail effectué).

Nos Robots

Deux Robots identiques ont été utilisés pour réaliser notre projet. Le premier possède à l'avant 3 Télémètres
qui lui servent à détecter les obstacles présents devant lui. Le deuxième ne possède aucun capteur car il va simplement imiter à tout instant le robot maître.

Communication entre les robots

Pour pouvoir effectuer une communication quasi instantanée entre nos robots nous avons décidé de gérer la connexion Wi-Fi en passant via un point d'accès (un routeur que nous avons configuré nous même pour ce projet : Voir Instructable).

Nous avons également choisi de gérer la communication Wi-Fi grâce à la partie Linux de notre carte Arduino. Ceci dû au fait que le microprocesseur Linux soit beaucoup plus rapide et performant que le processeur Arduino.

Serveur Web

La création d'une page Web nous a permis de générer une interface graphique agréable et facile d'utilisation. il suffit, une fois connecté au routeur, de taper l'adresse du robot maître dans la barre d'adresse du navigateur.

Améliorations possibles

Partie Software

Nous avons pensé à gérer l'ensemble du projet grâce au processeur Linux beaucoup plus performant (ce qui nous permettrait de gagner en temps de calculs).

Idées de fonctionnalités futures

  • Nous aurions aimer pouvoir, avec un peu plus de temps, réaliser le cahier des charges de départ.
  • Pouvoir effectuer la même chose sur plusieurs robots à la fois (chorégraphie "géante").
  • Pouvoir améliorer la détection grâce à nos capteurs (ou changer de modèle).
  • Ajouter des capteurs sur les robots esclaves, ce qui entrainerait le fait qu'aucun robot ne puisse rentrer en collision avec des obstacles.