Robotspecifieke blokken#

Invoering#

De Hero Bot, Axel, beschikt over twee motoropties, een AI-visiesensor, een optische sensor, een rotatiesensor en een GPS-sensor (Game Positioning System).

Alle standaard VEXcode VR-blokken zijn beschikbaar voor gebruik in de V5 24-25 High Stakes Playground.

Hieronder vindt u een lijst met alle beschikbare robotspecifieke bouwblokken:

Aandrijving – Beweeg en stuur de robot.

Beweging – Beweeg en volg de motoren van de robot.

AI Vision – Leg objecten vast en analyseer ze met behulp van de 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 er een classificatie is gedetecteerd.

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

    • object property – Geeft details terug zoals:

      • breedte & hoogte – Grootte van het object.

      • centerX & centerY – Coördinaten van de middenpositie in het gezichtsveld van de sensor.

      • originX & originY – Positiecoördinaten van de linkerbovenhoek in het gezichtsveld van de sensor.

Waarneming – Gebruik de verschillende sensoren van de robot.

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

Aandrijving#

De aandrijving bepaalt hoe de VR-robot rijdt en stuurt. De aandrijving kan vooruit of achteruit bewegen, naar links of rechts draaien, koersen volgen en zijn rotatie bijhouden.

Acties#

drijfveer#

Het drive-blok zorgt ervoor dat de robot oneindig vooruit of achteruit beweegt. De robot blijft bewegen totdat er een andere actie wordt uitgevoerd, zoals draaien of stoppen.

rijd [vooruit v]

Parameters

Beschrijving

richting

De richting waarin de robot beweegt: vooruit of achteruit.

Voorbeeld

wanneer gestart :: hat events
[Drive forward, then stop.]
rijd [vooruit v]
wacht (2) seconden
stop rijden

rijden voor#

Het aandrijfblok in de stapel beweegt de robot vooruit of achteruit over een bepaalde afstand. Het project wacht totdat de robot klaar is met bewegen voordat het volgende blok in de stapel wordt uitgevoerd.

rijd [vooruit v] voor (200) [mm v] ▶

Parameters

Beschrijving

richting

De richting waarin de robot beweegt: vooruit of achteruit.

afstand

De afstand die de robot aflegt. Dit kan een geheel getal of een decimaal getal zijn.

eenheid

De afstandseenheid: mm (millimeter) of inches

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 :: hat events
[Drive forward.]
rijd [vooruit v] voor (500) [mm v] ▶

draai#

Het draai-blok zorgt ervoor dat de robot continu naar links of rechts draait. De robot blijft draaien totdat er een andere actie wordt uitgevoerd, zoals rijden of stoppen.

draai [rechts v]

Parameters

Beschrijving

richting

De richting waarin de robot draait: links of rechts.

Voorbeeld

wanneer gestart :: hat events
[Turn right, then stop.]
draai [rechts v]
wacht (2) seconden
stop rijden

draai voor#

Het draai voor-blok in de stapel laat de robot een specifiek aantal graden naar links of rechts draaien. De draai is relatief ten opzichte van de huidige positie van de robot. Het project wacht tot de robot klaar is met draaien voordat het volgende blok in de stapel wordt uitgevoerd.

draai [rechts v] voor (90) graden ▶

Parameters

Beschrijving

richting

De richting waarin de robot draait: links of rechts.

hoek

Het aantal graden dat de robot draait. Dit kan een geheel getal of een decimaal getal zijn.

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 :: hat events
[Turn left, then turn around to the right.]
draai [links v] voor (90) graden ▶
draai [rechts v] voor (180) graden ▶

naar koptekst#

Een koers is de richting waarin de robot kijkt, gemeten in graden. Het draai naar koers-blok zorgt ervoor dat de robot in een specifieke koers kijkt, van -359 tot 359 graden. De robot draait in de kortste richting om de gewenste koers te bereiken.

De beginrichting is 0 graden.

Het project wacht tot de robot klaar is met draaien voordat het volgende blok in de stapel wordt uitgevoerd.

draai naar koers (90) graden ▶

Parameters

Beschrijving

kop

