Dirbtinio intelekto vizija#

Įvadas#

VEX AIM kodavimo roboto dirbtinio intelekto regos jutiklis aptinka ir seka objektus, spalvas ir „AprilTag“ ID. Tai leidžia robotui analizuoti aplinką, sekti objektus ir reaguoti pagal aptiktus vaizdinius duomenis.

Dirbtinio intelekto vaizdo jutiklio skiriamoji geba yra 320 × 240 pikselių. Pradinis taškas (0, 0) yra viršutiniame kairiajame kampe, o jutiklio centras yra ties (160, 120), kaip parodyta toliau pateiktoje diagramoje:

Diagrama, kurioje parodyta AIM AI vaizdo jutiklio skiriamoji geba, kai viršutiniame kairiajame kampe yra 0, 0 koordinatė, viršutiniame dešiniajame kampe – 320, 0, apatiniame kairiajame kampe – 0, 240, o tiksliai centre – 160, 120 koordinatės.

Žemiau pateikiamas visų blokų sąrašas:

Veiksmai – valdyti dirbtinio intelekto regėjimo srautą ir fiksuoti objektų duomenis.

Nustatymai – koreguokite, prie kurių aptiktų objektų galima prisijungti.

Reikšmės – grąžina objekto buvimą, klasifikaciją ir savybes.

Veiksmai#

AI vizijos peržiūros priemonė ekrane#

„DI Vision“ peržiūros priemonės ekrane blokas įjungia arba išjungia tiesioginį „DI Vision“ srautą roboto ekrane. Kai įjungtas, ekrane rodomi realaus laiko jutiklių duomenys, neleidžiant rodyti kitų vaizdų ar teksto. Norėdami rodyti kitą turinį, naudokite šį bloką, kad paslėptumėte srautą.

Rodyti arba slėpti DI vizijos prietaisų skydelio bloką.#
AI Vision [rodyti v] peržiūros rodytuvas ekrane

Parametrai

Aprašymas

būsena

Valdo duomenų srauto rodymą roboto ekrane: rodyti rodo duomenų srautą, o slėpti – jį pašalina iš ekrano.

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas su užrašu „View AI Vision Sensor’s function for penker seconds“ (peržiūrėti AI regėjimo jutiklio informacijos santrauką penkias sekundes). Bloke „show AI Vision“ rodomas informacijos suvestinės vaizdas, o tada bloke „wait“ (palaukti) penkioms sekundėms pristabdomas vykdymas. Po laukimo bloke „hide AI Vision“ informacijos suvestinės vaizdas pašalinamas iš rodinio.#
kai pradėta
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [rodyti v] peržiūros rodytuvas ekrane
laukti [5] sekundžių
AI Vision [slėpti v] peržiūros rodytuvas ekrane

gauti objekto duomenis#

Blokas „gauti objekto duomenis“ filtruoja duomenis iš dirbtinio intelekto regėjimo jutiklio kadro iki vieno parašo – išsaugoto aprašymo to, ką jutiklis gali atpažinti, pvz., iš anksto apmokyto objekto, „AprilTag“ ID arba sukonfigūruotos spalvos ar spalvos kodo.

Spalvos ir spalvų kodai pirmiausia turi būti sukonfigūruoti „AI Vision Utility“ programoje, prieš juos naudojant su šiuo bloku.

Duomenų rinkinyje objektai saugomi surūšiuoti nuo didžiausio iki mažiausio pagal plotį, pradedant nuo indekso 0. Kiekvieno objekto savybes galima pasiekti naudojant bloką AI Vision object property. Jei nerandama atitinkančių objektų, pateikiamas tuščias duomenų rinkinys.

„Gauti objekto duomenų steką“ blokas.#
gauti [sportinis kamuolys v] duomenis iš AI Vision

Parametras

Aprašymas

parašas

