Antriebsstrang#

Einführung#

Der Antriebsstrang der Klasse drivetrain steuert das Fahr- und Kurvenverhalten eines Roboters. Ein Antriebsstrang besteht aus Motoren und Rädern, die zusammenarbeiten, um den Roboter zu bewegen.

A drivetrain does not use a Gyro Sensor for heading-based or rotation-based turns. It can drive forward or reverse and turn left or right, but it cannot turn to a specific heading or rotation. For heading-based and rotation-based turns, use the smartdrive class.

Diese Seite verwendet myDrivetrain als Beispielnamen für den Antriebsstrang. Ersetzen Sie diesen bei Bedarf durch Ihren eigenen, konfigurierten Namen.

Abgeleitete Klassen#

Die Klasse drivetrain dient als Basisklasse für die folgende abgeleitete Klasse:

  • smartdrive - Erstellt einen Antriebsstrang mit Gyrosensorunterstützung.

Klassenkonstruktoren#

1 - Erstellt einen Antriebsstrang unter Verwendung von motor_group Objekten für die linke und rechte Seite.

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

2 - Erstellt einen Antriebsstrang unter Verwendung von motor Objekten für die linke und rechte Seite.

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

Klassendestruktor#

Zerstört das Antriebsstrangobjekt drivetrain zugehörigen Ressourcen frei.

virtual ~drivetrain();

Parameter#

Parameter

Typ

Beschreibung

&l / &r

motor_group / motor

The left and right motors or motor groups. Both parameters must use the same type: either two motor_group objects or two motor objects.

wheelTravel

double

Der Umfang der Antriebsräder. Der Standardwert ist 320.

trackWidth

double

Der Abstand zwischen dem linken und rechten Rad. Der Standardwert ist 320.

wheelBase

double

Der Abstand zwischen Vorder- und Hinterrädern. Der Standardwert ist 130.

unit

distanceUnits

Die Einheit für wheelTravel, trackWidthund wheelBase: mm (Standard) oder inches.

externalGearRatio

double

Das Übersetzungsverhältnis, das zur Anpassung der Antriebsdistanzen verwendet wird, falls Zahnräder zum Einsatz kommen. Der Standardwert ist 1.0.

Beispiel#

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

Mitgliedsfunktionen#

Die Antriebsstrangklasse drivetrain umfasst die folgenden Memberfunktionen:

Aktionen – Den Roboter bewegen und drehen.

  • drive - Bewegt den Roboter endlos vorwärts oder rückwärts.

  • driveFor - Bewegt den Roboter vorwärts oder rückwärts über eine bestimmte Distanz.

  • turn - Dreht den Roboter endlos nach links oder rechts.

  • turnFor - Dreht den Roboter um eine bestimmte Anzahl von Grad oder Umdrehungen nach links oder rechts.

  • stop - Stoppt die Bewegung des Roboters.

Einstellungen – Antriebsstrangeinstellungen anpassen.

  • setDriveVelocity - Sagt dem Roboter, wie schnell er fahren soll.

  • setTurnVelocity - Sagt dem Roboter, wie schnell er sich drehen soll.

  • setStopping - Gibt an, wie der Roboter seine Bewegung stoppen wird: durch Bremsen, Ausrollen oder Anhalten.

  • setTimeout - Legt fest, wie lange der Roboter versucht, eine Bewegung abzuschließen.

Werte – Bewegungsstatus prüfen.

  • isDone - Gibt als booleschen Wert zurück, ob der Roboter seine Bewegung beendet hat.

  • isMoving - Gibt als booleschen Wert zurück, ob sich der Roboter bewegt.

  • velocity - Gibt die Geschwindigkeit des Roboters zurück.

  • current - Gibt zurück, wie viel elektrischer Strom der Antriebsstrang verbraucht.

  • power - Gibt zurück, wie schnell der Antriebsstrang Energie verbraucht.

  • torque - Gibt zurück, wie viel Drehmoment der Antriebsstrang verwendet.

  • efficiency - Gibt an, wie effizient der Antriebsstrang die Leistung nutzt.

  • temperature - Gibt zurück, wie warm der Antriebsstrang ist.

  • voltage - Gibt die elektrische Spannung des Antriebsstrangs zurück.

