AI látásérzékelő#
Bevezetés#
A VEX IQ AI látásérzékelő képes tárgyak, színek és AprilTag azonosítók érzékelésére és nyomon követésére. Ez lehetővé teszi a robot számára, hogy elemezze a környezetét, kövesse a tárgyakat, és a detektált vizuális adatok alapján reagáljon.
Az AI Vision példák VEX IQ AI Vision érzékelővel felszerelt Basebottal való használatra készültek. Ezekben a példákban az érzékelő az AIVision1 névvel van konfigurálva, amely a blokkokban is megjelenik.
Az alábbiakban az összes blokk listája található:
Műveletek – Adatok rögzítése a VEX IQ AI látásérzékelőből egy kiválasztott aláíráshoz.
objektumadatok lekérése — Egy adott aláírás adatait rögzíti, például egy konfigurált színt, egy előre betanított objektumot vagy egy AprilTag azonosítót.
Beállítások – Válassza ki, hogy melyik objektummal szeretne interakcióba lépni.
AI Vision objektumelem beállítása — Kiválaszt egy adott objektumot az észlelt objektumok listájából.
Értékek – Hozzáférés a rögzített adatokhoz és azok felhasználása.
AI Vision objektum létezik — Jelenti, hogy észlelt-e objektumot.
AI Vision objektumok száma — Megjeleníti az észlelt objektumok számát.
AI Vision objektumtulajdonság — Jelentési részletek, például:
AI Vision objektum? — Ellenőrzi, hogy az észlelt objektum megfelel-e egy adott besorolásnak.
AI Vision objektum AprilTag? — Ellenőrzi, hogy az észlelt objektum egy adott azonosítóhoz illeszkedő AprilTag-e.
Az AI Vision objektum AprilTag azonosítója? — Ellenőrzi, hogy egy észlelt AprilTag azonosító megegyezik-e egy adott azonosítóval.
Műveletek#
objektumadatok lekérése#
Az objektumadatok lekérése veremblokk a VEX IQ AI Vision Sensor keretrendszeréből származó adatokat egyetlen aláírásra szűri – ez egy mentett leírás valamiről, amit az érzékelő felismer, például egy előre betanított objektum, egy AprilTag azonosító vagy egy konfigurált szín vagy színkód.
A színeket és színkódokat először az AI Vision Utility programban kell konfigurálni, mielőtt ezzel a blokkal használhatók lennének.
Az adathalmaz a 0 indexszel kezdődően, szélesség szerint a legnagyobbtól a legkisebbig rendezett objektumokat tárolja. Az egyes objektumok tulajdonságai az AI Vision object property blokk segítségével érhetők el. Ha nem észlelhető egyező objektum, akkor üres adathalmazt jelez a rendszer.
[SELECT_A_SIG v] adatainak lekérése [AIVision1 v] szenzorból
Paraméter |
Leírás |
|---|---|
aláírás |
Úgy szűri az adathalmazt, hogy csak az adott aláírás adatait tartalmazza. Az elérhető aláírások:
|
Megjegyzés: Ahhoz, hogy az AprilTag ID vagy az AI besorolási lehetőségek megjelenjenek, engedélyezni kell az észlelésüket az AI Vision segédprogramban.
Példa
amikor elindul
[Drive forward if an AprilTag ID is detected.]
örökre
[AprilTag IDs v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVIsion1 v] objektum létezik?> akkor
hajtás [előre v] irányba [10] [mm v] értékkel ▶
MI-besorolások#
A VEX IQ AI Vision Sensor bizonyos MI-besorolások alá tartozó objektumokat képes érzékelni. A VEX IQ AI Vision Sensor Eszközök ablakban történő konfigurálásakor kiválasztott MI-besorolási modelltől függően a rendszer különböző objektumokat érzékel. A jelenleg elérhető modellek a következők:
Tantermi tárgyak
Kéklabda
GreenBall
RedBall
Kék Gyűrű
GreenRing
RedRing
Kék kocka
GreenCube
RedCube
VEX IQ Robotikaverseny Mix & Match
Gerenda
RedPin
BluePin
OrangePin
VEX IQ Robotikaverseny szintlépés
KékBabzsák
Vörösbabzsák
SárgaBabzsák
Színaláírások#
A színazonosító egy egyedi szín, amelyet a VEX IQ AI látásérzékelő felismer. Ezek az aláírások lehetővé teszik az érzékelő számára, hogy a színük alapján érzékelje és kövesse a tárgyakat. A színazonosító konfigurálása után az érzékelő képes azonosítani a látóterében lévő adott színű tárgyakat.
A színaláírásokat a get object data blokkban használjuk a színes objektumok valós idejű feldolgozására és észlelésére. Egyszerre legfeljebb 7 színaláírás konfigurálható.

