แขนกล 6 แกน#

การแนะนำ#

แขนหุ่นยนต์ 6 แกน VEX สามารถเคลื่อนย้ายส่วนปลายแขนในพื้นที่สามมิติ ควบคุมทิศทางโดยใช้การหมุนแบบยอว์ โรล และพิทช์ และใช้เครื่องมือที่ติดตั้งไว้ เช่น เครื่องมือหยิบจับแม่เหล็ก หรือเครื่องมือจับปากกา

แขนกล 6 แกนไม่ได้ถูกกำหนดค่าเป็นอุปกรณ์ใน VEXcode V5 หากต้องการใช้งานในโปรเจ็กต์ Python ของ VEX V5 ให้สร้างอ็อบเจ็กต์ Arm ในโค้ดด้วยตนเอง โดยระบุ Smart Port ที่เชื่อมต่อกับแขนกล 6 แกน

ตัวอย่างในหน้านี้ใช้แขนกล 6 แกนที่สร้างขึ้นด้วยมือชื่อ arm1

ด้านล่างนี้คือรายการวิธีการทั้งหมดที่มีให้เลือกใช้:

การกระทำ — เคลื่อนแขนกล 6 แกนไปยังตำแหน่งหรือทิศทางต่างๆ

  • move_to — ย้ายปลายแขนกลไปยังพิกัด x, y และ z ที่ระบุ

  • move_inc — ย้ายปลายแขนกลไปตามระยะที่กำหนดจากตำแหน่งปัจจุบัน

  • move_end_effector_to — หมุนปลายแขนกลไปยังทิศทาง yaw, roll และ pitch ที่กำหนด

  • move_end_effector_inc — หมุนปลายแขนกลด้วยค่า yaw, roll และ pitch ที่ระบุ

ตัวปรับแต่ง — กำหนดค่าการเคลื่อนไหว เครื่องมือ และการตั้งค่าการควบคุม

  • set_speed — ตั้งค่าความเร็วในการเคลื่อนที่ที่ใช้โดยแขน 6 แกน

  • set_end_effector_type — กำหนดประเภทของปลายแขนกลที่ติดอยู่กับแขนกล 6 แกน

  • set_end_effector_magnet — เปิดใช้งานหรือปิดใช้งานเครื่องมือหยิบแม่เหล็ก

  • set_pen_offset — ตั้งค่าการชดเชยแกน z ที่ใช้กับเครื่องมือ Pen Holder

  • set_control_stop — เปิดใช้งานการหยุดควบคุมสำหรับแขน 6 แกน

  • set_timeout — ตั้งค่าหมดเวลาที่ใช้โดยวิธีการเคลื่อนที่แขน 6 แกน

เมธอด Getter — ส่งคืนสถานะการเคลื่อนไหว ตำแหน่ง การวางแนว และค่าการเชื่อมต่อ

  • is_done — ส่งคืนว่าแขน 6 แกนเคลื่อนที่เสร็จแล้วหรือไม่

  • is_crashed — ส่งคืนว่าแขน 6 แกนเกิดการชนขณะเคลื่อนที่หรือไม่

  • get_x — ส่งคืนตำแหน่ง x ปัจจุบันของปลายแขนกล

  • get_y — ส่งคืนตำแหน่ง y ปัจจุบันของปลายแขนกล

  • get_z — ส่งคืนตำแหน่ง z ปัจจุบันของปลายแขนกล

  • get_pitch — ส่งคืนค่า pitch ปัจจุบันของ end effector

  • get_roll — ส่งคืนค่าการหมุนปัจจุบันของปลายแขนกล

  • get_yaw — ส่งคืนค่า yaw ปัจจุบันของปลายแขนกล

  • can_arm_reach_to — ส่งคืนว่าแขน 6 แกนสามารถเอื้อมถึงตำแหน่งที่กำหนดได้หรือไม่

  • can_arm_reach_inc — ส่งคืนว่าแขน 6 แกนสามารถเคลื่อนที่ได้ตามระยะทางที่กำหนดหรือไม่

  • can_end_effector_reach_to — ส่งคืนว่าปลายแขนกลสามารถเข้าถึงทิศทางที่กำหนดได้หรือไม่

  • can_end_effector_reach_inc — ส่งคืนว่าปลายแขนกลสามารถหมุนได้ตามปริมาณที่กำหนดหรือไม่

  • get_timeout — ส่งคืนค่าหมดเวลาปัจจุบันที่ใช้โดยวิธีการเคลื่อนย้าย

  • is_connected — ส่งคืนว่าแขน 6 แกนเชื่อมต่อกับสมอง V5 หรือไม่

