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.

Vērtības — piekļūstiet iegūtajiem datiem un izmantojiet tos.

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.

Objekta datu steka bloks “Iegūt”.#
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.

AI redzes utilīta rāda pievienotu redzes sensoru, kas uztver divus krāsainus objektus. Kreisajā pusē tiek rādīta tiešraides kameras plūsma ar zilu lodziņu kreisajā pusē un sarkanu lodziņu labajā pusē, katru no kurām iezīmē baltas norobežojošas rūtiņas. Melnās etiķetes parāda to attiecīgos nosaukumus, koordinātas un izmērus. Labajā pusē ir krāsu paraksta iestatījumi ar slīdņiem gan sarkano, gan zilo lodziņu nokrāsas un piesātinājuma diapazonam. Pogas krāsu pievienošanai, video iesaldēšanai, kopēšanai un attēla saglabāšanai atrodas apakšā, kā arī aizvēršanas poga apakšējā labajā stūrī.

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.

AI Vision Utility saskarnē ir redzams pievienots redzes sensors, kas nosaka divus blakus esošus objektus – zilu lodziņu kreisajā pusē un sarkanu lodziņu labajā pusē, kas sagrupēti vienā baltā ierobežojošā lodziņā ar apzīmējumu BlueRed. Noteikšanas informācija ietver leņķi (A:11°), koordinātas (X:143, Y:103), platumu (W:233) un augstumu (H:108). Labajā panelī ir norādīti trīs krāsu paraksti: Red_Box, Blue_Box un BlueRed, ar regulējamiem nokrāsas un piesātinājuma diapazoniem. BlueRed paraksts apvieno Blue_Box un Red_Box. Zem video plūsmas ir pogas ar apzīmējumiem Freeze Video (Iesaldēt video), Copy Image (Kopēt attēlu), Save Image (Saglabāt attēlu) un Close (Aizvērt).

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.

Objekta “Iestatīt mākslīgā intelekta redzi” elementu steka bloks.#
iestatīt [AIVision1 v] objekta vienumu uz (1)

Parametri

Apraksts

prece

Izmantojamā datu kopas elementa numurs.

Piemērs

Bloku kaudze, kas sākas ar bloku “when started”, kam seko komentāru bloks ar tekstu “Parādīt lielāko noteikto AprilTag ID”. Mūžīgā cikla ietvaros bloks “take a AI Vision snapshot” uzņem AprilTag ID attēlu. Bloks “if” pārbauda, ​​vai pastāv AI Vision objekts. Ja vērtība ir patiesa, bloks “set AI Vision object item” piešķir objektu skaitu mainīgajam, un bloks “print” ekrānā parāda noteiktā objekta taga ID.#
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.

AI Vision objekts pastāv Būla blokā.#
<[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.

Objekta “Iestatīt mākslīgā intelekta redzi” elementu steka bloks.#
([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.

AI Vision objekta īpašību ziņotāja bloks.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz platumu.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz augstumu.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz centerX.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz centerY.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz leņķis.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz originX.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz originY.#
([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.

AI Vision objekta īpašību steka bloks ar parametru, kas iestatīts uz tagID.#
([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.

AI Vision AI klasifikācija ir objekta Būla bloks.#
<[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.

AI Vision objekts ir AprilTag Būla bloks.#
<[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.

AI Vision noteiktais AprilTag ID ir Būla bloks.#
<[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