Lengan 6-Sumbu#

Perkenalan#

Lengan Robot 6 Sumbu VEX menggerakkan ujung efektor dalam ruang tiga dimensi, mengontrol orientasi ujung efektor, dan bekerja dengan alat-alat yang terpasang seperti Alat Pengambil Magnet atau Alat Pemegang Pena.

Berikut adalah daftar semua metode yang tersedia:

Aksi — Gerakkan Lengan 6-Axis ke posisi atau orientasi tertentu.

  • move_to — Memindahkan ujung efektor ke koordinat x, y, dan z yang ditentukan.

  • move_inc — Menggerakkan ujung efektor sejauh jarak tertentu dari posisi saat ini.

  • move_end_effector_to — Memutar ujung efektor ke orientasi yaw, roll, dan pitch yang ditentukan.

  • move_end_effector_inc — Memutar end effector dengan jumlah yaw, roll, dan pitch yang ditentukan.

Mutator — Mengonfigurasi pergerakan, alat, dan pengaturan kontrol.

  • set_speed — Mengatur kecepatan gerakan yang digunakan oleh Lengan 6-Axis.

  • set_end_effector_type — Mengatur tipe end effector yang terpasang pada Lengan 6-Axis.

  • set_end_effector_magnet — Mengaktifkan atau menonaktifkan Alat Pengambilan Magnet.

  • set_pen_offset — Mengatur offset sumbu z yang digunakan dengan Alat Pemegang Pena.

  • set_control_stop — Mengaktifkan kontrol stop untuk Lengan 6-Axis.

  • set_timeout — Mengatur waktu habis yang digunakan oleh metode pergerakan Lengan 6-Axis.

Getter — Mengembalikan status gerakan, posisi, orientasi, dan nilai koneksi.

  • is_done — Mengembalikan apakah Lengan 6-Axis telah selesai bergerak.

  • get_x — Mengembalikan posisi x saat ini dari ujung efektor.

  • get_y — Mengembalikan posisi y saat ini dari efektor akhir.

  • get_z — Mengembalikan posisi z saat ini dari ujung efektor.

  • get_pitch — Mengembalikan pitch saat ini dari end effector.

  • get_roll — Mengembalikan hasil lemparan dadu saat ini dari efektor akhir.

  • get_yaw — Mengembalikan yaw saat ini dari efektor akhir.

  • can_arm_reach_to — Mengembalikan apakah Lengan 6-Axis dapat mencapai posisi yang ditentukan.

  • can_arm_reach_inc — Mengembalikan apakah Lengan 6-Axis dapat bergerak sejauh jarak tertentu.

  • can_end_effector_reach_to — Mengembalikan apakah ujung efektor dapat mencapai orientasi yang ditentukan.

  • can_end_effector_reach_inc — Mengembalikan apakah end effector dapat berputar dengan jumlah yang ditentukan.

  • get_timeout — Mengembalikan nilai batas waktu saat ini yang digunakan oleh metode pergerakan.

  • is_connected — Mengembalikan apakah Lengan 6-Axis terhubung ke Otak.

Callback — Menjalankan fungsi saat peristiwa ARM terjadi.

  • control_stopped — Mendaftarkan fungsi yang akan dijalankan ketika penghentian kontrol diaktifkan.

Konstruktor — Buat objek Lengan 6-Axis secara manual.

  • Arm — Membuat objek Lengan 6-Axis.

Halaman ini digunakan untuk menggunakan Lengan 6-Axis secara terpisah dengan Tile CTE. Untuk menggunakan Lengan 6-Axis dengan komponen Workcell CTE lainnya, seperti Pneumatik atau Konveyor, hubungkan Lengan 6-Axis ke EXP Brain dan gunakan halaman EXP Arm yang sesuai.

Tindakan#

move_to#

Perintah move_to menggerakkan Lengan 6-Axis ke koordinat x, y, dan z yang ditentukan.

Koordinat x, y, dan z menggambarkan posisi ujung efektor dalam ruang tiga dimensi. Gunakan can_arm_reach_to sebelum metode ini jika posisi target mungkin berada di luar ruang kerja yang dapat dijangkau oleh Lengan 6-Axis.

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

Parameter

Keterangan

x

Koordinat x dari posisi target dalam milimeter.

y

Koordinat y dari posisi target dalam milimeter.

z

Koordinat z dari posisi target dalam milimeter.

wait

Opsional. wait=True (default) membuat proyek menunggu hingga pergerakan selesai sebelum melanjutkan. wait=False memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

# 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 menggerakkan Lengan 6-Axis sejauh jarak tertentu dari posisi saat ini di sepanjang sumbu x, y, dan z.

Gunakan metode ini untuk bergerak relatif terhadap posisi ujung efektor saat ini. Gunakan can_arm_reach_inc sebelum metode ini jika pergerakan tersebut dapat menempatkan Lengan 6-Axis di luar ruang kerja yang dapat dijangkaunya.

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

Parameter

Keterangan

