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

Εισαγωγή#

Το ρομπότ VEX IQ (2ης γενιάς) χρησιμοποιεί ένα σύστημα μετάδοσης κίνησης για την οδήγηση και την περιστροφή. Το σύστημα μετάδοσης κίνησης αποτελείται από κινητήρες και τροχούς που συνεργάζονται για την κίνηση του ρομπότ.

Ένα διαμορφωμένο σύστημα μετάδοσης κίνησης μπορεί να χρησιμοποιήσει έναν συνδεδεμένο Γυροσκοπικό Αισθητήρα, τον ενσωματωμένο Αδρανειακό Αισθητήρα του εγκεφάλου ή καθόλου αισθητήρα. Όταν χρησιμοποιείται ένας αισθητήρας, το σύστημα μετάδοσης κίνησης τον χρησιμοποιεί για να βοηθήσει το ρομπότ να κινηθεί και να στρίψει με ακρίβεια. Στην αρχή κάθε έργου, το σύστημα μετάδοσης κίνησης βαθμονομεί αυτόματα τον αισθητήρα. Κρατήστε το ρομπότ ακίνητο για περίπου 2 δευτερόλεπτα κατά τη διάρκεια της βαθμονόμησης, ώστε το ρομπότ να μπορεί να κινηθεί και να στρίψει σωστά.

Αυτή η σελίδα χρησιμοποιεί 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 — Αλλάζει την ένταση με την οποία το ρομπότ διορθώνει τις στροφές του.

Λήψη κωδικών πρόσβασης — Ελέγξτε την κατάσταση της κίνησης.

  • heading — Επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 έως 359 μοίρες.

  • rotation — Επιστρέφει την τρέχουσα περιστροφή του ρομπότ.

  • velocity — Επιστρέφει την ταχύτητα με την οποία κινείται το ρομπότ.

  • current — Επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.

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

  • is_done — Επιστρέφει εάν το ρομπότ έχει ολοκληρώσει την κίνησή του, ως λογική τιμή.

  • is_turning — Επιστρέφει εάν το ρομπότ γυρίζει, ως λογική τιμή.

  • power — Επιστρέφει την ταχύτητα με την οποία το σύστημα μετάδοσης κίνησης χρησιμοποιεί ενέργεια.

  • torque — Επιστρέφει τη ροπή που χρησιμοποιεί το σύστημα μετάδοσης κίνησης.

  • efficiency — Επιστρέφει πόσο αποτελεσματικά χρησιμοποιεί την ισχύ το σύστημα μετάδοσης κίνησης.

  • temperature — Επιστρέφει πόσο ζεστό είναι το σύστημα μετάδοσης κίνησης.

Κατασκευαστές — Δημιουργήστε και διαμορφώστε χειροκίνητα το σύστημα μετάδοσης κίνησης.

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

  • SmartDrive — Δημιουργεί ένα σύστημα μετάδοσης κίνησης με γυροσκοπικό ή αδρανειακό αισθητήρα.

Ενέργειες#

drive#

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

Usage:
drivetrain.drive(direction, velocity, units)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση κίνησης του ρομπότ: FORWARD ή REVERSE.

velocity

Προαιρετικά. Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 σ.α.λ. όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ κινείται με την τρέχουσα ταχύτητα κίνησης.

units