Bevor drivetrain Memberfunktionen aufgerufen werden können, muss ein drivetrain -Objekt erstellt werden.

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

Aktionen#

fahren#

drive endlos. Der Roboter bewegt sich so lange, bis ihm eine andere Aktion zugewiesen wird, z. B. Drehen oder Anhalten.

Available Functions

1 - Antriebe unter Verwendung der aktuellen Antriebsgeschwindigkeit.

void drive(
    directionType dir );

2 - Fährt mit der angegebenen Geschwindigkeit.

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

Parameters

Parameter

Typ

Beschreibung

dir

directionType

Die Bewegungsrichtung des Roboters: forward oder reverse.

velocity

double

Die Fahrgeschwindigkeit variiert zwischen 0 % und 100 % bei Verwendung velocityUnits::pct, zwischen 0 und 120 U/min bei Verwendung rpmoder zwischen 0 und 720 Grad pro Sekunde bei Verwendung dps. Wird keine Geschwindigkeit angegeben, fährt der Roboter mit der aktuellen Fahrgeschwindigkeit.

units

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Laufwerk drive warten nicht. Das Projekt führt die nächste Codezeile sofort aus.

  • Der Roboter bewegt sich so lange weiter, bis stop aufgerufen wird oder eine andere Antriebsstrang-Bewegungsfunktion ausgeführt wird.

  • isDone und isMoving werden nicht mit drive verwendet, da drive keine Zielentfernung hat.

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

fahren für#

driveFor bewegt den Roboter eine bestimmte Strecke vorwärts oder rückwärts. Das Projekt wartet, bis der Roboter die Bewegung abgeschlossen hat, bevor die nächste Codezeile ausgeführt wird.

Available Functions

1 - Fährt in der angegebenen Richtung über eine bestimmte Distanz mit der aktuellen Fahrgeschwindigkeit.

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

2 - Fährt in eine Richtung, die auf dem Entfernungswert basiert, unter Verwendung der aktuellen Fahrgeschwindigkeit.

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

3 - Fährt in eine Richtung, die auf dem Entfernungswert basiert, mit der angegebenen Geschwindigkeit.

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

4 - Fährt in der angegebenen Richtung über eine bestimmte Distanz mit der angegebenen Geschwindigkeit.

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

Parameters

Parameter

Typ

Beschreibung

dir

directionType

Die Bewegungsrichtung des Roboters: forward oder reverse.

distance

double

Die vom Roboter zurückgelegte Strecke.

units

distanceUnits

Die Distanzeinheit: mm (Millimeter), inchesoder cm (Zentimeter).

velocity

double

Die Fahrgeschwindigkeit variiert zwischen 0 % und 100 % bei Verwendung velocityUnits::pct, zwischen 0 und 120 U/min bei Verwendung rpmoder zwischen 0 und 720 Grad pro Sekunde bei Verwendung dps. Wird keine Geschwindigkeit angegeben, fährt der Roboter mit der aktuellen Fahrgeschwindigkeit.

units_v

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

waitForCompletion

bool

true (Standard) bewirkt, dass das Projekt wartet, bis der Roboter seine Bewegung abgeschlossen hat, bevor die nächste Codezeile ausgeführt wird. false bewirkt, dass die nächste Codezeile sofort ausgeführt wird.

Return Values

Gibt als booleschen Wert zurück, ob der Roboter die Zieldistanz erreicht hat.

  • true - Der Roboter hat die Zieldistanz erreicht.

  • false - Der Roboter hat die Bewegung nicht beendet, oder die Funktion kehrte zurück, bevor die Bewegung abgeschlossen war, weil waitForCompletion auf false gesetzt war.

Notes
  • Wenn eine andere Antriebsbewegungsfunktion ausgeführt wird, während driveFor läuft, wird die aktuelle Bewegung unterbrochen.

  • driveFor verwendet eine Zieldistanz, daher können isDone und isMoving damit verwendet werden.

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

drehen#

turn links oder rechts, und zwar endlos. Der Roboter dreht sich so lange, bis er eine andere Aktion erhält, z. B. Fahren oder Anhalten.

Available Functions

1 - Führt Drehungen mit der aktuellen Drehgeschwindigkeit durch.

void turn(
    turnType dir );

2 - Dreht sich mit der angegebenen Geschwindigkeit.

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

Parameters

