Βραχίονας 6 αξόνων#

Εισαγωγή#

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

Παρακάτω είναι μια λίστα με όλες τις διαθέσιμες μεθόδους:

Ενέργειες — Μετακινήστε τον βραχίονα 6 αξόνων σε θέσεις ή προσανατολισμούς.

  • move_to — Moves the end effector to a specified x, y, and z coordinate.

  • move_inc — Moves the end effector by a specified distance from its current position.

  • move_end_effector_to — Rotates the end effector to a specified yaw, roll, and pitch orientation.

  • move_end_effector_inc — Rotates the end effector by a specified yaw, roll, and pitch amount.

Μεταλλαγμένοι — Διαμορφώστε τις ρυθμίσεις κίνησης, εργαλείων και ελέγχου.

Λήπτες — Επιστρέφουν τιμές κατάστασης κίνησης, θέσης, προσανατολισμού και σύνδεσης.

  • is_done — Returns whether the 6-Axis Arm has finished moving.

  • get_x — Returns the current x position of the end effector.

  • get_y — Returns the current y position of the end effector.

  • get_z — Returns the current z position of the end effector.

  • get_pitch — Returns the current pitch of the end effector.

  • get_roll — Returns the current roll of the end effector.

  • get_yaw — Returns the current yaw of the end effector.

  • can_arm_reach_to — Returns whether the 6-Axis Arm can reach a specified position.

  • can_arm_reach_inc — Returns whether the 6-Axis Arm can move by a specified distance.

  • can_end_effector_reach_to — Returns whether the end effector can reach a specified orientation.

  • can_end_effector_reach_inc — Returns whether the end effector can rotate by a specified amount.

  • get_timeout — Returns the current timeout value used by movement methods.

  • is_connected — Returns whether the 6-Axis Arm is connected to the Brain.

Επανακλήσεις — Εκτέλεση συναρτήσεων όταν συμβαίνουν συμβάντα όπλισης.

  • control_stopped — Registers a function to run when control stop is enabled.

Κατασκευαστής — Δημιουργήστε χειροκίνητα ένα αντικείμενο βραχίονα 6 αξόνων.

  • Arm — Creates a 6-Axis Arm object.

Αυτή η σελίδα αφορά τη χρήση του βραχίονα 6 αξόνων μόνο του με το πλακίδιο CTE. Για να χρησιμοποιήσετε τον βραχίονα 6 αξόνων με άλλα εξαρτήματα CTE Workcell, όπως πνευματικά συστήματα ή μεταφορικές ταινίες, συνδέστε τον βραχίονα 6 αξόνων σε έναν εγκέφαλο EXP και χρησιμοποιήστε την αντίστοιχη σελίδα Βραχίονας EXP.

Ενέργειες#

move_to#

move_to moves the 6-Axis Arm to a specified x, y, and z coordinate.

The x, y, and z coordinates describe the position of the end effector in three-dimensional space. Use can_arm_reach_to before this method if the target position may be outside the 6-Axis Arm’s reachable workspace.

Usage:
arm.move_to(x, y, z, wait)

Παράμετρος

Περιγραφή

x

Η συντεταγμένη x της θέσης-στόχου σε χιλιοστά.

y

Η συντεταγμένη y της θέσης-στόχου σε χιλιοστά.

z

Η συντεταγμένη z της θέσης-στόχου σε χιλιοστά.

wait

Optional. wait=True (default) makes the project wait until the movement is complete before continuing. wait=False starts the movement and immediately continues to the next line of code.

# Move the 6-Axis Arm to (40, 140, 210)
arm.move_to(40, 140, 210)

# Start moving, then print the y-position while the arm moves
arm.move_to(-100, 200, 100, wait=False)

while not arm.is_done():
    brain.print(arm.get_y())
    brain.new_line()
    wait(0.25, SECONDS)

move_inc#

move_inc moves the 6-Axis Arm by a specified distance from its current position along the x, y, and z axes.

Use this method to move relative to where the end effector is now. Use can_arm_reach_inc before this method if the movement may place the 6-Axis Arm outside its reachable workspace.

Usage:
arm.move_inc(x, y, z, wait)

Παράμετρος

Περιγραφή

x

Η απόσταση που απαιτείται για την κίνηση κατά μήκος του άξονα x σε χιλιοστά.

y

