6 Eksenli Kol#
giriiş#
VEX 6 Eksenli Robotik Kol, uç elemanı üç boyutlu uzayda hareket ettirir, uç elemanın yönünü kontrol eder ve Manyetik Toplama Aleti veya Kalem Tutucu Aleti gibi takılı aletlerle birlikte çalışır.
Aşağıda mevcut tüm yöntemlerin listesi bulunmaktadır:
İşlemler — 6 Eksenli Kolu konumlara veya yönlere hareket ettirin.
move_to— Uç efektörü belirtilen x, y ve z koordinatına taşır.move_inc— Uç efektörü mevcut konumundan belirtilen bir mesafe kadar hareket ettirir.move_end_effector_to— Uç efektörü belirtilen bir sapma, yuvarlanma ve eğim yönüne döndürür.move_end_effector_inc— Uç efektörü belirtilen bir sapma, yuvarlanma ve eğim miktarı kadar döndürür.
Değiştiriciler — Hareket, araçlar ve kontrol ayarlarını yapılandırın.
set_speed— 6 Eksenli Kol tarafından kullanılan hareket hızını ayarlar.set_end_effector_type— 6 Eksenli Kola bağlı uç efektörün tipini ayarlar.set_end_effector_magnet— Mıknatıs Toplama Aletini devreye sokar veya serbest bırakır.set_pen_offset— Kalem Tutucu Aracı ile kullanılan z ekseni ofsetini ayarlar.set_control_stop— 6 Eksenli Kol için kontrol durdurmayı etkinleştirir.set_timeout— 6 Eksenli Kol hareket yöntemleri tarafından kullanılan zaman aşımını ayarlar.
Getter’lar — Hareket durumu, konum, yönelim ve bağlantı değerlerini döndürür.
is_done— 6 Eksenli Kolun hareketini tamamlayıp tamamlamadığını döndürür.get_x— Uç efektörün mevcut x konumunu döndürür.get_y— Uç efektörün mevcut y konumunu döndürür.get_z— Uç efektörün mevcut z konumunu döndürür.get_pitch— Uç efektörün mevcut perdesini döndürür.get_roll— Uç efektörün mevcut zarını döndürür.get_yaw— Uç efektörün mevcut yaw değerini döndürür.can_arm_reach_to— 6 Eksenli Kolun belirtilen bir konuma ulaşıp ulaşamayacağını döndürür.can_arm_reach_inc— 6 Eksenli Kolun belirtilen bir mesafeye kadar hareket edip edemeyeceğini döndürür.can_end_effector_reach_to— Uç efektörün belirtilen bir yöne ulaşabilip ulaşamayacağını döndürür.can_end_effector_reach_inc— Uç efektörün belirtilen miktarda dönebilme yeteneğine sahip olup olmadığını döndürür.get_timeout— Hareket yöntemleri tarafından kullanılan geçerli zaman aşımı değerini döndürür.is_connected— 6 Eksenli Kolun Beyne bağlı olup olmadığını döndürür.
Geri Çağrı Fonksiyonları — ARM olayları gerçekleştiğinde fonksiyonları çalıştırın.
control_stopped— Kontrol durdurma etkinleştirildiğinde çalıştırılacak bir fonksiyonu kaydeder.
Yapıcı Fonksiyon — 6 Eksenli Kol nesnesini manuel olarak oluşturun.
Arm— 6 Eksenli Kol nesnesi oluşturur.
Bu sayfa, 6 Eksenli Kolu CTE Karosu ile tek başına kullanmak içindir. 6 Eksenli Kolu Pnömatik veya Konveyörler gibi diğer CTE İş Hücresi bileşenleriyle kullanmak için, 6 Eksenli Kolu bir EXP Beynine bağlayın ve ilgili EXP Kolu sayfasını kullanın.
Eylemler#
move_to#
move_to komutu, 6 Eksenli Kolu belirtilen x, y ve z koordinatlarına hareket ettirir.
x, y ve z koordinatları, uç efektörün üç boyutlu uzaydaki konumunu tanımlar. Hedef konumun 6 Eksenli Kolun erişilebilir çalışma alanının dışında olabileceği durumlarda bu yöntemden önce can_arm_reach_to kullanın.
Usage:
arm.move_to(x, y, z, wait)
Parametre |
Tanım |
|---|---|
|
Hedef konumun x koordinatı (milimetre cinsinden). |
|
Hedef konumun y koordinatı (milimetre cinsinden). |
|
Hedef konumun milimetre cinsinden z koordinatı. |
|
İsteğe bağlı. |
# 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 komutu, 6 Eksenli Kolu, mevcut konumundan x, y ve z eksenleri boyunca belirtilen bir mesafe kadar hareket ettirir.
Uç efektörün şu anki konumuna göre hareket etmek için bu yöntemi kullanın. Hareket, 6 Eksenli Kolu erişilebilir çalışma alanının dışına çıkarabilecekse, bu yöntemden önce can_arm_reach_inc kullanın.
Usage:
arm.move_inc(x, y, z, wait)
Parametre |
Tanım |
|---|---|
|
X ekseni boyunca kat edilecek mesafe (milimetre cinsinden). |
|
Y ekseni boyunca kat edilecek mesafe milimetre cinsinden. |
|
Z ekseni boyunca kat edilecek mesafe (milimetre cinsinden). |
|
İsteğe bağlı. |
# 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 komutu, 6 Eksenli Kolun uç elemanını belirtilen bir sapma, yuvarlanma ve eğim yönüne döndürür.
Yönlendirme, uç elemanın nasıl döndürüldüğünü açıklar. yaw , z ekseni etrafında döner; roll , x ekseni etrafında döner ve pitch y ekseni etrafında döner.
Usage:
arm.move_end_effector_to(yaw, roll, pitch, wait)
Parametre |
Tanım |
|---|---|
|
Hedef sapma açısı, derece cinsinden. |
|
Hedef yuvarlanma açısı, derece cinsinden. |
|
Hedeflenen eğim açısı, derece cinsinden. |
|
İsteğe bağlı. |
# 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 komutu, 6 Eksenli Kolun uç elemanını mevcut konumundan belirtilen bir sapma, yuvarlanma ve eğim miktarı kadar döndürür.
Bu yöntemi, uç elemanın mevcut sapma, yuvarlanma veya eğim açısına göre döndürmek için kullanın.
Usage:
arm.move_end_effector_inc(yaw, roll, pitch, wait)
Parametre |
Tanım |
|---|---|
|
Yalpa açısındaki değişim, derece cinsinden. |
|
Yuvarlanma açısındaki değişim, derece cinsinden. |
|
Perdedeki değişim, derece cinsinden. |
|
İsteğe bağlı. |
# Rotate the end effector -50 degrees in pitch
arm.move_end_effector_inc(0, 0, -50)
Mutatörler#
set_speed#
set_speed 6 Eksenli Kolun hareket yöntemleri için kullandığı hareket hızını ayarlar.
6 eksenli kolun hızı, projenin başlangıcında %50’ye ayarlanır.
Usage:
arm.set_speed(speed)
Parametre |
Tanım |
|---|---|
|
The movement speed of the 6-Axis Arm, from |
# Set the 6-Axis Arm speed to 30%
arm.set_speed(30)
set_end_effector_type#
set_end_effector_type , 6 Eksenli Kola takılan uç efektörün tipini ayarlar.
Uç efektör tipi değiştirildiğinde, 6 Eksenli Kol, seçilen alete uyacak şekilde z-ofsetini otomatik olarak ayarlar. Proje başlangıcında uç efektör tipi Arm.MAGNET olarak ayarlanır.
Usage:
arm.set_end_effector_type(type)
Parametre |
Tanım |
|---|---|
|
6 Eksenli Kola takılan alet: |
# 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 , Manyetik Alma Aletini devreye sokar veya serbest bırakır.
Mıknatıs durumu, başka bir set_end_effector_magnet yöntemi tarafından değiştirilene kadar aktif kalır. Mıknatıs durumu, projenin başlangıcında False olarak sıfırlanır.
Usage:
arm.set_end_effector_magnet(state)
Parametre |
Tanım |
|---|---|
|
Mıknatısla Nesne Toplama Aleti durumu: |
# 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 , Kalem Tutucu Aleti 6 Eksenli Kola takıldığında kullanılan z ekseni ofsetini ayarlar.
Bu yöntemi kullanmadan önce uç efektör tipini Arm.PEN olarak ayarlayın. Kalem Tutucu Aracı seçili değilse, bu yöntemin hiçbir etkisi olmaz.
Kalem ofseti, Kalem Tutucu Aletinin üst kısmından Kuru Silinebilir Kalemin ucuna kadar olan mesafedir. Bir projenin başlangıcında, kalem ofseti 0olarak ayarlanır. 0 bir kalem ofseti, kolun z ekseni orijinini Kalem Tutucu Aletinin 6 Eksenli Kola bağlandığı noktaya yerleştirir.
Usage:
arm.set_pen_offset(zOffset)
Parametre |
Tanım |
|---|---|
|
Kalemin milimetre cinsinden sapma değeri. |
# 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 komutu, 6 Eksenli Kol için kontrol durdurma özelliğini etkinleştirir.
Kontrol durdurma özelliği etkinleştirildiğinde, 6 Eksenli Kol anında tüm hareketleri durdurur ve proje yeniden başlatılana kadar başka hiçbir Kol hareket yöntemi çalıştırmaz.
Usage:
arm.set_control_stop(state)
Parametre |
Tanım |
|---|---|
|
İsteğe bağlı. |
# Stop the 6-Axis Arm and prevent further movement
arm.set_control_stop()
set_timeout#
set_timeout , 6 Eksenli Kolu hareket ettirirken kullanılan zaman aşımı değerini ayarlar.
Bir işlem zaman aşımı süresi dolmadan tamamlanmazsa, proje bir sonraki kod satırına geçer.
Usage:
arm.set_timeout(timeout, units)
Parametre |
Tanım |
|---|---|
|
Yeni zaman aşımı değeri. |
|
İsteğe bağlı. Zaman birimi: |
# Set the 6-Axis Arm timeout to 2 seconds
arm.set_timeout(2, SECONDS)
Getters#
is_done#
is_done 6 eksenli kolun hareketinin tamamlanıp tamamlanmadığını döndürür.
Bu yöntem, wait=False parametresiyle bir hareket yöntemi çağrıldıktan sonra kullanışlıdır.
True— 6 Eksenli Kol hareketini tamamladı.False— 6 Eksenli Kol hala hareket halinde.
Usage:
arm.is_done()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# 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 , uç elemanın mevcut x konumunu milimetre cinsinden döndürür.
Bu yöntemi kullanarak uç elemanın x ekseni boyunca şu anda nerede bulunduğunu okuyabilirsiniz.
Usage:
arm.get_x()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current x position of the 6-Axis Arm
brain.print(arm.get_x())
get_y#
get_y , uç elemanın mevcut y konumunu milimetre cinsinden döndürür.
Bu yöntemi kullanarak uç elemanın y ekseni boyunca şu anda nerede bulunduğunu okuyabilirsiniz.
Usage:
arm.get_y()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current y position of the 6-Axis Arm
brain.print(arm.get_y())
get_z#
get_z uç elemanın mevcut z konumunu milimetre cinsinden döndürür.
Bu yöntemi kullanarak uç elemanın z ekseni boyunca şu anda nerede bulunduğunu okuyabilirsiniz.
Usage:
arm.get_z()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current z position of the 6-Axis Arm
brain.print(arm.get_z())
get_pitch#
get_pitch , uç efektörün mevcut perdesini derece cinsinden döndürür.
Usage:
arm.get_pitch()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current pitch of the end effector
brain.print(arm.get_pitch())
get_roll#
get_roll , uç efektörün mevcut dönüş açısını derece cinsinden döndürür.
Usage:
arm.get_roll()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current roll of the end effector
brain.print(arm.get_roll())
get_yaw#
get_yaw , uç efektörün mevcut yaw açısını derece cinsinden döndürür.
Usage:
arm.get_yaw()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current yaw of the end effector
brain.print(arm.get_yaw())
can_arm_reach_to#
can_arm_reach_to , 6 Eksenli Kolun uç elemanını belirtilen x, y ve z koordinatlarına hareket ettirip ettiremeyeceğini döndürür.
move_to kullanmadan önce hedef konumu kontrol etmek için bu yöntemi kullanın.
True— 6 Eksenli Kol, istenen konuma ulaşabilir.False— 6 Eksenli Kol istenen konuma ulaşamıyor.
Usage:
arm.can_arm_reach_to(x, y, z)
Parametre |
Tanım |
|---|---|
|
Hedef konumun x koordinatı (milimetre cinsinden). |
|
Hedef konumun y koordinatı (milimetre cinsinden). |
|
Hedef konumun milimetre cinsinden z koordinatı. |
# 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 , 6 Eksenli Kolun uç elemanını mevcut konumundan belirtilen x, y ve z mesafesi kadar hareket ettirip ettiremeyeceğini döndürür.
move_inc kullanmadan önce göreceli hareketi kontrol etmek için bu yöntemi kullanın.
True— 6 Eksenli Kol, istenen hareketi gerçekleştirebilir.False— 6 Eksenli Kol istenen hareketi gerçekleştiremiyor.
Usage:
arm.can_arm_reach_inc(x, y, z)
Parametre |
Tanım |
|---|---|
|
X ekseni boyunca kat edilecek mesafe (milimetre cinsinden). |
|
Y ekseni boyunca kat edilecek mesafe milimetre cinsinden. |
|
Z ekseni boyunca kat edilecek mesafe (milimetre cinsinden). |
# 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 fonksiyonu, uç elemanın belirtilen bir sapma, yuvarlanma ve eğim yönüne dönebilme yeteneğini döndürür.
move_end_effector_to kullanmadan önce hedef yönelimini kontrol etmek için bu yöntemi kullanın.
True— Uç efektör istenen yöne ulaşabilir.False— Uç efektör istenen yöne ulaşamıyor.
Usage:
arm.can_end_effector_reach_to(yaw, roll, pitch)
Parametre |
Tanım |
|---|---|
|
Hedef sapma açısı, derece cinsinden. |
|
Hedef yuvarlanma açısı, derece cinsinden. |
|
Hedeflenen eğim açısı, derece cinsinden. |
# 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 , uç elemanın mevcut konumundan belirtilen bir sapma, yuvarlanma ve eğim miktarı kadar dönebilme yeteneğini döndürür.
move_end_effector_inc kullanmadan önce göreceli yönelim hareketini kontrol etmek için bu yöntemi kullanın.
True— Uç efektör istenen dönüşü yapabilir.False— Uç efektör istenen dönüşü gerçekleştiremiyor.
Usage:
arm.can_end_effector_reach_inc(yaw, roll, pitch)
Parametre |
Tanım |
|---|---|
|
Yalpa açısındaki değişim, derece cinsinden. |
|
Yuvarlanma açısındaki değişim, derece cinsinden. |
|
Perdedeki değişim, derece cinsinden. |
# 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 6 Eksenli Kol hareket yöntemleri tarafından kullanılan zaman aşımı değerini milisaniye cinsinden döndürür.
Usage:
arm.get_timeout()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print the current movement timeout in milliseconds
brain.print(arm.get_timeout())
is_connected#
is_connected , 6 Eksenli Kolun Beyne bağlı olup olmadığını döndürür.
True— 6 Eksenli Kol, Beyne bağlıdır.False— 6 Eksenli Kol, Beyne bağlı değildir.
Usage:
arm.is_connected()
Parametreler |
Tanım |
|---|---|
Bu yöntemin parametresi yoktur. |
# Print whether the 6-Axis Arm is connected
brain.print(arm.is_connected())
Geri aramalar#
control_stopped#
control_stopped , kontrol durdurma etkinleştirildiğinde çalışan bir fonksiyonu kaydeder.
Bu yöntem, Event sınıfının bir örneğini döndürür.
Usage:
arm.control_stopped(callback, arg)
Parametre |
Tanım |
|---|---|
|
Kontrol durdurma etkinleştirildiğinde çalışan, önceden tanımlanmış bir fonksiyon. |
|
İsteğe bağlı. Geri çağrı fonksiyonuna iletilecek argümanları içeren bir demet. Daha fazla bilgi için Parametreli Fonksiyonları Kullanma bölümüne bakın. |
# 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)
İnşaatçılar#
Arm#
Arm 6 eksenli bir kol nesnesi oluşturur.
Usage:
Arm()
Parametreler |
Tanım |
|---|---|
Bu yapıcı fonksiyonun parametresi yoktur. |
# Construct a 6-Axis Arm named arm with the Arm class
arm = Arm()