Προαιρετικά. Η μονάδα ταχύτητας: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive slowly in reverse then stop
drivetrain.drive(REVERSE, 20, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

drive_for#

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

Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση κίνησης του ρομπότ: FORWARD ή REVERSE.

distance

Η απόσταση που διανύει το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα απόστασης: INCHES (προεπιλογή), MM (χιλιοστά) ή DistanceUnits.CM (εκατοστά).

velocity

Προαιρετικά. Η ταχύτητα με την οποία θα κινείται το ρομπότ κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 σ.α.λ. όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ κινείται με την τρέχουσα ταχύτητα κίνησης.

units_v

Προαιρετικά. Η μονάδα ταχύτητας: RPM (περιστροφές ανά λεπτό, προεπιλογή), PERCENTή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την κίνησή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

# Drive forward and backward
drivetrain.drive_for(FORWARD, 10)
drivetrain.drive_for(REVERSE, 10)

# Quickly drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM, 100, PERCENT)
drivetrain.drive_for(REVERSE, 200, MM, 100, PERCENT)

turn#

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

Usage:
drivetrain.turn(direction, velocity, units)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση που γυρίζει το ρομπότ: LEFT ή RIGHT.

velocity

Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 στροφές/λεπτό όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.

units

Προαιρετικά. Η μονάδα ταχύτητας: RPM (περιστροφές ανά λεπτό, προεπιλογή), PERCENTή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()

# Quickly turn right and left, then stop
drivetrain.turn(RIGHT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.turn(LEFT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

turn_for γυρίζει το ρομπότ αριστερά ή δεξιά για έναν συγκεκριμένο αριθμό μοιρών ή στροφών. Η στροφή είναι σχετική με την τρέχουσα θέση του ρομπότ. Το έργο θα περιμένει μέχρι το ρομπότ να ολοκληρώσει την στροφή πριν εκτελεστεί η επόμενη γραμμή κώδικα.

Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)

Παράμετροι

Περιγραφή

direction

Η κατεύθυνση που γυρίζει το ρομπότ: LEFT ή RIGHT.

angle

Η ποσότητα που γυρίζει το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα στροφής: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

velocity

Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 στροφές/λεπτό όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.

units_v

Προαιρετικά. Η μονάδα ταχύτητας: RPM (περιστροφές ανά λεπτό, προεπιλογή), PERCENTή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)

# Quickly turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES, 100, PERCENT)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES, 100, PERCENT)

turn_to_heading#

Μια κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. turn_to_heading γυρίζει το ρομπότ ώστε να στραφεί προς μια συγκεκριμένη κατεύθυνση από -359 σε 359 μοίρες. Το ρομπότ θα στρίψει προς τη συντομότερη κατεύθυνση για να φτάσει στην κατεύθυνση-στόχο.

Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.

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

Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)

Παράμετροι

Περιγραφή

angle

Η κατεύθυνση προς την οποία πρέπει να είναι στραμμένο το ρομπότ, σε μοίρες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float) από -359 έως 359.

units

Προαιρετικό. Η μονάδα επικεφαλίδας: DEGREES (προεπιλογή).

velocity

Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 στροφές/λεπτό όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.

units_v

Προαιρετικά. Η μονάδα ταχύτητας: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

# 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 μοίρες.

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

Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)

Παράμετροι

Περιγραφή

angle

Η τιμή περιστροφής, σε μοίρες ή στροφές, στην οποία θα στραφεί το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα περιστροφής: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

velocity

Προαιρετικά. Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 στροφές/λεπτό όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας integer ή δεκαδικός αριθμός (float). Εάν δεν παρέχεται ταχύτητα, το ρομπότ περιστρέφεται με την τρέχουσα ταχύτητα περιστροφής.

units_v

Προαιρετικά. Η μονάδα ταχύτητας: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

wait

Προαιρετικό. wait=True (προεπιλογή) κάνει το έργο να περιμένει μέχρι το ρομπότ να ολοκληρώσει την περιστροφή του πριν εκτελεστεί η επόμενη γραμμή κώδικα. wait=False κάνει την επόμενη γραμμή κώδικα να εκτελεστεί αμέσως.

# 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)

Παράμετροι

Περιγραφή

mode

Προαιρετικά. Πώς θα σταματήσει το ρομπότ: BRAKE (προεπιλογή), BRAKEή COAST

  • COAST — Σταματάει αμέσως.
  • HOLD — Επιβραδύνει μέχρι να σταματήσει.
  • HOLD — Σταματάει αμέσως και διατηρεί τη θέση των τροχών.

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive forward and coast to a stop
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop(COAST)

calibrate_drivetrain#

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

Η βαθμονόμηση βοηθά τον αισθητήρα να μετρήσει σωστά την κίνηση. Κρατήστε το ρομπότ ακίνητο για περίπου 2 δευτερόλεπτα κατά τη διάρκεια της βαθμονόμησης. Εάν το ρομπότ κινηθεί κατά τη διάρκεια της βαθμονόμησης, ο αισθητήρας ενδέχεται να μην μετρήσει σωστά την κίνηση.

Το έργο θα περιμένει μέχρι να ολοκληρωθεί η βαθμονόμηση πριν εκτελεστεί η επόμενη γραμμή κώδικα.