Η απόσταση που απαιτείται για να κινηθεί κανείς κατά μήκος του άξονα y σε χιλιοστά.

z

Η απόσταση που απαιτείται για την κίνηση κατά μήκος του άξονα z σε χιλιοστά.

wait

Optional. wait=True (default) makes the project wait until the movement is complete before continuing. wait=False starts the movement and immediately continues to the next line of code.

# Move the 6-Axis Arm 100 millimeters along the y-axis
arm.move_inc(0, 100, 0)

move_end_effector_to#

move_end_effector_to rotates the 6-Axis Arm’s end effector to a specified yaw, roll, and pitch orientation.

Orientation describes how the end effector is rotated. yaw rotates around the z-axis, roll rotates around the x-axis, and pitch rotates around the y-axis.

Usage:
arm.move_end_effector_to(yaw, roll, pitch, wait)

Παράμετρος

Περιγραφή

yaw

Η γωνία εκτροπής του στόχου, σε μοίρες.

roll

Η γωνία κύλισης του στόχου, σε μοίρες.

pitch

Η γωνία βήματος του στόχου, σε μοίρες.

wait

Optional. wait=True (default) makes the project wait until the movement is complete before continuing. wait=False starts the movement and immediately continues to the next line of code.

# Rotate the end effector to 90 degrees of roll
arm.move_end_effector_to(0, 90, 0)

move_end_effector_inc#

move_end_effector_inc rotates the 6-Axis Arm’s end effector by a specified yaw, roll, and pitch amount from its current orientation.

Χρησιμοποιήστε αυτήν τη μέθοδο για περιστροφή σε σχέση με την τρέχουσα εκτροπή, κύλιση ή βήμα του τελικού ενεργοποιητή.

Usage:
arm.move_end_effector_inc(yaw, roll, pitch, wait)

Παράμετρος

Περιγραφή

yaw

Η αλλαγή στην εκτροπή, σε μοίρες.

roll

Η αλλαγή στην κύλιση, σε μοίρες.

pitch

Η αλλαγή στο ύψος της φωνής, σε μοίρες.

wait

Optional. wait=True (default) makes the project wait until the movement is complete before continuing. wait=False starts the movement and immediately continues to the next line of code.

# Rotate the end effector -50 degrees in pitch
arm.move_end_effector_inc(0, 0, -50)

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

set_speed#

set_speed sets the movement speed used by the 6-Axis Arm for movement methods.

Η ταχύτητα του βραχίονα 6 αξόνων έχει οριστεί στο 50% στην αρχή ενός έργου.

Usage:
arm.set_speed(speed)

Παράμετρος

Περιγραφή

speed

The movement speed of the 6-Axis Arm, from 1 to 100 percent.

# Set the 6-Axis Arm speed to 30%
arm.set_speed(30)

set_end_effector_type#

set_end_effector_type sets the type of end effector attached to the 6-Axis Arm.

When the end effector type is changed, the 6-Axis Arm automatically adjusts its z-offset to match the selected tool. The end effector type is set to Arm.MAGNET at the start of a project.

Usage:
arm.set_end_effector_type(type)

Παράμετρος

Περιγραφή

type

The tool attached to the 6-Axis Arm: Arm.MAGNET (Magnet Pickup Tool) or Arm.PEN (Pen Holder Tool).

# Set the end effector type to the Pen Holder Tool
arm.set_end_effector_type(Arm.PEN)

set_end_effector_magnet#

set_end_effector_magnet engages or releases the Magnet Pickup Tool.

The magnet state stays active until another set_end_effector_magnet method changes it. The magnet state is reset to False at the start of a project.

Usage:
arm.set_end_effector_magnet(state)

Παράμετρος

Περιγραφή

state

The Magnet Pickup Tool state: True to pick up and hold objects or False to drop any held object and stop picking up new objects.

# Pick up objects and then drop them
arm.set_end_effector_type(Arm.MAGNET)
arm.set_end_effector_magnet(True)
wait(2, SECONDS)
arm.set_end_effector_magnet(False)

set_pen_offset#

set_pen_offset sets the z-axis offset used when the Pen Holder Tool is attached to the 6-Axis Arm.

Set the end effector type to Arm.PEN before using this method. If the Pen Holder Tool is not selected, this method has no effect.

