Układ napędowy#

Wstęp#

Klasa układu napędowego drivetrain kontroluje sposób jazdy i skręcania robota. Układ napędowy składa się z silników i kół, które współpracują ze sobą, aby poruszać robotem.

Układ napędowy drivetrain nie korzysta z czujnika bezwładnościowego ani czujnika żyroskopowego w przypadku skrętów opartych na kursie lub obrocie. Może jechać do przodu lub do tyłu oraz skręcać w lewo lub w prawo, ale nie może wykonać skrętu w określonym kierunku lub obrocie. W przypadku skrętów opartych na kursie i obrocie należy użyć klasy smartdrive.

Klasy pochodne#

Klasa układu napędowego drivetrain służy jako klasa bazowa dla następujących klas pochodnych:

  • smartdrive - Ta klasa dodaje obsługę czujnika bezwładnościowego lub czujnika żyroskopowego, aby umożliwić wykonywanie skrętów na podstawie kierunku i obrotu.

Konstruktory klas#

1 - Creates a drivetrain using existing motor_group objects for the left (&l) and right (&r) sides.

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

2 - Tworzy układ napędowy wykorzystując istniejące obiekty motor dla lewej (&l) i prawej (&r) strony.

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

Destruktor klasy#

Niszczy obiekt układu napędowego drivetrain i uwalnia powiązane zasoby.

virtual ~drivetrain();

Parametry#

Parametr

Typ

Opis

&l / &r

motor_group / motor

Lewy i prawy silnik lub grupa silników. Oba parametry muszą używać tego samego typu: albo dwóch obiektów motor_group , albo dwóch obiektów motor.

wheelTravel

double

Obwód kół układu napędowego. Wartość domyślna to 320.

trackWidth

double

Odległość między lewym a prawym kołem. Wartość domyślna to 320.

wheelBase

double

Odległość między przednimi i tylnymi kołami. Wartość domyślna to 130.

unit

distanceUnits

Jednostka dla wheelTravel, trackWidth, i wheelBase: mm (milimetrów, domyślnie) lub inches.

externalGearRatio

double

Przełożenie używane do regulacji odległości jazdy, jeśli używane są przekładnie. Domyślnie 1.0.

Przykład#

// 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

Funkcje członkowskie#

Istnieje wiele sposobów kodowania układu napędowego. Poniżej znajduje się lista wszystkich funkcji członkowskich układu napędowego drivetrain:

Akcje — poruszanie i obracanie robotem.

  • drive - Przesuwa robota do przodu lub do tyłu w nieskończoność.

  • driveFor - Przesuwa robota do przodu lub do tyłu na określoną odległość.

  • turn - Obraca robota w lewo lub prawo na zawsze.

  • turnFor - Obraca robota w lewo lub prawo o określoną liczbę stopni.

  • stop - Zatrzymuje ruch robota.

Mutatory - Dostosuj ustawienia układu napędowego.

  • setDriveVelocity - Informuje robota, jak szybko ma jechać.

  • setTurnVelocity - Informuje robota, jak szybko ma się skręcić.

  • setStopping - Informuje, w jaki sposób robot zatrzyma się: poprzez hamowanie, jazdę bez obciążenia lub przytrzymanie.

  • setTimeout - Ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch.

Getters - Sprawdź status ruchu.

  • isDone – Zwraca wartość logiczną informującą, czy robot zakończył ruch.

  • isMoving - Zwraca wartość logiczną informującą, czy robot się porusza.

  • velocity - Zwraca prędkość, z jaką porusza się robot.

  • current - Zwraca informację o tym, ile prądu elektrycznego zużywa układ napędowy.

  • power - Zwraca informację o tym, jak szybko układ napędowy zużywa energię.

  • torque - Zwraca informację o tym, jaki moment obrotowy wykorzystuje układ napędowy.

  • efficiency - Zwraca informację o tym, jak efektywnie układ napędowy wykorzystuje moc.

  • temperature - Zwraca informację o tym, jak ciepły jest układ napędowy.

  • voltage - Zwraca napięcie elektryczne dostarczone do układu napędowego.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej drivetrain należy utworzyć obiekt drivetrain , jak pokazano poniżej:

