Robotspecifieke blokken#

Invoering#

De Hero Bot, Flop, bevat een IntakeMotor, een ArmMotor en een IQ AI Vision Sensor.

Alle standaard VEXcode VR-blokken zijn beschikbaar voor gebruik in de IQ 26-27 Level Up Playground.

Hieronder vindt u een lijst met alle beschikbare robotspecifieke bouwblokken:

Beweging – Beweeg en volg de motoren van de robot.

AI Vision - Leg objecten vast en analyseer ze met de IQ AI Vision-sensor.

  • Acties

    • get object data - Legt gegevens vast voor een specifieke signatuur, zoals een gedetecteerde AI-classificatie.

  • Instellingen

  • Waarden

    • object bestaat - Geeft aan of er een classificatie is gedetecteerd.

    • object is - Geeft aan of een specifieke classificatie is gedetecteerd.

    • object is AprilTag - Geeft aan of het gedetecteerde object een AprilTag is die overeenkomt met een specifieke ID.

    • object count - Geeft aan hoeveel objecten er zijn gedetecteerd.

    • object property - Retourneert width, height, centerX, centerY, originX of originY.

De voorbeelden op deze pagina gebruiken de standaard startpositie van de Playground.

Beweging#

Flop gebruikt de inlaatmotor om spelelementen te verzamelen en uit te werpen. De armmotor beweegt de arm omhoog en omlaag.

Elke motor heeft zijn eigen richtingsopties. De richtingsnamen beschrijven hoe die motor beweegt op Flop.

Acties#

draaimotor#

Het stapelblok spinmotor laat een motor continu in één van twee richtingen draaien. De motor blijft draaien totdat er een andere actie wordt ondernomen, zoals in een andere richting draaien of stoppen.

draai [IntakeMotor v] [inname v]

Parameters

Beschrijving

motor

De motor die moet draaien: IntakeMotor of ArmMotor.

richting

De draairichting van de motor:

  • Inlaatmotor — inlaat of uitlaat
  • Armmotor — omhoog of omlaag

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

draaimotor voor#

De draaimotor voor het stapelblok laat een motor een bepaalde afstand draaien. De draaiing is relatief ten opzichte van de huidige positie van de motor. Het project wacht totdat de motor is uitgedraaid voordat het volgende blok in de stapel wordt uitgevoerd.

draai [ArmMotor v] [omhoog v] voor (500) [graden v] ▶

Parameters

Beschrijving

motor

De motor die moet draaien: IntakeMotor of ArmMotor.

richting

De draairichting van de motor:

  • Inlaatmotor — inlaat of uitlaat
  • Armmotor — omhoog of omlaag

afstand

De afstand die de motor aflegt. Graden worden uitgedrukt in gehele getallen. Omwentelingen kunnen worden uitgedrukt in gehele getallen of decimalen.

eenheid

De afstandseenheid: graden of omwentelingen.

en wacht niet

Selecteer de pijl ( ▶ ) om het blok uit te breiden naar en niet te wachten, zodat het volgende blok in de stapel direct wordt uitgevoerd.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

draai de motor naar de juiste positie.#

Het stapelblok motor naar positie draaien draait een motor naar een specifieke positie.

De positie van een motor geeft aan hoeveel graden deze heeft gedraaid, gemeten in graden of omwentelingen. Eén omwenteling is gelijk aan 360 graden. Aan het begin van een project wordt de motorpositie ingesteld op 0 graden. De motorpositie kan ook worden ingesteld met behulp van het blok set motor position.

Positiewaarden zijn absoluut. Dit betekent dat de draairichting afhangt van de huidige positie van de motor.

Als de motor bijvoorbeeld begint bij 0 graden en draait naar een positie van 720 graden, draait hij twee omwentelingen vooruit. Als hij vervolgens draait naar een positie van 360 graden, draait hij één omwenteling achteruit, omdat 360 minder is dan 720.

draai [ArmMotor v] naar positie (500) [graden v] ▶

Parameters

Beschrijving

motor

De motor die moet draaien: IntakeMotor of ArmMotor.

positie

De positiewaarde waarnaar de motor zal draaien. Graden worden weergegeven met gehele getallen. Omwentelingen kunnen met gehele getallen of decimalen worden weergegeven.

eenheid

