Układ napędowy#

Wstęp#

Klasa 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 żyroskopowego ani czujnika bezwładnościowego do 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. Do skrętów opartych na kursie i obrocie należy użyć klasy smartdrive.

Ta strona używa przykładowej nazwy układu napędowego myDrivetrain W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.

Klasy pochodne#

Klasa układu napędowego drivetrain służy jako klasa bazowa dla następującej klasy pochodnej:

  • smartdrive - Tworzy układ napędowy z obsługą czujnika żyroskopowego lub czujnika bezwładnościowego.

Konstruktory klas#

1 - Tworzy układ napędowy wykorzystujący motor_group dla lewej i prawej strony.

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

Funkcje członkowskie#

Klasa drivetrain zawiera następujące funkcje członkowskie:

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 lub obrotów.

  • stop - Zatrzymuje ruch robota.

Ustawienia — 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, jak długo robot będzie próbował zakończyć ruch.

Wartości - 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 układu napędowego.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej drivetrain należy utworzyć obiekt drivetrain.

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

Akcje#

prowadzić#

Napęd drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie otrzyma innej akcji, takiej jak obrót lub zatrzymanie.

Available Functions

1 - Napędy wykorzystują aktualną 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 wynosić od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 120 obr./min przy użyciu rpmlub od 0 do 720 stopni na sekundę przy użyciu 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 oczekuje. Projekt natychmiast uruchomi następną linijkę kodu.

  • Robot będzie się poruszał, aż do momentu wywołania funkcji stop lub uruchomienia innej funkcji ruchu układu napędowego.

  • isDone i isMoving nie są używane z drive ponieważ drive nie ma odległości docelowej.

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 będzie czekał, aż robot zakończy ruch, zanim uruchomi się kolejny wiersz kodu.

Available Functions

1 - Jedzie w określonym kierunku na określoną odległość, wykorzystując aktualną prędkość jazdy.

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

2 - Napęd jedzie w kierunku określonym na podstawie wartości odległości, korzystając z aktualnej prędkości napędu.

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

3 - Jedzie w kierunku na podstawie wartości 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 wynosić od 0% do 100% przy użyciu velocityUnits::pct, od 0 do 120 obr./min przy użyciu rpmlub od 0 do 720 stopni na sekundę przy użyciu 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
  • Uruchomienie innej funkcji ruchu układu napędowego, podczas gdy działa funkcja driveFor , spowoduje przerwanie bieżącego ruchu.

  • driveFor używa odległości docelowej, więc można z nią używać isDone i isMoving.

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.

Available Functions

1 - Zakręty wykonywane są z wykorzystaniem aktualnej prędkości skrę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 120 obr./min przy użyciu rpmlub od 0 do 720 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

Ta funkcja nie zwraca wartości.

Notes
  • turn to brak oczekiwania. Projekt natychmiast uruchomi kolejną linię kodu.

  • Robot będzie się obracał, aż do momentu wywołania funkcji stop lub uruchomienia innej funkcji ruchu układu napędowego.

  • isDone i isMoving nie są używane z turn ponieważ turn nie ma kąta docelowego.

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, obrotów lub jednostek obrotu. Obrót jest względny względem bieżącej pozycji robota. Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny wiersz kodu.

Available Functions

1 - Wykonuje zakręty pod określonym kątem, wykorzystując aktualną prędkość skrętu.

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

2 - Skręca w określonym kierunku o określony kąt, wykorzystując aktualną prędkość 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

Wartość obrotu robota.

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 120 obr./min przy użyciu rpmlub od 0 do 720 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
  • Uruchomienie innej funkcji ruchu układu napędowego, gdy działa funkcja turnFor turnFor spowoduje przerwanie bieżącego ruchu.

  • turnFor używa kąta docelowego, więc można z nim używać isDone i isMoving.

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, wykorzystując bieżący tryb zatrzymywania.

void stop();

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

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 – że jedzie wolniej.

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 120 obr./min przy użyciu rpmlub od 0 do 720 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 jest wykorzystywana przez późniejsze funkcje ruchu układu napędowego, 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#

setTurnVelocity określa, jak szybko robot ma się skręcić. Wyższy procent powoduje, że robot skręca szybciej, a niższy – że skręca wolniej.

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 120 obr./min przy użyciu rpm, lub od 0 do 720 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ść obrotu jest wykorzystywana przez późniejsze funkcje obrotu układu napędowego, 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 jest używany w późniejszych wywołaniach stop, chyba że w wywołaniu funkcji podano konkretny tryb zatrzymywania.

  • Jeżeli ta funkcja nie zostanie użyta, robot podczas zatrzymywania będzie używał hamulca brake.

ustawLimitCzasu#

setTimeout ustawia, jak długo robot będzie próbował zakończyć ruch. Jeśli robot nie zdoła tego zrobić 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 układu napędowego, które przesuwają się do celu, takich jak driveFor i turnFor.

Examples
// Turn right after driving forward.
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 działa z funkcjami ruchu układu napędowego opartymi na celu, takimi jak driveFor i turnFor.

  • isDone nie jest używane z drive lub turn, ponieważ te funkcje nie przesuwają się do 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
  • isMoving współpracuje z funkcjami ruchu układu napędowego opartymi na celu, takimi jak driveFor i turnFor.

  • Funkcja isMoving nie jest używana z funkcjami drive lub turn, ponieważ te funkcje nie powodują ruchu do celu.

prędkość#

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

Może zwracać prędkość w procentach, w rpmlub dps. 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 zwracająca prędkość w: percent, pct, rpmlub dps.

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 natężenie prądu układu napędowego w amperach.

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

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

double current(
    percentUnits units );

Parameters

Parametr

Typ

Opis

units

currentUnits

Jednostka zwracająca prąd o natężeniu: amp.

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 moc zużywaną 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.

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.

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

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

woltaż#

Napięcie voltage zwraca napięcie elektryczne 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 (domyślnie) lub voltageUnits::mV. voltageUnits::mV oznacza miliwolty.

Return Values

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