The pen offset is the distance from the top of the Pen Holder Tool to the tip of the Dry-Erase Marker. At the start of a project, the pen offset is set to 0. A pen offset of 0 places the arm’s z-axis origin at the point where the Pen Holder Tool connects to the 6-Axis Arm.

Usage:
arm.set_pen_offset(zOffset)

Παράμετρος

Περιγραφή

zOffset

Η τιμή μετατόπισης της πένας σε χιλιοστά.

# Set the end effector type to the Pen Holder Tool and set the pen offset
arm.set_end_effector_type(Arm.PEN)
arm.set_pen_offset(25)

set_control_stop#

set_control_stop enables control stop for the 6-Axis Arm.

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

Usage:
arm.set_control_stop(state)

Παράμετρος

Περιγραφή

state

Optional. True (default) enables control stop. False does not enable control stop.

# Stop the 6-Axis Arm and prevent further movement
arm.set_control_stop()

set_timeout#

set_timeout sets the timeout value used when moving the 6-Axis Arm.

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

Usage:
arm.set_timeout(timeout, units)

Παράμετρος

Περιγραφή

timeout

Η νέα τιμή χρονικού ορίου.

units

Optional. The time unit: MSEC (milliseconds, default), SECONDS, or SEC.

# Set the 6-Axis Arm timeout to 2 seconds
arm.set_timeout(2, SECONDS)

Αποκτητές#

is_done#

is_done returns whether the 6-Axis Arm has finished moving.

This method is useful after a movement method is called with wait=False.

  • True — The 6-Axis Arm has finished moving.

  • False — The 6-Axis Arm is still moving.

Usage:
arm.is_done()

Παράμετροι

Περιγραφή

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

# Display the 6-Axis Arm's y-position while it moves
arm.move_to(-100, 200, 100, wait=False)

while not arm.is_done():
    brain.print(arm.get_y())
    brain.new_line()
    wait(0.25, SECONDS)

get_x#

get_x returns the current x position of the end effector in millimeters.

Χρησιμοποιήστε αυτήν τη μέθοδο για να διαβάσετε πού βρίσκεται τη δεδομένη στιγμή ο τελικός τελεστής κατά μήκος του άξονα x.

Usage:
arm.get_x()

Παράμετροι

Περιγραφή

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

# Print the current x position of the 6-Axis Arm
brain.print(arm.get_x())

get_y#

get_y returns the current y position of the end effector in millimeters.

Χρησιμοποιήστε αυτήν τη μέθοδο για να διαβάσετε πού βρίσκεται ο τελικός τελεστής κατά μήκος του άξονα y.

Usage:
arm.get_y()

Παράμετροι

Περιγραφή

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

# Print the current y position of the 6-Axis Arm
brain.print(arm.get_y())

get_z#

get_z returns the current z position of the end effector in millimeters.

Χρησιμοποιήστε αυτήν τη μέθοδο για να διαβάσετε πού βρίσκεται τη δεδομένη στιγμή ο τελικός τελεστής κατά μήκος του άξονα z.

Usage:
arm.get_z()

Παράμετροι

Περιγραφή

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

# Print the current z position of the 6-Axis Arm
brain.print(arm.get_z())

get_pitch#

get_pitch returns the current pitch of the end effector in degrees.

Usage:
arm.get_pitch()

Παράμετροι

Περιγραφή

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

# Print the current pitch of the end effector
brain.print(arm.get_pitch())

get_roll#

get_roll returns the current roll of the end effector in degrees.

Usage:
arm.get_roll()

Παράμετροι

Περιγραφή

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

# Print the current roll of the end effector
brain.print(arm.get_roll())

get_yaw#

get_yaw returns the current yaw of the end effector in degrees.

Usage:
arm.get_yaw()

Παράμετροι

Περιγραφή

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

# Print the current yaw of the end effector
brain.print(arm.get_yaw())

can_arm_reach_to#

can_arm_reach_to returns whether the 6-Axis Arm can move the end effector to a specified x, y, and z coordinate.

Use this method to check a target position before using move_to.

  • True — The 6-Axis Arm can reach the requested position.

  • False — The 6-Axis Arm cannot reach the requested position.

Usage:
arm.can_arm_reach_to(x, y, z)

Παράμετρος

Περιγραφή

x

Η συντεταγμένη x της θέσης-στόχου σε χιλιοστά.

y

