Voimansiirto#

Johdanto#

Voimansiirtoluokka drivetrain ohjaa robotin ajamista ja kääntymistä. Voimansiirto koostuu moottoreista ja pyöristä, jotka toimivat yhdessä robotin liikuttamiseksi.

drivetrain ei käytä gyroskooppianturia suunta- tai rotaatiopohjaisiin käännöksiin. Se voi ajaa eteen- tai taaksepäin ja kääntyä vasemmalle tai oikealle, mutta se ei voi kääntyä tiettyyn suuntaan tai rotaatioon. Suunta- ja rotaatiopohjaisiin käännöksiin käytä smartdrive-luokkaa.

Tällä sivulla käytetään esimerkkinä voimansiirron nimeä myDrivetrain Korvaa se tarvittaessa omalla määritetyllä nimelläsi.

Johdetut luokat#

Luokka drivetrain toimii perusluokkana seuraavalle johdetulle luokalle:

  • smartdrive - Luo voimansiirron, joka tukee gyroskooppia.

Luokanrakentajat#

1 - Luo voimansiirron käyttämällä olemassa olevia motor_group -objektia vasemmalle ja oikealle puolelle.

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - Luo voimansiirron käyttämällä olemassa olevia motor -objekteja vasemmalle ja oikealle puolelle.

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

Luokan tuhoaja#

Tuhoaa drivetrain -objektin ja vapauttaa siihen liittyvät resurssit.

virtual ~drivetrain();

Parametrit#

Parametri

Tyyppi

Kuvaus

&l / &r

motor_group / motor

Vasen ja oikea moottori tai moottoriryhmä. Molempien parametrien on käytettävä samaa tyyppiä: joko kaksi motor_group -objektia tai kaksi motor -objektia.

wheelTravel

double

Voimansiirron pyörien ympärysmitta. Oletusarvo on 320.

trackWidth

double

Vasemman ja oikean pyörän välinen etäisyys. Oletusarvo on 320.

wheelBase

double

Etu- ja takapyörien välinen etäisyys. Oletusarvo on 130.

unit

distanceUnits

Yksikkö wheelTravel, trackWidthja wheelBase: mm (oletus) tai inches.

externalGearRatio

double

Välityssuhde, jota käytetään ajomatkojen säätämiseen, jos vaihteita käytetään. Oletusarvo on 1.0.

Esimerkki#

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Jäsenten toiminnot#

Luokka drivetrain sisältää seuraavat jäsenfunktiot:

Toiminnot - Liikuta ja käännä robottia.

  • drive - Liikuttaa robottia eteen- tai taaksepäin pysyvästi.

  • driveFor - Liikuttaa robottia eteen- tai taaksepäin tietyn matkan.

  • turn - Kääntää robottia vasemmalle tai oikealle ikuisesti.

  • turnFor - Kääntää robottia vasemmalle tai oikealle tietyn aste- tai kierrosmäärän.

  • stop - Pysäyttää robotin liikkeen.

Asetukset – Säädä voimansiirron asetuksia.

  • setDriveVelocity - Kertoo robotille, kuinka nopeasti sen tulisi ajaa.

  • setTurnVelocity - Kertoo robotille, kuinka nopeasti sen tulisi kääntyä.

  • setStopping - Kertoo, miten robotti pysähtyy: jarruttamalla, rullaamalla tai pitämällä paikallaan.

  • setTimeout - Määrittää, kuinka kauan robotti yrittää suorittaa liikkeen loppuun.

Arvot - Tarkista liikkeen tila.

  • isDone - Palauttaa totuusarvona tiedon siitä, onko robotti lopettanut liikkumisen.

  • isMoving - Palauttaa totuusarvona tiedon siitä, liikkuuko robotti.

  • velocity - Palauttaa robotin ajonopeuden.

  • 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.

  • voltage - Palauttaa voimansiirron sähköisen jännitteen.

Ennen minkään drivetrain -jäsenfunktion kutsumista on luotava drivetrain -objekti.

/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the left and right motor objects.
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object.
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Toiminnot#

ajaa#

drive liikuttaa robottia eteen- tai taaksepäin ikuisesti. Robotti jatkaa liikkumista, kunnes sille annetaan toinen toiminto, kuten kääntyminen tai pysähtyminen.

Available Functions

1 - Ajaa käyttäen nykyistä ajonopeutta.

void drive(
    directionType dir );

2 - Ajaa määritetyllä nopeudella.

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

dir

directionType

Robotin liikesuunta: forward tai reverse.

velocity

double

