Blocs spécifiques aux robots#

Introduction#

Le robot héros, Flex, comprend un moteur à griffes, un moteur à bras, un capteur de vision IA, un capteur de distance et un capteur de système de positionnement de jeu (GPS).

Tous les blocs VR VEXcode standard sont disponibles pour une utilisation dans le V5 26-27 Override Playground.

Vous trouverez ci-dessous la liste de tous les blocs spécifiques aux robots disponibles :

Transmission – Déplacez et faites tourner le robot.

Mouvement – ​​Déplacer et suivre les moteurs du robot.

Vision par IA – Capturez et analysez des objets à l’aide du capteur de vision par IA.

Détection – Utiliser les différents capteurs du robot.

  • Distance

  • GPS

    • Position GPS – Renvoie la position X ou Y du capteur GPS.

    • Cap GPS – Renvoie le cap vers lequel le robot est actuellement orienté.

Les exemples de cette page utilisent l’emplacement de départ C de la liste de vérification d’avant-match du terrain de jeu.

Transmission#

La transmission contrôle la façon dont le robot VR se déplace et tourne. Elle peut avancer ou reculer, tourner à gauche ou à droite, s’orienter et suivre sa rotation.

Actes#

conduire#

Le bloc entraînement permet au robot d’avancer ou de reculer indéfiniment. Le robot continuera d’avancer jusqu’à ce qu’une autre action, comme tourner ou s’arrêter, lui soit commandée.

se déplacer en [avant v]

Paramètres

Description

direction

Direction de déplacement du robot : avant ou arrière.

Exemple

au démarrage :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer en [avant v]
attendre (0.5) secondes
arrêter le déplacement
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

conduire pour#

Le bloc commande pour déplace le robot vers l’avant ou vers l’arrière sur une distance précise. Le programme attendra que le robot ait terminé son déplacement avant de passer au bloc suivant.

se déplacer [avant v] sur (200) [mm v] ▶

Paramètres

Description

direction

Direction de déplacement du robot : avant ou arrière.

distance

La distance parcourue par le robot. Il peut s’agir d’un nombre entier ou décimal.

unité

Unité de distance : mm (millimètres) ou pouces

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

tourner#

Le bloc tourner permet au robot de tourner indéfiniment à gauche ou à droite. Il continuera de tourner jusqu’à ce qu’une autre action, comme avancer ou s’arrêter, lui soit assignée.

pivoter [droite v]

Paramètres

Description

direction

Direction dans laquelle le robot tourne : gauche ou droite.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter [à gauche v]
attendre (0.78) secondes
arrêter le déplacement
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

tourner pour#

Le bloc tourner pour fait pivoter le robot vers la gauche ou la droite d’un nombre précis de degrés. La rotation est relative à la position actuelle du robot. Le programme attendra que le robot ait terminé sa rotation avant d’exécuter le bloc suivant dans la pile.

pivoter [droite v] de (90) degrés ▶

Paramètres

Description

direction

Direction dans laquelle le robot tourne : gauche ou droite.

angle

Le nombre de degrés de rotation du robot. Il peut s’agir d’un nombre entier ou décimal.

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter [à gauche v] de (110) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

tourner à la direction#

Le cap est la direction vers laquelle le robot est orienté, mesurée en degrés. Le bloc tourner vers le cap oriente le robot vers un cap précis compris entre -359 et 359 degrés. Le robot empruntera le chemin le plus court pour atteindre le cap cible.

Le cap initial est de 0 degré.

Le projet attendra que le robot ait fini de tourner avant de lancer le bloc suivant de la pile.

pivoter au cap (90) degrés ▶

Paramètres

Description

titre

Le cap que le robot doit suivre, de -359 à 359 degrés.

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter au cap (-110) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

tourner à la rotation#

Le bloc d’empilement tourner en rotation fait pivoter le robot selon une rotation spécifique.

La rotation correspond à l’angle de rotation du robot, mesuré en degrés. Au début d’un projet, la valeur de rotation est fixée à 0 degré. La rotation peut également être définie à l’aide du bloc set drive rotation.

Les valeurs de rotation sont absolues. Cela signifie que le sens de rotation dépend de la rotation actuelle du robot. Tourner à droite augmente la rotation, et tourner à gauche la diminue.

