Robottikohtaiset lohkot#

Johdanto#

Sankaribotti Flex sisältää kynsimoottorin, käsimoottorin, tekoälynäköanturin, etäisyysanturin ja pelin paikannusjärjestelmän (GPS) anturin.

Kaikki VEXcode VR -vakioblokit ovat käytettävissä V5 26-27 Override -leikkikentällä.

Alla on luettelo kaikista saatavilla olevista robottikohtaisista lohkoista:

Voimansiirto – Liikuta ja käännä robottia.

Liike – Liikuta ja seuraa robotin moottoreita.

Tekoälynäkö – Kaappaa ja analysoi esineitä tekoälynäköanturilla.

Anturit – Käytä robotin erilaisia ​​antureita.

  • Etäisyys

  • GPS

    • GPS-sijainti – Palauttaa GPS-anturin X- tai Y-sijainnin.

    • GPS-suunta – Palauttaa robotin nykyisen suunnan.

Tämän sivun esimerkeissä käytetään leikkikentän ottelua edeltävän tarkistuslistan lähtöpaikkaa C.

Voimansiirto#

Voimansiirto ohjaa VR-robotin ajo- ja kääntymistapoja. Voimansiirto voi liikkua eteen- tai taaksepäin, kääntyä vasemmalle tai oikealle, kääntyä eri suuntiin ja seurata pyörimistään.

Toiminnot#

ajaa#

Ajo-pinolohko liikuttaa robottia eteen- tai taaksepäin loputtomasti. Robotti jatkaa liikkumista, kunnes sille annetaan jokin muu toiminto, kuten kääntyminen tai pysähtyminen.

aja [eteenpäin v]

Parametrit

Kuvaus

suunta

Robotin liikesuunta: eteenpäin tai taaksepäin.

Esimerkki

kun käynnistetään :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v]
odota (0.5) sekuntia
pysäytä ajaminen
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

ajaa kohti#

Aja pinoa -lohko liikuttaa robottia eteen- tai taaksepäin tietyn matkan. Projekti odottaa, kunnes robotti on liikkunut, ennen kuin pinon seuraava lohko suoritetaan.

aja [eteenpäin v] (200) [mm v] ▶

Parametrit

Kuvaus

suunta

Robotin liikesuunta: eteenpäin tai taaksepäin.

etäisyys

Robotin ajama matka. Tämä voi olla kokonaisluku tai desimaaliluku.

yksikkö

Etäisyyden yksikkö: mm (millimetrit) tai tuumat

ja älä odota

Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti.

Esimerkki

kun käynnistetään :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

käännös#

Käännös-pinolohko kääntää robottia vasemmalle tai oikealle loputtomiin. Robotti jatkaa kääntymistä, kunnes sille annetaan toinen toiminto, kuten ajaminen tai pysähtyminen.

käänny [oikealle v]

Parametrit

Kuvaus

suunta

Robotin kääntymissuunta: vasemmalle tai oikealle.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny [vasemmalle v]
odota (0.78) sekuntia
pysäytä ajaminen
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

käänny#

Pinon käännöksen lohko kääntää robottia vasemmalle tai oikealle tietyn astemäärän. Käännös on suhteessa robotin nykyiseen sijaintiin. Projekti odottaa, kunnes robotti on kääntynyt, ennen kuin pinon seuraava lohko suoritetaan.

käänny [oikealle v] (90) astetta ▶

Parametrit

Kuvaus

suunta

Robotin kääntymissuunta: vasemmalle tai oikealle.

kulma

Robotin kääntymisasteiden määrä. Tämä voi olla kokonaisluku tai desimaaliluku.

ja älä odota

Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny [vasemmalle v] (110) astetta ▶
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

käänny otsikkoon#

Suunta on robotin suunta asteina mitattuna. Käänny suuntaan -pinoelementti kääntää robotin tiettyyn suuntaan -359 ja 359 asteen välillä. Robotti kääntyy lyhyimpään suuntaan saavuttaakseen kohdesuunnan.

Lähtösuunta on 0 astetta.

Projekti odottaa, kunnes robotti on kääntynyt, ennen kuin pinon seuraava lohko suoritetaan.

