Skip to main content

Leçon 3 : Tourner à une plus grande distance

Naviguer jusqu'à l'emplacement de virage

  • Ajoutez les commandes suivantes à votre projet, après la dernière commande turn_for . Assurez-vous que l'indentation des boucles while correspond à celles du projet. Vous pouvez copier et coller dans ou à partir de votre projet existant, ou les taper dans l'espace de travail.  

        tandis quefront_distance.get_distance (MM) > 50
            :drivetrain.drive (FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES)
  • Nous pouvons estimer que la distance entre le mur suivant et notre emplacement de virage souhaité dans le labyrinthe est d'environ 300 millimètres (mm). Une vue de haut en bas du terrain de jeu du labyrinthe mural avec le robot à son emplacement d'arrivée, avec une ligne noire montrant son chemin depuis le début. La distance entre l'avant du robot et l'obstacle mural opposé est indiquée comme étant d'environ 300 mm. 

Pour votre information

Vous pouvez utiliser les données du capteur de distance comme indiqué dans le tableau de bord pour estimer la distance entre le robot VR et un objet. Arrêtez votre projet lorsque le robot VR atteint l'emplacement souhaité. Une fois arrêté, les valeurs dans le tableau de bord afficheront les valeurs de capteur pour le robot VR où il est actuellement positionné. Cela peut être utilisé pour observer les valeurs du capteur ainsi que pour visualiser la distance entre le robot VR et un objet à un certain moment.

Une vue de haut en bas du terrain de jeu du labyrinthe mural avec le robot VR collé au mur d'obstacle sous la lettre B. Le bouton d'arrêt dans le coin inférieur gauche de la fenêtre du terrain de jeu est mis en évidence par une boîte rouge.

L'arrêt du projet lorsque le robot VR atteint un point spécifique, vous permet de mettre en pause le projet pour voir quelle valeur le capteur de distance signale en temps réel. Dans le cas du labyrinthe mural, cette valeur peut être utilisée dans l'opérateur supérieur à (>) pour faire s'arrêter le robot VR à une distance plus éloignée du mur.
Une vue de haut en bas du terrain de jeu du labyrinthe mural avec le robot VR arrêté à peu près à l'endroit où il doit tourner pour faire le tour du mur et sur le chemin menant à la lettre B. Le tableau de bord est ouvert dans la fenêtre du terrain de jeu et la valeur Distance, indiquée à l'extrême droite, indique 272 mm.

  • Ajustez la valeur de l'opérateur de comparaison de boucle finale à 300 millimètres (mm), comme indiqué ci-dessous. Cela permettra au robot VR de rouler vers l'avant lorsque la distance au mur est supérieure à 300 millimètres. Lorsqu'il est inférieur à 300 millimètres, le robot VR tourne à gauche, à l'endroit souhaité dans le labyrinthe mural.

        tandis quefront_distance.get_distance (MM) > 300
            :drivetrain.drive (FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for(LEFT, 90, DEGREES) 
  • Lancez le terrain de jeu Wall Maze s'il n'est pas déjà ouvert et exécutez le projet. Remarquez comment le robot VR tourne à gauche à l'emplacement de virage souhaité, de sorte qu'il est prêt à continuer à travers le labyrinthe jusqu'à la lettre « B ». VEXcode VR avec le projet affiché à gauche dans l'espace de travail et la position finale du robot VR sur le terrain de jeu. Le robot est maintenant tourné vers le bas, dans le chemin ouvert qui mènera à la lettre B, et n'est pas bloqué par un mur.
  • Ensuite, ajoutez les commandes suivantes à votre projet, après le dernier tour_pour la commande, afin que le robot VR continue sur son chemin vers la lettre « B ». Assurez-vous que les boucles while sont correctement indentées. 
  • 	while front_distance.get_distance(MM) > 50 :
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for (RIGHT, 90, DEGRÉS)
    
        while front_distance.get_distance (MM) > 50 :
            drivetrain.drive (FORWARD)
            wait(5, MSEC)
    
        drivetrain.turn_for (RIGHT, 90, DEGRÉS)
    
        while front_distance.get_distance (MM) > 50 :
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
    
        drivetrain.stop()
  • Lancez le terrain de jeu Wall Maze s'il n'est pas déjà ouvert et relancez le projet.

    Une vue de haut en bas du terrain de jeu du labyrinthe mural avec le robot VR arrêté sur la lettre B.
  • Le robot VR roule maintenant depuis le début de l'aire de jeux du labyrinthe mural et s'arrête sur la lettre « B ».
  • Notez que le changement de l'opérande droit à 300 millimètres a permis au robot VR de tourner à une distance plus éloignée du mur, ce qui était nécessaire pour tourner au bon endroit.
  • La valeur de distance indiquée dans le tableau de bord peut être utilisée pour observer à quelle distance le robot VR se trouvait d'un mur lorsqu'il devait se tourner pour atteindre la lettre « B ».
    La fenêtre du terrain de jeu avec le robot VR au point de virage pour naviguer vers le chemin ouvert jusqu'à la lettre B. La valeur de distance indiquée dans le tableau de bord indique 300 mm.

Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.