CTE Kolu#

giriiş#

arm sınıfı, CTE Workcell’de kullanılan 6 Eksenli Kol için kontrol sağlar. VEX V5 C++’da, 6 Eksenli Kol, bir uç elemanı üç boyutlu uzayda konumlandırabilir, uç elemanı döndürebilir, hareketlerin mümkün olup olmadığını kontrol edebilir ve Manyetik Alma Aleti veya Kalem Tutucu Aleti gibi bağlı aletleri kontrol edebilir.

6 Eksenli Kol, VEXcode V5’te bir cihaz olarak yapılandırılmamıştır. VEX V5 C++ projesinde kullanmak için, 6 Eksenli Kol’un bağlı olduğu Akıllı Bağlantı Noktası ile kodda manuel olarak arm nesnesi oluşturun.

Bu sayfadaki örneklerde, Arm olarak adlandırılan, elle oluşturulmuş 6 Eksenli bir Kol kullanılmaktadır.

İnşaatçılar#

arm#

arm 6 eksenli bir kol nesnesi oluşturur.

Mevcut Fonksiyon

arm(int32_t index);

Parametre

Tip

Tanım

index

int32_t

6 Eksenli Kolun bağlı olduğu Akıllı Bağlantı Noktası, PORTxşeklinde yazılır; burada x bağlantı noktası numarasıdır. Örneğin, PORT1.

Örnek

// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);

Yıkıcı#

~arm#

~arm , arm nesnesini yok eder ve ilgili kaynakları serbest bırakır.

Mevcut Fonksiyon

~arm();

Üye Fonksiyonları#

arm sınıfı aşağıdaki üye fonksiyonlarını içerir:

İşlemler — 6 Eksenli Kolu konumlara veya yönlere hareket ettirin.

  • moveTo — Uç efektörü belirtilen x, y ve z koordinatına taşır.

  • moveInc — Uç efektörü mevcut konumundan belirtilen bir mesafe kadar hareket ettirir.

  • moveEndEffectorTo — Uç efektörü belirtilen bir sapma, yuvarlanma ve eğim yönüne döndürür.

  • moveEndEffectorInc — Uç efektörü belirtilen bir sapma, yuvarlanma ve eğim miktarıyla döndürür.

Değiştiriciler — Hareket, araçlar ve kontrol ayarlarını yapılandırın.

  • setSpeed — 6 Eksenli Kol tarafından kullanılan hareket hızını ayarlar.

  • setEndEffectorType — 6 Eksenli Kola bağlı uç efektörün tipini ayarlar.

  • setEndEffectorMagnet — Mıknatıs Toplama Aletini etkinleştirir veya devre dışı bırakır.

  • setPenOffset — Kalem Tutucu Aracı ile kullanılan z ekseni ofsetini ayarlar.

  • setControlStop — 6 Eksenli Kol için kontrol durdurmayı etkinleştirir veya devre dışı bırakır.

  • setTimeout — 6 Eksenli Kol hareket fonksiyonları 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.

  • isDone — 6 Eksenli Kolun hareketini tamamlayıp tamamlamadığını döndürür.

  • isCrashed — 6 Eksenli Kolun hareket halindeyken çarpıp çarpışmadığını döndürür.

  • getX — Uç efektörün mevcut x konumunu döndürür.

  • getY — Uç efektörün mevcut y konumunu döndürür.

  • getZ — Uç efektörün mevcut z konumunu döndürür.

  • getYaw — Uç efektörün mevcut yaw değerini döndürür.

  • getRoll — Uç efektörün mevcut zarını döndürür.

  • getPitch — Uç efektörün mevcut perdesini döndürür.

  • canArmReachTo — 6 Eksenli Kolun belirtilen bir konuma ulaşıp ulaşamayacağını döndürür.

  • canArmReachInc — 6 Eksenli Kolun belirtilen bir mesafeye kadar hareket edip edemeyeceğini döndürür.

  • canEndEffectorReachTo — Uç efektörün belirtilen bir yöne ulaşabilip ulaşamayacağını döndürür.

  • canEndEffectorReachInc — Uç efektörün belirtilen miktarda dönebilme özelliğine sahip olup olmadığını döndürür.

  • isConnected — 6 Eksenli Kolun V5 Beynine bağlı olup olmadığını döndürür.

  • timestamp — 6 Eksenli Koldan alınan son durum paketinin zaman damgasını döndürür.

  • installed — 6 Eksenli Kolun bağlı olup olmadığını döndürür.