käänny suuntakulmaan (90) astetta ▶

Parametrit

Kuvaus

otsikko

Robotin suunta, johon sen tulisi osoittaa, -359 - 359 astetta.

ja älä odota

Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny suuntakulmaan (-110) astetta ▶
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

kääntyä pyörimään#

Käänny rotaatioon -pino-lohko kääntää robotin tiettyyn rotaatioon.

Rotaatio ilmaisee robotin kääntymisnopeuden asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. Rotaatio voidaan asettaa myös set drive rotation -lohkolla.

Rotaatioarvot ovat absoluuttisia. Tämä tarkoittaa, että käännöksen suunta riippuu robotin nykyisestä pyörimisestä. Oikealle kääntäminen lisää pyörimistä ja vasemmalle kääntäminen vähentää niitä.

Jos esimerkiksi robotti aloittaa 0 asteen kulmasta ja käännyt 720 asteen kierrokseen, se kääntyy kahdesti oikealle. Jos sitten käännyt 360 astetta, se kääntyy kerran vasemmalle, koska 360 on pienempi kuin 720.

Projekti odottaa, kunnes robotti on kääntynyt, ennen kuin pinon seuraava lohko suoritetaan.

käänny kierrokseen (90) astetta ▶

Parametrit

Kuvaus

kierto

Robotin kääntymiskulma asteina. Tämä voi olla kokonaisluku tai desimaaliluku.

ja älä odota

Valitse nuoli (▶) laajentaaksesi lohkon tekstiin äläkä odota, jolloin pinon seuraava lohko suoritetaan heti.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny kierrokseen (-110) astetta ▶
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

lopeta ajaminen#

Ajon pysäytys -pino-lohko pysäyttää robotin liikkeen.

pysäytä ajaminen

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v]
odota (0.5) sekuntia
pysäytä ajaminen
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

Asetukset#

asetettu ajonopeus#

Aseta ajonopeus -pino-lohko kertoo robotille, kuinka nopeasti sen tulisi ajaa. Korkeampi prosenttiosuus saa robotin ajamaan nopeammin ja matalampi prosenttiosuus hidastaa sitä.

Jokainen projekti alkaa robotin ajamalla oletusarvoisesti 50 % nopeudella.

Huomautus: Suurempi nopeus saa robotin ajamaan nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus tekee robotista hitaamman, mutta se voi olla tarkempi.

aseta ajonopeus (50) [% v]

Parametrit

Kuvaus

nopeus

Ajonopeus 0–100 %.

yksikkö

Nopeuden yksikkö: %

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny [vasemmalle v] (110) astetta ▶
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aseta ajonopeus (100) [% v]
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

asetettu kääntymisnopeus#

Asetettu kääntymisnopeus -pino-lohko kertoo robotille, kuinka nopeasti sen tulee kääntyä. Korkeampi prosenttiosuus saa robotin kääntymään nopeammin ja matalampi prosenttiosuus hitaammin.

Jokainen projekti alkaa robotin pyöriessä oletusarvoisesti 50 %:n nopeudella.

Huomautus: Suurempi nopeus saa robotin kääntymään nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus saa robotin kääntymään hitaammin, mutta se voi olla tarkempi.

aseta kääntymisnopeus (50) [% v]

Parametrit

Kuvaus

nopeus

Kääntymisnopeus 0–100 %.

yksikkö

Nopeuden yksikkö: %

Esimerkki

kun käynnistetään :: hat events
[Turn to face the Neutral Goal faster.]
aseta kääntymisnopeus (100) [% v]
käänny [vasemmalle v] (110) astetta ▶

aseta ajosuunta#

Suunta on robotin suunta asteina mitattuna. Aseta ajosuunta -pino-lohko muuttaa robotin nykyisen suunnan uudeksi suunta-arvoksi.

Jos esimerkiksi robotti on kääntynyt oikealle ja suunnan asettaminen 0 asteeseen tekee oikealle osoittavasta asennosta uuden 0 asteen. Tämän jälkeen robotti voi kääntyä muihin asentoihin tämän uuden suunnan perusteella.