ฟังก์ชันเรียกกลับ — เรียกใช้ฟังก์ชันเมื่อเกิดเหตุการณ์เกี่ยวกับแขนหุ่นยนต์

  • control_stopped — ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อเปิดใช้งานการหยุดควบคุม

  • crashed — ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อตรวจพบการขัดข้อง

ตัวสร้าง — สร้างวัตถุแขนกล 6 แกนด้วยตนเอง

  • Arm — สร้างวัตถุแขน 6 แกน

การกระทำ#

move_to#

คำสั่ง move_to จะเคลื่อนแขนกล 6 แกนไปยังพิกัด x, y และ z ที่กำหนด

พิกัด x, y และ z อธิบายตำแหน่งของปลายแขนในพื้นที่สามมิติ ใช้ can_arm_reach_to ก่อนวิธีนี้หากตำแหน่งเป้าหมายอาจอยู่นอกพื้นที่ทำงานที่เข้าถึงได้ของแขนกล 6 แกน

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

พารามิเตอร์

คำอธิบาย

x

พิกัด x ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

y

พิกัด y ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

z

พิกัด z ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) ทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสมบูรณ์ก่อนดำเนินการต่อ wait=False เริ่มการเคลื่อนไหวและดำเนินการต่อในบรรทัดโค้ดถัดไปทันที

# Move the 6-Axis Arm to (40, 140, 210)
arm1.move_to(40, 140, 210)

# Start moving, then print the y-position while the arm moves
arm1.move_to(-100, 200, 100, wait=False)

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

move_inc#

คำสั่ง move_inc จะเคลื่อนแขนกล 6 แกนไปตามระยะทางที่กำหนดจากตำแหน่งปัจจุบันตามแนวแกน x, y และ z

ใช้วิธีนี้เพื่อเคลื่อนที่สัมพันธ์กับตำแหน่งปัจจุบันของปลายแขนกล ใช้ can_arm_reach_inc ก่อนวิธีนี้หากการเคลื่อนที่อาจทำให้แขนกล 6 แกนอยู่นอกพื้นที่ทำงานที่เข้าถึงได้

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

พารามิเตอร์

คำอธิบาย

x

ระยะทางที่ต้องเคลื่อนที่ไปตามแกน x ในหน่วยมิลลิเมตร

y

ระยะทางที่ต้องเคลื่อนที่ไปตามแกน y ในหน่วยมิลลิเมตร

z

ระยะทางในการเคลื่อนที่ตามแกน z ในหน่วยมิลลิเมตร

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) ทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสมบูรณ์ก่อนดำเนินการต่อ wait=False เริ่มการเคลื่อนไหวและดำเนินการต่อในบรรทัดโค้ดถัดไปทันที

# Move the 6-Axis Arm 100 millimeters along the y-axis
arm1.move_inc(0, 100, 0)

move_end_effector_to#

คำสั่ง move_end_effector_to จะหมุนปลายแขนกล 6 แกนไปยังทิศทาง yaw, roll และ pitch ที่กำหนดไว้

การกำหนดทิศทางอธิบายถึงวิธีการหมุนของปลายแขนกล yaw คือการหมุนรอบแกน Z, roll คือการหมุนรอบแกน X และ pitch คือการหมุนรอบแกน Y

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

พารามิเตอร์

คำอธิบาย

yaw

มุมหันเป้าหมาย หน่วยเป็นองศา

roll

มุมกลิ้งเป้าหมาย หน่วยเป็นองศา

pitch

มุมเอียงเป้าหมาย หน่วยเป็นองศา

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) ทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสมบูรณ์ก่อนดำเนินการต่อ wait=False เริ่มการเคลื่อนไหวและดำเนินการต่อในบรรทัดโค้ดถัดไปทันที