De positie-eenheid: graden of omwentelingen.

en wacht niet

Selecteer de pijl ( ▶ ) om het blok uit te breiden naar en niet te wachten, zodat het volgende blok in de stapel direct wordt uitgevoerd.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] naar positie (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

stop motor#

Het stapelblok stop motor stopt de geselecteerde motor.

stop [IntakeMotor v]

Parameters

Beschrijving

motor

De motor die gestopt moet worden: IntakeMotor of ArmMotor.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]
wacht (1) seconden
stop [IntakeMotor v]

Instellingen#

stel de motorsnelheid in#

Het stackblok set motor velocity geeft een motor de gewenste draaisnelheid. Een hoger percentage zorgt ervoor dat de motor sneller draait en een lager percentage zorgt ervoor dat de motor langzamer draait.

Elk project begint standaard met elke motor op 50% snelheid.

Let op: Een hogere snelheid zorgt ervoor dat de motor sneller draait, maar de precisie kan lager zijn. Een lagere snelheid zorgt ervoor dat de motor langzamer draait, maar de precisie kan hoger zijn.

stel [IntakeMotor v] snelheid in op [50] [% v]

Parameters

Beschrijving

motor

De motor waarmee de snelheid wordt ingesteld is: IntakeMotor of ArmMotor.

snelheid

De snelheid waarmee de motor draait. Procenten gebruiken hele getallen van 0% tot 100%.

eenheid

De snelheidseenheid: %.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
stel [IntakeMotor v] snelheid in op [100] [% v]
draai [IntakeMotor v] [uitname v]

stel de time-out van de motor in#

Het stackblok set motor timeout bepaalt hoeveel tijd een motor krijgt om een ​​beweging te voltooien. Als de motor de beweging niet binnen die tijd kan voltooien, stopt hij met proberen en gaat hij verder met het volgende blok in de stack. Dit voorkomt dat de motor vastloopt tijdens een beweging.

stel [ArmMotor v] timeout in op [1] seconden

Parameters

Beschrijving

motor

De motor waarvan de time-out moet worden ingesteld: IntakeMotor of ArmMotor.

tijd

Het aantal seconden dat de motor de tijd heeft om een ​​beweging te voltooien. Dit kan een geheel getal of een decimaal getal zijn.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
stel [ArmMotor v] timeout in op [2] seconden
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

Positie#

motorpositie#

De positie van een motor geeft aan hoeveel graden of omwentelingen deze heeft gemaakt. Eén omwenteling is gelijk aan 360 graden. Het blok dat de motorpositie weergeeft, rapporteert de huidige positie van de motor.

Aan het begin van een project wordt de motorpositie ingesteld op 0 graden. Als de motor één volledige omwenteling vooruit draait, is de positie 360 ​​graden, oftewel 1 omwenteling. Als de motor de andere kant op draait, is de positie negatief.

([ArmMotor v] positie in [graden v])

Parameters

Beschrijving

motor

De motor die de positie rapporteert van: IntakeMotor of ArmMotor.

eenheid

De eenheid waarin de motorpositie wordt weergegeven: graden of omwentelingen.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
zolang <([ArmMotor v] positie in [graden v]) [math_less_than v] [360]>
draai [ArmMotor v] [omhoog v]
wacht (0.002) seconden
einde
stop [ArmMotor v]
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

stel de motorpositie in#

De positie van een motor geeft aan hoeveel graden of omwentelingen deze heeft gemaakt. Eén omwenteling is gelijk aan 360 graden. Het stackblok motorpositie instellen wijzigt de huidige positie van de motor naar een nieuwe waarde.

Als een motor bijvoorbeeld 180 graden heeft gedraaid, zal het instellen van de positie op 0 graden die positie resetten van 180 naar 0 graden. Vervolgens kan de motor naar posities draaien op basis van die nieuwe waarde.

stel [ArmMotor v] positie in op (0) [graden v]

Parameters

Beschrijving

motor

De motor om de positie in te stellen van: IntakeMotor of ArmMotor.

positie

De in te stellen positiewaarde. Voor graden gebruik je gehele getallen. Voor omwentelingen kun je gehele of decimale getallen gebruiken.

eenheid

De positie-eenheid: graden of omwentelingen.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
stel [ArmMotor v] positie in op [0] [graden v]
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

Waarden#