x

Jarak yang ditempuh sepanjang sumbu x dalam milimeter.

y

Jarak yang ditempuh sepanjang sumbu y dalam milimeter.

z

Jarak yang ditempuh sepanjang sumbu z dalam milimeter.

wait

Opsional. wait=True (default) membuat proyek menunggu hingga pergerakan selesai sebelum melanjutkan. wait=False memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

# 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 memutar ujung efektor Lengan 6-Axis ke orientasi yaw, roll, dan pitch yang ditentukan.

Orientasi menjelaskan bagaimana ujung efektor diputar. yaw berputar di sekitar sumbu z, roll berputar di sekitar sumbu x, dan pitch berputar di sekitar sumbu y.

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

Parameter

Keterangan

yaw

Sudut yaw target, dalam derajat.

roll

Sudut putaran target, dalam derajat.

pitch

Sudut kemiringan target, dalam derajat.

wait

Opsional. wait=True (default) membuat proyek menunggu hingga pergerakan selesai sebelum melanjutkan. wait=False memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

# 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 memutar ujung efektor Lengan 6-Axis dengan jumlah yaw, roll, dan pitch yang ditentukan dari orientasi saat ini.

Gunakan metode ini untuk melakukan rotasi relatif terhadap yaw, roll, atau pitch end effector saat ini.

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

Parameter

Keterangan

yaw

Perubahan arah putaran (yaw), dalam derajat.

roll

Perubahan putaran, dalam derajat.

pitch

Perubahan nada, dalam derajat.

wait

Opsional. wait=True (default) membuat proyek menunggu hingga pergerakan selesai sebelum melanjutkan. wait=False memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

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

Mutator#

set_speed#

set_speed mengatur kecepatan gerakan yang digunakan oleh Lengan 6-Axis untuk metode pergerakan.

Kecepatan lengan 6-sumbu diatur ke 50% pada awal proyek.

Usage:
arm.set_speed(speed)

Parameter

Keterangan

speed

Kecepatan pergerakan Lengan 6-Axis, dari 1 hingga 100 persen.

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

set_end_effector_type#

set_end_effector_type mengatur jenis end effector yang terpasang pada Lengan 6-Axis.

Saat tipe ujung lengan diubah, Lengan 6-Axis secara otomatis menyesuaikan offset z-nya agar sesuai dengan alat yang dipilih. Tipe ujung lengan diatur ke Arm.MAGNET pada awal proyek.

Usage:
arm.set_end_effector_type(type)

Parameter

Keterangan

type

Alat yang terpasang pada Lengan 6-Axis: Arm.MAGNET (Alat Pengambil Magnet) atau Arm.PEN (Alat Pemegang Pena).

# 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 mengaktifkan atau menonaktifkan Alat Pengambilan Magnet.

Status magnet tetap aktif hingga metode set_end_effector_magnet lainnya mengubahnya. Status magnet diatur ulang ke False pada awal proyek.

Usage:
arm.set_end_effector_magnet(state)

Parameter

Keterangan

state

Status Alat Pengambil Magnet: True untuk mengambil dan menahan objek atau False untuk menjatuhkan objek yang dipegang dan berhenti mengambil objek baru.

# 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 mengatur offset sumbu z yang digunakan saat Pen Holder Tool terpasang pada Lengan 6-Axis.

Atur tipe end effector ke Arm.PEN sebelum menggunakan metode ini. Jika Pen Holder Tool tidak dipilih, metode ini tidak akan berpengaruh.

Offset pena adalah jarak dari bagian atas Alat Pemegang Pena ke ujung Spidol Penghapus Kering. Pada awal proyek, offset pena diatur ke 0Offset pena 0 menempatkan titik asal sumbu z lengan pada titik di mana Alat Pemegang Pena terhubung ke Lengan 6-Axis.

Usage:
arm.set_pen_offset(zOffset)

Parameter

Keterangan

zOffset

Nilai offset pena dalam milimeter.

# 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 mengaktifkan penghentian kontrol untuk Lengan 6-Axis.

Saat kontrol berhenti diaktifkan, Lengan 6-Axis akan segera menghentikan semua pergerakan dan tidak akan menjalankan metode pergerakan Lengan lebih lanjut hingga proyek dimulai ulang.

Usage:
arm.set_control_stop(state)

Parameter

Keterangan

state

Opsional. True (default) mengaktifkan penghentian kontrol. False tidak mengaktifkan penghentian kontrol.

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

set_timeout#

set_timeout mengatur nilai batas waktu yang digunakan saat menggerakkan Lengan 6-Axis.

Jika suatu pergerakan tidak selesai sebelum waktu habis, proyek akan berlanjut ke baris kode berikutnya.

Usage:
arm.set_timeout(timeout, units)

Parameter

Keterangan

timeout

Nilai batas waktu yang baru.

units

Opsional. Satuan waktu: MSEC (milidetik, default), SECONDS, atau SEC.

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

Pencari#

is_done#

