Table des matières:

Le robot LEGO traverse un labyrinthe : 9 étapes
Le robot LEGO traverse un labyrinthe : 9 étapes

Vidéo: Le robot LEGO traverse un labyrinthe : 9 étapes

Vidéo: Le robot LEGO traverse un labyrinthe : 9 étapes
Vidéo: Осьминог Vs Подводный Лабиринт 2024, Juillet
Anonim
Image
Image
Base du robot
Base du robot

Il s'agit d'un robot simple et autonome conçu pour traverser un labyrinthe jusqu'à une sortie. Il est construit à l'aide de LEGO Mindstorms EV3. Le logiciel EV3 s'exécute sur un ordinateur et génère un programme, qui est ensuite téléchargé sur un microcontrôleur appelé brique EV3. La méthode de programmation est basée sur des icônes et de haut niveau. C'est très facile et polyvalent.

LES PIÈCES

  1. Ensemble LEGO Mindstorms EV3
  2. Capteur à ultrasons LEGO Mindstorms EV3. Il n'est pas inclus dans l'ensemble EV3.
  3. Carton ondulé pour le labyrinthe. Deux cartons devraient suffire.
  4. Un petit morceau de carton fin pour aider à stabiliser certains coins et murs.
  5. De la colle et du ruban adhésif pour relier les morceaux de carton ensemble.
  6. Une enveloppe de carte de vœux rouge pour identifier la sortie du labyrinthe.

OUTILS

  1. Couteau universel pour couper le carton.
  2. Règle en acier pour faciliter le processus de coupe.

MÉTHODE DE RÉSOLUTION DE LABYRINTHE

Il existe plusieurs méthodes pour naviguer dans un labyrinthe. Si vous êtes intéressé à les étudier, ils sont très bien décrits dans l'article Wikipédia suivant:

J'ai choisi la règle du suiveur de mur à gauche. L'idée est que le robot garde un mur sur son côté gauche en prenant les décisions suivantes pendant qu'il traverse le labyrinthe:

  1. S'il est possible de tourner à gauche, faites-le.
  2. Sinon, allez tout droit si possible.
  3. S'il ne peut pas aller à gauche ou tout droit, tournez à droite, si possible.
  4. Si rien de ce qui précède n'est possible, cela doit être une impasse. Faire demi-tour.

Une mise en garde est que la méthode peut échouer si le labyrinthe contient une boucle. Selon le placement de la boucle, le robot pourrait continuer à tourner autour de la boucle. Une solution possible à ce problème serait que le robot passe à la règle du suiveur de mur à droite s'il réalisait qu'il faisait une boucle. Je n'ai pas inclus ce raffinement dans mon projet.

ÉTAPES DE CONSTRUCTION DU ROBOT

Bien que LEGO Mindstorms EV3 soit très polyvalent, il n'autorise pas plus d'un capteur de chaque type connecté à une brique. Deux briques ou plus pouvaient être connectées en guirlande, mais je ne voulais pas acheter une autre brique et j'ai donc utilisé les capteurs suivants (au lieu de trois capteurs à ultrasons): capteur infrarouge, capteur de couleur et capteur à ultrasons. Cela a bien fonctionné. Les paires de photos ci-dessous montrent comment construire le robot. La première photo de chaque paire montre les pièces nécessaires, et la deuxième photo montre les mêmes pièces connectées ensemble.

Étape 1: Base du robot

Base du robot
Base du robot

La première étape consiste à construire la base du robot, en utilisant les pièces illustrées. La base du robot est montrée à l'envers. La petite partie en L à l'arrière du robot est un support pour le dos. Il glisse au fur et à mesure que le robot se déplace. Cela fonctionne bien. Le kit EV3 n'a pas de pièce de type boule roulante.

Étape 2: Haut de la base

Haut de la base
Haut de la base
Haut de la base
Haut de la base
Haut de la base
Haut de la base

Les 3 étapes suivantes concernent le haut de la base du robot, le capteur de couleur et les câbles, qui sont tous des câbles de 10 pouces (26 cm)

Étape 3: Capteurs infrarouges et à ultrasons

Capteurs infrarouges et à ultrasons
Capteurs infrarouges et à ultrasons
Capteurs infrarouges et à ultrasons
Capteurs infrarouges et à ultrasons

Viennent ensuite le capteur infrarouge (sur le côté gauche du robot) et le capteur à ultrasons (sur la droite). Aussi, les 4 broches pour fixer la brique sur le dessus.

Les capteurs infrarouges et à ultrasons sont situés verticalement au lieu de l'horizontale normale. Cela permet une meilleure identification des coins ou des extrémités des murs.

Étape 4: Câbles

Câbles
Câbles

Fixez la brique et connectez les câbles comme suit:

  • Port B: gros moteur gauche.
  • Port C: gros moteur droit.
  • Port 2: capteur à ultrasons.
  • Port 3: capteur de couleur.
  • Port 4: capteur infrarouge.

Étape 5: Dernière étape de la construction du robot: décoration

Dernière étape de la construction du robot: décoration
Dernière étape de la construction du robot: décoration
Dernière étape de la construction du robot: décoration
Dernière étape de la construction du robot: décoration
Dernière étape de la construction du robot: décoration
Dernière étape de la construction du robot: décoration

