6 asu roka#

Ievads#

VEX 6 asu robotizētā roka ir robotizēts manipulators, ko izmanto CTE darba šūnā. VEXcode EXP programmā rokas metodes ļauj EXP smadzenēm pārvietot 6 asu roku, pagriezt tās gala efektoru, pārbaudīt, vai kustības ir iespējamas, un vadīt pievienotos instrumentus, piemēram, magnēta pacelšanas rīku vai pildspalvas turētāja rīku.

Šī lapa ir paredzēta CTE Workcell projektiem, kuros 6 asu roka ir savienota ar EXP Brain. Ja izmantojat 6 asu roku atsevišķi ar CTE Tile, tā vietā izmantojiet CTE Arm API lapu.

Šajā lapā sniegtajos piemēros tiek izmantota konfigurēta 6 asu roka ar nosaukumu arm1.

Zemāk ir visu pieejamo metožu saraksts:

Darbības — Pārvietojiet 6 asu sviru uz pozīcijām vai orientācijām.

  • move_to — Pārvieto gala efektoru uz norādīto x, y un z koordinātu.

  • move_inc — Pārvieto gala efektoru par noteiktu attālumu no tā pašreizējās pozīcijas.

  • move_end_effector_to — Pagriež gala efektoru norādītajā pagrieziena, rites un piķa orientācijā.

  • move_end_effector_inc — Pagriež gala efektoru par norādīto novirzes, rites un piķa lielumu.

Mutatori — konfigurējiet kustības, rīkus un vadības iestatījumus.

Ieguvēji — atgriež kustības statusu, pozīciju, orientāciju un savienojuma vērtības.

  • is_done — Atgriež, vai 6 asu roka ir pabeigusi kustību.

  • is_crashed — Atgriež, vai 6 asu roka ir avarējusi kustības laikā.

  • get_x — Atgriež gala efektora pašreizējo x pozīciju.

  • get_y — Atgriež gala efektora pašreizējo y pozīciju.

  • get_z — Atgriež gala efektora pašreizējo z pozīciju.

  • get_pitch — Atgriež gala efektora pašreizējo skaņas augstumu.

  • get_roll — Atgriež gala efektora pašreizējo apgriezienu.

  • get_yaw — Atgriež gala efektora pašreizējo novirzi.

  • can_arm_reach_to — Atgriež, vai 6 asu roka var sasniegt norādīto pozīciju.

  • can_arm_reach_inc — Atgriež, vai 6 asu roka var pārvietoties noteiktā attālumā.

  • can_end_effector_reach_to — Atgriež, vai gala efektors var sasniegt norādīto orientāciju.

  • can_end_effector_reach_inc — Atgriež, vai gala efektors var pagriezties par noteiktu daudzumu.

  • get_timeout — Atgriež pašreizējo taimauta vērtību, ko izmanto kustības metodes.

  • is_connected — Atgriež, vai 6 asu roka ir savienota ar EXP Brain.

Atzvanīšanas funkcijas — palaist funkcijas, kad notiek aktivizēšanas notikumi.

  • control_stopped — Reģistrē funkciju, kas jāizpilda, kad ir iespējota vadības apturēšana.

  • crashed — Reģistrē funkciju, kas jāizpilda, kad tiek konstatēta avārija.

Konstruktors — manuāli izveidojiet 6 asu rokas objektu.

  • Arm — Izveido 6 asu rokas objektu.

Darbības#

move_to#

move_to pārvieto 6 asu sviru uz norādīto x, y un z koordinātu.

X, y un z koordinātas apraksta gala efektora pozīciju trīsdimensiju telpā. Pirms šīs metodes izmantojiet can_arm_reach_to, ja mērķa pozīcija var atrasties ārpus 6 asu rokas sasniedzamās darba zonas.

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

Parametrs

Apraksts

x

Mērķa pozīcijas x koordināta milimetros.

y

Mērķa pozīcijas y koordināta milimetros.

z

Mērķa pozīcijas z koordināta milimetros.

wait

Neobligāti. wait=True (noklusējums) liek projektam gaidīt, līdz kustība ir pabeigta, pirms turpināt. wait=False sāk kustību un nekavējoties turpina ar nākamo koda rindiņu.

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

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

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

move_inc#

move_inc pārvieto 6 asu sviru par noteiktu attālumu no tās pašreizējās pozīcijas pa x, y un z asīm.

