6-axlig arm#
Introduktion#
VEX 6-axlig robotarm flyttar en ändeffektor i tredimensionellt utrymme, styr ändeffektorns orientering och arbetar med anslutna verktyg som magnetupptagningsverktyget eller pennhållarverktyget.
Nedan följer en lista över alla tillgängliga metoder:
Åtgärder — Flytta 6-axlig arm till positioner eller orienteringar.
move_to— Flyttar ändeffektorn till en specificerad x-, y- och z-koordinat.move_inc— Flyttar ändeffektorn ett angivet avstånd från dess aktuella position.move_end_effector_to— Roterar ändeffektorn till en specificerad girnings-, rullnings- och lutningsorientering.move_end_effector_inc— Roterar ändeffektorn med en specificerad girnings-, rullnings- och lutningsmängd.
Mutatorer — Konfigurera rörelser, verktyg och kontrollinställningar.
set_speed— Ställer in rörelsehastigheten som används av 6-axlig arm.set_end_effector_type— Ställer in typen av ändeffektor som är fäst vid 6-axlig arm.set_end_effector_magnet— Aktiverar eller släpper magnetupptagningsverktyget.set_pen_offset— Ställer in z-axelns offset som används med pennhållarverktyget.set_control_stop— Aktiverar kontrollstopp för 6-axlig arm.set_timeout— Ställer in timeouten som används av 6-axliga armrörelsemetoder.
Getters — Returnerar rörelsestatus, position, orientering och anslutningsvärden.
is_done— Returnerar om 6-axlig arm har slutfört sin rörelse.get_x— Returnerar ändeffektorns aktuella x-position.get_y— Returnerar ändeffektorns aktuella y-position.get_z— Returnerar ändeffektorns aktuella z-position.get_pitch— Returnerar den aktuella tonhöjden för ändeffektorn.get_roll— Returnerar den aktuella rullen för sluteffektorn.get_yaw— Returnerar den aktuella girningen för ändeffektorn.can_arm_reach_to— Returnerar om 6-axlig arm kan nå en specifik position.can_arm_reach_inc— Returnerar om 6-axlig arm kan röra sig ett visst avstånd.can_end_effector_reach_to— Returnerar om ändeffektorn kan nå en specificerad orientering.can_end_effector_reach_inc— Returnerar om ändeffektorn kan rotera med en viss mängd.get_timeout— Returnerar det aktuella timeout-värdet som används av förflyttningsmetoder.is_connected— Returnerar om 6-axlig arm är ansluten till hjärnan.
Återanrop — Kör funktioner när aktiveringshändelser inträffar.
control_stopped— Registrerar en funktion som ska köras när kontrollstopp är aktiverat.
Konstruktor — Skapa manuellt ett 6-axligt armobjekt.
Arm— Skapar ett armobjekt med 6 axlar.
Den här sidan är till för att använda 6-axlig arm ensam med CTE-plattan. För att använda 6-axlig arm med andra CTE Workcell-komponenter, såsom pneumatik eller transportörer, anslut 6-axlig arm till en EXP Brain och använd motsvarande EXP Arm-sida.
Åtgärder#
move_to#
move_to flyttar 6-axlig arm till en specificerad x-, y- och z-koordinat.
X-, y- och z-koordinaterna beskriver ändeffektorns position i det tredimensionella rummet. Använd can_arm_reach_to före denna metod om målpositionen kan ligga utanför 6-axlarmens nåbara arbetsyta.
Usage:
arm.move_to(x, y, z, wait)
Parameter |
Beskrivning |
|---|---|
|
Målpositionens x-koordinat i millimeter. |
|
Y-koordinaten för målpositionen i millimeter. |
|
Z-koordinaten för målpositionen i millimeter. |
|
Valfritt. |
# 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 flyttar 6-axlig arm ett angivet avstånd från dess aktuella position längs x-, y- och z-axlarna.
Använd den här metoden för att flytta i förhållande till var ändeffektorn nu befinner sig. Använd can_arm_reach_inc före den här metoden om rörelsen kan placera 6-axlig arm utanför dess nåbara arbetsyta.
Usage:
arm.move_inc(x, y, z, wait)
Parameter |
Beskrivning |
|---|---|
|
Avståndet som ska förflyttas längs x-axeln i millimeter. |
|
Avståndet att förflytta sig längs y-axeln i millimeter. |
|
Avståndet som ska förflyttas längs z-axeln i millimeter. |
|
Valfritt. |
# 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 roterar 6-axlarmens ändeffektor till en specificerad girnings-, rullnings- och tippningsorientering.
Orientering beskriver hur ändeffektorn roteras. yaw roterar runt z-axeln, roll roterar runt x-axeln och pitch roterar runt y-axeln.
Usage:
arm.move_end_effector_to(yaw, roll, pitch, wait)
Parameter |
Beskrivning |
|---|---|
|
Målets girvinkel, i grader. |
|
Målets rullvinkel, i grader. |
|
Målets lutningsvinkel, i grader. |
|
Valfritt. |
# 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 roterar 6-axlarmens ändeffektor med en specificerad girnings-, rullnings- och lutningsmängd från dess aktuella orientering.
Använd den här metoden för att rotera i förhållande till ändeffektorns aktuella girning, roll eller lutning.
Usage:
arm.move_end_effector_inc(yaw, roll, pitch, wait)
Parameter |
Beskrivning |
|---|---|
|
Förändringen i girning, i grader. |
|
Förändringen i rullning, i grader. |
|
Förändringen i tonhöjd, i grader. |
|
Valfritt. |
# Rotate the end effector -50 degrees in pitch
arm.move_end_effector_inc(0, 0, -50)
Mutatorer#
set_speed#
set_speed ställer in rörelsehastigheten som används av 6-axlig arm för rörelsemetoder.
6-axlig armhastighet är inställd på 50 % i början av ett projekt.
Usage:
arm.set_speed(speed)
Parameter |
Beskrivning |
|---|---|
|
Rörelsehastigheten för 6-axlarmens arm, från |
# Set the 6-Axis Arm speed to 30%
arm.set_speed(30)
set_end_effector_type#
set_end_effector_type anger typen av ändeffektor som är fäst vid 6-axlig arm.
När ändeffektortypen ändras justerar 6-axlig arm automatiskt sin z-offset för att matcha det valda verktyget. Ändeffektortypen sätts till Arm.MAGNET i början av ett projekt.
Usage:
arm.set_end_effector_type(type)
Parameter |
Beskrivning |
|---|---|
|
Verktyget som är fäst vid 6-axlingsarmen: |
# 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 aktiverar eller släpper magnetupptagningsverktyget.
Magnettillståndet förblir aktivt tills en annan set_end_effector_magnet -metod ändrar det. Magnettillståndet återställs till False i början av ett projekt.
Usage:
arm.set_end_effector_magnet(state)
Parameter |
Beskrivning |
|---|---|
|
Magnetupplockningsverktygets tillstånd: |
# 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 ställer in z-axelns offset som används när pennhållarverktyget är fäst på 6-axlig arm.
Ställ in ändeffektortypen till Arm.PEN innan du använder den här metoden. Om pennhållarverktyget inte är valt har den här metoden ingen effekt.
Pennans offset är avståndet från toppen av pennhållarverktyget till spetsen på whiteboardpennan. I början av ett projekt är pennans offset inställt på 0En pennoffset på 0 placerar armens z-axelorigo vid den punkt där pennhållarverktyget ansluter till 6-axlad arm.
Usage:
arm.set_pen_offset(zOffset)
Parameter |
Beskrivning |
|---|---|
|
Pennans offsetvärde i millimeter. |
# 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 aktiverar kontrollstopp för 6-axlig arm.
När kontrollstopp är aktiverat stoppar 6-axlig arm omedelbart alla rörelser och kör inga ytterligare armrörelsemetoder förrän projektet startas om.
Usage:
arm.set_control_stop(state)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. |
# Stop the 6-Axis Arm and prevent further movement
arm.set_control_stop()
set_timeout#
set_timeout anger timeout-värdet som används vid förflyttning av 6-axlig arm.
Om en rörelse inte avslutas innan timeout-tiden har nåtts fortsätter projektet till nästa kodrad.
Usage:
arm.set_timeout(timeout, units)
Parameter |
Beskrivning |
|---|---|
|
Det nya timeout-värdet. |
|
Valfritt. Tidsenheten: |
# Set the 6-Axis Arm timeout to 2 seconds
arm.set_timeout(2, SECONDS)
Getters#
is_done#
is_done returnerar om 6-axlig arm har rört sig färdigt.
Den här metoden är användbar efter att en förflyttningsmetod anropats med wait=False.
True— 6-axlig arm har rört sig färdigt.False— 6-axlig arm rör sig fortfarande.
Usage:
arm.is_done()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar ändeffektorns aktuella x-position i millimeter.
Använd den här metoden för att avläsa var ändeffektorn för närvarande är placerad längs x-axeln.
Usage:
arm.get_x()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current x position of the 6-Axis Arm
brain.print(arm.get_x())
get_y#
get_y returnerar ändeffektorns aktuella y-position i millimeter.
Använd den här metoden för att avläsa var ändeffektorn för närvarande är placerad längs y-axeln.
Usage:
arm.get_y()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current y position of the 6-Axis Arm
brain.print(arm.get_y())
get_z#
get_z returnerar ändeffektorns aktuella z-position i millimeter.
Använd den här metoden för att avläsa var ändeffektorn för närvarande är placerad längs z-axeln.
Usage:
arm.get_z()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current z position of the 6-Axis Arm
brain.print(arm.get_z())
get_pitch#
get_pitch returnerar den aktuella tonhöjden för ändeffektorn i grader.
Usage:
arm.get_pitch()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current pitch of the end effector
brain.print(arm.get_pitch())
get_roll#
get_roll returnerar den aktuella rullningen av ändeffektorn i grader.
Usage:
arm.get_roll()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current roll of the end effector
brain.print(arm.get_roll())
get_yaw#
get_yaw returnerar den aktuella girningen för ändeffektorn i grader.
Usage:
arm.get_yaw()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current yaw of the end effector
brain.print(arm.get_yaw())
can_arm_reach_to#
can_arm_reach_to returnerar om 6-axlig arm kan flytta ändeffektorn till en specificerad x-, y- och z-koordinat.
Använd den här metoden för att kontrollera en målposition innan du använder move_to.
True— 6-axlig arm kan nå den begärda positionen.False— 6-axlig arm kan inte nå den begärda positionen.
Usage:
arm.can_arm_reach_to(x, y, z)
Parameter |
Beskrivning |
|---|---|
|
Målpositionens x-koordinat i millimeter. |
|
Y-koordinaten för målpositionen i millimeter. |
|
Z-koordinaten för målpositionen i millimeter. |
# 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 returnerar om 6-axlig arm kan flytta ändeffektorn med ett angivet x-, y- och z-avstånd från dess aktuella position.
Använd den här metoden för att kontrollera en relativ rörelse innan du använder move_inc.
True— 6-axlig arm kan utföra den begärda rörelsen.False— 6-axlig arm kan inte utföra den begärda rörelsen.
Usage:
arm.can_arm_reach_inc(x, y, z)
Parameter |
Beskrivning |
|---|---|
|
Avståndet som ska förflyttas längs x-axeln i millimeter. |
|
Avståndet att förflytta sig längs y-axeln i millimeter. |
|
Avståndet som ska förflyttas längs z-axeln i millimeter. |
# 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 returnerar om ändeffektorn kan rotera till en specificerad girnings-, rullnings- och tippningsorientering.
Använd den här metoden för att kontrollera ett måls orientering innan du använder move_end_effector_to.
True— Ändeffektorn kan nå den begärda orienteringen.False— Ändeffektorn kan inte nå den begärda orienteringen.
Usage:
arm.can_end_effector_reach_to(yaw, roll, pitch)
Parameter |
Beskrivning |
|---|---|
|
Målets girvinkel, i grader. |
|
Målets rullvinkel, i grader. |
|
Målets lutningsvinkel, i grader. |
# 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 returnerar om ändeffektorn kan rotera med en specificerad girnings-, rullnings- och lutningsmängd från sin nuvarande orientering.
Använd den här metoden för att kontrollera en relativ orienteringsrörelse innan du använder move_end_effector_inc.
True— Ändeffektorn kan utföra den begärda rotationen.False— Ändeffektorn kan inte utföra den begärda rotationen.
Usage:
arm.can_end_effector_reach_inc(yaw, roll, pitch)
Parameter |
Beskrivning |
|---|---|
|
Förändringen i girning, i grader. |
|
Förändringen i rullning, i grader. |
|
Förändringen i tonhöjd, i grader. |
# 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 returnerar timeout-värdet som används av 6-axliga armrörelsemetoder i millisekunder.
Usage:
arm.get_timeout()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print the current movement timeout in milliseconds
brain.print(arm.get_timeout())
is_connected#
is_connected returnerar om 6-axlig arm är ansluten till hjärnan.
True— 6-axlig arm är ansluten till hjärnan.False— 6-axlig arm är inte ansluten till hjärnan.
Usage:
arm.is_connected()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Print whether the 6-Axis Arm is connected
brain.print(arm.is_connected())
Återuppringningar#
control_stopped#
control_stopped registrerar en funktion som körs när kontrollstopp är aktiverat.
Den här metoden returnerar en instans av klassen Event.
Usage:
arm.control_stopped(callback, arg)
Parameter |
Beskrivning |
|---|---|
|
En tidigare definierad funktion som körs när kontrollstopp är aktiverat. |
|
Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information. |
# 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)
Konstruktörer#
Arm#
Arm skapar ett 6-axligt armobjekt.
Usage:
Arm()
Parametrar |
Beskrivning |
|---|---|
Denna konstruktor har inga parametrar. |
# Construct a 6-Axis Arm named arm with the Arm class
arm = Arm()