Mākslīgā intelekta redzes sensors#
Ievads#
VEX IQ AI redzes sensors var noteikt un izsekot objektus, krāsas un AprilTag ID. Tas ļauj robotam analizēt apkārtni, sekot objektiem un reaģēt, pamatojoties uz noteiktajiem vizuālajiem datiem.
AI Vision piemēri ir paredzēti lietošanai ar Basebot, kas aprīkots ar VEX IQ AI Vision sensoru. Šajos piemēros sensors ir konfigurēts ar nosaukumu AIVision1, kas parādās blokos.
Zemāk ir visu bloku saraksts:
Darbības — tvert datus no VEX IQ AI redzes sensora atlasītajam parakstam.
iegūt objekta datus — Iegūst datus konkrētam parakstam, piemēram, konfigurētu krāsu, iepriekš apmācītu objektu vai AprilTag ID.
Iestatījumi — izvēlieties, ar kuru objektu mijiedarboties.
iestatīt AI Vision objekta vienumu — Atlasa konkrētu objektu no noteikto objektu saraksta.
Vērtības — piekļūstiet iegūtajiem datiem un izmantojiet tos.
AI redzes objekts pastāv — Ziņo, vai objekts ir atklāts.
AI redzes objektu skaits — Ziņo par atklāto objektu skaitu.
AI Vision objekta īpašība — Ziņo par šādu informāciju:
AI Vision objekts ir? — Pārbauda, vai noteiktais objekts atbilst noteiktai klasifikācijai.
Vai AI Vision objekts ir AprilTag? — Pārbauda, vai noteiktais objekts ir AprilTag, kas atbilst konkrētam ID.
Vai AI Vision objekts ir AprilTag ID? — Pārbauda, vai noteiktais AprilTag ID atbilst konkrētam ID.
Darbības#
iegūt objekta datus#
Steka bloks iegūt objekta datus filtrē datus no VEX IQ AI redzes sensora kadra līdz vienam parakstam — saglabātam aprakstam par kaut ko, ko sensors var atpazīt, piemēram, iepriekš apmācītu objektu, AprilTag ID vai konfigurētu krāsu vai krāsas kodu.
Krāsas un krāsu kodi vispirms ir jākonfigurē AI Vision Utility, pirms tos var izmantot ar šo bloku.
Datu kopā objekti tiek glabāti sakārtoti no lielākā līdz mazākajam pēc platuma, sākot ar indeksu 0. Katra objekta īpašībām var piekļūt, izmantojot bloku AI Vision objekta īpašība. Ja netiek atrasti atbilstoši objekti, tiek ziņots par tukšu datu kopu.
iegūt [SELECT_A_SIG v] datus no [AIVision1 v]
Parametrs |
Apraksts |
|---|---|
paraksts |
Filtrē datu kopu, lai iekļautu tikai dotā paraksta datus. Pieejamie paraksti ir:
|
Piezīme: Lai tiktu parādītas AprilTag ID vai AI klasifikācijas opcijas, to noteikšanai jābūt iespējotai AI Vision utilītā.
Piemērs
kad sākts
[Drive forward if an AprilTag ID is detected.]
mūžīgi
iegūt [AprilTag IDs v] datus no [AIVision1 v]
ja <[AIVIsion1 v] objekts pastāv?> tad
braukt [uz priekšu v] par [10] [mm v] ▶
Mākslīgā intelekta klasifikācijas#
VEX IQ AI redzes sensors var noteikt dažādus objektus saskaņā ar noteiktām AI klasifikācijām. Atkarībā no AI klasifikācijas modeļa, kas tika atlasīts, konfigurējot VEX IQ AI redzes sensoru ierīču logā, tiks noteikti dažādi objekti. Pašlaik pieejamie modeļi ir:
Klases priekšmeti
Zilā bumba
GreenBall
Sarkanā bumba
BlueRing
GreenRing
RedRing
BlueCube
GreenCube
RedCube
VEX IQ robotikas sacensību mikslis un saskaņošana
Stars
RedPin
BluePin
OrangePin
VEX IQ robotikas sacensību līmenis paaugstinās
BlueBeanBag
RedBeanBag
YellowBeanBag
Krāsu paraksti#
Krāsas paraksts ir unikāla krāsa, ko VEX IQ AI redzes sensors spēj atpazīt. Šie paraksti ļauj sensoram noteikt un izsekot objektus, pamatojoties uz to krāsu. Kad krāsas paraksts ir konfigurēts, sensors var identificēt objektus ar šo konkrēto krāsu tā redzes laukā.
Krāsu paraksti tiek izmantoti blokā get object data, lai reāllaikā apstrādātu un noteiktu krāsainus objektus. Vienlaikus var konfigurēt līdz 7 krāsu parakstiem.