Geri Çağrı Fonksiyonları — ARM olayları gerçekleştiğinde fonksiyonları çalıştırın.

  • controlStopped — Kontrol durdurma etkinleştirildiğinde çalıştırılacak bir fonksiyonu kaydeder.

  • crashed — Bir çökme tespit edildiğinde çalıştırılacak bir fonksiyonu kaydeder.

Eylemler#

moveTo#

moveTo hareket 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 fonksiyondan önce canArmReachTo kullanın.

Mevcut Fonksiyon

bool moveTo(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

Parametre

Tip

Tanım

x

double

Hedef konumun x koordinatı (milimetre cinsinden).

y

double

Hedef konumun y koordinatı (milimetre cinsinden).

z

double

Hedef konumun milimetre cinsinden z koordinatı.

waitForCompletion

bool

İsteğe bağlı. true (varsayılan) hareket tamamlanana kadar bekler ve ardından devam eder. false hareketi başlatır ve hemen bir sonraki kod satırına geçer.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol hedef konuma ulaştı.

  • false — 6 Eksenli Kol hedef konuma ulaşmadı veya waitForCompletion değeri false olarak ayarlandı.

Örnekler

// Move the 6-Axis Arm to (200, 0, 100)
Arm.moveTo(200, 0, 100);

// Start moving, then print the y-position while the arm moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

moveInc#

moveInc 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 fonksiyonu kullanın. Hareket, 6 Eksenli Kolu erişilebilir çalışma alanının dışına çıkarabilecekse, bu fonksiyondan önce canArmReachInc kullanın.

Mevcut Fonksiyon

bool moveInc(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

Parametre

Tip

Tanım

x

double

X ekseni boyunca kat edilecek mesafe (milimetre cinsinden).

y

double

Y ekseni boyunca kat edilecek mesafe milimetre cinsinden.

z

double

Z ekseni boyunca kat edilecek mesafe (milimetre cinsinden).

waitForCompletion

bool

İsteğe bağlı. true (varsayılan) hareket tamamlanana kadar bekler ve ardından devam eder. false hareketi başlatır ve hemen bir sonraki kod satırına geçer.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol, istenen konuma ulaştı.

  • false — 6 Eksenli Kol istenen konuma ulaşmadı veya waitForCompletion değeri false olarak ayarlandı.

Örnek

// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);

moveEndEffectorTo#

moveEndEffectorTo 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.

Mevcut Fonksiyon

bool moveEndEffectorTo(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

Parametre

Tip

Tanım

yaw

double

Hedef sapma açısı (derece cinsinden).

roll

double

İsteğe bağlı. Hedef yuvarlanma açısı (derece cinsinden). Varsayılan değer 0.

pitch

double

İsteğe bağlı. Hedef eğim açısı (derece cinsinden). Varsayılan değer 0.

waitForCompletion

bool

İsteğe bağlı. true (varsayılan) hareket tamamlanana kadar bekler ve ardından devam eder. false hareketi başlatır ve hemen bir sonraki kod satırına geçer.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — Uç efektör hedef yönelime ulaştı.

  • false — Uç efektör hedef yönelime ulaşmadı veya waitForCompletion değeri false olarak ayarlandı.

Örnek

// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);

moveEndEffectorInc#

moveEndEffectorInc komutu, 6 Eksenli Kolun uç elemanını mevcut konumundan belirli bir sapma, yuvarlanma ve eğim miktarı kadar döndürür.

Bu fonksiyonu, uç elemanın mevcut sapma, yuvarlanma veya eğim açısına göre döndürmek için kullanın.

Mevcut Fonksiyon

bool moveEndEffectorInc(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

Parametre

Tip

Tanım

yaw

double

Yalpa açısındaki değişim, derece cinsinden.

roll

double

İsteğe bağlı. Yuvarlanma açısındaki değişim, derece cinsinden. Varsayılan değer 0.

pitch

double

İsteğe bağlı. Eğimdeki değişim, derece cinsinden. Varsayılan değer 0.

waitForCompletion

bool

İsteğe bağlı. true (varsayılan) hareket tamamlanana kadar bekler ve ardından devam eder. false hareketi başlatır ve hemen bir sonraki kod satırına geçer.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — Uç efektör istenen yöne ulaştı.

  • false — Uç efektör istenen yönelime ulaşmadı veya waitForCompletion değeri false olarak ayarlandı.

Örnek

// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);

Mutatörler#

setSpeed#

setSpeed 6 Eksenli Kol tarafından kullanılan hareket hızını ayarlar.

Mevcut Fonksiyon

void setSpeed(uint32_t speed);

Parametre

Tip

Tanım

speed

uint32_t

6 eksenli kolun hareket etmesi gereken hız, milimetre/saniye cinsinden.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);

setEndEffectorType#

setEndEffectorType , 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.

Mevcut Fonksiyon

bool setEndEffectorType(
  endEffectorType type,
  bool            waitForCompletion = true
);

Parametre

Tip

Tanım

type

endEffectorType

6 Eksenli Kola takılan alet: magnet (Mıknatıs Toplama Aleti) veya pen (Kalem Tutucu Aleti).

waitForCompletion

bool

İsteğe bağlı. true (varsayılan) değişiklik tamamlanana kadar bekler ve ardından devam eder. false değişikliği başlatır ve hemen bir sonraki kod satırına geçer.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — İstenen tür ayarlandı.

  • false — İstenen tür ayarlanmadı veya waitForCompletion değeri false olarak ayarlandı.

Örnek

// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);

setEndEffectorMagnet#

setEndEffectorMagnet komutu, Manyetik Alma Aletini etkinleştirir veya devre dışı bırakır.

Mevcut Fonksiyon

void setEndEffectorMagnet(bool enabled);

Parametre

Tip

Tanım

enabled

bool

true mıknatısın nesneleri alıp tutmasını sağlar. false , mıknatısı devre dışı bırakır ve tutulan nesneyi bırakır.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);

setPenOffset#

setPenOffset komutu, Kalem Tutucu Aleti 6 Eksenli Kola takıldığında kullanılan z ekseni ofsetini ayarlar.

Bu işlevi kullanmadan önce uç efektör tipini pen olarak ayarlayın. Kalem Tutucu Aracı seçili değilse, bu işlevin hiçbir etkisi olmaz.

Kalem ofseti, Kalem Tutucu Aletinin üst kısmından Kuru Silinebilir Kalemin ucuna kadar olan mesafedir. Pozitif bir z değeri, ofseti alet montaj noktasından yukarı doğru hareket ettirir.

Mevcut Fonksiyon

void setPenOffset(double zOffset);

Parametre

Tip

Tanım

zOffset

double

Kalemin milimetre cinsinden sapma değeri.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);

setControlStop#

setControlStop komutu, 6 Eksenli Kol için kontrol durdurma özelliğini etkinleştirir veya devre dışı bırakır.

Kontrol durdurma özelliği etkinleştirildiğinde, 6 Eksenli Kol anında hareketi durdurur ve daha fazla doğrusal veya eklem hareketini engeller.

Mevcut Fonksiyon

void setControlStop(bool state = true);

Parametre

Tip

Tanım

state

bool

İsteğe bağlı. true (varsayılan) kontrol durdurmayı etkinleştirir ve daha fazla doğrusal veya eklem hareketini engeller. false kontrol durdurmayı devre dışı bırakır.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();

setTimeout#

setTimeout 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.

Mevcut Fonksiyon

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

Parametre

Tip

Tanım

timeout

int32_t

Yeni zaman aşımı değeri.

units

timeUnits

Zaman birimi: sec (saniye) veya msec (milisaniye).

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);