# Rotate the end effector to 90 degrees of roll
arm1.move_end_effector_to(0, 90, 0)

move_end_effector_inc#

move_end_effector_inc หมุนปลายแขนกล 6 แกนด้วยค่า yaw, roll และ pitch ที่กำหนดจากตำแหน่งปัจจุบัน

ใช้วิธีนี้ในการหมุนโดยสัมพันธ์กับมุม yaw, roll หรือ pitch ปัจจุบันของปลายแขนกล

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

พารามิเตอร์

คำอธิบาย

yaw

การเปลี่ยนแปลงของมุมหันเห (yaw) ในหน่วยองศา

roll

การเปลี่ยนแปลงมุมการหมุน ในหน่วยองศา

pitch

การเปลี่ยนแปลงระดับเสียง ในหน่วยองศา

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) ทำให้โปรเจ็กต์รอจนกว่าการเคลื่อนไหวจะเสร็จสมบูรณ์ก่อนดำเนินการต่อ wait=False เริ่มการเคลื่อนไหวและดำเนินการต่อในบรรทัดโค้ดถัดไปทันที

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

ตัวกลายพันธุ์#

set_speed#

set_speed กำหนดความเร็วในการเคลื่อนที่ที่ใช้โดยแขนกล 6 แกนสำหรับวิธีการเคลื่อนที่ต่างๆ

ความเร็วของแขนกล 6 แกนจะถูกตั้งค่าไว้ที่ 50% เมื่อเริ่มต้นโครงการ

Usage:
arm1.set_speed(speed)

พารามิเตอร์

คำอธิบาย

speed

The movement speed of the 6-Axis Arm, from 1 to 100 percent.

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

set_end_effector_type#

set_end_effector_type กำหนดประเภทของหัวจับชิ้นงานที่ติดอยู่กับแขนกล 6 แกน

เมื่อเปลี่ยนประเภทของหัวจับชิ้นงาน แขนกล 6 แกนจะปรับค่าชดเชยแกน Z โดยอัตโนมัติให้ตรงกับเครื่องมือที่เลือก ประเภทของหัวจับชิ้นงานจะถูกตั้งค่าเป็น MAGNET เมื่อเริ่มต้นโครงการ

Usage:
arm1.set_end_effector_type(type)

พารามิเตอร์

คำอธิบาย

type

เครื่องมือที่ติดอยู่กับแขน 6 แกน: MAGNET (เครื่องมือหยิบแม่เหล็ก) หรือ PEN (เครื่องมือจับปากกา)

# Set the end effector type to the Pen Holder Tool
arm1.set_end_effector_type(PEN)

set_end_effector_magnet#

set_end_effector_magnet ใช้สำหรับเชื่อมต่อหรือปลดเครื่องมือหยิบจับแม่เหล็ก

The magnet state stays active until another set_end_effector_magnet method changes it. The magnet state is reset to False at the start of a project.

Usage:
arm1.set_end_effector_magnet(state)

พารามิเตอร์

คำอธิบาย

state

สถานะของเครื่องมือหยิบจับแม่เหล็ก: True เพื่อหยิบและยึดวัตถุไว้ หรือ False เพื่อปล่อยวัตถุที่ยึดไว้และหยุดการหยิบวัตถุใหม่

# Pick up objects and then drop them
arm1.set_end_effector_type(MAGNET)
arm1.set_end_effector_magnet(True)
wait(2, SECONDS)
arm1.set_end_effector_magnet(False)

set_pen_offset#

set_pen_offset กำหนดค่าชดเชยแกน z ที่ใช้เมื่อติดตั้งเครื่องมือจับปากกาเข้ากับแขน 6 แกน

ตั้งค่าประเภทปลายหัวจับเป็น PEN ก่อนใช้วิธีนี้ หากไม่ได้เลือกเครื่องมือยึดปากกา วิธีนี้จะไม่มีผล

