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 |
|---|---|
|
Kohdepaikan x-koordinaatti millimetreinä. |
|
Kohdepaikan y-koordinaatti millimetreinä. |
|
Kohdepaikan z-koordinaatti millimetreinä. |
|
Valinnainen. |
# 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-akselin suuntainen liikematka millimetreinä. |
|
Y-akselin suuntainen liikkumamatka millimetreinä. |
|
Z-akselin suuntainen liikematka millimetreinä. |
|
Valinnainen. |
# 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 |
|---|---|
|
Kohdesuuntainen kallistuskulma asteina. |
|
Kohdekallistuskulma asteina. |
|
Kohteen kallistuskulma asteina. |
|
Valinnainen. |
# 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 |
|---|---|
|
Kallistuksen muutos asteina. |
|
Kallistuksen muutos asteina. |
|
Sävelkorkeuden muutos asteina. |
|
Valinnainen. |
# 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 |
|---|---|
|
6-akselisen varren liikenopeus välillä |
# 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 |
|---|---|
|
6-akseliseen varteen kiinnitetty työ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 |
|---|---|
|
Magneetinpoimintatyökalun tila: |
# 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 |
|---|---|
|
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 |
|---|---|
|
Valinnainen. |
# 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 |
|---|---|
|
Uusi aikakatkaisuarvo. |
|
Valinnainen. Aikayksikkö: |
# 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 |
|---|---|
|
Kohdepaikan x-koordinaatti millimetreinä. |
|
Kohdepaikan y-koordinaatti millimetreinä. |
|
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-akselin suuntainen liikematka millimetreinä. |
|
Y-akselin suuntainen liikkumamatka millimetreinä. |
|
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 |
|---|---|
|
Kohdesuuntainen kallistuskulma asteina. |
|
Kohdekallistuskulma asteina. |
|
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 |
|---|---|
|
Kallistuksen muutos asteina. |
|
Kallistuksen muutos asteina. |
|
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 |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan, kun ohjauspysäytys on käytössä. |
|
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()