Σύστημα μετάδοσης κίνησης#
Εισαγωγή#
Το ρομπότ VEX V5 χρησιμοποιεί ένα σύστημα μετάδοσης κίνησης για την κίνηση και την περιστροφή. Ένα σύστημα μετάδοσης κίνησης αποτελείται από κινητήρες και τροχούς που συνεργάζονται για να κινούν το ρομπότ.
Ένα διαμορφωμένο σύστημα μετάδοσης κίνησης μπορεί να χρησιμοποιήσει έναν Αδρανειακό Αισθητήρα, Αισθητήρα GPS, Γυροσκοπικό Αισθητήρα ή καθόλου αισθητήρα. Όταν χρησιμοποιείται ένας αισθητήρας, το σύστημα μετάδοσης κίνησης τον χρησιμοποιεί για να βοηθήσει το ρομπότ να κινηθεί και να στρίψει με ακρίβεια. Στην αρχή κάθε έργου, το σύστημα μετάδοσης κίνησης βαθμονομεί αυτόματα τον αισθητήρα. Κρατήστε το ρομπότ ακίνητο κατά τη βαθμονόμηση, ώστε το ρομπότ να μπορεί να κινείται και να στρίβει σωστά.
Υπάρχουν πολλοί τρόποι για να κωδικοποιήσετε το σύστημα μετάδοσης κίνησης. Αυτή η σελίδα χρησιμοποιεί drivetrain ως παράδειγμα ονόματος συστήματος μετάδοσης κίνησης. Αντικαταστήστε το με το δικό σας διαμορφωμένο όνομα, όπως απαιτείται.
Παρακάτω είναι μια λίστα με όλες τις μεθόδους μετάδοσης κίνησης:
Ενέργειες — Μετακίνηση και περιστροφή του ρομπότ.
drive— Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα.drive_for— Μετακινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση.turn— Στρέφει το ρομπότ αριστερά ή δεξιά για πάντα.turn_for— Στρέφει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών.turn_to_heading— Στρέφει το ρομπότ ώστε να βλέπει προς μια συγκεκριμένη κατεύθυνση από -359 σε 359 μοίρες. Το ρομπότ θα στρίψει προς τη συντομότερη κατεύθυνση για να φτάσει στην κατεύθυνση-στόχο.turn_to_rotation— Στρέφει το ρομπότ σε μια συγκεκριμένη περιστροφή.stop— Σταματά την κίνηση του ρομπότ.calibrate_drivetrain– Βαθμονομεί τον αισθητήρα που έχει διαμορφωθεί με το σύστημα μετάδοσης κίνησης.
Μεταλλαγμένοι — Προσαρμόστε τις ρυθμίσεις του συστήματος μετάδοσης κίνησης.
set_drive_velocity— Υποδεικνύει στο ρομπότ πόσο γρήγορα πρέπει να οδηγήσει.set_turn_velocity— Υποδεικνύει στο ρομπότ πόσο γρήγορα πρέπει να στρίψει.set_stopping— Υποδεικνύει πώς το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κάνοντας αδράνεια ή κρατώντας το.set_timeout— Ορίζει πόσα δευτερόλεπτα θα προσπαθήσει το ρομπότ να ολοκληρώσει μια κίνηση.set_heading— Αλλάζει την τρέχουσα κατεύθυνση του ρομπότ σε νέα.set_rotation— Αλλάζει την τρέχουσα περιστροφή του ρομπότ σε μια νέα περιστροφή.set_turn_threshold– Υποδεικνύει πόσο κοντά πρέπει να φτάσει το ρομπότ σε μια γωνία-στόχο πριν ολοκληρωθεί μια στροφή.set_turn_constant– Αλλάζει την ένταση με την οποία το ρομπότ διορθώνει τις στροφές του.set_turn_direction_reverse– Αλλάζει εάν η κατεύθυνση στροφής του έξυπνου συστήματος μετάδοσης κίνησης θα αντιστραφεί.
Getters — Ελέγξτε την κατάσταση του συστήματος μετάδοσης κίνησης.
is_done— Επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή.is_moving— Επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή.heading— Επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 έως 359,99 μοίρες.rotation— Επιστρέφει την τρέχουσα περιστροφή του ρομπότ.velocity— Επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.current— Επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.power— Επιστρέφει την ταχύτητα με την οποία το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια.torque— Επιστρέφει τη ροπή που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.efficiency— Επιστρέφει πόσο αποτελεσματικά χρησιμοποιεί την ισχύ το σύστημα μετάδοσης κίνησης.temperature— Επιστρέφει πόσο ζεστό είναι το σύστημα μετάδοσης κίνησης.get_timeout– Επιστρέφει την τρέχουσα ρύθμιση χρονικού ορίου.
Κατασκευαστές – Δημιουργήστε και διαμορφώστε χειροκίνητα το σύστημα μετάδοσης κίνησης.
DriveTrain– Δημιουργεί ένα σύστημα μετάδοσης κίνησης χωρίς Αισθητήρα αδράνειας, Αισθητήρα GPS ή Αισθητήρα γυροσκοπίου.SmartDrive– Δημιουργεί ένα σύστημα μετάδοσης κίνησης διαμορφωμένο με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου.
Ενέργειες#
drive#
drive κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για πάντα. Το ρομπότ θα συνεχίσει να κινείται μέχρι να του δοθεί μια άλλη ενέργεια, όπως στροφή ή στάση. Για τις στροφές ανά λεπτό ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Usage:
drivetrain.drive(direction, velocity, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση κίνησης του ρομπότ: |
|
Προαιρετικά. Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)
drive_for#
Η συνάρτηση drive_for κινεί το ρομπότ προς τα εμπρός ή προς τα πίσω για μια συγκεκριμένη απόσταση. Το έργο θα περιμένει μέχρι να ολοκληρωθεί η κίνηση του ρομπότ πριν εκτελεστεί η επόμενη γραμμή κώδικα. Για τις στροφές ανά λεπτό ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση κίνησης του ρομπότ: |
|
Η απόσταση που διανύει το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικά. Η μονάδα απόστασης: |
|
Προαιρετικά. Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
|
Προαιρετικό. |
# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)
turn#
Η στροφή turn γυρίζει το ρομπότ αριστερά ή δεξιά για πάντα. Το ρομπότ θα συνεχίσει να περιστρέφεται μέχρι να του δοθεί μια άλλη ενέργεια, όπως οδήγηση ή στάση. Για τις στροφές ανά λεπτό ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Usage:
drivetrain.turn(direction, velocity, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση που γυρίζει το ρομπότ: |
|
Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
turn_for γυρίζει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών. Η στροφή είναι σχετική με την τρέχουσα θέση του ρομπότ. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την στροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα. Για RPM ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση που γυρίζει το ρομπότ: |
|
Ο αριθμός των μοιρών που περιστρέφεται το ρομπότ. Αυτός μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικά. Η μονάδα στροφής: |
|
Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
|
Προαιρετικό. |
# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)
turn_to_heading#
Μια κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. turn_to_heading γυρίζει το ρομπότ ώστε να στραφεί προς μια συγκεκριμένη κατεύθυνση από -359 σε 359 μοίρες. Το ρομπότ θα στρίψει προς τη συντομότερη κατεύθυνση για να φτάσει στην κατεύθυνση-στόχο.
Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.
Το έργο θα περιμένει μέχρι να ολοκληρώσει την περιστροφή του ρομπότ προτού εκτελεστεί η επόμενη γραμμή κώδικα.
Σημείωση: Αυτή η λειτουργία είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατεύθυνση προς την οποία πρέπει να είναι στραμμένο το ρομπότ, σε μοίρες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικό. Η μονάδα επικεφαλίδας: |
|
Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
|
Προαιρετικό. |
# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)
# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)
turn_to_rotation#
turn_to_rotation γυρίζει το ρομπότ σε μια συγκεκριμένη περιστροφή.
Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. Η περιστροφή μπορεί επίσης να οριστεί χρησιμοποιώντας τη μέθοδο set_rotation.
Οι τιμές περιστροφής είναι απόλυτες. Αυτό σημαίνει ότι η κατεύθυνση της στροφής εξαρτάται από την τρέχουσα περιστροφή του ρομπότ. Η στροφή προς τα δεξιά αυξάνει την περιστροφή και η στροφή προς τα αριστερά τη μειώνει.
Για παράδειγμα, αν το ρομπότ ξεκινήσει από 0 μοίρες και στρίψετε σε περιστροφή 720 μοιρών, θα στρίψει δεξιά δύο φορές. Αν στη συνέχεια στρίψετε σε περιστροφή 360 μοιρών, θα στρίψει αριστερά μία φορά, επειδή οι 360 μοίρες είναι μικρότερες από 720 μοίρες.
Το έργο θα περιμένει μέχρι να ολοκληρώσει την περιστροφή του ρομπότ προτού εκτελεστεί η επόμενη γραμμή κώδικα.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η τιμή περιστροφής, σε μοίρες ή στροφές, στην οποία θα στραφεί το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικά. Η μονάδα περιστροφής: |
|
Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
|
Προαιρετικό. |
# Turn left, then spin in a circle clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)
# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)
stop#
stop σταματά την κίνηση του ρομπότ.
Usage:
drivetrain.stop(mode)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Πώς θα σταματήσει το ρομπότ:
|
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
calibrate_drivetrain#
calibrate_drivetrain είναι μια ενσωματωμένη συνάρτηση που βαθμονομεί τον Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου που έχει διαμορφωθεί στο σύστημα μετάδοσης κίνησης.
Η βαθμονόμηση βοηθά τον αισθητήρα να μετρήσει σωστά την κίνηση. Κρατήστε το ρομπότ ακίνητο για περίπου 2 δευτερόλεπτα κατά τη διάρκεια της βαθμονόμησης. Εάν το ρομπότ κινηθεί κατά τη διάρκεια της βαθμονόμησης, ο αισθητήρας ενδέχεται να μην μετρήσει σωστά την κίνηση.
Το έργο θα περιμένει μέχρι να ολοκληρωθεί η βαθμονόμηση πριν εκτελεστεί η επόμενη γραμμή κώδικα.
Σημείωση: Αυτή η λειτουργία είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
calibrate_drivetrain()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η συνάρτηση δεν έχει παραμέτρους. |
Μεταλλάκτες#
set_drive_velocity#
set_drive_velocity λέει στο ρομπότ πόσο γρήγορα πρέπει να οδηγήσει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο αργά. Για τις στροφές ανά λεπτό ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Κάθε έργο ξεκινά με το ρομπότ να κινείται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβές. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να κινείται πιο αργά, αλλά μπορεί να είναι πιο ακριβές.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η ταχύτητα οδήγησης κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
set_turn_velocity#
set_turn_velocity λέει στο ρομπότ πόσο γρήγορα να στρίψει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να περιστρέφεται πιο γρήγορα και ένα χαμηλότερο ποσοστό το κάνει να περιστρέφεται πιο αργά. Για τις στροφές ανά λεπτό ή μοίρες ανά δευτερόλεπτο, το όριο αλλάζει από την σχέση μετάδοσης του συστήματος μετάδοσης κίνησης.
Κάθε έργο ξεκινά με το ρομπότ να περιστρέφεται με ταχύτητα 50% από προεπιλογή.
Σημείωση: Μια υψηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο γρήγορα, αλλά μπορεί να είναι λιγότερο ακριβής. Μια χαμηλότερη ταχύτητα κάνει το ρομπότ να περιστρέφεται πιο αργά, αλλά μπορεί να είναι πιο ακριβής.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται |
|
Προαιρετικά. Η μονάδα ταχύτητας: |
# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
set_stopping#
set_stopping ορίζει τον τρόπο με τον οποίο το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κινούμενο με ταχύτητα χωρίς κίνηση ή κρατώντας το.
Usage:
drivetrain.set_stopping(mode)
Παράμετροι |
Περιγραφή |
|---|---|
|
Πώς θα σταματήσει το ρομπότ:
|
Εάν δεν χρησιμοποιηθεί αυτή η μέθοδος, το ρομπότ θα χρησιμοποιήσει BRAKE κατά το σταμάτημα.
set_timeout#
set_timeout ορίζει πόσα δευτερόλεπτα θα προσπαθήσει το ρομπότ να ολοκληρώσει μια κίνηση. Εάν το ρομπότ δεν μπορεί να ολοκληρώσει σε αυτό το χρονικό διάστημα, θα σταματήσει την προσπάθεια και θα προχωρήσει στην επόμενη γραμμή κώδικα. Αυτό εμποδίζει το ρομπότ να κολλήσει σε μια κίνηση.
Usage:
drivetrain.set_timeout(value, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Ο χρόνος που μπορεί να προσπαθήσει το ρομπότ για να ολοκληρώσει μια κίνηση. Αυτός μπορεί να είναι ένας θετικός |
|
Προαιρετικά. Η μονάδα χρόνου: |
set_heading#
Μια κατεύθυνση είναι η κατεύθυνση που βλέπει το ρομπότ, μετρούμενη σε μοίρες. set_heading αλλάζει την τρέχουσα κατεύθυνση του ρομπότ σε μια νέα τιμή κατεύθυνσης.
Για παράδειγμα, εάν το ρομπότ έχει στραφεί προς τα δεξιά, η ρύθμιση της κατεύθυνσης σε 0 μοίρες καθιστά αυτή τη θέση προς τα δεξιά τις νέες 0 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε άλλες θέσεις με βάση αυτήν τη νέα κατεύθυνση.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.set_heading(heading, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η τιμή κατεύθυνσης, σε μοίρες ή στροφές, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικό. Η μονάδα κατεύθυνσης: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. set_rotation αλλάζει την τρέχουσα περιστροφή του ρομπότ σε μια νέα τιμή.
Για παράδειγμα, αν το ρομπότ έχει κάνει δύο πλήρεις στροφές προς τα δεξιά, η τιμή περιστροφής του θα είναι 720 μοίρες. Αν ορίσετε την περιστροφή σε 0 μοίρες, η περιστροφή θα επαναφερθεί από 720 σε 0 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε περιστροφές με βάση αυτήν τη νέα τιμή.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.set_rotation(rotation, units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η τιμή περιστροφής, σε μοίρες ή στροφές, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
|
Προαιρετικά. Η μονάδα περιστροφής: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold ορίζει πόσο κοντά πρέπει να φτάσει το ρομπότ σε μια γωνία-στόχο πριν ολοκληρωθεί μια στροφή.
Ένα μικρότερο κατώφλι μπορεί να κάνει τις στροφές πιο ακριβείς, αλλά το ρομπότ μπορεί να χρειαστεί περισσότερο χρόνο για να ολοκληρώσει τις στροφές. Ένα μεγαλύτερο κατώφλι μπορεί να κάνει τις στροφές να ολοκληρωθούν νωρίτερα, αλλά μπορεί να είναι λιγότερο ακριβείς.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.set_turn_threshold(value)
Παράμετροι |
Περιγραφή |
|---|---|
|
Το όριο στροφής, σε μοίρες. Αυτό μπορεί να είναι ένας ακέραιος αριθμός |
set_turn_constant#
set_turn_constant αλλάζει την ένταση με την οποία το ρομπότ διορθώνει τις στροφές του.
Μια υψηλότερη τιμή κάνει το ρομπότ να στρέφεται σωστά πιο δυνατά. Μια χαμηλότερη τιμή κάνει το ρομπότ να στρέφεται σωστά πιο ομαλά. Η προεπιλεγμένη τιμή είναι 1,0.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.set_turn_constant(value)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η σταθερά στροφής. Αυτή μπορεί να είναι δεκαδική ( |
set_turn_direction_reverse#
set_turn_direction_reverse αλλάζει εάν η κατεύθυνση στροφής του έξυπνου συστήματος μετάδοσης κίνησης θα αντιστραφεί.
Αυτό μπορεί να χρησιμοποιηθεί εάν το σύστημα μετάδοσης κίνησης περιστρέφεται προς την αντίθετη κατεύθυνση από την αναμενόμενη μετά τη χειροκίνητη διαμόρφωσή του στον κώδικα. Αυτή η μέθοδος λειτουργεί με τον ίδιο τρόπο όπως ο ορισμός της παραμέτρου reverse σε True κατά την κατασκευή ενός SmartDrive.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.set_turn_direction_reverse(value)
Παράμετροι |
Περιγραφή |
|---|---|
|
Εάν θα αντιστραφεί η κατεύθυνση στροφής του έξυπνου συστήματος μετάδοσης κίνησης: |
Αποκτητές#
is_done#
Η συνάρτηση is_done επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως δυαδική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
True— Το ρομπότ έχει ολοκληρώσει την κίνηση.False— Το ρομπότ εξακολουθεί να κινείται.
Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους Drivetrain που έχουν την παράμετρο wait : drive_for, turn_for, turn_to_heading και turn_to_rotation.
Usage:
drivetrain.is_done()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
is_moving#
is_moving επιστρέφει εάν το ρομπότ κινείται, ως λογική τιμή. Αυτή μπορεί να χρησιμοποιηθεί για τον έλεγχο του χρονισμού άλλων συμπεριφορών με βάση την κίνηση του ρομπότ.
True— Το ρομπότ κινείται.False— Το ρομπότ δεν κινείται.
Χρήση:
drivetrain.is_moving()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
heading#
Η κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. Η κατεύθυνση heading επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 σε 359,99 μοίρες.
Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.heading(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Η μονάδα επιστροφής της κατεύθυνσης: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. Η περιστροφή rotation επιστρέφουν την τρέχουσα περιστροφή του ρομπότ.
Η δεξιά στροφή αυξάνει την περιστροφή και η αριστερά τη μειώνει. Για παράδειγμα, κάνοντας δύο πλήρεις στροφές προς τα δεξιά θα επιστρέψει μια περιστροφή 720 μοιρών.
Σημείωση: Αυτή η μέθοδος είναι διαθέσιμη μόνο εάν το σύστημα μετάδοσης κίνησης έχει διαμορφωθεί με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου στο παράθυρο Συσκευές.
Usage:
drivetrain.rotation(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Η μονάδα επιστροφής της περιστροφής σε: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
Η τιμή velocity επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.
Μπορεί να επιστρέψει την ταχύτητα ως ποσοστό από -100% έως 100%, σε RPMή σε VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο). Μια θετική τιμή σημαίνει ότι το ρομπότ κινείται προς τα εμπρός. Μια αρνητική τιμή σημαίνει ότι το ρομπότ κινείται προς τα πίσω.
Usage:
drivetrain.velocity(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Η μονάδα ταχύτητας: |
current#
Το current επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε αμπέρ (αμπέρ). Το ρεύμα είναι η ποσότητα ηλεκτρικού ρεύματος που ρέει μέσω του συστήματος μετάδοσης κίνησης.
Μια υψηλότερη τιμή ρεύματος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί περισσότερο ηλεκτρικό ρεύμα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες κατά τη διάρκεια μιας κίνησης. Εάν το ρεύμα παραμείνει υψηλό, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ισχύ λιγότερο αποτελεσματικά.
Usage:
drivetrain.current(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Η μονάδα επιστροφής ρεύματος: |
power#
power επιστρέφει την ισχύ που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε watt. Η ισχύς δείχνει πόσο γρήγορα χρησιμοποιεί ενέργεια το σύστημα μετάδοσης κίνησης.
Μια υψηλότερη τιμή ισχύος σημαίνει ότι το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια πιο γρήγορα. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να συγκρίνετε κινήσεις ή να ελέγξετε αν το σύστημα μετάδοσης κίνησης παρουσιάζει δυσκολίες. Εάν η ισχύς παραμείνει υψηλή, το σύστημα μετάδοσης κίνησης μπορεί να θερμανθεί ή να χρησιμοποιήσει την ενέργεια λιγότερο αποτελεσματικά.
Usage:
drivetrain.power()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
torque#
Η ροπή δείχνει πόσο δυνατά μπορεί να σπρώξει ή να τραβήξει το σύστημα μετάδοσης κίνησης ενώ οι τροχοί σπινάρουν.
Η τιμή torque επιστρέφει την ποσότητα ροπής που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε Newton-μέτρα (Nm) ή ίντσες-λίβρες (InLb).
Μια υψηλότερη τιμή ροπής σημαίνει ότι το σύστημα μετάδοσης κίνησης πιέζει ή τραβάει πιο δυνατά. Αυτό μπορεί να συμβεί όταν το ρομπότ πιέζει ένα αντικείμενο ή προσπαθεί να κινηθεί όταν αυτό έχει κολλήσει.
Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το σύστημα μετάδοσης κίνησης δυσκολεύεται ή για να συγκριθεί η ώθηση που χρειάζονται οι διαφορετικές κινήσεις.
Usage:
drivetrain.torque(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Η μονάδα επιστροφής ροπής: |
efficiency#
Η απόδοση efficiency επιστρέφει την αποτελεσματικότητα της χρήσης ισχύος από το σύστημα μετάδοσης κίνησης, ως ποσοστό από 0% έως 100%.
Η απόδοση δείχνει πόση από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια υψηλότερη τιμή απόδοσης σημαίνει ότι περισσότερη από την ισχύ του συστήματος μετάδοσης κίνησης χρησιμοποιείται για κίνηση. Μια χαμηλότερη τιμή απόδοσης μπορεί να συμβεί όταν το σύστημα μετάδοσης κίνησης λειτουργεί σκληρά αλλά δεν κινείται πολύ, όπως όταν το ρομπότ έχει κολλήσει ή πιέζει ένα αντικείμενο.
Αυτό μπορεί να χρησιμοποιηθεί για τη σύγκριση κινήσεων ή για τον έλεγχο εάν το σύστημα μετάδοσης κίνησης σπαταλά ενέργεια αντί να τη χρησιμοποιεί για κίνηση.
Usage:
drivetrain.efficiency()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
temperature#
Η τιμή temperature επιστρέφει τη μέση θερμοκρασία του συστήματος μετάδοσης κίνησης στην επιλεγμένη μονάδα θερμοκρασίας.
Η θερμοκρασία δείχνει πόσο ζεστοί είναι οι κινητήρες του συστήματος μετάδοσης κίνησης. Μια υψηλότερη θερμοκρασία σημαίνει ότι οι κινητήρες θερμαίνονται ενώ λειτουργούν. Οι κινητήρες θα πρέπει να παραμένουν κάτω από τους 55°C για να συνεχίσουν να λειτουργούν σε πλήρη απόδοση.
Εάν οι κινητήρες υπερθερμανθούν, θα μειώσουν το μέγιστο ρεύμα τους για να προστατευτούν. Στους 70°C, οι κινητήρες θα σταματήσουν να λειτουργούν μέχρι να κρυώσουν.
Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε εάν το σύστημα μετάδοσης κίνησης υπερθερμαίνεται κατά τη διάρκεια επαναλαμβανόμενων κινήσεων, μεγάλων διαδρομών ή όταν πιέζει ένα αντικείμενο.
Usage:
drivetrain.temperature(units)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικά. Η μονάδα μέτρησης για την επιστροφή της θερμοκρασίας: |
get_timeout#
Η συνάρτηση get_timeout επιστρέφει το τρέχον καθορισμένο timeout σε χιλιοστά του δευτερολέπτου.
Usage:
drivetrain.get_timeout()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
Κατασκευαστές#
Οι κατασκευαστές χρησιμοποιούνται για τη μη αυτόματη δημιουργία αντικειμένων DriveTrain και SmartDrive , τα οποία είναι απαραίτητα για τη διαμόρφωση ενός συστήματος μετάδοσης κίνησης εκτός του VEXcode.
Πρέπει να δημιουργηθούν τουλάχιστον δύο αντικείμενα Motor ή MotorGroup πριν από τη δημιουργία ενός συστήματος μετάδοσης κίνησης.
DriveTrain#
DriveTrain δημιουργεί ένα σύστημα μετάδοσης κίνησης χωρίς Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Παράμετρος |
Περιγραφή |
|---|---|
|
Ο αριστερός κινητήρας ή ομάδα κινητήρων. |
|
Ο δεξιός κινητήρας ή ομάδα κινητήρων. |
|
Προαιρετικά. Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι 300 χιλιοστά. |
|
Προαιρετικό. Το πλάτος μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι 320 χιλιοστά. |
|
Προαιρετικά. Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι 320 χιλιοστά. |
|
Προαιρετικά. Η μονάδα για |
|
Προαιρετικό. Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)
# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)
SmartDrive#
SmartDrive δημιουργεί ένα σύστημα μετάδοσης κίνησης διαμορφωμένο με Αισθητήρα Αδράνειας, Αισθητήρα GPS ή Αισθητήρα Γυροσκοπίου.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Παράμετρος |
Περιγραφή |
|---|---|
|
Ο αριστερός κινητήρας ή ομάδα κινητήρων. |
|
Ο δεξιός κινητήρας ή ομάδα κινητήρων. |
|
Ο Αισθητήρας Αδράνειας, Αισθητήρας GPS ή Αισθητήρας Γυροσκοπίου που χρησιμοποιείται από το σύστημα μετάδοσης κίνησης. |
|
Προαιρετικά. Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι 300 χιλιοστά. |
|
Προαιρετικό. Το πλάτος μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι 320 χιλιοστά. |
|
Προαιρετικά. Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι 320 χιλιοστά. |
|
Προαιρετικά. Η μονάδα για |
|
Προαιρετικό. Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)