Parameter

Typ

Beschreibung

dir

turnType

Die Richtung, in die sich der Roboter dreht: left oder right.

velocity

double

Die Drehgeschwindigkeit variiert zwischen 0 % und 100 % bei Verwendung velocityUnits::pct, zwischen 0 und 120 U/min bei Verwendung rpmoder zwischen 0 und 720 Grad pro Sekunde bei Verwendung dps. Wird keine Geschwindigkeit angegeben, dreht sich der Roboter mit der aktuellen Drehgeschwindigkeit.

units

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • turn bedeutet, dass nicht gewartet wird. Das Projekt führt die nächste Codezeile sofort aus.

  • Der Roboter dreht sich so lange weiter, bis stop aufgerufen wird oder eine andere Antriebsstrang-Bewegungsfunktion ausgeführt wird.

  • isDone und isMoving werden nicht mit turn verwendet, da turn keinen Zielwinkel hat.

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

turnFor#

Der Befehl turnFor dreht den Roboter um eine bestimmte Anzahl von Grad, Umdrehungen oder Einheiten nach links oder rechts. Die Drehung erfolgt relativ zur aktuellen Position des Roboters. Das Projekt wartet, bis der Roboter die Drehung abgeschlossen hat, bevor die nächste Codezeile ausgeführt wird.

Available Functions

1 - Führt Drehungen um den angegebenen Winkel mit der aktuellen Drehgeschwindigkeit durch.

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

2 - Führt unter Verwendung der aktuellen Drehgeschwindigkeit eine Drehung in die angegebene Richtung um einen bestimmten Winkel durch.

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

3 - Umdrehungen um den angegebenen Winkel mit der angegebenen Geschwindigkeit.

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

4 - Dreht sich in der angegebenen Richtung um einen Winkel mit der angegebenen Geschwindigkeit.

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

Parameters

Parameter

Typ

Beschreibung

dir

turnType

Die Richtung, in die sich der Roboter dreht: left oder right.

angle

double

Die Umdrehungszahl des Roboters.

units

rotationUnits

Die Dreheinheit: deg ), rev ) oder raw ). Eine Umdrehung entspricht 360 Grad.

velocity

double

Die Drehgeschwindigkeit variiert zwischen 0 % und 100 % bei Verwendung velocityUnits::pct, zwischen 0 und 120 U/min bei Verwendung rpmoder zwischen 0 und 720 Grad pro Sekunde bei Verwendung dps. Wird keine Geschwindigkeit angegeben, dreht sich der Roboter mit der aktuellen Drehgeschwindigkeit.

units_v

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

waitForCompletion

bool

true (Standard) bewirkt, dass das Projekt wartet, bis der Roboter seine Drehung abgeschlossen hat, bevor die nächste Codezeile ausgeführt wird. false bewirkt, dass die nächste Codezeile sofort ausgeführt wird.

Return Values

Gibt als booleschen Wert zurück, ob der Roboter den Zielwinkel erreicht hat.

  • true - Der Roboter hat den Zielwinkel erreicht.

  • false - Der Roboter hat die Drehung nicht beendet, oder die Funktion kehrte zurück, bevor die Drehung abgeschlossen war, weil waitForCompletion auf false gesetzt war.

Notes
  • Die Ausführung einer anderen Antriebsbewegungsfunktion, während turnFor ausgeführt wird, unterbricht die aktuelle Bewegung.

  • turnFor verwendet einen Zielwinkel, daher können isDone und isMoving damit verwendet werden.

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

stoppen#

stop stoppt die Bewegung des Roboters. Falls ein Stoppmodus angegeben ist, steuert dieser, wie der Roboter bei diesem Funktionsaufruf stoppt.

Available Functions

1 - Unterbricht den Antriebsstrang mit dem aktuellen Bremsmodus.

void stop();

2 - Stoppt den Antriebsstrang mit Hilfe des angegebenen Stoppmodus.

void stop(
    brakeType mode );

Parameters

Parameter

Typ

Beschreibung

mode

brakeType

So stoppt der Roboter:

  • brake – Hält sofort an.
  • coast – Verlangsamt bis zum Stillstand.
  • hold – Hält sofort an und hält die Radposition.

Return Values

Diese Funktion gibt keinen Wert zurück.

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

