6-assige arm#

Invoering#

De VEX 6-assige robotarm beweegt een eindeffector in driedimensionale ruimte, bestuurt de oriëntatie van de eindeffector en werkt met aangehechte gereedschappen zoals de magneetgrijper of de pennenhouder.

Hieronder vindt u een lijst met alle beschikbare methoden:

Acties — Beweeg de 6-assige arm naar de gewenste posities of oriëntaties.

  • move_to — Verplaatst de eindeffector naar een opgegeven x-, y- en z-coördinaat.

  • move_inc — Verplaatst de eindeffector over een opgegeven afstand vanaf zijn huidige positie.

  • move_end_effector_to — Draait de eindeffector naar een gespecificeerde gier-, rol- en stamprichting.

  • move_end_effector_inc — Draait de eindeffector met een gespecificeerde hoeveelheid gier-, rol- en stampbeweging.

Mutators — Configureer beweging, gereedschap en besturingsinstellingen.

  • set_speed — Stelt de bewegingssnelheid in die door de 6-assige arm wordt gebruikt.

  • set_end_effector_type — Stelt het type eindeffector in dat aan de 6-assige arm is bevestigd.

  • set_end_effector_magnet — Schakelt het magneetoppakgereedschap in of uit.

  • set_pen_offset — Stelt de z-as-offset in die wordt gebruikt met het Pen Holder Tool.

  • set_control_stop — Schakelt de controlestop voor de 6-assige arm in.

  • set_timeout — Stelt de time-out in die wordt gebruikt door de bewegingsmethoden van de 6-assige arm.

Getters — Retourneren bewegingsstatus, positie, oriëntatie en verbindingswaarden.

  • is_done — Geeft aan of de 6-assige arm klaar is met bewegen.

  • get_x — Retourneert de huidige x-positie van de eindeffector.

  • get_y — Retourneert de huidige y-positie van de eindeffector.

  • get_z — Retourneert de huidige z-positie van de eindeffector.

  • get_pitch — Retourneert de huidige toonhoogte van de eindeffector.

  • get_roll — Retourneert de huidige worp van de eindeffector.

  • get_yaw — Retourneert de huidige yaw van de eindeffector.

  • can_arm_reach_to — Geeft aan of de 6-assige arm een ​​opgegeven positie kan bereiken.

  • can_arm_reach_inc — Geeft aan of de 6-assige arm een ​​opgegeven afstand kan afleggen.

  • can_end_effector_reach_to — Geeft aan of de eindeffector een gespecificeerde oriëntatie kan bereiken.

  • can_end_effector_reach_inc — Geeft aan of de eindeffector een gespecificeerde hoeveelheid kan roteren.

  • get_timeout — Retourneert de huidige time-outwaarde die wordt gebruikt door bewegingsmethoden.

  • is_connected — Geeft aan of de 6-assige arm is verbonden met de hersenen.

Callbacks — Voer functies uit wanneer er gebeurtenissen plaatsvinden die het systeem activeren.

  • control_stopped — Registreert een functie die moet worden uitgevoerd wanneer de controlestop is ingeschakeld.

Constructor — Maak handmatig een 6-assig armobject aan.

  • Arm — Maakt een 6-assig armobject aan.

Deze pagina is bedoeld voor het gebruik van de 6-assige arm op zichzelf met de CTE Tile. Om de 6-assige arm te gebruiken met andere CTE Workcell-componenten, zoals pneumatiek of transportbanden, sluit u de 6-assige arm aan op een EXP Brain en gebruikt u de bijbehorende pagina EXP Arm.

Acties#

move_to#

move_to verplaatst de 6-assige arm naar een opgegeven x-, y- en z-coördinaat.

De x-, y- en z-coördinaten beschrijven de positie van de eindeffector in de driedimensionale ruimte. Gebruik can_arm_reach_to vóór deze methode als de doelpositie zich mogelijk buiten het bereikbare werkgebied van de 6-assige arm bevindt.

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

Parameter

Beschrijving

x

De x-coördinaat van de doelpositie in millimeters.

y

De y-coördinaat van de doelpositie in millimeters.

z

De z-coördinaat van de doelpositie in millimeters.

wait

Optioneel. wait=True (standaard) zorgt ervoor dat het project wacht tot de beweging is voltooid voordat het verdergaat. wait=False start de beweging en gaat direct verder naar de volgende regel 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 verplaatst de 6-assige arm over een opgegeven afstand vanaf de huidige positie langs de x-, y- en z-assen.

Gebruik deze methode om te bewegen ten opzichte van de huidige positie van de eindeffector. Gebruik can_arm_reach_inc vóór deze methode als de beweging de 6-assige arm buiten zijn bereikbare werkruimte kan plaatsen.

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

Parameter

Beschrijving

x

De afstand die langs de x-as moet worden afgelegd in millimeters.

y

De afstand die langs de y-as moet worden afgelegd, in millimeters.

z