Piemērs
kad sākts
[Display if any objects matching the RED_BOX signature is detected.]
mūžīgi
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
notīrīt rindu [1] ekrānā
[Change the signature to any configured Color Signature.]
iegūt [RED_BOX v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
drukāt [Color detected!] ekrānā ▶
Krāsu kodi#
Krāsu kods ir strukturēts raksts, kas sastāv no 2 līdz 4 krāsu parakstiem, kas sakārtoti noteiktā secībā. Šie kodi ļauj VEX IQ AI redzes sensoram atpazīt iepriekš definētus krāsu rakstus.
Krāsu kodi ir īpaši noderīgi sarežģītu objektu identificēšanai, saskaņošanai ar spēles elementiem vai unikālu marķieru izveidei autonomai navigācijai. Vienlaikus var konfigurēt līdz 8 krāsu kodiem.

Piemērs
kad sākts
[Display if any objects matching the RED_BLUE code is detected.]
mūžīgi
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
notīrīt rindu [1] ekrānā
[Change the signature to any configured Color Code.]
iegūt [RED_BLUE v] datus no [AIVision1 v]
ja <[AIVIsion1 v] objekts pastāv?> tad
drukāt [Code detected!] ekrānā ▶
Iestatījumi#
iestatīt AI redzes objekta elementu#
Steka bloks iestatīt AI Vision objekta vienumu nosaka, kuru datu kopas vienumu izmantot.
iestatīt [AIVision1 v] objekta vienumu uz (1)
Parametri |
Apraksts |
|---|---|
prece |
Izmantojamā datu kopas elementa numurs. |
Piemērs
kad sākts
[Display the largest detected AprilTag ID.]
mūžīgi
iegūt [AprilTag IDs v] datus no [AIVision1 v]
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
ja <[AIVision1 v] objekts pastāv?> tad
iestatīt [AIVision1 v] objekta vienumu uz ([AIVision1 v] objektu skaits)
drukāt ([AIVision1 v] objekts [tagID v]) ekrānā ▶
Vērtības#
AI redzes objekts pastāv#
Būla bloks AI Vision objekts pastāv ziņo, vai datu kopā ir atrasts kāds objekts.
Patiess — Datu kopā ir iekļauts atklāts objekts.
Aplams — Datu kopā nav iekļauts neviens atklāts objekts.
<[AIVision1 v] objekts pastāv?>
Parametri |
Apraksts |
|---|---|
Šim blokam nav parametru. |
Piemērs
kad sākts
[Drive forward if an object is detected.]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
braukt [uz priekšu v] par [10] [mm v] ▶
AI redzes objektu skaits#
AI Vision objektu skaita ziņotāja bloks ziņo par datu kopā noteikto objektu skaitu kā veselu skaitli.
([AIVision1 v] objektu skaits)
Parametri |
Apraksts |
|---|---|
Šim blokam nav parametru. |
Piemērs
kad sākts
[Display the total amount of cubes, rings, and balls.]
mūžīgi
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
drukāt ([AIVision1 v] objektu skaits) ekrānā ▶
beigas
gaidīt [0.5] sekundes
AI Vision objekta īpašība#
Pēc get object data bloka izmantošanas katrā objektā ir iekļautas deviņas īpašības (parādītas zemāk), kas tiek saglabātas.
([AIVision1 v] objekts [platums v])
Visas rekvizītu vērtības, izņemot tagID, apraksta noteiktā objekta pozīciju un izmēru VEX IQ AI redzes sensora skatā brīdī, kad tika izmantots bloks iegūt objekta datus. Šīs vērtības tiek mērītas pikseļos, pamatojoties uz sensora 320 x 240 pikseļu izšķirtspēju.
Parametrs |
Apraksts |
|---|---|
īpašums |
Kuru noteiktā objekta īpašību izmantot: |
platums#
Īpašība width norāda noteiktā objekta platumu pikseļos kā veselu skaitli no 1 līdz 320.
([AIVision1 v] objekts [platums v])
Piemērs
kad sākts
[Drive towards an object until its width is larger than 100 pixels.]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [platums v]) [math_less_than v] [100]> tad
braukt [uz priekšu v]
beigas
citādi
pārtraukt braukšanu
augstums#
Īpašība augstums norāda noteiktā objekta augstumu pikseļos kā veselu skaitli no 1 līdz 240.
([AIVision1 v] objekts [augstums v])
Piemērs
kad sākts
[Drive towards an object until its height is larger than 100 pixels.]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [augstums v]) [math_less_than v] [100]> tad
braukt [uz priekšu v]
beigas
citādi
pārtraukt braukšanu
centrsX#
Īpašība centerX norāda noteiktā objekta centra x koordinātu pikseļos kā veselu skaitli no 0 līdz 320.
([AIVision1 v] objekts [centerX v])
Piemērs
kad sākts
[Turn slowly until an object is centered in front of the robot.]
iestatīt pagrieziena ātrumu uz [30] [% v]
griezties [pa labi v]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <[140] [math_less_than v] ([AIVision1 v] objekts [centerX v]) [math_less_than v] [180]> tad
pārtraukt braukšanu
centrsY#
Īpašība centerY norāda noteiktā objekta centra y koordinātu pikseļos kā veselu skaitli no 0 līdz 240.
([AIVision1 v] objekts [centerY v])
Piemērs
kad sākts
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [centerY v]) [math_less_than v] [140]> tad
braukt [uz priekšu v]
beigas
citādi
pārtraukt braukšanu
leņķis#
Īpašība angle ziņo par noteiktā krāsas koda vai AprilTag ID orientāciju kā veselu skaitli grādos no 0 līdz 359.
([AIVision1 v] objekts [leņķis v])
Piemērs
kad sākts
[Slide left or right depending on how the Color Code is rotated.]
mūžīgi
iegūt [RED_BLUE v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <[50] [math_less_than v] ([AIVision1 v] objekts [leņķis v]) [math_less_than v] [100]> tad
braukt [pa labi v]
citādi ja <[270] [math_less_than v] ([AIVision1 v] objekts [leņķis v]) [math_less_than v] [330]> tad
braukt [pa kreisi v]
citādi
pārtraukt braukšanu
beigas
citādi
pārtraukt braukšanu
izcelsmeX#
Īpašība originX norāda noteiktā objekta ierobežojošā lodziņa augšējā kreisā stūra x koordinātu pikseļos kā veselu skaitli no 0 līdz 320.
([AIVision1 v] objekts [originX v])
Piemērs
kad sākts
[Display if an object is to the left or the right.]
mūžīgi
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [originX v]) [math_less_than v] [160]> tad
drukāt [To the left!] ekrānā ▶
citādi
drukāt [To the right!] ekrānā ▶
beigas
gaidīt [0.5] sekundes
izcelsmeY#
Īpašums originY norāda noteiktā objekta ierobežojošā lodziņa augšējā kreisā stūra y koordinātu pikseļos kā veselu skaitli no 0 līdz 240.
([AIVision1 v] objekts [originY v])
Piemērs
kad sākts
[Display if an object is close or far from the robot.]
mūžīgi
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [originY v]) [math_less_than v] [80]> tad
drukāt [Far!] ekrānā ▶
citādi
drukāt [Close!] ekrānā ▶
beigas
gaidīt [0.5] sekundes
birkas ID#
Īpašums tagID ziņo par noteiktā AprilTag ID identifikācijas numuru kā veselu skaitli.
([AIVision1 v] objekts [tagID v])
Piemērs
kad sākts
[Drive forward when AprilTag ID 0 is detected.]
mūžīgi
iegūt [AprilTag IDs v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <([AIVision1 v] objekts [tagID v]) [math_equal v] [0]> tad
braukt [uz priekšu v]
citādi
pārtraukt braukšanu
beigas
gaidīt [0.5] sekundes
Kas ir AI redzes objekts?#
Bloks AI Vision objekts ir? ziņo par Būla vērtību, kas norāda, vai noteiktais objekts atbilst noteiktai klasifikācijai.
True — datu kopas elements ir konkrētais objekts.
Aplama — Datu kopā esošais elements nav konkrētais objekts.
<[AIVision1 v] objekts ir [BlueBall v]?>
Parametrs |
Apraksts |
|---|---|
objekts |
Ar kuru AI klasifikāciju salīdzināt vienumu? |
Piemērs
kad sākts
[Display if a Blue Cube is detected.]
mūžīgi
iegūt [AI klasifikācijas v] datus no [AIVision1 v]
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
ja <[AIVision1 v] objekts pastāv?> tad
ja <[AIVision1 v] objekts ir [BlueCube v]?> tad
drukāt [Cube detected!] ekrānā ▶
gaidīt [0.5] sekundes
Vai AI Vision objekts ir AprilTag?#
Bloks AI Vision objekts ir AprilTag? ziņo par Būla vērtību, kas norāda, vai noteiktais objekts ir AprilTag, kas atbilst konkrētam ID.
True — Noteiktais objekts ir AprilTag ar norādīto ID.
Aplams — Noteiktais objekts nav AprilTag ar norādīto ID.
<[AIVision1 v] objekts ir AprilTag [0]?>
Parametrs |
Apraksts |
|---|---|
AprilTag ID |
ID numurs, kas jāsalīdzina ar noteikto AprilTag. |
Piemērs
kad sākts
[Report if AprilTag 3 is detected.]
mūžīgi
notīrīt ekrānu
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [AprilTag IDs v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <[AIVision1 v] objekts ir AprilTag [3]?> tad
drukāt [That is 3!] ekrānā ▶
citādi
drukāt [That isn't 3!] ekrānā ▶
beigas
beigas
gaidīt [0.1] sekundes
Vai AI Vision objekts ir AprilTag ID?#
Bloks AI Vision objekts ir AprilTag ID? ziņo par Būla vērtību, kas norāda, vai noteiktais AprilTag ID atbilst konkrētam ID.
True — AprilTag ID ir skaitlis.
Aplams — AprilTag ID nav skaitlis.
<[AIVision1 v] object is AprilTag ID [1] ?>
Parametri |
Apraksts |
|---|---|
AprilTag ID numurs |
Skaitlis, kas jāsalīdzina ar noteikto AprilTag ID numuru. |
Piemērs:
kad sākts
[Report if AprilTag ID 3 is detected.]
mūžīgi
notīrīt ekrānu
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [AprilTag IDs v] datus no [AIVision1 v]
ja <[AIVision1 v] objekts pastāv?> tad
ja <[AIVision1 v] object is AprilTag ID [3] ?> tad
drukāt [That is 3!] ekrānā ▶
citādi
drukāt [That isn't 3!] ekrānā ▶
beigas
beigas
gaidīt [0.1] sekundes