Robottikohtaiset lohkot#
Johdanto#
Sankarirobotti Dex sisältää kaksi moottorivaihtoehtoa: tekoälynäköanturin, optisen anturin ja pelin paikannusjärjestelmän (GPS) anturin.
Kaikki VEXcoden vakiomalliset VR-blokit ovat käytettävissä V5 25-26 Push Back -leikkikentällä.
Alla on luettelo kaikista saatavilla olevista robottikohtaisista lohkoista:
Voimansiirto – Liikuta ja käännä robottia.
Toiminnot
drive — Liikuttaa robottia eteen- tai taaksepäin ikuisesti.
drive for — Liikuttaa robottia eteen- tai taaksepäin tietyn matkan.
käännös — Kääntää robottia vasemmalle tai oikealle pysyvästi.
käännä astetta — Kääntää robottia vasemmalle tai oikealle tietyn astemäärän.
käänny suuntaamaan — Kääntää robotin tiettyyn suuntaan.
käännä rotaatioon — Kääntää robotin tiettyyn rotaatioon.
lopeta ajaminen — Pysäyttää robotin liikkeen.
Asetukset
set drive velocity — Kertoo robotille, kuinka nopeasti sen tulisi ajaa.
aseta kääntymisnopeus — Kertoo robotille, kuinka nopeasti sen tulee kääntyä.
aseta ajosuunta — Muuttaa robotin nykyisen suunnan uuteen suuntaan.
aseta aseman pyörimissuunta — Muuttaa robotin nykyisen pyörimissuunnan uudeksi pyörimissuunnaksi.
set drive timeout — Asettaa, kuinka monta sekuntia robotti yrittää suorittaa liikkeen loppuun.
Arvot
ajo valmis — Ilmoittaa, onko robotti lopettanut liikkumisen.
käyttölaite liikkuu — Ilmoittaa, liikkuuko robotti.
drive heading — Ilmoittaa robotin nykyisen suunnan 0–359,99 astetta.
drive rotation — Ilmoittaa robotin nykyisen pyörimisnopeuden.
ajonopeus — Ilmoittaa robotin ajonopeuden.
Liike – Liikuta ja seuraa robotin moottoreita.
Toiminnot
pyöritä moottoria – Pyörittää moottoria eteen- tai taaksepäin 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.
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 asento – Ilmoittaa moottorin nykyisen sijainnin.
moottorin nopeus – Ilmoittaa moottorin pyörimisnopeuden prosentteina välillä -100 % - 100 %.
Tekoälynäkö – Kaappaa ja analysoi esineitä tekoälynäköanturilla.
Toiminnot
hae objektitiedot – Tallentaa tietyn allekirjoituksen tiedot, kuten havaitun tekoälyluokituksen.
Asetukset
aseta objekti – Valitsee tietyn objektin luettelosta.
Arvot
objekti on olemassa – Palauttaa, onko luokittelua havaittu.
objekti on – Palauttaa, jos luokittelu havaitaan.
objektien määrä – Palauttaa havaittujen objektien määrän.
objektin ominaisuus – Palauttaa tietoja, kuten:
Anturit – Käytä robotin erilaisia antureita.
Optinen
Optinen anturi löysi kohteen – Ilmoittaa, havaitseeko anturi kohteen kantaman sisällä.
Optinen anturi tunnistaa värin – Ilmoittaa, havaitseeko optinen anturi tietyn värin.
Optinen kirkkaus – Ilmoittaa optisen anturin havaitseman kirkkauden.
Optinen sävy – Ilmoittaa optisen anturin havaitseman sävyn.
kun optinen – Suorittaa liitetyn lohkopinoa, kun optinen anturi havaitsee tai kadottaa objektin.
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 oletusarvoista aloituskohtaa.
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
[Drive forward, then stop.]
aja [eteenpäin v]
odota (2) sekuntia
pysäytä ajaminen
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
[Drive forward.]
aja [eteenpäin v] (500) [mm 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
[Turn right, then stop.]
käänny [oikealle v]
odota (2) sekuntia
pysäytä ajaminen
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
[Turn left, then turn around to the right.]
käänny [vasemmalle v] (90) astetta ▶
käänny [oikealle v] (180) astetta ▶
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
[Turn to face the cardinal directions.]
käänny suuntakulmaan (90) astetta ▶
odota (2) sekuntia
käänny suuntakulmaan (180) astetta ▶
odota (2) sekuntia
käänny suuntakulmaan (270) astetta ▶
odota (2) sekuntia
käänny suuntakulmaan (0) astetta ▶
odota (2) sekuntia
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
[Turn left, then spin in a circle clockwise and face right.]
käänny kierrokseen (-90) astetta ▶
odota (2) sekuntia
käänny kierrokseen (450) astetta ▶
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
[Drive forward, then stop.]
aja [eteenpäin v]
odota [4] sekuntia
pysäytä ajaminen
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
[Drive forward at the default velocity.]
aja [eteenpäin v] (100) [mm v] ▶
odota (1) sekuntia
[Move slower.]
aseta ajonopeus (20) [% v]
aja [eteenpäin v] (100) [mm v] ▶
odota (1) sekuntia
[Move faster.]
aseta ajonopeus (100) [% v]
aja [eteenpäin v] (100) [mm v] ▶
odota (1) sekuntia
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 at default velocity.]
käänny [oikealle v] (100) astetta ▶
odota (1) sekuntia
[Turn slower.]
aseta kääntymisnopeus (20)%
käänny [oikealle v] (100) astetta ▶
odota (1) sekuntia
[Turn faster.]
aseta kääntymisnopeus (100)%
käänny [oikealle v] (100) astetta ▶
odota (1) sekuntia
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
[Turn to the left.]
aseta ajosuuntakulma (90) 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
[Spin counterclockwise two times.]
aseta ajon kierros (720) 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
[Drive forward for 1 second, then turn.]
aseta ajoaikakatkaisu (1) sekuntia
aja [eteenpäin v] (25) [tuumaa v] ▶
käänny [oikealle v] (90) 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
[Start spinning when the drive is complete.]
aja [eteenpäin v] (200) [mm v] ◀ eikä odota
odota kunnes <ajaminen valmis?>
käänny [oikealle v] (360) astetta ▶
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
[Print that the robot is moving while it is still driving.]
aja [eteenpäin v] (200) [mm v] ◀ eikä odota
kun <ajaminen käynnissä?>
tulosta [Still Moving...] ▶
odota (0.1) sekuntia
tyhjennä näyttö
Loppu
tulosta [Done!] ▶
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
[Display the heading after turning.]
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
[Display the rotation after turning.]
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
[Display the velocity after driving.]
aja [eteenpäin v] (200) [mm v] ▶
tulosta (ajonopeus yksikköinä [% v]) näytöllä ◀ ja siirrä kursori seuraavalle riville
Liike#
Dex käyttää imumoottoria vetääkseen palikoita robottiin. Kuljetinmoottori siirtää palikoita imuaukosta robotin yläosaan, josta ne voidaan työntää maaliin.
Jokaisella moottorilla on omat suunta-asetukset. Suunnanimet kuvaavat, miten moottori liikkuu Dexillä.
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ä [ConveyorMotor v] [ylös v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Kuljetinmoottori tai Imumoottori. |
suunta |
Moottorin pyörimissuunta:
|
Esimerkki
kun käynnistetään
[Pick up a second Block.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [350] [mm 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ä [ConveyorMotor v] [ylös v] (90) [astetta v] ▶
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Kuljetinmoottori tai Imumoottori. |
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
[Pick up a second Block.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [350] [mm 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ä [ConveyorMotor v] sijaintiin (90) [astetta v] ▶
Parametrit |
Kuvaus |
|---|---|
moottori |
Pyörivä moottori: Kuljetinmoottori tai Imumoottori. |
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
[Pick up a second Block.]
pyöritä [ConveyorMotor v] sijaintiin [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [350] [mm v] ▶
pysäytä moottori#
Pysäytä moottori -pino-lohko pysäyttää valitun moottorin.
pysäytä [ConveyorMotor v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Pysäytettävä moottori: Kuljettimen moottori tai Sisältömoottori. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [350] [mm v] ▶
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 [ConveyorMotor v] nopeus [50] [% v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jolla asetetaan Kuljetinmoottori tai Sisältömoottori. |
nopeus |
Moottorin pyörimisnopeus. Prosentti käyttää kokonaislukuja väliltä 0–100 %. |
yksikkö |
Nopeuden yksikkö: %. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
aseta [ConveyorMotor v] nopeus [100] [% v]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [400] [mm 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 [ConveyorMotor v] aikakatkaisu [1] sekuntia
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jonka aikakatkaisun asetetaan: Kuljetinmoottori tai Sisältömoottori. |
aika |
Sekuntimäärä, jonka moottori voi yrittää suorittaa liikkeen loppuun. Tämä voi olla kokonaisluku tai desimaaliluku. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
aseta [ConveyorMotor v] aikakatkaisu [0.5] sekuntia
pyöritä [ConveyorMotor v] sijaintiin [1000] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [400] [mm 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.
([ConveyorMotor v] sijainti yksikköinä [astetta v])
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa Kuljetinmoottorin tai Sisältömoottorin sijainnin. |
yksikkö |
Moottorin sijainnin ilmoittava yksikkö: asteina tai käännöksinä. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
kun <([ConveyorMotor v] sijainti yksikköinä [astetta v]) [math_less_than v] [200]>
pyöritä [ConveyorMotor v] [ylös v]
Loppu
pysäytä [ConveyorMotor v]
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [400] [mm 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 [ConveyorMotor v] sijainti (0) [astetta v]
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, jolla asetetaan Kuljetinmoottori tai Sisältömoottori. |
asema |
Moottorin pyörimisasennon arvo. Asteet voivat olla kokonaislukuja. Kierrokset voivat olla kokonaislukuja tai desimaalilukuja. |
yksikkö |
Sijaintiyksikkö: astetta tai käännökset. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
aseta [ConveyorMotor v] sijainti [-200] [astetta v]
pyöritä [ConveyorMotor v] sijaintiin [0] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [400] [mm 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.
<[ConveyorMotor v] valmis?>
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa, onko se liikkunut loppuun: Kuljettimen moottori tai Sisältömoottori. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
pyöritä [ConveyorMotor v] sijaintiin [300] [astetta v] ◀ eikä odota
aja [eteenpäin v]
pyöritä [IntakeMotor v] [imu v]
odota kunnes <[ConveyorMotor v] valmis?>
pysäytä ajaminen
pysäytä [IntakeMotor 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.
<[ConveyorMotor v] pyörii?>
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa pyörivänsä: Kuljettimen moottori tai Sisältömoottori. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
pyöritä [ConveyorMotor v] sijaintiin [300] [astetta v] ◀ eikä odota
odota [0.1] sekuntia
kun <[ConveyorMotor v] pyörii?>
aja [eteenpäin v] [200] [mm v] ▶
pyöritä [IntakeMotor v] [imu v]
moottorin nopeus#
Moottorin nopeuden raportointilohko raportoi moottorin pyörimisnopeuden prosentteina välillä -100 % - 100 %.
([ConveyorMotor v] nopeus yksikköinä [% v] :: custom-motion)
Parametrit |
Kuvaus |
|---|---|
moottori |
Moottori, joka ilmoittaa Kuljetinmoottorin tai Sisältömoottorin nopeuden. |
yksikkö |
Moottorin nopeuden ilmoittava yksikkö: %. |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
aseta [ConveyorMotor v] nopeus [100] [% v]
pyöritä [ConveyorMotor v] sijaintiin [300] [astetta v] ◀ eikä odota
odota [0.2] sekuntia
tulosta ([ConveyorMotor v] nopeus yksikköinä [% v] :: custom-motion) ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [400] [mm v] ▶
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.
hae [AI-luokitukset v] tiedot AI Visionilta
Parametri |
Kuvaus |
|---|---|
allekirjoitus |
Suodattaa tietojoukon sisältämään vain annetun allekirjoituksen tiedot. Käytettävissä olevat allekirjoitukset ovat:
|
Esimerkki
kun käynnistetään
[If an object is detected, pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
odota kunnes <[Bumper v] painettu?>
pysäytä ajaminen
keskeytä
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
[Display what object is farthest away.]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde ([AIVision v] objektien määrä)
tyhjennä kaikki rivit
jos <[AIVision v] objekti on [BlueBlock v]?> niin
tulosta [Blue Block farthest away.] ▶
muuten
tulosta [Red Block farthest away.] ▶
Arvot#
objekti on olemassa#
Objekti on olemassa -lohko palauttaa totuusarvon, joka ilmaisee, onko aineistossa havaittu objektia.
Tosi – Tietojoukko sisältää havaitun objektin.
Epätosi – Tietojoukko ei sisällä havaittuja objekteja.
<[AIVision v] objekti on olemassa?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[If an an object is detected, pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
odota kunnes <[Bumper v] painettu?>
pysäytä ajaminen
keskeytä
objekti on#
AI Vision -objekti on -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 [BlueBlock v]?>
Parametri |
Kuvaus |
|---|---|
esine |
Mihin objektiin verrataan:
|
Esimerkki
kun käynnistetään
[Display what object is farthest away.]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde ([AIVision v] objektien määrä)
tyhjennä kaikki rivit
jos <[AIVision v] objekti on [BlueBlock v]?> niin
tulosta [Blue Block farthest away.] ▶
muuten
tulosta [Red Block farthest away.] ▶
objektien määrä#
Objektien lukumäärä-lohko palauttaa tietojoukossa havaittujen objektien lukumäärän kokonaislukuna.
([AIVision] objektien määrä)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Display what object is farthest away.]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
aseta [AIVision v] objektin kohde ([AIVision v] objektien määrä)
tyhjennä kaikki rivit
jos <[AIVision v] objekti on [BlueBlock v]?> niin
tulosta [Blue Block farthest away.] ▶
muuten
tulosta [Red Block farthest away.] ▶
objektin ominaisuus#
Jokaiseen get object data -lohkon käytön jälkeen tallennettuun objektiin (alla) sisältyy kuusi ominaisuutta.
([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.
([AIVision v] objekti [leveys v])
Esimerkki
kun käynnistetään
[If an an object is detected, approach and pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <([AIVision v] objekti [leveys v]) [math_greater_than v] [65]> niin
pysäytä ajaminen
keskeytä
muuten
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
korkeus#
height-ominaisuus raportoi havaitun objektin korkeuden pikseleinä kokonaislukuna 1–240.
([AIVision v] objekti [korkeus v])
Esimerkki
kun käynnistetään
[If an an object is detected, approach and pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <([AIVision v] objekti [korkeus v]) [math_greater_than v] [55]> niin
pysäytä ajaminen
keskeytä
muuten
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
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
[Pick up a Block from the top left group.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
käänny [vasemmalle v] [80] astetta ▶
aja [eteenpäin v] [100] [mm v] ▶
aseta kääntymisnopeus [20] [% v]
käänny [vasemmalle v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <<[140] [math_less_than v] ([AIVision v] objekti [centerX v])> ja <([AIVision v] objekti [centerX v]) [math_less_than v] [180]>> niin
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
odota kunnes <[Bumper v] painettu?>
pysäytä ajaminen
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
[If an an object is detected, approach and pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <([AIVision v] objekti [centerY v]) [math_greater_than v] [140]> niin
pysäytä ajaminen
keskeytä
muuten
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
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
[Pick up a Block from the top left group.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
käänny [vasemmalle v] [80] astetta ▶
aja [eteenpäin v] [100] [mm v] ▶
aseta kääntymisnopeus [20] [% v]
käänny [vasemmalle v]
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <<[100] [math_less_than v] ([AIVision v] objekti [originX v])> ja <([AIVision v] objekti [originX v]) [math_less_than v] [140]>> niin
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
odota kunnes <[Bumper v] painettu?>
pysäytä ajaminen
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
[If an an object is detected, approach and pick it up.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
ikuisesti
hae [AI-luokitukset v] tiedot [AIVision v]-sensorilta
jos <[AIVision v] objekti on olemassa?> niin
jos <[120] [math_less_than v] ([AIVision v] objekti [originY v])> niin
pysäytä ajaminen
keskeytä
muuten
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
Loppu
Loppu
Tunnistaminen#
Optinen#
Optiikka löysi esineen#
Boolen funktion Optinen anturi löysi kohteen raportoi, havaitseeko optinen anturi kohteen kantaman sisällä.
Tosi — Optinen anturi havaitsee kohteen.
Väärin — Optinen anturi ei havaitse kohdetta.
<[Optical v] löysi objektin?>
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Move the preloaded Block to the top of the Conveyor.]
pyöritä [ConveyorMotor v] [ylös v]
odota kunnes <[Optical v] löysi objektin?>
pysäytä [ConveyorMotor v]
Optinen tunnistaa värin#
Optinen anturi havaitsee värin Boolen lohko raportoi, havaitseeko optinen anturi tietyn värin havaitun sävyarvon perusteella.
Tosi – Anturi havaitsee määritetyn värin.
Väärin – Anturi ei tunnista määritettyä väriä.
<[Optical v] havaitsee [punainen v]?>
Parametrit |
Kuvaus |
|---|---|
väri |
Mitä väriä etsiä:
|
Esimerkki
kun käynnistetään
[Pick up and move a Blue Block to the top of the Conveyor.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [360] [mm v] ▶
pyöritä [ConveyorMotor v] [ylös v]
odota kunnes <[Optical v] havaitsee [sininen v]?>
pysäytä [ConveyorMotor v]
Optinen kirkkaus#
Optisen kirkkauden raportointilohko raportoi, kuinka paljon valoa heijastuu takaisin optiseen anturiin, prosentteina 0–100 %.
([Optical v] kirkkaus %)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Move the preloaded Block to the top of the Conveyor.]
pyöritä [ConveyorMotor v] [ylös v]
odota kunnes <[0] [math_less_than v] ([Optical v] kirkkaus %)>
pysäytä [ConveyorMotor v]
Optinen sävy#
Optisen sävyn raportointilohko raportoi optisen anturin havaitseman sävyn numerona välillä 0–359 astetta.
Sävy on tapa kuvata väriä käyttämällä numeroita väriympyrän ympärillä.

([Optical v] värisävy asteina)
Parametrit |
Kuvaus |
|---|---|
Tällä lohkolla ei ole parametreja. |
Esimerkki
kun käynnistetään
[Pick up and move a Blue Block to the top of the Conveyor.]
pyöritä [ConveyorMotor v] [ylös v] [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v] [360] [mm v] ▶
pyöritä [ConveyorMotor v] [ylös v]
odota kunnes <[240] [math_equal v] ([Optical v] värisävy asteina)>
pysäytä [ConveyorMotor v]
kun optinen#
Kun optinen -hattulohko suorittaa liitteenä olevan lohkopinon aina, kun optinen anturi havaitsee tai kadottaa kohteen.
kun [Optical v] [havaitsee v] objektin
Parametrit |
Kuvaus |
|---|---|
osavaltio |
Kun liitetty lohkopino suoritetaan: detects suoritetaan, kun havaitsematon objekti havaitaan, kun taas loses suoritetaan, kun havaittua objektia ei enää havaita. |
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:
|
yksiköitä |
Sijaintia edustava yksikkö: mm tai tuumaa |
Esimerkki
kun käynnistetään
[Pick up a second Block.]
pyöritä [ConveyorMotor v] sijaintiin [200] [astetta v] ▶
pyöritä [IntakeMotor v] [imu v]
aja [eteenpäin v]
odota kunnes <[-450] [math_greater_than v] ([GPS v] sijainti [Y v] yksikköinä [mm v])>
pysäytä ajaminen
GPS-suunta#
GPS-suunta-lohko palauttaa robotin kulloisenkin suuntatiedon 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
[Score the preloaded Block into a Center Goal.]
käänny [vasemmalle v]
odota kunnes <[40] [math_greater_than v] ([GPS v] suuntakulma asteina)>
aja [eteenpäin v] [1000] [mm v] ▶
käänny [oikealle v]
odota kunnes <([GPS v] suuntakulma asteina) [math_greater_than v] [310]>
aja [taaksepäin v] [200] [mm v] ▶
pyöritä [ConveyorMotor v] [ylös v]