ระยะห่างของปากกา (Pen Offset) คือระยะห่างจากด้านบนของอุปกรณ์ยึดปากกา (Pen Holder Tool) ถึงปลายปากกาไวท์บอร์ด (Dry-Erase Marker) เมื่อเริ่มต้นโปรเจกต์ ระยะห่างของปากกาจะถูกตั้งค่าเป็น 0การตั้งค่าระยะห่างของปากกาเป็น 0 จะวางจุดกำเนิดแกน Z ของแขนกลไว้ที่จุดที่อุปกรณ์ยึดปากกาเชื่อมต่อกับแขนกล 6 แกน (6-Axis Arm)

Usage:
arm1.set_pen_offset(zOffset)

พารามิเตอร์

คำอธิบาย

zOffset

ค่าการเบี่ยงเบนของปากกาในหน่วยมิลลิเมตร

# Set the end effector type to the Pen Holder Tool and set the pen offset
arm1.set_end_effector_type(PEN)
arm1.set_pen_offset(25)

set_control_stop#

set_control_stop เปิดใช้งานการหยุดควบคุมสำหรับแขนกล 6 แกน

เมื่อเปิดใช้งานการหยุดควบคุม แขนกล 6 แกนจะหยุดการเคลื่อนไหวทันทีและจะไม่ดำเนินการวิธีการเคลื่อนไหวของแขนกลใดๆ ต่อไปจนกว่าจะเริ่มโครงการใหม่

Usage:
arm1.set_control_stop(state)

พารามิเตอร์

คำอธิบาย

state

ตัวเลือกเสริม True (ค่าเริ่มต้น) เปิดใช้งานการหยุดควบคุม False ไม่เปิดใช้งานการหยุดควบคุม

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

set_timeout#

set_timeout กำหนดค่าหมดเวลาที่ใช้เมื่อเคลื่อนย้ายแขนกล 6 แกน

หากการเคลื่อนไหวไม่เสร็จสิ้นก่อนหมดเวลาที่กำหนด โครงการจะดำเนินการต่อในบรรทัดโค้ดถัดไป

Usage:
arm1.set_timeout(timeout, units)

พารามิเตอร์

คำอธิบาย

timeout

ค่าหมดเวลาใหม่

units

ตัวเลือกเสริม หน่วยเวลา: MSEC วินาที (ค่าเริ่มต้น), SECONDSหรือ SEC

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

ผู้รับ#

is_done#

is_done จะส่งคืนค่าว่าแขนกล 6 แกนเคลื่อนที่เสร็จแล้วหรือไม่

วิธีนี้มีประโยชน์หลังจากเรียกใช้เมธอดการเคลื่อนไหวโดยตั้ง wait=False

  • True — แขนกล 6 แกนเคลื่อนที่เสร็จสิ้นแล้ว

  • False — แขนกล 6 แกนยังคงเคลื่อนที่อยู่

Usage:
arm1.is_done()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Display the 6-Axis Arm's y-position while it moves
arm1.move_to(-100, 200, 100, wait=False)

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

is_crashed#

is_crashed จะส่งคืนค่าว่าแขนกล 6 แกนเกิดการขัดข้องขณะเคลื่อนที่หรือไม่

เมื่อตรวจพบการชนกัน แขนกล 6 แกนจะหยุดการเคลื่อนไหวของมอเตอร์และอาจดูเหมือนอ่อนแรงลง ซึ่งจะช่วยลดแรงกดและช่วยปกป้องมอเตอร์จากความเสียหายโดยไม่ได้ตั้งใจ

  • True — แขนกล 6 แกนเกิดขัดข้อง

  • False — แขนกล 6 แกนไม่ได้เกิดอุบัติเหตุ

Usage:
arm1.is_crashed()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

# Quickly move to a new location
arm1.set_speed(100)
arm1.move_to(-30, 240, 40, wait=False)

# While moving, check for a crash
while True:
    if arm1.is_crashed():
        # Indicate a crash with the Brain screen
        brain.screen.print("Crash Detected")
        break

    wait(5, MSEC)

get_x#

get_x ส่งคืนตำแหน่ง x ปัจจุบันของปลายแขนกลในหน่วยมิลลิเมตร

ใช้วิธีนี้ในการอ่านตำแหน่งปัจจุบันของปลายแขนกลบนแกน x

