Blocs spécifiques aux robots#

Introduction#

Le robot héros Flop comprend un moteur d’admission, un moteur de bras et un capteur de vision IA IQ.

Tous les blocs VR VEXcode standard sont disponibles pour une utilisation dans le terrain de jeu IQ 26-27 Level Up.

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

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 IQ.

  • Actes

  • Paramètres

  • Valeurs

    • objet existe - Indique si une classification a été détectée.

    • object is - Renvoie si une classification spécifique est détectée.

    • object is AprilTag - Renvoie si l’objet détecté est un AprilTag correspondant à un ID spécifique.

    • nombre d’objets - Renvoie le nombre d’objets détectés.

    • propriété de l’objet - Renvoie la largeur, la hauteur, le centreX, le centreY, l’origineX ou l’origineY.

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

Mouvement#

Flop utilise le moteur d’aspiration pour collecter et éjecter les éléments du jeu. Le moteur du bras permet de lever et d’abaisser ce dernier.

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

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 [IntakeMotor v] [entrée v]

Paramètres

Description

moteur

Le moteur à faire tourner : IntakeMotor ou ArmMotor.

direction

Sens de rotation du moteur :

  • Moteur d’admission — admission ou échappement
  • Moteur de bras — haut ou bas

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 (500) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : IntakeMotor ou ArmMotor.

direction

Sens de rotation du moteur :

  • Moteur d’admission — admission ou échappement
  • Moteur de bras — haut ou bas

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
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 [ArmMotor v] jusqu'à la position (500) [degrés v] ▶

Paramètres

Description

moteur

Le moteur à faire tourner : IntakeMotor ou ArmMotor.

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
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] jusqu'à la position (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie v]

moteur d’arrêt#

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

arrêter [IntakeMotor v]

Paramètres

Description

moteur

Le moteur à arrêter : IntakeMotor ou ArmMotor.

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie v]
attendre (1) secondes
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 [IntakeMotor v] à [50] [% v]

Paramètres

Description

moteur

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

vitesse

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

unité

L’unité de vitesse : %.

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
définir la vitesse de [IntakeMotor v] à [100] [% v]
faire tourner [IntakeMotor v] [sortie 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 : IntakeMotor ou ArmMotor.

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 Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
définir le délai d'attente de [ArmMotor v] à [2] secondes
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 [ArmMotor v] en [degrés v])

Paramètres

Description

moteur

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

unité

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

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
tant que <(position selon l'axe [ArmMotor v] en [degrés v]) [math_less_than v] [360]>
faire tourner [ArmMotor v] [en haut v]
attendre (0.002) secondes
fin
arrêter [ArmMotor v]
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 : IntakeMotor ou ArmMotor.

position

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

unité

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

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
définir la position [ArmMotor v] sur [0] [degrés v]
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 fini de bouger : IntakeMotor ou ArmMotor.

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] jusqu'à la position (1) [tours v] ◀ et ne pas attendre
attendre jusqu'à <[ArmMotor v] a fini de tourner ?>
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie 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 [IntakeMotor v] est en train de tourner ?>

Paramètres

Description

moteur

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

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie v]
attendre jusqu'à <pas <le [IntakeMotor v] est en train de tourner ?>>
arrêter [IntakeMotor 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 [IntakeMotor v] en [% v] :: custom-motion)

Paramètres

Description

moteur

Le moteur pour indiquer la vitesse de : IntakeMotor ou ArmMotor.

unité

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

Exemple

au démarrage
[Score a Bean Bag in a Blue Goal.]
pivoter [à gauche v] de (90) degrés ▶
se déplacer [avant v] sur (35) [pouces v] ▶
pivoter [droite v] de (90) degrés ▶
faire tourner [ArmMotor v] [en haut v] de (1) [tours v] ▶
se déplacer [avant v] sur (40) [pouces v] ▶
faire tourner [IntakeMotor v] [sortie v]
attendre [0.2] secondes
afficher (vitesse de rotation de [IntakeMotor v] en [% v] :: custom-motion) ▶

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 IQ AI 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, du plus grand au plus petit, à partir de l’index 0. Les propriétés de chaque objet sont accessibles via le bloc object property. Un ensemble de données vide est renvoyé si aucun objet correspondant n’est détecté.

Le bloc de pile de récupération des données de l’objet.#
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 sacs de haricots rouges, bleus et jaunes.
  • Étiquettes d’avril — Détecte les identifiants AprilTag présents sur les côtés des objectifs.

Exemple

