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.

Értékek – Hozzáférés a rögzített adatokhoz és azok felhasználása.

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.

A Get objektum adatverem blokkja.#
[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:

  • AprilTag IDs
  • AI Classifications — Az elérhetőség az AI Vision Utility segédprogramban konfigurált modelltől függően változik.
  • NAME — A Color Signature vagy Color Code, ahol a NAME az AI Vision Utility segédprogramban konfigurált név.

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ó.

Az AI Vision Utility egy csatlakoztatott látásérzékelőt ábrázol, amint két színes objektumot érzékel. A bal oldalon egy élő kamerakép látható, bal oldalon egy kék, jobb oldalon egy piros mezővel, mindegyiket fehér határolókeretekkel körülvéve. A fekete címkék a megfelelő neveket, koordinátákat és méreteket mutatják. A jobb oldalon a színaláírás beállításai találhatók, csúszkákkal a színárnyalat és a telítettség tartományához mind a piros, mind a kék mezők esetében. A színek hozzáadására, a videó kimerevítésére, a másolásra és a kép mentésére szolgáló gombok alul találhatók, a jobb alsó sarokban pedig egy bezárás gomb talá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ó.

Az AI Vision Utility felülete egy csatlakoztatott látásérzékelőt mutat, amely két szomszédos objektumot észlel, egy kék dobozt a bal oldalon és egy piros dobozt a jobb oldalon, egyetlen fehér határoló dobozban csoportosítva, BlueRed felirattal. Az érzékelési információk tartalmazzák a szöget (A:11°), a koordinátákat (X:143, Y:103), a szélességet (W:233) és a magasságot (H:108). A jobb oldali panelen három színjelzés látható: Red_Box, Blue_Box és BlueRed, állítható színárnyalat- és telítettségi tartományokkal. A BlueRed jelzés egyesíti a Blue_Box és a Red_Box színeket. A videojel alatt a Videó kimerevítése, Kép másolása, Kép mentése és Bezárás feliratú gombok találhatók.

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.

A Set AI Vision objektum elemverem blokkja.#
[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

Egy blokkokból álló halom, amely egy „when started” blokkal kezdődik, majd egy „A legnagyobb észlelt AprilTag azonosító megjelenítése” megjegyzésblokk követi. Egy örök cikluson belül egy „take a AI Vision snapshot” blokk rögzíti az AprilTag azonosítók képét. Egy „if” blokk ellenőrzi, hogy létezik-e AI Vision objektum. Ha az értéke igaz, akkor egy „set AI Vision object item” blokk hozzárendeli az objektumszámot egy változóhoz, és egy „print” blokk megjeleníti az észlelt objektum címkeazonosítóját a képernyőn.#
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.

Az AI Vision objektum létezik Boole-blokkban.#
<[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.

A Set AI Vision objektum elemverem blokkja.#
([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.

Az AI Vision objektumtulajdonság-jelentési blokkja.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere szélesség.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere magasság.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerX.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere centerY.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere szög.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originX.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere originY.#
([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.

Az AI Vision objektumtulajdonság-veremblokk, amelynek paramétere tagID.#
([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.

Az AI Vision AI osztályozása objektum logikai blokk.#
<[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.

Az AI Vision objektum egy AprilTag Boole-blokk.#
<[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.

Az AI Vision által észlelt AprilTag azonosító logikai blokk.#
<[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