Usage:
arm1.get_x()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

get_y#

get_y ส่งคืนตำแหน่ง y ปัจจุบันของปลายแขนกลในหน่วยมิลลิเมตร

ใช้วิธีนี้ในการอ่านตำแหน่งปัจจุบันของปลายแขนกลตามแกน y

Usage:
arm1.get_y()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

get_z#

get_z ส่งคืนตำแหน่ง z ปัจจุบันของปลายแขนกลในหน่วยมิลลิเมตร

ใช้วิธีนี้ในการอ่านตำแหน่งปัจจุบันของปลายแขนกลบนแกน z

Usage:
arm1.get_z()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

get_pitch#

get_pitch จะส่งคืนค่ามุมเอียงปัจจุบันของปลายแขนกลในหน่วยองศา

Usage:
arm1.get_pitch()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

get_roll#

get_roll จะส่งคืนค่าการหมุนปัจจุบันของปลายแขนกลในหน่วยองศา

Usage:
arm1.get_roll()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

get_yaw#

get_yaw ส่งคืนค่า yaw ปัจจุบันของปลายแขนกลในหน่วยองศา

Usage:
arm1.get_yaw()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

can_arm_reach_to#

can_arm_reach_to ส่งคืนค่าว่าแขนกล 6 แกนสามารถเคลื่อนปลายแขนไปยังพิกัด x, y และ z ที่ระบุได้หรือไม่

ใช้วิธีนี้เพื่อตรวจสอบตำแหน่งเป้าหมายก่อนใช้ move_to

  • True — แขนกล 6 แกนสามารถเอื้อมถึงตำแหน่งที่ต้องการได้

  • False — แขนกล 6 แกนไม่สามารถไปถึงตำแหน่งที่ต้องการได้

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

พารามิเตอร์

คำอธิบาย

x

พิกัด x ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

y

พิกัด y ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

z

พิกัด z ของตำแหน่งเป้าหมายในหน่วยมิลลิเมตร

# Move the 6-Axis Arm to (100, -20, 50) if it can reach
if arm1.can_arm_reach_to(100, -20, 50):
    arm1.move_to(100, -20, 50)

can_arm_reach_inc#

can_arm_reach_inc ส่งคืนค่าว่าแขนกล 6 แกนสามารถเคลื่อนปลายแขนกลไปตามระยะทาง x, y และ z ที่กำหนดจากตำแหน่งปัจจุบันได้หรือไม่

ใช้วิธีนี้เพื่อตรวจสอบการเคลื่อนที่สัมพัทธ์ก่อนใช้ move_inc

  • True — แขนกล 6 แกนสามารถเคลื่อนไหวตามที่ต้องการได้

  • False — แขนกล 6 แกนไม่สามารถเคลื่อนไหวตามที่ร้องขอได้

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

พารามิเตอร์

คำอธิบาย

x

ระยะทางที่ต้องเคลื่อนที่ไปตามแกน x ในหน่วยมิลลิเมตร

y

ระยะทางที่ต้องเคลื่อนที่ไปตามแกน y ในหน่วยมิลลิเมตร

z

ระยะทางในการเคลื่อนที่ตามแกน z ในหน่วยมิลลิเมตร

# Increment the 6-Axis Arm 100 mm along the x-axis if possible
if arm1.can_arm_reach_inc(100, 0, 0):
    arm1.move_inc(100, 0, 0)

can_end_effector_reach_to#

can_end_effector_reach_to จะส่งคืนค่าว่าปลายแขนกลสามารถหมุนไปยังทิศทาง yaw, roll และ pitch ที่ระบุได้หรือไม่

ใช้วิธีนี้เพื่อตรวจสอบทิศทางเป้าหมายก่อนใช้ move_end_effector_to

  • True — ปลายแขนกลสามารถเข้าถึงทิศทางที่ต้องการได้

  • False — ปลายแขนกลไม่สามารถไปถึงทิศทางที่ต้องการได้

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

พารามิเตอร์

คำอธิบาย

yaw

มุมหันเป้าหมาย หน่วยเป็นองศา

roll

มุมกลิ้งเป้าหมาย หน่วยเป็นองศา

pitch

