Skip to main content

Leçon 3 : Utilisation de la rétroaction des capteurs signalée pour placer les disques dans l'objectif

Dans la leçon 2, le robot VR a fait marche arrière jusqu'au point de départ pour déposer le disque. Cela nécessitait que l'utilisateur calcule la distance exacte à parcourir par le robot VR. Cela n'est pas toujours possible. Au lieu de cela, le robot VR peut utiliser les valeurs de capteur signalées pour ramasser et déposer des disques avec une précision constante. 

La leçon 3 utilise les commentaires des capteurs pour déterminer où le robot VR doit arrêter de conduire lors du retour à l'objectif. En utilisant le <Eye Sensor near object> bloc plus tôt dans cette leçon, il n'est pas nécessaire de connaître la distance entre l'objectif et chaque disque.

Robot VR sur le terrain de jeu Disk Mover avec le premier disque bleu attaché à l'électroaimant.

Le robot VR retournera vers l'objectif bleu en utilisant les données du capteur de distance pour déterminer où arrêter la conduite. Une fois que le robot VR s'est arrêté à l'intérieur de l'objectif bleu, le robot VR laissera tomber le disque bleu.

  • Continuez à travailler sur le projet Unit8Lesson3.
  • Le capteur de distance mesure la distance entre l'avant du robot VR et l'objet le plus proche. Pour cette raison, le robot VR devra tourner autour de 180 degrés avant de revenir vers l'objectif bleu.
  • Le robot VR utilisera le capteur de distance avec la paroi arrière de l'aire de jeux afin de déterminer où déposer le disque. Pour cette raison, le robot VR devra tourner autour de 180 degrés avant de revenir vers l'objectif bleu.
  • Le bloc [Tourner au cap] peut être utilisé pour s'assurer que le robot VR tourne au bon cap.

    VEXcode VR Activez le bloc d'en-tête dans la boîte à outils. Le bloc indique « Tournez en cap à 90 degrés ».

Utilisation des blocs de commutation 

C'est le bloc Switch [turn to heading]. Vous pouvez modifier le degré du virage en modifiant la valeur numérique entre parenthèses. N'oubliez pas que le nombre doit être écrit avant l'unité de mesure (DEGRÉS), séparé par une virgule. 

VEXcode VR Passez au bloc de commutation de cap, avec la commande Python qui lit le point de transmission turn_to_heading (90, DEGRÉS).

Pour votre information

Le bloc [Tourner en cap] transforme le robot VR en un cap spécifique à l'aide du capteur gyroscopique. La direction dans laquelle le robot VR va tourner (à gauche ou à droite) est déterminée en fonction du cap actuel du capteur Gyro. Le bloc [Tourner vers le cap] est utilisé pour diriger le robot VR vers un cap spécifique, quelle que soit la position du robot VR. Lorsque vous prenez ou déposez un disque, le robot VR peut déraper. L'utilisation du bloc [Tourner au cap] garantit que le robot VR se tournera vers la position absolue plutôt que vers une position par rapport au cap précédent.

