6-akselinen varsi#

Johdanto#

VEX 6-akselinen robottikäsivarsi liikuttaa efektoria kolmiulotteisessa tilassa, ohjaa efektorin suuntaa ja toimii kiinnitettyjen työkalujen, kuten magneetin poimintatyökalun tai kynänpidiketyökalun, kanssa.

Alla on luettelo kaikista käytettävissä olevista menetelmistä:

Toiminnot — Siirrä 6-akselista vartta asentoihin tai suuntiin.

  • move_to — Siirtää päätelaitteen määritettyyn x-, y- ja z-koordinaattiin.

  • move_inc — Siirtää päätelaitetta määritetyn etäisyyden sen nykyisestä sijainnista.

  • move_end_effector_to — Kiertää efektoripäätä määritettyyn kääntö-, rulla- ja kallistuskulmaan.

  • move_end_effector_inc — Kiertää efektoripäätä määritetyn kääntö-, kallistus- ja kallistuskulman verran.

Mutaattorit — Määritä liike-, työkalu- ja ohjausasetuksia.

  • set_speed — Asettaa 6-akselisen varren käyttämän liikenopeuden.

  • set_end_effector_type — Asettaa 6-akseliseen varteen kiinnitetyn efektoripään tyypin.

  • set_end_effector_magnet — Kytkee tai vapauttaa magneetin nostotyökalun.

  • set_pen_offset — Asettaa kynänpidiketyökalun kanssa käytettävän z-akselin siirtymän.

  • set_control_stop — Ottaa käyttöön 6-akselisen varren ohjauksen pysäytyksen.

  • set_timeout — Asettaa 6-akselisen varren liikemenetelmien käyttämän aikakatkaisun.

Getterit — Palauttavat liiketilan, sijainnin, suunnan ja yhteysarvot.

  • is_done — Palauttaa, onko 6-akselinen varsi liikkunut loppuun.

  • get_x — Palauttaa pääteefektorin nykyisen x-sijainnin.

  • get_y — Palauttaa pääteefektorin nykyisen y-sijainnin.

  • get_z — Palauttaa pääteefektorin nykyisen z-sijainnin.

  • get_pitch — Palauttaa pääteefektorin nykyisen äänenkorkeuden.

  • get_roll — Palauttaa pääteefektorin nykyisen rullan.

  • get_yaw — Palauttaa pääteefektorin nykyisen suunnanmuutoksen.

  • can_arm_reach_to — Palauttaa, voiko 6-akselinen varsi saavuttaa tietyn asennon.

  • can_arm_reach_inc — Palauttaa, voiko 6-akselinen varsi liikkua määritetyn matkan.

  • can_end_effector_reach_to — Palauttaa, voiko pääteefektori saavuttaa määritetyn suunnan.

  • can_end_effector_reach_inc — Palauttaa, voiko pääteefektori kiertyä määritetyn määrän.

  • get_timeout — Palauttaa liikemetodien käyttämän nykyisen aikakatkaisuarvon.

  • is_connected — Palauttaa, onko 6-akselinen varsi kytketty aivoihin.

Takaisinkutsutoiminnot — Suorita funktioita, kun aktivointi tapahtuu.

  • control_stopped — Rekisteröi funktion suoritettavaksi, kun control stop on käytössä.

Konstruktori — Luo manuaalisesti 6-akselinen varsi -objekti.

  • Arm — Luo 6-akselisen varsiobjektin.

Tällä sivulla käsitellään 6-akselisen varren käyttöä yksinään CTE-levyn kanssa. Jos haluat käyttää 6-akselista vartta muiden CTE Workcell -komponenttien, kuten pneumatiikan tai kuljettimien, kanssa, kytke 6-akselinen varsi EXP Brainiin ja käytä vastaavaa EXP Arm -sivua.

Toiminnot#

move_to#

move_to siirtää 6-akselisen varren määritettyyn x-, y- ja z-koordinaattiin.

