AI látás#
Bevezetés#
A VEX AIM kódolórobot mesterséges intelligenciával működő vizuális érzékelője tárgyakat, színeket és AprilTag azonosítókat érzékel és követ. 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 Sensor felbontása 320×240 pixel. Az origó (0, 0) a bal felső sarokban található, az érzékelő középpontja pedig (160, 120) pontban van, ahogy az az alábbi ábrán is látható:

Az alábbiakban az összes blokk listája található:
Műveletek – Az AI Vision hírfolyamának vezérlése és objektumadatok rögzítése.
AI Vision néző a képernyőn — Engedélyezi vagy letiltja az élő AI Vision képet a robot képernyőjén.
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 – Állítsa be, hogy mely észlelt objektumokhoz férhessen hozzá.
AI Vision objektumelem beállítása — Kiválaszt egy adott objektumot az észlelt objektumok listájából.
Értékek — Objektum jelenlétét, osztályozását és tulajdonságait adja vissza.
tárgyat tartalmaz — Ellenőrzi, hogy a robot tart-e érzékelt tárgyat.
AI Vision objektum létezik — Jelenti, hogy észlelt-e objektumot.
AI Vision objektum — Ellenőrzi, hogy az észlelt objektum megfelel-e egy adott besorolásnak.
Az AI Vision objektum egy AprilTag ID — Ellenőrzi, hogy egy észlelt AprilTag ID egyezik-e egy adott azonosítóval.
AI Vision objektumok száma — Megjeleníti az észlelt objektumok számát.
AI Vision objektumtulajdonság — Jelentési részletek, például:
Műveletek#
AI Vision néző a képernyőn#
Az AI Vision megjelenítő a képernyőn blokk blokkja engedélyezi vagy letiltja az élő AI Vision hírfolyamot a robot képernyőjén. Engedélyezéskor a képernyő valós idejű érzékelőadatokat jelenít meg, megakadályozva más képek vagy szövegek megjelenését. Más tartalmak megjelenítéséhez használja ezt a blokkot a hírfolyam elrejtéséhez.
AI Vision [megjelenítés v] megjelenítő a képernyőn
Paraméterek |
Leírás |
|---|---|
állapot |
A robot képernyőjén megjelenő adatfolyamot szabályozza: a show (megjelenítés) megjeleníti az adatfolyamot, míg a hide (elrejtés) eltávolítja azt a képernyőről. |
Példa
amikor elindul
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [megjelenítés v] megjelenítő a képernyőn
várakozás [5] másodpercig
AI Vision [elrejtés v] megjelenítő a képernyőn
objektumadatok lekérése#
Az objektumadatok lekérése veremblokk egyetlen aláírásra szűri az AI Vision Sensor keretrendszeréből származó adatokat – egy mentett leírást valamiről, amit az érzékelő felismer, például egy előre betanított objektumot, egy AprilTag azonosítót vagy egy konfigurált színt vagy színkódot.
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.
[sportlabda v] adatainak lekérése az AI Vision-bő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:
|
Példa
amikor elindul
[Move forward if a sports ball is detected.]
örökre
[sportlabda v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
mozgás [előre v] irányba [10] [mm v] értékkel ▶
Színaláírások#
A színaláírás egy egyedi szín, amelyet az AI Vision Sensor 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 az objektumokat. Miután a színaláírást konfigurálták az AI Vision Utility programban, az érzékelő képes azonosítani a látóterében lévő adott színű objektumokat.
A színaláírásokat a get object data blokkban használjuk a színes objektumok valós idejű feldolgozásához és észleléséhez.

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 az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
[Color signature detected!] nyomtatása a képernyőn ▶
Színkódok#
A színkód egy strukturált minta, amely 2-4 színaláírásból áll, meghatározott sorrendben elrendezve. Miután a színkódot konfigurálták az AI Vision Utility programban, az érzékelő képes felismerni az előre definiált 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.

Példa
amikor elindul
[Display if any objects matching the BlueRed 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.]
[BlueRed v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
[Color 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.
AI Vision 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 width of the smallest detected object.]
örökre
[összes rakomány v] adatainak lekérése az AI Vision-bő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 <AI Vision objektum létezik?> akkor
AI Vision objektum elemének beállítása (AI Vision objektumok száma) értékre
(AI Vision objektum [szélesség v]) nyomtatása a képernyőn ▶
Értékek#
tárgya van#
A objektummal rendelkezik logikai blokk jelzi, hogy a robotnak jelenleg van-e észlelt objektuma a Kicker függvényében.
Igaz — A robot birtokolja a tárgyat.
Hamis — A robotnak nincs meg a tárgya.
<van [sportlabda v]? :: custom-ai-vision>
Paraméter |
Leírás |
|---|---|
objektum |
A robot rúgójához viszonyított érzékelendő tárgy:
|
Példa
amikor elindul
[Kick when the robot has a sports ball.]
örökre
ha <van [sportlabda v]? :: custom-ai-vision> akkor
tárgy rúgása [közepes v]
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 — Nem észleltek objektumokat.
<AI Vision objektum létezik?>
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
amikor elindul
[Move forward if a sports ball is detected.]
örökre
[sportlabda v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
mozgás [előre v] irányba [10] [mm v] értékkel ▶
AI Vision objektum#
Az AI Vision objektum egy logikai blokk, amely jelzi, hogy egy észlelt 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.
<AI Vision objektum [sportlabda v]?>
Paraméter |
Leírás |
|---|---|
objektum |
Melyik tárggyal hasonlítsd össze a tárgyat:
|
Példa
amikor elindul
[Display if a sports ball is detected.]
örökre
[összes rakomány v] adatainak lekérése az AI Vision-bő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 <AI Vision objektum létezik?> akkor
ha <AI Vision objektum [sportlabda v]?> akkor
[Sports ball detected!] nyomtatása a képernyőn ▶
várakozás [0.5] másodpercig
Az AI Vision objektum az AprilTag azonosító.#
Az AI Vision objektum egy AprilTag ID logikai blokk, amely jelzi, hogy egy észlelt AprilTag ID egyezik-e egy adott azonosítóval.
Igaz — Az AprilTag azonosító a szám.
Hamis — Az AprilTag azonosító nem a szám.
<AI Vision object is AprilTag ID [1] ?>
Paraméterek |
Leírás |
|---|---|
AprilTag ID |
Az észlelt AprilTag azonosítószámmal összehasonlítandó szám. |
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.
AI Vision objektumok száma
Paraméterek |
Leírás |
|---|---|
Ennek a blokknak nincsenek paraméterei. |
Példa
amikor elindul
[Display the amount of sports balls and barrels.]
ö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
[összes rakomány v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
(AI Vision 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.
AI Vision objektum [szélesség v]
A tagID kivételével az összes tulajdonságérték a detektált objektum pozícióját, méretét, tájolását vagy irányát írja le a objektumadatok lekérése blokk felhasználásának pillanatában. Ezeket az értékeket pixelben vagy fokban 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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [szélesség v]

Példa
amikor elindul
[Move towards a blue barrel until its width is larger than 100 pixels.]
örökre
[kék hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision objektum [szélesség v]) [math_less_than v] [100]> akkor
mozgás [előre v]
vége
különben
összes mozgá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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [magasság v]

Példa
amikor elindul
[Move towards a blue barrel until its height is larger than 100 pixels.]
örökre
[kék hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision objektum [magasság v]) [math_less_than v] [100]> akkor
mozgás [előre v]
vége
különben
összes mozgá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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [középX v]

Példa
amikor elindul
[Turn slowly until a blue barrel is centered in front of the robot.]
fordulási sebesség beállítása [30]%
fordulás [jobbra v]
örökre
[kék hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <[140] [math_less_than v] (AI Vision objektum [középX v]) [math_less_than v] [180]> akkor
összes mozgá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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [középY v]

Példa
amikor elindul
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
örökre
[kék hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision objektum [középY v]) [math_less_than v] [140]> akkor
mozgás [előre v]
vége
különben
összes mozgá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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [kezdőX v]

Példa
amikor elindul
[Display if an orange barrel 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
[narancssárga hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision 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.
Megjegyzés: A pixelértékek az érzékelő koordináta-rendszeréhez viszonyítottak. Lásd a Bevezetésben található ábrát referenciaként.
AI Vision objektum [kezdőY v]

Példa
amikor elindul
[Display if an orange barrel 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
[narancssárga hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision 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
forgás#
A rotation tulajdonság az észlelt AprilTag azonosító vagy színkód tájolását jelenti egész számként, 0 és 359 közötti fokban.
AI Vision objektum [forgás 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 az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <[50] [math_less_than v] (AI Vision objektum [forgás v]) [math_less_than v] [100]> akkor
mozgás [jobbra v]
különben ha <[270] [math_less_than v] (AI Vision objektum [forgás v]) [math_less_than v] [330]> akkor
mozgás [balra v]
különben
összes mozgás leállítása
vége
különben
összes mozgás leállítása
hordozó#
A bearing tulajdonság fokban adja meg, hogy egy objektum milyen messze van balra vagy jobbra az AI Vision Sensor látóterének közepétől. A 0 érték azt jelenti, hogy középen van, a pozitív érték azt jelenti, hogy az objektum jobbra, a negatív érték pedig azt, hogy az objektum balra van.
amikor elindul
[Keep the blue barrel directly in front of the robot.]
fordulási sebesség beállítása [40]%
örökre
[kék hordó v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
ha <(AI Vision objektum [irányítási szög v]) [math_greater_than v] [5]> akkor
fordulás [jobbra v]
különben ha <(AI Vision objektum [irányítási szög v]) [math_less_than v] [-5]> akkor
fordulás [balra v]
különben
összes mozgás leállítása
címkeazonosító#
A tagID tulajdonság egész számként jelenti az észlelt AprilTag azonosító azonosítószámát.
AI Vision objektum [tagID v]
Példa
amikor elindul
[Move forward when AprilTag ID 0 is detected.]
örökre
[AprilTag ID 0 v] adatainak lekérése az AI Vision-ből
ha <AI Vision objektum létezik?> akkor
mozgás [előre v]
vége
összes mozgás leállítása