Un diagramme des emplacements de cap en degrés du robot VR. Il y a un cercle avec une vue de haut en bas du robot VR au centre, avec l'avant du robot vers le haut vers le cap 0 degré. Dans le sens des aiguilles d'une montre, chaque cap de 90 degrés suivant est marqué comme 90 degrés, 180 degrés et 270 degrés.
  • Ajoutez un bloc [Tourner vers le titre] sous le troisième commentaire.

    Le même projet VEXcode VR que la page précédente, avec un virage au bloc d'en-tête ajouté sous le troisième commentaire. Le projet se lit maintenant Lorsque démarré, commentez le lecteur sur le premier disque bleu, avec une répétition jusqu'à ce que le bas de l'œil soit proche de l'objet, avancez, puis arrêtez de conduire. Ensuite, il y a un commentaire pour prendre le premier disque bleu avec un électroaimant de mise sous tension pour booster le bloc. Le troisième commentaire indique conduire jusqu'à l'objectif bleu et passe ensuite au bloc de cap à 90 degrés.
  • Réglez le bloc [Tourner en cap] à 180 degrés.

    Le même projet VEXcode VR avec le paramètre du bloc Turn to heading est passé à 180 degrés. Maintenant, la troisième section de commentaire du projet indique Conduire jusqu'à l'objectif bleu, Tourner à 180 degrés.
  • Maintenant que le robot VR est orienté vers la position de départ, le robot VR devra revenir à l'objectif bleu. Ajoutez un bloc [Repeat until] sous le bloc [Turn to heading].

    Le même projet VEXcode VR avec un bloc Repeat until ajouté après le bloc Turn to head. Le paramètre du Répéter jusqu'à ce que le bloc soit vide.
  • Pour revenir à l'objectif bleu, le robot VR utilisera les données du capteur de distance pour déterminer quand le robot VR se trouve à l'intérieur de l'objectif bleu. Comme indiqué dans la leçon précédente, chaque carré de grille sur le terrain de jeu du déplaceur de disque mesure 200 millimètres (mm) par 200 millimètres (mm).

    Une vue rapprochée de haut en bas du coin inférieur gauche de l'aire de jeux Disk Mover avec les dimensions d'un carré quadrillé sur l'aire de jeux de 200 mm de haut sur 200 mm de large.
  • À l'aide de ces mesures, le centre de l'objectif bleu peut être déterminé à environ 200 millimètres (mm) du mur de l'aire de jeux.

    Une vue rapprochée de haut en bas du but bleu dans le coin inférieur gauche de l'aire de jeux Disk Mover, avec la dimension approximative du mur au centre du but étiquetée comme 200 mm.
  • Le robot VR doit arrêter de conduire lorsque le capteur de distance signale que le robot VR se trouve à moins de 200 millimètres (mm) du mur de l'aire de jeu. Ajoutez les blocs suivants au bloc [Répéter jusqu'au].

    Le même projet VEXcode VR avec un bloc opérateur inférieur à avec une distance avant nest en mm dans le paramètre du bloc Repeat until. Maintenant, la troisième section de commentaire du projet indique Conduire jusqu'à l'objectif bleu ; passer au cap à 180 degrés ; répéter jusqu'à ce que la distance avant en mm soit inférieure à 50.
  • Modifiez le paramètre dans le <Less than> bloc à 200.

    Le même projet, avec le paramètre du bloc inférieur à changé à 200. Maintenant, le bloc Répéter jusqu'à indique « Répéter jusqu'à ce que la distance avant en mm soit inférieure à 200 ».
  • Ajoutez un bloc [Drive] dans ce bloc [Repeat until]. Cela demandera au robot VR de rouler vers l'avant jusqu'à ce que le capteur de distance signale une distance inférieure à 200 millimètres (mm).

    Le même projet avec un bloc Drive ajoute à l'intérieur du C du bloc Repeat until. La troisième section de commentaire du projet indique maintenant Conduire jusqu'à l'objectif bleu ; Tournez le cap à 180 degrés, répétez jusqu'à ce que la distance avant en mm soit inférieure à 200, conduisez vers l'avant.
  • Une fois que le robot VR a atteint l'objectif bleu (200 mm du mur), le robot VR devra arrêter de conduire. Ajoutez un bloc [Arrêter de conduire] sous le bloc [Répéter jusqu'à].

    Le même projet avec un bloc de conduite Stop ajouté après le bloc Repeat until. La troisième section de commentaire indique maintenant Conduire jusqu'à l'objectif bleu ; Répétez jusqu'à ce que la distance avant en mm soit inférieure à 200, Conduisez en avant ; puis arrêtez de conduire.
  • Maintenant que le robot VR est arrêté dans l'objectif bleu, il peut laisser tomber le disque. Ajoutez un bloc [Energize Electromagnet] sous le quatrième commentaire et réglez le bloc sur « Drop ».

    Le même projet avec un bloc d'électro-aimant Energize, avec le paramètre réglé sur drop, ajouté après le quatrième commentaire. La quatrième section de commentaire indique maintenant Déposez le disque bleu dans l'objectif bleu, activez l'aimant à déposer.
  • Le robot VR devra rouler en marche arrière sur une courte distance pour éviter de renverser ou d'entrer en collision avec des disques. Une collision avec un disque pourrait potentiellement faire dérailler le robot VR. Ajoutez les blocs suivants pour demander au robot VR de rouler en marche arrière sur 100 millimètres (mm) et de revenir à un cap de 0 degré.

    Le même projet avec un bloc Drive for block et un bloc Turn to heading ajoutés au bas de la pile. Maintenant, le quatrième commentaire indique Déposez le disque bleu dans l'objectif bleu ; Activez l'aimant pour qu'il tombe ; Conduisez en sens inverse pendant 100 mm, passez au cap 0 degrés.
  • Ouvrez le Disk Mover Playground s'il n'est pas déjà ouvert et exécutez le projet.
  • Le robot VR avance, prend le premier disque, puis se tourne vers un cap de 180 degrés pour faire face à l'objectif bleu. Le robot VR utilise ensuite les valeurs du capteur de distance pour déterminer quand arrêter de conduire et laisser tomber le disque bleu.

    Une vue latérale rapprochée du terrain de jeu Disk Mover avec le disque bleu placé dans le but bleu et le robot VR faisant face aux disques restants sur le terrain de jeu, au bord du but bleu.
  • Remarquez comment le deuxième bloc [Repeat until] fonctionne dans cette partie du projet.
    • Lorsque le capteur de distance sur le robot VR détecte que le mur de l'aire de jeu est à moins de 200 millimètres (mm), le projet passera au bloc suivant dans la pile sous le bloc [Répéter jusqu'à].
    • Dans ce projet, cela signifiait que le robot VR arrêtait de conduire et laissait tomber l'électro-aimant dans l'objectif bleu.

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