De richting waarin de robot moet kijken, ligt tussen -359 en 359 graden.

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 :: hat events
[Turn to face the cardinal directions.]
draai naar koers (90) graden ▶
wacht (2) seconden
draai naar koers (180) graden ▶
wacht (2) seconden
draai naar koers (270) graden ▶
wacht (2) seconden
draai naar koers (0) graden ▶
wacht (2) seconden

overschakelen naar rotatie#

Het stapelblok draaien naar rotatie zorgt ervoor dat de robot in een specifieke rotatierichting draait.

Rotatie is de mate waarin de robot is gedraaid, gemeten in graden. Aan het begin van een project wordt de rotatiewaarde ingesteld op 0 graden. Rotatie kan ook worden ingesteld met behulp van het blok set drive rotation.

De rotatiewaarden zijn absoluut. Dit betekent dat de draairichting afhangt van de huidige rotatie van de robot. Naar rechts draaien vergroot de rotatie, naar links draaien verkleint de rotatie.

Als de robot bijvoorbeeld begint bij 0 graden en je draait hem 720 graden, dan draait hij twee keer naar rechts. Als je hem vervolgens 360 graden draait, draait hij één keer naar links, omdat 360 minder is dan 720.

Het project wacht tot de robot klaar is met draaien voordat het volgende blok in de stapel wordt uitgevoerd.

draai naar rotatie (90) graden ▶

Parameters

Beschrijving

rotatie

De rotatiewaarde, in graden, waarnaar de robot zal draaien. Dit kan een geheel getal of een decimaal getal zijn.

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 :: hat events
[Turn left, then spin in a circle clockwise and face right.]
draai naar rotatie (-90) graden ▶
wacht (2) seconden
draai naar rotatie (450) graden ▶

stop met rijden#

Het stop rijden-blok stopt de beweging van de robot.

stop rijden

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Drive forward, then stop.]
rijd [vooruit v]
wacht [4] seconden
stop rijden

Instellingen#

stel aandrijfsnelheid in#

Het stackblok set drive velocity vertelt de robot hoe snel hij moet rijden. Een hoger percentage zorgt ervoor dat de robot sneller rijdt en een lager percentage zorgt ervoor dat de robot langzamer rijdt.

Elk project begint standaard met de robot die op 50% van zijn maximale snelheid rijdt.

Let op: Een hogere snelheid zorgt ervoor dat de robot sneller rijdt, maar mogelijk minder nauwkeurig. Een lagere snelheid zorgt ervoor dat de robot langzamer rijdt, maar mogelijk nauwkeuriger.

stel rijsnelheid in op (50) [% v]

Parameters

Beschrijving

snelheid

De snelheid waarmee gereden wordt, varieert van 0% tot 100%.

eenheid

De snelheidseenheid: %

Voorbeeld

wanneer gestart :: hat events
[Drive forward at the default velocity.]
rijd [vooruit v] voor (100) [mm v] ▶
wacht (1) seconden
[Move slower.]
stel rijsnelheid in op (20) [% v]
rijd [vooruit v] voor (100) [mm v] ▶
wacht (1) seconden
[Move faster.]
stel rijsnelheid in op (100) [% v]
rijd [vooruit v] voor (100) [mm v] ▶
wacht (1) seconden

ingestelde draaisnelheid#

Het stapelblok set turn velocity vertelt de robot hoe snel hij moet draaien. Een hoger percentage zorgt ervoor dat de robot sneller draait en een lager percentage zorgt ervoor dat de robot langzamer draait.

Elk project begint standaard met de robot die met 50% snelheid draait.

Let op: Een hogere snelheid zorgt ervoor dat de robot sneller draait, maar mogelijk minder nauwkeurig. Een lagere snelheid zorgt ervoor dat de robot langzamer draait, maar mogelijk nauwkeuriger.

stel draaisnelheid in op (50) [% v]

Parameters

Beschrijving

snelheid

De draaisnelheid varieert van 0% tot 100%.

eenheid

De snelheidseenheid: %

Voorbeeld

wanneer gestart :: hat events
[Turn at default velocity.]
draai [rechts v] voor (100) graden ▶
wacht (1) seconden
[Turn slower.]
stel draaisnelheid in op (20)%
draai [rechts v] voor (100) graden ▶
wacht (1) seconden
[Turn faster.]
stel draaisnelheid in op (100)%
draai [rechts v] voor (100) graden ▶
wacht (1) seconden