Filtruoja duomenų rinkinį, kad jame būtų tik nurodyto parašo duomenys. Galimi parašai:

  • sportinis kamuolys
  • oranžinė statinė
  • mėlyna statinė
  • AIM robotas
  • AprilTag ID 0
  • AprilTag ID 1
  • AprilTag ID 2
  • AprilTag ID 3
  • AprilTag ID 4
  • visi kroviniai – sportiniai kamuoliai ir visos statinės
  • NAME – spalva arba spalvos kodas, kur NAME yra pavadinimas, konfigūruotas AI Vision Utility programoje

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas „Judėti pirmyn, jei aptinkamas sportinis kamuolys“. Blokas gauti objekto duomenis* užfiksuoja sportinio kamuolio vaizdą. Blokas „if“ tada patikrina, ar yra AI Vision objektas. Jei taip, blokas „judėti pirmyn“ robotą perkelia į priekį 10 milimetrų.#
kai pradėta
[Move forward if a sports ball is detected.]
amžinai
gauti [sportinis kamuolys v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
judėti [pirmyn v] per [10] [mm v] ▶

Spalvų parašai#

Spalvos parašas yra unikali spalva, kurią gali atpažinti dirbtinio intelekto regos jutiklis. Šie parašai leidžia jutikliui aptikti ir sekti objektus pagal jų spalvą. Kai spalvos parašas sukonfigūruotas dirbtinio intelekto regos programoje, jutiklis gali atpažinti objektus su ta konkrečia spalva savo matymo lauke.

Spalvų parašai naudojami get object data bloke, kad būtų galima apdoroti ir aptikti spalvotus objektus realiuoju laiku.

„AI Vision Utility“ programa rodo prijungtą regėjimo jutiklį, aptinkantį du spalvotus objektus. Kairėje pusėje rodomas tiesioginis kameros vaizdas su mėlynu langeliu kairėje ir raudonu langeliu dešinėje, kiekvienas iš jų apibrėžtas baltais ribojančiais langeliais. Juodos etiketės rodo jų atitinkamus pavadinimus, koordinates ir matmenis. Dešinėje pusėje yra spalvų parašo nustatymai su slankikliais, skirtais atspalviui ir sodrumo diapazonui tiek raudonam, tiek mėlynam langeliams. Mygtukai spalvoms pridėti, vaizdo įrašui sustabdyti, kopijuoti ir vaizdui išsaugoti yra apačioje, o uždarymo mygtukas – apatiniame dešiniajame kampe.

Pavyzdys

kai pradėta
[Display if any objects matching the Red_Box signature is detected.]
amžinai
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
išvalyti eilutę [1] ekrane
[Change the signature to any configured Color Signature.]
gauti [Red_Box v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
spausdinti [Color signature detected!] ekrane ▶

Spalvų kodai#

Spalvų kodas yra struktūrizuotas šablonas, sudarytas iš 2–4 spalvų parašų, išdėstytų tam tikra tvarka. Kai spalvų kodas sukonfigūruotas „AI Vision Utility“ programoje, jutiklis gali atpažinti iš anksto nustatytus spalvų šablonus.

Spalvų kodai yra ypač naudingi norint identifikuoti sudėtingus objektus, suderinti juos su žaidimo elementais arba sukurti unikalius žymeklius autonominei navigacijai.

„AI Vision Utility“ sąsajoje rodomas prijungtas regėjimo jutiklis, aptinkantis du gretimus objektus: mėlyną langelį kairėje ir raudoną langelį dešinėje, sugrupuotus viename baltame ribojančiame langelyje, pažymėtame „BlueRed“. Aptikimo informacija apima kampą (A:11°), koordinates (X:143, Y:103), plotį (W:233) ir aukštį (H:108). Dešiniajame skydelyje išvardyti trys spalvų parašai: „Red_Box“, „Blue_Box“ ir „BlueRed“, su reguliuojamais atspalvio ir sodrumo diapazonais. „BlueRed“ parašas sujungia „Blue_Box“ ir „Red_Box“. Po vaizdo įrašo srautu yra mygtukai, pažymėti „Freeze Video“ (Užšaldyti vaizdo įrašą), „Copy Image“ (Kopijuoti vaizdą), „Save Image“ (Įrašyti vaizdą) ir „Close“ (Uždaryti).

Pavyzdys

kai pradėta
[Display if any objects matching the BlueRed code is detected.]
amžinai
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
išvalyti eilutę [1] ekrane
[Change the signature to any configured Color Code.]
gauti [BlueRed v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
spausdinti [Color code detected!] ekrane ▶

Nustatymai#

nustatyti AI vizijos objekto elementą#

Steko blokas nustatyti dirbtinio intelekto regėjimo objekto elementą nustato, kurį duomenų rinkinio elementą naudoti.

Objekto „Set AI Vision“ elementų krūvos blokas.#
nustatyti AI Vision objekto elementą į (1)

Parametrai

Aprašymas

prekė

Duomenų rinkinyje esančio elemento numeris, kuris bus naudojamas.

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas su užrašu „Rodyti didžiausią aptiktą „AprilTag“ ID“. „Forever“ ciklo viduje get objekto duomenų blokas fiksuoja „AprilTag“ ID vaizdą. if blokas patikrina, ar egzistuoja AI Vision objektas. Jei tiesa, set AI Vision objekto elementų blokas priskiria objektų skaičių kintamajam, o print blokas ekrane rodo aptikto objekto žymės ID.#
kai pradėta
[Display the width of the smallest detected object.]
amžinai
gauti [visas krovinys v] duomenis iš AI Vision
išvalyti eilutę [1] ekrane
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
jei <AI Vision objektas egzistuoja?> tada
nustatyti AI Vision objekto elementą į (AI Vision objektų skaičius)
spausdinti (AI Vision objektas [plotis v]) ekrane ▶

Vertybės#

turi objektą#

Loginis blokas turi objektą praneša, ar robotas šiuo metu turi aptiktą objektą, palyginti su jo Kicker.

  • Tiesa — Robotas turi objektą.

  • Netiesa — Robotas neturi objekto.

<turi [sportinis kamuolys v]? :: custom-ai-vision>

Parametras

Aprašymas

objektas

Objektas, kurį reikia aptikti roboto spardytojo atžvilgiu:

  • sportinis kamuolys
  • bet kokia statinė
  • oranžinė statinė
  • mėlyna statinė

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas „Kick when the robot has a Ball“. Amžino ciklo viduje blokas „if“ tikrina, ar robotas turi sportinį kamuolį. Jei „true“, blokas „spyrti objektą“ vykdomas vidutine galia.#
kai pradėta
[Kick when the robot has a sports ball.]
amžinai
jei <turi [sportinis kamuolys v]? :: custom-ai-vision> tada
spirti objektą [vidutinis v]

Dirbtinio intelekto regėjimo objektas egzistuoja#

Loginis blokas „AI Vision“ objektas egzistuoja praneša, ar duomenų rinkinyje aptiktas objektas.

  • Teisinga – duomenų rinkinyje yra aptiktas objektas.

  • Klaidinga — Neaptikta jokių objektų.

„AI Vision“ objektas egzistuoja loginiame bloke.#
<AI Vision objektas egzistuoja?>

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas „Judėti pirmyn, jei aptinkamas kamuolys“. „Gauti“ objekto duomenų blokas užfiksuoja sportinio kamuolio vaizdą. „if“ blokas tada patikrina, ar egzistuoja AI Vision objektas. Jei „true“, blokas „judėti pirmyn“ robotą perkelia į priekį 10 milimetrų.#
kai pradėta
[Move forward if a sports ball is detected.]
amžinai
gauti [sportinis kamuolys v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
judėti [pirmyn v] per [10] [mm v] ▶

DI vizijos objektas yra#

AI vizijos objektas yra loginis blokas, pranešantis, ar aptiktas objektas atitinka konkrečią klasifikaciją.

  • Teisinga – duomenų rinkinio elementas yra konkretus objektas.

  • Klaidinga – Duomenų rinkinio elementas nėra konkretus objektas.

AI vizijos AI klasifikacija yra objekto loginis blokas.#
<AI Vision objektas yra [sportinis kamuolys v]?>

Parametras

Aprašymas

objektas

Su kuriuo objektu palyginti šį daiktą:

  • sportinis kamuolys
  • oranžinė statinė
  • mėlyna statinė
  • AIM robotas

Pavyzdys

Blokų krūva, prasidedanti bloku „when started“, po kurio eina komentarų blokas „Display if a sportball is detected“ (Rodyti, ar aptiktas sportinis kamuolys). Amžinojo ciklo viduje get objekto duomenų blokas fiksuoja vaizdą naudodamas AI klasifikacijas. Ekranas išvalomas, o žymeklis nustatomas į 1 eilutę, 1 stulpelį. if blokas patikrina, ar egzistuoja AI Vision objektas, o jei taip, kitas if blokas patikrina, ar klasifikacija yra sportinis kamuolys. Jei taip, spausdinimo bloke ekrane rodomas užrašas „Kamuolys aptiktas!“, po kurio seka laukimo blokas, pristabdantis 0,5 sekundės prieš kartojant procesą.#
kai pradėta
[Display if a sports ball is detected.]
amžinai
gauti [visas krovinys v] duomenis iš AI Vision
išvalyti eilutę [1] ekrane
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
jei <AI Vision objektas egzistuoja?> tada
jei <AI Vision objektas yra [sportinis kamuolys v]?> tada
spausdinti [Sports ball detected!] ekrane ▶
laukti [0.5] sekundžių

AI Vision objektas yra „AprilTag“ ID#

AI Vision objektas yra „AprilTag ID“ loginis blokas praneša, ar aptiktas „AprilTag“ ID atitinka konkretų ID.

  • Teisinga – „AprilTag“ ID yra skaičius.

  • Klaidinga – „AprilTag“ ID nėra skaičius.

„AI Vision“ aptiktas „AprilTag“ ID yra loginis blokas.#
<AI Vision object is AprilTag ID [1] ?>

Parametrai

Aprašymas

AprilTag ID

Skaičius, kurį reikia palyginti su aptiktu „AprilTag“ ID numeriu.

AI vizijos objektų skaičius#

AI vizijos objektų skaičiaus reporterio blokas pateikia aptiktų objektų skaičių duomenų rinkinyje kaip sveikąjį skaičių.

AI Vision objektų skaičius

Parametrai

Aprašymas

Šis blokas neturi parametrų.

Pavyzdys

kai pradėta
[Display the amount of sports balls and barrels.]
amžinai
išvalyti eilutę [1] ekrane
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
gauti [visas krovinys v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
spausdinti (AI Vision objektų skaičius) ekrane ▶
pabaiga
laukti [0.5] sekundžių

AI vizijos objekto ypatybė#

Kiekvienam objektui (parodyta žemiau) priskiriamos devynios savybės, kurios saugomos panaudojus bloką get object data.

„AI Vision“ objekto ypatybių reporterio blokas.#
AI Vision objektas [plotis v]

Visos ypatybių reikšmės, išskyrus tagID, apibūdina aptikto objekto padėtį, dydį, orientaciją arba kryptį tuo metu, kai buvo panaudotas get object data blokas. Šios reikšmės matuojamos pikseliais arba laipsniais, remiantis jutiklio 320 x 240 pikselių skiriamąja geba.

Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo rėmelio. x ir y ašys viršuje pažymėtos nuo 0 iki 320 iš kairės į dešinę, o kairėje pusėje – nuo ​​0 iki 240 iš viršaus į apačią.

Parametras

Aprašymas

nuosavybė

Kurią aptikto objekto savybę naudoti:

plotis#

Savybė width nurodo aptikto objekto plotį pikseliais kaip sveikąjį skaičių nuo 1 iki 320.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip plotis.#
AI Vision objektas [plotis v]

Mėlynas statinės formos objektas su oranžine juostele yra centre rėmelio, apsuptas juodo ribojančio langelio. Dvi vertikalios raudonos punktyrinės linijos tęsiasi nuo rėmelio viršaus iki ribojančio langelio kairiojo ir dešiniojo kraštų. Dvipusė juoda rodyklė tarp šių linijų rodo pločio matmenį.

Pavyzdys

kai pradėta
[Move towards a blue barrel until its width is larger than 100 pixels.]
amžinai
gauti [mėlyna statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [plotis v]) [math_less_than v] [100]> tada
judėti [pirmyn v]
pabaiga
kitu atveju
sustabdyti visus judesius

aukštis#

Savybė aukštis nurodo aptikto objekto aukštį pikseliais kaip sveikąjį skaičių nuo 1 iki 240.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip aukštis.#
AI Vision objektas [aukštis v]

Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo ribojančio langelio. Dvi horizontalios raudonos punktyrinės linijos tęsiasi nuo kairiosios kadro pusės iki ribojančio langelio viršutinio ir apatinio kraštų. Dvipusė juoda rodyklė tarp šių linijų rodo aukščio matavimą.

Pavyzdys

kai pradėta
[Move towards a blue barrel until its height is larger than 100 pixels.]
amžinai
gauti [mėlyna statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [aukštis v]) [math_less_than v] [100]> tada
judėti [pirmyn v]
pabaiga
kitu atveju
sustabdyti visus judesius

centrasX#

Savybė centerX nurodo aptikto objekto centro x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip centerX.#
AI Vision objektas [centrasX v]

! Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo ribojančio langelio. Vertikali raudona punktyrinė linija tęsiasi nuo kadro viršaus iki ribojančio langelio centro, nurodydama centro X koordinatę.

Pavyzdys

kai pradėta
[Turn slowly until a blue barrel is centered in front of the robot.]
nustatyti sukimosi greitį į [30]%
sukti [dešinėn v]
amžinai
gauti [mėlyna statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <[140] [math_less_than v] (AI Vision objektas [centrasX v]) [math_less_than v] [180]> tada
sustabdyti visus judesius

centras Y#

Savybė centerY nurodo aptikto objekto centro y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip centerY.#
AI Vision objektas [centrasY v]

! Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo ribojančio langelio. Nuo kairės kadro pusės iki ribojančio langelio centro eina horizontali raudona punktyrinė linija, rodanti centro Y koordinatę.

Pavyzdys

kai pradėta
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
amžinai
gauti [mėlyna statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [centrasY v]) [math_less_than v] [140]> tada
judėti [pirmyn v]
pabaiga
kitu atveju
sustabdyti visus judesius

kilmėX#

Savybė originX nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo x koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 320.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip originX.#
AI Vision objektas [pradžiaX v]

! Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo ribojančio langelio. Vertikali raudona punktyrinė linija tęsiasi nuo kadro viršaus iki ribojančio langelio kairiojo krašto, nurodydama ribojančio langelio pradžios X koordinatę.

Pavyzdys

kai pradėta
[Display if an orange barrel is to the left or the right.]
amžinai
išvalyti eilutę [1] ekrane
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
gauti [oranžinė statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [pradžiaX v]) [math_less_than v] [160]> tada
spausdinti [To the left!] ekrane ▶
kitu atveju
spausdinti [To the right!] ekrane ▶
pabaiga
laukti [0.5] sekundžių

kilmėY#

Savybė originY nurodo aptikto objekto ribojančio langelio viršutinio kairiojo kampo y koordinatę pikseliais kaip sveikąjį skaičių nuo 0 iki 240.

Pastaba: Pikselių vertės yra santykinės jutiklio koordinačių sistemos atžvilgiu. Žr. diagramą įvade.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip originY.#
AI Vision objektas [pradžiaY v]

Kadro centre yra mėlynas statinės formos objektas su oranžine juostele, apsuptas juodo ribojančio langelio. Nuo kairiosios kadro pusės iki ribojančio langelio viršutinio krašto tęsiasi horizontali raudona punktyrinė linija, nurodanti ribojančio langelio pradžios Y koordinatę.

Pavyzdys

kai pradėta
[Display if an orange barrel is close or far from the robot.]
amžinai
išvalyti eilutę [1] ekrane
nustatyti žymeklį į eilutę [1] stulpelį [1] ekrane
gauti [oranžinė statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [pradžiaY v]) [math_less_than v] [80]> tada
spausdinti [Far!] ekrane ▶
kitu atveju
spausdinti [Close!] ekrane ▶
pabaiga
laukti [0.5] sekundžių

rotacija#

Savybė rotation praneša aptikto „AprilTag“ ID arba spalvos kodo orientaciją kaip sveikąjį skaičių laipsniais nuo 0 iki 359.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip sukimas.#
AI Vision objektas [pasukimas v]

Kameros sąsajoje rodomas vertikaliai sukrautas objektas su mėlyna viršutine ir raudona apatine pusėmis, centre kadro. Po objektu yra užrašas „Red_Blue A:270° CX:185 CY:81 W:93 H:150“, nurodantis objekto pavadinimą, pasukimo kampą, centro X ir Y koordinates, plotį ir aukštį. Tinklelio linijos ir skaitinės ašys žymi vaizdo matmenis, kur X svyruoja nuo 0 iki 320, o Y – nuo ​​0 iki 240.

Pavyzdys

kai pradėta
[Slide left or right depending on how the Color Code is rotated.]
amžinai
gauti [Red_Blue v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <[50] [math_less_than v] (AI Vision objektas [pasukimas v]) [math_less_than v] [100]> tada
judėti [dešinėn v]
kitu atveju jei <[270] [math_less_than v] (AI Vision objektas [pasukimas v]) [math_less_than v] [330]> tada
judėti [kairėn v]
kitu atveju
sustabdyti visus judesius
pabaiga
kitu atveju
sustabdyti visus judesius

guolis#

Savybė pearing nurodo, kiek objektas yra nutolęs į kairę arba į dešinę nuo dirbtinio intelekto regos jutiklio matymo lauko centro laipsniais. 0 reikšmė reiškia, kad objektas yra centre, teigiamos reikšmės reiškia, kad objektas yra dešinėje, o neigiamos reikšmės reiškia, kad objektas yra kairėje.

VEX AIM kodavimo robotas aikštėje, o sportinis kamuolys nukreiptas įstrižai į priekį ir į kairę. Tarp roboto centro ir sportinio kamuolio nubrėžtas kampas, pažymėtas -30 laipsnių. VEX AIM kodavimo robotas aikštėje, o sportinis kamuolys nukreiptas įstrižai į priekį ir į dešinę. Tarp roboto centro ir sportinio kamuolio nubrėžtas kampas, pažymėtas 30 laipsnių.
kai pradėta
[Keep the blue barrel directly in front of the robot.]
nustatyti sukimosi greitį į [40]%
amžinai
gauti [mėlyna statinė v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
jei <(AI Vision objektas [kryptis v]) [math_greater_than v] [5]> tada
sukti [dešinėn v]
kitu atveju jei <(AI Vision objektas [kryptis v]) [math_less_than v] [-5]> tada
sukti [kairėn v]
kitu atveju
sustabdyti visus judesius

žymos ID#

Ypatybė tagID nurodo aptikto „AprilTag“ ID identifikacinį numerį kaip sveikąjį skaičių.

„AI Vision“ objekto ypatybių bloko blokas, kurio parametras nustatytas kaip tagID.#
AI Vision objektas [tagID v]

Pavyzdys

kai pradėta
[Move forward when AprilTag ID 0 is detected.]
amžinai
gauti [AprilTag ID 0 v] duomenis iš AI Vision
jei <AI Vision objektas egzistuoja?> tada
judėti [pirmyn v]
pabaiga
sustabdyti visus judesius