Getters#

isDone#

isDone , 6 eksenli kolun hareketinin tamamlanıp tamamlanmadığını döndürür.

Bu fonksiyon, waitForCompletion değeri false olarak ayarlanmış bir hareket fonksiyonu çağrıldıktan sonra kullanışlıdır.

Mevcut Fonksiyon

bool isDone();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol hareketini tamamladı.

  • false — 6 Eksenli Kol hala hareket halinde.

Örnek

// Display the 6-Axis Arm's y-position while it moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

isCrashed#

isCrashed 6 Eksenli Kolun hareket halindeyken kaza yapıp yapmadığını döndürür.

Çarpışma algılandığında, 6 Eksenli Kol motor hareketini durdurur ve gevşemiş gibi görünebilir. Bu, gerilimi azaltır ve motorları kazara hasardan korumaya yardımcı olur.

Mevcut Fonksiyon

bool isCrashed();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol çöktü.

  • false — 6 Eksenli Kol kaza yapmadı.

Örnek

// Quickly move to a new location
Arm.setSpeed(100);
Arm.moveTo(-40, 250, 40, false);

// While moving, check for a crash
while (true) {
  if (Arm.isCrashed()) {
    // Indicate a crash with the Brain screen
    Brain.Screen.print("Crash Detected");
    break;
  }

  wait(5, msec);
}