Mutatoren#

setDriveVelocity#

Der Wert setDriveVelocity gibt dem Roboter die Fahrgeschwindigkeit vor. Ein höherer Prozentwert beschleunigt den Roboter, ein niedrigerer Prozentwert verlangsamt ihn.

Jedes Projekt beginnt standardmäßig damit, dass der Roboter mit 50 % Geschwindigkeit fährt.

Hinweis: Eine höhere Geschwindigkeit lässt den Roboter schneller fahren, kann aber die Präzision verringern. Eine niedrigere Geschwindigkeit lässt den Roboter langsamer fahren, kann aber die Präzision erhöhen.

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

Parameters

Parameter

Typ

Beschreibung

velocity

double

Die Geschwindigkeit, mit der gefahren werden soll, von 0 % bis 100 %, wenn velocityUnits::pctverwendet wird, von 0 bis 120 U/min, wenn rpmverwendet wird, oder von 0 bis 720 Grad pro Sekunde, wenn dps verwendet wird.

units

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Die Antriebsgeschwindigkeit wird von nachfolgenden Antriebsstrangbewegungsfunktionen verwendet, es sei denn, beim Funktionsaufruf wird eine spezifische Geschwindigkeit angegeben.

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

setTurnVelocity#

Der Wert setTurnVelocity gibt dem Roboter die Drehgeschwindigkeit vor. Ein höherer Prozentsatz beschleunigt die Drehung, ein niedrigerer verlangsamt sie.

Jedes Projekt beginnt standardmäßig damit, dass sich der Roboter mit 50 % Geschwindigkeit dreht.

Hinweis: Eine höhere Geschwindigkeit führt zu schnelleren Drehungen des Roboters, kann aber die Präzision verringern. Eine niedrigere Geschwindigkeit verlangsamt die Drehung, kann aber die Präzision erhöhen.

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

Parameters

Parameter

Typ

Beschreibung

velocity

double

Die Drehzahl, mit der von 0 % bis 100 % gedreht werden soll, wenn velocityUnits::pctverwendet wird, von 0 bis 120 U/min bei Verwendung rpmoder von 0 bis 720 Grad pro Sekunde bei Verwendung dps.

units

velocityUnits

Die Geschwindigkeitseinheit: velocityUnits::pct (Prozent), rpm (Umdrehungen pro Minute) oder dps (Grad pro Sekunde).

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Die Kurvengeschwindigkeit wird von nachfolgenden Antriebsstrang-Drehfunktionen verwendet, es sei denn, im Funktionsaufruf wird eine spezifische Geschwindigkeit angegeben.

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 legt fest, wie der Roboter seine Bewegung beendet: durch Bremsen, Ausrollen oder Anhalten.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parameter

Typ

Beschreibung

mode

brakeType

So stoppt der Roboter:

  • brake – Hält sofort an.
  • coast – Verlangsamt bis zum Stillstand.
  • hold – Hält sofort an und hält die Radposition.

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Der Stoppmodus wird von späteren stop-Aufrufen verwendet, es sei denn, im Funktionsaufruf wird ein spezifischer Stoppmodus angegeben.

  • Wenn diese Funktion nicht verwendet wird, verwendet der Roboter beim Anhalten die Bremse brake.

setTimeout#

setTimeout wird festgelegt, wie lange der Roboter versucht, eine Bewegung abzuschließen. Gelingt ihm dies nicht innerhalb dieser Zeit, bricht er den Versuch ab und fährt mit der nächsten Codezeile fort. Dadurch wird verhindert, dass der Roboter bei einer Bewegung hängen bleibt.

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

Parameters

Parameter

Typ

Beschreibung

time

int32_t

Die Zeitspanne, in der der Roboter versuchen kann, eine Bewegung abzuschließen. Dies sollte eine positive ganze Zahl sein.

units

timeUnits

Die Zeiteinheit: sec (Sekunden) oder msec (Millisekunden).

Return Values

Diese Funktion gibt keinen Wert zurück.

Notes
  • Das Timeout gilt nur für Antriebsstrangfunktionen, die sich zu einem Ziel bewegen, wie z. B. driveFor und turnFor.

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

Getter#

ist fertig#

