Différences entre versions de « Pololu-Zumo-Shield-Arduino-detecter-bord »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 14 : Ligne 14 :
 
* Pour finir, le seuil de lecture du senseur (''threshold'' en anglais) utilisé pour différencier les surfaces noires et blanches, est définit à la ligne 10. Vous pourriez avoir besoin de changer cette valeur en fonction de votre environnement surface de votre ring). Attention: les surfaces noires lisses/en verre réfléchissent également la lumière infrarouge... il sera donc difficile, voire impossible, de distinguer la surface noire réfléchissante des surfaces blanches.
 
* Pour finir, le seuil de lecture du senseur (''threshold'' en anglais) utilisé pour différencier les surfaces noires et blanches, est définit à la ligne 10. Vous pourriez avoir besoin de changer cette valeur en fonction de votre environnement surface de votre ring). Attention: les surfaces noires lisses/en verre réfléchissent également la lumière infrarouge... il sera donc difficile, voire impossible, de distinguer la surface noire réfléchissante des surfaces blanches.
  
Upload the sketch to an Arduino mounted on a Zumo, place the Zumo on a sumo ring (or a similar large dark surface with a light border), and press the user pushbutton. Be ready to catch the Zumo in case it drives off the ring! If everything works right, the Zumo should sound a countdown with its buzzer and then start driving forward until it detects the ring border; it should then back up, turn, and continue. If not, try adjusting some of the parameters as described above. Here are some specific troubleshooting tips:
+
Téléversez le croquis/sketch sur l'Arduino monté sur le Zumo, Placez votre robot Zumo sur le ring (ou une grade surface noire entouré d'une bordure claire) et pressez le bouton utilisateur. Soyez prêt à rattraper votre Zumo au cas où il quitterait le ring! Si tout fonctionne comme prévu, votre Zumo devrait entamer un décompte sonot (sur le Buzzer) puis commence à se déplacer en ligne droite jusqu'à ce qu'il rencontre le bord du ring; alors, il doit reculer, tourner puis continuer son déplacement.<br />Essayez d'ajuster les paramètres mentionnés ci-dessus si cela ne fonctionne pas comme prévu.  
* If the Zumo overshoots the ring border, try lowering FORWARD_SPEED (especially if it is going very fast) or reducing QTR_THRESHOLD.
 
* If the Zumo stops at the border but turns too much or not enough before continuing, adjust TURN_SPEED and/or TURN_DURATION.
 