Η συντεταγμένη y της θέσης-στόχου σε χιλιοστά.

z

Η συντεταγμένη z της θέσης-στόχου σε χιλιοστά.

# Move the 6-Axis Arm to (100, -20, 50) if it can reach
if arm.can_arm_reach_to(100, -20, 50):
    arm.move_to(100, -20, 50)

can_arm_reach_inc#

can_arm_reach_inc returns whether the 6-Axis Arm can move the end effector by a specified x, y, and z distance from its current position.

Use this method to check a relative movement before using move_inc.

  • True — The 6-Axis Arm can make the requested movement.

  • False — The 6-Axis Arm cannot make the requested movement.

Usage:
arm.can_arm_reach_inc(x, y, z)

Παράμετρος

Περιγραφή

x

Η απόσταση που απαιτείται για την κίνηση κατά μήκος του άξονα x σε χιλιοστά.

y

Η απόσταση που απαιτείται για να κινηθεί κανείς κατά μήκος του άξονα y σε χιλιοστά.

z

Η απόσταση που απαιτείται για την κίνηση κατά μήκος του άξονα z σε χιλιοστά.

# Increment the 6-Axis Arm 100 mm along the x-axis if possible
if arm.can_arm_reach_inc(100, 0, 0):
    arm.move_inc(100, 0, 0)

can_end_effector_reach_to#

can_end_effector_reach_to returns whether the end effector can rotate to a specified yaw, roll, and pitch orientation.

Use this method to check a target orientation before using move_end_effector_to.

  • True — The end effector can reach the requested orientation.

  • False — The end effector cannot reach the requested orientation.

Usage:
arm.can_end_effector_reach_to(yaw, roll, pitch)

Παράμετρος

Περιγραφή

yaw

Η γωνία εκτροπής του στόχου, σε μοίρες.

roll

Η γωνία κύλισης του στόχου, σε μοίρες.

pitch

Η γωνία βήματος του στόχου, σε μοίρες.

# Rotate the end effector to 90 degrees of roll if possible
if arm.can_end_effector_reach_to(0, 90, 0):
    arm.move_end_effector_to(0, 90, 0)

can_end_effector_reach_inc#

can_end_effector_reach_inc returns whether the end effector can rotate by a specified yaw, roll, and pitch amount from its current orientation.

Use this method to check a relative orientation movement before using move_end_effector_inc.

  • True — The end effector can make the requested rotation.

  • False — The end effector cannot make the requested rotation.

Usage:
arm.can_end_effector_reach_inc(yaw, roll, pitch)

Παράμετρος

Περιγραφή

yaw

Η αλλαγή στην εκτροπή, σε μοίρες.

roll

Η αλλαγή στην κύλιση, σε μοίρες.

pitch

Η αλλαγή στο ύψος της φωνής, σε μοίρες.

# Increment the end effector by 10 degrees of pitch if possible
if arm.can_end_effector_reach_inc(0, 0, 10):
    arm.move_end_effector_inc(0, 0, 10)

get_timeout#

get_timeout returns the timeout value used by 6-Axis Arm movement methods in milliseconds.

Usage:
arm.get_timeout()

Παράμετροι

Περιγραφή

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

# Print the current movement timeout in milliseconds
brain.print(arm.get_timeout())

is_connected#

is_connected returns whether the 6-Axis Arm is connected to the Brain.

  • True — The 6-Axis Arm is connected to the Brain.

  • False — The 6-Axis Arm is not connected to the Brain.

Usage:
arm.is_connected()

Παράμετροι

Περιγραφή

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

# Print whether the 6-Axis Arm is connected
brain.print(arm.is_connected())

Επανακλήσεις#

control_stopped#

control_stopped registers a function that runs when control stop is enabled.

This method returns an instance of the Event class.

Usage:
arm.control_stopped(callback, arg)

Παράμετρος

Περιγραφή

callback

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

arg

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

# Define a function to run when control stop is enabled
def when_control_stopped():
    brain.print("The arm has been control stopped")

# Run when_control_stopped when the 6-Axis Arm is control stopped
arm.control_stopped(when_control_stopped)

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

Arm#

Arm creates a 6-Axis Arm object.

Usage:
Arm()

Παράμετροι

Περιγραφή

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

# Construct a 6-Axis Arm named arm with the Arm class
arm = Arm()