Példa
amikor elindul
[Display if any objects matching the RED_BOX signature is detected.]
örökre
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[1]. sor törlése a képernyőn
[Change the signature to any configured Color Signature.]
[RED_BOX v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
[Color detected!] nyomtatása a képernyőn ▶
Színkódok#
A színkód egy strukturált minta, amely 2-4, meghatározott sorrendben elrendezett színaláírásból áll. Ezek a kódok lehetővé teszik a VEX IQ AI látásérzékelő számára, hogy felismerje az előre meghatározott színmintákat.
A színkódok különösen hasznosak összetett objektumok azonosításához, játékelemekhez való igazításhoz vagy egyedi jelölők létrehozásához az autonóm navigációhoz. Egyszerre akár 8 színkód is konfigurálható.

Példa
amikor elindul
[Display if any objects matching the RED_BLUE code is detected.]
örökre
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[1]. sor törlése a képernyőn
[Change the signature to any configured Color Code.]
[RED_BLUE v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVIsion1 v] objektum létezik?> akkor
[Code detected!] nyomtatása a képernyőn ▶
Beállítások#
AI Vision objektumelem beállítása#
Az AI Vision objektumelem beállítása veremblokk beállítja, hogy az adathalmaz melyik elemét kell használni.
[AIVision1 v] objektum elemének beállítása (1) értékre
Paraméterek |
Leírás |
|---|---|
tétel |
Az adathalmazban használandó elem száma. |
Példa
amikor elindul
[Display the largest detected AprilTag ID.]
örökre
[AprilTag IDs v] adatainak lekérése [AIVision1 v] szenzorból
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
ha <[AIVision1 v] objektum létezik?> akkor
[AIVision1 v] objektum elemének beállítása ([AIVision1 v] objektumok száma) értékre
([AIVision1 v] objektum [tagID v]) nyomtatása a képernyőn ▶
Értékek#
AI Vision objektum létezik#
Az AI Vision objektum létezik logikai blokk jelzi, hogy észlelhető-e objektum az adathalmazban.
Igaz – Az adathalmaz tartalmaz egy észlelt objektumot.
Hamis — Az adathalmaz nem tartalmaz észlelt objektumokat.
<[AIVision1 v] objektum létezik?>
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
amikor elindul
[Drive forward if an object is detected.]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
hajtás [előre v] irányba [10] [mm v] értékkel ▶
AI Vision objektumok száma#
Az AI Vision objektumszám jelentésblokkja egész számként jelenti az adathalmazban észlelt objektumok számát.
([AIVision1 v] objektumok száma)
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
amikor elindul
[Display the total amount of cubes, rings, and balls.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
([AIVision1 v] objektumok száma) nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig
AI Vision objektumtulajdonság#
Kilenc tulajdonság tartozik minden objektumhoz (lásd alább), amelyeket a get object data blokk használata után tárolunk.
([AIVision1 v] objektum [szélesség v])
A tagID kivételével az összes tulajdonságérték a detektált objektum pozícióját és méretét írja le a VEX IQ AI Vision Sensor nézetében a objektumadatok lekérése blokk használatakor. Ezeket az értékeket pixelben mérjük, az érzékelő 320 x 240 pixeles felbontása alapján.
Paraméter |
Leírás |
|---|---|
ingatlan |
A detektált objektum melyik tulajdonságát használja: |
szélesség#
A width tulajdonság a detektált objektum szélességét adja meg pixelben, 1 és 320 közötti egész számként.
([AIVision1 v] objektum [szélesség v])
Példa
amikor elindul
[Drive towards an object until its width is larger than 100 pixels.]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [szélesség v]) [math_less_than v] [100]> akkor
hajtás [előre v]
vége
különben
hajtás leállítása
magasság#
A height tulajdonság a detektált objektum magasságát adja meg pixelben, 1 és 240 közötti egész számként.
([AIVision1 v] objektum [magasság v])
Példa
amikor elindul
[Drive towards an object until its height is larger than 100 pixels.]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [magasság v]) [math_less_than v] [100]> akkor
hajtás [előre v]
vége
különben
hajtás leállítása
középX#
A centerX tulajdonság a detektált objektum középpontjának x koordinátáját adja meg pixelben, 0 és 320 közötti egész számként.
([AIVision1 v] objektum [középX v])
Példa
amikor elindul
[Turn slowly until an object is centered in front of the robot.]
fordulási sebesség beállítása [30] [% v]
fordulás [jobbra v]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <[140] [math_less_than v] ([AIVision1 v] objektum [középX v]) [math_less_than v] [180]> akkor
hajtás leállítása
közép Y#
A centerY tulajdonság a detektált objektum középpontjának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.
([AIVision1 v] objektum [középY v])
Példa
amikor elindul
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [középY v]) [math_less_than v] [140]> akkor
hajtás [előre v]
vége
különben
hajtás leállítása
szög#
Az angle tulajdonság a detektált színkód vagy AprilTag azonosító tájolását adja meg egész számként, 0 és 359 közötti fokban.
([AIVision1 v] objektum [szög v])
Példa
amikor elindul
[Slide left or right depending on how the Color Code is rotated.]
örökre
[RED_BLUE v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <[50] [math_less_than v] ([AIVision1 v] objektum [szög v]) [math_less_than v] [100]> akkor
hajtás [jobbra v]
különben ha <[270] [math_less_than v] ([AIVision1 v] objektum [szög v]) [math_less_than v] [330]> akkor
hajtás [balra v]
különben
hajtás leállítása
vége
különben
hajtás leállítása
eredetX#
Az originX tulajdonság a detektált objektum határolókeretének bal felső sarkának x koordinátáját adja meg pixelekben, 0 és 320 közötti egész számként.
([AIVision1 v] objektum [kezdőX v])
Példa
amikor elindul
[Display if an object is to the left or the right.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [kezdőX v]) [math_less_than v] [160]> akkor
[To the left!] nyomtatása a képernyőn ▶
különben
[To the right!] nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig
származásY#
Az originY tulajdonság a detektált objektum határolókeretének bal felső sarkának y koordinátáját adja meg pixelekben, 0 és 240 közötti egész számként.
([AIVision1 v] objektum [kezdőY v])
Példa
amikor elindul
[Display if an object is close or far from the robot.]
örökre
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [kezdőY v]) [math_less_than v] [80]> akkor
[Far!] nyomtatása a képernyőn ▶
különben
[Close!] nyomtatása a képernyőn ▶
vége
várakozás [0.5] másodpercig
címkeazonosító#
A tagID tulajdonság egész számként jelenti az észlelt AprilTag azonosító azonosítószámát.
([AIVision1 v] objektum [tagID v])
Példa
amikor elindul
[Drive forward when AprilTag ID 0 is detected.]
örökre
[AprilTag IDs v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <([AIVision1 v] objektum [tagID v]) [math_equal v] [0]> akkor
hajtás [előre v]
különben
hajtás leállítása
vége
várakozás [0.5] másodpercig
Mi az AI Vision objektum?#
Az AI Vision objektum? blokk egy logikai értéket jelez, amely azt jelzi, hogy a detektált objektum megfelel-e egy adott osztályozásnak.
Igaz – Az adathalmazban található elem a konkrét objektum.
Hamis – Az adathalmazban található elem nem a konkrét objektum.
<[AIVision1 v] objektum [BlueBall v]?>
Paraméter |
Leírás |
|---|---|
objektum |
Melyik AI besorolás értékkel kell összehasonlítani az elemet? |
Példa
amikor elindul
[Display if a Blue Cube is detected.]
örökre
[AI osztályozások v] adatainak lekérése [AIVision1 v] szenzorból
[1]. sor törlése a képernyőn
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
ha <[AIVision1 v] objektum létezik?> akkor
ha <[AIVision1 v] objektum [BlueCube v]?> akkor
[Cube detected!] nyomtatása a képernyőn ▶
várakozás [0.5] másodpercig
Az AI Vision objektum az AprilTag?#
Az AI Vision objektum AprilTag? blokk egy logikai értéket jelent, amely jelzi, hogy az észlelt objektum egy adott azonosítóhoz illeszkedő AprilTag-e.
Igaz – Az észlelt objektum egy AprilTag a megadott azonosítójú.
Hamis – Az észlelt objektum nem egy adott azonosítójú AprilTag.
<[AIVision1 v] objektum AprilTag [0]?>
Paraméter |
Leírás |
|---|---|
AprilTag ID |
Az észlelt AprilTag-gel összehasonlítandó azonosítószám. |
Példa
amikor elindul
[Report if AprilTag 3 is detected.]
örökre
képernyő törlése
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AprilTag IDs v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <[AIVision1 v] objektum AprilTag [3]?> akkor
[That is 3!] nyomtatása a képernyőn ▶
különben
[That isn't 3!] nyomtatása a képernyőn ▶
vége
vége
várakozás [0.1] másodpercig
Az AI Vision objektum az AprilTag azonosító?#
Az AI Vision objektum AprilTag ID? blokk egy logikai értéket jelent, amely azt jelzi, hogy egy észlelt AprilTag azonosító megegyezik-e egy adott azonosítóval.
Igaz – Az AprilTag azonosító a szám.
Hamis – Az AprilTag azonosító nem a szám.
<[AIVision1 v] object is AprilTag ID [1] ?>
Paraméterek |
Leírás |
|---|---|
AprilTag azonosítószám |
Az észlelt AprilTag azonosítószámmal összehasonlítandó szám. |
Példa:
amikor elindul
[Report if AprilTag ID 3 is detected.]
örökre
képernyő törlése
kurzor beállítása [1]. sor [1]. oszlopába a képernyőn
[AprilTag IDs v] adatainak lekérése [AIVision1 v] szenzorból
ha <[AIVision1 v] objektum létezik?> akkor
ha <[AIVision1 v] object is AprilTag ID [3] ?> akkor
[That is 3!] nyomtatása a képernyőn ▶
különben
[That isn't 3!] nyomtatása a képernyőn ▶
vége
vége
várakozás [0.1] másodpercig