Tekoälyvisio#
Johdanto#
VEX AIM -koodausrobotin tekoälynäköanturi tunnistaa ja seuraa esineitä, värejä ja AprilTag-tunnuksia. Tämän avulla robotti voi analysoida ympäristöään, seurata esineitä ja reagoida havaittujen visuaalisten tietojen perusteella.
Tekoälynäköanturin resoluutio on 320 × 240 pikseliä. Origo (0, 0) sijaitsee vasemmassa yläkulmassa, ja anturin keskipiste on kohdassa (160, 120), kuten alla olevassa kaaviossa näkyy:

Alla on luettelo kaikista lohkoista:
Toiminnot — Ohjaa tekoälynäkösyötettä ja kaappaa objektitietoja.
AI Vision -katseluohjelma näytöllä — Ottaa käyttöön tai poistaa käytöstä reaaliaikaisen tekoälykuvan robotin näytöllä.
hae objektitiedot — Tallentaa tietyn allekirjoituksen tiedot, kuten määritetyn värin, esikoulutetun objektin tai AprilTag-tunnuksen.
Asetukset — Voit määrittää, mitä havaittuja kohteita käytetään.
aseta tekoälynäön objekti — Valitsee tietyn objektin havaittujen objektien luettelosta.
Arvot — Palauta objektin läsnäolo, luokitus ja ominaisuudet.
on esine — Tarkistaa, piteleekö robotti havaittua esinettä.
AI Vision -objekti on olemassa — Ilmoittaa, onko objekti havaittu.
AI Vision -objekti on — Tarkistaa, vastaako havaittu objekti tiettyä luokitusta.
AI Vision -objekti on AprilTag-tunnus — Tarkistaa, vastaako havaittu AprilTag-tunnus tiettyä tunnusta.
AI Vision -kohteiden määrä — Ilmoittaa havaittujen kohteiden määrän.
AI Vision -objektin ominaisuus — Raportoi tietoja, kuten:
Toiminnot#
AI Vision -katseluohjelma näytöllä#
AI Vision viewer on screen -pino-lohko ottaa käyttöön tai poistaa käytöstä reaaliaikaisen AI Vision -syötteen robotin näytöllä. Kun tämä lohko on käytössä, näytöllä näkyy reaaliaikaista anturidataa estäen muiden kuvien tai tekstin näkymisen. Jos haluat näyttää muuta sisältöä, piilota syöte tällä lohkolla.
AI Vision [näytä v] näkymä näytöllä
Parametrit |
Kuvaus |
|---|---|
status |
Ohjaa datasyötteen näyttämistä robotin näytöllä: näytä näyttää datasyötteen, kun taas piilota poistaa datasyötteen näytöltä. |
Esimerkki
kun käynnistetään
[View the AI Vision Sensor's feed for five seconds.]
AI Vision [näytä v] näkymä näytöllä
odota [5] sekuntia
AI Vision [piilota v] näkymä näytöllä
hae objektitietoja#
Hae objektidataa -pinolohko suodattaa tekoälynäköanturin kehyksen tiedot yhdeksi allekirjoitukseksi – tallennetuksi kuvaukseksi jostakin, jonka anturi pystyy tunnistamaan, kuten esikoulutetusta objektista, AprilTag-tunnuksesta tai määritetystä väristä tai värikoodista.
Värit ja värikoodit on ensin määritettävä AI Vision -apuohjelmassa, ennen kuin niitä voidaan käyttää tämän lohkon kanssa.
Aineisto tallentaa objektit leveyden mukaan suurimmasta pienimpään järjestettyinä alkaen indeksistä 0. Kunkin objektin ominaisuuksiin pääsee käsiksi AI Vision object property -lohkon avulla. Jos vastaavia objekteja ei havaita, aineisto raportoidaan tyhjänä.
hae [urheilupallo v] tiedot AI Visionilta
Parametri |
Kuvaus |
|---|---|
allekirjoitus |
Suodattaa tietojoukon näyttämään vain annetun allekirjoituksen tiedot. Käytettävissä olevat allekirjoitukset ovat:
|
Esimerkki
kun käynnistetään
[Move forward if a sports ball is detected.]
ikuisesti
hae [urheilupallo v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
liiku [eteenpäin v] [10] [mm v] ▶
Väriallekirjoitukset#
Väritunniste on ainutlaatuinen väri, jonka tekoälynäköanturi tunnistaa. Näiden tunnisteiden avulla anturi voi havaita ja seurata kohteita niiden värin perusteella. Kun väritunniste on määritetty tekoälynäköapuohjelmassa, anturi voi tunnistaa kyseisen väriset kohteet näkökentässään.
Väritunnisteita käytetään get object data -lohkossa värillisten objektien käsittelyyn ja havaitsemiseen reaaliajassa.

Esimerkki
kun käynnistetään
[Display if any objects matching the Red_Box signature is detected.]
ikuisesti
aseta kursori riville [1] sarakkeeseen [1] näytöllä
tyhjennä rivi [1] näytöltä
[Change the signature to any configured Color Signature.]
hae [Red_Box v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
tulosta [Color signature detected!] näytöllä ▶
Värikoodit#
Värikoodi on jäsennelty kuvio, joka koostuu 2–4 väritunnisteesta tietyssä järjestyksessä. Kun värikoodi on määritetty AI Vision -apuohjelmassa, anturi voi tunnistaa ennalta määritetyt värikuviot.
Värikoodit ovat erityisen hyödyllisiä monimutkaisten objektien tunnistamisessa, pelielementteihin kohdistamisessa tai ainutlaatuisten merkkien luomisessa autonomista navigointia varten.

Esimerkki
kun käynnistetään
[Display if any objects matching the BlueRed code is detected.]
ikuisesti
aseta kursori riville [1] sarakkeeseen [1] näytöllä
tyhjennä rivi [1] näytöltä
[Change the signature to any configured Color Code.]
hae [BlueRed v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
tulosta [Color code detected!] näytöllä ▶
Asetukset#
aseta tekoälynäön objektikohta#
Aseta tekoälynäköobjektin kohde -pino-lohko määrittää, mitä kohdetta tietojoukosta käytetään.
aseta AI Vision -objektin kohde (1)
Parametrit |
Kuvaus |
|---|---|
esine |
Käytettävän kohteen numero tietojoukossa. |
Esimerkki
kun käynnistetään
[Display the width of the smallest detected object.]
ikuisesti
hae [kaikki tavarat v] tiedot AI Visionilta
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
jos <AI Vision -objekti on olemassa?> niin
aseta AI Vision -objektin kohde (AI Vision -objektien määrä)
tulosta (AI Vision -objekti [leveys v]) näytöllä ▶
Arvot#
on objekti#
Boolen has object -lohko raportoi, onko robotilla tällä hetkellä havaittu objekti Kicker -funktiota vasten.
Tosi — Robotilla on esine.
Väärin — Robotilla ei ole esinettä.
<onko [urheilupallo v]? :: custom-ai-vision>
Parametri |
Kuvaus |
|---|---|
esine |
Robotin potkijaa vasten havaittava kohde:
|
Esimerkki
kun käynnistetään
[Kick when the robot has a sports ball.]
ikuisesti
jos <onko [urheilupallo v]? :: custom-ai-vision> niin
potkaise objektia [keskikokoinen v]
AI Vision -objekti on olemassa#
Boolen lohko AI Vision -objekti on olemassa raportoi, onko datajoukossa objekti havaittu.
Tosi — Aineisto sisältää havaitun objektin.
Väärin — Yhtään kohdetta ei havaittu.
<AI Vision -objekti on olemassa?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Move forward if a sports ball is detected.]
ikuisesti
hae [urheilupallo v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
liiku [eteenpäin v] [10] [mm v] ▶
AI Vision -objekti on#
AI Vision -objekti on Boolen lohko, joka raportoi, vastaako havaittu objekti tiettyä luokitusta.
Tosi — Tietojoukon kohde on kyseinen objekti.
Epätosi — Tietojoukon kohde ei ole kyseinen objekti.
<AI Vision -objekti on [urheilupallo v]?>
Parametri |
Kuvaus |
|---|---|
esine |
Mihin esineeseen esinettä verrataan:
|
Esimerkki
kun käynnistetään
[Display if a sports ball is detected.]
ikuisesti
hae [kaikki tavarat v] tiedot AI Visionilta
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
jos <AI Vision -objekti on olemassa?> niin
jos <AI Vision -objekti on [urheilupallo v]?> niin
tulosta [Sports ball detected!] näytöllä ▶
odota [0.5] sekuntia
AI Vision -objekti on AprilTag-tunnus#
AI Vision -objekti on AprilTag ID -totuusarvolohko, joka raportoi, vastaako havaittu AprilTag ID tiettyä ID:tä.
Tosi — AprilTag-tunnus on numero.
Väärin — AprilTag-tunnus ei ole oikea numero.
<AI Vision object is AprilTag ID [1] ?>
Parametrit |
Kuvaus |
|---|---|
AprilTag-tunnus |
Numero, jota verrataan havaittuun AprilTag-tunnusnumeroon. |
AI Vision -objektien määrä#
AI Vision -objektien lukumäärä -raporttilohko raportoi havaittujen objektien lukumäärän tietojoukossa kokonaislukuna.
AI Vision -objektien määrä
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Display the amount of sports balls and barrels.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
hae [kaikki tavarat v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
tulosta (AI Vision -objektien määrä) näytöllä ▶
Loppu
odota [0.5] sekuntia
AI Vision -objektin ominaisuus#
Jokaiseen get object data -lohkon käytön jälkeen tallennettuun objektiin (alla) sisältyy yhdeksän ominaisuutta.
AI Vision -objekti [leveys v]
Kaikki ominaisuusarvot paitsi tagID kuvaavat havaitun objektin sijainnin, koon, suunnan tai suuntauksen sillä hetkellä, kun get object data -lohkoa käytettiin. Nämä arvot mitataan pikseleinä tai asteina anturin 320 x 240 pikselin resoluution perusteella.

Parametri |
Kuvaus |
|---|---|
omaisuus |
Mitä havaitun objektin ominaisuutta käytetään: |
leveys#
leveys-ominaisuus raportoi havaitun objektin leveyden pikseleinä kokonaislukuna 1–320.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [leveys v]

Esimerkki
kun käynnistetään
[Move towards a blue barrel until its width is larger than 100 pixels.]
ikuisesti
hae [sininen tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [leveys v]) [math_less_than v] [100]> niin
liiku [eteenpäin v]
Loppu
muuten
pysäytä kaikki liike
korkeus#
height-ominaisuus raportoi havaitun objektin korkeuden pikseleinä kokonaislukuna 1–240.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [korkeus v]

Esimerkki
kun käynnistetään
[Move towards a blue barrel until its height is larger than 100 pixels.]
ikuisesti
hae [sininen tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [korkeus v]) [math_less_than v] [100]> niin
liiku [eteenpäin v]
Loppu
muuten
pysäytä kaikki liike
keskiosaX#
centerX-ominaisuus raportoi havaitun objektin keskipisteen x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [centerX v]

Esimerkki
kun käynnistetään
[Turn slowly until a blue barrel is centered in front of the robot.]
aseta kääntymisnopeus [30]%
käänny [oikealle v]
ikuisesti
hae [sininen tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <[140] [math_less_than v] (AI Vision -objekti [centerX v]) [math_less_than v] [180]> niin
pysäytä kaikki liike
keski-Y#
centerY-ominaisuus raportoi havaitun objektin keskipisteen y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [centerY v]

Esimerkki
kun käynnistetään
[Move towards a blue barrel until its center y-coordinate is more than 140 pixels.]
ikuisesti
hae [sininen tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [centerY v]) [math_less_than v] [140]> niin
liiku [eteenpäin v]
Loppu
muuten
pysäytä kaikki liike
alkuperäX#
originX-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [originX v]

Esimerkki
kun käynnistetään
[Display if an orange barrel is to the left or the right.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
hae [oranssi tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [originX v]) [math_less_than v] [160]> niin
tulosta [To the left!] näytöllä ▶
muuten
tulosta [To the right!] näytöllä ▶
Loppu
odota [0.5] sekuntia
alkuperäY#
originY-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.
Huomautus: Pikseliarvot ovat suhteessa anturin koordinaatistoon. Katso viitteeksi johdannon kaavio.
AI Vision -objekti [originY v]

Esimerkki
kun käynnistetään
[Display if an orange barrel is close or far from the robot.]
ikuisesti
tyhjennä rivi [1] näytöltä
aseta kursori riville [1] sarakkeeseen [1] näytöllä
hae [oranssi tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [originY v]) [math_less_than v] [80]> niin
tulosta [Far!] näytöllä ▶
muuten
tulosta [Close!] näytöllä ▶
Loppu
odota [0.5] sekuntia
kierto#
rotation-ominaisuus raportoi havaitun AprilTag-tunnuksen tai värikoodin suunnan kokonaislukuna asteina välillä 0–359.
AI Vision -objekti [kierros v]

Esimerkki
kun käynnistetään
[Slide left or right depending on how the Color Code is rotated.]
ikuisesti
hae [Red_Blue v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <[50] [math_less_than v] (AI Vision -objekti [kierros v]) [math_less_than v] [100]> niin
liiku [oikealle v]
muuten jos <[270] [math_less_than v] (AI Vision -objekti [kierros v]) [math_less_than v] [330]> niin
liiku [vasemmalle v]
muuten
pysäytä kaikki liike
Loppu
muuten
pysäytä kaikki liike
laakeri#
Laakeri-ominaisuus ilmoittaa asteina, kuinka kaukana kohde on tekoälynäköanturin näkymän keskikohdasta vasemmalle tai oikealle. Arvo 0 tarkoittaa, että kohde on keskellä, positiiviset arvot tarkoittavat, että kohde on oikealla, ja negatiiviset arvot tarkoittavat, että kohde on vasemmalla.
kun käynnistetään
[Keep the blue barrel directly in front of the robot.]
aseta kääntymisnopeus [40]%
ikuisesti
hae [sininen tynnyri v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
jos <(AI Vision -objekti [suuntakulma v]) [math_greater_than v] [5]> niin
käänny [oikealle v]
muuten jos <(AI Vision -objekti [suuntakulma v]) [math_less_than v] [-5]> niin
käänny [vasemmalle v]
muuten
pysäytä kaikki liike
tagID#
tagID-ominaisuus raportoi havaitun AprilTag-tunnuksen tunnistenumeron kokonaislukuna.
AI Vision -objekti [tagID v]
Esimerkki
kun käynnistetään
[Move forward when AprilTag ID 0 is detected.]
ikuisesti
hae [AprilTag ID 0 v] tiedot AI Visionilta
jos <AI Vision -objekti on olemassa?> niin
liiku [eteenpäin v]
Loppu
pysäytä kaikki liike