getX#

getX , uç elemanın mevcut x konumunu milimetre cinsinden döndürür.

Bu fonksiyonu kullanarak uç elemanın x ekseni boyunca şu anda nerede bulunduğunu okuyabilirsiniz.

Mevcut Fonksiyon

float getX();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın milimetre cinsinden x konumunu temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());

getY#

getY uç elemanın mevcut y konumunu milimetre cinsinden döndürür.

Bu fonksiyonu kullanarak uç elemanın y ekseni üzerindeki mevcut konumunu okuyabilirsiniz.

Mevcut Fonksiyon

float getY();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın y konumunu milimetre cinsinden temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());

getZ#

getZ uç elemanın mevcut z konumunu milimetre cinsinden döndürür.

Bu fonksiyonu kullanarak uç elemanın z ekseni boyunca mevcut konumunu okuyabilirsiniz.

Mevcut Fonksiyon

float getZ();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın z konumunu milimetre cinsinden temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());

getYaw#

getYaw , uç elemanın mevcut yaw açısını derece cinsinden döndürür.

Mevcut Fonksiyon

float getYaw();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın mevcut sapma açısını derece cinsinden temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());

getRoll#

getRoll , uç efektörün mevcut açısını derece cinsinden döndürür.

Mevcut Fonksiyon

float getRoll();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın mevcut dönüş açısını derece cinsinden temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());

getPitch#

getPitch , uç efektörün mevcut eğimini derece cinsinden döndürür.

Mevcut Fonksiyon

float getPitch();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Uç elemanın mevcut açısını derece cinsinden temsil eden float değerinde bir ondalık sayı döndürür.

Örnek

// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());

canArmReachTo#

canArmReachTo , 6 Eksenli Kolun uç elemanını belirtilen x, y ve z koordinatlarına hareket ettirip ettiremeyeceğini döndürür.

moveTo kullanmadan önce hedef konumu kontrol etmek için bu fonksiyonu kullanın.

Mevcut Fonksiyon

bool canArmReachTo(
  double x,
  double y,
  double z
);

Parametre

Tip

Tanım

x

double

Hedef konumun x koordinatı (milimetre cinsinden).

y

double

Hedef konumun y koordinatı (milimetre cinsinden).

z

double

Hedef konumun milimetre cinsinden z koordinatı.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol, istenen konuma ulaşabilir.

  • false — 6 Eksenli Kol istenen konuma ulaşamıyor.

Örnek

// Move the 6-Axis Arm to (100, -20, 50) if it can reach
if (Arm.canArmReachTo(100, -20, 50)) {
  Arm.moveTo(100, -20, 50);
}

canArmReachInc#

canArmReachInc , 6 Eksenli Kolun uç elemanını mevcut konumundan belirtilen x, y ve z mesafesi kadar hareket ettirip ettiremeyeceğini döndürür.

moveInc kullanmadan önce göreceli hareketi kontrol etmek için bu fonksiyonu kullanın.

Mevcut Fonksiyon

bool canArmReachInc(
  double x,
  double y,
  double z
);

Parametre

Tip

Tanım

x

double

X ekseni boyunca kat edilecek mesafe (milimetre cinsinden).

y

double

Y ekseni boyunca kat edilecek mesafe milimetre cinsinden.

z

double

Z ekseni boyunca kat edilecek mesafe (milimetre cinsinden).

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol, istenen hareketi gerçekleştirebilir.

  • false — 6 Eksenli Kol istenen hareketi gerçekleştiremiyor.

Örnek

// Increment the 6-Axis Arm 100 mm along the x-axis if possible
if (Arm.canArmReachInc(100, 0, 0)) {
  Arm.moveInc(100, 0, 0);
}

canEndEffectorReachTo#

canEndEffectorReachTo , uç elemanın belirtilen bir sapma, yuvarlanma ve eğim yönüne dönebilme özelliğini geri döndürür.

