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.
Actes
drive — Déplace le robot vers l’avant ou vers l’arrière en permanence.
drive for — Déplace le robot vers l’avant ou vers l’arrière sur une distance spécifique.
tourner — Tourne le robot à gauche ou à droite en permanence.
tourner pour — Tourne le robot à gauche ou à droite d’un nombre spécifique de degrés.
tourner vers une direction — Tourne le robot vers une direction spécifique.
tourner à la rotation — Tourne le robot vers une rotation spécifique.
arrêter de conduire — Arrête le mouvement du robot.
Paramètres
définir la vitesse de déplacement — Indique au robot à quelle vitesse se déplacer.
définir la vitesse de rotation — Indique au robot à quelle vitesse tourner.
set drive heading — Change le cap actuel du robot en un nouveau cap.
set drive rotation — Change la rotation actuelle du robot en une nouvelle rotation.
set drive timeout — Définit le nombre de secondes pendant lesquelles le robot tentera de terminer un mouvement.
Valeurs
le déplacement est terminé — Indique si le robot a fini de se déplacer.
le véhicule est en mouvement — Indique si le robot est en mouvement.
direction de conduite — Indique la direction actuelle du robot de 0 à 359,99 degrés.
rotation du moteur — Indique la rotation actuelle du robot.
vitesse de déplacement — Indique la vitesse à laquelle le robot se déplace.
Mouvement – Déplacer et suivre les moteurs du robot.
Actes
faire tourner le moteur – Fait tourner un moteur en avant ou en arrière indéfiniment.
faire tourner le moteur pendant – Fait tourner un moteur sur une distance spécifique en degrés ou en tours.
faire tourner le moteur jusqu’à la position – Fait tourner un moteur jusqu’à une position spécifique.
arrêter le moteur – Empêche un moteur de tourner.
Paramètres
régler la vitesse du moteur – Indique au moteur à quelle vitesse tourner.
set motor timeout – Définit le temps pendant lequel un moteur essaiera de terminer un mouvement.
définir la position du moteur – Modifie la position actuelle du moteur à une nouvelle valeur.
Valeurs
moteur terminé – Indique si le moteur a fini de bouger.
le moteur tourne – Indique si le moteur tourne.
position du moteur – Indique la position actuelle du moteur.
vitesse du moteur – Indique la vitesse de rotation du moteur, en pourcentage de -100 % à 100 %.
Vision par IA – Capturez et analysez des objets à l’aide du capteur de vision par IA.
Actes
obtenir les données de l’objet – Capture les données pour une signature spécifique, telle qu’une classification d’IA détectée.
Paramètres
set object item – Sélectionne un objet spécifique dans la liste.
Valeurs
objet existe – Indique si une classification a été détectée.
object is – Renvoie si une classification est détectée.
object is AprilTag – Renvoie si l’objet détecté est un AprilTag correspondant à un ID spécifique.
object count – Renvoie le nombre d’objets détectés.
propriété de l’objet – Renvoie des détails tels que :
Détection – Utiliser les différents capteurs du robot.
Distance
Distance trouvée un objet – Indique si le capteur de distance détecte un objet à portée.
distance de l’objet – Indique la distance entre le capteur de distance et l’objet détecté le plus proche.
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 :
|
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 :
|
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é.
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 :
|
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.
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é.
<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 vu par la caméra [AIVision v] est [RedBluePin v] ?>
Paramètre |
Description |
|---|---|
objet |
À quel objet comparer l’élément :
|
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 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.
(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.
([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.
([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.
([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.
([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.
([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.
([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.
([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 :
|
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