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.

Tekoälynäkö – Kaappaa ja analysoi esineitä IQ AI -näköanturilla.

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:

  • Imumoottori — imu tai ulosotto
  • Varsimoottori — ylös tai alas

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:

  • Imumoottori — imu tai ulosotto
  • Varsimoottori — ylös tai alas

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 objektin datapino-lohko.#
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:

  • Tekoälyluokitukset — Tunnistaa punaisen, sinisen ja keltaisen säkkitupen.
  • AprilTags — Tunnistaa tavoitteiden sivuilta löytyvät AprilTag-tunnukset.

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.

Asetetun objektin pino-lohko.#
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.

AI Vision -objekti on olemassa Boolen lohkona.#
<[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.

Objekti on Boolen lohko.#
<[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.

Objekti on AprilTag Boolen lohko.#
<[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.

Objektien määrän raportointilohko.#
([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.

AI Vision -objektin ominaisuusraportointilohko.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jonka leveys on valittu.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jonka korkeus on valittu.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jossa on valittuna centerX.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jossa on valittuna centerY.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jossa on valittuna originX.#
([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.

AI Vision -objektin ominaisuusraporttilohko, jossa on valittuna originY.#
([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