Par exemple, si le robot démarre à 0 degré et que vous effectuez une rotation de 720 degrés, il tournera deux fois à droite. Si vous effectuez ensuite une rotation de 360 ​​degrés, il tournera une fois à gauche, car 360 est inférieur à 720.

Le projet attendra que le robot ait fini de tourner avant de lancer le bloc suivant de la pile.

pivoter d'un angle de (90) degrés ▶

Paramètres

Description

rotation

La valeur de rotation, en degrés, vers laquelle le robot effectuera une rotation. Il peut s’agir d’un nombre entier ou décimal.

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter d'un angle de (-110) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

arrêtez de conduire#

Le bloc stop driving arrête le mouvement du robot.

arrêter le déplacement

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer en [avant v]
attendre (0.5) secondes
arrêter le déplacement
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

Paramètres#

vitesse d’entraînement définie#

Le bloc réglage de la vitesse de déplacement indique au robot sa vitesse de déplacement. Un pourcentage plus élevé augmente la vitesse du robot, et un pourcentage plus faible la diminue.

Chaque projet commence avec le robot se déplaçant par défaut à 50 % de sa vitesse maximale.

Remarque : Une vitesse plus élevée rend le robot plus rapide, mais peut nuire à sa précision. Une vitesse plus faible le rend plus lent, mais peut améliorer sa précision.

définir la vitesse de déplacement à (50) [% v]

Paramètres

Description

vitesse

La vitesse à laquelle conduire, de 0 % à 100 %.

unité

Unité de vitesse : %

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter [à gauche v] de (110) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
définir la vitesse de déplacement à (100) [% v]
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

vitesse de virage définie#

Le bloc réglage de la vitesse de rotation indique au robot sa vitesse de rotation. Un pourcentage plus élevé accélère la rotation, et un pourcentage plus faible la ralentit.

Chaque projet commence par défaut avec le robot tournant à 50 % de sa vitesse maximale.

Remarque : Une vitesse plus élevée permet au robot de tourner plus vite, mais sa précision peut être moindre. Une vitesse plus faible permet au robot de tourner plus lentement, mais sa précision peut être accrue.

définir la vitesse de rotation à (50) [% v]

Paramètres

Description

vitesse

La vitesse de virage de 0 % à 100 %.

unité

Unité de vitesse : %

Exemple

au démarrage :: hat events
[Turn to face the Neutral Goal faster.]
définir la vitesse de rotation à (100) [% v]
pivoter [à gauche v] de (110) degrés ▶

direction de conduite réglée#

Le cap est la direction vers laquelle le robot est orienté, mesurée en degrés. Le bloc définir le cap de pilotage modifie le cap actuel du robot en lui attribuant une nouvelle valeur.

Par exemple, si le robot s’est tourné vers la droite, le fait de régler son cap à 0 degré fait de cette position (orientée vers la droite) le nouveau point de référence à 0 degré. Le robot peut ensuite se tourner vers d’autres positions en fonction de ce nouveau cap.

définir le cap du mobile à (0) degrés

Paramètres

Description

titre

La valeur du cap, en degrés, à définir pour le robot.

Exemple

au démarrage :: hat events
[Make facing the Neutral Goal the new heading.]
définir le cap du mobile à (110) degrés
pivoter au cap (0) degrés ▶

rotation du variateur#

La rotation correspond à l’angle de rotation du robot, mesuré en degrés. Au début d’un projet, la valeur de rotation est fixée à 0 degré. Le bloc définir la rotation du moteur permet de modifier la rotation actuelle du robot.

Par exemple, si le robot a effectué deux tours complets vers la droite, sa valeur de rotation sera de 720 degrés. Définir la rotation à 0 degré la réinitialisera de 720 à 0 degré. Le robot pourra ensuite effectuer des rotations en fonction de cette nouvelle valeur.

définir la rotation du mobile à (0) degrés

Paramètres

Description

rotation

Valeur de rotation, en degrés, à définir pour le robot. Il peut s’agir d’un entier ou d’un nombre décimal.

Exemple

au démarrage :: hat events
[Make facing the Neutral Goal the new rotation.]
définir la rotation du mobile à (110) degrés
pivoter d'un angle de (0) degrés ▶