De afstand die langs de z-as moet worden afgelegd, in millimeters.

wait

Optioneel. wait=True (standaard) zorgt ervoor dat het project wacht tot de beweging is voltooid voordat het verdergaat. wait=False start de beweging en gaat direct verder naar de volgende regel 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 roteert de eindeffector van de 6-assige arm naar een gespecificeerde gier-, rol- en stamprichting.

De oriëntatie beschrijft hoe de eindeffector roteert. yaw , roteert om de z-as; roll , roteert om de x-as; en pitch roteert om de y-as.

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

Parameter

Beschrijving

yaw

De gewenste gierhoek, in graden.

roll

De gewenste rolhoek, in graden.

pitch

De gewenste hellingshoek, in graden.

wait

Optioneel. wait=True (standaard) zorgt ervoor dat het project wacht tot de beweging is voltooid voordat het verdergaat. wait=False start de beweging en gaat direct verder naar de volgende regel 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 roteert de eindeffector van de 6-assige arm met een gespecificeerde hoeveelheid gier-, rol- en stampbeweging ten opzichte van de huidige oriëntatie.

Gebruik deze methode om te roteren ten opzichte van de huidige gier-, rol- of stampbeweging van de eindeffector.

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

Parameter

Beschrijving

yaw

De verandering in gierhoek, in graden.

roll

De verandering in de hellingshoek, in graden.

pitch

De toonhoogteverandering, in graden.

wait

Optioneel. wait=True (standaard) zorgt ervoor dat het project wacht tot de beweging is voltooid voordat het verdergaat. wait=False start de beweging en gaat direct verder naar de volgende regel code.

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

Mutators#

set_speed#

set_speed stelt de bewegingssnelheid in die de 6-assige arm gebruikt voor bewegingsmethoden.

De snelheid van de 6-assige arm wordt aan het begin van een project ingesteld op 50%.

Usage:
arm.set_speed(speed)

Parameter

Beschrijving

speed

De bewegingssnelheid van de 6-assige arm, van 1 tot 100 procent.

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

set_end_effector_type#

set_end_effector_type stelt het type eindeffector in dat aan de 6-assige arm is bevestigd.

Wanneer het type eindeffector wordt gewijzigd, past de 6-assige arm automatisch de Z-offset aan aan het geselecteerde gereedschap. Het type eindeffector is aan het begin van een project ingesteld op Arm.MAGNET.

Usage:
arm.set_end_effector_type(type)

Parameter

Beschrijving

type

Het gereedschap dat aan de 6-assige arm is bevestigd: Arm.MAGNET (Magneet-oppakgereedschap) of Arm.PEN (Penhoudergereedschap).

# 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 activeert of deactiveert het magneetoppakgereedschap.

De magneetstatus blijft actief totdat een andere methode set_end_effector_magnet deze wijzigt. De magneetstatus wordt aan het begin van een project gereset naar False.

Usage:
arm.set_end_effector_magnet(state)

Parameter

Beschrijving

state

De magnetische grijper heeft de volgende statussen: True om objecten op te pakken en vast te houden, of False om elk vastgehouden object los te laten en te stoppen met het oppakken van nieuwe objecten.

# 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 stelt de z-as-offset in die wordt gebruikt wanneer het penhoudergereedschap is bevestigd aan de 6-assige arm.

Stel het eindeffectortype in op Arm.PEN voordat u deze methode gebruikt. Als het gereedschap Penhouder niet is geselecteerd, heeft deze methode geen effect.

De penoffset is de afstand van de bovenkant van de penhouder tot de punt van de whiteboardstift. Aan het begin van een project is de penoffset ingesteld op 0Een penoffset van 0 plaatst het nulpunt van de z-as van de arm op het punt waar de penhouder is verbonden met de 6-assige arm.

Usage:
arm.set_pen_offset(zOffset)

Parameter

Beschrijving

zOffset

De penoffsetwaarde in millimeters.

# 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 maakt de stopfunctie voor de 6-assige arm mogelijk.

Wanneer de stopfunctie is ingeschakeld, stopt de 6-assige arm onmiddellijk met bewegen en voert geen verdere bewegingen meer uit totdat het project opnieuw wordt gestart.

Usage:
arm.set_control_stop(state)

Parameter

Beschrijving

state

Optioneel. True (standaard) schakelt de automatische stopfunctie in. False schakelt de automatische stopfunctie niet in.

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

set_timeout#

set_timeout stelt de time-outwaarde in die wordt gebruikt bij het bewegen van de 6-assige arm.

Als een beweging niet is voltooid voordat de time-out is bereikt, gaat het project verder met de volgende regel code.

Usage:
arm.set_timeout(timeout, units)

Parameter

Beschrijving

timeout

De nieuwe time-outwaarde.

units

Optioneel. De tijdseenheid: MSEC (milliseconden, standaard), SECONDSof SEC.

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

Getters#

is_done#

is_done geeft aan of de 6-assige arm klaar is met bewegen.