Izmantojiet šo metodi, lai pārvietotos attiecībā pret gala efektora pašreizējo atrašanās vietu. Pirms šīs metodes izmantojiet can_arm_reach_inc, ja kustības rezultātā 6 asu roka var atrasties ārpus tās sasniedzamās darbvietas.

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

Parametrs

Apraksts

x

Attālums, kas jāpārvietojas pa x asi milimetros.

y

Attālums milimetros, kas jāpārvietojas pa y asi.

z

Attālums, kas jāpārvietojas pa z asi milimetros.

wait

Neobligāti. wait=True (noklusējums) liek projektam gaidīt, līdz kustība ir pabeigta, pirms turpināt. wait=False sāk kustību un nekavējoties turpina ar nākamo koda rindiņu.

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

move_end_effector_to#

move_end_effector_to pagriež 6 asu rokas gala efektoru norādītajā pagrieziena, rites un piķa orientācijā.

Orientācija apraksta, kā gala efektors tiek pagriezts. yaw rotē ap z asi, roll rotē ap x asi un pitch rotē ap y asi.

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

Parametrs

Apraksts

yaw

Mērķa novirzes leņķis grādos.

roll

Mērķa rites leņķis grādos.

pitch

Mērķa piķa leņķis grādos.

wait

Neobligāti. wait=True (noklusējums) liek projektam gaidīt, līdz kustība ir pabeigta, pirms turpināt. wait=False sāk kustību un nekavējoties turpina ar nākamo koda rindiņu.

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

move_end_effector_inc#

move_end_effector_inc pagriež 6 asu rokas gala efektoru par noteiktu pagrieziena, rites un soļa lielumu no tā pašreizējās orientācijas.

Izmantojiet šo metodi, lai pagrieztu attiecībā pret gala efektora pašreizējo novirzi, svēršanu vai slīpumu.

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

Parametrs

Apraksts

yaw

Novirzes izmaiņas grādos.

roll

Rullīšu izmaiņas grādos.

pitch

Skaņas augstuma izmaiņas grādos.

wait

Neobligāti. wait=True (noklusējums) liek projektam gaidīt, līdz kustība ir pabeigta, pirms turpināt. wait=False sāk kustību un nekavējoties turpina ar nākamo koda rindiņu.

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

Mutatori#

set_speed#

set_speed iestata kustības ātrumu, ko 6 asu roka izmanto kustības metodēm.

Projekta sākumā 6 asu rokas ātrums ir iestatīts uz 50%.

Usage:
arm1.set_speed(speed)

Parametrs

Apraksts

speed

6 asu rokas kustības ātrums no 1 līdz 100 procentiem.

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

set_end_effector_type#

set_end_effector_type iestata 6 asu svirai piestiprinātā gala efektora veidu.

Mainot gala efektora tipu, 6 asu roka automātiski pielāgo savu z-nobīdi, lai tā atbilstu atlasītajam instrumentam. Projekta sākumā gala efektora tips tiek iestatīts uz MAGNET.

Usage:
arm1.set_end_effector_type(type)

Parametrs

Apraksts

type

6 asu svirai piestiprinātais instruments: MAGNET (magnēta uztvērēja instruments) vai PEN (pildspalvas turētāja instruments).

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

set_end_effector_magnet#

set_end_effector_magnet ieslēdz vai atbrīvo magnēta satvērēja rīku.

Magnēta stāvoklis paliek aktīvs, līdz to maina cita set_end_effector_magnet metode. Projekta sākumā magnēta stāvoklis tiek atiestatīts uz False.

Usage:
arm1.set_end_effector_magnet(state)

Parametrs

Apraksts

state

Magnēta pacelšanas rīka stāvoklis: True , lai paceltu un turētu objektus, vai False , lai nomestu jebkuru turēto objektu un pārtrauktu pacelt jaunus objektus.

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

set_pen_offset#

set_pen_offset iestata z ass nobīdi, kas tiek izmantota, kad pildspalvas turētāja rīks ir piestiprināts pie 6 asu sviras.

Pirms šīs metodes izmantošanas iestatiet gala efektora tipu uz PEN Ja nav atlasīts pildspalvas turētāja rīks, šai metodei nav nekādas ietekmes.

Pildspalvas nobīde ir attālums no pildspalvas turētāja rīka augšdaļas līdz sausās dzēšanas marķiera galam. Projekta sākumā pildspalvas nobīde ir iestatīta uz 0Pildspalvas nobīde 0 novieto rokas z ass sākumpunktu punktā, kur pildspalvas turētāja rīks savienojas ar 6 asu roku.