X-, y- ja z-koordinaatit kuvaavat päätyefektorin sijaintia kolmiulotteisessa avaruudessa. Käytä can_arm_reach_to ennen tätä menetelmää, jos kohdesijainti voi olla 6-akselisen varren saavutettavan työtilan ulkopuolella.

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

Parametri

Kuvaus

x

Kohdepaikan x-koordinaatti millimetreinä.

y

Kohdepaikan y-koordinaatti millimetreinä.

z

Kohdepaikan z-koordinaatti millimetreinä.

wait

Valinnainen. wait=True (oletusarvo) saa projektin odottamaan liikkeen valmistumista ennen jatkamista. wait=False aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

# 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 siirtää 6-akselista vartta määritetyn etäisyyden sen nykyisestä sijainnista x-, y- ja z-akseleiden suuntaisesti.

Käytä tätä menetelmää liikkuaksesi suhteessa pääteefektorin nykyiseen sijaintiin. Käytä can_arm_reach_inc ennen tätä menetelmää, jos liike voi siirtää 6-akselisen varren sen ulottumattomiin työtilaan.

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

Parametri

Kuvaus

x

X-akselin suuntainen liikematka millimetreinä.

y

Y-akselin suuntainen liikkumamatka millimetreinä.

z

Z-akselin suuntainen liikematka millimetreinä.

wait

Valinnainen. wait=True (oletusarvo) saa projektin odottamaan liikkeen valmistumista ennen jatkamista. wait=False aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

# 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 kiertää 6-akselisen varren pääteefektoria määritettyyn kääntö-, rulla- ja kallistuskulmaan.

Orientaatio kuvaa, miten efektoripäätä kierretään. yaw pyörii z-akselin ympäri, roll pyörii x-akselin ympäri ja pitch pyörii y-akselin ympäri.

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

Parametri

Kuvaus

yaw

Kohdesuuntainen kallistuskulma asteina.

roll

Kohdekallistuskulma asteina.

pitch

Kohteen kallistuskulma asteina.

wait

Valinnainen. wait=True (oletusarvo) saa projektin odottamaan liikkeen valmistumista ennen jatkamista. wait=False aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

# 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 kiertää 6-akselisen varren pääteefektoria määritetyn kääntö-, kallistus- ja nousukulman verran sen nykyisestä suunnasta.

Käytä tätä menetelmää kiertääksesi pääteefektorin nykyisen kääntö-, rulla- tai kallistuskulman suhteen.

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

Parametri

Kuvaus

yaw

Kallistuksen muutos asteina.

roll

Kallistuksen muutos asteina.

pitch

Sävelkorkeuden muutos asteina.

wait

Valinnainen. wait=True (oletusarvo) saa projektin odottamaan liikkeen valmistumista ennen jatkamista. wait=False aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

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

Mutaattorit#

set_speed#

set_speed asettaa 6-akselisen varren käyttämän liikenopeuden liikemetodeissa.

6-akselisen varren nopeus asetetaan projektin alussa 50 %:iin.

Usage:
arm.set_speed(speed)

Parametri

Kuvaus

speed

6-akselisen varren liikenopeus välillä 1 - 100 prosenttia.

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

set_end_effector_type#

set_end_effector_type asettaa 6-akseliseen varteen kiinnitetyn efektoripään tyypin.

Kun efektorityyppiä muutetaan, 6-akselinen varsi säätää automaattisesti z-offsettiaan vastaamaan valittua työkalua. Efektorityypiksi asetetaan projektin alussa Arm.MAGNET.

Usage:
arm.set_end_effector_type(type)

Parametri

Kuvaus

type

6-akseliseen varteen kiinnitetty työkalu: Arm.MAGNET (magneetin poimintatyökalu) tai Arm.PEN (kynänpidiketyökalu).

# 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 kytkee tai vapauttaa magneetin nostotyökalun.