De motor is klaar.#

Het Booleaanse blok motor is klaar geeft aan of de motor klaar is met bewegen. Dit kan worden gebruikt om de timing van andere acties te regelen op basis van de beweging van de motor.

  • Klopt — De motor is gestopt met bewegen.

  • Onjuist — De motor draait nog steeds.

Dit blok werkt samen met de volgende bewegingsblokken die de parameter en niet wachten hebben: motor laten draaien voor en motor laten draaien naar positie.

<[ArmMotor v] klaar?>

Parameters

Beschrijving

motor

De motor die aangeeft of de beweging is voltooid: IntakeMotor of ArmMotor.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] naar positie (1) [omwentelingen v] ◀ en niet wachten
wacht totdat <[ArmMotor v] klaar?>
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]

De motor draait#

Het Booleaanse blok motor draait geeft aan of de motor draait. Dit kan worden gebruikt om de timing van andere acties te regelen op basis van de beweging van de motor.

  • Klopt — De motor draait.

  • Onjuist — De motor draait niet.

Dit blok werkt samen met de volgende bewegingsblokken die de parameter en niet wachten hebben: motor laten draaien voor en motor laten draaien naar positie.

<[IntakeMotor v] draait?>

Parameters

Beschrijving

motor

De motor die aangeeft of hij draait: IntakeMotor of ArmMotor.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]
wacht totdat <niet <[IntakeMotor v] draait?>>
stop [IntakeMotor v]

motorsnelheid#

Het motorsnelheid-rapportageblok geeft aan hoe snel de motor draait, als een percentage van -100% tot 100%.

([IntakeMotor v] snelheid in [% v] :: custom-motion)

Parameters

Beschrijving

motor

De motor die de snelheid rapporteert is: IntakeMotor of ArmMotor.

eenheid

De eenheid waarin de motorsnelheid wordt weergegeven: %.

Voorbeeld

wanneer gestart
[Score a Bean Bag in a Blue Goal.]
draai [links v] voor (90) graden ▶
rijd [vooruit v] voor (35) [inches v] ▶
draai [rechts v] voor (90) graden ▶
draai [ArmMotor v] [omhoog v] voor (1) [omwentelingen v] ▶
rijd [vooruit v] voor (40) [inches v] ▶
draai [IntakeMotor v] [uitname v]
wacht [0.2] seconden
druk ([IntakeMotor v] snelheid in [% v] :: custom-motion) af ▶

AI-visie#

Acties#

objectgegevens ophalen#

Het objectgegevens ophalen-blok filtert gegevens uit het frame van de IQ AI Vision Sensor tot één enkele signatuur: een opgeslagen beschrijving van iets dat de sensor kan herkennen, zoals een spelelement op het veld.

De dataset bevat objecten die van groot naar klein zijn gesorteerd op breedte, beginnend bij index 0. De eigenschappen van elk object kunnen worden opgevraagd via het blok object property. Er wordt een lege dataset geretourneerd als er geen overeenkomende objecten worden gevonden.

Het stackblok voor het ophalen van objectgegevens.#
haal [AI-classificaties v] gegevens op van [AIVision v]

Parameter

Beschrijving

handtekening

Filtert de dataset zodat alleen gegevens met de opgegeven signatuur worden weergegeven. Beschikbare signaturen zijn:

  • AI-classificaties — Detecteert rode zitzakken, blauwe zitzakken en gele zitzakken.
  • AprilTags — Detecteert de AprilTag-ID’s die op de zijkanten van de doelen te vinden zijn.

Voorbeeld

wanneer gestart :: hat events
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Find and face the nearest red Bean Bag.]
stel draaisnelheid in op (30) [% v]
stel [object_counter v] in op [1]
haal [AI-classificaties v] gegevens op van [AIVision v]
herhaal ([AIVision v] object aantal)
stel [AIVision v] object-item in op (object_counter)
als <[AIVision v] object is [RedBeanBag v]?> dan
if <([AIVision v] object [centerX v]) < (140)> then
draai [links v]
else if <([AIVision v] object [centerX v]) > (180)> then
draai [rechts v]
anders
stop rijden
einde
onderbreek
einde
verander [object_counter v] met [1]
einde

Instellingen#

stel objectitem in#

Het set object item-blok bepaalt welk item in de dataset gebruikt moet worden.

Het blok voor het instellen van objectitems op de stapel.#
stel [AIVision v] object-item in op [1]

Parameters

Beschrijving

item

Het nummer van het item in de dataset dat gebruikt moet worden.

Voorbeeld

wanneer gestart :: hat events
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Find the index of the nearest red Bean Bag.]
stel [object_counter v] in op [1]
haal [AI-classificaties v] gegevens op van [AIVision v]
herhaal ([AIVision v] object aantal)
stel [AIVision v] object-item in op (object_counter)
als <[AIVision v] object is [RedBeanBag v]?> dan
druk (voeg [Nearest Red Bean Bag is ] (object_counter) samen) af ▶
onderbreek
anders
verander [object_counter v] met [1]
einde
einde

Waarden#

object bestaat#

Het blok object bestaat retourneert een Booleaanse waarde die aangeeft of er een object in de dataset is gedetecteerd.

  • Klopt - De dataset bevat een gedetecteerd object.

  • Onjuist - De dataset bevat geen gedetecteerde objecten.

Het AI Vision-object bestaat in een Booleaanse blok.#
<[AIVision v] object bestaat?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Turn until a Bean Bag is detected.]
stel draaisnelheid in op (30) [% v]
draai [rechts v]
herhaal totdat <[AIVision v] object bestaat?>
haal [AI-classificaties v] gegevens op van [AIVision v]
einde
stop rijden

object is#

Het blok object is retourneert een Booleaanse waarde die aangeeft of een gedetecteerd object overeenkomt met een specifieke classificatie.

  • Klopt - Het item in de dataset is het specifieke object.

  • Onjuist - Het item in de dataset is niet het specifieke object.

Het object is een Booleaanse waarde.#
<[AIVision v] object is [RedBeanBag v]?>

Parameter

Beschrijving

voorwerp

Met welk object moet het item vergeleken worden: Rode Zitzak, Blauwe Zitzak of Gele Zitzak?

Voorbeeld

wanneer gestart :: hat events
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Find the index of the nearest red Bean Bag.]
stel [object_counter v] in op [1]
haal [AI-classificaties v] gegevens op van [AIVision v]
herhaal ([AIVision v] object aantal)
stel [AIVision v] object-item in op (object_counter)
als <[AIVision v] object is [RedBeanBag v]?> dan
druk (voeg [Nearest Red Bean Bag is ] (object_counter) samen) af ▶
onderbreek
anders
verander [object_counter v] met [1]
einde
einde

object is AprilTag#

Het blok object is AprilTag retourneert een Booleaanse waarde die aangeeft of het gedetecteerde object een AprilTag is die overeenkomt met een specifieke ID.

  • Klopt - Het gedetecteerde object is een AprilTag met de opgegeven ID.

  • Onjuist - Het gedetecteerde object is geen AprilTag met de opgegeven ID.

Het object is een Booleaanse waardeblok genaamd AprilTag.#
<[AIVision v] object is AprilTag [0]?>

Parameter

Beschrijving

AprilTag ID

Het ID-nummer ter vergelijking met de gedetecteerde AprilTag.

Voorbeeld

wanneer gestart :: hat events
[Stop when you see the Red Goal!]
stel draaisnelheid in op (30) [% v]
draai [rechts v]
herhaal totdat <[AIVision v] object is AprilTag [1]?>
haal [AprilTags v] gegevens op van [AIVision v]
einde
stop rijden
druk [Found the Red Goal!] af ▶

aantal objecten#

Het blok object count retourneert het aantal gedetecteerde objecten in de dataset als een geheel getal.

Het objecttellingsblok.#
([AIVision v] object aantal)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Print how many Bean Bags are detected.]
haal [AI-classificaties v] gegevens op van [AIVision v]
druk ([AIVision v] object aantal) af ▶

objecteigenschap#

Er zijn zes eigenschappen die bij elk object worden meegeleverd nadat het get object data blok is gebruikt.

Het objecteigenschapsrapportageblok van AI Vision.#
([AIVision v] object [breedte v])

Alle eigenschapswaarden beschrijven de positie en grootte van het gedetecteerde object in het gezichtsveld van de IQ AI Vision Sensor op het moment dat het objectgegevens ophalen-blok werd gebruikt. Deze waarden worden gemeten in pixels, gebaseerd op de resolutie van de sensor van 320 bij 240 pixels.