/* 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

Akcje#

prowadzić#

Napęd drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie zostanie mu przydzielona inna czynność, taka jak obrót lub zatrzymanie. W przypadku obrotów na minutę lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Available Functions

1 - Napędy wykorzystują aktualnie skonfigurowaną prędkość napędu.

void drive(
    directionType dir );

2 - Jeździ z określoną prędkością.

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

Parameters

Parametr

Typ

Opis

dir

directionType

Kierunek ruchu robota: forward lub reverse.

velocity

double

Prędkość jazdy może mieścić się w zakresie od 0% do 100% przy użyciu wartości velocityUnits::pct, od 0 do 600 obr./min przy użyciu wartości rpmlub od 0 do 3600 stopni na sekundę przy użyciu wartości dps. Jeśli nie podano prędkości, robot jedzie z bieżącą prędkością jazdy.

units

velocityUnits

Jednostka prędkości: velocityUnits::pct (procent), rpm (obroty na minutę) lub dps (stopnie na sekundę).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Dysk drive nie jest dyskiem oczekującym; projekt będzie kontynuował wykonywanie następnej linii kodu bezpośrednio po wywołaniu.

  • Układ napędowy będzie się poruszał do momentu wywołania funkcji stop lub wykonania innej funkcji ruchu układu napędowego (takiej jak driveFor lub turn).

  • Funkcje takie jak isDone i isMoving nie są stosowane do drive, ponieważ nie wykorzystuje on ruchu opartego na celu (nie ma distance parametru).

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

driveFor#

driveFor przesuwa robota do przodu lub do tyłu o określoną odległość. Projekt domyślnie poczeka, aż robot zakończy ruch, zanim uruchomi się kolejny wiersz kodu. W przypadku RPM lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Available Functions

1 - Jedzie w określonym kierunku na określoną odległość, używając aktualnie skonfigurowanej prędkości jazdy.

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

2 - Napędy w kierunku zależnym od odległości wykorzystują aktualnie skonfigurowaną prędkość napędu.

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

3 - Porusza się w kierunku zależnym od odległości przy określonej prędkości.

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

4 - Jedzie w określonym kierunku na określoną odległość z określoną prędkością.

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

Parameters

Parametr

Typ

Opis

dir

directionType

Kierunek ruchu robota: forward lub reverse.

distance

double

Odległość, jaką pokonuje robot.

units

distanceUnits

Jednostka odległości: mm (milimetry), incheslub cm (centymetry).

velocity

double

Prędkość jazdy może mieścić się w zakresie od 0% do 100% przy użyciu wartości velocityUnits::pct, od 0 do 600 obr./min przy użyciu wartości rpmlub od 0 do 3600 stopni na sekundę przy użyciu wartości dps. Jeśli nie podano prędkości, robot jedzie z bieżącą prędkością jazdy.

units_v

velocityUnits

Jednostka prędkości: velocityUnits::pct (procent), rpm (obroty na minutę) lub dps (stopnie na sekundę).

waitForCompletion

bool

true (domyślnie) powoduje, że projekt czeka, aż robot zakończy ruch, zanim zostanie wykonany kolejny wiersz kodu. false powoduje, że następny wiersz kodu zostanie wykonany natychmiast.

Return Values

Zwraca wartość logiczną informującą, czy robot osiągnął odległość docelową.

  • true - Robot osiągnął docelową odległość.

  • false - Robot nie zakończył ruchu lub funkcja została zwrócona przed zakończeniem ruchu, ponieważ waitForCompletion zostało ustawione na false.

Notes
  • Wykonanie innej funkcji ruchu układu napędowego (takiej jak drive lub turnFor) podczas trwania funkcji driveFor spowoduje przerwanie bieżącego ruchu.

  • Ponieważ driveFor jest oparte na celu (używa parametru odległości distance ), funkcje takie jak isDone i isMoving działają z driveFor.

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

zakręt#

turn obraca robota w lewo lub w prawo w nieskończoność. Robot będzie się obracał, dopóki nie zostanie mu przydzielona inna czynność, taka jak jazda lub zatrzymanie. W przypadku obrotów na minutę lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Available Functions

1 - Zakręty wykonywane są z użyciem aktualnie skonfigurowanej prędkości zakrętu.

void turn(
    turnType dir );

2 - Obroty z określoną prędkością.

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

Parameters

Parametr

Typ

Opis

dir

turnType

Kierunek, w którym obraca się robot: left lub right.

velocity

double

Prędkość obrotu od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 600 obr./min przy użyciu rpmlub od 0 do 3600 stopni na sekundę przy użyciu dps. Jeśli nie podano prędkości, robot obraca się z bieżącą prędkością obrotu.

units

velocityUnits

Jednostka prędkości: velocityUnits::pct (procent), rpm (obroty na minutę) lub dps (stopnie na sekundę).

Return Values This function does not return a value. Notes
  • turn jest nieoczekiwana; projekt będzie kontynuował wykonywanie następnej linii kodu bezpośrednio po wywołaniu.

  • Układ napędowy będzie się obracał do momentu wywołania funkcji stop lub wykonania innej funkcji ruchu układu napędowego (takiej jak turnFor lub drive).

  • Funkcje takie jak isDone i isMoving nie są dostępne dla tury turn, ponieważ nie wykorzystuje ona ruchu opartego na celu (nie ma parametru kąta angle).

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

obróć dla#

turnFor obraca robota w lewo lub w prawo o określoną liczbę stopni. Obrót jest względny względem aktualnej pozycji robota. Projekt domyślnie poczeka, aż robot zakończy obrót, zanim uruchomi się kolejny wiersz kodu. W przypadku RPM lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Available Functions

1 - Wykonuje zakręty pod określonym kątem, używając aktualnie skonfigurowanej prędkości skrętu.

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

2 - Skręca w określonym kierunku o określony kąt, używając aktualnie skonfigurowanej prędkości skrętu.

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

3 - Zakręty o określony kąt i określoną prędkość.

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

4 - Obrót w określonym kierunku pod określonym kątem i z określoną prędkością.

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

Parameters

Parametr

Typ

Opis

dir

turnType

Kierunek, w którym obraca się robot: left lub right.

angle

double

Kąt, pod jakim obraca się robot.

units

rotationUnits

Jednostka obrotu: deg (stopnie), rev (obroty) lub raw (jednostki surowe). Jeden obrót to 360 stopni.

velocity

double

Prędkość obrotu od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 600 obr./min przy użyciu rpmlub od 0 do 3600 stopni na sekundę przy użyciu dps. Jeśli nie podano prędkości, robot obraca się z bieżącą prędkością obrotu.

units_v

velocityUnits

Jednostka prędkości: velocityUnits::pct (procent), rpm (obroty na minutę) lub dps (stopnie na sekundę).

waitForCompletion

bool

true (domyślnie) powoduje, że projekt czeka, aż robot skończy się obracać, zanim zostanie wykonany kolejny wiersz kodu. false powoduje, że następny wiersz kodu zostanie wykonany natychmiast.

Return Values

Zwraca wartość logiczną informującą, czy robot osiągnął kąt docelowy.

  • true - Robot osiągnął kąt docelowy.

  • false - Robot nie zakończył obrotu lub funkcja została zwrócona przed zakończeniem obrotu, ponieważ waitForCompletion zostało ustawione na false.

Notes
  • Wykonanie innej funkcji ruchu układu napędowego (takiej jak turn lub drive) podczas trwania funkcji turnFor spowoduje przerwanie bieżącego ruchu.

  • Ponieważ funkcja turnFor jest oparta na celu (używa parametru kąta angle ), funkcje takie jak isDone i isMoving działają z funkcją turnFor.

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

zatrzymywać się#

stop zatrzymuje ruch robota. Jeśli podano tryb zatrzymywania, kontroluje on sposób zatrzymywania robota w trakcie wywołania tej funkcji.

Available Functions

1 - Zatrzymuje układ napędowy przy użyciu aktualnie skonfigurowanego trybu zatrzymywania.

void stop();

2 - Zatrzymuje układ napędowy przy użyciu określonego trybu hamowania.

void stop(
    brakeType mode );

Parameters

Parametr

Typ

Opis

mode

brakeType

Jak robot się zatrzyma:

  • brake – natychmiastowe zatrzymanie.
  • coast – zwalnianie do zatrzymania.
  • hold – natychmiastowe zatrzymanie i utrzymanie pozycji kół.

Return Values

Ta funkcja nie zwraca wartości.

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

Mutatory#

ustawPrędkośćNapędu#

setDriveVelocity określa prędkość, z jaką robot ma jechać. Wyższy procent powoduje, że robot jedzie szybciej, a niższy – wolniej. W przypadku RPM lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Każdy projekt rozpoczyna się od tego, że robot domyślnie porusza się z prędkością równą 50%.

Uwaga: Większa prędkość sprawia, że ​​robot jedzie szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że ​​robot jedzie wolniej, ale może być bardziej precyzyjny.

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

Parameters

Parametr

Typ

Opis

velocity

double

Prędkość jazdy od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 600 obr./min przy użyciu rpmlub od 0 do 3600 stopni na sekundę przy użyciu dps.

units

velocityUnits

Jednostka prędkości: velocityUnits::pct (procent), rpm (obroty na minutę) lub dps (stopnie na sekundę).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Prędkość napędu dotyczy wszystkich kolejnych funkcji ruchu układu napędowego (takich jak drive i driveFor), chyba że w wywołaniu funkcji podano konkretną prędkość.

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

ustaw prędkość skrętu#

Wartość setTurnVelocity setTurnVelocity robot skręca szybciej, a niższy – że skręca wolniej. W przypadku RPM lub DPS limit jest zmieniany przez przełożenie układu napędowego.

Każdy projekt rozpoczyna się od ustawienia robota tak, aby domyślnie obracał się z prędkością równą 50%.

Uwaga: Większa prędkość sprawia, że ​​robot skręca szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że ​​robot skręca wolniej, ale może być bardziej precyzyjny.

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

Parameters

Parametr

Typ

Opis

velocity

double

Prędkość obrotu od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 600 obr./min przy użyciu rpm, lub od 0 do 3600 stopni na sekundę przy użyciu dps.

units

velocityUnits

Jednostka prędkości: percent lub pct (procent), rpm (obrotów na minutę) lub dps (stopni na sekundę).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Prędkość obrotu dotyczy wszystkich kolejnych funkcji obrotu układu napędowego (takich jak turn i turnFor), chyba że w wywołaniu funkcji podano konkretną prędkość.

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);

ustawZatrzymywanie#

setStopping ustawia sposób zatrzymania robota: poprzez hamowanie, jazdę bez obciążenia lub przytrzymywanie.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parametr

Typ

Opis

mode

brakeType

Jak robot się zatrzyma:

  • brake – natychmiastowe zatrzymanie.
  • coast – zwalnianie do zatrzymania.
  • hold – natychmiastowe zatrzymanie i utrzymanie pozycji kół.

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Tryb zatrzymywania obowiązuje dla wszystkich kolejnych wywołań stop, chyba że w wywołaniu funkcji podano konkretny tryb zatrzymywania.

ustawLimitCzasu#

setTimeout ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch. Jeśli robot nie zdoła ukończyć ruchu w tym czasie, przerwie próbę i przejdzie do następnego wiersza kodu. Zapobiega to zablokowaniu ruchu przez robota.

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

Parameters

Parametr

Typ

Opis

time

int32_t

Czas, w którym robot może próbować zakończyć ruch. Powinna to być dodatnia liczba całkowita.

units

timeUnits

Jednostka czasu: sec (sekundy) lub msec (milisekundy).

Return Values

Ta funkcja nie zwraca wartości.

Notes
  • Limit czasu dotyczy wyłącznie funkcji ruchu układu napędowego opartych na celu (takich jak driveFor i turnFor).

Examples
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

Getters#

jest gotowe#

isDone zwraca wartość logiczną, czy robot zakończył ruch. Można jej użyć do kontrolowania czasu innych zachowań na podstawie ruchu robota.

Available Functions
bool isDone( void );

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values
  • true - Robot zakończył ruch.

  • false - Robot nadal się porusza.

Notes
  • isDone jest zgodny z ruchami układu napędowego opartymi na celu (funkcje, które przesuwają się do celu, takie jak driveFor i turnFor).

  • isDone nie jest zgodne z funkcjami takimi jak drive i turn, ponieważ nie korzystają one z ruchu opartego na celu.

jest w ruchu#

isMoving zwraca wartość logiczną, czy robot się porusza. Można jej użyć do kontrolowania czasu innych zachowań na podstawie ruchu robota.

Available Functions
virtual bool isMoving( void );

Parameters

Ta funkcja nie przyjmuje żadnych parametrów.

Return Values
  • true - Robot się porusza.

  • false - Robot się nie porusza.

Notes
  • Funkcja isMoving jest zgodna z ruchami układu napędowego opartymi na celu (funkcje, które powodują ruch do celu, takie jak driveFor i turnFor).

  • isMoving nie jest zgodna z funkcjami takimi jak drive i turn, ponieważ nie korzystają one z ruchu opartego na celu.

prędkość#

velocity zwraca informację o tym, jak szybko porusza się robot.

Wartość dodatnia oznacza, że ​​robot jedzie do przodu. Wartość ujemna oznacza, że ​​robot jedzie do tyłu.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parametr

Typ

Opis

units

velocityUnits

Jednostka prędkości: percent lub pct (procent), rpm (obrotów na minutę) lub dps (stopni na sekundę).

Return Values

Zwraca prędkość układu napędowego jako double w wybranej jednostce.

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();

aktualny#

current zwraca natężenie prądu elektrycznego pobieranego przez układ napędowy. Natężenie prądu to ilość energii elektrycznej przepływającej przez układ napędowy. Może być zwracane w amperach (ampery) lub procentowo, w zależności od jednostki.

Wyższa wartość prądu oznacza, że ​​układ napędowy zużywa więcej prądu. Może się to zdarzyć, gdy robot naciska na obiekt lub próbuje się poruszyć, gdy utknie.

Można tego użyć, aby sprawdzić, czy układ napędowy ma problemy podczas ruchu. Jeśli prąd utrzymuje się na wysokim poziomie, układ napędowy może się nagrzewać lub zużywać energię mniej efektywnie.

Available Functions

1 - Zwraca wartość prądu elektrycznego układu napędowego w amperach.

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

2 - Zwraca wartość prądu elektrycznego układu napędowego jako procent wartości maksymalnej.

double current(
    percentUnits units );

Parameters

Parametr

Typ

Opis

units

currentUnits

Jednostka zwracająca prąd: amp (amperów, domyślnie).

units

percentUnits

Jednostka zwracająca prąd w: percent lub pct.

Return Values

Zwraca wartość prądu układu napędowego jako double w wybranej jednostce.

moc#

power zwraca ilość energii zużywanej przez układ napędowy, mierzoną w watach. Power pokazuje, jak szybko układ napędowy zużywa energię.

Wyższa wartość mocy oznacza, że ​​układ napędowy zużywa energię szybciej. Może się to zdarzyć, gdy robot naciska na obiekt lub próbuje się poruszyć, gdy utknie.

Można tego użyć do porównania ruchów lub sprawdzenia, czy układ napędowy ma problemy. Jeśli moc utrzymuje się na wysokim poziomie, układ napędowy może się nagrzewać lub zużywać energię mniej efektywnie.

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

Parameters

Parametr

Typ

Opis

units

powerUnits

Jednostka mocy: watt (watów, domyślnie).

Return Values

Zwraca moc układu napędowego jako double w watach.

moment obrotowy#

Moment obrotowy pokazuje, jak mocno układ napędowy może pchać lub ciągnąć, gdy koła się kręcą.

torque zwraca wartość momentu obrotowego wykorzystywanego przez układ napędowy, mierzoną w niutonometrach (Nm) lub funtach na cal (InLb).

Wyższy moment obrotowy oznacza, że ​​układ napędowy pcha lub ciągnie mocniej. Może się tak zdarzyć, gdy robot pcha obiekt lub próbuje się poruszyć, gdy utknie.

Można tego użyć, aby sprawdzić, czy układ napędowy ma problemy lub porównać, ile siły nacisku potrzeba przy różnych ruchach.

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

Parameters

Parametr

Typ

Opis

units

torqueUnits

Jednostka momentu obrotowego: Nm (niutonometry, wartość domyślna) lub InLb (cale-funty).

Return Values

Zwraca moment obrotowy układu napędowego jako double w wybranej jednostce.

efektywność#

efficiency zwraca informację o tym, jak efektywnie układ napędowy wykorzystuje moc, w procentach od 0% do 100%.

Sprawność pokazuje, jaka część mocy układu napędowego jest wykorzystywana do poruszania się. Wyższa wartość sprawności oznacza, że ​​większa część mocy układu napędowego jest wykorzystywana do poruszania się. Niższa wartość sprawności może wystąpić, gdy układ napędowy intensywnie pracuje, ale porusza się nieznacznie, na przykład gdy robot utknął lub popycha obiekt.

Można tego użyć do porównania ruchów lub sprawdzenia, czy układ napędowy marnuje moc zamiast wykorzystać ją do ruchu.

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

Parameters

Parametr

Typ

Opis

units

percentUnits

Jednostka zwracająca wydajność w: percent lub pct (domyślnie).

Return Values

Zwraca wydajność układu napędowego jako double w wybranej jednostce.

temperatura#

temperature zwraca średnią temperaturę układu napędowego jako procent od 0% do 100%.

Temperatura wskazuje, jak ciepłe są silniki układu napędowego. Wyższa temperatura oznacza, że ​​silniki nagrzewają się podczas pracy. Aby silniki pracowały z pełną wydajnością, ich temperatura powinna utrzymywać się poniżej 55°C.

Jeśli silniki się przegrzeją, obniżą maksymalny prąd, aby się zabezpieczyć. Przy temperaturze 70°C silniki przestaną pracować do momentu ostygnięcia.

Można tego użyć, aby sprawdzić, czy układ napędowy nie nagrzewa się zbytnio podczas powtarzających się ruchów, długich przejazdów lub gdy naciska na jakiś obiekt.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parametr

Typ

Opis

units

percentUnits

Jednostka zwracana temperatury w: percent lub pct.

Return Values

Zwraca średnią temperaturę układu napędowego jako double w wybranej jednostce.

Notes
  • Zwrócona wartość 50% oznacza, że ​​średnia temperatura silnika wynosi około 45°C (113°F).

  • Typowy zakres temperatur roboczych układu napędowego wynosi w przybliżeniu od 20°C (68°F) do 70°C (158°F).

woltaż#

Napięcie voltage zwraca napięcie elektryczne dostarczane do układu napędowego.

Napięcie to ciśnienie elektryczne dostarczane do silników układu napędowego. Można je porównywać z wartościami prądu i mocy, aby zrozumieć, w jaki sposób układ napędowy wykorzystuje energię elektryczną.

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

Parameters

Parametr

Typ

Opis

units

voltageUnits

Jednostka zwracanego napięcia: volt (wolty, domyślnie) lub voltageUnits::mV (miliwolty).

Return Values

Zwraca napięcie układu napędowego jako double w wybranej jednostce.