définir le délai d’expiration du lecteur#

Le bloc set drive timeout définit le nombre de secondes pendant lesquelles le robot tente de terminer un mouvement. Si le robot ne parvient pas à terminer dans ce délai, il interrompt ses tentatives et passe au bloc suivant. Cela évite que le robot ne se bloque lors d’un mouvement.

définir le délai d'attente du mobile à (1) secondes

Paramètres

Description

temps

Le nombre de secondes pendant lesquelles le robot peut tenter de terminer un mouvement. Il peut s’agir d’un nombre entier ou décimal.

Exemple

au démarrage :: hat events
[Turn to face the Neutral Goal.]
définir le délai d'attente du mobile à (0.8) secondes
pivoter [à gauche v] de (180) degrés ▶

Valeurs#

Le trajet est terminé.#

Le bloc booléen fin de déplacement indique si le robot a terminé son mouvement. Cette information peut être utilisée pour contrôler le moment d’autres actions en fonction des mouvements du robot.

  • Vrai — Le robot a terminé son déplacement.

  • Faux — Le robot est toujours en mouvement.

Ce bloc fonctionne de concert avec les blocs de transmission qui possèdent le paramètre et ne pas attendre.

<déplacement est terminé ?>

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Score a Pin in a Neutral Goal.]
pivoter [à gauche v] de (110) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ◀ et ne pas attendre
attendre jusqu'à <déplacement est terminé ?>
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

Le lecteur est en marche#

Le bloc booléen le robot est en mouvement indique si le robot est en mouvement. Cette information peut être utilisée pour contrôler le moment d’autres comportements en fonction du mouvement du robot.

  • Vrai — Le robot est en mouvement.

  • Faux — Le robot ne bouge pas.

Ce bloc fonctionne de concert avec les blocs de transmission qui possèdent le paramètre et ne pas attendre.

<mobile en mouvement ?>

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Raise the Arm once stopped near the Goal.]
pivoter [à gauche v] de (110) degrés ▶
se déplacer [avant v] sur (25) [pouces v] ◀ et ne pas attendre
tant que <mobile en mouvement ?>
attendre (0.005) secondes
fin
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶

direction de conduite#

Le cap est la direction vers laquelle le robot est orienté, mesurée en degrés. Le bloc de rapport cap de conduite indique ce cap de 0 à 359,99 degrés.

Le cap initial du robot est de 0 degré.

(cap du mobile en degrés)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Turn to the Goal, then show heading.]
pivoter [droite v] de (450) degrés ▶
afficher (cap du mobile en degrés) sur l'écran ◀ et placer le curseur sur la ligne suivante

rotation d’entraînement#

La rotation correspond à l’angle de rotation du robot, mesuré en degrés. Au début d’un projet, la valeur de rotation est fixée à 0 degré. Le bloc de rapport rotation du moteur indique la rotation actuelle du robot.

Tourner à droite augmente la rotation, et tourner à gauche la diminue. Par exemple, deux virages complets à droite correspondent à une rotation de 720 degrés.

(rotation du mobile en degrés)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Spin to find a Pin, then show rotation.]
pivoter [droite v] de (450) degrés ▶
afficher (rotation du mobile en degrés) sur l'écran ◀ et placer le curseur sur la ligne suivante

vitesse d’entraînement#

Le bloc de rapport vitesse de déplacement indique la vitesse à laquelle le robot se déplace.

(vitesse du mobile en [% v])

Paramètres

Description

unité

Unité de vitesse : %

Exemple

au démarrage :: hat events
[Show speed while driving to the Goal.]
se déplacer [avant v] sur (150) [mm v] ▶
afficher (vitesse du mobile en [% v]) sur l'écran ◀ et placer le curseur sur la ligne suivante

Mouvement#

Flex utilise le moteur ArmMotor pour lever et abaisser le bras, et le moteur ClawMotor pour ouvrir et fermer la pince.

Chaque moteur possède ses propres options de direction. Le nom de cette direction décrit le sens de déplacement du moteur sur Flex.

Actes#

moteur de rotation#

Le bloc moteur rotatif fait tourner un moteur indéfiniment dans l’un des deux sens. Le moteur continuera de tourner jusqu’à ce qu’une autre action lui soit donnée, comme changer de sens de rotation ou s’arrêter.

