Σύστημα μετάδοσης κίνησης#

Εισαγωγή#

The drivetrain class controls how a robot drives and turns. A drivetrain is made of motors and wheels that work together to move the robot.

A drivetrain does not use a Gyro Sensor or Inertial 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.

This page uses myDrivetrain as the example drivetrain name. Replace it with your own configured name as needed.

Παράγωγες Κλάσεις#

The drivetrain class serves as a base class for the following derived class:

  • smartdrive - Creates a drivetrain with Gyro Sensor or Inertial Sensor support.

Κατασκευαστές κλάσεων#

1 - Creates a drivetrain using existing motor_group objects for the left and right 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 - Creates a drivetrain using existing motor objects for the left and right sides.

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

Καταστροφέας κλάσης#

Destroys the drivetrain object and releases associated resources.

virtual ~drivetrain();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

&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

The circumference of the drivetrain wheels. The default is 320.

trackWidth

double

The distance between the left and right wheels. The default is 320.

wheelBase

double

The distance between the front and back wheels. The default is 130.

unit

distanceUnits

The unit for wheelTravel, trackWidth, and wheelBase: mm (default) or inches.

externalGearRatio

double

The gear ratio used to adjust drive distances if gears are used. The default is 1.0.

Παράδειγμα#

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

Συναρτήσεις Μελών#

The drivetrain class includes the following member functions:

Ενέργειες - Μετακίνηση και περιστροφή του ρομπότ.

  • drive - Moves the robot forward or reverse forever.

  • driveFor - Moves the robot forward or reverse for a specific distance.

  • turn - Turns the robot left or right forever.

  • turnFor - Turns the robot left or right for a specific number of degrees or revolutions.

  • stop - Stops the robot’s movement.

Ρυθμίσεις - Προσαρμόστε τις ρυθμίσεις του συστήματος μετάδοσης κίνησης.

  • setDriveVelocity - Tells the robot how fast to drive.

  • setTurnVelocity - Tells the robot how fast to turn.

  • setStopping - Tells how the robot will stop moving: by braking, coasting, or holding.

  • setTimeout - Sets how long the robot will try to finish a movement.

Τιμές - Ελέγξτε την κατάσταση της κίνησης.

  • isDone - Returns whether the robot is finished moving, as a Boolean value.

  • isMoving - Returns whether the robot is moving, as a Boolean value.

  • velocity - Returns how fast the robot is driving.

  • current - Returns how much electrical current the drivetrain is using.

  • power - Returns how quickly the drivetrain is using energy.

  • torque - Returns how much torque the drivetrain is using.

  • efficiency - Returns how efficiently the drivetrain is using power.

  • temperature - Returns how warm the drivetrain is.

  • voltage - Returns the electrical voltage of the drivetrain.

Before calling any drivetrain member functions, a drivetrain object must be created.

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

Ενέργειες#

οδηγώ#

drive moves the robot forward or reverse forever. The robot will continue to move until it is given another action, like turning or stopping.

Available Functions

1 - Οδηγεί χρησιμοποιώντας την τρέχουσα ταχύτητα κίνησης.

void drive(
    directionType dir );

2 - Οδηγεί με την καθορισμένη ταχύτητα.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

dir

directionType

The direction the robot moves: forward or reverse.

velocity

double

The velocity to drive with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps. If no velocity is provided, the robot drives at the current drive velocity.

units

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

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

  • The robot will continue to move until stop is called or another drivetrain movement function runs.

  • isDone and isMoving are not used with drive because drive does not have a target distance.

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

driveFor#

driveFor moves the robot forward or reverse for a specific distance. The project will wait until the robot is done moving before the next line of code runs.

Available Functions

1 - Οδηγεί στην καθορισμένη κατεύθυνση για μια απόσταση χρησιμοποιώντας την τρέχουσα ταχύτητα οδήγησης.

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

2 - Οδηγεί σε μια κατεύθυνση με βάση την τιμή απόστασης χρησιμοποιώντας την τρέχουσα ταχύτητα οδήγησης.

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

3 - Οδηγεί σε μια κατεύθυνση με βάση την τιμή απόστασης στην καθορισμένη ταχύτητα.

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

4 - Οδηγεί στην καθορισμένη κατεύθυνση για μια απόσταση με την καθορισμένη ταχύτητα.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

dir

directionType