Deze methode is handig nadat een bewegingsmethode is aangeroepen met wait=False.

  • True — De 6-assige arm is klaar met bewegen.

  • False — De 6-assige arm beweegt nog steeds.

Usage:
arm.is_done()

Parameters

Beschrijving

Deze methode heeft geen parameters.

# 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 retourneert de huidige x-positie van de eindeffector in millimeters.

Gebruik deze methode om de huidige positie van de eindeffector langs de x-as af te lezen.

Usage:
arm.get_x()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

get_y#

get_y retourneert de huidige y-positie van de eindeffector in millimeters.

Gebruik deze methode om de huidige positie van de eindeffector langs de y-as af te lezen.

Usage:
arm.get_y()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

get_z#

get_z retourneert de huidige z-positie van de eindeffector in millimeters.

Gebruik deze methode om de huidige positie van de eindeffector langs de z-as af te lezen.

Usage:
arm.get_z()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

get_pitch#

get_pitch retourneert de huidige pitch van de eindeffector in graden.

Usage:
arm.get_pitch()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

get_roll#

get_roll retourneert de huidige rolhoek van de eindeffector in graden.

Usage:
arm.get_roll()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

get_yaw#

get_yaw retourneert de huidige yaw van de eindeffector in graden.

Usage:
arm.get_yaw()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

can_arm_reach_to#

can_arm_reach_to geeft aan of de 6-assige arm de eindeffector naar een opgegeven x-, y- en z-coördinaat kan verplaatsen.

Gebruik deze methode om een ​​doelpositie te controleren voordat je move_to gebruikt.

  • True — De 6-assige arm kan de gevraagde positie bereiken.

  • False — De 6-assige arm kan de gevraagde positie niet bereiken.

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

Parameter

Beschrijving

x

De x-coördinaat van de doelpositie in millimeters.

y

De y-coördinaat van de doelpositie in millimeters.

z

De z-coördinaat van de doelpositie in millimeters.

# 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 geeft aan of de 6-assige arm de eindeffector over een opgegeven x-, y- en z-afstand vanaf zijn huidige positie kan verplaatsen.

Gebruik deze methode om een ​​relatieve beweging te controleren voordat je move_inc gebruikt.

  • True — De 6-assige arm kan de gevraagde beweging uitvoeren.

  • False — De 6-assige arm kan de gevraagde beweging niet uitvoeren.

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

Parameter

Beschrijving

x

De afstand die langs de x-as moet worden afgelegd in millimeters.

y

De afstand die langs de y-as moet worden afgelegd, in millimeters.

z

De afstand die langs de z-as moet worden afgelegd, in millimeters.

# 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 geeft aan of de eindeffector kan roteren naar een gespecificeerde gier-, rol- en stamprichting.

Gebruik deze methode om de oriëntatie van een doel te controleren voordat u move_end_effector_to gebruikt.

  • True — De eindeffector kan de gevraagde oriëntatie bereiken.

  • False — De eindeffector kan de gevraagde oriëntatie niet bereiken.

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

Parameter

Beschrijving

yaw

De gewenste gierhoek, in graden.

roll

De gewenste rolhoek, in graden.

pitch

De gewenste hellingshoek, in graden.

# 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 geeft aan of de eindeffector kan roteren met een gespecificeerde hoeveelheid gier-, rol- en stamphoek ten opzichte van zijn huidige oriëntatie.

Gebruik deze methode om een ​​relatieve oriëntatiebeweging te controleren voordat u move_end_effector_inc gebruikt.

  • True — De eindeffector kan de gevraagde rotatie uitvoeren.

  • False — De eindeffector kan de gevraagde rotatie niet uitvoeren.

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

Parameter

Beschrijving

yaw

De verandering in gierhoek, in graden.

roll

De verandering in de hellingshoek, in graden.

pitch

De toonhoogteverandering, in graden.

# 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 retourneert de time-outwaarde die wordt gebruikt door de bewegingsmethoden van de 6-assige arm in milliseconden.

Usage:
arm.get_timeout()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

is_connected#

is_connected geeft aan of de 6-assige arm is verbonden met de hersenen.

  • True — De 6-assige arm is verbonden met de hersenen.

  • False — De 6-assige arm is niet verbonden met de hersenen.

Usage:
arm.is_connected()

Parameters

Beschrijving

Deze methode heeft geen parameters.

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

Terugbelverzoeken#

control_stopped#

control_stopped registreert een functie die wordt uitgevoerd wanneer control stop is ingeschakeld.

Deze methode retourneert een instantie van de klasse Event.

Usage:
arm.control_stopped(callback, arg)

Parameter

Beschrijving

callback

Een eerder gedefinieerde functie die wordt uitgevoerd wanneer de controlestop is ingeschakeld.

arg

Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie.

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

Constructeurs#

Arm#

Arm creëert een 6-assig armobject.

Usage:
Arm()

Parameters

Beschrijving

Deze constructor heeft geen parameters.

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