is_done mengembalikan nilai boolean yang menunjukkan apakah Lengan 6-Axis telah selesai bergerak.

Metode ini berguna setelah metode pergerakan dipanggil dengan wait=False.

  • True — Lengan 6-Axis telah selesai bergerak.

  • False — Lengan 6-Axis masih bergerak.

Usage:
arm.is_done()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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 mengembalikan posisi x saat ini dari ujung efektor dalam milimeter.

Gunakan metode ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu x.

Usage:
arm.get_x()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

get_y#

get_y mengembalikan posisi y saat ini dari ujung efektor dalam milimeter.

Gunakan metode ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu y.

Usage:
arm.get_y()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

get_z#

get_z mengembalikan posisi z saat ini dari ujung efektor dalam milimeter.

Gunakan metode ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu z.

Usage:
arm.get_z()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

get_pitch#

get_pitch mengembalikan pitch ujung efektor saat ini dalam derajat.

Usage:
arm.get_pitch()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

get_roll#

get_roll mengembalikan kemiringan (roll) ujung efektor saat ini dalam derajat.

Usage:
arm.get_roll()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

get_yaw#

get_yaw mengembalikan nilai yaw (sudut kemiringan) ujung efektor saat ini dalam derajat.

Usage:
arm.get_yaw()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

can_arm_reach_to#

can_arm_reach_to mengembalikan nilai yang menunjukkan apakah Lengan 6-Axis dapat menggerakkan ujung efektor ke koordinat x, y, dan z yang ditentukan.

Gunakan metode ini untuk memeriksa posisi target sebelum menggunakan move_to.

  • True — Lengan 6-Axis dapat mencapai posisi yang diminta.

  • False — Lengan 6-Axis tidak dapat mencapai posisi yang diminta.

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

Parameter

Keterangan

x

Koordinat x dari posisi target dalam milimeter.

y

Koordinat y dari posisi target dalam milimeter.

z

Koordinat z dari posisi target dalam milimeter.

# 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 mengembalikan nilai yang menunjukkan apakah Lengan 6-Axis dapat menggerakkan ujung efektor sejauh jarak x, y, dan z yang ditentukan dari posisi saat ini.

Gunakan metode ini untuk memeriksa pergerakan relatif sebelum menggunakan move_inc.

  • True — Lengan 6-Axis dapat melakukan gerakan yang diminta.

  • False — Lengan 6-Axis tidak dapat melakukan gerakan yang diminta.

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

Parameter

Keterangan

x

Jarak yang ditempuh sepanjang sumbu x dalam milimeter.

y

Jarak yang ditempuh sepanjang sumbu y dalam milimeter.

z

Jarak yang ditempuh sepanjang sumbu z dalam milimeter.

# 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 mengembalikan nilai yang menunjukkan apakah end effector dapat berputar ke orientasi yaw, roll, dan pitch yang ditentukan.

Gunakan metode ini untuk memeriksa orientasi target sebelum menggunakan move_end_effector_to.

  • True — Ujung efektor dapat mencapai orientasi yang diminta.

  • False — Ujung efektor tidak dapat mencapai orientasi yang diminta.

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

Parameter

Keterangan

yaw

Sudut yaw target, dalam derajat.

roll

Sudut putaran target, dalam derajat.

pitch

Sudut kemiringan target, dalam derajat.

# 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 mengembalikan nilai yang menunjukkan apakah end effector dapat berputar sebesar nilai yaw, roll, dan pitch yang ditentukan dari orientasi saat ini.

Gunakan metode ini untuk memeriksa pergerakan orientasi relatif sebelum menggunakan move_end_effector_inc.

  • True — Ujung efektor dapat melakukan rotasi yang diminta.

  • False — Ujung efektor tidak dapat melakukan rotasi yang diminta.

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

Parameter

Keterangan

yaw

Perubahan arah putaran (yaw), dalam derajat.

roll

Perubahan putaran, dalam derajat.

pitch

Perubahan nada, dalam derajat.

# 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 mengembalikan nilai batas waktu yang digunakan oleh metode pergerakan Lengan 6-Axis dalam milidetik.

Usage:
arm.get_timeout()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

is_connected#

is_connected mengembalikan nilai yang menunjukkan apakah Lengan 6-Axis terhubung ke Otak.

  • True — Lengan 6-Axis terhubung ke Otak.

  • False — Lengan 6-Axis tidak terhubung ke Otak.

Usage:
arm.is_connected()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Panggilan balik#

control_stopped#

control_stopped mendaftarkan fungsi yang berjalan ketika penghentian kontrol diaktifkan.

Metode ini mengembalikan sebuah instance dari kelas Event.

Usage:
arm.control_stopped(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang dijalankan ketika penghentian kontrol diaktifkan.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi selengkapnya.

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

Konstruktor#

Arm#

Arm membuat objek Lengan 6-Axis.

Usage:
Arm()

Parameter

Keterangan

Konstruktor ini tidak memiliki parameter.

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