Skip to main content
พอร์ทัลครู

Competition Connection: จุดเปลี่ยน - Python

สนามแข่งขันหุ่นยนต์ VEX จุดเปลี่ยน พร้อมองค์ประกอบของเกมและพื้นที่ทำคะแนนในตำแหน่งเริ่มต้นในช่วงเริ่มการแข่งขัน ตามผนังด้านหลังมีตาข่ายพร้อมธงที่สามารถพลิกกลับได้เรียงกันอยู่ด้านหน้า
VRC 2018-2019 สนามเทิร์นนิ่งพอยต์

ความสามารถของหุ่นยนต์

เกมการแข่งขันหุ่นยนต์ VEX Robotics Turning Point ปี 2018 - 2019 กำหนดให้ผู้เล่นต้องสลับธงและองค์ประกอบอื่นๆ ของเกม มีธงทั้งหมด 9 อัน: ธงด้านล่าง 3 อันที่หุ่นยนต์สามารถสลับได้ และธงด้านบน 6 อันที่สลับได้โดยการตีด้วยชิ้นลูกบอลเกมแข่งขันเท่านั้น ทีมแข่งขันต้องคิดหาวิธีที่จะตีธงที่สูงโดยใช้เครื่องยิงลูกบอล หากคุณสามารถนึกภาพได้ การตั้งโปรแกรมหุ่นยนต์ให้ตีธงโดยใช้ชิ้นส่วนของเกมลูกบอลโดยการวัดอาจไม่แม่นยำเสมอไป หากหุ่นยนต์เลี้ยวผิดครั้งหนึ่งในช่วงระยะเวลาการทำงานอัตโนมัติ มีความเป็นไปได้ที่ธงทุกอันจะไม่โดนกระทบ เนื่องจากการคำนวณจะผิดพลาด ในทำนองเดียวกัน สำหรับความท้าทายทักษะการขับขี่ อาจเป็นเรื่องยากสำหรับทีมที่จะจัดตำแหน่งหุ่นยนต์ด้วยตนเองให้เพียงพอที่จะปล่อยลูกบอลได้อย่างถูกต้อง ด้วยเหตุนี้ ทีมงานที่มีทักษะจะเขียนโปรแกรมหุ่นยนต์โดยใช้เซ็นเซอร์วิชั่นเพื่อตรวจจับธง จากนั้นจึงจัดตำแหน่งหุ่นยนต์ให้เหมาะสมเพื่อให้ยิงได้แม่นยำ

ไอคอนขยายการเรียนรู้ของคุณ ขยายการเรียนรู้ของคุณ

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

  • เปิดโครงการตัวอย่างเทมเพลต Clawbot (ระบบส่งกำลัง, มอเตอร์ 2 ตัว, ไม่มีไจโร)

    การเลือกโครงการตัวอย่าง VEXcode V5 โดยเลือกตัวกรองเทมเพลตไว้ที่ด้านบน และไอคอนโครงการมอเตอร์ Clawbot Drivetrain 2 ที่ไม่มีไจโรที่เน้นในกล่องสีแดง

  • ใช้โครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์) เป็นข้อมูลอ้างอิงเมื่อทำการเขียนโปรแกรมเซ็นเซอร์วิสัยทัศน์ ใช้โครงการตัวอย่างการตรวจจับวัตถุ (วิสัยทัศน์) เป็นข้อมูลอ้างอิงเมื่อทำการเขียนโปรแกรมเซ็นเซอร์วิสัยทัศน์ (Google Doc / .v5python)
  • เพิ่มเซ็นเซอร์วิชั่นลงในการกำหนดค่า Clawbot (ระบบส่งกำลัง, มอเตอร์ 2 ตัว, ไม่มีไจโร) จากนั้นกำหนดค่าเซ็นเซอร์วิชั่นเพื่อตรวจจับวัตถุสีแดงและสีน้ำเงิน ดูบทความและ หัวข้อ การกำหนดค่าเซ็นเซอร์วิชั่น เพื่อดูข้อมูลเพิ่มเติม

    หน้าต่างอุปกรณ์ VEXcode V5 เปิดขึ้นพร้อมแสดงตัวเลือกสำหรับการเพิ่มอุปกรณ์ หน้าต่างจะแสดงว่า เลือกอุปกรณ์ และตัวเลือก วิสัยทัศน์ จะถูกเน้นด้วยกล่องสีแดง ตัวเลือกอื่น ๆ ได้แก่ ตัวควบคุม ระบบส่งกำลัง มอเตอร์ และสาย 3 สาย

  • ตั้งโปรแกรมให้ Clawbot เคลื่อนที่ไปยังวัตถุที่ตรวจพบ Clawbot ยังสามารถตั้งโปรแกรมให้ยกแขนขึ้นได้เหมือนกับว่าจะสลับธง!
  • ดาวน์โหลดและรันโปรเจ็กต์ เพื่อสังเกตว่า Vision Sensor สามารถตรวจจับวัตถุสีเหลือง เช่น ลูกบอลสีเหลืองในเกม VRC Turning Point ได้หรือไม่ หาก Vision Sensor สามารถตรวจจับวัตถุได้ หุ่นยนต์จะเคลื่อนที่ตามวัตถุที่ตรวจจับได้หรือไม่? หากต้องการความช่วยเหลือในการดาวน์โหลดและการรันโครงการ โปรดดูบทความนี้ 
  • หากมีเวลา ให้จัดสนามแข่งขันคล้ายกับสนาม Turning Point ฝึกฝนการใช้ Vision Sensor เพื่อให้หุ่นยนต์เคลื่อนที่เพื่อทำคะแนน!

ดูตัวอย่างโซลูชันด้านล่าง:

# ไลบรารีนำเข้า
จากการนำเข้า vex *

# เริ่มรหัสโครงการ

check_yellow = Event()

def check_yellow_callback():
    brain.screen.set_font(FontType.MONO40)
    brain.screen.clear_row(3)
    brain.screen.set_cursor(3, 1)
    vision_5_objects = vision_5.take_snapshot(vision_5__YELLOWBOX)

    if (vision_5_objects):
        arm_motor.spin_for(FORWARD, 300, DEGREES)
        claw_motor.spin_for(FORWARD, 100, DEGREES)
        drivetrain.drive_for(FORWARD, 12, INCHES)
        arm_motor.spin_for(REVERSE, 300, DEGREES)
        claw_motor.spin_for(REVERSE, 100, DEGREES)
    
    else:
        brain.screen.print("No Yellow Object")

# ตัวจัดการเหตุการณ์ระบบ
check_yellow(check_yellow_callback)

# การหน่วงเวลาเล็กน้อยเพื่อให้แน่ใจว่าตัวจัดการเหตุการณ์พร้อมที่จะใช้งาน
wait(15, MSEC)

# ทำงานอย่างต่อเนื่องเพื่อตรวจสอบข้อมูลเซ็นเซอร์ใหม่
while True:
    check_blue.broadcast_and_wait()
    wait(105, MSEC)