Ajonopeus 0–100 %, kun käytössä on velocityUnits::pct, 0–120 rpm, kun käytössä on rpm, tai 0–720 astetta sekunnissa, kun käytössä on dpsJos nopeutta ei anneta, robotti ajaa nykyisellä ajonopeudella.

units

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • drive is non-waiting. The project will run the next line of code right away.

  • Robotti jatkaa liikkumista, kunnes kutsutaan stop tai jokin toinen voimansiirron liikefunktio suoritetaan.

  • isDone ja isMoving eivät ole käytössä drive kanssa, koska drive ei ole tavoiteetäisyyttä.

Examples
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

ajaaFor#

driveFor liikuttaa robottia eteen- tai taaksepäin tietyn matkan. Projekti odottaa, kunnes robotti on liikkunut loppuun ennen seuraavan koodirivin suorittamista.

Available Functions

1 - Ajaa määritettyyn suuntaan tietyn matkan käyttäen nykyistä ajonopeutta.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - Ajaa suuntaan, joka perustuu etäisyysarvoon käyttäen nykyistä ajonopeutta.

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - Ajaa etäisyyden arvoon perustuvaan suuntaan määritetyllä nopeudella.

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Ajaa määritettyyn suuntaan tietyn matkan määritetyllä nopeudella.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Parametri

Tyyppi

Kuvaus

dir

directionType

Robotin liikesuunta: forward tai reverse.

distance

double

Robotin ajama matka.

units

distanceUnits

Etäisyyden yksikkö: mm (millimetriä), inchestai cm (senttimetriä).

velocity

double

Ajonopeus 0–100 %, kun käytössä on velocityUnits::pct, 0–120 rpm, kun käytössä on rpm, tai 0–720 astetta sekunnissa, kun käytössä on dpsJos nopeutta ei anneta, robotti ajaa nykyisellä ajonopeudella.

units_v

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

waitForCompletion

bool

true (oletus) saa projektin odottamaan, kunnes robotti on lopettanut liikkumisen, ennen kuin seuraava koodirivi suoritetaan. false saa seuraavan koodirivin suoritettavaksi heti.

Return Values

Palauttaa totuusarvona, saavuttiko robotti kohdeetäisyyden.

  • true - Robotti saavutti kohdeetäisyyden.

  • false - Robotti ei saanut liikettä valmiiksi, tai funktio palautti ennen liikkeen valmistumista, koska waitForCompletion oli asetettu arvoon false.

Notes
  • Toisen voimansiirron liikefunktion suorittaminen driveFor ollessa käynnissä keskeyttää nykyisen liikkeen.

  • driveFor käyttää tavoiteetäisyyttä, joten isDone ja isMoving voidaan käyttää sen kanssa.

Examples
// Drive 200 mm, then back 200 mm.
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

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.

Available Functions

1 - Kääntyy käyttäen nykyistä kääntymisnopeutta.

void turn(
    turnType dir );

2 - Kääntyy määritetyllä nopeudella.

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

dir

turnType

Robotin kääntymissuunta: left tai right.

velocity

double

Kääntymisnopeus välillä 0–100 %, kun käytössä on velocityUnits::pct, välillä 0–120 rpm, kun käytössä on rpm, tai välillä 0–720 astetta sekunnissa, kun käytössä on dpsJos nopeutta ei anneta, robotti kääntyy nykyisellä kääntymisnopeudella.

units

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • turn ei odota. Projekti suorittaa seuraavan koodirivin heti.

  • Robotti jatkaa kääntymistä, kunnes kutsutaan stop tai jokin toinen voimansiirron liikefunktio suoritetaan.

  • isDone ja isMoving eivät ole käytössä turn kanssa, koska turn ei ole kohdekulmaa.

Examples
// Turn right, then left, then stop.
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

käännyFor#

turnFor kääntää robottia vasemmalle tai oikealle tietyn määrän asteita, kierroksia tai raakayksiköitä. Käännös on suhteessa robotin nykyiseen sijaintiin. Projekti odottaa, kunnes robotti on kääntynyt, ennen kuin seuraava koodirivi suoritetaan.

Available Functions

1 - Kääntyy määritetyn kulman verran käyttäen nykyistä kääntymisnopeutta.

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - Kääntyy määritettyyn suuntaan kulman verran käyttäen nykyistä kääntymisnopeutta.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - Kääntyy määritetyn kulman verran määritetyllä nopeudella.

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Kääntyy annettuun suuntaan tietyn kulman verran määritetyllä nopeudella.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Parametri

Tyyppi

Kuvaus

dir

turnType

Robotin kääntymissuunta: left tai right.

angle

double

Robotin kääntymismäärä.

units

rotationUnits

