Pavarų dėžė#
Įvadas#
VEX IQ (2-osios kartos) robotas važiuoja ir pasisuka naudodamas pavaros mechanizmą. Pavaros mechanizmą sudaro varikliai ir ratai, kurie kartu judina robotą.
Sukonfigūruota pavaros sistema gali naudoti prijungtą giroskopinį jutiklį, smegenyse integruotą inercinį jutiklį arba jokio jutiklio. Kai naudojamas jutiklis, pavaros sistema jį naudoja, kad padėtų robotui tiksliai judėti ir pasisukti. Kiekvieno projekto pradžioje pavaros sistema automatiškai kalibruoja jutiklį. Kalibravimo metu robotą reikia laikyti nejudant apie 2 sekundes, kad jis galėtų tinkamai judėti ir pasisukti.
Šiame puslapyje kaip pavaros mechanizmo pavadinimo pavyzdys naudojamas drivetrain Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.
Yra daug būdų, kaip koduoti pavaros sistemą. Žemiau pateikiamas visų pavaros sistemų metodų sąrašas:
Veiksmai — Judinti ir pasukti robotą.
drive— Robotas juda pirmyn arba atgal amžinai.drive_for— Robotas juda pirmyn arba atgal tam tikru atstumu.turn— Robotas visam laikui pasukamas į kairę arba į dešinę.turn_for— Robotas pasukamas į kairę arba į dešinę tam tikru laipsnių skaičiumi.turn_to_heading– pasuka robotą tam tikra kryptimi nuo -359 iki 359 laipsnių. Robotas pasisuks trumpiausia kryptimi, kad pasiektų tikslinę kryptį.turn_to_rotation— Įjungia roboto sukimąsi konkrečia kryptimi.stop— Sustabdo roboto judėjimą.calibrate_drivetrain— Kalibruoja jutiklį, konfigūruotą su pavaros sistema.
Mutatoriai – reguliuojami pavaros nustatymai.
set_drive_velocity— Nurodo robotui, kokiu greičiu važiuoti.set_turn_velocity— Nurodo robotui, kaip greitai jis turi suktis.set_stopping— Nurodo, kaip robotas nustos judėti: stabdydamas, riedėdamas iš vietos arba palaikydamas.set_timeout— Nustato, kiek laiko robotas bandys užbaigti judesį.set_heading— Pakeičia dabartinę roboto kryptį į naują.set_rotation— Pakeičia dabartinį roboto sukimąsi į naują.set_turn_threshold— Nurodo, kiek arti robotas turi priartėti prie tikslinio kampo, kad posūkis būtų baigtas.set_turn_constant— Pakeičia, kaip stipriai robotas koreguoja savo posūkius.
Getteriai – Judėjimo būsenos patikrinimas.
heading— Grąžina dabartinę roboto kryptį nuo 0 iki 359 laipsnių.rotation— Grąžina dabartinį roboto sukimąsi.velocity— Grąžina roboto važiavimo greitį.current— Grąžina, kiek elektros srovės naudoja pavaros sistema.is_moving— Grąžina, ar robotas juda, kaip loginę reikšmę.is_done— Grąžina, ar robotas baigė judėti, kaip loginę reikšmę.is_turning— Grąžina, ar robotas sukasi, kaip loginę reikšmę.power– Grąžina, kaip greitai pavaros sistema eikvoja energiją.torque— Grąžina, kiek sukimo momento naudoja pavaros sistema.efficiency– Grąžina, kaip efektyviai pavaros sistema naudoja galią.temperature— Grąžina pavaros sistemos įšilimo rodiklį.
Konstruktoriai – rankiniu būdu sukurkite ir konfigūruokite pavaros sistemą.
DriveTrain– Sukuria pavarų dėžę be giroskopinio ar inercinio jutiklio.SmartDrive“ – Sukuria pavaros sistemą su giroskopiniu arba inerciniu jutikliu.
Veiksmai#
drive#
drive robotą judina pirmyn arba atgal amžinai. Robotas judės tol, kol jam bus duotas kitas veiksmas, pvz., pasisukti arba sustoti.
Usage:
drivetrain.drive(direction, velocity, units)
Parametrai |
Aprašymas |
|---|---|
|
Roboto judėjimo kryptis: |
|
Pasirinktinai. Važiavimo greitis nuo 0 % iki 100 %, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive slowly in reverse then stop
drivetrain.drive(REVERSE, 20, PERCENT)
wait(2, SECONDS)
drivetrain.stop()
drive_for#
drive_for robotą judina pirmyn arba atgal tam tikru atstumu. Projektas lauks, kol robotas baigs judėti, prieš paleidžiant kitą kodo eilutę.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parametrai |
Aprašymas |
|---|---|
|
Roboto judėjimo kryptis: |
|
Atstumas, kurį nuvažiuoja robotas. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Atstumo vienetas: |
|
Pasirinktinai. Važiavimo greitis nuo 0 % iki 100 %, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
|
Pasirinktinai. |
# Drive forward and backward
drivetrain.drive_for(FORWARD, 10)
drivetrain.drive_for(REVERSE, 10)
# Quickly drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM, 100, PERCENT)
drivetrain.drive_for(REVERSE, 200, MM, 100, PERCENT)
turn#
turn suka robotą į kairę arba į dešinę amžinai. Robotas suksis tol, kol jam bus duotas kitas veiksmas, pavyzdžiui, važiuoti arba sustoti.
Usage:
drivetrain.turn(direction, velocity, units)
Parametrai |
Aprašymas |
|---|---|
|
Roboto sukimosi kryptis: |
|
Pasirinktinai. Sukimosi greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()
# Quickly turn right and left, then stop
drivetrain.turn(RIGHT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.turn(LEFT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
turn_for pasuka robotą į kairę arba į dešinę tam tikrą laipsnių arba posūkių skaičių. Posūkis yra santykinis dabartinei roboto padėčiai. Projektas lauks, kol robotas baigs pasisukti, prieš paleidžiant kitą kodo eilutę.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parametrai |
Aprašymas |
|---|---|
|
Roboto sukimosi kryptis: |
|
Roboto apsisukimo dydis. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Posūkio vienetas: |
|
Pasirinktinai. Sukimosi greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
|
Pasirinktinai. |
# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)
# Quickly turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES, 100, PERCENT)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES, 100, PERCENT)
turn_to_heading#
Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. turn_to_heading pasuka robotą tam tikra kryptimi nuo -359 iki 359 laipsnių. Robotas pasuks trumpiausia kryptimi, kad pasiektų tikslinę kryptį.
Roboto pradinė kryptis yra 0 laipsnių.
Projektas lauks, kol robotas baigs suktis, prieš paleidžiant kitą kodo eilutę.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parametrai |
Aprašymas |
|---|---|
|
Kryptis, kuria robotas turėtų pasukti, laipsniais. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Antraštės vienetas: |
|
Pasirinktinai. Sukimosi greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
|
Pasirinktinai. |
# 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 pasuka robotą į tam tikrą sukimosi kryptį.
Sukimas – tai roboto posūkio kampas, matuojamas laipsniais arba posūkiais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. Sukimą taip pat galima nustatyti naudojant set_rotation metodą.
Sukimosi vertės yra absoliučios. Tai reiškia, kad posūkio kryptis priklauso nuo roboto dabartinio sukimosi. Sukant į dešinę, sukimasis padidėja, o sukant į kairę – sumažėja.
Pavyzdžiui, jei robotas pradeda judėti nuo 0 laipsnių ir jūs pasisukate 720 laipsnių kampu, jis du kartus pasisuks į dešinę. Jei tada pasisuksite 360 laipsnių kampu, jis vieną kartą pasisuks į kairę, nes 360 laipsnių yra mažiau nei 720.
Projektas lauks, kol robotas baigs suktis, prieš paleidžiant kitą kodo eilutę.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parametrai |
Aprašymas |
|---|---|
|
Pasukimosi vertė laipsniais arba posūkiais, kuriais robotas pasisuks. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Pasukimo vienetas: |
|
Pasirinktinai. Sukimosi greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
|
Pasirinktinai. |
# 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 sustabdo roboto judėjimą.
Usage:
drivetrain.stop(mode)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Kaip robotas sustos:
|
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward and coast to a stop
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop(COAST)
calibrate_drivetrain#
calibrate_drivetrain yra integruota funkcija, kuri kalibruoja giroskopinį jutiklį arba inercinį jutiklį, konfigūruotą su pavaros sistema.
Kalibravimas padeda jutikliui teisingai išmatuoti judėjimą. Kalibravimo metu robotą laikykite nejudėdami maždaug 2 sekundes. Jei robotas juda kalibravimo metu, jutiklis gali neteisingai išmatuoti judėjimą.
Projektas lauks, kol bus atliktas kalibravimas, prieš paleidžiant kitą kodo eilutę.
Pastaba: Šios funkcijos negalima naudoti VS kodo viduje.
Usage:
calibrate_drivetrain()
Parametrai |
Aprašymas |
|---|---|
Ši funkcija neturi parametrų. |
Mutatoriai#
set_drive_velocity#
set_drive_velocity nurodo robotui, kokiu greičiu važiuoti. Didesnis procentas leidžia robotui važiuoti greičiau, o mažesnis – lėčiau.
Kiekvienas projektas prasideda nuo to, kad robotas pagal numatytuosius nustatymus važiuoja 50 % greičiu.
Pastaba: Didesnis greitis leidžia robotui važiuoti greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia robotui važiuoti lėčiau, bet gali būti tiksliau.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parametrai |
Aprašymas |
|---|---|
|
Važiavimo greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
# 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)
set_turn_velocity#
set_turn_velocity nurodo robotui, kaip greitai jis turi suktis. Didesnis procentas leidžia robotui suktis greičiau, o mažesnis – lėčiau.
Kiekvienas projektas prasideda nuo to, kad robotas pagal numatytuosius nustatymus sukasi 50 % greičiu.
Pastaba: Didesnis greitis leidžia robotui sukasi greičiau, bet gali būti mažiau tikslus. Mažesnis greitis leidžia robotui sukasi lėčiau, bet gali būti tiksliau.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parametrai |
Aprašymas |
|---|---|
|
Sukimosi greitis nuo 0% iki 100%, kai naudojama |
|
Pasirinktinai. Greičio vienetas: |
# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 360)
set_stopping#
set_stopping nustato, kaip robotas sustabdys judėjimą: stabdydamas, riedėdamas iš vietos arba palaikydamas vietoje.
Usage:
drivetrain.set_stopping(mode)
Parametrai |
Aprašymas |
|---|---|
|
Kaip robotas sustos:
|
Jei šis metodas nenaudojamas, robotas stabdydamas naudos BRAKE.
set_timeout#
set_timeout nustato, kiek laiko robotas bandys užbaigti judesį. Jei robotas negali užbaigti per tą laiką, jis nustos bandyti ir pereis prie kitos kodo eilutės. Tai neleidžia robotui užstrigti ties judesiu.
Usage:
drivetrain.set_timeout(value, units)
Parametrai |
Aprašymas |
|---|---|
|
Laikas, per kurį robotas gali bandyti užbaigti judesį. Tai gali būti teigiamas sveikasis skaičius |
|
Pasirinktinai. Laiko vienetas: |
# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)
set_heading#
Kryptis – tai roboto judėjimo kryptis, matuojama laipsniais. set_heading pakeičia dabartinę roboto kryptį į naują krypties reikšmę.
Pavyzdžiui, jei robotas pasisuko veidu į dešinę, nustačius 0 laipsnių kryptį, ta nukreipta į dešinę pozicija tampa nauja 0 laipsnių. Tada robotas gali pasisukti į kitas pozicijas, remdamasis ta nauja kryptimi.
Usage:
drivetrain.set_heading(heading, units)
Parametrai |
Aprašymas |
|---|---|
|
Roboto krypties reikšmė laipsniais arba posūkiais. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Krypties vienetas: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
Sukimas rodo, kiek robotas pasisuko, matuojamas laipsniais arba posūkiais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. set_rotation pakeičia dabartinę roboto sukimosi vertę į naują.
Pavyzdžiui, jei robotas atliko du pilnus posūkius į dešinę, jo sukimosi vertė bus 720 laipsnių. Nustačius sukimąsi į 0 laipsnių, sukimasis bus atstatytas iš 720 į 0 laipsnių. Tada robotas galės atlikti sukimus pagal tą naują vertę.
Usage:
drivetrain.set_rotation(rotation, units)
Parametrai |
Aprašymas |
|---|---|
|
Roboto sukimosi vertė laipsniais arba posūkiais. Tai gali būti sveikasis skaičius |
|
Pasirinktinai. Pasukimo vienetas: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold nustato, kiek arti robotas turi priartėti prie tikslinio kampo, kad posūkis būtų baigtas.
Mažesnis slenkstis gali padėti tiksliau atlikti posūkius, tačiau robotui gali prireikti daugiau laiko, kad baigtų posūkį. Didesnis slenkstis gali padėti posūkiams baigtis greičiau, tačiau jie gali būti mažiau tikslūs.
Usage:
drivetrain.set_turn_threshold(value)
Parametrai |
Aprašymas |
|---|---|
|
Posūkio slenkstis laipsniais. Tai gali būti sveikasis skaičius |
# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)
set_turn_constant#
set_turn_constant pakeičia, kaip stipriai robotas koreguoja savo posūkius.
Didesnė reikšmė robotui posūkius koreguoja stipriau. Mažesnė reikšmė – posūkius koreguoja švelniau. Numatytoji reikšmė yra 1,0.
Usage:
drivetrain.set_turn_constant(value)
Parametrai |
Aprašymas |
|---|---|
|
Posūkio konstanta. Tai gali būti dešimtainė reikšmė ( |
# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)
Getteriai#
heading#
Kryptis – tai roboto pasukimo kryptis, matuojama laipsniais. heading grąžina dabartinę roboto kryptį nuo 0 iki 359 laipsnių.
Roboto pradinė kryptis yra 0 laipsnių.
Usage:
drivetrain.heading(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Vienetas, kuriuo reikia grąžinti kryptį: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
Sukimas rodo, kiek robotas pasisuko, matuojamas laipsniais arba posūkiais. Projekto pradžioje sukimosi vertė nustatoma į 0 laipsnių. rotation grąžina dabartinį roboto sukimąsi.
Sukant į dešinę, sukimasis padidėja, o sukant į kairę – sumažėja. Pavyzdžiui, padarius du pilnus posūkius į dešinę, sukimasis bus 720 laipsnių.
Usage:
drivetrain.rotation(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Vienetas, kuriuo grąžinamas sukimasis: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
velocity grąžina roboto važiavimo greitį.
Jis gali grąžinti greitį procentais nuo -100 % iki 100 %, RPM nuo -127 aps./min. iki 127 aps./min. arba VelocityUnits.DPS (laipsniais per sekundę). Teigiama reikšmė reiškia, kad robotas važiuoja į priekį. Neigiama reikšmė reiškia, kad robotas važiuoja atbuline eiga.
Usage:
drivetrain.velocity(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Grąžinamo greičio vienetas: |
current#
current grąžina pavaros naudojamos elektros srovės kiekį, matuojamą amperais. Srovė yra per pavarą tekančios elektros kiekis.
Didesnė srovės vertė reiškia, kad pavaros sistema naudoja daugiau elektros srovės. Taip gali nutikti, kai robotas stumia objektą arba bando pajudėti, kai yra užstrigęs.
Tai gali būti naudojama norint patikrinti, ar pavaros sistemai kyla problemų judesio metu. Jei srovė išlieka didelė, pavaros sistema gali įkaisti arba ne taip efektyviai naudoti energiją.
Usage:
drivetrain.current(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Srovės matavimo vienetas: |
is_moving#
is_moving grąžina, ar robotas juda, kaip loginę reikšmę. Tai gali būti naudojama kitų veiksmų, pagrįstų roboto judėjimu, laikui valdyti.
True— Robotas juda.False— Robotas nejuda.
Šis metodas veikia kartu su šiais „Drivetrain“ metodais, turinčiais parametrą wait : drive_for, turn_for, turn_to_heading ir turn_to_rotation.
Usage:
drivetrain.is_moving()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
is_done#
is_done grąžina, ar robotas baigė judėti, kaip loginę reikšmę. Tai gali būti naudojama kitų veiksmų, pagrįstų roboto judėjimu, laikui valdyti.
True— Robotas baigė judėti.False— Robotas vis dar juda.
Šis metodas veikia kartu su šiais „Drivetrain“ metodais, turinčiais parametrą wait : drive_for, turn_for, turn_to_heading ir turn_to_rotation.
Usage:
drivetrain.is_done()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
is_turning#
is_turning grąžina, ar robotas sukasi, kaip loginę reikšmę. Tai gali būti naudojama kitų veiksmų, pagrįstų roboto judėjimu, laikui valdyti.
True— Robotas sukasi.False— Robotas nesisuka.
Šis metodas veikia kartu su šiais „Drivetrain“ metodais, turinčiais parametrą wait : turn_for, turn_to_heading ir turn_to_rotation.
Usage:
drivetrain.is_turning()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
power#
power grąžina pavaros sunaudojamą galią, matuojamą vatais. Galia rodo, kaip greitai pavara eikvoja energiją.
Didesnė galios vertė reiškia, kad pavaros sistema energiją naudoja greičiau. Tai gali nutikti, kai robotas stumia objektą arba bando pajudėti, kai yra įstrigęs.
Tai galima naudoti judesiams palyginti arba patikrinti, ar pavaros sistema veikia sunkiai. Jei galia išlieka didelė, pavaros sistema gali įkaisti arba ne taip efektyviai naudoti energiją.
Usage:
drivetrain.power()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
torque#
Sukimo momentas parodo, kaip stipriai transmisija gali stumti arba traukti, kai ratai sukasi.
torque grąžina pavaros naudojamą sukimo momentą, matuojamą niutonmetrais (Nm) arba coliais-svarais (InLb).
Didesnė sukimo momento vertė reiškia, kad pavaros sistema stumia arba traukia stipriau. Tai gali nutikti, kai robotas stumia objektą arba bando pajudėti, kai yra užstrigęs.
Tai galima naudoti norint patikrinti, ar pavaros sistema veikia sunkiai, arba palyginti, kiek stūmimo reikia skirtingiems judesiams.
Usage:
drivetrain.torque(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Sukimo momento grąžinimo vienetas: |
efficiency#
efficiency grąžina, kaip efektyviai pavaros sistema naudoja energiją, procentais nuo 0 % iki 100 %.
Efektyvumas rodo, kiek pavaros galios sunaudojama judėjimui. Didesnė efektyvumo vertė reiškia, kad daugiau pavaros galios sunaudojama judėjimui. Mažesnė efektyvumo vertė gali būti, kai pavara dirba intensyviai, bet juda mažai, pavyzdžiui, kai robotas užstringa arba stumia į objektą.
Tai gali būti naudojama judesiams palyginti arba patikrinti, ar pavarų sistema nešvaisto energijos, užuot ją naudojusi judėjimui.
Usage:
drivetrain.efficiency()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
temperature#
temperature grąžina vidutinę pavaros agregato temperatūrą pasirinktu temperatūros vienetu.
Temperatūra rodo, kiek įkaitę pavaros varikliai. Aukštesnė temperatūra reiškia, kad varikliai darbo metu įkaista. Kad varikliai veiktų visu našumu, jų temperatūra turi būti žemesnė nei 55 °C.
Jei varikliai per daug įkaista, jie sumažina maksimalią srovę, kad apsisaugotų. Esant 70 °C temperatūrai, varikliai nustos veikti, kol atvės.
Tai gali būti naudojama norint patikrinti, ar pavarų dėžė neperkaista pasikartojančių judesių, ilgų važiavimų metu arba kai ji spaudžia objektą.
Usage:
drivetrain.temperature(units)
Parametrai |
Aprašymas |
|---|---|
|
Pasirinktinai. Temperatūros vienetas, kuriuo reikia grąžinti temperatūrą: |
Konstruktoriai#
Konstruktoriai naudojami norint sukurti DriveTrain ir „ SmartDrive objektus kode. Tai naudinga konfigūruojant pavaros sistemą nenaudojant „Devices“ lango.
Prieš kuriant transmisiją, turi būti sukurti bent du Motor arba MotorGroup objektai.
DriveTrain#
DriveTrain sukuria pavaros sistemą be Gyro Sensor arba Inercinio Sensor.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametras |
Aprašymas |
|---|---|
|
Kairysis variklis arba variklių grupė. |
|
Dešinysis variklis arba variklių grupė. |
|
Pasirinktinai. Varančiosios ašies ratų apimtis. Numatytoji reikšmė yra 300 milimetrų. |
|
Pasirinktinai. Plotis tarp kairiojo ir dešiniojo ratų. Numatytasis nustatymas yra 320 milimetrų. |
|
Pasirinktinai. Atstumas tarp priekinių ir galinių ratų. Numatytasis nustatymas yra 320 milimetrų. |
|
Pasirinktinai. |
|
Pasirinktinai. Pavarų perdavimo skaičius, naudojamas pavaros atstumams reguliuoti, jei naudojamos pavaros. Tai gali būti sveikasis skaičius |
# Create left and right drive motor objects
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT2, 1.0, True)
'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)
# Create two motor group objects for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)
right_motor_a = Motor(Ports.PORT3, 1.0, True)
right_motor_b = Motor(Ports.PORT4, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)
'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)
SmartDrive#
SmartDrive sukuria pavaros sistemą su giroskopiniu jutikliu arba inerciniu jutikliu.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametras |
Aprašymas |
|---|---|
|
Kairysis variklis arba variklių grupė. |
|
Dešinysis variklis arba variklių grupė. |
|
Pavaros sistemoje naudojamas giroskopinis jutiklis arba inercinis jutiklis. |
|
Pasirinktinai. Varančiosios ašies ratų apimtis. Numatytoji reikšmė yra 300 milimetrų. |
|
Pasirinktinai. Plotis tarp kairiojo ir dešiniojo ratų. Numatytasis nustatymas yra 320 milimetrų. |
|
Pasirinktinai. Atstumas tarp priekinių ir galinių ratų. Numatytasis nustatymas yra 320 milimetrų. |
|
Pasirinktinai. |
|
Pasirinktinai. Pavarų perdavimo skaičius, naudojamas pavaros atstumams reguliuoti, jei naudojamos pavaros. Tai gali būti sveikasis skaičius |
# Create the Inertial Sensor
brain_inertial = Inertial()
# Make left and right drive motors
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT6, 1.0, True)
# Create a SmartDrive object with wheelTravel 200
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)
Jei kuriate išmaniąją pavaros sistemą su keliais varikliais, prieš sugrupuodami variklius į variklių grupę, turite sukurti juos atskirai.
# Create the Inertial Sensor
brain_inertial = Inertial()
# Create two motor groups for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)
right_motor_a = Motor(Ports.PORT5, 1.0, True)
right_motor_b = Motor(Ports.PORT6, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)
# Create a SmartDrive object with wheelTravel 200 mm
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)