Voimansiirto#
Johdanto#
VEX V5 -robotti käyttää voimansiirtoa ajamiseen ja kääntymiseen. Voimansiirto koostuu moottoreista ja pyöristä, jotka yhdessä liikuttavat robottia.
Konfiguroitu voimansiirto voi käyttää inertia-anturia, GPS-anturia, gyroskooppianturia tai olla käyttämättä anturia. Kun anturia käytetään, voimansiirto käyttää sitä robotin tarkan liikkumisen ja kääntymisen apuna. Jokaisen projektin alussa voimansiirto kalibroi anturin automaattisesti. Pidä robotti paikallaan kalibroinnin aikana, jotta robotti voi liikkua ja kääntyä oikein.
Voimansiirron koodaamiseen on monia tapoja. Tällä sivulla käytetään esimerkkinä voimansiirron nimeä drivetrain Korvaa se tarvittaessa omalla määritetyllä nimelläsi.
Alla on luettelo kaikista voimansiirtomenetelmistä:
Toiminnot — Liikuta ja käännä robottia.
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. Robotti kääntyy lyhyimpään suuntaan saavuttaakseen kohdesuunnan.turn_to_rotation— Kääntää robotin tiettyyn pyörimissuuntaan.stop— Pysäyttää robotin liikkeen.calibrate_drivetrain– Kalibroi voimansiirron kanssa konfiguroidun anturin.
Mutaattorit — Säädä voimansiirron asetuksia.
set_drive_velocity— Kertoo robotille, kuinka nopeasti sen tulisi ajaa.set_turn_velocity— Kertoo robotille, kuinka nopeasti sen tulisi kääntyä.set_stopping— Kertoo, miten robotti pysähtyy: jarruttamalla, rullaamalla tai pitämällä paikallaan.set_timeout— Määrittää, kuinka monen sekunnin ajan robotti yrittää suorittaa liikkeen loppuun.set_heading— Muuttaa robotin nykyisen suunnan uudeksi suunnaksi.set_rotation— Muuttaa robotin nykyisen pyörimissuunnan uudeksi pyörimissuunnaksi.set_turn_threshold– Kertoo, kuinka lähelle kohdekulmaa robotin on päästävä ennen kuin käännös on valmis.set_turn_constant– Muuttaa robotin käännösten korjausvoimakkuutta.set_turn_direction_reverse– Muuttaa, käännetäänkö älykkään voimansiirron kääntymissuunta.
Getterit — Tarkista voimansiirron tila.
is_done— Palauttaa totuusarvona tiedon siitä, onko robotti lopettanut liikkumisen.is_moving— Palauttaa totuusarvona tiedon siitä, liikkuuko robotti.heading— Palauttaa robotin nykyisen suunnan 0–359,99 astetta.rotation— Palauttaa robotin nykyisen rotaatioasteen.velocity— Palauttaa robotin nopeuden.current— Palauttaa voimansiirron käyttämän sähkövirran määrän.power— Palauttaa, kuinka nopeasti voimansiirto kuluttaa energiaa.torque— Palauttaa voimansiirron käyttämän vääntömomentin.efficiency— Palauttaa, kuinka tehokkaasti voimansiirto käyttää tehoa.temperature— Palauttaa voimansiirron lämpötilan.get_timeout– Palauttaa nykyisen aikakatkaisuasetuksen.
Konstruktorit – Luo ja konfiguroi voimansiirto manuaalisesti.
DriveTrain– Luo voimansiirron ilman inertia-anturia, GPS-anturia tai gyroskooppianturia.SmartDrive– Luo voimansiirron, joka on konfiguroitu inertia-anturilla, GPS-anturilla tai gyroskooppianturilla.
Toiminnot#
drive#
drive liikuttaa robottia eteen- tai taaksepäin ikuisesti. Robotti jatkaa liikkumista, kunnes sille annetaan toinen toiminto, kuten kääntyminen tai pysähtyminen. Kierroslukurajoitusta (RPM) tai astetta sekunnissa koskevaa rajaa muuttaa voimansiirron välityssuhde.
Usage:
drivetrain.drive(direction, velocity, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotin liikesuunta: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)
drive_for#
drive_for liikuttaa robottia eteen- tai taaksepäin tietyn matkan. Projekti odottaa, kunnes robotti on liikkunut, ennen kuin seuraava koodirivi suoritetaan. RPM:n tai asteiden sekunnissa tapauksessa raja muuttuu voimansiirron välityssuhteen mukaan.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin liikesuunta: |
|
Robotin ajama matka. Tämä voi olla kokonaisluku |
|
Valinnainen. Etäisyyden yksikkö: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
|
Valinnainen. |
# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)
turn#
turn kääntää robottia vasemmalle tai oikealle ikuisesti. Robotti jatkaa kääntymistä, kunnes sille annetaan toinen toiminto, kuten ajaminen tai pysähtyminen. RPM:n tai asteiden sekunnissa raja muuttuu voimansiirron välityssuhteen mukaan.
Usage:
drivetrain.turn(direction, velocity, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymissuunta: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
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. RPM- tai astemäärälle sekunnissa rajaa muuttaa voimansiirron välityssuhde.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymissuunta: |
|
Robotin kääntymisasteiden määrä. Tämä voi olla kokonaisluku |
|
Valinnainen. Käännösyksikkö: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
|
Valinnainen. |
# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)
turn_to_heading#
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.
Huomautus: Tämä toiminto on käytettävissä vain, jos voimansiirtoon on määritetty Laitteet-ikkunassa Inertiasensori, GPS-sensori tai Gyrosensori.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin suunta asteina. Tämä voi olla kokonaisluku |
|
Valinnainen. Kulmayksikkö: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
|
Valinnainen. |
# 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)
# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)
turn_to_rotation#
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.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parametrit |
Kuvaus |
|---|---|
|
Robotin kääntymisaika asteina tai käännöksinä. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
|
Valinnainen. |
# 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)
# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)
stop#
stop pysäyttää robotin liikkeen.
Usage:
drivetrain.stop(mode)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Robotin pysähtymistapa:
|
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
calibrate_drivetrain#
calibrate_drivetrain on sisäänrakennettu funktio, joka kalibroi voimansiirron konfiguroidun inertia-anturin, GPS-anturin tai gyroskooppianturin.
Kalibrointi auttaa anturia mittaamaan liikettä oikein. Pidä robotti paikallaan noin 2 sekuntia kalibroinnin aikana. Jos robotti liikkuu kalibroinnin aikana, anturi ei välttämättä mittaa liikettä oikein.
Projekti odottaa kalibroinnin valmistumista ennen seuraavan koodirivin suorittamista.
Huomautus: Tämä toiminto on käytettävissä vain, jos voimansiirtoon on määritetty Laitteet-ikkunassa Inertiasensori, GPS-sensori tai Gyrosensori.
Usage:
calibrate_drivetrain()
Parametrit |
Kuvaus |
|---|---|
Tällä funktiolla ei ole parametreja. |
Mutaattorit#
set_drive_velocity#
set_drive_velocity kertoo robotille, kuinka nopeasti sen tulisi ajaa. Suurempi prosenttiosuus saa robotin ajamaan nopeammin ja pienempi prosenttiosuus hidastamaan. RPM:n tai asteiden sekunnissa rajaa muuttaa voimansiirron välityssuhde.
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 |
|---|---|
|
The velocity to drive with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
set_turn_velocity#
set_turn_velocity kertoo robotille, kuinka nopeasti sen tulee kääntyä. Suurempi prosenttiosuus saa robotin kääntymään nopeammin ja pienempi prosenttiosuus hitaammin. RPM:n tai asteiden sekunnissa osalta rajaa muuttaa voimansiirron välityssuhde.
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 |
|---|---|
|
The velocity to turn with from 0% to 100% when using |
|
Valinnainen. Nopeuden yksikkö: |
# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
set_stopping#
set_stopping määrittää, miten robotti pysähtyy: jarruttamalla, rullaamalla tai pitämällä paikallaan.
Usage:
drivetrain.set_stopping(mode)
Parametrit |
Kuvaus |
|---|---|
|
Robotin pysähtymistapa:
|
Jos tätä menetelmää ei käytetä, robotti käyttää pysähtyessään asetusta BRAKE.
set_timeout#
set_timeout määrittää, kuinka monta sekuntia 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 |
|
Valinnainen. Aikayksikkö: |
set_heading#
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.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.set_heading(heading, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotille asetettava suunta-arvo asteina tai käännöksinä. Tämä voi olla kokonaisluku |
|
Valinnainen. Kulmayksikkö: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
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.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.set_rotation(rotation, units)
Parametrit |
Kuvaus |
|---|---|
|
Robotille asetettava kiertoarvo asteina tai käännöksinä. Tämä voi olla kokonaisluku |
|
Valinnainen. Kiertoyksikkö: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold määrittää, kuinka lähelle kohdekulmaa robotin on päästävä ennen kuin käännös on valmis.
Pienempi kynnys voi tehdä käännöksistä tarkempia, mutta robotin kääntyminen voi kestää kauemmin. Suurempi kynnys voi nopeuttaa käännösten suorittamista, mutta ne voivat olla epätarkempia.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.set_turn_threshold(value)
Parametrit |
Kuvaus |
|---|---|
|
Kääntymiskynnys asteina. Tämä voi olla kokonaisluku |
set_turn_constant#
set_turn_constant muuttaa sitä, kuinka voimakkaasti robotti korjaa käännöksiään.
Suurempi arvo saa robotin korjaamaan käännökset voimakkaammin. Pienempi arvo saa robotin korjaamaan käännökset pehmeämmin. Oletusarvo on 1,0.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.set_turn_constant(value)
Parametrit |
Kuvaus |
|---|---|
|
Käännösvakio. Tämä voi olla desimaaliluku ( |
set_turn_direction_reverse#
set_turn_direction_reverse muuttaa, käännetäänkö älykkään voimansiirron kääntymissuunta.
Tätä voidaan käyttää, jos voimansiirto pyörii odotettua vastakkaiseen suuntaan manuaalisen koodikonfiguroinnin jälkeen. Tämä menetelmä toimii samalla tavalla kuin parametrin reverse asettaminen arvoon True rakennettaessa SmartDrive -moottoria.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.set_turn_direction_reverse(value)
Parametrit |
Kuvaus |
|---|---|
|
Käännetäänkö älykkään voimansiirron kääntymissuunta: |
Getterit#
is_done#
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. |
is_moving#
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.
Käyttö:
drivetrain.is_moving()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
heading#
Suunta on robotin suunta asteina. heading palauttaa robotin nykyisen suunnan 0–359,99 astetta.
Robotin lähtösuunta on 0 astetta.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.heading(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Palautettava yksikkö suuntaa varten: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
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.
Huomautus: Tämä menetelmä on käytettävissä vain, jos voimansiirto on määritetty Laitteet-ikkunassa Inertiasensorilla, GPS-sensorilla tai Gyrosensorilla.
Usage:
drivetrain.rotation(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Yksikkö, joka palauttaa kierron: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
velocity palauttaa robotin ajonopeuden.
Se voi palauttaa nopeuden prosentteina välillä -100 % - 100 %, yksiköissä RPMtai yksiköissä VelocityUnits.DPS (astetta sekunnissa). Positiivinen arvo tarkoittaa, että robotti ajaa eteenpäin. Negatiivinen arvo tarkoittaa, että robotti ajaa taaksepäin.
Usage:
drivetrain.velocity(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Nopeuden yksikkö: |
current#
current palauttaa voimansiirron käyttämän sähkövirran määrän ampeereina (ampeereina). Virta on voimansiirron läpi virtaavan sähkön määrä.
Korkeampi virta-arvo tarkoittaa, että voimansiirto käyttää enemmän sähkövirtaa. Näin voi käydä, kun robotti työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää tarkistamaan, onko voimansiirrossa ongelmia liikkeen aikana. Jos virta pysyy korkeana, voimansiirto voi lämmetä tai käyttää tehoa tehottomammin.
Usage:
drivetrain.current(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Virran palauttamiseen käytettävä yksikkö: |
power#
power palauttaa voimansiirron käyttämän tehon watteina mitattuna. Teho näyttää, kuinka nopeasti voimansiirto kuluttaa energiaa.
Suurempi tehoarvo tarkoittaa, että voimansiirto käyttää energiaa nopeammin. Näin voi käydä, kun robotti työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää liikkeiden vertailuun tai voimansiirron ongelmien tarkistamiseen. Jos teho pysyy korkeana, voimansiirto voi lämmetä tai käyttää energiaa tehottomammin.
Usage:
drivetrain.power()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
torque#
Vääntömomentti osoittaa, kuinka voimakkaasti voimansiirto pystyy työntämään tai vetämään pyörien pyöriessä.
torque palauttaa voimansiirron käyttämän vääntömomentin, mitattuna newtonmetreinä (Nm) tai tuumapaunoina (InLb).
Suurempi vääntömomentti tarkoittaa, että voimansiirto työntää tai vetää kovemmin. Näin voi käydä, kun robotti työntää jotakin esinettä vasten tai yrittää liikkua jumissa ollessaan.
Tätä voidaan käyttää tarkistamaan, onko voimansiirrossa ongelmia, tai vertailemaan, kuinka paljon työntövoimaa eri liikkeet tarvitsevat.
Usage:
drivetrain.torque(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Vääntömomentin palauttamiseen käytettävä yksikkö: |
efficiency#
efficiency palauttaa voimansiirron tehokkuuden prosentteina väliltä 0–100 %.
Hyötysuhde osoittaa, kuinka paljon voimansiirron tehosta käytetään liikkumiseen. Korkeampi hyötysuhdearvo tarkoittaa, että enemmän voimansiirron tehoa käytetään liikkumiseen. Alhaisempi hyötysuhdearvo voi ilmetä, kun voimansiirto työskentelee kovasti, mutta ei liiku paljon, kuten silloin, kun robotti on jumissa tai työntää jotakin esinettä vasten.
Tätä voidaan käyttää liikkeiden vertailuun tai tarkistamaan, tuhlaako voimansiirto tehoa sen sijaan, että käyttäisi sitä liikkumiseen.
Usage:
drivetrain.efficiency()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
temperature#
temperature palauttaa voimansiirron keskilämpötilan valitussa lämpötilayksikössä.
Lämpötila osoittaa, kuinka lämpimiä voimansiirtomoottorit ovat. Korkeampi lämpötila tarkoittaa, että moottorit lämpenevät käytön aikana. Moottorien lämpötilan tulisi pysyä alle 55 °C:ssa, jotta ne toimivat täydellä teholla.
Jos moottorit kuumenevat liikaa, ne laskevat maksimivirtaansa suojatakseen itseään. 70 °C:ssa moottorit pysähtyvät, kunnes ne jäähtyvät.
Tätä voidaan käyttää tarkistamaan, kuumeneeko voimansiirto liikaa toistuvien liikkeiden, pitkien ajojen tai esinettä vasten painautuessa.
Usage:
drivetrain.temperature(units)
Parametrit |
Kuvaus |
|---|---|
|
Valinnainen. Lämpötilan palautusyksikkö: |
get_timeout#
get_timeout palauttaa nykyisen asetetun timeout -arvon millisekunteina.
Usage:
drivetrain.get_timeout()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
Rakentajat#
Constructors are used to manually create DriveTrain and SmartDrive objects, which are necessary for configuring a drivetrain outside of VEXcode.
Voimansiirron luomiseksi on luotava vähintään kaksi Motor tai MotorGroup -objektia.
DriveTrain#
DriveTrain luo voimansiirron ilman inertia-anturia, GPS-anturia tai gyroskooppianturia.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametri |
Kuvaus |
|---|---|
|
Vasen moottori tai moottoriryhmä. |
|
Oikea moottori tai moottoriryhmä. |
|
Valinnainen. Voimansiirron pyörien ympärysmitta. Oletusarvo on 300 millimetriä. |
|
Valinnainen. Vasemman ja oikean pyörän välinen leveys. Oletusarvo on 320 millimetriä. |
|
Valinnainen. Etu- ja takapyörien välinen etäisyys. Oletusarvo on 320 millimetriä. |
|
Valinnainen. Yksikkö arvoille |
|
Valinnainen. Välityssuhde, jota käytetään ajoetäisyyksien säätämiseen, jos vaihteita käytetään. Tämä voi olla kokonaisluku |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)
# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)
SmartDrive#
SmartDrive luo voimansiirron, joka on konfiguroitu inertia-anturilla, GPS-anturilla tai gyroskooppianturilla.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametri |
Kuvaus |
|---|---|
|
Vasen moottori tai moottoriryhmä. |
|
Oikea moottori tai moottoriryhmä. |
|
Voimansiirron käyttämä inertia-anturi, GPS-anturi tai gyroskooppianturi. |
|
Valinnainen. Voimansiirron pyörien ympärysmitta. Oletusarvo on 300 millimetriä. |
|
Valinnainen. Vasemman ja oikean pyörän välinen leveys. Oletusarvo on 320 millimetriä. |
|
Valinnainen. Etu- ja takapyörien välinen etäisyys. Oletusarvo on 320 millimetriä. |
|
Valinnainen. Yksikkö arvoille |
|
Valinnainen. Välityssuhde, jota käytetään ajoetäisyyksien säätämiseen, jos vaihteita käytetään. Tämä voi olla kokonaisluku |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)