AI-visie#
Invoering#
De AI-visiesensor van de VEX AIM-codeerrobot detecteert en volgt objecten, kleuren en AprilTag-ID’s. Hierdoor kan de robot zijn omgeving analyseren, objecten volgen en reageren op basis van de gedetecteerde visuele gegevens.
De AI-visiesensor heeft een resolutie van 320×240 pixels. Het nulpunt (0, 0) bevindt zich in de linkerbovenhoek, waardoor het midden van de sensor op (160, 120) ligt, zoals weergegeven in het onderstaande diagram:

Hieronder vindt u een lijst van alle blokken:
Acties — Bedien de AI Vision-feed en leg objectgegevens vast.
AI Vision-viewer op het scherm — Hiermee kunt u de live AI Vision-feed op het scherm van de robot in- of uitschakelen.
get object data — Legt gegevens vast voor een specifieke signatuur, zoals een geconfigureerde kleur, een vooraf getraind object of een AprilTag ID.
Instellingen — Pas aan welke gedetecteerde objecten worden geopend.
set AI Vision object item — Selecteert een specifiek object uit de lijst met gedetecteerde objecten.
Waarden — Retourneert de aanwezigheid, classificatie en eigenschappen van een object.
heeft object — Controleert of de robot een gedetecteerd object vasthoudt.
AI Vision-object bestaat — Rapporteert of een object is gedetecteerd.
AI Vision object is — Controleert of een gedetecteerd object overeenkomt met een specifieke classificatie.
AI Vision object is AprilTag ID — Controleert of een gedetecteerde AprilTag ID overeenkomt met een specifieke ID.
AI Vision object count — Rapporteert het aantal gedetecteerde objecten.
AI Vision objecteigenschap — Rapporteert details zoals:
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.
rotatie — Oriëntatie van het object.
lager — Horizontale hoek ten opzichte van de voorkant van de robot.
tagID — Identificatienummer van een AprilTag ID.
Acties#
AI Vision-viewer op het scherm#
Met het stackblok AI Vision viewer on screen kunt u de live AI Vision-feed op het scherm van de robot in- of uitschakelen. Wanneer de feed is ingeschakeld, worden realtime sensorgegevens weergegeven, waardoor andere afbeeldingen of tekst niet zichtbaar zijn. Om andere inhoud weer te geven, kunt u dit blok gebruiken om de feed te verbergen.
AI Vision [tonen v] viewer op scherm
Parameters |
Beschrijving |
|---|---|
status |
Hiermee regelt u de weergave van de datafeed op het scherm van de robot: show toont de datafeed, terwijl hide de datafeed van het scherm verwijdert. |
Voorbeeld
wanneer gestart
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [tonen v] viewer op scherm
wacht [5] seconden
AI Vision [verbergen v] viewer op scherm
objectgegevens ophalen#
Het stackblok get object data 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 vooraf getraind object, een AprilTag ID of een geconfigureerde kleur of kleurcode.
Kleuren en kleurcodes moeten eerst worden geconfigureerd in de AI Vision Utility voordat ze met dit blok kunnen worden gebruikt.
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 gerapporteerd als er geen overeenkomende objecten worden gevonden.
haal [sportbal v] gegevens op uit AI Vision
Parameter |
Beschrijving |
|---|---|
handtekening |
Filtert de dataset zodat alleen gegevens met de opgegeven signatuur worden weergegeven. Beschikbare signaturen zijn:
|
Voorbeeld
wanneer gestart
[Move forward if a sports ball is detected.]
altijd
haal [sportbal v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
beweeg [vooruit v] voor [10] [mm v] ▶
Kleursignaturen#
Een kleursignatuur is een unieke kleur die de AI Vision Sensor kan herkennen. Deze signaturen stellen de sensor in staat objecten te detecteren en te volgen op basis van hun kleur. Zodra een kleursignatuur is geconfigureerd in de AI Vision Utility, kan de sensor objecten met die specifieke kleur in zijn gezichtsveld identificeren.
Kleursignaturen worden in het get object data blok gebruikt om gekleurde objecten in realtime te verwerken en te detecteren.

Voorbeeld
wanneer gestart
[Display if any objects matching the Red_Box signature is detected.]
altijd
stel cursor in op rij [1] kolom [1] op scherm
wis rij [1] op scherm
[Change the signature to any configured Color Signature.]
haal [Red_Box v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
druk [Color signature detected!] af op scherm ▶
Kleurcodes#
Een kleurcode is een gestructureerd patroon dat bestaat uit 2 tot 4 kleursignaturen die in een specifieke volgorde zijn gerangschikt. Zodra een kleurcode is geconfigureerd in de AI Vision Utility, kan de sensor vooraf gedefinieerde kleurpatronen herkennen.
Kleurcodes zijn bijzonder handig voor het identificeren van complexe objecten, het afstemmen op spelelementen of het creëren van unieke markeringen voor autonome navigatie.

Voorbeeld
wanneer gestart
[Display if any objects matching the BlueRed code is detected.]
altijd
stel cursor in op rij [1] kolom [1] op scherm
wis rij [1] op scherm
[Change the signature to any configured Color Code.]
haal [BlueRed v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
druk [Color code detected!] af op scherm ▶
Instellingen#
stel AI Vision-objectitem in#
Het stackblok set AI Vision object item bepaalt welk item in de dataset gebruikt moet worden.
stel AI Vision object-item in op (1)
Parameters |
Beschrijving |
|---|---|
item |
Het nummer van het item in de dataset dat gebruikt moet worden. |
Voorbeeld
wanneer gestart
[Display the width of the smallest detected object.]
altijd
haal [alle lading v] gegevens op uit AI Vision
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
als <AI Vision object bestaat?> dan
stel AI Vision object-item in op (AI Vision object aantal)
druk (AI Vision object [breedte v]) af op scherm ▶
Waarden#
heeft object#
Het Booleaanse blok heeft object rapporteert of de robot momenteel een gedetecteerd object heeft ten opzichte van zijn Kicker.
Klopt — De robot heeft het object.
Onjuist — De robot heeft het object niet.
<heeft [sportbal v] ? :: custom-ai-vision>
Parameter |
Beschrijving |
|---|---|
voorwerp |
Het object dat de robot moet detecteren:
|
Voorbeeld
wanneer gestart
[Kick when the robot has a sports ball.]
altijd
als <heeft [sportbal v] ? :: custom-ai-vision> dan
schop object [gemiddeld v]
Het AI Vision-object bestaat#
Het Booleaanse blok AI Vision object exists geeft aan of er een object in de dataset is gedetecteerd.
Waar — De dataset bevat een gedetecteerd object.
Onjuist — Er zijn geen objecten gedetecteerd.
<AI Vision object bestaat?>
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Move forward if a sports ball is detected.]
altijd
haal [sportbal v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
beweeg [vooruit v] voor [10] [mm v] ▶
Het AI Vision-object is#
Het AI Vision-object is een Booleaanse code die aangeeft of een gedetecteerd object overeenkomt met een specifieke classificatie.
Waar — Het item in de dataset is het specifieke object.
Onjuist — Het item in de dataset is niet het specifieke object.
<AI Vision object is [sportbal v]?>
Parameter |
Beschrijving |
|---|---|
voorwerp |
Met welk object moet het item vergeleken worden:
|
Voorbeeld
wanneer gestart
[Display if a sports ball is detected.]
altijd
haal [alle lading v] gegevens op uit AI Vision
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
als <AI Vision object bestaat?> dan
als <AI Vision object is [sportbal v]?> dan
druk [Sports ball detected!] af op scherm ▶
wacht [0.5] seconden
Het AI Vision-object is het AprilTag-ID.#
Het Booleaanse blok AI Vision object is AprilTag ID geeft aan of een gedetecteerde AprilTag ID overeenkomt met een specifieke ID.
Klopt — De AprilTag ID is het nummer.
Onjuist — De AprilTag ID is niet het nummer.
<AI Vision object is AprilTag ID [1] ?>
Parameters |
Beschrijving |
|---|---|
AprilTag ID |
Het nummer dat vergeleken moet worden met het gedetecteerde AprilTag ID-nummer. |
AI Vision object count#
Het AI Vision object count reporterblok rapporteert het aantal gedetecteerde objecten in de dataset als een geheel getal.
AI Vision object aantal
Parameters |
Beschrijving |
|---|---|
Dit blok heeft geen parameters. |
Voorbeeld
wanneer gestart
[Display the amount of sports balls and barrels.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
haal [alle lading v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
druk (AI Vision object aantal) af op scherm ▶
einde
wacht [0.5] seconden
AI Vision-objecteigenschap#
Er zijn negen eigenschappen die bij elk object worden meegeleverd (zie hieronder) en die worden opgeslagen nadat het get object data blok is gebruikt.
AI Vision object [breedte v]
Alle eigenschapswaarden, behalve tagID, beschrijven de positie, grootte, oriëntatie of richting van het gedetecteerde object op het moment dat het blok objectgegevens ophalen werd gebruikt. Deze waarden worden gemeten in pixels of graden, 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.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [breedte v]

Voorbeeld
wanneer gestart
[Move towards a blue barrel until its width is larger than 100 pixels.]
altijd
haal [blauwe ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [breedte v]) [math_less_than v] [100]> dan
beweeg [vooruit v]
einde
anders
stop alle beweging
hoogte#
De eigenschap hoogte geeft de hoogte van het gedetecteerde object in pixels weer als een geheel getal van 1 tot 240.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [hoogte v]

Voorbeeld
wanneer gestart
[Move towards a blue barrel until its height is larger than 100 pixels.]
altijd
haal [blauwe ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [hoogte v]) [math_less_than v] [100]> dan
beweeg [vooruit v]
einde
anders
stop alle beweging
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.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [centerX v]

Voorbeeld
wanneer gestart
[Turn slowly until a blue barrel is centered in front of the robot.]
stel draaisnelheid in op [30]%
draai [rechts v]
altijd
haal [blauwe ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <[140] [math_less_than v] (AI Vision object [centerX v]) [math_less_than v] [180]> dan
stop alle beweging
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.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [centerY v]

Voorbeeld
wanneer gestart
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
altijd
haal [blauwe ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [centerY v]) [math_less_than v] [140]> dan
beweeg [vooruit v]
einde
anders
stop alle beweging
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.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [originX v]

Voorbeeld
wanneer gestart
[Display if an orange barrel is to the left or the right.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
haal [oranje ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [originX v]) [math_less_than v] [160]> dan
druk [To the left!] af op scherm ▶
anders
druk [To the right!] af op scherm ▶
einde
wacht [0.5] seconden
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.
Opmerking: Pixelwaarden zijn relatief ten opzichte van het coördinatensysteem van de sensor. Zie het diagram in de Inleiding ter referentie.
AI Vision object [originY v]

Voorbeeld
wanneer gestart
[Display if an orange barrel is close or far from the robot.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
haal [oranje ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [originY v]) [math_less_than v] [80]> dan
druk [Far!] af op scherm ▶
anders
druk [Close!] af op scherm ▶
einde
wacht [0.5] seconden
rotatie#
De eigenschap rotatie geeft de oriëntatie van de gedetecteerde AprilTag ID of kleurcode weer als een geheel getal in graden van 0 tot 359.
AI Vision object [rotatie v]

Voorbeeld
wanneer gestart
[Slide left or right depending on how the Color Code is rotated.]
altijd
haal [Red_Blue v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <[50] [math_less_than v] (AI Vision object [rotatie v]) [math_less_than v] [100]> dan
beweeg [rechts v]
anders als <[270] [math_less_than v] (AI Vision object [rotatie v]) [math_less_than v] [330]> dan
beweeg [links v]
anders
stop alle beweging
einde
anders
stop alle beweging
handelswijze#
De eigenschap richting geeft aan hoe ver een object zich links of rechts van het midden van het gezichtsveld van de AI Vision Sensor bevindt, uitgedrukt in graden. Een waarde van 0 betekent dat het object in het midden staat, positieve waarden betekenen dat het object zich rechts bevindt en negatieve waarden betekenen dat het object zich links bevindt.
wanneer gestart
[Keep the blue barrel directly in front of the robot.]
stel draaisnelheid in op [40]%
altijd
haal [blauwe ton v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
als <(AI Vision object [koers v]) [math_greater_than v] [5]> dan
draai [rechts v]
anders als <(AI Vision object [koers v]) [math_less_than v] [-5]> dan
draai [links v]
anders
stop alle beweging
tagID#
De eigenschap tagID geeft het identificatienummer van de gedetecteerde AprilTag ID weer als een geheel getal.
AI Vision object [tagID v]
Voorbeeld
wanneer gestart
[Move forward when AprilTag ID 0 is detected.]
altijd
haal [AprilTag ID 0 v] gegevens op uit AI Vision
als <AI Vision object bestaat?> dan
beweeg [vooruit v]
einde
stop alle beweging