Senzor pro vidění s umělou inteligencí#
Zavedení#
Senzor obrazu s umělou inteligencí dokáže detekovat a sledovat objekty, barvy a identifikátory AprilTag. To umožňuje robotovi analyzovat své okolí, sledovat objekty a reagovat na základě detekovaných vizuálních dat.
Níže je uveden seznam dostupných bloků:
Akce – Zachycení dat ze senzoru AI Vision pro vybraný podpis.
pořídit snímek – Zachytí data pro konkrétní podpis, například nakonfigurovanou barvu, předtrénovanou objekt nebo ID AprilTag.
Nastavení – Vyberte, se kterým objektem chcete interagovat.
set AI Vision object item – Vybere konkrétní objekt ze seznamu detekovaných objektů.
Hodnoty – Přístup k zaznamenaným datům a jejich použití.
Objekt AI Vision existuje – Hlásí, zda byl detekován objekt.
Objekt AI Vision je – Zkontroluje, zda detekovaný objekt odpovídá určité klasifikaci.
Objekt AI Vision je AprilTag – Zkontroluje, zda detekovaný objekt je AprilTag odpovídající specifickému ID.
Objekt AI Vision je AprilTag ID – Zkontroluje, zda detekované AprilTag ID odpovídá specifickému ID.
Počet objektů AI Vision – Uvádí počet detekovaných objektů.
Vlastnost objektu AI Vision – Hlásí podrobnosti, jako například:
Akce#
pořídit snímek#
Blok zásobníku take snapshot filtruje data z rámce senzoru AI Vision do jediného podpisu – uloženého popisu něčeho, co senzor dokáže rozpoznat, například předtrénovaného objektu, ID AprilTag nebo nakonfigurované barvy či barevného kódu.
Barvy a barevné kódy je nutné nejprve nakonfigurovat v nástroji AI Vision Utility, než je lze použít s tímto blokem.
Datová sada ukládá objekty seřazené od největší po nejmenší podle šířky, počínaje indexem 0. Vlastnosti každého objektu lze zobrazit pomocí bloku AI Vision object property. Pokud nejsou detekovány žádné odpovídající objekty, je hlášena prázdná datová sada.
pořídit snímek [AIVision1 v] z [SELECT_A_SIG v]
Parametr |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
podpis |
Filtruje datovou sadu tak, aby obsahovala pouze data daného podpisu. Dostupné podpisy jsou:
|
Poznámka: Aby se zobrazily možnosti ID značky AprilTag nebo klasifikace pomocí umělé inteligence, musí být v nástroji AI Vision Utility povolena jejich detekce.
Příklad
při spuštění
[Drive forward if an AprilTag ID is detected.]
navždy
pořídit snímek [AIVision1 v] z [AprilTag IDs v]
pokud <objekt [AIVIsion1 v] existuje?> pak
jet [dopředu v] na [10] [mm v] ▶
Klasifikace umělé inteligence#
Senzor AI Vision dokáže detekovat různé objekty v rámci určitých klasifikací AI. V závislosti na modelu klasifikace AI vybraném při konfiguraci senzoru AI Vision v okně Zařízení budou detekovány různé objekty. Aktuálně dostupné modely jsou:
Předměty ve třídě
BlueBall
GreenBall
RedBall
BlueRing
GreenRing
RedRing
BlueCube
GreenCube
RedCube
Odpor vůči soutěži v robotice VEX V5
BlueBlock
RedBlock
Vysoké sázky v robotické soutěži VEX V5
Mobilní cíl
RedRing
BlueRing
Přerušení robotické soutěže VEX V5
ČervenáModráPin
ModráŽlutáPin
ČervenáŽlutáKolík
ŽlutýPin
Pohár
Barevné podpisy#
Barevný podpis je jedinečná barva, kterou dokáže senzor s umělou inteligencí rozpoznat. Díky těmto podpisům dokáže senzor detekovat a sledovat objekty na základě jejich barvy. Jakmile je barevný podpis nakonfigurován, dokáže senzor identifikovat objekty s danou barvou ve svém zorném poli.
Barevné signatury se používají v bloku take snapshot ke zpracování a detekci barevných objektů v reálném čase. Lze nakonfigurovat až 7 barevných signatur najednou.

Příklad
při spuštění
[Display if any objects matching the RED_BOX signature is detected.]
navždy
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
vymazat řádek [1] na obrazovce
[Change the signature to any configured Color Signature.]
pořídit snímek [AIVision1 v] z [RED_BOX v]
pokud <objekt [AIVision1 v] existuje?> pak
tisk [Color detected!] na obrazovce ▶
Barevné kódy#
Barevný kód je strukturovaný vzor složený ze 2 až 4 barevných podpisů uspořádaných v určitém pořadí. Tyto kódy umožňují senzoru AI Vision Sensor rozpoznávat předdefinované barevné vzory.
Barevné kódy jsou obzvláště užitečné pro identifikaci složitých objektů, zarovnání s herními prvky nebo vytváření jedinečných značek pro autonomní navigaci. Lze nakonfigurovat až 8 barevných kódů najednou.