Σημείωση: Αυτή η συνάρτηση δεν μπορεί να χρησιμοποιηθεί εντός του VS Code.

Usage:
calibrate_drivetrain()

Παράμετροι

Περιγραφή

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

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

set_drive_velocity#

set_drive_velocity λέει στο ρομπότ πόσο γρήγορα πρέπει να οδηγήσει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο γρήγορα και ένα χαμηλότερο ποσοστό κάνει το ρομπότ να οδηγεί πιο αργά.

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

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

Usage:
drivetrain.set_drive_velocity(velocity, units)

Παράμετροι

Περιγραφή

velocity

Η ταχύτητα οδήγησης κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 σ.α.λ. όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή ένας δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα ταχύτητας: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

# Drive forward at different velocities
# Default velocity
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)

set_turn_velocity#

set_turn_velocity λέει στο ρομπότ πόσο γρήγορα να στρίψει. Ένα υψηλότερο ποσοστό κάνει το ρομπότ να στρίψει πιο γρήγορα και ένα χαμηλότερο ποσοστό το κάνει να στρίψει πιο αργά.

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

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

Usage:
drivetrain.set_turn_velocity(velocity, units)

Παράμετροι

Περιγραφή

velocity

Η ταχύτητα περιστροφής κυμαίνεται από 0% έως 100% όταν χρησιμοποιείται PERCENT, από 0 έως 120 στροφές ανά δευτερόλεπτο όταν χρησιμοποιούνται RPMή από 0 έως 720 μοίρες ανά δευτερόλεπτο όταν χρησιμοποιούνται VelocityUnits.DPSΑυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα ταχύτητας: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 360)

set_stopping#

set_stopping ορίζει τον τρόπο με τον οποίο το ρομπότ θα σταματήσει να κινείται: φρενάροντας, κινούμενο με ταχύτητα χωρίς κίνηση ή κρατώντας το.

Usage:
drivetrain.set_stopping(mode)

Παράμετροι

Περιγραφή

mode

Πώς θα σταματήσει το ρομπότ:

  • BRAKE — Σταματάει αμέσως.
  • COAST — Επιβραδύνει μέχρι να σταματήσει.
  • HOLD — Σταματάει αμέσως και διατηρεί τη θέση των τροχών.

Εάν δεν χρησιμοποιηθεί αυτή η μέθοδος, το ρομπότ θα χρησιμοποιήσει BRAKE κατά το σταμάτημα.

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

Παράμετροι

Περιγραφή

value

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

units

Προαιρετικά. Η μονάδα χρόνου: MSEC (χιλιοστά του δευτερολέπτου, προεπιλογή) ή SECONDS.

# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)

set_heading#

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

Για παράδειγμα, εάν το ρομπότ έχει στραφεί προς τα δεξιά, η ρύθμιση της κατεύθυνσης σε 0 μοίρες καθιστά αυτή τη θέση προς τα δεξιά τις νέες 0 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε άλλες θέσεις με βάση αυτήν τη νέα κατεύθυνση.

Usage:
drivetrain.set_heading(heading, units)

Παράμετροι

Περιγραφή

heading

Η τιμή κατεύθυνσης, σε μοίρες ή στροφές, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικό. Η μονάδα κατεύθυνσης: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

# 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 μοίρες. Στη συνέχεια, το ρομπότ μπορεί να στραφεί σε περιστροφές με βάση αυτήν τη νέα τιμή.

Usage:
drivetrain.set_rotation(rotation, units)

Παράμετροι

Περιγραφή

rotation

Η τιμή περιστροφής, σε μοίρες ή στροφές, που θα οριστεί για το ρομπότ. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float).

units

Προαιρετικά. Η μονάδα περιστροφής: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)

set_turn_threshold#

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

Ένα μικρότερο κατώφλι μπορεί να κάνει τις στροφές πιο ακριβείς, αλλά το ρομπότ μπορεί να χρειαστεί περισσότερο χρόνο για να ολοκληρώσει τις στροφές. Ένα μεγαλύτερο κατώφλι μπορεί να κάνει τις στροφές να ολοκληρωθούν νωρίτερα, αλλά μπορεί να είναι λιγότερο ακριβείς.

