Voimansiirto#

Johdanto#

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.

Voimansiirron koodaamiseen on monia tapoja. Alla on luettelo kaikista voimansiirron lohkoista:

Toiminnot — Liikuta ja käännä robottia.

Asetukset — Säädä voimansiirron asetuksia.

Arvot — Tarkista liikkeen tila.

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ääntymismäärän 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

Käynnistyksen yhteydessä rajoittaa ajoajan yhteen sekuntiin ja kääntyy sitten 90 astetta.#
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