CTE Arm#
Giới thiệu#
Lớp arm cung cấp khả năng điều khiển cho Cánh tay 6 trục được sử dụng trong CTE Workcell. Trong VEX V5 C++, Cánh tay 6 trục có thể di chuyển đầu cuối đến các vị trí trong không gian ba chiều, xoay đầu cuối, kiểm tra xem các chuyển động có khả thi hay không và điều khiển các công cụ được gắn kèm như Công cụ gắp nam châm hoặc Công cụ giữ bút.
Cánh tay robot 6 trục không được cấu hình như một thiết bị trong VEXcode V5. Để sử dụng nó trong dự án VEX V5 C++, hãy tạo thủ công một đối tượng arm trong mã với Cổng thông minh mà Cánh tay robot 6 trục được kết nối.
Các ví dụ trên trang này sử dụng một cánh tay robot 6 trục được chế tạo thủ công có tên là Arm.
Các hàm tạo#
arm#
Lệnh arm tạo ra một đối tượng Cánh tay 6 trục.
Chức năng khả dụng
arm(int32_t index);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Cổng thông minh mà tay cần 6 trục được kết nối, được viết dưới dạng |
Ví dụ
// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);
Kẻ hủy diệt#
~arm#
~arm phá hủy đối tượng arm và giải phóng các tài nguyên liên quan.
Chức năng khả dụng
~arm();
Chức năng thành viên#
Lớp arm bao gồm các hàm thành viên sau:
Thao tác — Di chuyển cánh tay 6 trục đến các vị trí hoặc hướng mong muốn.
moveTo— Di chuyển đầu cuối đến tọa độ x, y và z được chỉ định.moveInc— Di chuyển bộ phận cuối cùng một khoảng cách xác định từ vị trí hiện tại của nó.moveEndEffectorTo— Xoay bộ phận cuối đến hướng yaw, roll và pitch được chỉ định.moveEndEffectorInc— Xoay bộ phận cuối cùng theo một lượng yaw, roll và pitch được chỉ định.
Bộ điều chỉnh — Cấu hình chuyển động, công cụ và thiết lập điều khiển.
setSpeed— Đặt tốc độ di chuyển được sử dụng bởi Cánh tay 6 trục.setEndEffectorType— Đặt loại đầu cuối gắn vào Cánh tay 6 trục.setEndEffectorMagnet— Bật hoặc tắt Công cụ Nhặt Nam châm.setPenOffset— Đặt độ lệch trục z được sử dụng với Công cụ Giữ Bút.setControlStop— Bật hoặc tắt chức năng dừng điều khiển cho Cánh tay 6 trục.setTimeout— Đặt thời gian chờ được sử dụng bởi các chức năng chuyển động của Cánh tay 6 trục.
Các phương thức getter — Trả về trạng thái chuyển động, vị trí, hướng và giá trị kết nối.
isDone— Trả về trạng thái liệu Cánh tay 6 trục đã hoàn thành chuyển động hay chưa.isCrashed— Trả về liệu Cánh tay 6 trục có bị va chạm trong khi di chuyển hay không.getX— Trả về vị trí x hiện tại của bộ phận cuối.getY— Trả về vị trí y hiện tại của bộ phận cuối.getZ— Trả về vị trí z hiện tại của bộ phận cuối.getYaw— Trả về góc yaw hiện tại của bộ phận cuối.getRoll— Trả về cuộn hiện tại của bộ phận cuối.getPitch— Trả về cao độ hiện tại của bộ phận cuối.canArmReachTo— Trả về liệu Cánh tay 6 trục có thể đạt tới vị trí được chỉ định hay không.canArmReachInc— Trả về liệu Cánh tay 6 trục có thể di chuyển một khoảng cách được chỉ định hay không.canEndEffectorReachTo— Trả về liệu bộ phận cuối có thể đạt tới hướng được chỉ định hay không.canEndEffectorReachInc— Trả về liệu bộ phận cuối có thể xoay một lượng nhất định hay không.isConnected— Trả về trạng thái liệu Cánh tay 6 trục có được kết nối với Bộ não V5 hay không.timestamp— Trả về dấu thời gian của gói trạng thái cuối cùng được nhận từ Cánh tay 6 trục.installed— Trả về trạng thái kết nối của Cánh tay 6 trục.
Hàm gọi lại — Thực thi các hàm khi các sự kiện kích hoạt xảy ra.
controlStopped— Đăng ký một hàm để chạy khi dừng điều khiển được bật.crashed— Đăng ký một hàm để chạy khi phát hiện lỗi.
Hành động#
moveTo#
Lệnh moveTo di chuyển Cánh tay 6 trục đến tọa độ x, y và z được chỉ định.
Tọa độ x, y và z mô tả vị trí của bộ phận cuối trong không gian ba chiều. Sử dụng canArmReachTo trước hàm này nếu vị trí mục tiêu có thể nằm ngoài không gian làm việc có thể tiếp cận của Cánh tay 6 trục.
Chức năng khả dụng
bool moveTo(
double x,
double y,
double z,
bool waitForCompletion = true
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x của vị trí mục tiêu tính bằng milimét. |
|
|
Tọa độ y của vị trí mục tiêu tính bằng milimét. |
|
|
Tọa độ z của vị trí mục tiêu tính bằng milimét. |
|
|
Tùy chọn. |
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay robot 6 trục đã đạt đến vị trí mục tiêu.false— Cánh tay 6 trục không đạt đến vị trí mục tiêu, hoặcwaitForCompletionđược đặt thànhfalse.
Ví dụ
// 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#
Lệnh moveInc di chuyển cánh tay robot 6 trục một khoảng cách xác định so với vị trí hiện tại dọc theo các trục x, y và z.
Sử dụng chức năng này để di chuyển tương đối so với vị trí hiện tại của bộ phận cuối. Sử dụng canArmReachInc trước chức năng này nếu chuyển động có thể đặt Cánh tay 6 trục ra ngoài không gian làm việc có thể tiếp cận của nó.
Chức năng khả dụng
bool moveInc(
double x,
double y,
double z,
bool waitForCompletion = true
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Khoảng cách di chuyển dọc theo trục x tính bằng milimét. |
|
|
Khoảng cách di chuyển dọc theo trục y tính bằng milimét. |
|
|
Khoảng cách di chuyển dọc theo trục z tính bằng milimét. |
|
|
Tùy chọn. |
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay robot 6 trục đã đạt đến vị trí yêu cầu.false— Cánh tay robot 6 trục không đạt đến vị trí yêu cầu, hoặcwaitForCompletionđược đặt thànhfalse.
Ví dụ
// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);
moveEndEffectorTo#
Lệnh moveEndEffectorTo xoay đầu cuối của cánh tay robot 6 trục đến hướng yaw, roll và pitch được chỉ định.
Hướng xoay mô tả cách đầu cuối của thiết bị được xoay. yaw xoay quanh trục z, roll xoay quanh trục x, và pitch xoay quanh trục y.
Chức năng khả dụng
bool moveEndEffectorTo(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Góc lệch hướng mục tiêu tính bằng độ. |
|
|
Tùy chọn. Góc nghiêng mục tiêu tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. Góc nghiêng mục tiêu tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. |
Giá trị trả về
Trả về giá trị Boolean.
true— Đầu cuối của thiết bị đã đạt đến hướng mục tiêu.false— Đầu cuối của bộ phận tác động không đạt được hướng mục tiêu, hoặcwaitForCompletionđược đặt thànhfalse.
Ví dụ
// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);
moveEndEffectorInc#
moveEndEffectorInc xoay đầu cuối của Cánh tay 6 trục một lượng yaw, roll và pitch được chỉ định so với hướng hiện tại của nó.
Sử dụng chức năng này để xoay tương đối so với hướng xoay ngang, xoay dọc hoặc xoay nghiêng hiện tại của đầu cuối robot.
Chức năng khả dụng
bool moveEndEffectorInc(
double yaw,
double roll = 0,
double pitch = 0,
bool waitForCompletion = true
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Sự thay đổi góc lệch hướng, tính bằng độ. |
|
|
Tùy chọn. Độ thay đổi góc nghiêng, tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. Độ thay đổi cao độ, tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. |
Giá trị trả về
Trả về giá trị Boolean.
true— Đầu cuối của thiết bị đã đạt đến hướng mong muốn.false— Đầu cuối của bộ phận tác động không đạt được hướng mong muốn, hoặcwaitForCompletionđược đặt thànhfalse.
Ví dụ
// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);
Biến đổi#
setSpeed#
setSpeed thiết lập tốc độ di chuyển được sử dụng bởi Cánh tay 6 trục.
Chức năng khả dụng
void setSpeed(uint32_t speed);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tốc độ mà cánh tay robot 6 trục cần di chuyển, tính bằng milimét mỗi giây. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);
setEndEffectorType#
setEndEffectorType thiết lập loại đầu cuối gắn vào Cánh tay 6 trục.
Khi loại đầu kẹp được thay đổi, tay máy 6 trục sẽ tự động điều chỉnh độ lệch trục Z để phù hợp với công cụ đã chọn.
Chức năng khả dụng
bool setEndEffectorType(
endEffectorType type,
bool waitForCompletion = true
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Công cụ được gắn vào Cánh tay 6 trục: nam châm |
|
|
Tùy chọn. |
Giá trị trả về
Trả về giá trị Boolean.
true— Loại được yêu cầu đã được thiết lập.false— Loại được yêu cầu chưa được thiết lập, hoặcwaitForCompletionđược đặt thànhfalse.
Ví dụ
// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);
setEndEffectorMagnet#
setEndEffectorMagnet bật hoặc tắt Công cụ Nhặt Nam châm.
Chức năng khả dụng
void setEndEffectorMagnet(bool enabled);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
|
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);
setPenOffset#
setPenOffset thiết lập độ lệch trục z được sử dụng khi Công cụ Giữ Bút được gắn vào Cánh tay 6 trục.
Hãy đặt loại đầu cuối của bút thành pen trước khi sử dụng chức năng này. Nếu công cụ Pen Holder Tool không được chọn, chức năng này sẽ không có tác dụng.
Khoảng cách lệch của bút là khoảng cách từ đỉnh của dụng cụ giữ bút đến đầu bút xóa bảng. Giá trị z dương sẽ làm dịch chuyển khoảng cách lệch lên trên so với điểm gắn dụng cụ.
Chức năng khả dụng
void setPenOffset(double zOffset);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị độ lệch của bút tính bằng milimét. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);
setControlStop#
setControlStop cho phép hoặc vô hiệu hóa chức năng dừng điều khiển cho Cánh tay 6 trục.
Khi chức năng dừng điều khiển được kích hoạt, cánh tay robot 6 trục sẽ ngay lập tức dừng chuyển động và ngăn chặn các chuyển động tuyến tính hoặc chuyển động khớp tiếp theo.
Chức năng khả dụng
void setControlStop(bool state = true);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tùy chọn. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();
setTimeout#
setTimeout thiết lập giá trị thời gian chờ được sử dụng khi di chuyển Cánh tay 6 trục.
Nếu một thao tác không hoàn thành trước khi hết thời gian chờ, dự án sẽ tiếp tục thực hiện dòng mã tiếp theo.
Chức năng khả dụng
void setTimeout(
int32_t timeout,
timeUnits units
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Giá trị thời gian chờ mới. |
|
|
Đơn vị thời gian: |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);
Người nhận#
isDone#
isDone trả về trạng thái cho biết cánh tay robot 6 trục đã chuyển động xong hay chưa.
Chức năng này hữu ích sau khi một chức năng di chuyển được gọi với waitForCompletion được đặt thành false.
Chức năng khả dụng
bool isDone();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay 6 trục đã hoàn thành chuyển động.false— Cánh tay robot 6 trục vẫn đang di chuyển.
Ví dụ
// 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 trả về giá trị cho biết liệu cánh tay robot 6 trục có bị va chạm trong quá trình di chuyển hay không.
Khi phát hiện va chạm, cánh tay robot 6 trục sẽ ngừng chuyển động của động cơ và có thể trông như bị chùng xuống. Điều này giúp giảm tải trọng và bảo vệ động cơ khỏi hư hỏng do va chạm bất ngờ.
Chức năng khả dụng
bool isCrashed();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay robot 6 trục đã bị lỗi.false— Cánh tay robot 6 trục không bị lỗi.
Ví dụ
// 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 trả về vị trí x hiện tại của đầu cuối cơ cấu trong milimét.
Sử dụng hàm này để đọc vị trí hiện tại của đầu cuối robot dọc theo trục x.
Chức năng khả dụng
float getX();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị float float vị trí x của đầu cuối bộ phận thao tác tính bằng milimét.
Ví dụ
// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());
getY#
getY trả về vị trí y hiện tại của đầu cuối bộ phận thao tác tính bằng milimét.
Sử dụng hàm này để đọc vị trí hiện tại của đầu cuối thiết bị dọc theo trục y.
Chức năng khả dụng
float getY();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về một giá trị float float vị trí y của đầu cuối bộ phận thao tác tính bằng milimét.
Ví dụ
// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());
getZ#
getZ trả về vị trí z hiện tại của đầu cuối bộ phận thao tác tính bằng milimét.
Sử dụng chức năng này để đọc vị trí hiện tại của đầu cuối bộ phận chấp hành dọc theo trục z.
Chức năng khả dụng
float getZ();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị float float vị trí z của đầu cuối bộ phận thao tác tính bằng milimét.
Ví dụ
// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());
getYaw#
getYaw trả về góc yaw hiện tại của đầu cuối cánh tay robot tính bằng độ.
Chức năng khả dụng
float getYaw();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về một giá trị float float góc yaw hiện tại của đầu cuối cánh tay robot tính bằng độ.
Ví dụ
// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());
getRoll#
getRoll trả về góc quay hiện tại của đầu cuối cánh tay robot tính bằng độ.
Chức năng khả dụng
float getRoll();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về một giá trị float float góc quay hiện tại của đầu cuối bộ phận thao tác tính bằng độ.
Ví dụ
// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());
getPitch#
getPitch trả về góc nghiêng hiện tại của đầu cuối bộ phận tác động tính bằng độ.
Chức năng khả dụng
float getPitch();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị float float góc nghiêng hiện tại của đầu cuối bộ phận tác động tính bằng độ.
Ví dụ
// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());
canArmReachTo#
canArmReachTo trả về giá trị cho biết liệu cánh tay robot 6 trục có thể di chuyển đầu cuối đến tọa độ x, y và z được chỉ định hay không.
Sử dụng chức năng này để kiểm tra vị trí mục tiêu trước khi sử dụng moveTo.
Chức năng khả dụng
bool canArmReachTo(
double x,
double y,
double z
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Tọa độ x của vị trí mục tiêu tính bằng milimét. |
|
|
Tọa độ y của vị trí mục tiêu tính bằng milimét. |
|
|
Tọa độ z của vị trí mục tiêu tính bằng milimét. |
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay robot 6 trục có thể đạt đến vị trí yêu cầu.false— Cánh tay robot 6 trục không thể đạt đến vị trí yêu cầu.
Ví dụ
// 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 trả về giá trị cho biết liệu cánh tay robot 6 trục có thể di chuyển đầu cuối của thiết bị theo khoảng cách x, y và z được chỉ định so với vị trí hiện tại của nó hay không.
Sử dụng chức năng này để kiểm tra chuyển động tương đối trước khi sử dụng moveInc.
Chức năng khả dụng
bool canArmReachInc(
double x,
double y,
double z
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Khoảng cách di chuyển dọc theo trục x tính bằng milimét. |
|
|
Khoảng cách di chuyển dọc theo trục y tính bằng milimét. |
|
|
Khoảng cách di chuyển dọc theo trục z tính bằng milimét. |
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay robot 6 trục có thể thực hiện chuyển động được yêu cầu.false— Cánh tay robot 6 trục không thể thực hiện chuyển động được yêu cầu.
Ví dụ
// 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 trả về giá trị cho biết liệu đầu cuối của bộ phận tác động có thể xoay theo hướng yaw, roll và pitch đã chỉ định hay không.
Sử dụng chức năng này để kiểm tra hướng mục tiêu trước khi sử dụng moveEndEffectorTo.
Chức năng khả dụng
bool canEndEffectorReachTo(
double yaw,
double roll = 0,
double pitch = 0
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Góc lệch hướng mục tiêu tính bằng độ. |
|
|
Tùy chọn. Góc nghiêng mục tiêu tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. Góc nghiêng mục tiêu tính bằng độ. Giá trị mặc định là |
Giá trị trả về
Trả về giá trị Boolean.
true— Đầu cuối có thể đạt được hướng mong muốn.false— Đầu cuối của thiết bị không thể đạt được hướng mong muốn.
Ví dụ
// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
Arm.moveEndEffectorTo(0, 90, 0);
}
canEndEffectorReachInc#
canEndEffectorReachInc trả về giá trị cho biết liệu đầu cuối của bộ phận tác động có thể xoay theo một góc yaw, roll và pitch được chỉ định so với hướng hiện tại của nó hay không.
Sử dụng chức năng này để kiểm tra chuyển động định hướng tương đối trước khi sử dụng moveEndEffectorInc.
Chức năng khả dụng
bool canEndEffectorReachInc(
double yaw,
double roll = 0,
double pitch = 0
);
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Sự thay đổi góc lệch hướng, tính bằng độ. |
|
|
Tùy chọn. Độ thay đổi góc nghiêng, tính bằng độ. Giá trị mặc định là |
|
|
Tùy chọn. Độ thay đổi cao độ, tính bằng độ. Giá trị mặc định là |
Giá trị trả về
Trả về giá trị Boolean.
true— Đầu cuối có thể thực hiện chuyển động quay theo yêu cầu.false— Đầu cuối của thiết bị không thể thực hiện chuyển động quay được yêu cầu.
Ví dụ
// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
Arm.moveEndEffectorInc(0, 0, 10);
}
isConnected#
isConnected trả về trạng thái kết nối của Cánh tay 6 trục với Bộ xử lý V5.
Đây là một hàm tương thích trả về cùng giá trị với installed.
Chức năng khả dụng
bool isConnected();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay 6 trục được kết nối với bộ não V5.false— Cánh tay 6 trục không được kết nối với bộ não V5.
Ví dụ
// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());
timestamp#
timestamp trả về dấu thời gian của gói trạng thái cuối cùng nhận được từ Arm 6 trục.
Chức năng khả dụng
uint32_t timestamp();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về dấu thời gian của gói trạng thái cuối cùng dưới dạng số nguyên uint32_t tính bằng mili giây.
installed#
installed trả về trạng thái kết nối của Cánh tay 6 trục.
Chức năng khả dụng
bool installed();
Thông số
Hàm này không có tham số.
Giá trị trả về
Trả về giá trị Boolean.
true— Cánh tay 6 trục đã được kết nối.false— Cánh tay robot 6 trục chưa được kết nối.
Cuộc gọi lại#
controlStopped#
controlStopped đăng ký một hàm chạy khi chức năng dừng điều khiển được bật.
Chức năng khả dụng
void controlStopped(void (* callback)(void));
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Một hàm được chạy khi chức năng dừng điều khiển được kích hoạt. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
Brain.Screen.print("Arm control stopped");
}
int main() {
Arm.controlStopped(onControlStopped);
}
crashed#
crashed đăng ký một hàm chạy khi cánh tay robot 6 trục bị va chạm trong quá trình di chuyển.
Khi phát hiện va chạm, cánh tay robot 6 trục sẽ ngừng chuyển động của động cơ và có thể trông như bị chùng xuống. Điều này giúp giảm tải trọng và bảo vệ động cơ khỏi hư hỏng do va chạm bất ngờ.
Chức năng khả dụng
void crashed(void (* callback)(void));
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Chức năng này được thực thi khi cánh tay robot 6 trục bị va chạm trong quá trình di chuyển. |
Giá trị trả về
Hàm này không trả về giá trị nào.
Ví dụ
// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
Brain.Screen.print("Crash detected");
}
int main() {
Arm.crashed(onArmCrashed);
}