Voimansiirto#

Johdanto#

Voimansiirtoluokka drivetrain ohjaa robotin liikkumista ja kääntymistä. Voimansiirto koostuu moottoreista ja pyöristä, jotka yhdessä liikuttavat robottia.

drivetrain ei käytä inertia-anturia, gyroskooppianturia tai GPS-anturia 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 suuntaa tai rotaatiota vastaavaan suuntaan. Suunta- ja rotaatiopohjaisiin käännöksiin käytä smartdrive-luokkaa.

Johdetut luokat#

Luokka drivetrain toimii perusluokkana seuraaville johdetuille luokille:

  • smartdrive - Tämä luokka lisää inertia-anturin, GPS-anturin tai gyroskooppianturin tuen, jotta suunta- ja rotaatiopohjaiset käännökset ovat mahdollisia.

Luokanrakentajat#

1 - Luo voimansiirron käyttämällä olemassa olevia motor_group -objektia vasemmalle (&l) ja oikealle (&r) 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 (&l) ja oikealle (&r) 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ö arvoille wheelTravel, trackWidthja wheelBase: mm (millimetriä, 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 object
    rightMotor, // right motor object
    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 pysyvästi.

  • turnFor - Kääntää robottia vasemmalle tai oikealle tietyn astemää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 monen sekunnin ajan 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 voimansiirtoon syötetyn sähköjännitteen.

Ennen minkään drivetrain -jäsenfunktion kutsumista on luotava drivetrain -objekti alla olevan mukaisesti:

/* 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 object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Toiminnot#

ajaa#

drive liikuttaa robottia eteen- tai taaksepäin loputtomasti. Robotti jatkaa liikkumista, kunnes sille annetaan toinen toiminto, kuten kääntyminen tai pysähtyminen. RPM:n tai DPS:n tapauksessa rajaa muuttaa voimansiirron välityssuhde.

Available Functions

1 - Ajaa käyttäen nykyistä konfiguroitua taajuusmuuttajan nopeutta.

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–600 rpm, kun käytössä on rpm, tai 0–3600 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 ei ole odottamassa; projekti jatkaa seuraavan koodirivin suorittamista heti kutsun jälkeen.

  • Voimansiirto jatkaa liikkumista, kunnes kutsutaan funktiota stop tai suoritetaan jokin toinen voimansiirron liikefunktio (kuten driveFor tai turn).

  • Funktiot, kuten isDone ja isMoving, eivät sovellu drive-funktiolle, koska se ei käytä kohteeseen perustuvaa liikettä (sillä ei ole distance -parametria).

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 oletusarvoisesti, kunnes robotti on liikkunut, ennen kuin seuraava koodirivi suoritetaan. RPM:n tai DPS:n tapauksessa raja muuttuu voimansiirron välityssuhteen mukaan.

Available Functions

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

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

2 - Ajaa etäisyydestä riippuvaan suuntaan käyttäen nykyistä konfiguroitua ajonopeutta.

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

3 - Ajaa etäisyydestä riippuvaan 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–600 rpm, kun käytössä on rpm, tai 0–3600 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 (kuten drive tai turnFor) suorittaminen funktion driveFor ollessa käynnissä keskeyttää nykyisen liikkeen.

  • Koska driveFor on kohteeseen perustuva (käyttää distance -parametria), funktiot, kuten isDone ja isMoving, toimivat driveFor 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. RPM:n tai DPS:n tapauksessa rajaa muuttaa voimansiirron välityssuhde.

Available Functions

1 - Kääntyy käyttäen nykyistä konfiguroitua käännösnopeutta.

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–600 rpm, kun käytössä on rpm, tai välillä 0–3600 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 This function does not return a value. Notes
  • turn ei odota; projekti jatkaa seuraavan koodirivin suorittamista heti kutsun jälkeen.

  • Voimansiirto jatkaa pyörimistä, kunnes kutsutaan funktiota stop tai suoritetaan jokin toinen voimansiirron liikefunktio (kuten turnFor tai drive).

  • Funktiot, kuten isDone ja isMoving, eivät sovellu funktiolle turn, koska se ei käytä kohteeseen perustuvaa liikettä (sillä ei ole angle -parametria).

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 astemäärän. Käännös on suhteessa robotin nykyiseen sijaintiin. Projekti odottaa oletusarvoisesti, kunnes robotti on kääntynyt, ennen kuin seuraava koodirivi suoritetaan. RPM:n tai DPS:n tapauksessa rajaa muuttaa voimansiirron välityssuhde.

Available Functions

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

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

2 - Kääntyy määritettyyn suuntaan kulman verran käyttäen nykyistä konfiguroitua 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ääntymiskulma.

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–600 rpm, kun käytössä on rpm, tai välillä 0–3600 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 (kuten turn tai drive) suorittaminen turnFor n ollessa käynnissä keskeyttää nykyisen liikkeen.

  • Koska turnFor on kohteeseen perustuva (käyttää angle -parametria), funktiot, kuten isDone ja isMoving, toimivat turnFor 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 käyttämällä tällä hetkellä määritettyä pysäytystilaa.

void stop();

2 - Pysäyttää voimansiirron määritetyllä jarrutustilalla.

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 hidastamaan. RPM:n 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.

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–600 rpm, kun käytössä on rpm, tai välillä 0–3600 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
  • Ajonopeus koskee kaikkia seuraavia voimansiirron liikefunktioita (kuten drive ja driveFor), 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–600 rpm, kun käytössä on rpm, tai välillä 0–3600 astetta sekunnissa, kun käytössä on dps.

units

velocityUnits

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

Return Values

Tämä funktio ei palauta arvoa.

Notes
  • Kääntönopeus koskee kaikkia seuraavia voimansiirron kääntöfunktioita (kuten turn ja turnFor), 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
  • Pysäytystapa koskee kaikkia seuraavia stop -kutsuja, ellei funktion kutsussa ole määritetty tiettyä pysäytystapaa.

asetettu aikakatkaisu#

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

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 kohteeseen perustuvia voimansiirron liikefunktioita (kuten driveFor ja turnFor).

Examples
// Start turning if driving takes too long
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 on yhteensopiva kohteeseen perustuvien voimansiirron liikkeiden kanssa (funktiot, jotka liikkuvat kohteeseen, kuten driveFor ja turnFor).

  • isDone ei ole yhteensopiva funktioiden, kuten drive ja turn, kanssa, koska ne eivät käytä kohteeseen perustuvaa liikkumista.

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 on yhteensopiva kohteeseen perustuvien voimansiirron liikkeiden kanssa (funktiot, jotka liikkuvat kohteeseen, kuten driveFor ja turnFor).

  • isMoving ei ole yhteensopiva funktioiden, kuten drive ja turn, kanssa, koska ne eivät käytä kohteeseen perustuvaa liikettä.

nopeus#

velocity palauttaa robotin ajonopeuden.

Positiivinen 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

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

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

double current(
    percentUnits units );

Parameters

Parametri

Tyyppi

Kuvaus

units

currentUnits

Virran palauttava yksikkö: amp (ampeeria, oletusarvo).

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 (wattia, oletusarvo).

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ö: percent tai pct (oletus).

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% osoittaa, että moottorin keskilämpötila on noin 45°C (113°F).

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

jännite#

voltage palauttaa voimansiirtoon syötetyn sähkö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 (volttia, oletusarvo) tai voltageUnits::mV (millivolttia).

Return Values

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