Käännöksen yksikkö: deg (astetta), rev (kierrosta) tai raw (raakayksikköä). Yksi kierros vastaa 360 astetta.

velocity

double

Kääntymisnopeus välillä 0–100 %, kun käytössä on velocityUnits::pct, välillä 0–120 rpm, kun käytössä on rpm, tai välillä 0–720 astetta sekunnissa, kun käytössä on dpsJos nopeutta ei anneta, robotti kääntyy nykyisellä kääntymisnopeudella.

units_v

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

waitForCompletion

bool

true (oletus) saa projektin odottamaan, kunnes robotti on kääntynyt, ennen seuraavan koodirivin suorittamista. false saa seuraavan koodirivin suoritettavaksi heti.

Return Values

Palauttaa totuusarvona, saavuttiko robotti kohdekulman.

  • true - Robotti saavutti kohdekulman.

  • false - Robotti ei saanut käännöstä valmiiksi, tai funktio palautti ennen käännöksen päättymistä, koska waitForCompletion oli asetettu arvoon false.

Notes
  • Toisen voimansiirron liikefunktion suorittaminen funktion turnFor ollessa käynnissä keskeyttää nykyisen liikkeen.

  • turnFor käyttää kohdekulmaa, joten isDone ja isMoving voidaan käyttää sen kanssa.

Examples
// Turn right, then left.
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

Stop#

stop pysäyttää robotin liikkeen. Jos pysäytystapa on annettu, se ohjaa sitä, miten robotti pysähtyy tätä funktiokutsua varten.

Available Functions

1 - Pysäyttää voimansiirron nykyisellä pysäytystavalla.

void stop();

2 - Pysäyttää voimansiirron määritetyllä pysäytystavalla.

void stop(
    brakeType mode );

Parameters

Parametri

Tyyppi

Kuvaus

mode

brakeType

Näin robotti pysähtyy:

  • brake - Pysähtyy välittömästi.
  • coast - Hidastaa pysähtymiseen.
  • hold - Pysähtyy välittömästi ja pitää pyörien asennon.

Return Values

Tämä funktio ei palauta arvoa.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

Mutaattorit#

setDriveVolicity#

setDriveVelocity 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.

Available Functions
void setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

velocity

double

Ajonopeus välillä 0–100 %, kun käytössä on velocityUnits::pct, välillä 0–120 rpm, kun käytössä on rpm, tai välillä 0–720 astetta sekunnissa, kun käytössä on dps.

units

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Myöhemmät voimansiirron liikefunktiot käyttävät ajonopeutta, ellei funktion kutsussa ole annettu tiettyä nopeutta.

Examples
// Drive forward, then coast to a stop.
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

asetaKäännönNopeus#

setTurnVelocity 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.

Available Functions
void setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

velocity

double

Kääntymisnopeus välillä 0–100 %, kun käytössä on velocityUnits::pct, välillä 0–120 rpm, kun käytössä on rpm, tai välillä 0–720 astetta sekunnissa, kun käytössä on dps.

units

velocityUnits

Nopeuden yksikkö: velocityUnits::pct (prosentti), rpm (kierrosta minuutissa) tai dps (astetta sekunnissa).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Myöhemmät voimansiirron kääntymisfunktiot käyttävät käännösnopeutta, ellei funktion kutsussa ole annettu tiettyä nopeutta.

Examples
// Try default, slow, then fast.
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

setStopping#

setStopping määrittää, miten robotti pysähtyy: jarruttamalla, rullaamalla tai pitämällä paikallaan.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametri

Tyyppi

Kuvaus

mode

brakeType

Näin robotti pysähtyy:

  • brake - Pysähtyy välittömästi.
  • coast - Hidastaa pysähtymiseen.
  • hold - Pysähtyy välittömästi ja pitää pyörien asennon.

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Myöhemmät stop -kutsutoiminnot käyttävät tätä pysäytystilaa, ellei funktion kutsussa ole määritetty tiettyä pysäytystilaa.

  • Jos tätä toimintoa ei käytetä, robotti käyttää jarrutusta brake pysähtyessään.

asetettu aikakatkaisu#

setTimeout 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.