Die Funktion isDone gibt als booleschen Wert zurück, ob der Roboter seine Bewegung beendet hat isDone . Dieser Wert kann verwendet werden, um den Zeitpunkt anderer Verhaltensweisen basierend auf der Bewegung des Roboters zu steuern.

Available Functions
bool isDone( void );

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values
  • true - Der Roboter hat seine Bewegung beendet.

  • false - Der Roboter bewegt sich noch.

Notes
  • isDone funktioniert mit zielbasierten Antriebsstrangbewegungsfunktionen, wie z. B. driveFor und turnFor.

  • isDone wird nicht mit drive oder turn verwendet, da diese Funktionen nicht zu einem Ziel fahren.

bewegt sich#

Die Funktion isMoving gibt als booleschen Wert zurück, ob sich der Roboter bewegt isMoving . Dieser Wert kann verwendet werden, um den Zeitpunkt anderer Verhaltensweisen basierend auf der Bewegung des Roboters zu steuern.

Available Functions
virtual bool isMoving( void );

Parameters

Diese Funktion akzeptiert keine Parameter.

Return Values
  • true - Der Roboter bewegt sich.

  • false - Der Roboter bewegt sich nicht.

Notes
  • isMoving funktioniert mit zielbasierten Antriebsstrangbewegungsfunktionen, wie z. B. driveFor und turnFor.

  • isMoving wird nicht mit drive oder turn verwendet, da diese Funktionen nicht zu einem Ziel fahren.

Geschwindigkeit#

velocity gibt an, wie schnell der Roboter fährt.

Die Geschwindigkeit kann als Prozentsatz, in rpmoder in dpsangegeben werden. Ein positiver Wert bedeutet, dass der Roboter vorwärts fährt. Ein negativer Wert bedeutet, dass der Roboter rückwärts fährt.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parameter

Typ

Beschreibung

units

velocityUnits

Die Einheit, in der die Geschwindigkeit zurückgegeben wird: percent, pct, rpm, oder dps.

Return Values

Gibt die Antriebsstranggeschwindigkeit als double in der ausgewählten Einheit zurück.

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

aktuell#

Die Stromstärke current gibt an, wie viel Strom der Antriebsstrang verbraucht. Die Stromstärke ist die elektrische Menge, die durch den Antriebsstrang fließt. Sie kann je nach Gerät in Ampere (A) oder als Prozentsatz angegeben werden.

Ein höherer Stromwert bedeutet, dass der Antriebsstrang mehr Strom verbraucht. Dies kann vorkommen, wenn der Roboter gegen ein Hindernis drückt oder versucht, sich aus einer festgefahrenen Situation zu befreien.

Dies kann genutzt werden, um zu überprüfen, ob der Antriebsstrang während einer Bewegung überlastet ist. Bleibt der Stromfluss hoch, kann der Antriebsstrang sich erwärmen oder die Energie weniger effizient nutzen.

Available Functions

1 - Gibt den elektrischen Strom des Antriebsstrangs in Ampere zurück.

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

2 - Gibt den elektrischen Strom des Antriebsstrangs als Prozentsatz zurück.

double current(
    percentUnits units );

Parameters

Parameter

Typ

Beschreibung

units

currentUnits

Die Einheit, die den Strom zurückführt: amp.

units

percentUnits

Die Einheit, in der der Strom zurückgeführt werden soll: percent oder pct.

Return Values

Gibt den Antriebsstrangstrom als double in der ausgewählten Einheit zurück.

Leistung#

Die Leistungsangabe power gibt an, wie viel Leistung der Antriebsstrang in Watt verbraucht. Die Leistungsangabe zeigt, wie schnell der Antriebsstrang Energie verbraucht.

Ein höherer Leistungswert bedeutet, dass der Antriebsstrang schneller Energie verbraucht. Dies kann vorkommen, wenn der Roboter gegen ein Hindernis drückt oder versucht, sich aus einer festgefahrenen Situation zu befreien.

Dies kann genutzt werden, um Bewegungen zu vergleichen oder zu überprüfen, ob der Antriebsstrang überlastet ist. Bei anhaltend hoher Leistung kann der Antriebsstrang wärmer werden oder die Energie weniger effizient nutzen.

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

Parameters

Parameter

Typ

Beschreibung

units

powerUnits

Die Leistungseinheit: watt.

Return Values

Gibt die Antriebsstrangleistung als double in Watt zurück.