มุมเอียงเป้าหมาย หน่วยเป็นองศา

# Rotate the end effector to 90 degrees of roll if possible
if arm1.can_end_effector_reach_to(0, 90, 0):
    arm1.move_end_effector_to(0, 90, 0)

can_end_effector_reach_inc#

can_end_effector_reach_inc จะส่งคืนค่าว่าปลายแขนกลสามารถหมุนได้ตามค่า yaw, roll และ pitch ที่ระบุจากทิศทางปัจจุบันหรือไม่

ใช้วิธีนี้เพื่อตรวจสอบการเคลื่อนที่ของการวางแนวสัมพัทธ์ก่อนใช้ move_end_effector_inc

  • True — ปลายแขนกลสามารถหมุนได้ตามที่ร้องขอ

  • False — ปลายแขนกลไม่สามารถหมุนตามที่ร้องขอได้

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

พารามิเตอร์

คำอธิบาย

yaw

การเปลี่ยนแปลงของมุมหันเห (yaw) ในหน่วยองศา

roll

การเปลี่ยนแปลงมุมการหมุน ในหน่วยองศา

pitch

การเปลี่ยนแปลงระดับเสียง ในหน่วยองศา

# Increment the end effector by 10 degrees of pitch if possible
if arm1.can_end_effector_reach_inc(0, 0, 10):
    arm1.move_end_effector_inc(0, 0, 10)

get_timeout#

get_timeout ส่งคืนค่าหมดเวลาที่ใช้โดยวิธีการเคลื่อนไหวของแขนกล 6 แกนในหน่วยมิลลิวินาที

Usage:
arm1.get_timeout()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

is_connected#

is_connected จะส่งคืนค่าว่าแขนกล 6 แกนเชื่อมต่อกับสมอง V5 หรือไม่

  • True — แขน 6 แกนเชื่อมต่อกับสมอง V5

  • False — แขน 6 แกนไม่ได้เชื่อมต่อกับสมอง V5

Usage:
arm1.is_connected()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

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

การเรียกกลับ#

control_stopped#

control_stopped ลงทะเบียนฟังก์ชันที่จะทำงานเมื่อเปิดใช้งานการหยุดควบคุม

เมธอดนี้จะส่งคืนอินสแตนซ์ของคลาส Event

Usage:
arm1.control_stopped(callback, arg)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that runs when control stop is enabled.

arg

ตัวเลือกเสริม ทูเปิลที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม

# Define a function to run when control stop is enabled
def when_control_stopped():
    brain.screen.print("The arm has been control stopped")

# Run when_control_stopped when the 6-Axis Arm is control stopped
arm1.control_stopped(when_control_stopped)

crashed#

crashed registers a function that runs when the 6-Axis Arm had crashed while moving.

เมื่อตรวจพบการชนกัน แขนกล 6 แกนจะหยุดการเคลื่อนไหวของมอเตอร์และอาจดูเหมือนอ่อนแรงลง ซึ่งจะช่วยลดแรงกดและช่วยปกป้องมอเตอร์จากความเสียหายโดยไม่ได้ตั้งใจ

Usage:
arm1.crashed(callback)

พารามิเตอร์

คำอธิบาย

callback

A previously defined function that runs when a crash is detected.

# Define what happens if a crash is detected
def arm_crash():
    brain.screen.print("Crash Detected")

# Run arm_crash when the 6-Axis Arm crashes
arm1.crashed(arm_crash)

ผู้สร้าง#

Arm#

คำสั่ง Arm สร้างวัตถุแขนกล 6 แกน ต้องสร้างแขนกล 6 แกนนี้ด้วยตนเองใน VEXcode V5 ก่อนจึงจะสามารถนำไปใช้ในโปรเจ็กต์ได้

Usage:
Arm(smartport)

พารามิเตอร์

คำอธิบาย

smartport

พอร์ตอัจฉริยะที่เชื่อมต่อกับแขนกล 6 แกน จะเขียนในรูปแบบ Ports.PORTxโดยที่ x คือหมายเลขพอร์ต

# Construct a 6-Axis Arm named arm1 with the Arm class
arm1 = Arm(Ports.PORT1)