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 |
|---|---|---|
|
|
6 Eksenli Kolun bağlı olduğu Akıllı Bağlantı Noktası, |
Ö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 |
|---|---|---|
|
|
Hedef konumun x koordinatı (milimetre cinsinden). |
|
|
Hedef konumun y koordinatı (milimetre cinsinden). |
|
|
Hedef konumun milimetre cinsinden z koordinatı. |
|
|
İsteğe bağlı. |
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ı veyawaitForCompletiondeğerifalseolarak 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 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ı. |
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ı veyawaitForCompletiondeğerifalseolarak 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 |
|---|---|---|
|
|
Hedef sapma açısı (derece cinsinden). |
|
|
İsteğe bağlı. Hedef yuvarlanma açısı (derece cinsinden). Varsayılan değer |
|
|
İsteğe bağlı. Hedef eğim açısı (derece cinsinden). Varsayılan değer |
|
|
İsteğe bağlı. |
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ı veyawaitForCompletiondeğerifalseolarak 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 |
|---|---|---|
|
|
Yalpa açısındaki değişim, derece cinsinden. |
|
|
İsteğe bağlı. Yuvarlanma açısındaki değişim, derece cinsinden. Varsayılan değer |
|
|
İsteğe bağlı. Eğimdeki değişim, derece cinsinden. Varsayılan değer |
|
|
İsteğe bağlı. |
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ı veyawaitForCompletiondeğerifalseolarak 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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
6 Eksenli Kola takılan alet: |
|
|
İsteğe bağlı. |
Dönüş Değeri
Mantıksal (Boolean) bir değer döndürür.
true— İstenen tür ayarlandı.false— İstenen tür ayarlanmadı veyawaitForCompletiondeğerifalseolarak 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 |
|---|---|---|
|
|
|
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
İsteğe bağlı. |
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 |
|---|---|---|
|
|
Yeni zaman aşımı değeri. |
|
|
Zaman birimi: |
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 |
|---|---|---|
|
|
Hedef konumun x koordinatı (milimetre cinsinden). |
|
|
Hedef konumun y koordinatı (milimetre cinsinden). |
|
|
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 ekseni boyunca kat edilecek mesafe (milimetre cinsinden). |
|
|
Y ekseni boyunca kat edilecek mesafe milimetre cinsinden. |
|
|
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 |
|---|---|---|
|
|
Hedef sapma açısı (derece cinsinden). |
|
|
İsteğe bağlı. Hedef yuvarlanma açısı (derece cinsinden). Varsayılan değer |
|
|
İsteğe bağlı. Hedef eğim açısı (derece cinsinden). Varsayılan değer |
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 |
|---|---|---|
|
|
Yalpa açısındaki değişim, derece cinsinden. |
|
|
İsteğe bağlı. Yuvarlanma açısındaki değişim, derece cinsinden. Varsayılan değer |
|
|
İsteğe bağlı. Eğimdeki değişim, derece cinsinden. Varsayılan değer |
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
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);
}