Příklad
při spuštění
[Display if any objects matching the RED_BLUE code is detected.]
navždy
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
vymazat řádek [1] na obrazovce
[Change the signature to any configured Color Code.]
pořídit snímek [AIVision1 v] z [RED_BLUE v]
pokud <objekt [AIVision1 v] existuje?> pak
tisk [Code detected!] na obrazovce ▶
Nastavení#
nastavit položku objektu AI Vision#
Blok zásobníku set AI Vision object item nastavuje, která položka v datové sadě se má použít.
nastavit položku objektu [AIVision1 v] na (1)
Parametry |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
položka |
Číslo položky v datové sadě, která se má použít. |
Příklad
při spuštění
[Display the largest detected AprilTag ID.]
navždy
pořídit snímek [AIVision1 v] z [AprilTag IDs v]
vymazat řádek [1] na obrazovce
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pokud <objekt [AIVision1 v] existuje?> pak
nastavit položku objektu [AIVision1 v] na (počet objektů [AIVision1 v])
tisk (objekt [AIVision1 v] [tagID v]) na obrazovce ▶
Hodnoty#
Existuje objekt AI Vision?#
Logický blok Objekt AI Vision existuje hlásí, zda je v datové sadě detekován nějaký objekt.
True – Datová sada obsahuje detekovaný objekt.
Nepravda – Datová sada neobsahuje žádné detekované objekty.
<objekt [AIVision1 v] existuje?>
Parametry |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
Příklad
při spuštění
[Drive forward if an object is detected.]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
jet [dopředu v] na [10] [mm v] ▶
Objekt AI Vision je#
Booleovský blok Objekt AI Vision hlásí, zda detekovaný objekt odpovídá určité klasifikaci.
True – Položka v datové sadě je daný objekt.
Nepravda – Položka v datové sadě není daným konkrétním objektem.
<objekt [AIVision1 v] je [BlueBall v]?>
Parametr |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
objekt |
S jakou klasifikací AI se má položka porovnat. |
Příklad
při spuštění
[Display if a Blue Cube is detected.]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
vymazat řádek [1] na obrazovce
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pokud <objekt [AIVision1 v] existuje?> pak
pokud <objekt [AIVision1 v] je [BlueCube v]?> pak
tisk [Cube detected!] na obrazovce ▶
čekat [0.5] sekund
Objekt AI Vision je AprilTag.#
Logický blok Objekt AI Vision je AprilTag hlásí, zda detekovaný objekt je AprilTag, který odpovídá specifickému ID.
True – Detekovaný objekt je AprilTag s daným ID.
False – Detekovaný objekt není AprilTag s daným ID.
<objekt [AIVision1 v] je AprilTag [0]?>
Parametr |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
ID značky AprilTag |
Číslo ID, které se má porovnat s detekovanou hodnotou AprilTag. |
Příklad
při spuštění
[Report if AprilTag 3 is detected.]
navždy
vymazat obrazovku
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pořídit snímek [AIVision1 v] z [AprilTag IDs v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <objekt [AIVision1 v] je AprilTag [3]?> pak
tisk [That is 3!] na obrazovce ▶
jinak
tisk [That isn't 3!] na obrazovce ▶
konec
konec
čekat [0.1] sekund
Objekt AI Vision má ID AprilTag.#
Booleovský blok Objekt AI Vision je AprilTag ID a hlásí, zda detekované AprilTag ID odpovídá specifickému ID.
True – ID AprilTag je číslo.
Nepravda – ID AprilTag není číslo.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parametry |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
ID značky AprilTag |
Číslo, které se má porovnat se zjištěným identifikačním číslem AprilTag. |
Příklad:
při spuštění
[Report if AprilTag ID 3 is detected.]
navždy
vymazat obrazovku
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pořídit snímek [AIVision1 v] z [AprilTag IDs v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <[AIVision1 v] object is AprilTag ID [3] ?> pak
tisk [That is 3!] na obrazovce ▶
jinak
tisk [That isn't 3!] na obrazovce ▶
konec
konec
čekat [0.1] sekund
Počet objektů AI Vision#
Blok reportéru AI Vision object count hlásí počet detekovaných objektů v datové sadě jako celé číslo.
(počet objektů [AIVision1 v])
Parametry |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
Příklad
při spuštění
[Display the total amount of cubes, rings, and balls.]
navždy
vymazat řádek [1] na obrazovce
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
tisk (počet objektů [AIVision1 v]) na obrazovce ▶
konec
čekat [0.5] sekund
Vlastnost objektu AI Vision#
Každý objekt (zobrazený níže) uložený po použití bloku take snapshot obsahuje devět vlastností.
(objekt [AIVision1 v] [šířka v])
Všechny hodnoty vlastností kromě tagID a score popisují polohu a velikost detekovaného objektu v pohledu senzoru AI Vision v okamžiku použití bloku take snapshot. Tyto hodnoty se měří v pixelech na základě rozlišení senzoru 320 x 240 pixelů.
Parametr |
Popis |
|---|---|
zařízení |
Který senzor AI Vision se má použít, nakonfigurovaný v okně Zařízení. |
vlastnictví |
Kterou vlastnost detekovaného objektu použít: |
šířka#
Vlastnost width udává šířku detekovaného objektu v pixelech jako celé číslo od 1 do 320.
(objekt [AIVision1 v] [šířka v])
Příklad
při spuštění
[Drive towards an object until its width is larger than 100 pixels.]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [šířka v]) [math_less_than v] [100]> pak
jet [dopředu v]
jinak
zastavit jízdu
konec
výška#
Vlastnost height udává výšku detekovaného objektu v pixelech jako celé číslo od 1 do 240.
(objekt [AIVision1 v] [výška v])
Příklad
při spuštění
[Drive towards an object until its height is larger than 100 pixels.]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [výška v]) [math_less_than v] [100]> pak
jet [dopředu v]
jinak
zastavit jízdu
konec
centrumX#
Vlastnost centerX udává souřadnici x středu detekovaného objektu v pixelech jako celé číslo od 0 do 320.
(objekt [AIVision1 v] [středX v])
Příklad
při spuštění
[Turn slowly until an object is centered in front of the robot.]
nastavit rychlost otáčení na [30] [% v]
otočit [vpravo v]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <[140] [math_less_than v] (objekt [AIVision1 v] [středX v]) [math_less_than v] [180]> pak
zastavit jízdu
centrumY#
Vlastnost centerY udává souřadnici y středu detekovaného objektu v pixelech jako celé číslo od 0 do 240.
(objekt [AIVision1 v] [středY v])
Příklad
při spuštění
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
navždy
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [středY v]) [math_less_than v] [140]> pak
jet [dopředu v]
jinak
zastavit jízdu
konec
úhel#
Vlastnost angle udává orientaci detekovaného barevného kódu nebo ID AprilTag jako celé číslo ve stupních od 0 do 359.
(objekt [AIVision1 v] [úhel v])
Příklad
při spuštění
[Slide left or right depending on how the Color Code is rotated.]
navždy
pořídit snímek [AIVision1 v] z [RED_BLUE v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <[50] [math_less_than v] (objekt [AIVision1 v] [úhel v]) [math_less_than v] [100]> pak
jet [vpravo v]
jinak pokud <[270] [math_less_than v] (objekt [AIVision1 v] [úhel v]) [math_less_than v] [330]> pak
jet [vlevo v]
jinak
zastavit jízdu
konec
jinak
zastavit jízdu
původX#
Vlastnost originX udává souřadnici x levého horního rohu ohraničovacího rámečku detekovaného objektu v pixelech jako celé číslo od 0 do 320.
(objekt [AIVision1 v] [počátekX v])
Příklad
při spuštění
[Display if an object is to the left or the right.]
navždy
vymazat řádek [1] na obrazovce
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [počátekX v]) [math_less_than v] [160]> pak
tisk [To the left!] na obrazovce ▶
jinak
tisk [To the right!] na obrazovce ▶
konec
čekat [0.5] sekund
původY#
Vlastnost originY udává souřadnici y levého horního rohu ohraničovacího rámečku detekovaného objektu v pixelech jako celé číslo od 0 do 240.
(objekt [AIVision1 v] [počátekY v])
Příklad
při spuštění
[Display if an object is close or far from the robot.]
navždy
vymazat řádek [1] na obrazovce
nastavit kurzor na řádek [1] sloupec [1] na obrazovce
pořídit snímek [AIVision1 v] z [AI klasifikace v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [počátekY v]) [math_less_than v] [80]> pak
tisk [Far!] na obrazovce ▶
jinak
tisk [Close!] na obrazovce ▶
konec
čekat [0.5] sekund
ID značky#
Vlastnost tagID uvádí identifikační číslo detekovaného ID AprilTag jako celé číslo.
(objekt [AIVision1 v] [tagID v])
Příklad
při spuštění
[Drive forward when AprilTag ID 0 is detected.]
navždy
pořídit snímek [AIVision1 v] z [AprilTag IDs v]
pokud <objekt [AIVision1 v] existuje?> pak
pokud <(objekt [AIVision1 v] [tagID v]) [math_equal v] [0]> pak
jet [dopředu v]
jinak
zastavit jízdu
konec
čekat [0.5] sekund
skóre#
Vlastnost score udává, jak si je model jistý detekovanou klasifikací umělé inteligence, v procentech od 70 % do 100 %.
Nižší skóre znamená, že si je senzor méně jistý detekovaným objektem, zatímco vyšší skóre znamená, že si je senzor jistější.
(objekt [AIVision1 v] [skóre v])