faire tourner [ArmMotor v] [en haut v]

Paramètres

Description

moteur

Le moteur à faire tourner : ArmMotor ou ClawMotor.

direction

Sens de rotation du moteur :

  • Moteur du bras — vers le haut ou vers le bas
  • Moteur de la pince — ouvrir ou fermer

Exemple

au démarrage
[Raise the Arm before driving toward a Pin.]
faire tourner [ArmMotor v] [en haut v]
attendre (1) secondes
arrêter [ArmMotor v]

moteur de rotation pour#

Le bloc moteur de rotation pour fait tourner un moteur sur une distance précise. Cette distance est relative à la position actuelle du moteur. Le programme attendra la fin de la rotation du moteur avant de passer au bloc suivant dans la pile.

faire tourner [ArmMotor v] [en haut v] de (90) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : ArmMotor ou ClawMotor.

direction

Sens de rotation du moteur :

  • Moteur du bras — vers le haut ou vers le bas
  • Moteur de la pince — ouvrir ou fermer

distance

Distance de rotation du moteur. Les degrés sont exprimés en nombres entiers. Les tours peuvent être exprimés en nombres entiers ou décimaux.

unité

L’unité de distance : degrés ou tours.

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage
[Raise the Arm to carry the Pin to the Goal.]
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶

moteur de rotation en position#

Le bloc spin motor to position fait tourner un moteur jusqu’à une position spécifique.

La position d’un moteur correspond à sa rotation, mesurée en degrés ou en tours. Un tour équivaut à 360 degrés. Au début d’un projet, la position du moteur ArmMotor est initialement à 0 degré. Le moteur ClawMotor fait exception : sa position initiale est de 467 degrés (position complètement fermée). La position du moteur peut également être définie à l’aide du bloc définir la position du moteur.

Les valeurs de position sont absolues. Cela signifie que le sens de rotation dépend de la position actuelle du moteur.

Par exemple, si le moteur démarre à 0 degré et atteint une position de 720 degrés, il effectuera deux tours dans le sens horaire. S’il atteint ensuite une position de 360 ​​degrés, il effectuera un tour dans le sens antihoraire, car 360 est inférieur à 720.

faire tourner [ArmMotor v] jusqu'à la position (90) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : ArmMotor ou ClawMotor.

position

La valeur de la position de rotation du moteur. Les degrés utilisent des nombres entiers. Les tours peuvent utiliser des nombres entiers ou décimaux.

unité

L’unité de position : degrés ou tours.

et n’attendez pas

Sélectionnez la flèche ( ▶ ) pour développer le bloc et dire et n’attendez pas, afin que le bloc suivant dans la pile s’exécute immédiatement.

Exemple

au démarrage
[Raise the Arm, then release the Pin.]
faire tourner [ArmMotor v] jusqu'à la position (800) [degrés v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

moteur d’arrêt#

Le bloc arrêt moteur arrête le moteur sélectionné.

arrêter [ArmMotor v]

Paramètres

Description

moteur

Le moteur à arrêter : ArmMotor ou ClawMotor.

Exemple

au démarrage
[Raise the Arm partway to hold the Pin.]
faire tourner [ArmMotor v] [en haut v]
attendre (1) secondes
arrêter [ArmMotor v]

Paramètres#

vitesse du moteur réglée#

Le bloc réglage de la vitesse du moteur indique au moteur sa vitesse de rotation. Un pourcentage plus élevé accélère la rotation, et un pourcentage plus faible la ralentit.

Chaque projet commence avec chaque moteur tournant par défaut à 50 % de sa vitesse maximale.

Remarque : Une vitesse plus élevée fait tourner le moteur plus vite, mais sa précision peut être moindre. Une vitesse plus faible fait tourner le moteur plus lentement, mais sa précision peut être accrue.

définir la vitesse de [ArmMotor v] à [50] [% v]

Paramètres

Description

moteur

Le moteur permettant de régler la vitesse de : ArmMotor ou ClawMotor.

vitesse

La vitesse de rotation du moteur. Pourcentage utilise des nombres entiers de 0 % à 100 %.

unité

L’unité de vitesse : %.

Exemple