Les ailes et les nageoires ne sont que pour la décoration.

Étape 6: Pseudocode pour le programme

  1. Attendez 3 secondes et dites « Aller ».
  2. Démarrez le robot en se déplaçant tout droit.
  3. S'il est possible de tourner à gauche (c'est-à-dire si le capteur infrarouge ne détecte pas d'objet à proximité), dites « Gauche » et allez à gauche.
  4. Avancez d'environ 6 pouces (15 cm) pour éviter un faux virage à gauche. La raison en est qu'après que le robot ait tourné, le capteur verrait le long espace d'où il venait juste de sortir, et le robot penserait qu'il devrait tourner à gauche, ce qui n'est pas la bonne chose à faire. Revenez à l'étape 2.
  5. S'il n'est pas possible de tourner à gauche, vérifiez ce que le capteur de couleur voit devant le robot.
  6. S'il n'y a pas de couleur (c'est-à-dire pas d'objet), revenez à l'étape 2.
  7. Si la couleur est rouge, c'est la sortie. Arrêtez le robot, jouez une fanfare et arrêtez le programme.
  8. Si la couleur est marron (c'est-à-dire du carton marron devant), arrêtez le robot.

    1. S'il est possible de tourner à droite (c'est-à-dire si le capteur à ultrasons ne détecte pas d'objet à proximité), dites « Droite » et allez à droite. Revenez à l'étape 2.
    2. S'il n'est pas possible de tourner à droite, dites « Uh-oh », reculez d'environ 5 pouces (12,5 cm) et faites demi-tour. Revenez à l'étape 2.

Étape 7: programmer

Programme
Programme

LEGO Mindstorms EV3 a une méthode de programmation basée sur des icônes très pratique. Les blocs sont affichés en bas de l'écran d'affichage sur l'ordinateur et peuvent être glissés-déposés dans la fenêtre de programmation pour créer un programme. La capture d'écran montre le programme de ce projet. Les blocs sont décrits à l'étape suivante.

Je ne pouvais pas comprendre comment configurer le téléchargement du programme pour vous, et les blocs sont donc décrits à l'étape suivante. Chaque bloc a des options et des paramètres. C'est très facile et polyvalent. Il ne devrait pas vous falloir beaucoup de temps pour développer le programme et/ou le modifier en fonction de vos besoins. Comme toujours, c'est une bonne idée de sauvegarder le programme périodiquement lors de son développement.

La brique EV3 peut être connectée à l'ordinateur par un câble USB, Wi-Fi ou Bluetooth. Lorsqu'il est connecté et allumé, cela est indiqué dans une petite fenêtre dans le coin inférieur droit de la fenêtre EV3 sur l'ordinateur. Le "EV3" dans le côté le plus à droite devient rouge. Lorsque cet affichage est réglé sur Port View, il montre en temps réel ce que chaque capteur détecte. C'est utile pour expérimenter.

Lors de la construction de ce programme, je suggérerais de travailler de gauche à droite et de haut en bas, et d'agrandir les blocs Loop et Switch avant de faire glisser d'autres blocs à l'intérieur. J'ai rencontré des problèmes compliqués en essayant d'insérer des blocs supplémentaires à l'intérieur avant d'agrandir.

Étape 8: Blocs de programme

  1. À partir du côté gauche du programme, le bloc de démarrage est présent automatiquement lorsqu'un programme est en cours de développement.
  2. Vient ensuite un Wait Block, pour nous donner 3 secondes pour placer le robot à l'entrée du labyrinthe, après avoir lancé le programme.
  3. Un bloc de son fait dire au robot « Go ».
  4. Un bloc de boucle contient la majeure partie du programme. L'affichage doit être agrandi 4 ou 5 fois et ce bloc de boucle doit être agrandi presque jusqu'au bord droit du canevas de programmation avant de commencer à insérer des blocs. Il peut être réduit par la suite.
  5. Le premier bloc à l'intérieur de la boucle est un bloc de direction de mouvement avec la direction définie sur zéro et la puissance définie sur 20. Cela démarre les moteurs qui fonctionnent tout droit à basse vitesse. Une vitesse plus rapide inciterait le robot à se déplacer trop loin lorsqu'il continue d'avancer tout en parlant au cours des étapes suivantes.
  6. Un bloc de commutation dans le mode de proximité du capteur infrarouge vérifie s'il y a un objet au-delà d'une valeur de 30. Cela équivaut à environ 9 pouces (23 cm) pour du carton brun. Si la valeur est supérieure à 30, alors les blocs 7, 8 et 9 sont exécutés, sinon le programme passe au bloc 10 ci-dessous.
  7. Un bloc de son fait dire au robot « gauche ».
  8. Un bloc de direction de déplacement avec la direction définie sur -45, la puissance définie sur 20, les rotations définies sur 1,26 et le freinage à la fin défini sur True. Cela fait tourner le robot à gauche.
  9. Un bloc de direction de déplacement avec la direction définie sur zéro, la puissance définie sur 20, les rotations définies sur 1,2 et le freinage à la fin défini sur True. Cela fait avancer le robot d'environ 6 pouces (15 cm) pour éviter un faux virage à gauche.
  10. Un bloc de commutation dans le mode de mesure des couleurs du capteur de couleur vérifie quelle couleur est devant le robot. S'il n'y a pas de couleur (c'est-à-dire pas d'objet), alors le programme va à la fin de la boucle. Si la couleur est rouge, les blocs 11, 12 et 13 sont exécutés. Si la couleur est marron, le programme passe au bloc 14 ci-dessous.
  11. A Déplacer le bloc de direction en mode arrêt pour arrêter les moteurs.
  12. Un bloc sonore joue une fanfare.
  13. Un bloc d'interruption de boucle sort de la boucle.
  14. A Déplacer le bloc de direction en mode arrêt pour arrêter les moteurs.
  15. Un bloc de commutation dans le mode de comparaison de distance en pouces du capteur à ultrasons vérifie s'il y a un objet à plus de 20 cm (8 pouces). S'il fait plus de 8 pouces, les blocs 16 et 17 sont exécutés, sinon le programme passe au bloc 18 ci-dessous.
  16. Un bloc de son fait dire au robot « Droit ».
  17. Un bloc de direction de déplacement avec la direction définie sur -55, la puissance définie sur -20, les rotations définies sur 1.1 et le frein à la fin défini sur True. Cela fait tourner le robot à droite.
  18. Un bloc sonore fait dire au robot « Uh-oh ».
  19. A Move Tank Block avec Power Left réglé sur -20, Power Right réglé sur -20, Rotations réglé sur 1 et Brake at End réglé sur True. Cela fait reculer le robot d'environ 5 pouces (12,5 cm) pour faire de l'espace pour se retourner.
  20. A Move Tank Block avec Power Left réglé sur -20, Power Right réglé sur 20, Rotations réglé sur 1,14 et Brake at End réglé sur True. Cela fait tourner le robot.
  21. A la sortie de la boucle se trouve un bloc de programme d'arrêt.

Étape 9: CONSTRUIRE UN LABYRINTHE

CONSTRUIRE UN LABYRINTHE
CONSTRUIRE UN LABYRINTHE
CONSTRUIRE UN LABYRINTHE
CONSTRUIRE UN LABYRINTHE
CONSTRUIRE UN LABYRINTHE
CONSTRUIRE UN LABYRINTHE

Deux cartons ondulés devraient suffire pour le labyrinthe. J'ai fait les murs du labyrinthe de 5 pouces (12,5 cm) de haut, mais 4 pouces (10 cm) devraient tout aussi bien fonctionner si vous manquez de carton ondulé.

Tout d'abord, j'ai coupé autour des parois des cartons, à 10 pouces (25 cm) du bas. Ensuite, j'ai coupé autour des murs à 5 pouces du bas. Cela fournit plusieurs murs de 5 pouces. De plus, j'ai coupé autour du fond des cartons, laissant environ 1 pouce (2,5 cm) attaché aux murs pour plus de stabilité.

Les différentes pièces peuvent être coupées et collées ou scotchées partout où cela est nécessaire pour former le labyrinthe. Il devrait y avoir un espace de 12 pouces (30 cm) entre les murs dans tout chemin avec une impasse. Cette distance est nécessaire pour que le robot se retourne.

Certains coins du labyrinthe peuvent avoir besoin d'être renforcés. De plus, certains murs droits doivent être empêchés de se plier s'ils comprennent un coin en carton redressé. De petits morceaux de carton mince doivent être collés au fond à ces endroits, comme indiqué.

La sortie a une barrière rouge composée d'une demi-enveloppe de carte de vœux rouge et d'une base constituée de 2 morceaux de carton mince, comme illustré.

Une mise en garde est que le labyrinthe ne doit pas être grand. Si les virages du robot sont légèrement inclinés par rapport au bon, les écarts s'additionnent après quelques virages. Par exemple, si un virage à gauche est à 3 degrés, alors après 5 virages à gauche, le robot s'éloigne de 15 degrés. Un grand labyrinthe aurait plus de virages et un chemin plus long qu'un petit, et le robot pourrait se heurter aux murs. J'ai dû jouer plusieurs fois avec les paramètres de rotation des virages afin d'obtenir un drive réussi même dans le petit labyrinthe que j'ai fait.

AMÉLIORATIONS FUTURES

Un projet de suivi évident est de rendre le robot capable de déterminer un chemin direct à travers le labyrinthe tout en le parcourant, puis de conduire ce chemin direct (en évitant les impasses) juste après.

C'est beaucoup plus compliqué que le projet actuel. Le robot doit se souvenir du chemin qu'il a parcouru, supprimer les impasses, mémoriser le nouveau chemin, puis suivre le nouveau chemin. Je prévois de travailler sur ce projet dans un futur proche. Je pense qu'il est possible d'accomplir avec LEGO Mindstorms EV3 en utilisant des blocs d'opérations de tableau et certains blocs liés aux mathématiques.

REMARQUE FINALE

C'était un projet amusant. J'espère que vous le trouverez également intéressant.

Conseillé: