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.
Acties
motor laten draaien – Laat een motor permanent in één van zijn richtingen draaien.
motor laten draaien voor – Laat een motor een specifieke afstand in graden of omwentelingen draaien.
motor naar positie draaien – Draait een motor naar een specifieke positie.
motor stoppen – Stopt een motor met draaien.
Instellingen
motorsnelheid instellen – Vertelt een motor hoe snel hij moet draaien.
set motor timeout – Stelt in hoeveel tijd een motor nodig heeft om een beweging te voltooien.
Positie
motorpositie – Geeft de huidige positie van de motor weer.
motorpositie instellen – Wijzigt de huidige positie van de motor naar een nieuwe waarde.
Waarden
motor is klaar – Geeft aan of de motor klaar is met bewegen.
motor draait – Rapporteert of de motor draait.
motorsnelheid – Geeft aan hoe snel de motor draait, als een percentage van -100% tot 100%.
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
set object item - Selecteert een specifiek object uit de lijst.
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:
|
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:
|
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.
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:
|
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.
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.
<[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.
<[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.
<[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.
([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.
([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.
([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.
([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.
([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.
([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.
([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.
([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