* If you do not hear any sound from the buzzer, make sure you have the [[Pololu-Zumo-Shield-Arduino-extension-avant|buzzer control jumper]] configured correctly for your Arduino.
 
  
The ability to wander around while staying inside a sumo ring is enough to allow a Zumo to compete as a basic sumo robot, but a more advanced robot might be able to detect its opponent and drive toward it directly. As a next step, you might consider adding more sensors, such as range finders <small>[https://www.pololu.com/category/79/sharp-distance-sensors lien pololu]</small> to allow the Zumo to find its opponent instead of relying on luck to make contact.
+
Voici quelques trucs et astuces de dépannage:
 +
* Si le Zumo dépasse de bord du ring, essayez de diminuer la valeur de FORWARD_SPEED (''vitesse en marche avant'', particulièrement indiqué s'il se déplace rapidement) ou réduire la valeur de QTR_THRESHOLD (''seuil de détection du senseur infrarouge'').
 +
* Si le Zumo s'arrête sur le bord mais tourne trop (ou pas assez) avant de continuer alors ajustez la valeur de TURN_SPEED (''vitesse de rotation'') et/ou TURN_DURATION (''temps de rotation'').
 +
* Si vous n'entendez pas de le son du buzzer, vérifiez que [[Pololu-Zumo-Shield-Arduino-extension-avant|le cavalier de configuration du buzzer]] est configuré conformément à votre modèle de carte Arduino.
 +
 
 +
La possibilité de pouvoir errer à l'intérieur du ring sumo est suffisant pour que votre robot Zumo puisse participer à des compétitions de robot sumo. C'est une fonctionnalité rudimentaire, un croquis/sketch plus avancé permettrait la détection de l'opposant pour se diriger directement sur lui. Pour améliorer votre robot Zumo, vous pourriez considérer l'ajout de plusieurs senseurs, comme ceux permettant d'évaluer la distance <small>[https://www.pololu.com/category/79/sharp-distance-sensors lien pololu]</small> (permettant ainsi de détecter un opposant plutôt que de compter sur la chance de le percuter).
  
 
{{Pololu-Zumo-Shield-Arduino-TRAILER}}
 
{{Pololu-Zumo-Shield-Arduino-TRAILER}}

Version du 16 avril 2017 à 20:55

Ajouter des senseurs au Zumo lui permet de sentir et réagir au monde qui l'entoure. Dans les compétitions sumo où deux robots essayent de se pousser l'un l'autre hors du ring (ring circulaire), il est important que que le robot puisse détecter le bord du ring afin de ne pas dépasser la frontière. Etant donné que les rings sumo sont noir avec une bordure blanche (tout le long de la frontière), un senseur infrarouge tel que les capteurs QTR lien pololu est particulièrement bien adapté. Le réseau de senseur infrarouge du Zumo lien pololu est équipé de 6 capteurs QTR sur une carte conçue pour prendre place directement sur le connecteur d'extension situé à l'avant du shield Zumo (note: le zumo robot pre-assemblé lien pololu est déjà équipé avec le réseau de senseur infrarouge).

Pololu-Zumo-Shield-Arduino-detecter-bord-00.jpg

Un robot Zumo se préparant à attaquer un SumoBot Parallax.

Cliquer l'image pour l'agrandir

Pololu-Zumo-Shield-Arduino-ajouter-detecteur-ligne-33.jpg

Le réseau de senseur infrarouge du Robot Zumo, vue du dessous.

Cliquer l'image pour l'agrandir

Cet exemple montre comment programmer un Robot Zumo Arduino équipé du réseau de senseur infrarouge pour qu'il se balade dans sur un ring sans jamais en sortir. Notez qu'il utilise les deux senseurs situés sur chaque extrémité du réseau de capteur (ce qui est suffisant pour une détection de bordure). Après avoir installé les bibliothèques Arduino du shield Zumo, vous pouvez ouvrir le croquis/sketch en sélectionnant le point de menu Fichier > Exemples > ZumoExamples > BorderDetect.

Vous pourriez avoir besoin de modifier quelques éléments du script pour qu'il fonctionne bien avec votre Zumo:

  • S'il l'un de vos moteurs est connecté à l'envers, dé-commentez les lignes 48 et/ou 49 pour corriger leur sens de rotation.
  • Ajuster la vitesse et les temps de de pause (duration) dans lignes 13-17. D'une façon générale, des vitesses plus faibles et temps de pause plus courts fonctionnent mieux avec des moteurs rapides -tandis- que des vitesses plus élevées et temps de pause plus long seront plus adéquat avec des moteurs plus lents.
    Les valeurs par défaut fonctionnent bien avec un Zumo équipé de moteurs 75:1 HP lien pololu.
  • Pour finir, le seuil de lecture du senseur (threshold en anglais) utilisé pour différencier les surfaces noires et blanches, est définit à la ligne 10. Vous pourriez avoir besoin de changer cette valeur en fonction de votre environnement surface de votre ring). Attention: les surfaces noires lisses/en verre réfléchissent également la lumière infrarouge... il sera donc difficile, voire impossible, de distinguer la surface noire réfléchissante des surfaces blanches.

Téléversez le croquis/sketch sur l'Arduino monté sur le Zumo, Placez votre robot Zumo sur le ring (ou une grade surface noire entouré d'une bordure claire) et pressez le bouton utilisateur. Soyez prêt à rattraper votre Zumo au cas où il quitterait le ring! Si tout fonctionne comme prévu, votre Zumo devrait entamer un décompte sonot (sur le Buzzer) puis commence à se déplacer en ligne droite jusqu'à ce qu'il rencontre le bord du ring; alors, il doit reculer, tourner puis continuer son déplacement.
Essayez d'ajuster les paramètres mentionnés ci-dessus si cela ne fonctionne pas comme prévu.

Voici quelques trucs et astuces de dépannage:

  • Si le Zumo dépasse de bord du ring, essayez de diminuer la valeur de FORWARD_SPEED (vitesse en marche avant, particulièrement indiqué s'il se déplace rapidement) ou réduire la valeur de QTR_THRESHOLD (seuil de détection du senseur infrarouge).
  • Si le Zumo s'arrête sur le bord mais tourne trop (ou pas assez) avant de continuer alors ajustez la valeur de TURN_SPEED (vitesse de rotation) et/ou TURN_DURATION (temps de rotation).
  • Si vous n'entendez pas de le son du buzzer, vérifiez que le cavalier de configuration du buzzer est configuré conformément à votre modèle de carte Arduino.

La possibilité de pouvoir errer à l'intérieur du ring sumo est suffisant pour que votre robot Zumo puisse participer à des compétitions de robot sumo. C'est une fonctionnalité rudimentaire, un croquis/sketch plus avancé permettrait la détection de l'opposant pour se diriger directement sur lui. Pour améliorer votre robot Zumo, vous pourriez considérer l'ajout de plusieurs senseurs, comme ceux permettant d'évaluer la distance lien pololu (permettant ainsi de détecter un opposant plutôt que de compter sur la chance de le percuter).


Basé sur "Zumo Shield for Arduino" de Pololu (www.pololu.com/docs/0J57) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com)

Based on "Zumo Shield for Arduino" from Pololu (www.pololu.com/docs/0J57) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)