aseta ajosuuntakulma (0) asteeseen

Parametrit

Kuvaus

otsikko

Robotille asetettava suunta-arvo asteina.

Esimerkki

kun käynnistetään :: hat events
[Make facing the Neutral Goal the new heading.]
aseta ajosuuntakulma (110) asteeseen
käänny suuntakulmaan (0) astetta ▶

asetettu aseman pyörimissuunta#

Rotaatio ilmaisee robotin kääntymismäärän asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. Aseta käyttökierto -pino-lohko muuttaa robotin nykyisen rotaation uuteen arvoon.

Jos robotti on esimerkiksi tehnyt kaksi täyttä käännöstä oikealle, sen kiertoarvo on 720 astetta. Kierron asettaminen 0 asteeseen palauttaa kiertoarvon 720 asteesta 0 asteeseen. Tämän jälkeen robotti voi tehdä kiertoja tämän uuden arvon perusteella.

aseta ajon kierros (0) asteeseen

Parametrit

Kuvaus

kierto

Robotille asetettava kiertoarvo asteina. Tämä voi olla kokonaisluku tai desimaaliluku.

Esimerkki

kun käynnistetään :: hat events
[Make facing the Neutral Goal the new rotation.]
aseta ajon kierros (110) asteeseen
käänny kierrokseen (0) astetta ▶

aseta aseman aikakatkaisu#

Ajoaikakatkaisun asetus -pinolohko asettaa, kuinka monta sekuntia robotti yrittää suorittaa liikkeen loppuun. Jos robotti ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy pinon seuraavaan lohkoon. Tämä estää robottia jumiutumasta liikkeeseen.

aseta ajoaikakatkaisu (1) sekuntia

Parametrit

Kuvaus

aika

Sekuntimäärä, jonka robotti voi yrittää suorittaa liikkeen loppuun. Tämä voi olla kokonaisluku tai desimaaliluku.

Esimerkki

kun käynnistetään :: hat events
[Turn to face the Neutral Goal.]
aseta ajoaikakatkaisu (0.8) sekuntia
käänny [vasemmalle v] (180) astetta ▶

Arvot#

ajo on valmis#

Boolen lohko drive is done raportoi, onko robotti lopettanut liikkumisen. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien toimintojen ajoituksen ohjaamiseen.

  • Tosi — Robotti on lopettanut liikkumisen.

  • Väärin — Robotti liikkuu edelleen.

Tämä lohko toimii yhdessä sellaisten voimansiirtolohkojen kanssa, joilla on ja älä odota -parametri.

<ajaminen valmis?>

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Score a Pin in a Neutral Goal.]
käänny [vasemmalle v] (110) astetta ▶
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ◀ eikä odota
odota kunnes <ajaminen valmis?>
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

asema liikkuu#

Boolen lohko käyttölaite liikkuu raportoi, liikkuuko robotti. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien toimintojen ajoituksen ohjaamiseen.

  • Tosi — Robotti liikkuu.

  • Väärin — Robotti ei liiku.

Tämä lohko toimii yhdessä sellaisten voimansiirtolohkojen kanssa, joilla on ja älä odota -parametri.

<ajaminen käynnissä?>

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Raise the Arm once stopped near the Goal.]
käänny [vasemmalle v] (110) astetta ▶
aja [eteenpäin v] (25) [tuumaa v] ◀ eikä odota
kun <ajaminen käynnissä?>
odota (0.005) sekuntia
Loppu
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶

ajosuunta#

Suunta on robotin suunta asteina mitattuna. Ajosuunnan raportointilohko raportoi suunnan 0–359,99 astetta.

Robotin lähtösuunta on 0 astetta.

(ajosuuntakulma asteina)

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Turn to the Goal, then show heading.]
käänny [oikealle v] (450) astetta ▶
tulosta (ajosuuntakulma asteina) näytöllä ◀ ja siirrä kursori seuraavalle riville

aseman pyöriminen#

Rotaatio ilmaisee robotin kääntymisnopeuden asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. Drive rotation -raportointilohko raportoi robotin nykyisen rotaation.