The direction the robot moves: forward or reverse.

distance

double

Η απόσταση που διανύει το ρομπότ.

units

distanceUnits

The distance unit: mm (millimeters), inches, or cm (centimeters).

velocity

double

The velocity to drive with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps. If no velocity is provided, the robot drives at the current drive velocity.

units_v

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

waitForCompletion

bool

true (default) makes the project wait until the robot is done moving before the next line of code runs. false makes the next line of code run right away.

Return Values

Επιστρέφει εάν το ρομπότ έφτασε στην απόσταση-στόχο, ως λογική τιμή.

  • true - The robot reached the target distance.

  • false - The robot did not finish the movement, or the function returned before the movement completed because waitForCompletion was set to false.

Notes
  • Running another drivetrain movement function while driveFor is running will interrupt the current movement.

  • driveFor uses a target distance, so isDone and isMoving can be used with it.

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

σειρά#

turn turns the robot left or right forever. The robot will continue to turn until it is given another action, like driving or stopping.

Available Functions

1 - Στροφές χρησιμοποιώντας την τρέχουσα ταχύτητα στροφής.

void turn(
    turnType dir );

2 - Στρέφεται με την καθορισμένη ταχύτητα.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

dir

turnType

The direction the robot turns: left or right.

velocity

double

The velocity to turn with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps. If no velocity is provided, the robot turns at the current turn velocity.

units

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

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

  • The robot will continue turning until stop is called or another drivetrain movement function runs.

  • isDone and isMoving are not used with turn because turn does not have a target angle.

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

στροφήΓια#

turnFor turns the robot left or right for a specific number of degrees, revolutions, or raw units. The turn is relative to the current position of the robot. The project will wait until the robot is done turning before the next line of code runs.

Available Functions

1 - Στροφές για την καθορισμένη γωνία χρησιμοποιώντας την τρέχουσα ταχύτητα στροφής.

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

2 - Στρέφεται προς την καθορισμένη κατεύθυνση για μια γωνία χρησιμοποιώντας την τρέχουσα ταχύτητα στροφής.

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

3 - Στρέφεται για την καθορισμένη γωνία με την καθορισμένη ταχύτητα.

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

4 - Στρέφεται προς την καθορισμένη κατεύθυνση για μια γωνία με την καθορισμένη ταχύτητα.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

dir

turnType

The direction the robot turns: left or right.

angle

double

Η ποσότητα που γυρίζει το ρομπότ.

units

rotationUnits

The turn unit: deg (degrees), rev (revolutions), or raw (raw units). One revolution is equal to 360 degrees.

velocity

double

The velocity to turn with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps. If no velocity is provided, the robot turns at the current turn velocity.

units_v

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

waitForCompletion

bool

true (default) makes the project wait until the robot is done turning before the next line of code runs. false makes the next line of code run right away.

Return Values

Επιστρέφει εάν το ρομπότ έφτασε στη γωνία-στόχο, ως λογική τιμή.

  • true - The robot reached the target angle.

  • false - The robot did not finish the turn, or the function returned before the turn completed because waitForCompletion was set to false.

Notes
  • Running another drivetrain movement function while turnFor is running will interrupt the current movement.

  • turnFor uses a target angle, so isDone and isMoving can be used with it.

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

στάση#

stop stops the robot’s movement. If a stopping mode is provided, it controls how the robot stops for this function call.

Available Functions

1 - Σταματά το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την τρέχουσα λειτουργία ακινητοποίησης.

void stop();

2 - Σταματά το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την καθορισμένη λειτουργία ακινητοποίησης.

void stop(
    brakeType mode );

Parameters

Παράμετρος

Τύπος

Περιγραφή

mode

brakeType

How the robot will stop:

  • brake - Stops immediately.
  • coast - Slows to a stop.
  • hold - Stops immediately and holds the wheels’ position.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

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

Μεταλλάκτες#

setDriveVelocity#

setDriveVelocity tells the robot how fast to drive. A higher percentage makes the robot drive faster and a lower percentage makes the robot drive slower.

Κάθε έργο ξεκινά με το ρομπότ να κινείται με ταχύτητα 50% από προεπιλογή.

Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβές. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο αργά, αλλά μπορεί να είναι πιο ακριβές.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

velocity

double

The velocity to drive with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps.