Magneetin tila pysyy aktiivisena, kunnes toinen set_end_effector_magnet -metodi muuttaa sitä. Magneetin tila palautetaan arvoon False projektin alussa.

Usage:
arm.set_end_effector_magnet(state)

Parametri

Kuvaus

state

Magneetinpoimintatyökalun tila: True poimii ja pitää esineitä tai False pudottaa minkä tahansa pidetyn esineen ja lopettaa uusien esineiden poimimisen.

# 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 asettaa z-akselin siirtymän, jota käytetään, kun kynänpidiketyökalu on kiinnitetty 6-akseliseen varteen.

Aseta pääteefektorin tyypiksi Arm.PEN ennen tämän menetelmän käyttöä. Jos kynänpidiketyökalua ei ole valittu, tällä menetelmällä ei ole vaikutusta.

Kynän siirtymä on etäisyys kynänpidiketyökalun yläreunasta kuivapoistotussin kärkeen. Projektin alussa kynän siirtymäksi asetetaan 0Kynän siirtymä 0 sijoittaa varren z-akselin nollapisteen pisteeseen, jossa kynänpidiketyökalu yhdistyy 6-akseliseen varteen.

Usage:
arm.set_pen_offset(zOffset)

Parametri

Kuvaus

zOffset

Kynän siirtymän arvo millimetreinä.

# 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 ottaa käyttöön 6-akselisen varren ohjauksen pysäytyksen.

Kun ohjauksen pysäytys on käytössä, 6-akselinen varsi pysäyttää välittömästi kaikki liikkeet eikä suorita muita varren liikemenetelmiä ennen kuin projekti käynnistetään uudelleen.

Usage:
arm.set_control_stop(state)

Parametri

Kuvaus

state

Valinnainen. True (oletus) ottaa käyttöön ohjauksen pysäytyksen. False ei ota käyttöön ohjauksen pysäytystä.

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

set_timeout#

set_timeout asettaa aikakatkaisuarvon, jota käytetään 6-akselista vartta liikutettaessa.

Jos liike ei pääty ennen aikarajan saavuttamista, projekti jatkaa seuraavalle koodiriville.

Usage:
arm.set_timeout(timeout, units)

Parametri

Kuvaus

timeout

Uusi aikakatkaisuarvo.

units

Valinnainen. Aikayksikkö: MSEC (millisekuntia, oletus), SECONDStai SEC.

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

Getterit#

is_done#

is_done palauttaa, onko 6-akselinen varsi liikkunut loppuun.

Tästä metodista on hyötyä sen jälkeen, kun liikemetodia kutsutaan arvolla wait=False.

  • True — 6-akselinen varsi on liikkunut loppuun.

  • False — 6-akselinen varsi liikkuu edelleen.

Usage:
arm.is_done()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

# 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 palauttaa pääteefektorin nykyisen x-sijainnin millimetreinä.

Käytä tätä menetelmää lukeaksesi pääteefektorin nykyisen sijainnin x-akselilla.

Usage:
arm.get_x()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

get_y#

get_y palauttaa pääteefektorin nykyisen y-sijainnin millimetreinä.

Käytä tätä menetelmää lukeaksesi pääteefektorin nykyisen sijainnin y-akselilla.

Usage:
arm.get_y()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

get_z#

get_z palauttaa pääteefektorin nykyisen z-sijainnin millimetreinä.

Käytä tätä menetelmää lukeaksesi pääteefektorin nykyisen sijainnin z-akselilla.

Usage:
arm.get_z()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

get_pitch#

get_pitch palauttaa pääteefektorin nykyisen nousun asteina.

Usage:
arm.get_pitch()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

get_roll#

get_roll palauttaa pääteefektorin nykyisen vierityksen asteina.

Usage:
arm.get_roll()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

get_yaw#

get_yaw palauttaa pääteefektorin nykyisen kallistuskulman asteina.