stuurrichting instellen#

Een koers is de richting waarin de robot kijkt, gemeten in graden. Het stackblok set drive heading verandert de huidige koers van de robot naar een nieuwe koerswaarde.

Als de robot bijvoorbeeld naar rechts is gedraaid, zorgt het instellen van de richting op 0 graden ervoor dat die naar rechts gerichte positie de nieuwe 0 graden wordt. Vervolgens kan de robot zich op basis van die nieuwe richting naar andere posities draaien.

stel rijkoers in op (0) graden

Parameters

Beschrijving

kop

De richtingswaarde, in graden, die voor de robot moet worden ingesteld.

Voorbeeld

wanneer gestart :: hat events
[Turn to the left.]
stel rijkoers in op (90) graden
draai naar koers (0) graden ▶

stel de aandrijfrotatie in#

Rotatie geeft aan hoeveel de robot is gedraaid, gemeten in graden. Aan het begin van een project wordt de rotatiewaarde ingesteld op 0 graden. Het stackblok set drive rotation wijzigt de huidige rotatie van de robot naar een nieuwe waarde.

Als de robot bijvoorbeeld twee volledige draaien naar rechts heeft gemaakt, is de rotatiewaarde 720 graden. Door de rotatie op 0 graden te zetten, wordt die rotatiewaarde gereset van 720 naar 0 graden. De robot kan vervolgens draaien op basis van die nieuwe waarde.

stel rijrotatie in op (0) graden

Parameters

Beschrijving

rotatie

De rotatiewaarde in graden die voor de robot moet worden ingesteld. Dit kan een geheel getal of een decimaal getal zijn.

Voorbeeld

wanneer gestart :: hat events
[Spin counterclockwise two times.]
stel rijrotatie in op (720) graden
draai naar rotatie (0) graden ▶

schijftime-out instellen#

Het stackblok set drive timeout bepaalt hoeveel seconden de robot mag proberen een beweging te voltooien. Als de robot 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 robot vast komt te zitten tijdens een beweging.

stel rijtime-out in op (1) seconden

Parameters

Beschrijving

tijd

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

Voorbeeld

Bij het starten wordt de rijtijd beperkt tot 1 seconde, waarna de motor 90 graden draait.#
wanneer gestart :: hat events
[Drive forward for 1 second, then turn.]
stel rijtime-out in op (1) seconden
rijd [vooruit v] voor (25) [inches v] ▶
draai [rechts v] voor (90) graden ▶

Waarden#

De rit is voltooid.#

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

  • Klopt — De robot is klaar met bewegen.

  • Onjuist — De robot beweegt nog steeds.

Dit blok werkt samen met aandrijflijnblokken die de parameter en niet wachten hebben.

<rijden klaar?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Start spinning when the drive is complete.]
rijd [vooruit v] voor (200) [mm v] ◀ en niet wachten
wacht totdat <rijden klaar?>
draai [rechts v] voor (360) graden ▶

De aandrijving beweegt.#

Het Booleaanse blok aandrijving beweegt geeft aan of de robot beweegt. Dit kan worden gebruikt om de timing van andere gedragingen te regelen op basis van de beweging van de robot.

  • Klopt — De robot beweegt.

  • Onjuist — De robot beweegt niet.

Dit blok werkt samen met aandrijflijnblokken die de parameter en niet wachten hebben.

<rijden in beweging?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Print that the robot is moving while it is still driving.]
rijd [vooruit v] voor (200) [mm v] ◀ en niet wachten
zolang <rijden in beweging?>
druk [Still Moving...] af ▶
wacht (0.1) seconden
wis scherm
einde
druk [Done!] af ▶

rijrichting#

Een koers is de richting waarin de robot kijkt, gemeten in graden. Het rijrichting-rapportageblok geeft die koers weer van 0 tot 359,99 graden.

De beginrichting van de robot is 0 graden.

(rijkoers in graden)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Display the heading after turning.]
draai [rechts v] voor (450) graden ▶
druk (rijkoers in graden) af op scherm ◀ en cursor naar volgende rij

aandrijfrotatie#