au démarrage :: hat events
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Find and face the nearest red Bean Bag.]
définir la vitesse de rotation à (30) [% v]
définir [object_counter v] en [1]
obtenir [Classifications IA v] des données de la caméra [AIVision v]
répéter (nombre d'objets vus par la caméra [AIVision v])
définir [AIVision v] l'élément d'objet sur (object_counter)
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> 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
fin
sortir
fin
modifier [object_counter v] par [1]
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.

Le bloc de pile d’éléments d’objet défini.#
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 :: hat events
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Find the index of the nearest red Bean Bag.]
définir [object_counter v] en [1]
obtenir [Classifications IA v] des données de la caméra [AIVision v]
répéter (nombre d'objets vus par la caméra [AIVision v])
définir [AIVision v] l'élément d'objet sur (object_counter)
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
afficher (joindre [Nearest Red Bean Bag is ] et (object_counter)) ▶
sortir
sinon
modifier [object_counter v] par [1]
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 :: hat events
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Turn until a Bean Bag is detected.]
définir la vitesse de rotation à (30) [% v]
pivoter [droite v]
répéter jusqu'à <La caméra [AIVision v] voit-elle un objet ?>
obtenir [Classifications IA v] des données de la caméra [AIVision v]
fin
arrêter le déplacement

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 est un bloc booléen.#
<L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?>

Paramètre

Description

objet

À quel objet comparer l’article : RedBeanBag, BlueBeanBag ou YellowBeanBag ?

Exemple

au démarrage :: hat events
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Find the index of the nearest red Bean Bag.]
définir [object_counter v] en [1]
obtenir [Classifications IA v] des données de la caméra [AIVision v]
répéter (nombre d'objets vus par la caméra [AIVision v])
définir [AIVision v] l'élément d'objet sur (object_counter)
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
afficher (joindre [Nearest Red Bean Bag is ] et (object_counter)) ▶
sortir
sinon
modifier [object_counter v] par [1]
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 AprilTag

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

Exemple

au démarrage :: hat events
[Stop when you see the Red Goal!]
définir la vitesse de rotation à (30) [% v]
pivoter [droite v]
répéter jusqu'à <L'objet vu par la caméra [AIVision v] objet est-il AprilTag [1]?>
obtenir [AprilTags v] des données de la caméra [AIVision v]
fin
arrêter le déplacement
afficher [Found the Red Goal!] ▶

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.

Le bloc de rapport de comptage d’objets.#
(nombre d'objets vus par la caméra [AIVision v])

Paramètres

Description

Ce bloc ne comporte aucun paramètre.

Exemple

au démarrage :: hat events
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Print how many Bean Bags are detected.]
obtenir [Classifications IA v] des données de la caméra [AIVision v]
afficher (nombre d'objets vus par la caméra [AIVision v]) ▶

propriété d’objet#

Il existe six propriétés qui sont incluses avec chaque objet stocké 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 IQ AI 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, hauteur, centreX, centreY, origineX ou origineY.

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.

Bloc de rapport de propriétés d’objet AI Vision avec largeur sélectionnée.#
([largeur v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Approach the Bean Bag, then pick it up.]
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
définir [AIVision v] l'élément d'objet sur [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
if <([AIVision v] object [width v]) > (180)> then
se déplacer [avant v] sur [50] [mm v] ▶
faire tourner [IntakeMotor v] [entrée v] de [90] [degrés v] ▶
sortir
sinon
se déplacer en [avant v]
fin
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.

Bloc de rapport de propriétés d’objet AI Vision avec hauteur sélectionnée.#
([hauteur v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Approach the Bean Bag, then pick it up.]
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
définir [AIVision v] l'élément d'objet sur [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
if <([AIVision v] object [height v]) > (100)> then
se déplacer [avant v] sur [50] [mm v] ▶
faire tourner [IntakeMotor v] [entrée v] de [90] [degrés v] ▶
sortir
sinon
se déplacer en [avant v]
fin
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.

Bloc de rapport de propriétés d’objet AI Vision avec centreX sélectionné.#
([centreX v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Steer to keep the Bean Bag centered while approaching.]
définir la vitesse de rotation à (30) [% v]
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
définir [AIVision v] l'élément d'objet sur [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> 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 (150) [mm v] ▶
faire tourner [IntakeMotor v] [entrée v]
sortir
fin
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.

Bloc de rapport de propriétés d’objet AI Vision avec centreY sélectionné.#
([centreY v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Print the y-position of the Bean Bag.]
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 [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
afficher ([centreY v] de l'objet vu par la caméra [AIVision v]) ▶
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.

Bloc de rapport de propriétés d’objet AI Vision avec originX sélectionné.#
([origineX v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Steer to keep the left edge centered.]
définir la vitesse de rotation à (30) [% v]
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
définir [AIVision v] l'élément d'objet sur [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> 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 (150) [mm v] ▶
faire tourner [IntakeMotor v] [entrée v]
sortir
fin
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.

Bloc de rapport de propriétés d’objet AI Vision avec originY sélectionné.#
([origineY v] de l'objet vu par la caméra [AIVision v])

Exemple

au démarrage
[Drop the preloaded Bean Bag.]
faire tourner [IntakeMotor v] [sortie v] de (180) [degrés v] ▶
pivoter [à gauche v] de (90) degrés ▶
[Print the y-position of the Bean Bag's top edge.]
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 [1]
si <L'objet vu par la caméra [AIVision v] est [RedBeanBag v] ?> alors
afficher ([origineY v] de l'objet vu par la caméra [AIVision v]) ▶
fin
fin