Robotspecifieke blokken#

Invoering#

De Hero Bot, Huey, heeft twee motoropties: de IQ AI Vision Sensor, de optische sensor en de Touch LED.

Alle standaard VEXcode VR-blokken zijn beschikbaar voor gebruik in de IQ 25-26 Mix & Match 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 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 count - Geeft aan hoeveel objecten er zijn gedetecteerd.

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

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#

Huey gebruikt de grijpermotor om de grijper te openen en te sluiten, zodat pinnen en balken kunnen worden opgepakt of neergelegd. De hefmotor tilt de pinnen of balken omhoog en omlaag, zodat ze aan elkaar kunnen worden bevestigd.

Elke motor heeft zijn eigen richtingsopties. De richtingsnamen beschrijven hoe die motor op de Huey 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 [ClawMotor v] [open v]

Parameters

Beschrijving

motor

De motor om te draaien: klauwmotor of hefmotor.

richting

De draairichting van de motor:

  • Klauwmotor — openen of sluiten
  • Liftmotor — omhoog of omlaag

Voorbeeld

wanneer gestart
[Place a pin atop another pin.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open 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 [ClawMotor v] [open v] voor (90) [graden v] ▶

Parameters

Beschrijving

motor

De motor om te draaien: klauwmotor of hefmotor.

richting

De draairichting van de motor:

  • Klauwmotor — openen of sluiten
  • Liftmotor — 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
[Place a pin atop another pin.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open 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 [ClawMotor v] naar positie (90) [graden v] ▶

Parameters

Beschrijving

motor

De motor om te draaien: klauwmotor of hefmotor.

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
[Place a pin atop another pin.]
draai [LiftMotor v] naar positie [-2] [omwentelingen v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open v]

stop motor#

Het stapelblok stop motor stopt de geselecteerde motor.

stop [ClawMotor v]

Parameters

Beschrijving

motor

De motor die gestopt moet worden: klauwmotor of hefmotor.

Voorbeeld

wanneer gestart
[Raise the lift for 2 seconds, then stop.]
draai [LiftMotor v] [omhoog v]
wacht (2) seconden
stop [LiftMotor 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 [ClawMotor v] snelheid in op (50) [% v]

Parameters

Beschrijving

motor

De motor waarmee de snelheid wordt ingesteld is: ClawMotor of LiftMotor.

snelheid

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

eenheid

De snelheidseenheid: %.

Voorbeeld

wanneer gestart
[Raise the lift at full speed.]
stel [LiftMotor v] snelheid in op [100] [% v]
draai [LiftMotor v] [omhoog v] voor [600] [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 [ClawMotor v] timeout in op (1) seconden

Parameters

Beschrijving

motor

De motor waarvan de time-out moet worden ingesteld: ClawMotor of LiftMotor.

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 [LiftMotor v] timeout in op [2] seconden
draai [LiftMotor 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.

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

Parameters

Beschrijving

motor

De motor die de positie moet rapporteren is: klauwmotor of hefmotor.

eenheid

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

Voorbeeld

wanneer gestart
[Raise the lift until it reaches 600 degrees.]
draai [LiftMotor v] [omhoog v]
wacht totdat <([LiftMotor v] positie in [graden v]) [math_less_than v] [-600]>
stop [LiftMotor 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 [ClawMotor v] positie in op (0) [graden v]

Parameters

Beschrijving

motor

De motor voor het instellen van de positie is: klauwmotor of hefmotor.

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.

Voorbeeld

wanneer gestart
stel [LiftMotor v] positie in op [100] [graden v]
draai [LiftMotor v] naar positie [-500] [graden 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.

<[ClawMotor v] klaar?>

Parameters

Beschrijving

motor

De motor die aangeeft of de beweging is voltooid: klauwmotor of hefmotor.

Voorbeeld

wanneer gestart
[Flash the Touch LED while the lift is moving.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ◀ en niet wachten
wacht [0.1] seconden
herhaal totdat <[LiftMotor v] klaar?>
stel [TouchLED v] kleur in op [rood v]
wacht [0.5] seconden
stel [TouchLED v] kleur in op [geen v]
wacht [0.5] seconden
einde

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.

<[ClawMotor v] draait?>

Parameters

Beschrijving

motor

De motor die aangeeft of hij draait: ClawMotor of LiftMotor.

Voorbeeld

wanneer gestart
[Flash the Touch LED while the lift is spinning.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ◀ en niet wachten
wacht [0.1] seconden
herhaal totdat <niet <[LiftMotor v] draait?>>
stel [TouchLED v] kleur in op [rood v]
wacht [0.5] seconden
stel [TouchLED v] kleur in op [geen v]
wacht [0.5] seconden
einde

motorsnelheid#

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

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

Parameters

Beschrijving

motor

De motor die de snelheid rapporteert is: ClawMotor of LiftMotor.

eenheid

De eenheid waarin de motorsnelheid wordt weergegeven: %.

Voorbeeld

wanneer gestart
stel [LiftMotor v] snelheid in op [100] [% v]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ◀ en niet wachten
wacht [0.5] seconden
druk ([LiftMotor 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 opgenomen. Beschikbare signaturen zijn:

  • AI-classificaties - Detecteert stralen en blauwe, rode en oranje pinnen.

Voorbeeld

wanneer gestart
[Place the Red Pin on the top left Blue Pin.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
draai [links v] voor [38] graden ▶
herhaal totdat <([AIVision v] object [breedte v]) [math_greater_than v] [48]>
haal [AI-classificaties v] gegevens op van [AIVision v]
rijd [vooruit v]
einde
rijd [vooruit v] voor [160] [mm v] ▶
draai [ClawMotor v] [open v]

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
[Find the object index of the nearest Orange Pin.]
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 [Orange Pin v]> dan
druk (voeg [Nearest Orange Pin is ] (object_counter) samen) af ▶
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
[Raise the Lift until a Pin or Beam is detected.]
herhaal totdat <[AIVision v] object bestaat?>
haal [AI-classificaties v] gegevens op van [AIVision v]
draai [LiftMotor v] [omhoog v]
einde
stop [LiftMotor v]

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 [Beam v]?>

Parameter

Beschrijving

voorwerp

Met welk object moet het item vergeleken worden:

  • Balk
  • Blauwe speld
  • Rode speld
  • Oranje speld

Voorbeeld

wanneer gestart
[Find the object index of the nearest Orange Pin.]
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 [Orange Pin v]> dan
druk (voeg [Nearest Orange Pin is ] (object_counter) samen) af ▶
anders
verander [object_counter v] met [1]
einde
einde

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
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 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 objecteigenschaprapportageblok van AI Vision met geselecteerde breedte.#
([AIVision v] object [breedte v])
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])
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])
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])
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])
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])

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.

<[Optical v] object gevonden?>

Parameters

Beschrijving

Dit blok heeft geen parameters.

Voorbeeld

wanneer gestart
[Place a pin atop another pin.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open v]
wacht totdat <niet <[Optical v] object gevonden?>>
draai [LiftMotor v] naar positie [0] [graden v] ▶

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.

<[Optical 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°.

Voorbeeld

wanneer gestart
[Place a pin atop another pin.]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open v]
wacht totdat <[Optical v] detecteert [rood v]?>
draai [LiftMotor v] naar positie [0] [graden v] ▶

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.

([Optical v] helderheid in %)

Parameters

Beschrijving

Dit blok heeft geen parameters.

Optische tint#

Het blok Optische tint geeft de tintwaarde terug van de kleur die door de optische sensor is gedetecteerd.

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 graden bovenaan tot 360 graden.

([Optical 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 [Optical v] [detecteert v] een object

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.

Voorbeeld

wanneer [Optical v] [verliest v] een object
[Lower the lift when the object is no longer in the claw.]
draai [LiftMotor v] naar positie [0] [graden v] ▶

Aanraak-LED#

TouchLED-kleur instellen#

Met het blok Set TouchLED color wordt de kleur van de Touch LED ingesteld.

stel [TouchLED v] kleur in op [geen v]

Parameters

Beschrijving

kleur

Stelt de kleur van de LED in op:

  • geen - Schakelt de aanraak-LED uit
  • rood
  • groen
  • blauw
  • wit
  • geel
  • oranje
  • paars
  • roodviolet
  • violet
  • blauwviolet
  • blauwgroen
  • geelgroen
  • geeloranje
  • roodoranje

Voorbeeld

wanneer gestart
[Light the Touch LED while placing a pin.]
stel [TouchLED v] kleur in op [rood v]
draai [LiftMotor v] [omhoog v] voor [600] [graden v] ▶
rijd [vooruit v] voor (140) [mm v] ▶
draai [ClawMotor v] [open v]
stel [TouchLED v] kleur in op [geen v]