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.
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 — Säädä voimansiirron asetuksia.
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 — Tarkista liikkeen tila.
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.
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
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