Oikealle kääntyminen lisää kiertoa ja vasemmalle kääntyminen vähentää sitä. Esimerkiksi kaksi täyttä käännöstä oikealle raportoi 720 asteen kiertoa.

(ajokierros asteina)

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Spin to find a Pin, then show rotation.]
käänny [oikealle v] (450) astetta ▶
tulosta (ajokierros asteina) näytöllä ◀ ja siirrä kursori seuraavalle riville

ajonopeus#

Ajonopeuden raportointilohko raportoi robotin nopeuden.

(ajonopeus yksikköinä [% v])

Parametrit

Kuvaus

yksikkö

Nopeuden yksikkö: %

Esimerkki

kun käynnistetään :: hat events
[Show speed while driving to the Goal.]
aja [eteenpäin v] (150) [mm v] ▶
tulosta (ajonopeus yksikköinä [% v]) näytöllä ◀ ja siirrä kursori seuraavalle riville

Liike#

Flex käyttää ArmMotoria varren nostamiseen ja laskemiseen ja ClawMotoria kynnen avaamiseen ja sulkemiseen.

Jokaisella moottorilla on omat suunta-asetukset. Suunnan nimet kuvaavat, miten moottori liikkuu Flexissä.

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ä [ArmMotor v] [ylös v]

Parametrit

Kuvaus

moottori

Pyörivä moottori: Käsimoottori tai Saksamoottori.

suunta

Moottorin pyörimissuunta:

  • Varsimoottori — ylös tai alas
  • Saksamoottori — auki tai kiinni

Esimerkki

kun käynnistetään
[Raise the Arm before driving toward a Pin.]
pyöritä [ArmMotor v] [ylös v]
odota (1) sekuntia
pysäytä [ArmMotor 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] (90) [astetta v] ▶

Parametrit

Kuvaus

moottori

Pyörivä moottori: Käsimoottori tai Saksamoottori.

suunta

