Σύστημα μετάδοσης κίνησης#
Εισαγωγή#
Η κλάση σύστημα μετάδοσης κίνησης ελέγχει τον τρόπο με τον οποίο ένα ρομπότ κινείται και περιστρέφεται. Ένα σύστημα μετάδοσης κίνησης αποτελείται από κινητήρες και τροχούς που συνεργάζονται για να κινούν το ρομπότ.
Ένα σύστημα μετάδοσης κίνησης δεν χρησιμοποιεί Γυροσκοπικό Αισθητήρα για στροφές που βασίζονται σε κατεύθυνση ή περιστροφή. Μπορεί να κινείται προς τα εμπρός ή προς τα πίσω και να στρίβει αριστερά ή δεξιά, αλλά δεν μπορεί να στρίψει σε μια συγκεκριμένη κατεύθυνση ή περιστροφή. Για στροφές που βασίζονται σε κατεύθυνση και περιστροφή, χρησιμοποιήστε την κλάση .
Αυτή η σελίδα χρησιμοποιεί myDrivetrain ως παράδειγμα ονόματος συστήματος μετάδοσης κίνησης. Αντικαταστήστε το με το δικό σας διαμορφωμένο όνομα, όπως απαιτείται.
Παράγωγες Κλάσεις#
Η κλάση συστήματος μετάδοσης κίνησης χρησιμεύει ως βασική κλάση για την ακόλουθη παράγωγη κλάση:
smartdrive- Δημιουργεί ένα σύστημα μετάδοσης κίνησης με υποστήριξη γυροσκοπικού αισθητήρα.
Κατασκευαστές κλάσεων#
1 - Δημιουργεί ένα σύστημα μετάδοσης κίνησης χρησιμοποιώντας υπάρχοντα αντικείμενα
motor_groupγια την αριστερή και τη δεξιά πλευρά.drivetrain( motor_group &l, motor_group &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
2 - Δημιουργεί ένα σύστημα μετάδοσης κίνησης χρησιμοποιώντας υπάρχοντα αντικείμενα
κινητήραγια την αριστερή και τη δεξιά πλευρά.drivetrain( motor &l, motor &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο σύστημα μετάδοσης κίνησης και απελευθερώνει τους σχετικούς πόρους.
virtual ~drivetrain();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Οι αριστεροί και δεξιοί κινητήρες ή ομάδες κινητήρων. Και οι δύο παράμετροι πρέπει να χρησιμοποιούν τον ίδιο τύπο: είτε δύο αντικείμενα |
|
|
Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι |
|
|
Η απόσταση μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι |
|
|
Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι |
|
|
Η μονάδα για Διαδρομή τροχών |
|
|
Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Η προεπιλογή είναι |
Παράδειγμα#
// 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- Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα.driveFor- Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση.στροφή- Στρέφει το ρομπότ αριστερά ή δεξιά για πάντα.turnFor- Στρέφει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών ή περιστροφών.stop- Σταματά την κίνηση του ρομπότ.
Ρυθμίσεις - Προσαρμόστε τις ρυθμίσεις του συστήματος μετάδοσης κίνησης.
setDriveVelocity- Υποδεικνύει στο ρομπότ πόσο γρήγορα να οδηγήσει.setTurnVelocity- Υποδεικνύει στο ρομπότ πόσο γρήγορα να στρίψει.setStopping- Υποδεικνύει πώς το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κάνοντας ελεύθερη κίνηση ή κρατώντας το.setTimeout- Ορίζει το χρονικό διάστημα για το οποίο το ρομπότ θα προσπαθεί να ολοκληρώσει μια κίνηση.
Τιμές - Ελέγξτε την κατάσταση της κίνησης.
isDone- Επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή.isMoving- Επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή.ταχύτητα- Επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.ρεύμα- Επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.power- Επιστρέφει την ταχύτητα με την οποία το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια.ροπή- Επιστρέφει τη ροπή που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.απόδοση- Επιστρέφει πόσο αποτελεσματικά χρησιμοποιεί την ισχύ το σύστημα μετάδοσης κίνησης.θερμοκρασία- Επιστρέφει πόσο ζεστό είναι το σύστημα μετάδοσης κίνησης.τάση- Επιστρέφει την ηλεκτρική τάση του συστήματος μετάδοσης κίνησης.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους drivetrain , πρέπει να δημιουργηθεί ένα αντικείμενο 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
Ενέργειες#
οδηγώ#
κίνηση κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα. Το ρομπότ θα συνεχίσει να κινείται μέχρι να του δοθεί μια άλλη ενέργεια, όπως στροφή ή στάση.
1 - Οδηγεί χρησιμοποιώντας την τρέχουσα ταχύτητα κίνησης.
void drive( directionType dir );
Parameters2 - Οδηγεί με την καθορισμένη ταχύτητα.
void drive( directionType dir, double velocity, velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατεύθυνση που κινείται το ρομπότ: |
|
|
Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΗ μονάδα δίσκου
δεν είναι σε αναμονή. Το έργο θα εκτελέσει αμέσως την επόμενη γραμμή κώδικα.Το ρομπότ θα συνεχίσει να κινείται μέχρι να κληθεί η
στάσηή να εκτελεστεί κάποια άλλη λειτουργία κίνησης του συστήματος μετάδοσης κίνησης.isDoneκαιisMovingδεν χρησιμοποιούνται μεdriveεπειδήdriveδεν έχει στοχευμένη απόσταση.
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
driveFor#
Η συνάρτηση driveFor μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση. Το έργο θα περιμένει μέχρι να ολοκληρωθεί η κίνηση του ρομπότ πριν εκτελεστεί η επόμενη γραμμή κώδικα.
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 );
Parameters4 - Οδηγεί στην καθορισμένη κατεύθυνση για μια απόσταση με την καθορισμένη ταχύτητα.
bool driveFor( directionType dir, double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατεύθυνση που κινείται το ρομπότ: |
|
|
Η απόσταση που διανύει το ρομπότ. |
|
|
Η μονάδα απόστασης: |
|
|
Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
|
|
|
Επιστρέφει εάν το ρομπότ έφτασε στην απόσταση-στόχο, ως λογική τιμή.
σωστό- Το ρομπότ έφτασε στην απόσταση-στόχο.false- Το ρομπότ δεν ολοκλήρωσε την κίνηση ή η συνάρτηση επέστρεψε πριν ολοκληρωθεί η κίνηση επειδή η τιμήwaitForCompletionείχε οριστεί σεfalse.
Η εκτέλεση μιας άλλης λειτουργίας κίνησης του συστήματος μετάδοσης κίνησης ενώ εκτελείται
driveForθα διακόψει την τρέχουσα κίνηση.Η συνάρτηση
driveForχρησιμοποιεί μια απόσταση-στόχο, επομένως#isdone](#ismoving) μπορούν να χρησιμοποιηθούν μαζί της.
Examples
// Drive 200 mm, then back 200 mm.
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);
σειρά#
στροφή γυρίζει το ρομπότ αριστερά ή δεξιά για πάντα. Το ρομπότ θα συνεχίσει να γυρίζει μέχρι να του δοθεί μια άλλη ενέργεια, όπως οδήγηση ή στάση.
Available Functions
1 - Στροφές χρησιμοποιώντας την τρέχουσα ταχύτητα στροφής.
void turn(
turnType dir );
2 - Στρέφεται με την καθορισμένη ταχύτητα.
void turn(
turnType dir,
double velocity,
velocityUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
dir
turnType
Η κατεύθυνση που γυρίζει το ρομπότ: αριστερά ή δεξιά.
velocity
double
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται velocityUnits::pct, από 0 έως 120 rpm όταν χρησιμοποιείται rpmή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιείται dpsΕάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.
units
velocityUnits
Η μονάδα ταχύτητας: velocityUnits::pct (ποσοστό), rpm (περιστροφές ανά λεπτό) ή dps (μοίρες ανά δευτερόλεπτο).
Return Values
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Notes
Ο γύρος δεν είναι σε αναμονή. Το έργο θα εκτελέσει αμέσως την επόμενη γραμμή κώδικα.
Το ρομπότ θα συνεχίσει να περιστρέφεται μέχρι να κληθεί η στάση ή να εκτελεστεί κάποια άλλη λειτουργία κίνησης του συστήματος μετάδοσης κίνησης.
isDone και isMoving δεν χρησιμοποιούνται με στροφή επειδή στροφή δεν έχει γωνία στόχου.
Examples
// Turn right, then left, then stop.
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();
στροφήΓια#
turnFor γυρίζει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών, περιστροφών ή ακατέργαστων μονάδων. Η στροφή είναι σχετική με την τρέχουσα θέση του ρομπότ. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα.
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
Η κατεύθυνση που γυρίζει το ρομπότ: αριστερά ή δεξιά.
angle
double
Η ποσότητα που γυρίζει το ρομπότ.
units
rotationUnits
Η μονάδα στροφής: μοίρες (μοίρες), περιστροφές (περιστροφές) ή ακατέργαστες (ακατέργαστες μονάδες). Μία περιστροφή ισούται με 360 μοίρες.
velocity
double
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται velocityUnits::pct, από 0 έως 120 rpm όταν χρησιμοποιείται rpmή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιείται dpsΕάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.
units_v
velocityUnits
Η μονάδα ταχύτητας: velocityUnits::pct (ποσοστό), rpm (περιστροφές ανά λεπτό) ή dps (μοίρες ανά δευτερόλεπτο).
waitForCompletion
bool
true (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα. false κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.
Return Values
Επιστρέφει εάν το ρομπότ έφτασε στη γωνία-στόχο, ως λογική τιμή.
σωστό - Το ρομπότ έφτασε στη γωνία-στόχο.
false - Το ρομπότ δεν ολοκλήρωσε τον γύρο ή η συνάρτηση επέστρεψε πριν ολοκληρωθεί ο γύρος επειδή η τιμή waitForCompletion είχε οριστεί σε false.
Notes
Η εκτέλεση μιας άλλης λειτουργίας κίνησης του συστήματος μετάδοσης κίνησης ενώ βρίσκεται σε λειτουργία η λειτουργία
turnForθα διακόψει την τρέχουσα κίνηση.#isdone#ismoving).
Examples
// Turn right, then left.
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);
στάση#
Η εντολή stop σταματά την κίνηση του ρομπότ. Εάν παρέχεται λειτουργία διακοπής, ελέγχει τον τρόπο με τον οποίο το ρομπότ σταματά για αυτήν την κλήση συνάρτησης.
Available Functions
1 - Σταματά το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την τρέχουσα λειτουργία ακινητοποίησης.
void stop();
2 - Σταματά το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την καθορισμένη λειτουργία ακινητοποίησης.
void stop(
brakeType mode );
Parameters
Παράμετρος
Τύπος
Περιγραφή
mode
brakeType
Πώς θα σταματήσει το ρομπότ:
φρένο - Σταματάει αμέσως.ακινητοποίηση - Επιβραδύνει μέχρι να σταματήσει.κράτημα - Σταματάει αμέσως και διατηρεί τη θέση των τροχών.
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 λέει στο ρομπότ πόσο γρήγορα να οδηγήσει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο αργά.
Κάθε έργο ξεκινά με το ρομπότ να κινείται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβές. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο αργά, αλλά μπορεί να είναι πιο ακριβές.
Available Functions
void setDriveVelocity(
double velocity,
velocityUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
velocity
double
Η ταχύτητα οδήγησης κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται velocityUnits::pct, από 0 έως 120 rpm όταν χρησιμοποιείται rpmή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιείται dps.
units
velocityUnits
Η μονάδα ταχύτητας: velocityUnits::pct (ποσοστό), rpm (περιστροφές ανά λεπτό) ή dps (μοίρες ανά δευτερόλεπτο).
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 λέει στο ρομπότ πόσο γρήγορα να στρίψει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να στρίψει πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να στρίψει πιο αργά.
Κάθε έργο ξεκινά με το ρομπότ να περιστρέφεται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβής. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο αργά, αλλά μπορεί να είναι πιο ακριβής.
Available Functions
void setTurnVelocity(
double velocity,
velocityUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
velocity
double
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται velocityUnits::pct, από 0 έως 120 rpm όταν χρησιμοποιείται rpmή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιείται dps.
units
velocityUnits
Η μονάδα ταχύτητας: velocityUnits::pct (ποσοστό), rpm (περιστροφές ανά λεπτό) ή dps (μοίρες ανά δευτερόλεπτο).
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 Η τιμή ορίζει τον τρόπο με τον οποίο το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κινούμενο με ταχύτητα χωρίς κίνηση ή κρατώντας το.
Available Functions
void setStopping(
brakeType mode );
Parameters
Παράμετρος
Τύπος
Περιγραφή
mode
brakeType
Πώς θα σταματήσει το ρομπότ:
φρένο - Σταματάει αμέσως.ακινητοποίηση - Επιβραδύνει μέχρι να σταματήσει.κράτημα - Σταματάει αμέσως και διατηρεί τη θέση των τροχών.
Return Values
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Notes
Η λειτουργία διακοπής χρησιμοποιείται από μεταγενέστερες κλήσεις διακοπή, εκτός εάν παρέχεται μια συγκεκριμένη λειτουργία διακοπής στην κλήση της συνάρτησης.
Εάν αυτή η λειτουργία δεν χρησιμοποιηθεί, το ρομπότ θα χρησιμοποιήσει το φρένο κατά το σταμάτημα.
ορισμός χρονικού ορίου#
setTimeout ορίζει το χρονικό διάστημα για το οποίο το ρομπότ θα προσπαθεί να ολοκληρώσει μια κίνηση. Εάν το ρομπότ δεν μπορεί να ολοκληρώσει σε αυτό το χρονικό διάστημα, θα σταματήσει την προσπάθεια και θα προχωρήσει στην επόμενη γραμμή κώδικα. Αυτό εμποδίζει το ρομπότ να κολλήσει σε μια κίνηση.
Available Functions
void setTimeout(
int32_t time,
timeUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
time
int32_t
Ο χρόνος που μπορεί να προσπαθήσει το ρομπότ για να ολοκληρώσει μια κίνηση. Αυτός θα πρέπει να είναι ένας θετικός ακέραιος αριθμός.
units
timeUnits
Η μονάδα χρόνου: δευτ. (δευτερόλεπτα) ή msec (χιλιοστά του δευτερολέπτου).
Return Values
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Notes
Το χρονικό όριο ισχύει μόνο για συναρτήσεις συστήματος μετάδοσης κίνησης που μετακινούνται σε έναν στόχο, όπως driveFor και turnFor.
Examples
// Turn right after driving forward.
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);
Αποκτητές#
είναιΟλοκληρωμένο#
Η συνάρτηση isDone επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
Available Functions
bool isDone( void );
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
σωστό - Το ρομπότ έχει ολοκληρώσει την κίνηση.
λάθος - Το ρομπότ εξακολουθεί να κινείται.
Notes
Μετακινείται#
Η συνάρτηση isMoving επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
Available Functions
virtual bool isMoving( void );
Parameters
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Values
σωστό - Το ρομπότ κινείται.
λάθος - Το ρομπότ δεν κινείται.
Notes
ταχύτητα#
Η τιμή ταχύτητα επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.
Μπορεί να επιστρέψει την ταχύτητα ως ποσοστό, σε rpmή σε dpsΜια θετική τιμή σημαίνει ότι το ρομπότ κινείται προς τα εμπρός. Μια αρνητική τιμή σημαίνει ότι το ρομπότ κινείται προς τα πίσω.
Available Functions
double velocity(
velocityUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
velocityUnits
Η μονάδα επιστροφής της ταχύτητας σε: τοις εκατό, τοις εκατό, σ.α.λ.ή dps.
Return Values
Επιστρέφει την ταχύτητα του συστήματος μετάδοσης κίνησης ως διπλό στην επιλεγμένη μονάδα.
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();
ρεύμα#
Το ρεύμα επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης. Το ρεύμα είναι η ποσότητα ηλεκτρικής ενέργειας που ρέει μέσω του συστήματος μετάδοσης κίνησης. Μπορεί να επιστραφεί σε αμπέρ (αμπέρ) ή ως ποσοστό, ανάλογα με τη μονάδα.
Μια υψηλότερη τιμή ρεύματος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί περισσότερο ηλεκτρικό ρεύμα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες κατά τη διάρκεια μιας κίνησης. Εάν το ρεύμα παραμείνει υψηλό, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ισχύ λιγότερο αποτελεσματικά.
Available Functions
1 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης σε αμπέρ.
double current(
currentUnits units = currentUnits::amp );
2 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης ως ποσοστό.
double current(
percentUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
currentUnits
Η μονάδα επιστροφής ρεύματος: αμπέρ/.
units
percentUnits
Η μονάδα επιστροφής ρεύματος: τοις εκατό ή τοις εκατό.
Return Values
Επιστρέφει το ρεύμα του συστήματος μετάδοσης κίνησης ως διπλό στην επιλεγμένη μονάδα.
εξουσία#
ισχύς επιστρέφει την ισχύ που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε watt. Η ισχύς δείχνει πόσο γρήγορα χρησιμοποιεί ενέργεια το σύστημα μετάδοσης κίνησης.
Μια υψηλότερη τιμή ισχύος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια πιο γρήγορα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να συγκρίνετε κινήσεις ή να ελέγξετε αν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες. Εάν η ισχύς παραμείνει υψηλή, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ενέργεια λιγότερο αποτελεσματικά.
Available Functions
double power(
powerUnits units = powerUnits::watt );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
powerUnits
Μονάδα ισχύος: watt.
Return Values
Επιστρέφει την ισχύ του συστήματος μετάδοσης κίνησης ως διπλό σε watt.
ροπή#
Η ροπή δείχνει πόσο δυνατά μπορεί να σπρώξει ή να τραβήξει το σύστημα μετάδοσης κίνησης ενώ οι τροχοί σπινάρουν.
Η τιμή ροπή επιστρέφει την ποσότητα ροπής που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε Newton-μέτρα (Nm) ή ίντσες-λίβρες (InLb).
Μια υψηλότερη τιμή ροπής σημαίνει ότι το σύστημα μετάδοσης κίνησης πιέζει ή τραβάει πιο δυνατά. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το σύστημα μετάδοσης κίνησης δυσκολεύεται ή για να συγκριθεί η ώθηση που χρειάζονται οι διαφορετικές κινήσεις.
Available Functions
double torque(
torqueUnits units = torqueUnits::nm );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
torqueUnits
Η μονάδα επιστροφής ροπής: Nm (νιούτον μέτρα, προεπιλογή) ή InLb (ίντσες λίβρες).
Return Values
Επιστρέφει τη ροπή του συστήματος μετάδοσης κίνησης ως διπλό στην επιλεγμένη μονάδα.
αποδοτικότητα#
Η απόδοση επιστρέφει την αποτελεσματικότητα της χρήσης ισχύος από το σύστημα μετάδοσης κίνησης, ως ποσοστό από 0% έως 100%.
Η απόδοση δείχνει πόση από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια υψηλότερη τιμή απόδοσης σημαίνει ότι περισσότερη από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια χαμηλότερη τιμή απόδοσης μπορεί να συμβεί όταν το σύστημα μετάδοσης κίνησης λειτουργεί σκληρά αλλά δεν κινείται πολύ, όπως όταν το ρομπότ έχει κολλήσει ή πιέζει ένα αντικείμενο.
Αυτό μπορεί να χρησιμοποιηθεί για τη σύγκριση κινήσεων ή για τον έλεγχο εάν το σύστημα μετάδοσης κίνησης σπαταλά ενέργεια αντί να τη χρησιμοποιεί για κίνηση.
Available Functions
double efficiency(
percentUnits units = percentUnits::pct );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
percentUnits
Η μονάδα που θα επιστρέψει την απόδοση σε: τοις εκατό ή τοις εκατό.
Return Values
Επιστρέφει την απόδοση του συστήματος μετάδοσης κίνησης ως διπλό στην επιλεγμένη μονάδα.
θερμοκρασία#
Η τιμή θερμοκρασία επιστρέφει τη μέση θερμοκρασία του συστήματος μετάδοσης κίνησης ως ποσοστό από 0% έως 100%.
Η θερμοκρασία δείχνει πόσο ζεστοί είναι οι κινητήρες του συστήματος μετάδοσης κίνησης. Μια υψηλότερη θερμοκρασία σημαίνει ότι οι κινητήρες θερμαίνονται ενώ λειτουργούν. Οι κινητήρες θα πρέπει να παραμένουν κάτω από τους 55°C για να συνεχίσουν να λειτουργούν σε πλήρη απόδοση.
Εάν οι κινητήρες υπερθερμανθούν, θα μειώσουν το μέγιστο ρεύμα τους για να προστατευτούν. Στους 70°C, οι κινητήρες θα σταματήσουν να λειτουργούν μέχρι να κρυώσουν.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης υπερθερμαίνεται κατά τη διάρκεια επαναλαμβανόμενων κινήσεων, μεγάλων διαδρομών ή όταν πιέζει ένα αντικείμενο.
Available Functions
double temperature(
percentUnits units );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
percentUnits
Η μονάδα επιστροφής της θερμοκρασίας: τοις εκατό ή τοις εκατό.
Return Values
Επιστρέφει τη μέση θερμοκρασία του συστήματος μετάδοσης κίνησης ως διπλάσια από στην επιλεγμένη μονάδα.
Notes
Μια επιστρεφόμενη τιμή 50% σημαίνει ότι η μέση θερμοκρασία του κινητήρα είναι περίπου 45°C (113°F).
Το τυπικό εύρος θερμοκρασίας λειτουργίας για το σύστημα μετάδοσης κίνησης είναι περίπου 20°C (68°F) έως 70°C (158°F).
δυναμικό#
Η τάση επιστρέφει την ηλεκτρική τάση του συστήματος μετάδοσης κίνησης.
Η τάση είναι η ηλεκτρική πίεση που παρέχεται στους κινητήρες του συστήματος μετάδοσης κίνησης. Αυτή μπορεί να χρησιμοποιηθεί με τιμές ρεύματος και ισχύος για να κατανοηθεί ο τρόπος με τον οποίο το σύστημα μετάδοσης κίνησης χρησιμοποιεί την ηλεκτρική ενέργεια.
Available Functions
double voltage(
voltageUnits units = voltageUnits::volt );
Parameters
Παράμετρος
Τύπος
Περιγραφή
units
voltageUnits
Η μονάδα επιστροφής τάσης: βολτ (προεπιλογή) ή voltageUnits::mV. voltageUnits::mV σημαίνει millivolts.
Return Values
Επιστρέφει την τάση του συστήματος μετάδοσης κίνησης ως διπλό στην επιλεγμένη μονάδα.