Mākslīgā intelekta vīzija#
Ievads#
VEX AIM kodēšanas robota mākslīgā intelekta redzes sensors nosaka un izseko objektus, krāsas un AprilTag ID. Tas ļauj robotam analizēt apkārtni, sekot objektiem un reaģēt, pamatojoties uz noteiktajiem vizuālajiem datiem.
Mākslīgā intelekta redzes sensora izšķirtspēja ir 320 × 240 pikseļi. Sākotnējais punkts (0, 0) atrodas augšējā kreisajā stūrī, novietojot sensora centru punktā (160, 120), kā parādīts tālāk redzamajā diagrammā:

Zemāk ir visu bloku saraksts:
Darbības — kontrolējiet AI redzes plūsmu un tveriet objektu datus.
AI Vision skatītājs ekrānā — Iespējo vai atspējo tiešraides AI Vision plūsmu robota ekrānā.
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 — pielāgojiet, kuriem noteiktajiem objektiem tiek piekļūts.
iestatīt AI Vision objekta vienumu — Atlasa konkrētu objektu no noteikto objektu saraksta.
Vērtības — Atgriež objekta klātbūtni, klasifikāciju un īpašības.
ir objekts — Pārbauda, vai robots tur noteiktu objektu.
AI redzes objekts pastāv — Ziņo, vai objekts ir atklāts.
AI Vision objekts ir — Pārbauda, vai noteiktais objekts atbilst noteiktai klasifikācijai.
AI Vision objekts ir AprilTag ID — Pārbauda, vai noteiktais AprilTag ID atbilst konkrētam ID.
AI redzes objektu skaits — Ziņo par atklāto objektu skaitu.
AI Vision objekta īpašība — Ziņo par šādu informāciju:
Darbības#
AI Vision skatītājs ekrānā#
AI redzes skatītāja ekrānā bloks iespējo vai atspējo tiešraides AI redzes plūsmu robota ekrānā. Kad šī opcija ir iespējota, ekrānā tiek rādīti sensoru dati reāllaikā, neļaujot parādīties citiem attēliem vai tekstam. Lai parādītu citu saturu, izmantojiet šo bloku, lai paslēptu plūsmu.
AI Vision [rādīt v] skatītājs ekrānā
Parametri |
Apraksts |
|---|---|
statuss |
Kontrolē datu plūsmas attēlošanu robota ekrānā: parādīt parāda datu plūsmu, savukārt paslēpt to noņem no ekrāna. |
Piemērs
kad sākts
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [rādīt v] skatītājs ekrānā
gaidīt [5] sekundes
AI Vision [slēpt v] skatītājs ekrānā
iegūt objekta datus#
Steka bloks iegūt objekta datus filtrē datus no 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 [sporta bumba v] datus no AI Vision
Parametrs |
Apraksts |
|---|---|
paraksts |
Filtrē datu kopu, lai iekļautu tikai dotā paraksta datus. Pieejamie paraksti ir:
|
Piemērs
kad sākts
[Move forward if a sports ball is detected.]
mūžīgi
iegūt [sporta bumba v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
virzīties [uz priekšu v] par [10] [mm v] ▶
Krāsu paraksti#
Krāsas paraksts ir unikāla krāsa, ko spēj atpazīt AI redzes sensors. Šie paraksti ļauj sensoram noteikt un izsekot objektus, pamatojoties uz to krāsu. Kad krāsas paraksts ir konfigurēts AI redzes utilītā, sensors var identificēt objektus ar šo konkrēto krāsu tā redzes laukā.
Krāsu paraksti tiek izmantoti blokā get object data, lai apstrādātu un noteiktu krāsainus objektus reāllaikā.

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 AI Vision
ja <AI Vision objekts pastāv?> tad
drukāt [Color signature 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ā. Kad krāsu kods ir konfigurēts AI Vision Utility, sensors var 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.

Piemērs
kad sākts
[Display if any objects matching the BlueRed 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 [BlueRed v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
drukāt [Color 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 AI Vision objekta vienumu uz (1)
Parametri |
Apraksts |
|---|---|
prece |
Izmantojamā datu kopas elementa numurs. |
Piemērs
kad sākts
[Display the width of the smallest detected object.]
mūžīgi
iegūt [viss krava v] datus no AI Vision
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
ja <AI Vision objekts pastāv?> tad
iestatīt AI Vision objekta vienumu uz (AI Vision objektu skaits)
drukāt (AI Vision objekts [platums v]) ekrānā ▶
Vērtības#
ir objekts#
Būla bloks ir objekts ziņo, vai robotam pašlaik ir noteikts objekts, ņemot vērā tā Kicker.
Patiess — Robotam ir objekts.
Aplams — Robotam nav objekta.
<ir [sporta bumba v]? :: custom-ai-vision>
Parametrs |
Apraksts |
|---|---|
objekts |
Objekts, kas jānosakām, ņemot vērā robota sitienu ar bumbu:
|
Piemērs
kad sākts
[Kick when the robot has a sports ball.]
mūžīgi
ja <ir [sporta bumba v]? :: custom-ai-vision> tad
spērt objektu [vidējs v]
AI redzes objekts pastāv#
Būla bloks AI Vision objekts pastāv ziņo, vai datu kopā ir atrasts objekts.
Patiess — Datu kopā ir iekļauts atklāts objekts.
Aplams — Nav atrasts neviens objekts.
<AI Vision objekts pastāv?>
Parametri |
Apraksts |
|---|---|
Šim blokam nav parametru. |
Piemērs
kad sākts
[Move forward if a sports ball is detected.]
mūžīgi
iegūt [sporta bumba v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
virzīties [uz priekšu v] par [10] [mm v] ▶
AI redzes objekts ir#
AI Vision objekts ir Būla bloks, kas ziņo, vai noteiktais objekts atbilst noteiktai klasifikācijai.
Patiess — Datu kopā esošais elements ir konkrētais objekts.
Aplams — Datu kopā esošais elements nav konkrētais objekts.
<AI Vision objekts ir [sporta bumba v]?>
Parametrs |
Apraksts |
|---|---|
objekts |
Ar kuru objektu salīdzināt šo priekšmetu:
|
Piemērs
kad sākts
[Display if a sports ball is detected.]
mūžīgi
iegūt [viss krava v] datus no AI Vision
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
ja <AI Vision objekts pastāv?> tad
ja <AI Vision objekts ir [sporta bumba v]?> tad
drukāt [Sports ball detected!] ekrānā ▶
gaidīt [0.5] sekundes
AI Vision objekts ir AprilTag ID#
AI Vision objekts ir AprilTag ID Būla bloks ziņo, vai noteiktais AprilTag ID atbilst konkrētam ID.
Patiess — AprilTag ID ir skaitlis.
Aplami — AprilTag ID nav skaitlis.
<AI Vision object is AprilTag ID [1] ?>
Parametri |
Apraksts |
|---|---|
AprilTag ID |
Skaitlis, kas jāsalīdzina ar noteikto AprilTag ID numuru. |
AI redzes objektu skaits#
AI Vision objektu skaita ziņotāja bloks ziņo par datu kopā noteikto objektu skaitu kā veselu skaitli.
AI Vision objektu skaits
Parametri |
Apraksts |
|---|---|
Šim blokam nav parametru. |
Piemērs
kad sākts
[Display the amount of sports balls and barrels.]
mūžīgi
notīrīt rindu [1] ekrānā
iestatīt kursoru uz rindu [1] kolonnu [1] ekrānā
iegūt [viss krava v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
drukāt (AI Vision 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.
AI Vision objekts [platums v]
Visas rekvizītu vērtības, izņemot tagID, apraksta noteiktā objekta pozīciju, izmēru, orientāciju vai virzienu brīdī, kad tika izmantots bloks get object data. Šīs vērtības tiek mērītas pikseļos vai grādos, 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.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [platums v]

Piemērs
kad sākts
[Move towards a blue barrel until its width is larger than 100 pixels.]
mūžīgi
iegūt [zilā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision objekts [platums v]) [math_less_than v] [100]> tad
virzīties [uz priekšu v]
beigas
citādi
apturēt visas kustības
augstums#
Īpašība augstums norāda noteiktā objekta augstumu pikseļos kā veselu skaitli no 1 līdz 240.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [augstums v]

Piemērs
kad sākts
[Move towards a blue barrel until its height is larger than 100 pixels.]
mūžīgi
iegūt [zilā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision objekts [augstums v]) [math_less_than v] [100]> tad
virzīties [uz priekšu v]
beigas
citādi
apturēt visas kustības
centrsX#
Īpašība centerX norāda noteiktā objekta centra x koordinātu pikseļos kā veselu skaitli no 0 līdz 320.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [centerX v]

Piemērs
kad sākts
[Turn slowly until a blue barrel is centered in front of the robot.]
iestatīt pagrieziena ātrumu uz [30]%
griezties [pa labi v]
mūžīgi
iegūt [zilā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <[140] [math_less_than v] (AI Vision objekts [centerX v]) [math_less_than v] [180]> tad
apturēt visas kustības
centrsY#
Īpašība centerY norāda noteiktā objekta centra y koordinātu pikseļos kā veselu skaitli no 0 līdz 240.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [centerY v]

Piemērs
kad sākts
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
mūžīgi
iegūt [zilā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision objekts [centerY v]) [math_less_than v] [140]> tad
virzīties [uz priekšu v]
beigas
citādi
apturēt visas kustības
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.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [originX v]

Piemērs
kad sākts
[Display if an orange barrel 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 [oranžā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision 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.
Piezīme: Pikseļu vērtības ir relatīvas attiecībā pret sensora koordinātu sistēmu. Atsaucei skatiet diagrammu ievadā.
AI Vision objekts [originY v]

Piemērs
kad sākts
[Display if an orange barrel 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 [oranžā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision 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
rotācija#
Īpašība rotācija ziņo par noteiktā AprilTag ID vai krāsas koda orientāciju kā veselu skaitli grādos no 0 līdz 359.
AI Vision objekts [rotācija 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 AI Vision
ja <AI Vision objekts pastāv?> tad
ja <[50] [math_less_than v] (AI Vision objekts [rotācija v]) [math_less_than v] [100]> tad
virzīties [pa labi v]
citādi ja <[270] [math_less_than v] (AI Vision objekts [rotācija v]) [math_less_than v] [330]> tad
virzīties [pa kreisi v]
citādi
apturēt visas kustības
beigas
citādi
apturēt visas kustības
gultnis#
Īpašība pearling norāda, cik tālu objekts atrodas pa kreisi vai pa labi no AI redzes sensora skata centra grādos. Vērtība 0 nozīmē, ka tas ir centrēts, pozitīvas vērtības nozīmē, ka objekts atrodas pa labi, un negatīvas vērtības nozīmē, ka objekts atrodas pa kreisi.
kad sākts
[Keep the blue barrel directly in front of the robot.]
iestatīt pagrieziena ātrumu uz [40]%
mūžīgi
iegūt [zilā muca v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
ja <(AI Vision objekts [azimuts v]) [math_greater_than v] [5]> tad
griezties [pa labi v]
citādi ja <(AI Vision objekts [azimuts v]) [math_less_than v] [-5]> tad
griezties [pa kreisi v]
citādi
apturēt visas kustības
birkas ID#
Īpašums tagID ziņo par noteiktā AprilTag ID identifikācijas numuru kā veselu skaitli.
AI Vision objekts [tagID v]
Piemērs
kad sākts
[Move forward when AprilTag ID 0 is detected.]
mūžīgi
iegūt [AprilTag ID 0 v] datus no AI Vision
ja <AI Vision objekts pastāv?> tad
virzīties [uz priekšu v]
beigas
apturēt visas kustības