Blocs spécifiques aux robots#

Introduction#

Le robot Hero Bot, Dex, comprend deux options de moteur, un capteur de vision IA, un capteur optique 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 25-26 Push Back 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.

Les exemples de cette page utilisent la position de départ par défaut du Playground.

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
[Drive forward, then stop.]
se déplacer en [avant v]
attendre (2) secondes
arrêter le déplacement

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
[Drive forward.]
se déplacer [avant v] sur (500) [mm 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
[Turn right, then stop.]
pivoter [droite v]
attendre (2) secondes
arrêter le déplacement

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
[Turn left, then turn around to the right.]
pivoter [à gauche v] de (90) degrés ▶
pivoter [droite v] de (180) degrés ▶

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
[Turn to face the cardinal directions.]
pivoter au cap (90) degrés ▶
attendre (2) secondes
pivoter au cap (180) degrés ▶
attendre (2) secondes
pivoter au cap (270) degrés ▶
attendre (2) secondes
pivoter au cap (0) degrés ▶
attendre (2) secondes

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
[Turn left, then spin in a circle clockwise and face right.]
pivoter d'un angle de (-90) degrés ▶
attendre (2) secondes
pivoter d'un angle de (450) degrés ▶

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
[Drive forward, then stop.]
se déplacer en [avant v]
attendre [4] secondes
arrêter le déplacement

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
[Drive forward at the default velocity.]
se déplacer [avant v] sur (100) [mm v] ▶
attendre (1) secondes
[Move slower.]
définir la vitesse de déplacement à (20) [% v]
se déplacer [avant v] sur (100) [mm v] ▶
attendre (1) secondes
[Move faster.]
définir la vitesse de déplacement à (100) [% v]
se déplacer [avant v] sur (100) [mm v] ▶
attendre (1) secondes

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 at default velocity.]
pivoter [droite v] de (100) degrés ▶
attendre (1) secondes
[Turn slower.]
définir la vitesse de rotation à (20)%
pivoter [droite v] de (100) degrés ▶
attendre (1) secondes
[Turn faster.]
définir la vitesse de rotation à (100)%
pivoter [droite v] de (100) degrés ▶
attendre (1) secondes

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
[Turn to the left.]
définir le cap du mobile à (90) 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
[Spin counterclockwise two times.]
définir la rotation du mobile à (720) 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, le temps de conduite est limité à 1 seconde, puis la roue effectue une rotation de 90 degrés.#
au démarrage :: hat events
[Drive forward for 1 second, then turn.]
définir le délai d'attente du mobile à (1) secondes
se déplacer [avant v] sur (25) [pouces v] ▶
pivoter [droite v] de (90) 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
[Start spinning when the drive is complete.]
se déplacer [avant v] sur (200) [mm v] ◀ et ne pas attendre
attendre jusqu'à <déplacement est terminé ?>
pivoter [droite v] de (360) degrés ▶

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
[Print that the robot is moving while it is still driving.]
se déplacer [avant v] sur (200) [mm v] ◀ et ne pas attendre
tant que <mobile en mouvement ?>
afficher [Still Moving...] ▶
attendre (0.1) secondes
effacer l'écran
fin
afficher [Done!] ▶

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
[Display the heading after turning.]
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
[Display the rotation after turning.]
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
[Display the velocity after driving.]
se déplacer [avant v] sur (200) [mm v] ▶
afficher (vitesse du mobile en [% v]) sur l'écran ◀ et placer le curseur sur la ligne suivante

Mouvement#

Dex utilise le moteur d’aspiration pour faire entrer les blocs dans le robot. Le moteur du convoyeur déplace les blocs de l’aspiration vers le haut du robot afin qu’ils puissent être poussés vers une cible.

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

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 [ConveyorMotor v] [en haut v]

Paramètres

Description

moteur

Le moteur à faire tourner : MoteurDeConvoyeur ou MoteurD’Aspiration.

direction

Sens de rotation du moteur :

  • Moteur de convoyeur — vers le haut ou vers le bas
  • Moteur d’admission — admission ou évacuation

Exemple