Usage:
arm1.set_pen_offset(zOffset)

Parametrs

Apraksts

zOffset

Pildspalvas nobīdes vērtība milimetros.

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

set_control_stop#

set_control_stop iespējo 6 asu sviras vadības apturēšanu.

Kad vadības apturēšana ir iespējota, 6 asu roka nekavējoties aptur jebkādu kustību un neveiks nekādas turpmākas rokas kustības metodes, kamēr projekts netiek restartēts.

Usage:
arm1.set_control_stop(state)

Parametrs

Apraksts

state

Neobligāti. True (pēc noklusējuma) iespējo vadības apturēšanu. False neiespējo vadības apturēšanu.

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

set_timeout#

set_timeout iestata taimauta vērtību, kas tiek izmantota, pārvietojot 6 asu roku.

Ja kustība nebeidzas pirms taimauta sasniegšanas, projekts turpinās ar nākamo koda rindu.

Usage:
arm1.set_timeout(timeout, units)

Parametrs

Apraksts

timeout

Jaunā taimauta vērtība.

units

Neobligāti. Laika vienība: MSEC (milisekundes, noklusējums), SECONDSvai SEC.

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

Getteri#

is_done#

is_done atgriež, vai 6 asu roka ir pabeigusi kustību.

Šī metode ir noderīga pēc tam, kad kustības metode tiek izsaukta ar vērtību wait=False.

  • True — 6 asu roka ir pabeigusi kustību.

  • False — 6 asu roka joprojām kustas.

Usage:
arm1.is_done()

Parametri

Apraksts

Šai metodei nav parametru.

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

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

is_crashed#

is_crashed atgriež, vai 6 asu roka ir avarējusi kustības laikā.

Kad tiek konstatēta avārija, 6 asu roka aptur motora kustību un var šķist atslābināma. Tas samazina slodzi un palīdz aizsargāt motorus no nejaušiem bojājumiem.

  • True — 6 asu roka ir avarējusi.

  • False — 6 asu roka nav avarējusi.

Usage:
arm1.is_crashed()

Parametri

Apraksts

Šai metodei nav parametru.

# Quickly move to a new location
arm1.set_speed(100)
arm1.move_to(-30, 240, 40, wait=False)

# While moving, check for a crash
while True:
    if arm1.is_crashed():
        # Indicate a crash with the Signal Tower and Brain screen
        brain.screen.print("Crash Detected")
        signal_tower_2.set_color(SignalTower.GREEN, SignalTower.OFF)
        signal_tower_2.set_color(SignalTower.RED, SignalTower.ON)
        break

    wait(5, MSEC)

get_x#

get_x atgriež gala efektora pašreizējo x pozīciju milimetros.

Izmantojiet šo metodi, lai nolasītu, kur gala efektors pašlaik atrodas uz x ass.

Usage:
arm1.get_x()

Parametri

Apraksts

Šai metodei nav parametru.

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

get_y#

get_y atgriež gala efektora pašreizējo y pozīciju milimetros.

Izmantojiet šo metodi, lai nolasītu gala efektora pašreizējo atrašanās vietu uz y ass.

Usage:
arm1.get_y()

Parametri

Apraksts

Šai metodei nav parametru.

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

get_z#

get_z atgriež gala efektora pašreizējo z pozīciju milimetros.

Izmantojiet šo metodi, lai nolasītu, kur gala efektors pašlaik atrodas gar z asi.

Usage:
arm1.get_z()

Parametri

Apraksts

Šai metodei nav parametru.

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

get_pitch#

get_pitch atgriež gala efektora pašreizējo slīpumu grādos.

Usage:
arm1.get_pitch()

Parametri

Apraksts

Šai metodei nav parametru.

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

get_roll#

get_roll atgriež gala efektora pašreizējo apgriezienu grādos.

Usage:
arm1.get_roll()

Parametri

Apraksts

Šai metodei nav parametru.

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

get_yaw#

get_yaw atgriež gala efektora pašreizējo novirzi grādos.

Usage:
arm1.get_yaw()

Parametri

Apraksts

Šai metodei nav parametru.

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

can_arm_reach_to#

can_arm_reach_to atgriež, vai 6 asu roka var pārvietot gala efektoru uz norādīto x, y un z koordinātu.