au démarrage
[Raise the Arm fast to release the Pin.]
définir la vitesse de [ArmMotor v] à [100] [% v]
faire tourner [ArmMotor v] [en haut v] de (800) [degrés v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

Régler le délai d’attente du moteur#

Le bloc définir le délai d’attente du moteur détermine la durée pendant laquelle un moteur tente de terminer un mouvement. Si le moteur ne parvient pas à terminer dans ce délai, il s’arrête et passe au bloc suivant dans la pile. Cela évite que le moteur ne se bloque.

définir le délai d'attente de [ArmMotor v] à [1] secondes

Paramètres

Description

moteur

Le moteur pour régler le délai d’expiration de : ArmMotor ou ClawMotor.

temps

Le nombre de secondes pendant lesquelles le moteur peut tenter de terminer un mouvement. Il peut s’agir d’un nombre entier ou décimal.

Exemple

au démarrage
[Score a Pin in a Neutral Goal.]
pivoter [à gauche v] de (110) degrés ▶
définir le délai d'attente de [ArmMotor v] à [1] secondes
faire tourner [ArmMotor v] [en haut v] de (1800) [degrés v] ▶
se déplacer [avant v] sur (25) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

Position#

position du moteur#

La position d’un moteur correspond à sa rotation, mesurée en degrés ou en tours. Un tour équivaut à 360 degrés. Le bloc de rapport de position du moteur indique la position actuelle du moteur.

Au début d’un projet, la position du moteur à bras est fixée à 0 degré. Le moteur à griffes fait exception : il démarre à 467 degrés (position complètement fermée). Si le moteur effectue un tour complet dans un sens, la position augmente. S’il tourne dans l’autre sens, la position diminue.

(position selon l'axe [ArmMotor v] en [degrés v])

Paramètres

Description

moteur

Le moteur qui indique la position de : ArmMotor ou ClawMotor.

unité

L’unité pour indiquer la position du moteur : degrés ou tours.

Exemple

au démarrage
[Raise the Arm, then release the Pin.]
tant que <(position selon l'axe [ArmMotor v] en [degrés v]) < (800)>
faire tourner [ArmMotor v] [en haut v]
attendre (0.002) secondes
fin
arrêter [ArmMotor v]
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

position du moteur#

La position d’un moteur correspond à sa rotation, mesurée en degrés ou en tours. Un tour équivaut à 360 degrés. Le bloc définir la position du moteur permet de modifier la position actuelle du moteur.

Par exemple, si un moteur a effectué une rotation de 180 degrés, le fait de régler sa position à 0 degré la ramènera de 180 à 0 degré. Le moteur pourra ensuite effectuer des rotations en fonction de cette nouvelle valeur.

définir la position [ArmMotor v] sur (0) [degrés v]

Paramètres

Description

moteur

Le moteur pour régler la position de : ArmMotor ou ClawMotor.

position

Valeur de position à définir pour le moteur. Degrés : nombres entiers. Tours : nombres entiers ou décimaux.

unité

L’unité de position : degrés ou tours.

Exemple

au démarrage
[Reset encoder, raise Arm, place Pin.]
définir la position [ArmMotor v] sur (0) [degrés v]
faire tourner [ArmMotor v] jusqu'à la position (800) [degrés v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

Valeurs#

Le moteur est terminé#

Le bloc booléen moteur arrêté indique si le moteur a terminé son mouvement. Cette information peut être utilisée pour contrôler le moment d’autres actions en fonction du mouvement du moteur.

  • Vrai — Le moteur a fini de tourner.

  • Faux — Le moteur tourne toujours.

Ce bloc fonctionne avec les blocs Motion suivants qui ont le paramètre et ne pas attendre : faire tourner le moteur pendant et faire tourner le moteur jusqu’à la position.

<[ArmMotor v] a fini de tourner ?>

Paramètres

Description

moteur

Le moteur qui indique s’il a terminé son mouvement : ArmMotor ou ClawMotor.

Exemple

au démarrage
[Raise the Arm while driving to the Goal.]
faire tourner [ArmMotor v] jusqu'à la position (800) [degrés v] ◀ et ne pas attendre
attendre (0.1) secondes
tant que <pas <[ArmMotor v] a fini de tourner ?>>
se déplacer en [avant v]
attendre (0.005) secondes
fin
arrêter le déplacement

Le moteur tourne#

Le bloc booléen le moteur tourne indique si le moteur est en marche. Cette information peut être utilisée pour contrôler le moment d’autres actions en fonction du mouvement du moteur.

  • Vrai — Le moteur tourne.

  • Faux — Le moteur ne tourne pas.

Ce bloc fonctionne avec les blocs Motion suivants qui ont le paramètre et ne pas attendre : faire tourner le moteur pendant et faire tourner le moteur jusqu’à la position.

<le [ArmMotor v] est en train de tourner ?>

Paramètres

Description

moteur

Le moteur qui indique s’il tourne : ArmMotor ou ClawMotor.

Exemple

au démarrage
[Raise the Arm while driving to the Goal, then release the Pin.]
faire tourner [ArmMotor v] jusqu'à la position (800) [degrés v] ◀ et ne pas attendre
attendre (0.1) secondes
tant que <le [ArmMotor v] est en train de tourner ?>
se déplacer [avant v] sur (20) [mm v] ▶
fin
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

vitesse du moteur#

Le bloc de rapport vitesse du moteur indique la vitesse de rotation du moteur, en pourcentage, de -100 % à 100 %.

(vitesse de rotation de [ArmMotor v] en [% v] :: custom-motion)

Paramètres

Description

moteur

Le moteur dont il faut indiquer la vitesse : ArmMotor ou ClawMotor.

unité

L’unité dans laquelle indiquer la vitesse du moteur : %.

Exemple

au démarrage
[Show Arm Motor velocity while raising.]
définir la vitesse de [ArmMotor v] à [100] [% v]
faire tourner [ArmMotor v] jusqu'à la position (800) [degrés v] ◀ et ne pas attendre
attendre (0.2) secondes
afficher (vitesse de rotation de [ArmMotor v] en [% v] :: custom-motion) sur l'écran ◀ et placer le curseur sur la ligne suivante

Vision IA#

Actes#

obtenir les données de l’objet#

Le bloc obtenir les données de l’objet filtre les données de l’image du capteur de vision IA pour obtenir une signature unique : une description enregistrée de quelque chose que le capteur peut reconnaître, comme un élément de jeu sur le terrain.

L’ensemble de données stocke les objets classés par largeur décroissante, à partir de l’index 0. Les propriétés de chaque objet sont accessibles via le bloc AI Vision object property. Un ensemble de données vide est renvoyé si aucun objet correspondant n’est détecté.

Bloc de pile Get object data.#
obtenir [Classifications IA v] des données de la caméra [AIVision v]

Paramètre

Description

signature

Filtre l’ensemble de données pour n’inclure que les données de la signature spécifiée. Les signatures disponibles sont :

  • Classifications IA - Détecte les éléments de jeu RedBluePin, BlueYellowPin, RedYellowPin, YellowPin et Cup.
  • AprilTags - Détecte les identifiants AprilTag présents sur le terrain.

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Turn to face the Pin.]
définir la vitesse de rotation à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([centreX v] de l'objet vu par la caméra [AIVision v]) < (140)> then
pivoter [à gauche v]
else if <([AIVision v] object [centerX v]) > (180)> then
pivoter [droite v]
sinon
arrêter le déplacement
sortir
fin
fin
fin

Paramètres#

élément d’objet défini#

Le bloc set object item définit quel élément du jeu de données utiliser.

Bloc de pile d’éléments de l’objet Set AI Vision.#
définir [AIVision v] l'élément d'objet sur [1]

Paramètres

Description

article

Le numéro de l’élément à utiliser dans l’ensemble de données.

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
obtenir [Classifications IA v] des données de la caméra [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <La caméra [AIVision v] voit-elle un objet ?> alors
[If any AI Classification is detected, check if any of them are a specific game element.]
si <L'objet vu par la caméra [AIVision v] est [RedBluePin v] ?> alors
afficher [RedBluePin detected.] ▶
sinon
afficher [No RedBluePin detected.] ▶
fin
fin

Valeurs#

L’objet existe#

Le bloc objet existe renvoie une valeur booléenne indiquant si un objet est détecté dans l’ensemble de données.

  • Vrai – L’ensemble de données comprend un objet détecté.

  • Faux – L’ensemble de données ne contient aucun objet détecté.

L’objet AI Vision existe sous forme de bloc booléen.#
<La caméra [AIVision v] voit-elle un objet ?>

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
obtenir [Classifications IA v] des données de la caméra [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
si <La caméra [AIVision v] voit-elle un objet ?> alors
afficher (nombre d'objets vus par la caméra [AIVision v]) ◀ et placer le curseur sur la ligne suivante
fin

l’objet est#

Le bloc object is renvoie une valeur booléenne indiquant si un objet détecté correspond à une classification spécifique.

  • Vrai – L’élément du jeu de données est l’objet spécifique.

  • Faux – L’élément du jeu de données n’est pas l’objet spécifique.

L’objet AI Vision est un bloc booléen.#
<L'objet vu par la caméra [AIVision v] est [RedBluePin v] ?>

Paramètre

Description

objet

À quel objet comparer l’élément :

  • Épingle rouge/bleue
  • Épingle bleue/jaune
  • Épingle rouge/jaune
  • Épingle jaune
  • Tasse

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
si <L'objet vu par la caméra [AIVision v] est [RedBluePin v] ?> alors
afficher [RedBluePin detected.] ▶
sinon
afficher [No RedBluePin detected.] ▶
fin
fin

L’objet est AprilTag#

Le bloc object is AprilTag renvoie une valeur booléenne indiquant si l’objet détecté est un AprilTag correspondant à un ID spécifique.

  • Vrai – L’objet détecté est un AprilTag avec l’ID indiqué.

  • Faux – L’objet détecté n’est pas un AprilTag avec l’ID donné.

L’objet est un bloc booléen AprilTag.#
<L'objet vu par la caméra [AIVision v] objet est-il AprilTag [0]?>

Paramètre

Description

Identifiant d’étiquette d’avril

Le numéro d’identification à comparer avec l’AprilTag détecté.

Exemple

au démarrage
[Report if AprilTag 3 is detected.]
obtenir [AprilTags v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
si <L'objet vu par la caméra [AIVision v] objet est-il AprilTag [3]?> alors
afficher [That is 3!] ▶
sinon
afficher [That isn't 3!] ▶
fin
fin

nombre d’objets#

Le bloc nombre d’objets renvoie le nombre d’objets détectés dans l’ensemble de données sous forme d’entier.

Bloc de pile d’éléments de l’objet Set AI Vision.#
(nombre d'objets vus par la caméra [AIVision])

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
afficher (nombre d'objets vus par la caméra [AIVision v]) ◀ et placer le curseur sur la ligne suivante
fin

propriété d’objet#

Il existe six propriétés incluses avec chaque objet (indiquées ci-dessous) stockées après l’utilisation du bloc get object data.

Bloc de reporting des propriétés de l’objet AI Vision.#
([largeur v] de l'objet vu par la caméra [AIVision v])

Toutes les valeurs de propriétés décrivent la position et la taille de l’objet détecté dans le champ de vision du capteur de vision IA au moment où le bloc obtenir les données de l’objet a été utilisé. Ces valeurs sont exprimées en pixels, selon la résolution de 320 x 240 pixels du capteur.

Paramètre

Description

propriété

Quelle propriété de l’objet détecté utiliser :

largeur#

La propriété largeur indique la largeur de l’objet détecté en pixels sous forme d’un nombre entier compris entre 1 et 320.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur largeur.#
([largeur v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Approach the next Cup and Pin.]
définir la vitesse de déplacement à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([AIVision v] object [width v]) > (140)> then
arrêter le déplacement
sortir
sinon
se déplacer en [avant v]
fin
fin
fin
hauteur#

La propriété hauteur indique la hauteur de l’objet détecté en pixels sous forme d’un nombre entier compris entre 1 et 240.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur hauteur.#
([hauteur v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Approach the next Cup and Pin.]
définir la vitesse de déplacement à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([AIVision v] object [height v]) > (200)> then
arrêter le déplacement
sortir
sinon
se déplacer en [avant v]
fin
fin
fin
centreX#

La propriété centerX indique la coordonnée x du centre de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 320.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur centerX.#
([centreX v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Turn and approach the next Cup and Pin.]
définir la vitesse de rotation à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([centreX v] de l'objet vu par la caméra [AIVision v]) < (140)> then
pivoter [à gauche v] de (5) degrés ▶
sinon
se déplacer [avant v] sur (25) [pouces v] ▶
sortir
fin
fin
fin
centreY#

La propriété centerY indique la coordonnée y du centre de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 240.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur centerY.#
([centreY v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Approach the next Cup and Pin.]
définir la vitesse de déplacement à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([AIVision v] object [centerY v]) > (230)> then
arrêter le déplacement
sortir
sinon
se déplacer en [avant v]
fin
fin
fin
originX#

La propriété originX indique la coordonnée x du coin supérieur gauche de la boîte englobante de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 320.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur originX.#
([origineX v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Turn and approach the next Cup and Pin.]
définir la vitesse de rotation à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([origineX v] de l'objet vu par la caméra [AIVision v]) < (100)> then
pivoter [à gauche v] de (5) degrés ▶
sinon
se déplacer [avant v] sur (25) [pouces v] ▶
sortir
fin
fin
fin
origine#

La propriété originY indique la coordonnée y du coin supérieur gauche de la boîte englobante de l’objet détecté en pixels sous forme d’un nombre entier compris entre 0 et 240.

Le bloc de pile de propriétés de l’objet AI Vision avec son paramètre défini sur originY.#
([origineY v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
pivoter [à gauche v] de (70) degrés ▶
[Approach the next Cup and Pin.]
définir la vitesse de déplacement à (30) [% v]
indéfiniment
obtenir [Classifications IA v] des données de la caméra [AIVision v]
si <La caméra [AIVision v] voit-elle un objet ?> alors
if <([AIVision v] object [originY v]) > (140)> then
arrêter le déplacement
sortir
sinon
se déplacer en [avant v]
fin
fin
fin

Détection#

Distance#

Distance trouvée un objet#

Le bloc booléen Distance trouvée par un objet indique si le capteur de distance détecte actuellement un objet à moins de 2000 mm.

  • Vrai — Le capteur de distance détecte un objet.

  • Faux — Le capteur de distance ne détecte aucun objet.

<[FrontDistance v] a trouvé un objet ?>

Paramètres

Description

capteur de distance

Capteur de distance à utiliser. Choisissez parmi les capteurs de distance disponibles pour Flex.

Exemple

au démarrage :: hat events
[Turn until something is detected, then release the Pin.]
pivoter [droite v]
attendre jusqu'à <[FrontDistance v] a trouvé un objet ?>
arrêter le déplacement
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

distance objet#

Le bloc de rapport distance de l’objet indique la distance entre le capteur de distance et l’objet détecté le plus proche.

(distance entre [FrontDistance v] et l'objet en [mm v])

Paramètres

Description

capteur de distance

Capteur de distance à utiliser. Choisissez parmi les capteurs de distance disponibles pour Flex.

unité

Unité de distance : mm ou pouces.

Exemple

au démarrage :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
se déplacer en [avant v]
attendre jusqu'à <(distance entre [FrontDistance v] et l'objet en [mm v]) < (200)>
arrêter le déplacement
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

GPS#

position GPS#

Le bloc position GPS renvoie le décalage de position du point de référence de virage du robot par rapport au centre d’un terrain avec le capteur GPS (Game Positioning System™).

(position de [GPS v] selon l'axe [X v] en [mm v])

Paramètres

Description

axe

Quel axe afficher :

  • X
  • Y

unités

L’unité de mesure de la position : mm ou pouces

Exemple

au démarrage :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer en [avant v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
arrêter le déplacement
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶

cap GPS#

Le bloc cap GPS renvoie le cap vers lequel le robot est actuellement orienté en fonction des lectures du capteur GPS (Game Positioning System™) à partir du code de champ GPS VEX de 0,00 à 359,99 degrés.

(cap [GPS v] en degrés)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
faire tourner [ArmMotor v] [en haut v] de (300) [degrés v] ▶
se déplacer [avant v] sur (10) [pouces v] ▶
faire tourner [ClawMotor v] [ouvrir v] de (180) [degrés v] ▶
[Turn left to face the Neutral Goal.]
définir la vitesse de rotation à (30) [% v]
pivoter [à gauche v]
attendre jusqu'à <(cap [GPS v] en degrés) < (18)>
arrêter le déplacement