AI-visiesensor#
Invoering#
De AI Vision Sensor kan objecten, kleuren en AprilTag ID’s detecteren en volgen. Hierdoor kan de robot zijn omgeving analyseren, objecten volgen en reageren op basis van de gedetecteerde visuele gegevens.
Hieronder vindt u een lijst met beschikbare blokken:
Acties – Leg gegevens vast van de AI-beeldsensor voor een geselecteerd kenmerk.
snapshot maken – Legt gegevens vast voor een specifieke signatuur, zoals een geconfigureerde kleur, een vooraf getraind object of een AprilTag ID.
Instellingen – Kies met welk object u wilt interageren.
set AI Vision object item – Selecteert een specifiek object uit de lijst met gedetecteerde objecten.
Waarden – Toegang tot en gebruik van de vastgelegde gegevens.
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 – Controleert of het gedetecteerde object een AprilTag is die overeenkomt met een specifieke ID.
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.
hoek – Oriëntatie van het object.
originX & originY – Positiecoördinaten van de linkerbovenhoek in het gezichtsveld van de sensor.
tagID – Identificatienummer van een AprilTag ID.
score – Hoe zeker het model is van zijn identificatie, uitgedrukt als percentage.
Acties#
maak een momentopname#
Het stackblok snapshot maken 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.
maak een [AIVision1 v] momentopname van [SELECT_A_SIG v]
Parameter |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
handtekening |
Filtert de dataset zodat alleen gegevens met de opgegeven signatuur worden opgenomen. Beschikbare signaturen zijn:
|
Let op: Om de opties AprilTag ID of AI-classificatie te laten verschijnen, moet de detectie ervan zijn ingeschakeld in het AI Vision-hulpprogramma.
Voorbeeld
wanneer gestart
[Drive forward if an AprilTag ID is detected.]
altijd
maak een [AIVision1 v] momentopname van [AprilTag IDs v]
als <[AIVIsion1 v] object bestaat?> dan
rijd [vooruit v] voor [10] [mm v] ▶
AI-classificaties#
De AI Vision Sensor kan verschillende objecten detecteren op basis van bepaalde AI-classificaties. Afhankelijk van het AI-classificatiemodel dat is geselecteerd bij het configureren van de AI Vision Sensor in het venster Apparaten, worden verschillende objecten gedetecteerd. De momenteel beschikbare modellen zijn:
Lesmateriaal
BlueBall
GreenBall
Rode Bal
Blauwe Ring
Groene Ring
Rode Ring
BlueCube
Groene Kubus
RedCube
VEX V5 Robotics Competition Push Back
BlueBlock
RedBlock
VEX V5 Robotica Competitie met hoge inzet
Mobiel Doel
Rode Ring
Blauwe Ring
VEX V5 Robotics Competition Override
RoodBlauwSpeld
BlauwGelePin
RoodGelePin
Gele Speld
Beker
Kleursignaturen#
Een kleursignatuur is een unieke kleur die de AI-visiesensor 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, kan de sensor objecten met die specifieke kleur in zijn gezichtsveld identificeren.
Kleursignaturen worden in het snapshot maken blok gebruikt om gekleurde objecten in realtime te verwerken en te detecteren. Er kunnen maximaal 7 kleursignaturen tegelijk worden geconfigureerd.

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.]
maak een [AIVision1 v] momentopname van [RED_BOX v]
als <[AIVision1 v] object bestaat?> dan
druk [Color 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. Deze codes stellen de AI-beeldsensor in staat om vooraf gedefinieerde kleurpatronen te 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. Er kunnen maximaal 8 kleurcodes tegelijk worden geconfigureerd.

Voorbeeld
wanneer gestart
[Display if any objects matching the RED_BLUE 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.]
maak een [AIVision1 v] momentopname van [RED_BLUE v]
als <[AIVision1 v] object bestaat?> dan
druk [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 [AIVision1 v] object-item in op (1)
Parameters |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
item |
Het nummer van het item in de dataset dat gebruikt moet worden. |
Voorbeeld
wanneer gestart
[Display the largest detected AprilTag ID.]
altijd
maak een [AIVision1 v] momentopname van [AprilTag IDs v]
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
als <[AIVision1 v] object bestaat?> dan
stel [AIVision1 v] object-item in op ([AIVision1 v] object aantal)
druk ([AIVision1 v] object [tagID v]) af op scherm ▶
Waarden#
Bestaat het AI Vision-object?#
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 – De dataset bevat geen gedetecteerde objecten.
<[AIVision1 v] object bestaat?>
Parameters |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart
[Drive forward if an object is detected.]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
rijd [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.
<[AIVision1 v] object is [BlueBall v]?>
Parameter |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
voorwerp |
Met welke AI-classificatie het item vergeleken moet worden. |
Voorbeeld
wanneer gestart
[Display if a Blue Cube is detected.]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
als <[AIVision1 v] object bestaat?> dan
als <[AIVision1 v] object is [BlueCube v]?> dan
druk [Cube detected!] af op scherm ▶
wacht [0.5] seconden
Het AI Vision-object is AprilTag.#
Het Booleaanse blok AI Vision object is AprilTag geeft aan of het gedetecteerde object een AprilTag is die overeenkomt met een specifieke ID.
Waar – Het gedetecteerde object is een AprilTag met de opgegeven ID.
Onjuist – Het gedetecteerde object is geen AprilTag met de opgegeven ID.
<[AIVision1 v] object is AprilTag [0]?>
Parameter |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
AprilTag ID |
Het ID-nummer ter vergelijking met de gedetecteerde AprilTag. |
Voorbeeld
wanneer gestart
[Report if AprilTag 3 is detected.]
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
maak een [AIVision1 v] momentopname van [AprilTag IDs v]
als <[AIVision1 v] object bestaat?> dan
als <[AIVision1 v] object is AprilTag [3]?> dan
druk [That is 3!] af op scherm ▶
anders
druk [That isn't 3!] af op scherm ▶
einde
einde
wacht [0.1] 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.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parameters |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
AprilTag ID-nummer |
Het nummer dat vergeleken moet worden met het gedetecteerde AprilTag ID-nummer. |
Voorbeeld:
wanneer gestart
[Report if AprilTag ID 3 is detected.]
altijd
wis scherm
stel cursor in op rij [1] kolom [1] op scherm
maak een [AIVision1 v] momentopname van [AprilTag IDs v]
als <[AIVision1 v] object bestaat?> dan
als <[AIVision1 v] object is AprilTag ID [3] ?> dan
druk [That is 3!] af op scherm ▶
anders
druk [That isn't 3!] af op scherm ▶
einde
einde
wacht [0.1] seconden
AI Vision object count#
Het AI Vision object count reporterblok rapporteert het aantal gedetecteerde objecten in de dataset als een geheel getal.
([AIVision1 v] object aantal)
Parameters |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
Voorbeeld
wanneer gestart
[Display the total amount of cubes, rings, and balls.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
druk ([AIVision1 v] 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 snapshot maken blok is gebruikt.
([AIVision1 v] object [breedte v])
Alle eigenschapswaarden, behalve tagID en score, beschrijven de positie en grootte van het gedetecteerde object in het gezichtsveld van de AI Vision Sensor op het moment dat het blok snapshot maken werd gebruikt. Deze waarden worden gemeten in pixels, gebaseerd op de resolutie van de sensor van 320 bij 240 pixels.
Parameter |
Beschrijving |
|---|---|
apparaat |
Welke AI-visiesensor te gebruiken, geconfigureerd in het venster Apparaten. |
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.
([AIVision1 v] object [breedte v])
Voorbeeld
wanneer gestart
[Drive towards an object until its width is larger than 100 pixels.]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] object [breedte v]) [math_less_than v] [100]> dan
rijd [vooruit v]
anders
stop rijden
einde
hoogte#
De eigenschap hoogte geeft de hoogte van het gedetecteerde object in pixels weer als een geheel getal van 1 tot 240.
([AIVision1 v] object [hoogte v])
Voorbeeld
wanneer gestart
[Drive towards an object until its height is larger than 100 pixels.]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] object [hoogte v]) [math_less_than v] [100]> dan
rijd [vooruit v]
anders
stop rijden
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.
([AIVision1 v] object [centerX v])
Voorbeeld
wanneer gestart
[Turn slowly until an object is centered in front of the robot.]
stel draaisnelheid in op [30] [% v]
draai [rechts v]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <[140] [math_less_than v] ([AIVision1 v] object [centerX v]) [math_less_than v] [180]> dan
stop rijden
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.
([AIVision1 v] object [centerY v])
Voorbeeld
wanneer gestart
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
altijd
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] object [centerY v]) [math_less_than v] [140]> dan
rijd [vooruit v]
anders
stop rijden
einde
hoek#
De eigenschap hoek geeft de oriëntatie van de gedetecteerde kleurcode of AprilTag-ID weer als een geheel getal in graden van 0 tot 359.
([AIVision1 v] object [hoek v])
Voorbeeld
wanneer gestart
[Slide left or right depending on how the Color Code is rotated.]
altijd
maak een [AIVision1 v] momentopname van [RED_BLUE v]
als <[AIVision1 v] object bestaat?> dan
als <[50] [math_less_than v] ([AIVision1 v] object [hoek v]) [math_less_than v] [100]> dan
rijd [rechts v]
anders als <[270] [math_less_than v] ([AIVision1 v] object [hoek v]) [math_less_than v] [330]> dan
rijd [links v]
anders
stop rijden
einde
anders
stop rijden
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.
([AIVision1 v] object [originX v])
Voorbeeld
wanneer gestart
[Display if an object is to the left or the right.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] 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.
([AIVision1 v] object [originY v])
Voorbeeld
wanneer gestart
[Display if an object is close or far from the robot.]
altijd
wis rij [1] op scherm
stel cursor in op rij [1] kolom [1] op scherm
maak een [AIVision1 v] momentopname van [AI-classificaties v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] 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
tagID#
De eigenschap tagID geeft het identificatienummer van de gedetecteerde AprilTag ID weer als een geheel getal.
([AIVision1 v] object [tagID v])
Voorbeeld
wanneer gestart
[Drive forward when AprilTag ID 0 is detected.]
altijd
maak een [AIVision1 v] momentopname van [AprilTag IDs v]
als <[AIVision1 v] object bestaat?> dan
als <([AIVision1 v] object [tagID v]) [math_equal v] [0]> dan
rijd [vooruit v]
anders
stop rijden
einde
wacht [0.5] seconden
score#
De eigenschap score geeft aan hoe zeker het model is van de gedetecteerde AI-classificatie, uitgedrukt als een percentage van 70% tot 100%.
Een lagere score betekent dat de sensor minder zeker is van het gedetecteerde object, terwijl een hogere score betekent dat de sensor meer zeker is.
([AIVision1 v] object [score v])