Usage:
drivetrain.set_turn_threshold(value)

Παράμετροι

Περιγραφή

value

Το όριο στροφής, σε μοίρες. Αυτό μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float). Το προεπιλεγμένο όριο στροφής είναι 1 μοίρα.

# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)

set_turn_constant#

set_turn_constant αλλάζει την ένταση με την οποία το ρομπότ διορθώνει τις στροφές του.

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

Usage:
drivetrain.set_turn_constant(value)

Παράμετροι

Περιγραφή

value

Η σταθερά στροφής. Αυτή μπορεί να είναι δεκαδική (float) από 0,1 έως 4,0. Η προεπιλογή είναι 1,0.

# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)

Αποκτητές#

heading#

Η κατεύθυνση είναι η κατεύθυνση προς την οποία είναι στραμμένο το ρομπότ, μετρούμενη σε μοίρες. Η κατεύθυνση heading επιστρέφει την τρέχουσα κατεύθυνση του ρομπότ από 0 σε 359 μοίρες.

Η αρχική κατεύθυνση του ρομπότ είναι 0 μοίρες.

Usage:
drivetrain.heading(units)

Παράμετροι

Περιγραφή

units

Προαιρετικά. Η μονάδα επιστροφής της κατεύθυνσης: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())

rotation#

Η περιστροφή είναι η περιστροφή του ρομπότ, μετρούμενη σε μοίρες ή στροφές. Στην αρχή ενός έργου, η τιμή περιστροφής ορίζεται σε 0 μοίρες. Η περιστροφή rotation επιστρέφουν την τρέχουσα περιστροφή του ρομπότ.

Η δεξιά στροφή αυξάνει την περιστροφή και η αριστερά τη μειώνει. Για παράδειγμα, κάνοντας δύο πλήρεις στροφές προς τα δεξιά θα επιστρέψει μια περιστροφή 720 μοιρών.

Usage:
drivetrain.rotation(units)

Παράμετροι

Περιγραφή

units

Προαιρετικό. Η μονάδα επιστροφής της περιστροφής σε: DEGREES (προεπιλογή) ή TURNSΜία στροφή ισούται με 360 μοίρες.

# 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 από -127 rpm έως 127 rpm ή σε VelocityUnits.DPSΜια θετική τιμή σημαίνει ότι το ρομπότ κινείται προς τα εμπρός. Μια αρνητική τιμή σημαίνει ότι το ρομπότ κινείται προς τα πίσω.

Usage:
drivetrain.velocity(units)

Παράμετροι

Περιγραφή

units

Προαιρετικό. Η μονάδα μέτρησης της ταχύτητας σε: PERCENT (προεπιλογή), RPM (περιστροφές ανά λεπτό) ή VelocityUnits.DPS (μοίρες ανά δευτερόλεπτο).

current#

Το current επιστρέφει την ποσότητα ηλεκτρικού ρεύματος που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε αμπέρ (αμπέρ). Το ρεύμα είναι η ποσότητα ηλεκτρικού ρεύματος που ρέει μέσω του συστήματος μετάδοσης κίνησης.

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

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

Usage:
drivetrain.current(units)

Παράμετροι

Περιγραφή

units

Προαιρετικό. Η μονάδα επιστροφής ρεύματος: CurrentUnits.AMP (αμπέρ, προεπιλογή).

is_moving#

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

  • True — Το ρομπότ κινείται.

  • False — Το ρομπότ δεν κινείται.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους Drivetrain που έχουν την παράμετρο wait : drive_for, turn_for, turn_to_heading και turn_to_rotation.

Usage:
drivetrain.is_moving()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

is_done#

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

  • True — Το ρομπότ έχει ολοκληρώσει την κίνηση.

  • False — Το ρομπότ εξακολουθεί να κινείται.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους Drivetrain που έχουν την παράμετρο wait : drive_for, turn_for, turn_to_heading και turn_to_rotation.

Usage:
drivetrain.is_done()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

is_turning#

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

  • True — Το ρομπότ γυρίζει.

  • False — Το ρομπότ δεν γυρίζει.

Αυτή η μέθοδος λειτουργεί σε συνδυασμό με τις ακόλουθες μεθόδους Drivetrain που έχουν την παράμετρο wait : turn_for, turn_to_heading και turn_to_rotation.