Drehmoment#

Das Drehmoment gibt an, wie stark der Antriebsstrang drücken oder ziehen kann, während sich die Räder drehen.

torque gibt an, wie viel Drehmoment der Antriebsstrang verwendet, gemessen in Newtonmeter (Nm) oder Inch-Pfund (InLb).

Ein höherer Drehmomentwert bedeutet, dass der Antriebsstrang stärker drückt oder zieht. Dies kann vorkommen, wenn der Roboter gegen ein Hindernis drückt oder versucht, sich aus einer festgefahrenen Situation zu befreien.

Dies kann genutzt werden, um zu überprüfen, ob der Antriebsstrang überlastet ist oder um zu vergleichen, wie viel Schubkraft für verschiedene Bewegungen benötigt wird.

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

Parameters

Parameter

Typ

Beschreibung

units

torqueUnits

Die Einheit für das Rückdrehmoment ist: Nm (Newtonmeter, Standard) oder InLb (Zoll-Pfund).

Return Values

Gibt das Antriebsstrangdrehmoment als double in der ausgewählten Einheit zurück.

Effizienz#

efficiency gibt an, wie effizient der Antriebsstrang die Leistung nutzt, als Prozentsatz von 0% bis 100%.

Der Wirkungsgrad gibt an, wie viel der Antriebsleistung für die Bewegung genutzt wird. Ein höherer Wirkungsgrad bedeutet, dass mehr Antriebsleistung für die Bewegung verwendet wird. Ein niedriger Wirkungsgrad kann auftreten, wenn der Antriebsstrang stark beansprucht wird, sich aber kaum bewegt, beispielsweise wenn der Roboter feststeckt oder gegen ein Hindernis stößt.

Dies kann genutzt werden, um Bewegungen zu vergleichen oder zu überprüfen, ob der Antriebsstrang Energie verschwendet, anstatt sie für die Bewegung zu nutzen.

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

Parameters

Parameter

Typ

Beschreibung

units

percentUnits

Die Einheit, in der die Effizienz zurückgegeben werden soll: percent oder pct.

Return Values

Gibt den Wirkungsgrad des Antriebsstrangs als double in der ausgewählten Einheit zurück.

Temperatur#

temperature gibt die durchschnittliche Temperatur des Antriebsstrangs als Prozentsatz von 0% bis 100% zurück.

Die Temperaturanzeige gibt an, wie warm die Antriebsmotoren sind. Eine höhere Temperatur bedeutet, dass die Motoren während des Betriebs wärmer werden. Um ihre volle Leistung zu erbringen, sollten die Motoren unter 55 °C bleiben.

Wenn die Motoren zu heiß werden, reduzieren sie zum Selbstschutz ihren maximalen Strom. Bei 70 °C schalten sich die Motoren ab, bis sie abgekühlt sind.

Dies kann verwendet werden, um zu überprüfen, ob der Antriebsstrang bei wiederholten Bewegungen, langen Fahrten oder beim Drücken gegen ein Objekt zu heiß wird.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parameter

Typ

Beschreibung

units

percentUnits

Die Einheit, in der die Temperatur zurückgegeben werden soll: percent oder pct.

Return Values

Gibt die durchschnittliche Antriebsstrangtemperatur als double in der ausgewählten Einheit zurück.

Notes
  • Ein Rückgabewert von 50% bedeutet, dass die durchschnittliche Motortemperatur etwa 45°C (113°F ) beträgt.

  • Der typische Betriebstemperaturbereich für den Antriebsstrang liegt bei etwa 20°C (68°F) bis 70°C (158°F).

Stromspannung#

voltage gibt die elektrische Spannung des Antriebsstrangs zurück.

Die Spannung ist der elektrische Druck, der den Antriebsmotoren zugeführt wird. Zusammen mit Strom- und Leistungswerten lässt sich daraus ableiten, wie der Antriebsstrang elektrische Energie nutzt.

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

Parameters

Parameter

Typ

Beschreibung

units

voltageUnits

Die Einheit, in der die Spannung zurückgegeben werden soll: volt (Standard) oder voltageUnits::mV. voltageUnits::mV bedeutet Millivolt.

Return Values

Gibt die Antriebsstrangspannung als double in der ausgewählten Einheit zurück.