Usage:
arm.get_yaw()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

can_arm_reach_to#

can_arm_reach_to palauttaa, voiko 6-akselinen varsi siirtää efektoria määritettyyn x-, y- ja z-koordinaattiin.

Käytä tätä metodia kohdesijainnin tarkistamiseen ennen move_to-metodin käyttöä.

  • True — 6-akselinen varsi voi saavuttaa pyydetyn asennon.

  • False — 6-akselinen varsi ei saavuta pyydettyä asentoa.

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

Parametri

Kuvaus

x

Kohdepaikan x-koordinaatti millimetreinä.

y

Kohdepaikan y-koordinaatti millimetreinä.

z

Kohdepaikan z-koordinaatti millimetreinä.

# 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 palauttaa, voiko 6-akselinen varsi siirtää efektoria määritetyn x-, y- ja z-etäisyyden sen nykyisestä sijainnista.

Käytä tätä menetelmää suhteellisen liikkeen tarkistamiseen ennen move_inc-metodin käyttöä.

  • True — 6-akselinen varsi voi suorittaa pyydetyn liikkeen.

  • False — 6-akselinen varsi ei pysty suorittamaan pyydettyä liikettä.

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

Parametri

Kuvaus

x

X-akselin suuntainen liikematka millimetreinä.

y

Y-akselin suuntainen liikkumamatka millimetreinä.

z

Z-akselin suuntainen liikematka millimetreinä.

# 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 palauttaa, voiko pääteefektori kiertyä määritettyyn suuntaus-, rullaus- ja kallistussuuntaan.

Käytä tätä menetelmää kohteen suunnan tarkistamiseen ennen move_end_effector_to-metodin käyttöä.

  • True — Pääteefektori voi saavuttaa pyydetyn suunnan.

  • False — Pääteefektori ei pysty saavuttamaan pyydettyä suuntaa.

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

Parametri

Kuvaus

yaw

Kohdesuuntainen kallistuskulma asteina.

roll

Kohdekallistuskulma asteina.

pitch

Kohteen kallistuskulma asteina.

# 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 palauttaa, voiko pääteefektori kiertyä määritetyn suuntaus-, kallistus- ja kallistuskulman verran nykyisestä suunnastaan.

Käytä tätä menetelmää suhteellisen suunnan liikkeen tarkistamiseen ennen move_end_effector_inc-menetelmän käyttöä.

  • True — Päätelaite voi tehdä pyydetyn kierron.

  • False — Pääteefektori ei pysty suorittamaan pyydettyä kiertoa.

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

Parametri

Kuvaus

yaw

Kallistuksen muutos asteina.

roll

Kallistuksen muutos asteina.

pitch

Sävelkorkeuden muutos asteina.

# 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 palauttaa 6-akselisen varren liikemetodien käyttämän aikakatkaisuarvon millisekunteina.

Usage:
arm.get_timeout()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

is_connected#

is_connected palauttaa, onko 6-akselinen varsi kytketty aivoihin.

  • True — 6-akselinen varsi on yhdistetty aivoihin.

  • False — 6-akselinen varsi ei ole yhteydessä aivoihin.

Usage:
arm.is_connected()

Parametrit

Kuvaus

Tällä menetelmällä ei ole parametreja.

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

Takaisinkutsut#

control_stopped#

control_stopped rekisteröi funktion, joka suoritetaan, kun control stop on käytössä.

Tämä metodi palauttaa Event -luokan instanssin.

Usage:
arm.control_stopped(callback, arg)

Parametri

Kuvaus

callback

Aiemmin määritelty function, joka suoritetaan, kun ohjauspysäytys on käytössä.

arg

Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Funktioiden käyttö parametrien kanssa.

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

Rakentajat#

Arm#

Arm luo 6-akselisen varsiobjektin.

Usage:
Arm()

Parametrit

Kuvaus

Tällä konstruktorilla ei ole parametreja.

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