Usage:
drivetrain.is_turning()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

power#

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

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

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

Usage:
drivetrain.power()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

torque#

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

Η τιμή torque επιστρέφει την ποσότητα ροπής που χρησιμοποιεί το σύστημα μετάδοσης κίνησης, μετρούμενη σε Newton-μέτρα (Nm) ή ίντσες-λίβρες (InLb).

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

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

Usage:
drivetrain.torque(units)

Παράμετροι

Περιγραφή

units

Προαιρετικά. Η μονάδα επιστροφής ροπής: TorqueUnits.NM (νιούτον μέτρα, προεπιλογή) ή TorqueUnits.INLB (ίντσες και λίβρες).

efficiency#

Η απόδοση efficiency επιστρέφει την αποτελεσματικότητα της χρήσης ισχύος από το σύστημα μετάδοσης κίνησης, ως ποσοστό από 0% έως 100%.

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

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

Usage:
drivetrain.efficiency()

Παράμετροι

Περιγραφή

Αυτή η μέθοδος δεν έχει παραμέτρους.

temperature#

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

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

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

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

Usage:
drivetrain.temperature(units)

Παράμετροι

Περιγραφή

units

Προαιρετικά. Η μονάδα μέτρησης για την επιστροφή της θερμοκρασίας: TemperatureUnits.CELSIUS (προεπιλογή) ή TemperatureUnits.FAHRENHEIT.

Κατασκευαστές#

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

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

DriveTrain#

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

Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Παράμετρος

Περιγραφή

lm

Ο αριστερός κινητήρας ή ομάδα κινητήρων.

rm

Ο δεξιός κινητήρας ή ομάδα κινητήρων.

wheelTravel

Προαιρετικά. Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι 300 χιλιοστά.

trackWidth

Προαιρετικό. Το πλάτος μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι 320 χιλιοστά.

wheelBase

Προαιρετικά. Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι 320 χιλιοστά.

units

Προαιρετικά. Η μονάδα για wheelTravel, trackWidthκαι wheelBase: MM (προεπιλογή), INCHESή DistanceUnits.CM (εκατοστά).

externalGearRatio

Προαιρετικό. Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float). Η προεπιλογή είναι 1,0.

# Create left and right drive motor objects
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT2, 1.0, True)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

# Create two motor group objects for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT3, 1.0, True)
right_motor_b = Motor(Ports.PORT4, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

SmartDrive#

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

Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Παράμετρος

Περιγραφή

lm

Ο αριστερός κινητήρας ή ομάδα κινητήρων.

rm

Ο δεξιός κινητήρας ή ομάδα κινητήρων.

g

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

wheelTravel

Προαιρετικά. Η περιφέρεια των τροχών του συστήματος μετάδοσης κίνησης. Η προεπιλογή είναι 300 χιλιοστά.

trackWidth

Προαιρετικό. Το πλάτος μεταξύ του αριστερού και του δεξιού τροχού. Η προεπιλογή είναι 320 χιλιοστά.

wheelBase

Προαιρετικά. Η απόσταση μεταξύ των μπροστινών και των πίσω τροχών. Η προεπιλογή είναι 320 χιλιοστά.

units

Προαιρετικά. Η μονάδα για διαδρομή τροχού wheelTravel, πλάτος trackWidthκαι βάση τροχού wheelBase: MM (χιλιοστά, προεπιλογή) ή INCHES.

externalGearRatio

Προαιρετικό. Η σχέση μετάδοσης που χρησιμοποιείται για την προσαρμογή των αποστάσεων οδήγησης εάν χρησιμοποιούνται ταχύτητες. Αυτή μπορεί να είναι ένας ακέραιος αριθμός integer ή δεκαδικός αριθμός (float). Η προεπιλογή είναι 1,0.

# Create the Inertial Sensor
brain_inertial = Inertial()

# Make left and right drive motors
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT6, 1.0, True)

# Create a SmartDrive object with wheelTravel 200
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)

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

# Create the Inertial Sensor
brain_inertial = Inertial()

# Create two motor groups for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT5, 1.0, True)
right_motor_b = Motor(Ports.PORT6, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

# Create a SmartDrive object with wheelTravel 200 mm
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)