Robottikohtainen Python#
Johdanto#
Sankaribotti Disco sisältää moottoriyksikön, linjanseurantalaitteen, optisen anturin ja GPS-anturin.
Kaikki VEXcoden VR-standardimetodit ovat käytettävissä V5 22-23 Spin Up -leikkikentällä.
Alla on luettelo kaikista käytettävissä olevista robottikohtaisista menetelmistä:
Voimansiirto – Liikuta ja käännä robottia.
Toiminnot
drive— Liikuttaa robottia eteen- tai taaksepäin pysyvästi.drive_for— Liikuttaa robottia eteen- tai taaksepäin tietyn matkan.turn— Kääntää robottia vasemmalle tai oikealle ikuisesti.turn_for— Kääntää robottia vasemmalle tai oikealle tietyn astemäärän.turn_to_heading— Kääntää robotin tiettyyn suuntaan -359 - 359 astetta.turn_to_rotation— Kääntää robotin tiettyyn pyörimissuuntaan.stop— Pysäyttää robotin liikkeen.
Mutaattorit
set_heading— Muuttaa robotin nykyisen suunnan uudeksi suunnaksi.set_rotation— Muuttaa robotin nykyisen pyörimissuunnan uudeksi pyörimissuunnaksi.set_timeout— Asettaa, kuinka kauan robotti yrittää suorittaa liikkeen loppuun.set_drive_velocity— Kertoo robotille, kuinka nopeasti sen tulisi ajaa.set_turn_velocity— Kertoo robotille, kuinka nopeasti sen tulisi kääntyä.
Getters
heading— Palauttaa robotin nykyisen suunnan 0–359,99 astetta.rotation— Palauttaa robotin nykyisen rotaatioasteen.is_done— Palauttaa totuusarvona tiedon siitä, onko robotti lopettanut liikkumisen.is_moving— Palauttaa totuusarvona tiedon siitä, liikkuuko robotti.velocity— Palauttaa robotin ajonopeuden.
Liike – Liikuta ja seuraa robotin moottoriryhmää.
Toiminnot
spin— Pyörittää moottoriryhmää eteen- tai taaksepäin ikuisesti.spin_for— Pyörittää moottoriryhmää tietyn matkan.spin_to_position— Pyörittää moottoriryhmän tiettyyn asentoon.stop— Estää moottoriryhmän pyörimisen.
Mutaattorit
set_position— Muuttaa moottoriryhmän nykyisen sijainnin uuteen arvoon.set_velocity— Kertoo moottoriryhmälle, kuinka nopeasti sen tulisi pyöriä.set_timeout— Määrittää, kuinka kauan motorinen ryhmä yrittää suorittaa liikkeen loppuun.
Getters
is_done— Palauttaa totuusarvona tiedon siitä, onko moottoriryhmä liikkunut loppuun.is_spinning— Palauttaa totuusarvona tiedon siitä, pyöriikö moottoriryhmä.position— Palauttaa moottoriryhmän nykyisen sijainnin.velocity— Palauttaa moottoriryhmän pyörimisnopeuden.
Konsoli – Tulosta konsoliin ja valvo arvoja.
Painaa
brain.screen.print— Näyttää tekstiä, numeroita tai muuttujien arvoja konsolissa.brain.screen.next_row— Siirtää konsolin kohdistimen seuraavan rivin alkuun.brain.screen.clear_screen— Tyhjentää kaikki rivit konsolista.
Näyttö
monitor_variable— Lisää yhden tai useamman ennalta määritetyn muuttujan Monitor-välilehdelle.monitor_sensor— Lisää yhden tai useamman anturin arvon Näyttö-välilehdelle.
Anturit – Käytä robotin erilaisia antureita.
Optinen
is_near_object– Palauttaa, havaitseeko optinen anturi kohteen kantaman sisällä.color– Palauttaa optisen anturin havaitseman värin.brightness– Palauttaa kohteesta heijastuneen valon määrän.hue– Palauttaa optisen anturin havaitseman sävyn.object_detected– Rekisteröi funktion, jota kutsutaan, kun optinen anturi havaitsee kohteen.object_lost– Rekisteröi funktion, jota kutsutaan, kun optinen anturi kadottaa objektin.
GPS
x_position– Palauttaa GPS-anturin nykyisen x-koordinaatin pellolla.y_position– Palauttaa GPS-anturin nykyisen y-koordinaatin pellolla.heading– Palauttaa robotin nykyisen suunta-arvon GPS-anturin lukemien perusteella välillä 0–359 astetta.
Viivan seuranta
reflectivity– Palauttaa pinnalta heijastuneen valon määrän.
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#
drive liikuttaa robottia eteen- tai taaksepäin ikuisesti. Robotti jatkaa liikkumista, kunnes sille annetaan toinen toiminto, kuten kääntyminen tai pysähtyminen.
Usage:
drivetrain.drive(direction)
Parametrit |
Kuvaus |
|---|---|
|
Robotin liikesuunta: |
def main():
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
aja_for#
drive_for liikuttaa robottia eteen- tai taaksepäin tietyn matkan. Projekti odottaa, kunnes robotti on liikkunut loppuun ennen seuraavan koodirivin suorittamista.
Usage:
drivetrain.drive_for(direction, distance, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin liikesuunta: |
|
Robotin ajama matka. Tämä voi olla kokonaisluku |
|
Valinnainen. Etäisyyden yksikkö: |
|
Valinnainen. |
def main():
# Drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM)
drivetrain.drive_for(REVERSE, 200, MM)
# VR threads — Do not delete
vr_thread(main)
käännös#
turn kääntää robottia vasemmalle tai oikealle ikuisesti. Robotti jatkaa kääntymistä, kunnes sille annetaan toinen toiminto, kuten ajaminen tai pysähtyminen.
Usage:
drivetrain.turn(direction)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymissuunta: |
def main():
# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
vuoro_kohtaan#
turn_for 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 seuraava koodirivi suoritetaan.
Usage:
drivetrain.turn_for(direction, angle, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymissuunta: |
|
Robotin kääntymisasteiden määrä. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
|
Valinnainen. |
def main():
# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
käänny_suuntaan#
Suunta on robotin osoittama suunta asteina. turn_to_heading kääntää robotin tiettyyn suuntaan -359 ja 359 asteen välillä. Robotti kääntyy lyhyimpään suuntaan saavuttaakseen kohdesuunnan.
Robotin lähtösuunta on 0 astetta.
Projekti odottaa, kunnes robotti on kääntynyt, ennen kuin seuraava koodirivi suoritetaan.
Usage:
drivetrain.turn_to_heading(angle, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin suunta asteina. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
|
Valinnainen. |
def main():
# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
käännös_kiertoon#
turn_to_rotation kääntää robotin tiettyyn pyörähdyssuuntaan.
Rotaatio ilmaisee robotin kääntymismäärän asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. Rotaatio voidaan asettaa myös set_rotation-metodilla.
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 seuraava koodirivi suoritetaan.
Usage:
drivetrain.turn_to_rotation(angle, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymisaika asteina. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
|
Valinnainen. |
def main():
# Turn left, then spin in a circle
# clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Stop#
stop pysäyttää robotin liikkeen.
Usage:
drivetrain.stop()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
def main():
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
Mutaattorit#
set_header#
Suunta on robotin suunta asteina mitattuna. set_heading muuttaa robotin nykyisen suunnan uuteen suunta-arvoon.
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.
Usage:
drivetrain.set_heading(heading, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotille asetettava suunta-arvo asteina. Tämä voi olla kokonaisluku |
|
Valinnainen. Kulmayksikkö: |
def main():
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
aseta_kierto#
Rotaatio ilmaisee robotin kääntymismäärän asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. set_rotation 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.
Usage:
drivetrain.set_rotation(rotation, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotille asetettava kiertoarvo asteina. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
def main():
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
asetettu_aikakatkaisu#
set_timeout määrittää, kuinka kauan robotti yrittää suorittaa liikkeen loppuun. Jos robotti ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville. Tämä estää robottia jumiutumasta liikkeeseen.
Usage:
drivetrain.set_timeout(value, units)
Parametrit |
Kuvaus |
|---|---|
|
Aika, jonka robotti voi yrittää suorittaa liikkeen loppuun. Tämä voi olla positiivinen kokonaisluku |
|
Aikayksikkö: |
def main():
# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)
# VR threads — Do not delete
vr_thread(main)
aseta_ajonopeus#
set_drive_velocity kertoo robotille, kuinka nopeasti sen tulisi ajaa. Suurempi prosenttiosuus saa robotin ajamaan nopeammin ja pienempi 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.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parametrit |
Kuvaus |
|---|---|
|
Ajonopeus välillä 0–100 %. Tämä voi olla kokonaisluku |
|
Valinnainen. Nopeuden yksikkö: |
def main():
# Drive forward at different velocities
# Default velocity
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
# VR threads — Do not delete
vr_thread(main)
aseta_käännösnopeus#
set_turn_velocity kertoo robotille, kuinka nopeasti sen tulee kääntyä. Suurempi prosenttiosuus saa robotin kääntymään nopeammin ja pienempi 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.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parametrit |
Kuvaus |
|---|---|
|
Kääntymisnopeus väliltä 0–100 %. Tämä voi olla kokonaisluku |
|
Valinnainen. Nopeuden yksikkö: |
def main():
# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 120, DEGREES)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 120, DEGREES)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 120, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Getterit#
otsikko#
Suunta on robotin suunta asteina. heading palauttaa robotin nykyisen suunnan 0–359,99 astetta.
Robotin lähtösuunta on 0 astetta.
Usage:
drivetrain.heading(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Kulmayksikkö: |
def main():
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading(DEGREES))
# VR threads — Do not delete
vr_thread(main)
kierto#
Rotaatio ilmaisee robotin kääntymismäärän asteina. Projektin alussa rotaatioarvoksi asetetaan 0 astetta. rotation palauttaa robotin nykyisen rotaation.
Kääntyminen oikealle lisää kiertoliikettä ja kääntäminen vasemmalle vähentää sitä. Esimerkiksi kahden täyden käännöksen tekeminen oikealle palauttaa 720 asteen kiertoliikkeen.
Usage:
drivetrain.rotation(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Kiertoyksikkö: |
def main():
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation(DEGREES))
# VR threads — Do not delete
vr_thread(main)
on_valmis#
is_done palauttaa totuusarvona tiedon siitä, onko robotti lopettanut liikkumisen. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien toimintojen ajoituksen hallintaan.
True— Robotti on lopettanut liikkumisen.False— Robotti liikkuu edelleen.
Tämä metodi toimii yhdessä seuraavien Drivetrain-metodien kanssa, joilla on wait -parametri: drive_for, turn_for, turn_to_heading ja turn_to_rotation.
Usage:
drivetrain.is_done()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
liikkuu#
is_moving palauttaa totuusarvona tiedon siitä, liikkuuko robotti. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien toimintojen ajoituksen hallintaan.
True— Robotti liikkuu.False— Robotti ei liiku.
Usage:
drivetrain.is_moving()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
nopeus#
velocity palauttaa robotin ajonopeuden prosentteina väliltä -100 % - 100 %.
Usage:
drivetrain.velocity(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Nopeuden yksikkö: |
Esimerkki
def main():
# Display the velocity after driving
drivetrain.drive_for(FORWARD, 150, MM)
brain.screen.print("Velocity: ")
brain.screen.print(drivetrain.velocity(PERCENT))
Liike#
Disco käyttää imumoottoriryhmää imupyörien pyörittämiseen, jotta kiekot voidaan kerätä ja pisteyttää. Samat pyörät voivat pyörittää myös peltojyriä, kun ne osuvat niihin.
Suuntakuvaukset selittävät, miten kukin suunta liikuttaa Discon imumoottoriryhmää.
Toiminnot#
pyörähdys#
spin pyörittää motorista ryhmää eteen- tai taaksepäin ikuisesti. Motorinen ryhmä jatkaa pyörimistä, kunnes sille annetaan toinen toiminto, kuten pyöriminen eri suuntaan tai pysähtyminen.
Usage:
intake_motor_group.spin(direction)
Parametrit |
Kuvaus |
|---|---|
|
Moottoriryhmän pyörimissuunta:
|
def main():
# Spin the intake forward then stop
intake_motor_group.spin(FORWARD)
wait(0.5, SECONDS)
intake_motor_group.stop()
# VR threads — Do not delete
vr_thread(main)
spin_for#
spin_for pyörittää moottoriryhmää tietyn matkan. Pyöritys on suhteessa moottoriryhmän nykyiseen sijaintiin. Projekti odottaa, kunnes moottoriryhmä on pyörinyt loppuun ennen seuraavan koodirivin suorittamista.
Usage:
intake_motor_group.spin_for(direction, distance, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Moottoriryhmän pyörimissuunta:
|
|
Moottoriryhmän pyörimismatka. |
|
Valinnainen. Etäisyyden yksikkö: |
|
Valinnainen.
|
def main():
# Spin the intake forward then stop
intake_motor_group.spin_for(FORWARD, 360, DEGREES)
# VR threads — Do not delete
vr_thread(main)
pyöritä_asentoon#
spin_to_position pyörittää moottoriryhmää tiettyyn asentoon.
Moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna yksiköissä DEGREES tai TURNSYksi kierros vastaa 360 astetta. Projektin alussa moottoriryhmän asento asetetaan 0 asteeseen. Moottoriryhmän asento voidaan asettaa myös käyttämällä set_position-metodia.
Paikka-arvot ovat absoluuttisia. Tämä tarkoittaa, että pyörimissuunta riippuu moottoriryhmän nykyisestä sijainnista.
Esimerkiksi jos moottoriryhmä aloittaa 0 asteesta 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.
Usage:
intake_motor_group.spin_to_position(angle, units, wait)
Parametrit |
Kuvaus |
|---|---|
|
Moottoriryhmän pyörimisasennon arvo. |
|
Valinnainen. Sijaintiyksikkö: |
|
Valinnainen.
|
def main():
# Spin the intake forward then stop
intake_motor_group.spin_to_position(55, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Stop#
stop pysäyttää moottoriryhmän pyörimisen.
Usage:
intake_motor_group.stop()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
def main():
# Spin the intake forward then stop
intake_motor_group.spin(FORWARD)
wait(0.5, SECONDS)
intake_motor_group.stop()
# VR threads — Do not delete
vr_thread(main)
Mutaattorit#
asetettu_sijainti#
Moottoriryhmän asento ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna yksiköissä DEGREES tai TURNSYksi kierros vastaa 360 astetta. set_position muuttaa moottoriryhmän nykyisen sijainnin uuteen arvoon.
Esimerkiksi jos moottoriryhmä on pyörinyt 180 astetta, asennon asettaminen 0 asteeseen palauttaa asennon 180:stä 0 asteeseen. Tämän jälkeen moottoriryhmä voi pyöriä asentoihin tämän uuden arvon perusteella.
Usage:
intake_motor_group.set_position(position, units)
Parametrit |
Kuvaus |
|---|---|
|
Moottoriryhmälle asetettava asentoarvo. |
|
Valinnainen. Sijaintiyksikkö: |
def main():
# Spin the intake forward then stop
intake_motor_group.set_position(90, DEGREES)
intake_motor_group.spin_to_position(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
set_velocity#
set_velocity kertoo moottoriryhmälle pyörimisnopeuden. Suurempi prosenttiosuus saa moottoriryhmän pyörimään nopeammin ja pienempi prosenttiosuus hitaammin.
Jokainen projekti alkaa siten, että jokainen moottoriryhmä pyörii oletusarvoisesti 50 % nopeudella.
Huomautus: Suurempi nopeus saa moottoriryhmän pyörimään nopeammin, mutta se voi olla epätarkempi. Pienempi nopeus saa moottoriryhmän pyörimään hitaammin, mutta se voi olla tarkempi.
Usage:
intake_motor_group.set_velocity(velocity, units)
Parametrit |
Kuvaus |
|---|---|
|
Pyörimisnopeus välillä 0–100 %. Tämä voi olla kokonaisluku |
|
Nopeuden yksikkö: |
def main():
# Spin the intake forward then stop
intake_motor_group.set_velocity(75, PERCENT)
intake_motor_group.spin_to_position(180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
asetettu_aikakatkaisu#
set_timeout määrittää, kuinka kauan moottoriryhmä yrittää suorittaa liikkeen loppuun. Jos moottoriryhmä ei pysty suorittamaan sitä tässä ajassa, se lopettaa yrittämisen ja siirtyy seuraavalle koodiriville. Tämä estää moottoriryhmää jumiutumasta liikkeeseen.
Usage:
intake_motor_group.set_timeout(value, units)
Parametrit |
Kuvaus |
|---|---|
|
Aika, jonka motorinen ryhmä voi yrittää suorittaa liikkeen loppuun. Tämä voi olla positiivinen kokonaisluku |
|
Aikayksikkö: |
def main():
# Spin the intake forward then stop
intake_motor_group.set_timeout(2, SECONDS)
intake_motor_group.spin_to_position(270, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Getterit#
on_valmis#
is_done palauttaa totuusarvona tiedon siitä, onko motorinen ryhmä lopettanut liikkumisen. Tätä voidaan käyttää muiden motorisen ryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen hallintaan.
True— Moottoriryhmä on lopettanut liikkumisen.False— Moottoriryhmä liikkuu edelleen.
Tämä metodi toimii yhdessä seuraavien Motion-metodien kanssa, joilla on wait -parametri: spin_for ja spin_to_position.
Usage:
intake_motor_group.is_done()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
pyörii#
is_spinning palauttaa totuusarvona tiedon siitä, pyöriikö motorinen ryhmä. Tätä voidaan käyttää muiden motorisen ryhmän liikkeen perusteella tapahtuvien toimintojen ajoituksen hallintaan.
True— Moottoriryhmä pyörii.False— Moottoriryhmä ei pyöri.
Tämä metodi toimii yhdessä seuraavien Motion-metodien kanssa, joilla on wait -parametri: spin_for ja spin_to_position.
Usage:
intake_motor_group.is_spinning()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
asema#
Moottoriryhmän sijainti ilmaisee, kuinka pitkälle se on pyörinyt, mitattuna yksiköissä DEGREES tai TURNSYksi kierros vastaa 360 astetta. position palauttaa moottoriryhmän nykyisen sijainnin.
Projektin alussa moottoriryhmän asento on asetettu arvoon 0 astetta. Jos moottoriryhmä pyörii yhden täyden kierroksen eteenpäin, asento on 360 astetta eli 1 kierros. Jos moottoriryhmä pyörii vastakkaiseen suuntaan, asento on negatiivinen.
Usage:
intake_motor_group.position(units)
Parametrit |
Kuvaus |
|---|---|
|
Yksikkö, joka palauttaa moottoriryhmän asennon seuraavasti: |
nopeus#
velocity palauttaa moottoriryhmän pyörimisnopeuden.
Positiivinen arvo tarkoittaa, että moottoriryhmä pyörii eteenpäin. Negatiivinen arvo tarkoittaa, että moottoriryhmä pyörii taaksepäin.
Usage:
intake_motor_group.velocity(units)
Parametrit |
Kuvaus |
|---|---|
|
Palautettava nopeuden yksikkö: |
Konsoli#
Konsoli näyttää tekstiä, numeroita ja muuttujien arvoja projektin ollessa käynnissä. Konsolimetodit voivat myös siirtää kohdistimen uudelle riville, tyhjentää konsolin ja lisätä muuttujia tai anturiarvoja Monitor-välilehdelle.
Painaa#
aivot.näyttö.tulostus#
brain.screen.print näyttää tekstiä, numeroita tai muuttujien arvoja konsolissa käyttäen kohdistimen nykyistä sijaintia.
Käytä brain.screen.next_row, kun haluat seuraavan tulostettavan arvon alkavan uudelta riviltä.
Usage:
brain.screen.print(value)
Parametrit |
Kuvaus |
|---|---|
|
Konsolissa näytettävä teksti, numero tai muuttujan arvo. |
def main():
# Display a message in the Console
brain.screen.print("Hello, robot!")
# VR threads — Do not delete
vr_thread(main)

aivot.näyttö.seuraava_rivi#
brain.screen.next_row siirtää kohdistimen konsolin seuraavan rivin sarakkeeseen 1. Seuraava tulostettava arvo näkyy kyseisellä rivillä.
Usage:
brain.screen.next_row()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
def main():
# Print on two rows
brain.screen.print("Row 1")
brain.screen.next_row()
brain.screen.print("Row 2")
# VR threads — Do not delete
vr_thread(main)

aivot.näyttö.selkeä_näyttö#
brain.screen.clear_screen tyhjentää kaikki rivit konsolista ja siirtää kohdistimen takaisin riville 1.
Usage:
brain.screen.clear_screen()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
def main():
# Display text, then clear it after two seconds
brain.screen.print("This will disappear...")
wait(2, SECONDS)
brain.screen.clear_screen()
# VR threads — Do not delete
vr_thread(main)
Näyttö#
monitori_muuttuja#
monitor_variable lisää yhden tai useamman ennalta määritetyn muuttujan VEXcoden Monitor-välilehdelle. Tämän avulla voit seurata muuttujan arvon muutosta projektin ollessa käynnissä.
Variables must be global for monitor_variable to monitor them successfully. Provide each variable name as a string.
Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)
Parametrit |
Kuvaus |
|---|---|
|
Valvottavan ennalta määritetyn globaalin muuttujan nimi merkkijonona. Jos haluat valvoa useampaa kuin yhtä muuttujaa, erota muuttujien nimet pilkulla. |
def main():
# Monitor the amount of loops
global loops
monitor_variable("loops")
# Drive in a square 3 times
for loops in range(12):
drivetrain.turn_for(RIGHT, 90, DEGREES)
drivetrain.drive_for(FORWARD, 150, MM)
# VR threads — Do not delete
vr_thread(main)
monitorianturi#
monitor_sensor lisää yhden tai useamman anturin arvon VEXcoden Monitor-välilehdelle. Tämän avulla voit seurata anturin arvojen muutoksia projektin ollessa käynnissä.
Anna jokaisen anturin arvo merkkijonona.
Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)
Parametrit |
Kuvaus |
|---|---|
|
The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:
|
def main():
# Monitor the robot's heading
monitor_sensor("drivetrain.heading")
drivetrain.turn_for(RIGHT, 450, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Tunnistaminen#
Optinen#
on_lähellä_esinettä#
is_near_object palauttaa totuusarvon, joka ilmaisee, havaitseeko optinen anturi kohteen kantaman sisällä.
True– Optinen anturi havaitsee kohteen.False– Optinen anturi ei havaitse kohdetta.
Usage:
roller_optical.is_near_object()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
väri#
color palauttaa Color -luokan esiintymän havaitun sävyarvon perusteella. Näitä voidaan verrata ennalta määriteltyihin Color -objekteihin ehdollisten lausekkeiden luomiseksi.
Mahdollisia värejä ovat:
NONERED- Sävyarvo välillä 340° - 20°GREEN- Sävyarvo välillä 80° - 140°BLUE- Sävyarvo välillä 200° - 240°YELLOW- Sävyarvo välillä 40° - 60°ORANGE- Sävyarvo välillä 20° - 40°PURPLE- Sävyarvo välillä 240° - 280°CYAN- Sävyarvo välillä 140° - 200°
Huomautus: Optinen anturi etsii sävyalueita, jotka vastaavat määritettyä väriä. Katso lisätietoja tiettyjen sävyalueiden havaitsemisesta kohdasta hue.
Usage:
roller_optical.color()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
kirkkaus#
brightness palauttaa objektista heijastuneen valon määrän desimaalilukuna (float), joka edustaa prosenttia.
Korkeampi prosenttiosuus tarkoittaa, että enemmän valoa heijastuu takaisin optiseen anturiin. Matalampi prosenttiosuus tarkoittaa, että vähemmän valoa heijastuu takaisin.
Usage:
roller_optical.brightness()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
värisävy#
hue palauttaa havaitun värin sävyn desimaalilukuna (float) välillä 0–359.
Sävy on tapa kuvata väriä käyttämällä numeroita väriympyrän ympärillä.

Usage:
roller_optical.hue()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
havaittu_objekti#
object_detected rekisteröi funktion kutsuttavaksi aina, kun optinen anturi havaitsee uuden objektin.
Usage:
roller_optical.object_detected(callback, arg)
Parametrit |
Kuvaus |
|---|---|
|
Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi havaitsee uuden kohteen. |
|
Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa. |
kadonnut_objekti#
object_lost rekisteröi funktion kutsuttavaksi aina, kun optinen anturi kadottaa havaitun objektin.
Usage:
roller_optical.object_lost(callback, arg)
Parametrit |
Kuvaus |
|---|---|
|
Aiemmin määritelty funktio, joka suoritetaan, kun optinen anturi kadottaa havaitun kohteen. |
|
Valinnainen. tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa. |
GPS#
x-sijainti#
x_position palauttaa kentällä olevan GPS (Game Positioning System™) -anturin nykyisen x-koordinaatin.
Usage:
gps.x_position(units)
Parametrit |
Kuvaus |
|---|---|
yksiköitä |
Siirtymäarvon yksikkö: |
y-sijainti#
y_position palauttaa kentällä olevan GPS (Game Positioning System™) -anturin nykyisen y-koordinaatin.
Usage:
gps.y_position(units)
Parametrit |
Kuvaus |
|---|---|
yksiköitä |
Siirtymäarvon yksikkö: |
otsikko#
heading palauttaa robotin nykyisen suunta-arvon GPS (Game Positioning System™) -anturin lukemien perusteella välillä 0–359 astetta.
Usage:
gps.heading()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
Viivanseuranta#
heijastavuus#
reflectivity palauttaa kokonaisluvun, joka edustaa pinnalta heijastuneen valon määrää prosentteina.
0 % heijastavuus tarkoittaa, että kohde on hyvin tumma.
100 % heijastavuus tarkoittaa, että kohde on erittäin kirkas.
Käyttö:
Tämän metodin kanssa voidaan käyttää yhtä kolmesta käytettävissä olevasta line_tracker-objektista, kuten alla on esitetty:
linjaseurantalaite |
Komento |
|---|---|
|
|
|
|
|
|
Parametri |
Kuvaus |
|---|---|
yksiköitä |
Valinnainen. Heijastavuuden palauttava yksikkö:
|