Parameter

Beschrijving

eigendom

Welke eigenschap van het gedetecteerde object moet worden gebruikt: width, height, centerX, centerY, originX of originY.

breedte#

De eigenschap width geeft de breedte van het gedetecteerde object in pixels weer als een geheel getal van 1 tot 320.

Het objecteigenschaprapportageblok van AI Vision met geselecteerde breedte.#
([AIVision v] object [breedte v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Approach the Bean Bag, then pick it up.]
stel rijsnelheid in op (30) [% v]
altijd
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
if <([AIVision v] object [width v]) > (180)> then
rijd [vooruit v] voor [50] [mm v] ▶
draai [IntakeMotor v] [inname v] voor [90] [graden v] ▶
onderbreek
anders
rijd [vooruit v]
einde
einde
einde
einde
hoogte#

De eigenschap hoogte geeft de hoogte van het gedetecteerde object in pixels weer als een geheel getal van 1 tot 240.

Het objecteigenschaprapportageblok van AI Vision met geselecteerde hoogte.#
([AIVision v] object [hoogte v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Approach the Bean Bag, then pick it up.]
stel rijsnelheid in op (30) [% v]
altijd
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
if <([AIVision v] object [height v]) > (100)> then
rijd [vooruit v] voor [50] [mm v] ▶
draai [IntakeMotor v] [inname v] voor [90] [graden v] ▶
onderbreek
anders
rijd [vooruit v]
einde
einde
einde
einde
centrumX#

De eigenschap centerX geeft de x-coördinaat van het middelpunt van het gedetecteerde object in pixels weer als een geheel getal van 0 tot 320.

Het objecteigenschappenrapportageblok van AI Vision met centerX geselecteerd.#
([AIVision v] object [centerX v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Steer to keep the Bean Bag centered while approaching.]
stel draaisnelheid in op (30) [% v]
stel rijsnelheid in op (30) [% v]
altijd
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
if <([AIVision v] object [centerX v]) < (140)> then
draai [links v] voor (5) graden ▶
anders
rijd [vooruit v] voor (150) [mm v] ▶
draai [IntakeMotor v] [inname v]
onderbreek
einde
einde
einde
einde
centrumY#

De eigenschap centerY geeft de y-coördinaat van het middelpunt van het gedetecteerde object in pixels weer als een geheel getal van 0 tot 240.

Het objecteigenschappenrapportageblok van AI Vision met centerY geselecteerd.#
([AIVision v] object [centerY v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Print the y-position of the Bean Bag.]
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
druk ([AIVision v] object [centerY v]) af ▶
einde
einde
oorsprongX#

De eigenschap originX geeft de x-coördinaat van de linkerbovenhoek van het begrenzingskader van het gedetecteerde object weer in pixels als een geheel getal van 0 tot 320.

Het objecteigenschappenrapportageblok van AI Vision met originX geselecteerd.#
([AIVision v] object [originX v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Steer to keep the left edge centered.]
stel draaisnelheid in op (30) [% v]
stel rijsnelheid in op (30) [% v]
altijd
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
if <([AIVision v] object [originX v]) < (100)> then
draai [links v] voor (5) graden ▶
anders
rijd [vooruit v] voor (150) [mm v] ▶
draai [IntakeMotor v] [inname v]
onderbreek
einde
einde
einde
einde
oorsprong#

De eigenschap originY geeft de y-coördinaat van de linkerbovenhoek van het begrenzingskader van het gedetecteerde object weer in pixels als een geheel getal van 0 tot 240.

Het objecteigenschappenrapportageblok van AI Vision met originY geselecteerd.#
([AIVision v] object [originY v])

Voorbeeld

wanneer gestart
[Drop the preloaded Bean Bag.]
draai [IntakeMotor v] [uitname v] voor (180) [graden v] ▶
draai [links v] voor (90) graden ▶
[Print the y-position of the Bean Bag's top edge.]
haal [AI-classificaties v] gegevens op van [AIVision v]
als <[AIVision v] object bestaat?> dan
stel [AIVision v] object-item in op [1]
als <[AIVision v] object is [RedBeanBag v]?> dan
druk ([AIVision v] object [originY v]) af ▶
einde
einde