Moottorin pyörimissuunta:

  • Varsimoottori — ylös tai alas
  • Saksamoottori — auki tai kiinni

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
[Raise the Arm to carry the Pin to the Goal.]
pyöritä [ArmMotor v] [ylös v] (800) [astetta 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 ArmMotorin asento on asetettu 0 asteeseen. ClawMotor on poikkeus – se käynnistyy 467 asteessa (täysin suljettuna). 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 (90) [astetta v] ▶

Parametrit

Kuvaus

moottori

Pyörivä moottori: Käsimoottori tai Saksamoottori.

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
[Raise the Arm, then release the Pin.]
pyöritä [ArmMotor v] sijaintiin (800) [astetta v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

pysäytä moottori#

Pysäytä moottori -pino-lohko pysäyttää valitun moottorin.

pysäytä [ArmMotor v]

Parametrit

Kuvaus

moottori

Pysäytettävä moottori: Käsimoottori tai Saksamoottori.

Esimerkki

kun käynnistetään
[Raise the Arm partway to hold the Pin.]
pyöritä [ArmMotor v] [ylös v]
odota (1) sekuntia
pysäytä [ArmMotor 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 [ArmMotor v] nopeus [50] [% v]

Parametrit

Kuvaus

moottori

Moottori, jonka nopeuden asettaminen edellyttää: Käsimoottori tai Saksamoottori.

nopeus

Moottorin pyörimisnopeus. Prosentti käyttää kokonaislukuja väliltä 0–100 %.

yksikkö

Nopeuden yksikkö: %.

Esimerkki

kun käynnistetään
[Raise the Arm fast to release the Pin.]
aseta [ArmMotor v] nopeus [100] [% v]
pyöritä [ArmMotor v] [ylös v] (800) [astetta v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta 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: Käsimoottori tai Saksamoottori.

aika

Sekuntimäärä, jonka moottori voi yrittää suorittaa liikkeen loppuun. Tämä voi olla kokonaisluku tai desimaaliluku.

Esimerkki

kun käynnistetään
[Score a Pin in a Neutral Goal.]
käänny [vasemmalle v] (110) astetta ▶
aseta [ArmMotor v] aikakatkaisu [1] sekuntia
pyöritä [ArmMotor v] [ylös v] (1800) [astetta v] ▶
aja [eteenpäin v] (25) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta 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 ArmMotorin asento on asetettu 0 asteeseen. ClawMotor on poikkeus – se käynnistyy 467 asteessa (täysin suljettuna). Jos moottori pyörii yhden täyden kierroksen eteenpäin, asento kasvaa. Jos moottori pyörii vastakkaiseen suuntaan, asento pienenee.

([ArmMotor v] sijainti yksikköinä [astetta v])

Parametrit

Kuvaus

moottori

Moottori, joka ilmoittaa Käsimoottorin tai Saksamoottorin sijainnin.

yksikkö

Moottorin sijainnin ilmoittava yksikkö: asteina tai käännöksinä.

Esimerkki

kun käynnistetään
[Raise the Arm, then release the Pin.]
kun <([ArmMotor v] sijainti yksikköinä [astetta v]) < (800)>
pyöritä [ArmMotor v] [ylös v]
odota (0.002) sekuntia
Loppu
pysäytä [ArmMotor v]
pyöritä [ClawMotor v] [avata v] (180) [astetta 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 Käsimoottori tai Saksamoottori.

asema

Moottorille asetettava asentoarvo. Asteet voivat käyttää kokonaislukuja. Kierrokset voivat käyttää kokonaislukuja tai desimaaleja.

yksikkö

Sijaintiyksikkö: astetta tai käännökset.

Esimerkki

kun käynnistetään
[Reset encoder, raise Arm, place Pin.]
aseta [ArmMotor v] sijainti (0) [astetta v]
pyöritä [ArmMotor v] sijaintiin (800) [astetta v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta 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 asentoon.

<[ArmMotor v] valmis?>

Parametrit

Kuvaus

moottori

Moottori, joka ilmoittaa, onko se liikkunut loppuun: Käsimoottori tai Saksamoottori.

Esimerkki

kun käynnistetään
[Raise the Arm while driving to the Goal.]
pyöritä [ArmMotor v] sijaintiin (800) [astetta v] ◀ eikä odota
odota (0.1) sekuntia
kun <ei <[ArmMotor v] valmis?>>
aja [eteenpäin v]
odota (0.005) sekuntia
Loppu
pysäytä ajaminen

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 asentoon.

<[ArmMotor v] pyörii?>

Parametrit

Kuvaus

moottori

Moottori, joka ilmoittaa pyörivänsä: Käsimoottori tai Saksamoottori.

Esimerkki

kun käynnistetään
[Raise the Arm while driving to the Goal, then release the Pin.]
pyöritä [ArmMotor v] sijaintiin (800) [astetta v] ◀ eikä odota
odota (0.1) sekuntia
kun <[ArmMotor v] pyörii?>
aja [eteenpäin v] (20) [mm v] ▶
Loppu
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

moottorin nopeus#

Moottorin nopeuden raportointilohko raportoi moottorin pyörimisnopeuden prosentteina välillä -100 % - 100 %.

([ArmMotor v] nopeus yksikköinä [% v] :: custom-motion)

Parametrit

Kuvaus

moottori

Moottori, joka raportoi Käsimoottorin tai Saksamoottorin nopeuden.

yksikkö

Moottorin nopeuden ilmoittava yksikkö: %.

Esimerkki

kun käynnistetään
[Show Arm Motor velocity while raising.]
aseta [ArmMotor v] nopeus [100] [% v]
pyöritä [ArmMotor v] sijaintiin (800) [astetta v] ◀ eikä odota
odota (0.2) sekuntia
tulosta ([ArmMotor v] nopeus yksikköinä [% v] :: custom-motion) näytöllä ◀ ja siirrä kursori seuraavalle riville

Tekoälyvisio#

Toiminnot#

hae objektitietoja#

Hae objektitietoja -lohko suodattaa tekoälynäköanturin 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 AI Vision object property -lohkon avulla. Jos vastaavia objekteja ei havaita, palautetaan tyhjä datajoukko.

Get-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:

  • AI-luokitukset - Tunnistaa RedBluePin-, BlueYellowPin-, RedYellowPin-, YellowPin- ja Cup-pelielementit.
  • AprilTags - Tunnistaa kentältä löytyvät AprilTag-tunnukset.

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Turn to face the Pin.]
aseta kääntymisnopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> 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
keskeytä
Loppu
Loppu
Loppu

Asetukset#

aseta objektikohta#

Aseta objekti -lohko määrittää, mitä kohdetta tietojoukossa käytetään.

Aseta tekoälyvision-objektin kohdepino-lohko.#
aseta [AIVision v] objektin kohde [1]

Parametrit

Kuvaus

esine

Käytettävän kohteen numero tietojoukossa.

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
[Check if any AI Classifications were detected in the last snapshot.]
jos <[AIVision v] objekti on olemassa?> niin
[If any AI Classification is detected, check if any of them are a specific game element.]
jos <[AIVision v] objekti on [RedBluePin v]?> niin
tulosta [RedBluePin detected.] ▶
muuten
tulosta [No RedBluePin detected.] ▶
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
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
[Check if any AI Classifications were detected in the last snapshot.]
jos <[AIVision v] objekti on olemassa?> niin
tulosta ([AIVision v] objektien määrä) ◀ ja siirrä kursori seuraavalle riville
Loppu

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.

AI Vision -objekti on Boolen lohko.#
<[AIVision v] objekti on [RedBluePin v]?>

Parametri

Kuvaus

esine

Mihin esineeseen verrataan:

  • PunainenSininenNeula
  • SininenKeltainenNeula
  • PunainenKeltainenNeula
  • KeltainenNeula
  • Kuppi

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <[AIVision v] objekti on [RedBluePin v]?> niin
tulosta [RedBluePin detected.] ▶
muuten
tulosta [No RedBluePin detected.] ▶
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 annettua tunnusta käyttävä AprilTag-tunniste.

  • Epätosi – 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
[Report if AprilTag 3 is detected.]
hae [AprilTags v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <[AIVision v] objekti on AprilTag [3]?> niin
tulosta [That is 3!] ▶
muuten
tulosta [That isn't 3!] ▶
Loppu
Loppu

objektien määrä#

Objektien lukumäärä-lohko palauttaa tietojoukossa havaittujen objektien lukumäärän kokonaislukuna.

Aseta tekoälyvision-objektin kohdepino-lohko.#
([AIVision] objektien määrä)

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
tulosta ([AIVision v] objektien määrä) ◀ ja siirrä kursori seuraavalle riville
Loppu

objektin ominaisuus#

Jokaiseen get object data -lohkon käytön jälkeen tallennettuun objektiin (alla) sisältyy kuusi ominaisuutta.

AI Vision -objektin ominaisuusraportointilohko.#
([AIVision v] objekti [leveys v])

Kaikki ominaisuusarvot kuvaavat havaitun kohteen sijainnin ja koon tekoälynäköanturin 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#

leveys-ominaisuus raportoi havaitun objektin leveyden pikseleinä kokonaislukuna 1–320.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu leveys.#
([AIVision v] objekti [leveys v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Approach the next Cup and Pin.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] object [width v]) > (140)> then
pysäytä ajaminen
keskeytä
muuten
aja [eteenpäin v]
Loppu
Loppu
Loppu
korkeus#

height-ominaisuus raportoi havaitun objektin korkeuden pikseleinä kokonaislukuna 1–240.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu korkeus.#
([AIVision v] objekti [korkeus v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Approach the next Cup and Pin.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] object [height v]) > (200)> then
pysäytä ajaminen
keskeytä
muuten
aja [eteenpäin v]
Loppu
Loppu
Loppu
keskiosaX#

centerX-ominaisuus raportoi havaitun objektin keskipisteen x-koordinaatin pikseleinä kokonaislukuna väliltä 0–320.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu centerX.#
([AIVision v] objekti [centerX v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Turn and approach the next Cup and Pin.]
aseta kääntymisnopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] objekti [centerX v]) < (140)> then
käänny [vasemmalle v] (5) astetta ▶
muuten
aja [eteenpäin v] (25) [tuumaa v] ▶
keskeytä
Loppu
Loppu
Loppu
keski-Y#

centerY-ominaisuus raportoi havaitun objektin keskipisteen y-koordinaatin pikseleinä kokonaislukuna väliltä 0–240.

AI Vision -objektin ominaisuuspinolohko, jonka parametriksi on asetettu centerY.#
([AIVision v] objekti [centerY v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Approach the next Cup and Pin.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] object [centerY v]) > (230)> then
pysäytä ajaminen
keskeytä
muuten
aja [eteenpäin v]
Loppu
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 ominaisuuspinolohko, jonka parametriksi on asetettu originX.#
([AIVision v] objekti [originX v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Turn and approach the next Cup and Pin.]
aseta kääntymisnopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] objekti [originX v]) < (100)> then
käänny [vasemmalle v] (5) astetta ▶
muuten
aja [eteenpäin v] (25) [tuumaa v] ▶
keskeytä
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 ominaisuuspinolohko, jonka parametriksi on asetettu originY.#
([AIVision v] objekti [originY v])

Esimerkki

kun käynnistetään
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
käänny [vasemmalle v] (70) astetta ▶
[Approach the next Cup and Pin.]
aseta ajonopeus (30) [% v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
if <([AIVision v] object [originY v]) > (140)> then
pysäytä ajaminen
keskeytä
muuten
aja [eteenpäin v]
Loppu
Loppu
Loppu

Tunnistaminen#

Etäisyys#

Etäisyys löysi kohteen#

Boolen Etäisyys havaittu kohde -lohko raportoi, havaitseeko etäisyysanturi tällä hetkellä kohteen 2000 mm:n säteellä.

  • Tosi — Etäisyysanturi havaitsee kohteen.

  • Väärin — Etäisyysanturi ei havaitse kohdetta.

<[FrontDistance v] löysi objektin?>

Parametrit

Kuvaus

etäisyysanturi

Käytettävä etäisyysanturi. Valitse Flexille saatavilla olevista etäisyysantureista.

Esimerkki

kun käynnistetään :: hat events
[Turn until something is detected, then release the Pin.]
käänny [oikealle v]
odota kunnes <[FrontDistance v] löysi objektin?>
pysäytä ajaminen
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

kohteen etäisyys#

Kohteen etäisyyden raportointilohko raportoi etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.

([FrontDistance v] etäisyys yksikköinä [mm v])

Parametrit

Kuvaus

etäisyysanturi

Käytettävä etäisyysanturi. Valitse Flexille saatavilla olevista etäisyysantureista.

yksikkö

Etäisyyden yksikkö: mm tai tuumaa.

Esimerkki

kun käynnistetään :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
aja [eteenpäin v]
odota kunnes <([FrontDistance v] etäisyys yksikköinä [mm v]) < (200)>
pysäytä ajaminen
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

GPS#

GPS-sijainti#

GPS-sijainti-lohko palauttaa robotin kääntymisreferenssipisteen sijaintisiirtymän pellon keskipisteestä GPS (Game Positioning System™) -anturin avulla.

([GPS v] sijainti [X v] yksikköinä [mm v])

Parametrit

Kuvaus

akseli

Mitä akselia raportoidaan:

  • X
  • Y

yksiköitä

Sijaintia edustava yksikkö: mm tai tuumaa

Esimerkki

kun käynnistetään :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
pysäytä ajaminen
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶

GPS-suunta#

GPS-suunta-lohko palauttaa robotin kulloisenkin suunnan GPS (Game Positioning System™) -anturin VEX GPS -kenttäkoodista saamien lukemien perusteella välillä 0,00–359,99 astetta.

([GPS v] suuntakulma asteina)

Parametrit

Kuvaus

Tällä lohkolla ei ole parametreja.

Esimerkki

kun käynnistetään :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
pyöritä [ArmMotor v] [ylös v] (300) [astetta v] ▶
aja [eteenpäin v] (10) [tuumaa v] ▶
pyöritä [ClawMotor v] [avata v] (180) [astetta v] ▶
[Turn left to face the Neutral Goal.]
aseta kääntymisnopeus (30) [% v]
käänny [vasemmalle v]
odota kunnes <([GPS v] suuntakulma asteina) < (18)>
pysäytä ajaminen