Rotatie geeft aan hoeveel de robot is gedraaid, gemeten in graden. Aan het begin van een project wordt de rotatiewaarde ingesteld op 0 graden. Het drive rotation-rapportageblok geeft de huidige rotatie van de robot weer.

Naar rechts draaien vergroot de rotatie, en naar links draaien verkleint de rotatie. Twee volledige draaien naar rechts resulteren bijvoorbeeld in een rotatie van 720 graden.

(rijrotatie in graden)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart :: hat events
[Display the rotation after turning.]
draai [rechts v] voor (450) graden ▶
druk (rijrotatie in graden) af op scherm ◀ en cursor naar volgende rij

aandrijfsnelheid#

Het rijsnelheid-rapportageblok geeft aan hoe snel de robot rijdt.

(rijsnelheid in [% v])

Parameters

Beschrijving

eenheid

De snelheidseenheid: %

Voorbeeld

wanneer gestart :: hat events
[Display the velocity after driving.]
rijd [vooruit v] voor (200) [mm v] ▶
druk (rijsnelheid in [% v]) af op scherm ◀ en cursor naar volgende rij

Beweging#

Axel gebruikt de armmotor om de arm omhoog en omlaag te bewegen, zodat de ringen dicht bij de palen kunnen worden geplaatst. De duwmotor beweegt de duwer langs de arm naar beneden om de ringen van de arm af te duwen en op een paal te plaatsen.

Elke motor heeft zijn eigen richtingsopties. De richtingsnamen beschrijven hoe die motor over de as beweegt.

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 [ArmMotor v] [omhoog v]

Parameters

Beschrijving

motor

De motor die moet draaien: ArmMotor of PusherMotor.

richting

De draairichting van de motor:

  • ArmMotor — omhoog of omlaag
  • Duwmotor — omlaag of omhoog

Voorbeeld

