Robottikohtaiset lohkot#
Johdanto#
Sankaribotti Flop sisältää imumoottorin, käsimoottorin ja IQ AI -näköanturin.
Kaikki VEXcoden vakiomalliset VR-blokit ovat käytettävissä ÄO 26-27 Level Up -leikkikentällä.
Alla on luettelo kaikista saatavilla olevista robottikohtaisista lohkoista:
Liike – Liikuta ja seuraa robotin moottoreita.
Toiminnot
pyöritä moottoria – Pyörittää moottoria yhteen suuntaan ikuisesti.
pyöritä moottoria – Pyörittää moottoria tietyn matkan asteina tai kierroksina.
pyöritä moottoria tiettyyn asentoon – Pyörittää moottoria tiettyyn asentoon.
pysäytä moottori – Pysäyttää moottorin pyörimisen.
Asetukset
aseta moottorin nopeus – Kertoo moottorille, kuinka nopeasti sen tulisi pyöriä.
aseta moottorin aikakatkaisu – Asettaa, kuinka kauan moottori yrittää suorittaa liikkeen loppuun.
Sijainti
moottorin asento – Ilmoittaa moottorin nykyisen sijainnin.
aseta moottorin asento – Muuttaa moottorin nykyisen asennon uuteen arvoon.
Arvot
moottori valmis – Ilmoittaa, onko moottorin liike päättynyt.
moottori pyörii – Ilmoittaa, pyöriikö moottori.
moottorin nopeus – Ilmoittaa moottorin pyörimisnopeuden prosentteina välillä -100 % - 100 %.
Tekoälynäkö – Kaappaa ja analysoi esineitä IQ AI -näköanturilla.
Toiminnot
hae objektitiedot - Tallentaa tietyn allekirjoituksen tiedot, kuten havaitun tekoälyluokituksen.
Asetukset
aseta objekti - Valitsee tietyn objektin listalta.
Arvot
objekti on olemassa - Palauttaa, onko luokittelua havaittu.
objekti on - Palauttaa, onko tietty luokittelu havaittu.
object is AprilTag – Palauttaa, onko havaittu objekti tiettyä tunnusta vastaava AprilTag.
objektien määrä - Palauttaa havaittujen objektien määrän.
objektin ominaisuus - Palauttaa leveyden, korkeuden, keskipisteen X, keskipisteen Y, alkuperän X tai alkuperän Y.
Tämän sivun esimerkeissä käytetään leikkikentän oletusarvoista aloituskohtaa.
Liike#
Flop käyttää imumoottoria pelielementtien keräämiseen ja poistamiseen. Käsivarren moottori nostaa ja laskee käsivartta.
Jokaisella moottorilla on omat suunta-asetukset. Suunnan nimet kuvaavat, miten moottori liikkuu Flopissa.
Toiminnot#
pyörimismoottori#
Pyöri moottori -pinolohko pyörittää moottoria ikuisesti kahteen suuntaan. Moottori jatkaa pyörimistä, kunnes sille annetaan toinen toiminto, kuten pyöriminen eri suuntaan tai pysähtyminen.
pyöritä [IntakeMotor v] [imu v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Imumoottori tai Varsimoottori. |
suunta |
Moottorin pyörimissuunta:
|
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
pyöritysmoottori#
Pyöri moottoria -pinolohko pyörittää moottoria tietyn matkan. Pyöritys on suhteessa moottorin nykyiseen sijaintiin. Projekti odottaa, kunnes moottori on pyörinyt loppuun, ennen kuin pinon seuraava lohko suoritetaan.
pyöritä [ArmMotor v] [ylös v] (500) [astetta v] ▶
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Imumoottori tai Varsimoottori. |
suunta |
Moottorin pyörimissuunta:
|
etäisyys |
Moottorin pyörimismatka. Asteet ilmaistaan kokonaislukuina. Kierrokset voivat olla kokonaislukuja tai desimaalilukuja. |
yksikkö |
Etäisyyden yksikkö: asteet tai käännökset. |
ja älä odota |
Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
pyöritä moottoria asentoon#
Pyöri moottoria asentoon -pino-lohko pyörittää moottoria tiettyyn asentoon.
Moottorin asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna asteina tai kierroksina. Yksi kierros vastaa 360 astetta. Projektin alussa moottorin asento asetetaan 0 asteeseen. Moottorin asento voidaan asettaa myös set motor position -lohkolla.
Paikka-arvot ovat absoluuttisia. Tämä tarkoittaa, että pyörimissuunta riippuu moottorin nykyisestä asennosta.
Esimerkiksi, jos moottori käynnistyy 0 asteessa ja pyörii 720 asteen kulmaan, se pyörii kaksi kierrosta eteenpäin. Jos se sitten pyörii 360 asteen kulmaan, se pyörii yhden kierroksen taaksepäin, koska 360 on pienempi kuin 720.
pyöritä [ArmMotor v] sijaintiin (500) [astetta v] ▶
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Imumoottori tai Varsimoottori. |
asema |
Moottorin pyörimisasennon arvo. Asteet voivat olla kokonaislukuja. Kierrokset voivat olla kokonaislukuja tai desimaalilukuja. |
yksikkö |
Sijaintiyksikkö: astetta tai käännökset. |
ja älä odota |
Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] sijaintiin (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
pysäytä moottori#
Pysäytä moottori -pino-lohko pysäyttää valitun moottorin.
pysäytä [IntakeMotor v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Pysäytettävä moottori: Imumoottori tai Varsimoottori. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
odota (1) sekuntia
pysäytä [IntakeMotor v]
Asetukset#
asetettu moottorin nopeus#
Aseta moottorin nopeus -pino-lohko kertoo moottorille, kuinka nopeasti sen tulee pyöriä. Suurempi prosenttiosuus saa moottorin pyörimään nopeammin ja pienempi prosenttiosuus hitaammin.
Jokainen projekti alkaa siten, että jokainen moottori pyörii oletusarvoisesti 50 % nopeudella.
Huomautus: Suurempi nopeus saa moottorin pyörimään nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus saa moottorin pyörimään hitaammin, mutta se voi olla tarkempi.
aseta [IntakeMotor v] nopeus [50] [% v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jolla asetetaan Imumoottori tai Varsimoottori -moottorin nopeus. |
nopeus |
Moottorin pyörimisnopeus. Prosentti käyttää kokonaislukuja väliltä 0–100 %. |
yksikkö |
Nopeuden yksikkö: %. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
aseta [IntakeMotor v] nopeus [100] [% v]
pyöritä [IntakeMotor v] [poisotto v]
aseta moottorin aikakatkaisu#
Aseta moottorin aikakatkaisu -pinolohko asettaa ajan, jonka moottori yrittää suorittaa liikkeen loppuun. Jos moottori ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy pinon seuraavaan lohkoon. Tämä estää moottoria jumiutumasta liikkeeseen.
aseta [ArmMotor v] aikakatkaisu [1] sekuntia
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jonka aikakatkaisun asetetaan: Imumoottori tai Varsimoottori. |
aika |
Sekuntimäärä, jonka moottori voi yrittää suorittaa liikkeen loppuun. Tämä voi olla kokonaisluku tai desimaaliluku. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
aseta [ArmMotor v] aikakatkaisu [2] sekuntia
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
Sijainti#
moottorin asento#
Moottorin asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna asteina tai kierroksina. Yksi kierros vastaa 360 astetta. Moottorin asento -raportointilohko raportoi moottorin nykyisen sijainnin.
Projektin alussa moottorin asento on asetettu arvoon 0 astetta. Jos moottori pyörii yhden täyden kierroksen eteenpäin, asento on 360 astetta eli 1 kierros. Jos moottori pyörii vastakkaiseen suuntaan, asento on negatiivinen.
([ArmMotor v] sijainti yksikköinä [astetta v])
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa Imumoottorin tai Varsimoottorin sijainnin. |
yksikkö |
Moottorin sijainnin ilmoittava yksikkö: asteina tai käännöksinä. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
kun <([ArmMotor v] sijainti yksikköinä [astetta v]) [math_less_than v] [360]>
pyöritä [ArmMotor v] [ylös v]
odota (0.002) sekuntia
Loppu
pysäytä [ArmMotor v]
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
aseta moottorin asento#
Moottorin asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna asteina tai kierroksina. Yksi kierros vastaa 360 astetta. Aseta moottorin asento -pino-lohko muuttaa moottorin nykyisen asennon uuteen arvoon.
Esimerkiksi jos moottori on pyörinyt 180 astetta, asennon asettaminen 0 asteeseen palauttaa asennon 180:stä 0 asteeseen. Tämän jälkeen moottori voi pyöriä asentoihin tämän uuden arvon perusteella.
aseta [ArmMotor v] sijainti (0) [astetta v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jolla asetetaan Imumoottori tai Varsimoottori. |
asema |
Asetettava sijaintiarvo. Asteet voivat käyttää kokonaislukuja. Käännökset voivat käyttää kokonaislukuja tai desimaalilukuja. |
yksikkö |
Sijaintiyksikkö: astetta tai käännökset. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
aseta [ArmMotor v] sijainti [0] [astetta v]
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
Arvot#
moottori on valmis#
Boolen lohko moottori on valmis raportoi, onko moottorin liike päättynyt. Tätä voidaan käyttää muiden moottorin liikkeeseen perustuvien toimintojen ajoituksen ohjaamiseen.
Tosi — Moottori on lakannut liikkumasta.
Väärin — Moottori liikkuu edelleen.
Tämä lohko toimii yhdessä seuraavien liikelohkojen kanssa, joilla on ja älä odota -parametri: pyöritä moottoria ja pyöritä moottoria haluamaasi paikkaan.
<[ArmMotor v] valmis?>
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa, onko se liikkunut loppuun: Imumoottori tai Varsimoottori. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] sijaintiin (1) [kierrokset v] ◀ eikä odota
odota kunnes <[ArmMotor v] valmis?>
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
moottori pyörii#
Boolen lohko moottori pyörii raportoi, pyöriikö moottori. Tätä voidaan käyttää muiden moottorin liikkeeseen perustuvien toimintojen ajoituksen ohjaamiseen.
Tosi — Moottori pyörii.
Väärin — Moottori ei pyöri.
Tämä lohko toimii yhdessä seuraavien liikelohkojen kanssa, joilla on ja älä odota -parametri: pyöritä moottoria ja pyöritä moottoria haluamaasi paikkaan.
<[IntakeMotor v] pyörii?>
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa pyörivänsä: Imumoottori tai Varsimoottori. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
odota kunnes <ei <[IntakeMotor v] pyörii?>>
pysäytä [IntakeMotor v]
moottorin nopeus#
Moottorin nopeuden raportointilohko raportoi moottorin pyörimisnopeuden prosentteina välillä -100 % - 100 %.
([IntakeMotor v] nopeus yksikköinä [% v] :: custom-motion)
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka raportoi Imumoottorin tai Varsimoottorin nopeuden. |
yksikkö |
Moottorin nopeuden ilmoittava yksikkö: %. |
Esimerkki
kun käynnistetään
[Score a Bean Bag in a Blue Goal.]
käänny [vasemmalle v] (90) astetta ▶
aja [eteenpäin v] (35) [tuumaa v] ▶
käänny [oikealle v] (90) astetta ▶
pyöritä [ArmMotor v] [ylös v] (1) [kierrokset v] ▶
aja [eteenpäin v] (40) [tuumaa v] ▶
pyöritä [IntakeMotor v] [poisotto v]
odota [0.2] sekuntia
tulosta ([IntakeMotor v] nopeus yksikköinä [% v] :: custom-motion) ▶
Tekoälyvisio#
Toiminnot#
hae objektitietoja#
Hae objektitietoja -lohko suodattaa IQ AI Vision Sensor -kehyksen tiedot yhdeksi tunnisteeksi – tallennetuksi kuvaukseksi jostakin, jonka anturi pystyy tunnistamaan, kuten pelikentän pelielementistä.
Aineisto tallentaa objektit leveyden mukaan suurimmasta pienimpään järjestettyinä alkaen indeksistä 0. Kunkin objektin ominaisuuksiin pääsee käsiksi object property -lohkon avulla. Jos vastaavia objekteja ei löydy, palautetaan tyhjä aineisto.
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
Parametri |
Kuvaus |
|---|---|
allekirjoitus |
Suodattaa tietojoukon sisältämään vain annetun allekirjoituksen tiedot. Käytettävissä olevat allekirjoitukset ovat:
|
Esimerkki
kun käynnistetään :: hat events
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Find and face the nearest red Bean Bag.]
aseta kääntymisnopeus (30) [% v]
aseta [object_counter v] väri [1]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
toista ([AIVision v] objektien määrä)
aseta [AIVision v] objektin kohde (object_counter)
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
if <([AIVision v] objekti [centerX v]) < (140)> then
käänny [vasemmalle v]
else if <([AIVision v] object [centerX v]) > (180)> then
käänny [oikealle v]
muuten
pysäytä ajaminen
Loppu
keskeytä
Loppu
muuta [object_counter v] arvolla [1]
Loppu
Asetukset#
aseta objektikohta#
Aseta objekti -lohko määrittää, mitä kohdetta tietojoukossa käytetään.
aseta [AIVision v] objektin kohde [1]
Parametrit |
Kuvaus |
|---|---|
esine |
Käytettävän kohteen numero tietojoukossa. |
Esimerkki
kun käynnistetään :: hat events
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Find the index of the nearest red Bean Bag.]
aseta [object_counter v] väri [1]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
toista ([AIVision v] objektien määrä)
aseta [AIVision v] objektin kohde (object_counter)
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
tulosta (yhdistä [Nearest Red Bean Bag is ] (object_counter)) ▶
keskeytä
muuten
muuta [object_counter v] arvolla [1]
Loppu
Loppu
Arvot#
objekti on olemassa#
Objekti on olemassa -lohko palauttaa totuusarvon, joka ilmaisee, onko aineistossa havaittu objektia.
Tosi – Tietojoukko sisältää havaitun objektin.
False - Tietojoukko ei sisällä havaittuja objekteja.
<[AIVision v] objekti on olemassa?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään :: hat events
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Turn until a Bean Bag is detected.]
aseta kääntymisnopeus (30) [% v]
käänny [oikealle v]
toista kunnes <[AIVision v] objekti on olemassa?>
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
Loppu
pysäytä ajaminen
objekti on#
Object is -lohko palauttaa totuusarvon, joka ilmaisee, vastaako havaittu objekti tiettyä luokitusta.
Tosi – Tietojoukon kohde on kyseinen objekti.
Epätosi - Tietojoukon kohde ei ole kyseinen objekti.
<[AIVision v] objekti on [RedBeanBag v]?>
Parametri |
Kuvaus |
|---|---|
esine |
Mihin objektiin esinettä verrataan: PunainenPapuPussi, SininenPapuPussi vai KeltainenPapuPussi. |
Esimerkki
kun käynnistetään :: hat events
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Find the index of the nearest red Bean Bag.]
aseta [object_counter v] väri [1]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
toista ([AIVision v] objektien määrä)
aseta [AIVision v] objektin kohde (object_counter)
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
tulosta (yhdistä [Nearest Red Bean Bag is ] (object_counter)) ▶
keskeytä
muuten
muuta [object_counter v] arvolla [1]
Loppu
Loppu
objekti on AprilTag#
Object is AprilTag -lohko palauttaa totuusarvon, joka ilmaisee, onko havaittu objekti AprilTag, joka vastaa tiettyä tunnusta.
True - Havaittu objekti on AprilTag, jolla on annettu ID.
False - Havaittu objekti ei ole annetun tunnuksen mukainen AprilTag.
<[AIVision v] objekti on AprilTag [0]?>
Parametri |
Kuvaus |
|---|---|
AprilTag-tunnus |
Tunnusnumero, jota verrataan havaittuun AprilTagiin. |
Esimerkki
kun käynnistetään :: hat events
[Stop when you see the Red Goal!]
aseta kääntymisnopeus (30) [% v]
käänny [oikealle v]
toista kunnes <[AIVision v] objekti on AprilTag [1]?>
hae [AprilTags v] tiedot [AIVision v]-sensorilta
Loppu
pysäytä ajaminen
tulosta [Found the Red Goal!] ▶
objektien määrä#
Objektien lukumäärä-lohko palauttaa tietojoukossa havaittujen objektien lukumäärän kokonaislukuna.
([AIVision v] objektien määrä)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään :: hat events
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Print how many Bean Bags are detected.]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
tulosta ([AIVision v] objektien määrä) ▶
objektin ominaisuus#
Jokaiseen get object data-lohkon käytön jälkeen tallennettuun objektiin liitetään kuusi ominaisuutta.
([AIVision v] objekti [leveys v])
Kaikki ominaisuusarvot kuvaavat havaitun kohteen sijainnin ja koon IQ AI Vision Sensorin näkymässä sillä hetkellä, kun hae objektitiedot -lohkoa käytettiin. Nämä arvot mitataan pikseleinä anturin 320 x 240 pikselin resoluution perusteella.
Parametri |
Kuvaus |
|---|---|
omaisuus |
Mitä havaitun objektin ominaisuutta käytetään: leveys, korkeus, keskipisteen koko, keskipisteen koko, alkupisteen koko tai alkupisteen koko. |
leveys#
leveys-ominaisuus raportoi havaitun objektin leveyden pikseleinä kokonaislukuna 1–320.
([AIVision v] objekti [leveys v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Approach the Bean Bag, then pick it up.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
if <([AIVision v] object [width v]) > (180)> then
aja [eteenpäin v] [50] [mm v] ▶
pyöritä [IntakeMotor v] [imu v] [90] [astetta v] ▶
keskeytä
muuten
aja [eteenpäin v]
Loppu
Loppu
Loppu
Loppu
korkeus#
height-ominaisuus raportoi havaitun objektin korkeuden pikseleinä kokonaislukuna 1–240.
([AIVision v] objekti [korkeus v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Approach the Bean Bag, then pick it up.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
if <([AIVision v] object [height v]) > (100)> then
aja [eteenpäin v] [50] [mm v] ▶
pyöritä [IntakeMotor v] [imu v] [90] [astetta v] ▶
keskeytä
muuten
aja [eteenpäin v]
Loppu
Loppu
Loppu
Loppu
keskiosaX#
centerX-ominaisuus raportoi havaitun objektin keskipisteen x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.
([AIVision v] objekti [centerX v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Steer to keep the Bean Bag centered while approaching.]
aseta kääntymisnopeus (30) [% v]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
if <([AIVision v] objekti [centerX v]) < (140)> then
käänny [vasemmalle v] (5) astetta ▶
muuten
aja [eteenpäin v] (150) [mm v] ▶
pyöritä [IntakeMotor v] [imu v]
keskeytä
Loppu
Loppu
Loppu
Loppu
keski-Y#
centerY-ominaisuus raportoi havaitun objektin keskipisteen y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.
([AIVision v] objekti [centerY v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Print the y-position of the Bean Bag.]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
tulosta ([AIVision v] objekti [centerY v]) ▶
Loppu
Loppu
alkuperäX#
originX-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.
([AIVision v] objekti [originX v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Steer to keep the left edge centered.]
aseta kääntymisnopeus (30) [% v]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
if <([AIVision v] objekti [originX v]) < (100)> then
käänny [vasemmalle v] (5) astetta ▶
muuten
aja [eteenpäin v] (150) [mm v] ▶
pyöritä [IntakeMotor v] [imu v]
keskeytä
Loppu
Loppu
Loppu
Loppu
alkuperäY#
originY-ominaisuus raportoi havaitun objektin rajaavan laatikon vasemman yläkulman y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.
([AIVision v] objekti [originY v])
Esimerkki
kun käynnistetään
[Drop the preloaded Bean Bag.]
pyöritä [IntakeMotor v] [poisotto v] (180) [astetta v] ▶
käänny [vasemmalle v] (90) astetta ▶
[Print the y-position of the Bean Bag's top edge.]
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde [1]
jos <[AIVision v] objekti on [RedBeanBag v]?> niin
tulosta ([AIVision v] objekti [originY v]) ▶
Loppu
Loppu