units

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η ταχύτητα κίνησης χρησιμοποιείται από μεταγενέστερες συναρτήσεις κίνησης του συστήματος μετάδοσης κίνησης, εκτός εάν παρέχεται μια συγκεκριμένη ταχύτητα στην κλήση της συνάρτησης.

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

setTurnVelocity#

setTurnVelocity tells the robot how fast to turn. A higher percentage makes the robot turn faster and a lower percentage makes the robot turn slower.

Κάθε έργο ξεκινά με το ρομπότ να περιστρέφεται με ταχύτητα 50% από προεπιλογή.

Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβής. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο αργά, αλλά μπορεί να είναι πιο ακριβής.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

velocity

double

The velocity to turn with from 0% to 100% when using velocityUnits::pct, from 0 to 120 rpm when using rpm, or from 0 to 720 degrees per second when using dps.

units

velocityUnits

The velocity unit: velocityUnits::pct (percent), rpm (rotations per minute), or dps (degrees per second).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • Η ταχύτητα στροφής χρησιμοποιείται από μεταγενέστερες συναρτήσεις στροφής του συστήματος μετάδοσης κίνησης, εκτός εάν παρέχεται συγκεκριμένη ταχύτητα στην κλήση της συνάρτησης.

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 sets how the robot will stop moving: by braking, coasting, or holding.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Παράμετρος

Τύπος

Περιγραφή

mode

brakeType

How the robot will stop:

  • brake - Stops immediately.
  • coast - Slows to a stop.
  • hold - Stops immediately and holds the wheels’ position.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • The stopping mode is used by later stop calls unless a specific stopping mode is provided in the function call.

  • If this function is not used, the robot will use brake when stopping.

ορισμός χρονικού ορίου#

setTimeout sets how long the robot will try to finish a movement. If the robot cannot finish in that time, it will stop trying and move on to the next line of code. This keeps the robot from getting stuck on a movement.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

time

int32_t

Ο χρόνος που μπορεί να προσπαθήσει το ρομπότ για να ολοκληρώσει μια κίνηση. Αυτός θα πρέπει να είναι ένας θετικός ακέραιος αριθμός.

units

timeUnits

The unit of time: sec (seconds) or msec (milliseconds).

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Notes
  • The timeout only applies to drivetrain functions that move to a target, such as driveFor and turnFor.

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

Αποκτητές#

είναιΟλοκληρωμένο#

isDone returns whether the robot is finished moving, as a Boolean value. This can be used to control the timing of other behaviors based on the robot’s movement.

Available Functions
bool isDone( void );

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values
  • true - The robot is finished moving.

  • false - The robot is still moving.

Notes
  • isDone works with target-based drivetrain movement functions, such as driveFor and turnFor.

  • isDone is not used with drive or turn, since those functions do not move to a target.

Μετακινείται#

isMoving returns whether the robot is moving, as a Boolean value. This can be used to control the timing of other behaviors based on the robot’s movement.

Available Functions
virtual bool isMoving( void );

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values
  • true - The robot is moving.

  • false - The robot is not moving.

Notes
  • isMoving works with target-based drivetrain movement functions, such as driveFor and turnFor.

  • isMoving is not used with drive or turn, since those functions do not move to a target.

ταχύτητα#

velocity returns how fast the robot is driving.

It can return velocity as a percentage, in rpm, or in dps. A positive value means the robot is driving forward. A negative value means the robot is driving in reverse.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

velocityUnits

The unit to return velocity in: percent, pct, rpm, or dps.

Return Values

Returns the drivetrain velocity as a double in the selected unit.

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

ρεύμα#

current returns how much electrical current the drivetrain is using. Current is the amount of electricity flowing through the drivetrain. It can be returned in amps (amperes) or as a percentage, depending on the unit.

Μια υψηλότερη τιμή ρεύματος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί περισσότερο ηλεκτρικό ρεύμα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.

Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες κατά τη διάρκεια μιας κίνησης. Εάν το ρεύμα παραμείνει υψηλό, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ισχύ λιγότερο αποτελεσματικά.

Available Functions

1 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης σε αμπέρ.

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

2 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης ως ποσοστό.

double current(
    percentUnits units );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

currentUnits

The unit to return current in: amp.

units

percentUnits

The unit to return current in: percent or pct.

Return Values

Returns the drivetrain current as a double in the selected unit.