au démarrage
[Pick up a second Block.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [350] [mm 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 [ConveyorMotor v] [en haut v] de (90) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : MoteurDeConvoyeur ou MoteurD’Aspiration.

direction

Sens de rotation du moteur :

  • Moteur de convoyeur — vers le haut ou vers le bas
  • Moteur d’admission — admission ou évacuation

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
[Pick up a second Block.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [350] [mm 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 est initialisée à 0 degré. Il est également possible de la définir à 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 [ConveyorMotor v] jusqu'à la position (90) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : MoteurDeConvoyeur ou MoteurD’Aspiration.

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
[Pick up a second Block.]
faire tourner [ConveyorMotor v] jusqu'à la position [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [350] [mm v] ▶

moteur d’arrêt#

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

arrêter [ConveyorMotor v]

Paramètres

Description

moteur

Le moteur à arrêter : MoteurDeConvoyeur ou MoteurD’Aspiration.

Exemple

au démarrage
[Pick up a second Block.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [350] [mm v] ▶
arrêter [IntakeMotor 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 [ConveyorMotor v] à [50] [% v]

Paramètres

Description

moteur

Le moteur permettant de régler la vitesse de : ConveyorMotor ou IntakeMotor.

vitesse

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

unité

L’unité de vitesse : %.

Exemple

au démarrage
[Pick up a second Block.]
définir la vitesse de [ConveyorMotor v] à [100] [% v]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [400] [mm 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 [ConveyorMotor v] à [1] secondes

Paramètres

Description

moteur

Le moteur pour régler le délai d’expiration de : ConveyorMotor ou IntakeMotor.

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
[Pick up a second Block.]
définir le délai d'attente de [ConveyorMotor v] à [0.5] secondes
faire tourner [ConveyorMotor v] jusqu'à la position [1000] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [400] [mm 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 est initialement à 0 degré. Si le moteur effectue un tour complet dans un sens, la position sera de 360 ​​degrés, soit un tour. S’il tourne dans l’autre sens, la position sera négative.

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

Paramètres

Description

moteur

Le moteur doit indiquer la position de : ConveyorMotor ou IntakeMotor.

unité

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

Exemple

au démarrage
[Pick up a second Block.]
tant que <(position selon l'axe [ConveyorMotor v] en [degrés v]) [math_less_than v] [200]>
faire tourner [ConveyorMotor v] [en haut v]
fin
arrêter [ConveyorMotor v]
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [400] [mm 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 [ConveyorMotor v] sur (0) [degrés v]

Paramètres

Description

moteur

Le moteur pour régler la position de : ConveyorMotor ou IntakeMotor.

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.

Exemple

au démarrage
[Pick up a second Block.]
définir la position [ConveyorMotor v] sur [-200] [degrés v]
faire tourner [ConveyorMotor v] jusqu'à la position [0] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [400] [mm 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.

<[ConveyorMotor v] a fini de tourner ?>

Paramètres

Description

moteur

Le moteur qui doit signaler s’il a fini de se déplacer : ConveyorMotor ou IntakeMotor.

Exemple

au démarrage
[Pick up a second Block.]
faire tourner [ConveyorMotor v] jusqu'à la position [300] [degrés v] ◀ et ne pas attendre
se déplacer en [avant v]
faire tourner [IntakeMotor v] [entrée v]
attendre jusqu'à <[ConveyorMotor v] a fini de tourner ?>
arrêter le déplacement
arrêter [IntakeMotor v]

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 [ConveyorMotor v] est en train de tourner ?>

Paramètres

Description

moteur

Le moteur qui doit indiquer s’il tourne : ConveyorMotor ou IntakeMotor.

Exemple

au démarrage
[Pick up a second Block.]
faire tourner [ConveyorMotor v] jusqu'à la position [300] [degrés v] ◀ et ne pas attendre
attendre [0.1] secondes
tant que <le [ConveyorMotor v] est en train de tourner ?>
se déplacer [avant v] sur [200] [mm v] ▶
faire tourner [IntakeMotor v] [entrée 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 [ConveyorMotor v] en [% v] :: custom-motion)

Paramètres

Description

moteur

Le moteur qui doit indiquer la vitesse de : ConveyorMotor ou IntakeMotor.

unité

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

Exemple

au démarrage
[Pick up a second Block.]
définir la vitesse de [ConveyorMotor v] à [100] [% v]
faire tourner [ConveyorMotor v] jusqu'à la position [300] [degrés v] ◀ et ne pas attendre
attendre [0.2] secondes
afficher (vitesse de rotation de [ConveyorMotor v] en [% v] :: custom-motion) ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [400] [mm v] ▶

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 IA

Paramètre

Description

signature

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

  • Classifications IA - Détecte les blocs rouges et bleus.

Exemple

au démarrage
[If an object is detected, pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
attendre jusqu'à <appui sur [Bumper v] ?>
arrêter le déplacement
sortir

Paramètres#

élément d’objet de l’ensemble#

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
[Display what object is farthest away.]
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
définir [AIVision v] l'élément d'objet sur (nombre d'objets vus par la caméra [AIVision v])
effacer toutes les lignes
si <L'objet vu par la caméra [AIVision v] est [BlueBlock v] ?> alors
afficher [Blue Block farthest away.] ▶
sinon
afficher [Red Block farthest away.] ▶

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
[If an an object is detected, pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
attendre jusqu'à <appui sur [Bumper v] ?>
arrêter le déplacement
sortir

l’objet est#

Le bloc objet AI Vision 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 [BlueBlock v] ?>

Paramètre

Description

objet

À quel objet comparer l’élément :

  • Bloc bleu
  • Bloc rouge

Exemple

au démarrage
[Display what object is farthest away.]
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
définir [AIVision v] l'élément d'objet sur (nombre d'objets vus par la caméra [AIVision v])
effacer toutes les lignes
si <L'objet vu par la caméra [AIVision v] est [BlueBlock v] ?> alors
afficher [Blue Block farthest away.] ▶
sinon
afficher [Red Block farthest away.] ▶

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
[Display what object is farthest away.]
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
définir [AIVision v] l'élément d'objet sur (nombre d'objets vus par la caméra [AIVision v])
effacer toutes les lignes
si <L'objet vu par la caméra [AIVision v] est [BlueBlock v] ?> alors
afficher [Blue Block farthest away.] ▶
sinon
afficher [Red Block farthest away.] ▶

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
[If an an object is detected, approach and pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
si <([largeur v] de l'objet vu par la caméra [AIVision v]) [math_greater_than v] [65]> alors
arrêter le déplacement
sortir
sinon
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
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
[If an an object is detected, approach and pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
si <([hauteur v] de l'objet vu par la caméra [AIVision v]) [math_greater_than v] [55]> alors
arrêter le déplacement
sortir
sinon
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
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
[Pick up a Block from the top left group.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
pivoter [à gauche v] de [80] degrés ▶
se déplacer [avant v] sur [100] [mm v] ▶
définir la vitesse de rotation à [20] [% v]
pivoter [à gauche 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
si <<[140] [math_less_than v] ([centreX v] de l'objet vu par la caméra [AIVision v])> et <([centreX v] de l'objet vu par la caméra [AIVision v]) [math_less_than v] [180]>> alors
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
attendre jusqu'à <appui sur [Bumper v] ?>
arrêter le déplacement
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
[If an an object is detected, approach and pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
si <([centreY v] de l'objet vu par la caméra [AIVision v]) [math_greater_than v] [140]> alors
arrêter le déplacement
sortir
sinon
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
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
[Pick up a Block from the top left group.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
pivoter [à gauche v] de [80] degrés ▶
se déplacer [avant v] sur [100] [mm v] ▶
définir la vitesse de rotation à [20] [% v]
pivoter [à gauche 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
si <<[100] [math_less_than v] ([origineX v] de l'objet vu par la caméra [AIVision v])> et <([origineX v] de l'objet vu par la caméra [AIVision v]) [math_less_than v] [140]>> alors
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
attendre jusqu'à <appui sur [Bumper v] ?>
arrêter le déplacement
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
[If an an object is detected, approach and pick it up.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés 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
si <[120] [math_less_than v] ([origineY v] de l'objet vu par la caméra [AIVision v])> alors
arrêter le déplacement
sortir
sinon
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
fin
fin

Détection#

Optique#

L’appareil optique a détecté un objet#

Le bloc booléen Objet détecté par le capteur optique indique si le capteur optique détecte ou non un objet à portée.

  • Vrai — Le capteur optique détecte un objet.

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

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

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage
[Move the preloaded Block to the top of the Conveyor.]
faire tourner [ConveyorMotor v] [en haut v]
attendre jusqu'à <[Optical v] a trouvé un objet ?>
arrêter [ConveyorMotor v]

Détection optique des couleurs#

Le bloc booléen Détection optique de la couleur indique si le capteur optique détecte une couleur spécifiée, en fonction de la valeur de teinte détectée.

  • Vrai – Le capteur détecte la couleur spécifiée.

  • Faux – Le capteur ne détecte pas la couleur spécifiée.

<[Optical v] détecte du [rouge v] ?>

Paramètres

Description

couleur

Quelle couleur rechercher :

  • rouge – Valeur de teinte détectée entre 340° et 20°.
  • vert – Valeur de teinte détectée entre 80° et 140°.
  • bleu – Valeur de teinte détectée entre 200° et 240°.
  • jaune – Valeur de teinte détectée entre 40° et 60°.
  • orange – Valeur de teinte détectée entre 20° et 40°.
  • violet – Valeur de teinte détectée entre 240° et 280°.
  • cyan – Valeur de teinte détectée entre 140° et 200°.

Exemple

au démarrage
[Pick up and move a Blue Block to the top of the Conveyor.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [360] [mm v] ▶
faire tourner [ConveyorMotor v] [en haut v]
attendre jusqu'à <[Optical v] détecte du [bleu v] ?>
arrêter [ConveyorMotor v]

Luminosité optique#

Le bloc de rapport luminosité optique indique la quantité de lumière réfléchie vers le capteur optique, en pourcentage de 0 % à 100 %.

(luminosité détectée par [Optical v] en %)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage
[Move the preloaded Block to the top of the Conveyor.]
faire tourner [ConveyorMotor v] [en haut v]
attendre jusqu'à <[0] [math_less_than v] (luminosité détectée par [Optical v] en %)>
arrêter [ConveyorMotor v]

teinte optique#

Le bloc de rapport teinte optique indique la teinte détectée par le capteur optique sous forme d’un nombre compris entre 0 et 359 degrés.

La teinte est une façon de décrire une couleur à l’aide de nombres sur un cercle chromatique.

Une roue chromatique circulaire affichant un spectre complet de teintes étiquetées avec des valeurs en degrés sur le périmètre, augmentant par incréments de 30 degrés de 0° en haut à 360°.

(teinte détectée par [Optical v] en degrés)

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage
[Pick up and move a Blue Block to the top of the Conveyor.]
faire tourner [ConveyorMotor v] [en haut v] de [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer [avant v] sur [360] [mm v] ▶
faire tourner [ConveyorMotor v] [en haut v]
attendre jusqu'à <[240] [math_equal v] (teinte détectée par [Optical v] en degrés)>
arrêter [ConveyorMotor v]

lorsque optique#

Le bloc chapeau when Optical exécute la pile de blocs attachée chaque fois que le capteur optique détecte ou perd un objet.

quand [Optical v] [détecte v] un objet

Paramètres

Description

État

Lorsque la pile de blocs attachée s’exécutera : detects s’exécute lorsqu’un objet non détecté est détecté, tandis que loses s’exécute lorsqu’un objet détecté n’est plus détecté.

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
[Pick up a second Block.]
faire tourner [ConveyorMotor v] jusqu'à la position [200] [degrés v] ▶
faire tourner [IntakeMotor v] [entrée v]
se déplacer en [avant v]
attendre jusqu'à <[-450] [math_greater_than v] (position de [GPS v] selon l'axe [Y v] en [mm v])>
arrêter le déplacement

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
[Score the preloaded Block into a Center Goal.]
pivoter [à gauche v]
attendre jusqu'à <[40] [math_greater_than v] (cap [GPS v] en degrés)>
se déplacer [avant v] sur [1000] [mm v] ▶
pivoter [droite v]
attendre jusqu'à <(cap [GPS v] en degrés) [math_greater_than v] [310]>
se déplacer [en arrière v] sur [200] [mm v] ▶
faire tourner [ConveyorMotor v] [en haut v]