Σύστημα μετάδοσης κίνησης#
Εισαγωγή#
Η κλάση drivetrain ελέγχει τον τρόπο με τον οποίο ένα ρομπότ κινείται και περιστρέφεται. Ένα σύστημα μετάδοσης κίνησης αποτελείται από κινητήρες και τροχούς που συνεργάζονται για να κινούν το ρομπότ.
Ένα σύστημα μετάδοσης κίνησης drivetrain δεν χρησιμοποιεί Αισθητήρα Αδράνειας ή Αισθητήρα Γυροσκοπίου για στροφές που βασίζονται σε κατεύθυνση ή περιστροφή. Μπορεί να κινείται προς τα εμπρός ή προς τα πίσω και να στρίβει αριστερά ή δεξιά, αλλά δεν μπορεί να στρίψει σε μια συγκεκριμένη κατεύθυνση ή περιστροφή. Για στροφές που βασίζονται σε κατεύθυνση και περιστροφή, χρησιμοποιήστε την κλάση smartdrive.
Παράγωγες Κλάσεις#
Η κλάση drivetrain χρησιμεύει ως βασική κλάση για τις ακόλουθες παράγωγες κλάσεις:
smartdrive- Αυτή η κλάση προσθέτει υποστήριξη για Αδρανειακό Αισθητήρα ή Γυροσκοπικό Αισθητήρα για να επιτρέπει στροφές που βασίζονται σε κατεύθυνση και περιστροφή.
Κατασκευαστές κλάσεων#
1 - Δημιουργεί ένα σύστημα μετάδοσης κίνησης χρησιμοποιώντας υπάρχοντα αντικείμενα
motor_groupγια την αριστερή (&l) και τη δεξιά (&r) πλευρά.drivetrain( motor_group &l, motor_group &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
2 - Δημιουργεί ένα σύστημα μετάδοσης κίνησης χρησιμοποιώντας υπάρχοντα αντικείμενα
motorγια την αριστερή (&l) και τη δεξιά (&r) πλευρά.drivetrain( motor &l, motor &r, double wheelTravel = 320, double trackWidth = 320, double wheelBase = 130, distanceUnits unit = mm, double externalGearRatio = 1.0 );
Καταστροφέας κλάσης#
Καταστρέφει το αντικείμενο drivetrain και απελευθερώνει τους σχετικούς πόρους.
virtual ~drivetrain();
Παράμετροι#
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Οι αριστεροί και δεξιοί κινητήρες ή ομάδες κινητήρων. Και οι δύο παράμετροι πρέπει να χρησιμοποιούν τον ίδιο τύπο: είτε δύο αντικείμενα |
|
|
Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι |
|
|
Η απόσταση μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι |
|
|
Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι |
|
|
The unit for |
|
|
Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Η προεπιλογή είναι |
Παράδειγμα#
// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);
// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
leftMotor, // left motor object
rightMotor, // right motor object
259.34, // wheelTravel
320, // trackWidth
40, // wheelBase
mm, // unit
1.0 ); // externalGearRatio
Συναρτήσεις Μελών#
Υπάρχουν πολλοί τρόποι για να κωδικοποιήσετε το σύστημα μετάδοσης κίνησης. Παρακάτω είναι μια λίστα με όλες τις συναρτήσεις μέλους drivetrain:
Ενέργειες - Μετακίνηση και περιστροφή του ρομπότ.
drive- Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα.driveFor- Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση.turn- Στρέφει το ρομπότ αριστερά ή δεξιά για πάντα.turnFor- Στρέφει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών.stop- Σταματά την κίνηση του ρομπότ.
Μεταλλαγμένοι - Προσαρμόστε τις ρυθμίσεις του συστήματος μετάδοσης κίνησης.
setDriveVelocity- Υποδεικνύει στο ρομπότ πόσο γρήγορα να οδηγήσει.setTurnVelocity- Υποδεικνύει στο ρομπότ πόσο γρήγορα να στρίψει.setStopping- Υποδεικνύει πώς το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κάνοντας ελεύθερη κίνηση ή κρατώντας το.setTimeout- Ορίζει πόσα δευτερόλεπτα θα προσπαθήσει το ρομπότ να ολοκληρώσει μια κίνηση.
Getters - Ελέγξτε την κατάσταση της κίνησης.
isDone- Επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή.isMoving- Επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή.velocity- Επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.current- Επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.power- Επιστρέφει την ταχύτητα με την οποία το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια.torque- Επιστρέφει τη ροπή που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.efficiency- Επιστρέφει πόσο αποτελεσματικά χρησιμοποιεί την ισχύ το σύστημα μετάδοσης κίνησης.temperature- Επιστρέφει πόσο ζεστό είναι το σύστημα μετάδοσης κίνησης.voltage- Επιστρέφει την ηλεκτρική τάση που παρέχεται στο σύστημα μετάδοσης κίνησης.
Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους 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 object
rightMotor, // right motor object
259.34, // wheelTravel
320, // trackWidth
40, // wheelBase
mm, // unit
1.0 ); // externalGearRatio
Ενέργειες#
οδηγώ#
drive κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα. Το ρομπότ θα συνεχίσει να κινείται μέχρι να του δοθεί μια άλλη ενέργεια, όπως στροφή ή στάση. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
1 - Οδηγεί χρησιμοποιώντας την τρέχουσα ρυθμισμένη ταχύτητα οδήγησης.
void drive( directionType dir );
Parameters2 - Οδηγεί με την καθορισμένη ταχύτητα.
void drive( directionType dir, double velocity, velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατεύθυνση κίνησης του ρομπότ: |
|
|
Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Notesdriveδεν είναι σε αναμονή. Το έργο θα συνεχίσει να εκτελεί την επόμενη γραμμή κώδικα αμέσως μετά την κλήση.Το σύστημα μετάδοσης κίνησης θα συνεχίσει να κινείται μέχρι να κληθεί η συνάρτηση
stopή να εκτελεστεί κάποια άλλη συνάρτηση κίνησης του συστήματος μετάδοσης κίνησης (όπωςdriveForήturn).Συναρτήσεις όπως
isDoneκαιisMovingδεν εφαρμόζονται στοdrive, καθώς δεν χρησιμοποιεί κίνηση βάσει στόχου (δεν έχει παράμετροdistance).
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
driveFor#
Η συνάρτηση driveFor κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την κίνησή του πριν εκτελεστεί η επόμενη γραμμή κώδικα από προεπιλογή. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
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% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
|
|
|
Επιστρέφει εάν το ρομπότ έφτασε στην απόσταση-στόχο, ως λογική τιμή.
true- Το ρομπότ έφτασε στην απόσταση-στόχο.false- Το ρομπότ δεν ολοκλήρωσε την κίνηση ή η συνάρτηση επέστρεψε πριν ολοκληρωθεί η κίνηση επειδή η τιμήwaitForCompletionείχε οριστεί σεfalse.
Η εκτέλεση μιας άλλης λειτουργίας κίνησης του συστήματος μετάδοσης κίνησης (όπως
driveήturnFor) ενώ η κίνησηdriveForβρίσκεται σε εξέλιξη θα διακόψει την τρέχουσα κίνηση.Because
driveForis target-based (uses adistanceparameter), functions such asisDoneandisMovingwork withdriveFor.
// Drive 200 mm, then back 200 mm
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);
σειρά#
Η στροφή turn γυρίζει το ρομπότ αριστερά ή δεξιά για πάντα. Το ρομπότ θα συνεχίσει να περιστρέφεται μέχρι να του δοθεί μια άλλη ενέργεια, όπως οδήγηση ή στάση. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
1 - Στροφές χρησιμοποιώντας την τρέχουσα ρυθμισμένη ταχύτητα στροφής.
void turn( turnType dir );
Parameters2 - Στρέφεται με την καθορισμένη ταχύτητα.
void turn( turnType dir, double velocity, velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατεύθυνση που γυρίζει το ρομπότ: |
|
|
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
Ο γύρος
turnδεν είναι σε αναμονή. Το έργο θα συνεχίσει να εκτελεί την επόμενη γραμμή κώδικα αμέσως μετά την κλήση.Το σύστημα μετάδοσης κίνησης θα συνεχίσει να περιστρέφεται μέχρι να κληθεί η
stopή να εκτελεστεί κάποια άλλη συνάρτηση κίνησης του συστήματος μετάδοσης κίνησης (όπωςturnForήdrive).Functions such as
isDoneandisMovingare not applicable toturn, since it does not use target-based movement (doesn’t have anangleparameter).
// Turn right, then left, then stop
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();
στροφήΓια#
turnFor στρέφει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών. Η στροφή είναι σχετική με την τρέχουσα θέση του ρομπότ. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την στροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα από προεπιλογή. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
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 );
Parameters4 - Στρέφεται προς την καθορισμένη κατεύθυνση για μια γωνία με την καθορισμένη ταχύτητα.
bool turnFor( turnType dir, double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η κατεύθυνση που γυρίζει το ρομπότ: |
|
|
Η γωνία περιστροφής του ρομπότ. |
|
|
Η μονάδα στροφής: |
|
|
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
|
|
|
Επιστρέφει εάν το ρομπότ έφτασε στη γωνία-στόχο, ως λογική τιμή.
true- Το ρομπότ έφτασε στη γωνία-στόχο.false- Το ρομπότ δεν ολοκλήρωσε τον γύρο ή η συνάρτηση επέστρεψε πριν ολοκληρωθεί ο γύρος επειδή η τιμήwaitForCompletionείχε οριστεί σεfalse.
Η εκτέλεση μιας άλλης λειτουργίας κίνησης του συστήματος μετάδοσης κίνησης (όπως
turnήdrive) ενώ βρίσκεται σε εξέλιξη η στροφήturnForθα διακόψει την τρέχουσα κίνηση.Because
turnForis target-based (uses anangleparameter), functions such asisDoneandisMovingwork withturnFor.
// Turn right then left
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);
στάση#
Η εντολή stop σταματά την κίνηση του ρομπότ. Εάν παρέχεται λειτουργία διακοπής, ελέγχει τον τρόπο με τον οποίο το ρομπότ σταματά για αυτήν την κλήση συνάρτησης.
1 - Σταματάει το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την τρέχουσα διαμορφωμένη λειτουργία διακοπής.
void stop();
Parameters2 - Σταματά το σύστημα μετάδοσης κίνησης χρησιμοποιώντας την καθορισμένη λειτουργία πέδησης.
void stop( brakeType mode );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Πώς θα σταματήσει το ρομπότ:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Examples// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
Μεταλλάκτες#
setDriveVelocity#
setDriveVelocity λέει στο ρομπότ πόσο γρήγορα να οδηγήσει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο αργά. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Κάθε έργο ξεκινά με το ρομπότ να κινείται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβές. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο αργά, αλλά μπορεί να είναι πιο ακριβές.
Available Functionsvoid setDriveVelocity(
double velocity,
velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η ταχύτητα οδήγησης κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΗ ταχύτητα κίνησης ισχύει για όλες τις επόμενες συναρτήσεις κίνησης του συστήματος κίνησης (όπως
driveκαιdriveFor) εκτός εάν παρέχεται συγκεκριμένη ταχύτητα στην κλήση της συνάρτησης.
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
setTurnVelocity#
setTurnVelocity λέει στο ρομπότ πόσο γρήγορα να στρίψει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να στρίψει πιο γρήγορα και ένα χαμηλότερο ποσοστό το κάνει να στρίψει πιο αργά. Για RPM ή DPS, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Κάθε έργο ξεκινά με το ρομπότ να περιστρέφεται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβής. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο αργά, αλλά μπορεί να είναι πιο ακριβής.
Available Functionsvoid setTurnVelocity(
double velocity,
velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
|
Η μονάδα ταχύτητας: |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΗ ταχύτητα στροφής ισχύει για όλες τις επόμενες συναρτήσεις στροφής του συστήματος μετάδοσης κίνησης (όπως
turnκαιturnFor) εκτός εάν παρέχεται συγκεκριμένη ταχύτητα στην κλήση της συνάρτησης.
// 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 ορίζει τον τρόπο με τον οποίο το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κινούμενο με ταχύτητα χωρίς κίνηση ή κρατώντας το.
void setStopping(
brakeType mode );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Πώς θα σταματήσει το ρομπότ:
|
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΗ λειτουργία διακοπής ισχύει για όλες τις επόμενες κλήσεις
stop, εκτός εάν παρέχεται συγκεκριμένη λειτουργία διακοπής στην κλήση της συνάρτησης.
ορισμός χρονικού ορίου#
setTimeout ορίζει σε πόσα δευτερόλεπτα το ρομπότ θα προσπαθήσει να ολοκληρώσει μια κίνηση. Εάν το ρομπότ δεν μπορεί να ολοκληρώσει σε αυτό το χρονικό διάστημα, θα σταματήσει την προσπάθεια και θα προχωρήσει στην επόμενη γραμμή κώδικα. Αυτό εμποδίζει το ρομπότ να κολλήσει σε μια κίνηση.
void setTimeout(
int32_t time,
timeUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Ο χρόνος που μπορεί να προσπαθήσει το ρομπότ για να ολοκληρώσει μια κίνηση. Αυτός θα πρέπει να είναι ένας θετικός ακέραιος αριθμός. |
|
|
Η μονάδα χρόνου: |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
NotesΤο χρονικό όριο ισχύει μόνο για συναρτήσεις κίνησης συστήματος μετάδοσης κίνησης που βασίζονται σε στόχο (όπως
driveForκαιturnFor).
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);
Αποκτητές#
είναιΟλοκληρωμένο#
Η συνάρτηση isDone επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
bool isDone( void );
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Valuestrue- Το ρομπότ έχει ολοκληρώσει την κίνηση.false- Το ρομπότ εξακολουθεί να κινείται.
Μετακινείται#
Η συνάρτηση isMoving επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
virtual bool isMoving( void );
Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.
Return Valuestrue- Το ρομπότ κινείται.false- Το ρομπότ δεν κινείται.
ταχύτητα#
Η τιμή velocity επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.
Μια θετική τιμή σημαίνει ότι το ρομπότ κινείται προς τα εμπρός. Μια αρνητική τιμή σημαίνει ότι το ρομπότ κινείται προς τα πίσω.
Available Functionsdouble velocity(
velocityUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα ταχύτητας: |
Επιστρέφει την ταχύτητα του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.
// 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 επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης. Το ρεύμα είναι η ποσότητα ηλεκτρικής ενέργειας που ρέει μέσω του συστήματος μετάδοσης κίνησης. Μπορεί να επιστραφεί σε αμπέρ (αμπέρ) ή ως ποσοστό, ανάλογα με τη μονάδα.
Μια υψηλότερη τιμή ρεύματος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί περισσότερο ηλεκτρικό ρεύμα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες κατά τη διάρκεια μιας κίνησης. Εάν το ρεύμα παραμείνει υψηλό, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ισχύ λιγότερο αποτελεσματικά.
Available Functions1 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης σε αμπέρ.
double current( currentUnits units = currentUnits::amp );
Parameters2 - Επιστρέφει το ηλεκτρικό ρεύμα του συστήματος μετάδοσης κίνησης ως ποσοστό του μέγιστου.
double current( percentUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα επιστροφής ρεύματος: |
|
|
Η μονάδα επιστροφής ρεύματος: |
Επιστρέφει το ρεύμα του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.
εξουσία#
power επιστρέφει την ισχύ που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε watt. Η ισχύς δείχνει πόσο γρήγορα χρησιμοποιεί ενέργεια το σύστημα μετάδοσης κίνησης.
Μια υψηλότερη τιμή ισχύος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια πιο γρήγορα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να συγκρίνετε κινήσεις ή να ελέγξετε αν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες. Εάν η ισχύς παραμείνει υψηλή, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ενέργεια λιγότερο αποτελεσματικά.
Available Functionsdouble power(
powerUnits units = powerUnits::watt );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα ισχύος: |
Επιστρέφει την ισχύ του συστήματος μετάδοσης κίνησης ως double σε watt.
ροπή#
Η ροπή δείχνει πόσο δυνατά μπορεί να σπρώξει ή να τραβήξει το σύστημα μετάδοσης κίνησης ενώ οι τροχοί σπινάρουν.
Η τιμή torque επιστρέφει την ποσότητα ροπής που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε Newton-μέτρα (Nm) ή ίντσες-λίβρες (InLb).
Μια υψηλότερη τιμή ροπής σημαίνει ότι το σύστημα μετάδοσης κίνησης πιέζει ή τραβάει πιο δυνατά. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το σύστημα μετάδοσης κίνησης δυσκολεύεται ή για να συγκριθεί η ώθηση που χρειάζονται οι διαφορετικές κινήσεις.
Available Functionsdouble torque(
torqueUnits units = torqueUnits::nm );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα επιστροφής ροπής: |
Επιστρέφει τη ροπή του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.
αποδοτικότητα#
Η απόδοση efficiency επιστρέφει την αποτελεσματικότητα της χρήσης ισχύος από το σύστημα μετάδοσης κίνησης, ως ποσοστό από 0% έως 100%.
Η απόδοση δείχνει πόση από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια υψηλότερη τιμή απόδοσης σημαίνει ότι περισσότερη από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια χαμηλότερη τιμή απόδοσης μπορεί να συμβεί όταν το σύστημα μετάδοσης κίνησης λειτουργεί σκληρά αλλά δεν κινείται πολύ, όπως όταν το ρομπότ έχει κολλήσει ή πιέζει ένα αντικείμενο.
Αυτό μπορεί να χρησιμοποιηθεί για τη σύγκριση κινήσεων ή για τον έλεγχο εάν το σύστημα μετάδοσης κίνησης σπαταλά ενέργεια αντί να τη χρησιμοποιεί για κίνηση.
Available Functionsdouble efficiency(
percentUnits units = percentUnits::pct );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα που θα επιστρέφει την απόδοση σε: |
Επιστρέφει την απόδοση του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.
θερμοκρασία#
Η τιμή temperature επιστρέφει τη μέση θερμοκρασία του συστήματος μετάδοσης κίνησης ως ποσοστό από 0% έως 100%.
Η θερμοκρασία δείχνει πόσο ζεστοί είναι οι κινητήρες του συστήματος μετάδοσης κίνησης. Μια υψηλότερη θερμοκρασία σημαίνει ότι οι κινητήρες θερμαίνονται ενώ λειτουργούν. Οι κινητήρες θα πρέπει να παραμένουν κάτω από τους 55°C για να συνεχίσουν να λειτουργούν σε πλήρη απόδοση.
Εάν οι κινητήρες υπερθερμανθούν, θα μειώσουν το μέγιστο ρεύμα τους για να προστατευτούν. Στους 70°C, οι κινητήρες θα σταματήσουν να λειτουργούν μέχρι να κρυώσουν.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης υπερθερμαίνεται κατά τη διάρκεια επαναλαμβανόμενων κινήσεων, μεγάλων διαδρομών ή όταν πιέζει ένα αντικείμενο.
Available Functionsdouble temperature(
percentUnits units );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα επιστροφής της θερμοκρασίας: |
Επιστρέφει τη μέση θερμοκρασία του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.
Μια επιστρεφόμενη τιμή
50%υποδεικνύει ότι η μέση θερμοκρασία του κινητήρα είναι περίπου45°C(113°F).Το τυπικό εύρος θερμοκρασίας λειτουργίας για το σύστημα μετάδοσης κίνησης είναι περίπου
20°C(68°F) έως70°C(158°F).
δυναμικό#
Η τάση voltage επιστρέφει την ηλεκτρική τάση που παρέχεται στο σύστημα μετάδοσης κίνησης.
Η τάση είναι η ηλεκτρική πίεση που παρέχεται στους κινητήρες του συστήματος μετάδοσης κίνησης. Αυτή μπορεί να χρησιμοποιηθεί με τιμές ρεύματος και ισχύος για να κατανοηθεί ο τρόπος με τον οποίο το σύστημα μετάδοσης κίνησης χρησιμοποιεί την ηλεκτρική ενέργεια.
Available Functionsdouble voltage(
voltageUnits units = voltageUnits::volt );
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Η μονάδα επιστροφής τάσης: |
Επιστρέφει την τάση του συστήματος μετάδοσης κίνησης ως double στην επιλεγμένη μονάδα.