εξουσία#

power returns how much power the drivetrain is using, measured in watts. Power shows how quickly the drivetrain is using energy.

Μια υψηλότερη τιμή ισχύος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια πιο γρήγορα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.

Αυτό μπορεί να χρησιμοποιηθεί για να συγκρίνετε κινήσεις ή να ελέγξετε αν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες. Εάν η ισχύς παραμείνει υψηλή, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ενέργεια λιγότερο αποτελεσματικά.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

powerUnits

The power unit: watt.

Return Values

Returns drivetrain power as a double in watts.

ροπή#

Η ροπή δείχνει πόσο δυνατά μπορεί να σπρώξει ή να τραβήξει το σύστημα μετάδοσης κίνησης ενώ οι τροχοί σπινάρουν.

torque returns how much torque the drivetrain is using, measured in Newton-meters (Nm) or inch-pounds (InLb).

Μια υψηλότερη τιμή ροπής σημαίνει ότι το σύστημα μετάδοσης κίνησης πιέζει ή τραβάει πιο δυνατά. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.

Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το σύστημα μετάδοσης κίνησης δυσκολεύεται ή για να συγκριθεί η ώθηση που χρειάζονται οι διαφορετικές κινήσεις.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

torqueUnits

The unit to return torque in: Nm (newton meters, default) or InLb (inch pounds).

Return Values

Returns drivetrain torque as a double in the selected unit.

αποδοτικότητα#

efficiency returns how efficiently the drivetrain is using power, as a percentage from 0% to 100%.

Η απόδοση δείχνει πόση από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια υψηλότερη τιμή απόδοσης σημαίνει ότι περισσότερη από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια χαμηλότερη τιμή απόδοσης μπορεί να συμβεί όταν το σύστημα μετάδοσης κίνησης λειτουργεί σκληρά αλλά δεν κινείται πολύ, όπως όταν το ρομπότ έχει κολλήσει ή πιέζει ένα αντικείμενο.

Αυτό μπορεί να χρησιμοποιηθεί για τη σύγκριση κινήσεων ή για τον έλεγχο εάν το σύστημα μετάδοσης κίνησης σπαταλά ενέργεια αντί να τη χρησιμοποιεί για κίνηση.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

percentUnits

The unit to return efficiency in: percent or pct.

Return Values

Returns drivetrain efficiency as a double in the selected unit.

θερμοκρασία#

temperature returns the average temperature of the drivetrain as a percentage from 0% to 100%.

Η θερμοκρασία δείχνει πόσο ζεστοί είναι οι κινητήρες του συστήματος μετάδοσης κίνησης. Μια υψηλότερη θερμοκρασία σημαίνει ότι οι κινητήρες θερμαίνονται ενώ λειτουργούν. Οι κινητήρες θα πρέπει να παραμένουν κάτω από τους 55°C για να συνεχίσουν να λειτουργούν σε πλήρη απόδοση.

Εάν οι κινητήρες υπερθερμανθούν, θα μειώσουν το μέγιστο ρεύμα τους για να προστατευτούν. Στους 70°C, οι κινητήρες θα σταματήσουν να λειτουργούν μέχρι να κρυώσουν.

Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης υπερθερμαίνεται κατά τη διάρκεια επαναλαμβανόμενων κινήσεων, μεγάλων διαδρομών ή όταν πιέζει ένα αντικείμενο.

Available Functions
double temperature(
  percentUnits units );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

percentUnits

The unit to return temperature in: percent or pct.

Return Values

Returns the average drivetrain temperature as a double in the selected unit.

Notes
  • A returned value of 50% means the average motor temperature is about 45°C (113°F).

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

δυναμικό#

voltage returns the electrical voltage of the drivetrain.

Η τάση είναι η ηλεκτρική πίεση που παρέχεται στους κινητήρες του συστήματος μετάδοσης κίνησης. Αυτή μπορεί να χρησιμοποιηθεί με τιμές ρεύματος και ισχύος για να κατανοηθεί ο τρόπος με τον οποίο το σύστημα μετάδοσης κίνησης χρησιμοποιεί την ηλεκτρική ενέργεια.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

voltageUnits

The unit to return voltage in: volt (default) or voltageUnits::mV. voltageUnits::mV means millivolts.

Return Values

Returns drivetrain voltage as a double in the selected unit.