Izmantojiet šo metodi, lai pārbaudītu mērķa pozīciju pirms move_to izmantošanas.

  • True — 6 asu roka var sasniegt pieprasīto pozīciju.

  • False — 6 asu roka nevar sasniegt pieprasīto pozīciju.

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

Parametrs

Apraksts

x

Mērķa pozīcijas x koordināta milimetros.

y

Mērķa pozīcijas y koordināta milimetros.

z

Mērķa pozīcijas z koordināta milimetros.

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

can_arm_reach_inc#

can_arm_reach_inc atgriež, vai 6 asu roka var pārvietot gala efektoru par norādīto x, y un z attālumu no tā pašreizējās pozīcijas.

Izmantojiet šo metodi, lai pārbaudītu relatīvu kustību pirms move_inc izmantošanas.

  • True — 6 asu roka var veikt pieprasīto kustību.

  • False — 6 asu roka nevar veikt pieprasīto kustību.

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

Parametrs

Apraksts

x

Attālums, kas jāpārvietojas pa x asi milimetros.

y

Attālums milimetros, kas jāpārvietojas pa y asi.

z

Attālums, kas jāpārvietojas pa z asi milimetros.

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

can_end_effector_reach_to#

can_end_effector_reach_to atgriež, vai gala efektors var pagriezties norādītajā novirzes, rites un piķa orientācijā.

Izmantojiet šo metodi, lai pārbaudītu mērķa orientāciju pirms move_end_effector_to izmantošanas.

  • True — Gala efektors var sasniegt pieprasīto orientāciju.

  • False — Gala efektors nevar sasniegt pieprasīto orientāciju.

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

Parametrs

Apraksts

yaw

Mērķa novirzes leņķis grādos.

roll

Mērķa rites leņķis grādos.

pitch

Mērķa piķa leņķis grādos.

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

can_end_effector_reach_inc#

can_end_effector_reach_inc atgriež, vai gala efektors var pagriezties par noteiktu novirzi, rullīti un piķi no tā pašreizējās orientācijas.

Izmantojiet šo metodi, lai pārbaudītu relatīvās orientācijas kustību pirms move_end_effector_inc izmantošanas.

  • True — Gala efektors var veikt pieprasīto rotāciju.

  • False — Gala efektors nevar veikt pieprasīto rotāciju.

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

Parametrs

Apraksts

yaw

Novirzes izmaiņas grādos.

roll

Rullīšu izmaiņas grādos.

pitch

Skaņas augstuma izmaiņas grādos.

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

get_timeout#

get_timeout atgriež 6 asu rokas kustības metožu izmantoto taimauta vērtību milisekundēs.

Usage:
arm1.get_timeout()

Parametri

Apraksts

Šai metodei nav parametru.

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

is_connected#

is_connected atgriež, vai 6 asu roka ir savienota ar EXP Brain.

  • True — 6 asu roka ir savienota ar EXP smadzenēm.

  • False — 6 asu roka nav savienota ar EXP smadzenēm.

Usage:
arm1.is_connected()

Parametri

Apraksts

Šai metodei nav parametru.

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

Atzvanīšanas#

control_stopped#

control_stopped reģistrē funkciju, kas darbojas, kad ir iespējota vadības apturēšana.

Šī metode atgriež Event klases instanci.

Usage:
arm1.control_stopped(callback, arg)

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas darbojas, kad ir iespējota vadības apturēšana.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Funkciju izmantošana ar parametriem.

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

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

crashed#

crashed reģistrē funkciju, kas darbojas, kad 6 asu roka kustības laikā ir avarējusi.

Kad tiek konstatēta avārija, 6 asu roka aptur motora kustību un var šķist atslābināma. Tas samazina slodzi un palīdz aizsargāt motorus no nejaušiem bojājumiem.

Usage:
arm1.crashed(callback)

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista, kad tiek konstatēta avārija.

# Define what happens if a crash is detected
def arm_crash():
    brain.screen.print("Crash Detected")
    signal_tower_2.set_color(SignalTower.RED, SignalTower.ON)

# Run arm_crash when the 6-Axis Arm crashes
arm1.crashed(arm_crash)

Konstruktori#

Arm#

Arm izveido 6 asu Arm objektu.

Usage:
Arm(smartport)

Parametrs

Apraksts

smartport

Viedports, kuram ir pievienota 6 asu roka, kas pierakstīts kā Ports.PORTx, kur x ir porta numurs.

# Construct a 6-Axis Arm named arm1 with the Arm class
arm1 = Arm(Ports.PORT1)