wanneer gestart
[Lift the Arm before moving to a Mobile Goal.]
draai [ArmMotor v] [omhoog v]
wacht (1) seconden
stop [ArmMotor 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 (90) [graden v] ▶

Parameters

Beschrijving

motor

De motor die moet draaien: ArmMotor of PusherMotor.

richting

De draairichting van de motor:

  • ArmMotor — omhoog of omlaag
  • Duwmotor — omlaag of omhoog

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
[Lift the Arm.]
draai [ArmMotor v] [omhoog v] voor [200] [graden 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 (90) [graden v] ▶

Parameters

Beschrijving

motor

De motor die moet draaien: ArmMotor of PusherMotor.

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
[Lift the Arm.]
draai [ArmMotor v] naar positie [350] [graden v] ▶

stop motor#

Het stapelblok stop motor stopt de geselecteerde motor.

stop [ArmMotor v]

Parameters

Beschrijving

motor

De motor die moet stoppen: ArmMotor of PusherMotor.

Voorbeeld

wanneer gestart
draai [ArmMotor v] [omhoog v]
wacht (1) seconden
stop [ArmMotor 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 [ArmMotor v] snelheid in op [50] [% v]

Parameters

Beschrijving

motor

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

snelheid

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

eenheid

De snelheidseenheid: %.

Voorbeeld

wanneer gestart
stel [ArmMotor v] snelheid in op [100] [% v]
draai [ArmMotor v] [omhoog v] voor [200] [graden 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: ArmMotor of PusherMotor.

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
stel [ArmMotor v] timeout in op [1] seconden
draai [ArmMotor v] [omhoog v] voor [5] [omwentelingen 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 moet rapporteren van: ArmMotor of PusherMotor.

eenheid

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

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: ArmMotor of PusherMotor.

positie

De positiewaarde die voor de motor moet worden ingesteld. Graden worden met gehele getallen weergegeven. Omwentelingen kunnen met gehele getallen of decimalen worden weergegeven.

eenheid

De positie-eenheid: graden of omwentelingen.

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: ArmMotor of PusherMotor.

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.

<[ArmMotor v] draait?>

Parameters

Beschrijving

motor

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

motorsnelheid#

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

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

Parameters

Beschrijving

motor

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

eenheid

De eenheid waarin de motorsnelheid wordt weergegeven: %.

AI-visie#

Acties#

objectgegevens ophalen#

Het objectgegevens ophalen-blok filtert gegevens uit het frame van de 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 AI Vision object property. Er wordt een lege dataset geretourneerd als er geen overeenkomende objecten worden gevonden.

Het Get object data stack-blok.#
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 mobiele doelen, rode ringen en blauwe ringen.

Voorbeeld

wanneer gestart
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
druk [Largest object's width:] af ▶
druk ([AIVision v] object [breedte v]) af ◀ en cursor naar volgende rij
einde

Instellingen#

stel objectitem in#

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

Het Set AI Vision object item stack block.#
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
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
als <[AIVision v] object is [MobileGoal v]?> dan
druk [Mobile Goal is detected.] af ▶
anders
druk [Mobile Goal is not detected.] af ▶
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
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
druk ([AIVision v] object aantal) af ◀ en cursor naar volgende rij
einde

object is#

Het AI Vision object is-blok 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 AI Vision-object is een Booleaanse blok.#
<[AIVision v] object is [MobileGoal v]?>

Parameter

Beschrijving

voorwerp

Met welk object moet het item worden vergeleken:

  • Mobiel Doel
  • Rode Ring
  • Blauwe Ring

Voorbeeld

wanneer gestart
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
als <[AIVision v] object is [MobileGoal v]?> dan
druk [Mobile Goal is detected.] af ▶
anders
druk [Mobile Goal is not detected.] af ▶
einde
einde

aantal objecten#

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

Het Set AI Vision object item stack block.#
([AIVision] object aantal)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
druk ([AIVision v] object aantal) af ◀ en cursor naar volgende rij
einde

objecteigenschap#

Er zijn zes eigenschappen die bij elk object worden meegeleverd (zie hieronder) en die worden opgeslagen 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 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 te gebruiken:

breedte#

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

Het eigenschappenblok van het AI Vision-object met de parameter ingesteld op breedte.#
([AIVision v] object [breedte v])

Voorbeeld

wanneer gestart
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
draai [ArmMotor v] [omhoog v] voor [270] [graden v] ▶
haal [AI-classificaties v] gegevens op van [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
als <[AIVision v] object bestaat?> dan
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
druk [Largest object's width:] af ▶
druk ([AIVision v] object [breedte v]) af ◀ en cursor naar volgende rij
einde
hoogte#

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

Het eigenschappenblok van het AI Vision-object met de parameter ‘height’ ingesteld.#
([AIVision v] object [hoogte v])
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 eigenschappenblok van het AI Vision-object met de parameter ingesteld op centerX.#
([AIVision v] object [centerX v])
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 eigenschappenblok van het AI Vision-object met de parameter ingesteld op centerY.#
([AIVision v] object [centerY v])
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 eigenschappenblok van het AI Vision-object met de parameter ingesteld op originX.#
([AIVision v] object [originX v])
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 eigenschappenblok van het AI Vision-object met de parameter ingesteld op originY.#
([AIVision v] object [originY v])

Waarneming#

Optisch#

Optisch heeft een object gevonden#

Het Booleaanse blok Optische sensor heeft een object gevonden geeft aan of de optische sensor een object binnen bereik heeft gedetecteerd.

  • Klopt — De optische sensor detecteert een object.

  • Onjuist — De optische sensor detecteert geen object.

<[FrontOptical v] object gevonden?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Optische detectie van kleur#

Het Booleaanse blok Optische sensor detecteert kleur geeft aan of de optische sensor een bepaalde kleur detecteert, op basis van de gedetecteerde tintwaarde.

  • Waar – De sensor detecteert de opgegeven kleur.

  • Onjuist – De sensor detecteert de opgegeven kleur niet.

Opmerking: De optische sensor zoekt naar kleurtinten die overeenkomen met de opgegeven kleur. Zie het blok Optische tint voor het detecteren van specifieke kleurtinten.

<[FrontOptical v] detecteert [rood v]?>

Parameters

Beschrijving

kleur

Welke kleur moet je zoeken:

  • rood – Een gedetecteerde tintwaarde tussen 340° en 20°.
  • groen – Een gedetecteerde tintwaarde tussen 80° en 140°.
  • blauw – Een gedetecteerde tintwaarde tussen 200° en 240°.
  • geel – Een gedetecteerde tintwaarde tussen 40° en 60°.
  • oranje – Een gedetecteerde tintwaarde tussen 20° en 40°.
  • paars – Een gedetecteerde tintwaarde tussen 240° en 280°.
  • cyaan – Een gedetecteerde tintwaarde tussen 140° en 200°.

Optische helderheid#

Het Optische helderheid-rapportblok geeft aan hoeveel licht er teruggekaatst wordt naar de optische sensor, als een percentage van 0% tot 100%.

Een hoger percentage betekent dat er meer licht teruggekaatst wordt naar de optische sensor. Een lager percentage betekent dat er minder licht teruggekaatst wordt.

([FrontOptical v] helderheid in %)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Optische tint#

Het Optische tint-rapportageblok geeft de door de optische sensor gedetecteerde tint weer als een getal tussen 0 en 359 graden.

Tint is een manier om kleur te beschrijven met behulp van getallen op een kleurencirkel.

Een cirkelvormig kleurenwiel dat een volledig spectrum aan tinten weergeeft, gelabeld met gradenwaarden rond de omtrek, oplopend in stappen van 30 graden van 0° bovenaan tot 360°.

([FrontOptical v] tint in graden)

Parameters

Beschrijving

Dit blok heeft geen parameters.

wanneer Optisch#

Het hoedblok when Optical voert de bijbehorende stapel blokken uit telkens wanneer de optische sensor een object detecteert of verliest.

wanneer [FrontOptical v] [detecteert v] een object :: hat events

Parameters

Beschrijving

staat

Wanneer de bijgevoegde stapel blokken wordt uitgevoerd: detects wordt uitgevoerd wanneer een niet-gedetecteerd object wordt gedetecteerd, terwijl loses wordt uitgevoerd wanneer een gedetecteerd object niet langer wordt gedetecteerd.

Rotatie#

Stel de positie van de rotatiesensor in.#

Het blok positie van de rotatiesensor instellen stelt de huidige positie van de rotatiesensor in op een waarde in graden.

stel [PusherRotation v] positie in op [0] graden

Parameters

Beschrijving

positie

De positie waarop de rotatiesensor moet worden ingesteld.

Voorbeelden

wanneer gestart
[Make lower Pusher position the new 0 degrees rotation position.]
draai [PusherMotor v] [lager v] voor [270] [graden v] ▶
stel [PusherRotation v] positie in op [0] graden

Rotatiesensorhoek#

Het blok Rotatiesensorhoek geeft de huidige hoek van de sensor weer, tussen 0 en 359,99 graden.

([PusherRotation v] hoek in graden)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeelden

wanneer gestart
[Make lower Pusher position the new 0 degrees rotation position.]
draai [PusherMotor v] [lager v] voor [270] [graden v] ▶
druk ([PusherRotation v] hoek in graden) af ▶

Positie van de rotatiesensor#

Het blok Positie van de rotatiesensor geeft de totale rotatiepositie in graden of omwentelingen weer.

([PusherRotation v] positie in [graden v] :: custom-sensing)

Parameters

Beschrijving

eenheden

De rotatie-eenheid: graden of omwentelingen.

Voorbeelden

wanneer gestart
[Make lower Pusher position the new 0 degrees rotation position.]
draai [PusherMotor v] [lager v] voor [270] [graden v] ▶
druk ([PusherRotation v] positie in [graden v] :: custom-sensing) af ▶

GPS#

GPS-positie#

Het GPS-positie-blok geeft de positieafwijking weer van het draaipunt van de robot ten opzichte van het midden van een veld, gemeten met de GPS-sensor (Game Positioning System™).

([GPS v] positie [X v] in [mm v])

Parameters

Beschrijving

as

Welke as moet worden gerapporteerd:

  • X
  • Y

eenheden

De eenheid die de positie aangeeft: mm of inches

GPS-richting#

Het GPS-richting-blok geeft de huidige kijkrichting van de robot weer, gebaseerd op de metingen van de GPS-sensor (Game Positioning System™) uit de VEX GPS-veldcode, van 0,00 tot 359,99 graden.

([GPS v] koers in graden)

Parameters

Beschrijving

Dit blok heeft geen parameters.