moveEndEffectorTo kullanmadan önce hedef yönelimini kontrol etmek için bu fonksiyonu kullanın.

Mevcut Fonksiyon

bool canEndEffectorReachTo(
  double yaw,
  double roll = 0,
  double pitch = 0
);

Parametre

Tip

Tanım

yaw

double

Hedef sapma açısı (derece cinsinden).

roll

double

İsteğe bağlı. Hedef yuvarlanma açısı (derece cinsinden). Varsayılan değer 0.

pitch

double

İsteğe bağlı. Hedef eğim açısı (derece cinsinden). Varsayılan değer 0.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — Uç efektör istenen yöne ulaşabilir.

  • false — Uç efektör istenen yöne ulaşamıyor.

Örnek

// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
  Arm.moveEndEffectorTo(0, 90, 0);
}

canEndEffectorReachInc#

canEndEffectorReachInc , uç elemanın mevcut konumundan belirtilen bir sapma, yuvarlanma ve eğim miktarı kadar dönebilme yeteneğine sahip olup olmadığını döndürür.

moveEndEffectorInc kullanmadan önce göreceli yönelim hareketini kontrol etmek için bu fonksiyonu kullanın.

Mevcut Fonksiyon

bool canEndEffectorReachInc(
  double yaw,
  double roll = 0,
  double pitch = 0
);

Parametre

Tip

Tanım

yaw

double

Yalpa açısındaki değişim, derece cinsinden.

roll

double

İsteğe bağlı. Yuvarlanma açısındaki değişim, derece cinsinden. Varsayılan değer 0.

pitch

double

İsteğe bağlı. Eğimdeki değişim, derece cinsinden. Varsayılan değer 0.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — Uç efektör istenen dönüşü yapabilir.

  • false — Uç efektör istenen dönüşü gerçekleştiremiyor.

Örnek

// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
  Arm.moveEndEffectorInc(0, 0, 10);
}

isConnected#

isConnected 6 Eksenli Kolun V5 Beynine bağlı olup olmadığını döndürür.

Bu, installed ile aynı değeri döndüren bir uyumluluk fonksiyonudur.

Mevcut Fonksiyon

bool isConnected();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol, V5 Beynine bağlıdır.

  • false — 6 Eksenli Kol, V5 Beynine bağlı değil.

Örnek

// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());

timestamp#

timestamp 6 Eksenli Kol’dan alınan son durum paketinin zaman damgasını döndürür.

Mevcut Fonksiyon

uint32_t timestamp();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Son durum paketinin zaman damgasını milisaniye uint32_t olarak döndürür.

installed#

installed adet değer 6 eksenli kolun bağlı olup olmadığını gösterir.

Mevcut Fonksiyon

bool installed();

Parametreler

Bu fonksiyonun parametresi yoktur.

Dönüş Değeri

Mantıksal (Boolean) bir değer döndürür.

  • true — 6 Eksenli Kol bağlı.

  • false — 6 Eksenli Kol bağlı değil.

Geri aramalar#

controlStopped#

controlStopped , kontrol durdurma etkinleştirildiğinde çalışan bir işlevi kaydeder.

Mevcut Fonksiyon

void controlStopped(void (* callback)(void));

Parametre

Tip

Tanım

callback

void (*)(void)

Kontrol durdurma etkinleştirildiğinde çalışan bir fonksiyon.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
  Brain.Screen.print("Arm control stopped");
}

int main() {
  Arm.controlStopped(onControlStopped);
}

crashed#

crashed 6 eksenli kolun hareket halindeyken kaza yapması durumunda çalışan bir fonksiyonu kaydeder.

Çarpışma algılandığında, 6 Eksenli Kol motor hareketini durdurur ve gevşemiş gibi görünebilir. Bu, gerilimi azaltır ve motorları kazara hasardan korumaya yardımcı olur.

Mevcut Fonksiyon

void crashed(void (* callback)(void));

Parametre

Tip

Tanım

callback

void (*)(void)

6 eksenli kolun hareket halindeyken kaza yapması durumunda çalışan bir fonksiyon.

Dönüş Değeri

Bu fonksiyon bir değer döndürmez.

Örnek

// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
  Brain.Screen.print("Crash detected");
}

int main() {
  Arm.crashed(onArmCrashed);
}