Available Functions
void setTimeout(
  int32_t time,
  timeUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

time

int32_t

Aika, jonka robotti voi yrittää suorittaa liikkeen loppuun. Tämän tulee olla positiivinen kokonaisluku.

units

timeUnits

Aikayksikkö: sec (sekuntia) tai msec (millisekuntia).

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Aikakatkaisu koskee vain voimansiirtotoimintoja, jotka liikkuvat kohteeseen, kuten driveFor ja turnFor.

Examples
// Turn right after driving forward.
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

Getterit#

onValmis#

isDone palauttaa totuusarvona tiedon siitä, onko robotti lopettanut liikkumisen. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien toimintojen ajoituksen hallintaan.

Available Functions
bool isDone( void );

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values
  • true - Robotti on lopettanut liikkumisen.

  • false - Robotti liikkuu edelleen.

Notes
  • isDone toimii kohdepohjaisten voimansiirron liikefunktioiden, kuten driveFor ja turnFor, kanssa.

  • isDone ei ole käytössä funktioiden drive tai turn kanssa, koska nämä funktiot eivät siirry kohteeseen.

onLiikkeellä#

isMoving palauttaa totuusarvona tiedon siitä, liikkuuko robotti. Tätä voidaan käyttää muiden robotin liikkeeseen perustuvien käyttäytymisten ajoituksen ohjaamiseen.

Available Functions
virtual bool isMoving( void );

Parameters

Tämä funktio ei hyväksy parametreja.

Return Values
  • true - Robotti liikkuu.

  • false - Robotti ei liiku.

Notes
  • isMoving toimii kohdepohjaisten voimansiirron liikefunktioiden, kuten driveFor ja turnFor, kanssa.

  • isMoving ei ole käytössä funktioiden drive tai turn kanssa, koska nämä funktiot eivät liiku kohteeseen.

nopeus#

velocity palauttaa robotin ajonopeuden.

Se voi palauttaa nopeuden prosentteina, muodossa rpmtai muodossa dpsPositiivinen arvo tarkoittaa, että robotti ajaa eteenpäin. Negatiivinen arvo tarkoittaa, että robotti ajaa taaksepäin.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

velocityUnits

Palautettava nopeusyksikkö: percent, pct, rpmtai dps.

Return Values

Palauttaa voimansiirron nopeuden muodossa double valitussa yksikössä.

Examples
// Show velocity before and during motion.
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

nykyinen#

current palauttaa voimansiirron käyttämän sähkövirran määrän. Virta on voimansiirron läpi virtaavan sähkön määrä. Se voidaan palauttaa ampeereina tai prosentteina yksiköstä riippuen.

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.

Available Functions

1 - Palauttaa voimansiirron sähkövirran ampeereina.

double current(
    currentUnits units = currentUnits::amp );

2 - Palauttaa voimansiirron sähkövirran prosentteina.

double current(
    percentUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

currentUnits

Virran palauttava yksikkö: amp.

units

percentUnits

Virran palauttava yksikkö: percent tai pct.

Return Values

Palauttaa voimansiirron virran muodossa double valitussa yksikössä.

voima#

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.

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

Parametri

Tyyppi

Kuvaus

units

powerUnits

Tehoyksikkö: watt.

Return Values

Palauttaa voimansiirron tehon muodossa double watteina.

vääntömomentti#

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.

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

Parametri

Tyyppi

Kuvaus

units

torqueUnits

Vääntömomentin palautusyksikkö: Nm (newtonmetriä, oletusarvo) tai InLb (tuumaa paunaa).

Return Values

Palauttaa voimansiirron vääntömomentin muodossa double valitussa yksikössä.

tehokkuus#

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.

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

Parametri

Tyyppi

Kuvaus

units

percentUnits

Hyötysuhteen palauttava yksikkö muodossa: percent tai pct.

Return Values

Palauttaa voimansiirron hyötysuhteen muodossa double valitussa yksikössä.

lämpötila#

temperature palauttaa voimansiirron keskilämpötilan prosentteina väliltä 0–100 %.

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.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

percentUnits

Paluulämpötilan yksikkö: percent tai pct.

Return Values

Palauttaa voimansiirron keskilämpötilan muodossa double valitussa yksikössä.

Notes
  • Palautettu arvo 50% tarkoittaa, että moottorin keskilämpötila on noin 45°C (113°F).

  • The typical operating temperature range for the drivetrain is about 20°C (68°F) to 70°C (158°F).

jännite#

voltage palauttaa voimansiirron sähköisen jännitteen.

Jännite on voimansiirron moottoreille syötetty sähköinen paine. Tätä voidaan käyttää virta- ja tehoarvojen kanssa sen ymmärtämiseen, miten voimansiirto käyttää sähköenergiaa.

Available Functions
double voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

Parametri

Tyyppi

Kuvaus

units

voltageUnits

Jännitteen palauttava yksikkö: volt (oletus) tai voltageUnits::mV voltageUnits::mV tarkoittaa millivoltteja.

Return Values

Palauttaa voimansiirron jännitteen muodossa double valitussa yksikössä.