ข้ามไปยังเนื้อหาหลัก

เขาวงกตของมิโนส

ความท้าทาย: ในเทพปกรณัมกรีก พระเจ้ามิโนสทรงมีเขาวงกตที่มีโครงสร้างซับซ้อน เขาวงกตนั้นเป็นที่อยู่ของมิโนทอร์ สัตว์ประหลาดในตำนาน วีรบุรุษเธเซอุสอาสาเข้าไปข้างในเพื่อพูดคุยกับมิโนทอร์ เขาใช้เชือกม้วนหนึ่งทำเครื่องหมายเส้นทางผ่านทางเดินคดเคี้ยวของเขาวงกต ดังนั้นเขาจึงสามารถเดินตามเส้นด้ายกลับไปยังทางเข้าเขาวงกตได้อย่างง่ายดาย ในกิจกรรมนี้ คุณจะสร้างอัลกอริทึมเพื่อขับเคลื่อนหุ่นยนต์ VR จากตำแหน่งเริ่มต้น (สี่เหลี่ยมสีเขียว) ไปยังตำแหน่งสิ้นสุด (สี่เหลี่ยมสีแดง) และใช้ปากกา VR ในการลากเส้นตามเส้นทางเพื่อบันทึกคำตอบของเขาวงกตในตำนานของมิโนสใน Wall Maze+ Playground

  • เลือกสนามเด็กเล่น Wall Maze+
  • ดาวน์โหลดไฟล์ .vrmaze จาก โฟลเดอร์นี้ แล้วอัปโหลดเขาวงกตใน Playground
    • หากต้องการความช่วยเหลือเกี่ยวกับการอัปโหลดและดาวน์โหลดเขาวงกตใน Wall Maze + Playground โปรดดูบทความนี้ 
  • เขียนโปรแกรมหุ่นยนต์ VR ให้ จากตำแหน่งเริ่มต้น (สี่เหลี่ยมสีเขียว) ไปยังตำแหน่งสิ้นสุด (สี่เหลี่ยมสีแดง)
    • ใช้เซ็นเซอร์วัดระยะด้านหน้าเพื่อนำทางหุ่นยนต์ VR ที่เคลื่อนที่ในเขาวงกตโดยไม่ชนกำแพง
    • ใช้เซ็นเซอร์วัดระยะทางที่เหมาะสมเพื่อกำหนดทิศทางทางออก
    • ใช้เซ็นเซอร์ตรวจจับดวงตาด้านล่างเพื่อตรวจสอบสีแดงว่าหุ่นยนต์ VR มาถึงตำแหน่งสุดท้ายแล้วหรือไม่
    • ใช้บล็อก [ Forever ] เพื่อให้หุ่นยนต์ VR เคลื่อนที่ต่อไปในเขาวงกต และใช้เซ็นเซอร์ Down Eye คอยตรวจสอบตำแหน่งสุดท้ายเพื่อหยุดหุ่นยนต์
  • ใช้ปากกา VR ลากตามเส้นทางที่เคลื่อนที่เพื่อบันทึกวิธีแก้เขาวงกต
  • เพิ่มหมายเหตุในโปรเจ็กต์ของคุณเพื่ออธิบายกลยุทธ์ในการไขปริศนาเขาวงกตของมิโนส

คำแนะนำที่เป็นประโยชน์

  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณสมบัติของ VR MazeBot ใน VEXcode VR โปรดดูบทความนี้  
  • ใช้บล็อก Down Eye detects จากหมวดหมู่ Sensing เพื่อ รายงานว่าเซ็นเซอร์ Down Eye ตรวจพบสีใดสีหนึ่งหรือ 

    บล็อกตรวจจับสี VEXcode ที่อ่านค่า 'DownEye ตรวจจับสีแดงหรือไม่?'

    • คำสั่ง Python ที่ตรงกัน:
    down_eye.detect(RED)

                 

  • ใช้เซ็นเซอร์วัดระยะด้านหน้าเพื่อตรวจสอบว่าหุ่นยนต์ VR เข้าใกล้กำแพงหรือไม่
  • ใช้บล็อกเปรียบเทียบ น้อยกว่า จากหมวดหมู่ผู้ปฏิบัติงาน เพื่อรายงานว่าระยะห่างระหว่างหุ่นยนต์ VR กับวัตถุที่ใกล้ที่สุดน้อยกว่าค่าเกณฑ์หรือไม่ เพื่อตรวจสอบว่าหุ่นยนต์ VR เข้าใกล้กำแพงหรือไม่

    VEXcode น้อยกว่าบล็อกที่มีระยะห่างจากบล็อกที่รวมกันอ่านได้ 'FrontDistance ในหน่วยมิลลิเมตร < 200'

    • คำสั่ง Python ที่ตรงกัน:
    front_distance.get_distance(MM) < 200
  • ใช้เซ็นเซอร์วัดระยะทางที่เหมาะสมเพื่อกำหนดทิศทางทางออก
  • ใช้บล็อกเปรียบเทียบ มากกว่า จากหมวดหมู่ผู้ปฏิบัติงานเพื่อรายงานว่าระยะห่างระหว่างหุ่นยนต์ VR และ วัตถุที่ใกล้ที่สุด มากกว่าค่าเกณฑ์ที่กำหนดเพื่อระบุทิศทางออกหรือไม่

    VEXcode มากกว่าบล็อกที่มีระยะห่างจากบล็อกที่รวมกันอ่านได้ 'LeftDistance ในหน่วยมิลลิเมตร > 300'

    • คำสั่ง Python ที่ตรงกัน:
    left_distance.get_distance(MM) > 300
  • ใช้บล็อก if then else จากหมวดหมู่ Control เพื่อตรวจสอบว่าหุ่นยนต์ VR เข้าใกล้กำแพงหรือไม่ และรันโค้ดเพื่อแสดงพฤติกรรมต่างๆ ตามเงื่อนไขบูลีน

    บล็อก VEXcode ว่างเปล่าที่มีเงื่อนไข If then else ซึ่งอ่านค่า 'ถ้าเป็นเช่นนั้น และ' มิฉะนั้น

    • คำสั่ง Python ที่ตรงกัน:

      ถ้าเงื่อนไขเป็นจริง: ผ่าน
      
      ฉะนั้น: ผ่าน