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

ความท้าทายในการโหลดแมตช์

สร้างอัลกอริทึมเพื่อใช้บล็อก [Drive for] และ [Turn to heading] เซ็นเซอร์ GPS มอเตอร์แขน และมอเตอร์ดูด เพื่อเขียนโค้ดให้ Hero Bot ทำคะแนนลูกบอล Robot Preload Triball ในประตูฝ่ายสีน้ำเงินก่อน จากนั้นยิงลูกบอล Match Load Triball สามลูกในประตูฝ่ายสีแดง และทำคะแนนลูกบอล Match Load Triball สามลูกในโซนรุก ใช้ตัวจับเวลาเพื่อประเมินประสิทธิภาพของวิธีการให้คะแนนสองแบบสำหรับ Match Load Triballs

  • เลือก VRC Virtual Skills - Over Under Playground
  • ใช้เช็คลิสต์ก่อนเริ่มการแข่งขันเพื่อเลือกตำแหน่งเริ่มต้น ทิศทางเริ่มต้น และตั้งค่าการโหลดล่วงหน้าของหุ่นยนต์เป็น “ใช่” Robot Preload “Yes”)
  • ใช้เช็คลิสต์ก่อนการจับคู่เพื่อเลือกตำแหน่งการโหลดฟิลด์ล่วงหน้าที่ต้องการ
  • เขียนโค้ดให้ Hero Bot ยิงลูกบอล Robot Preload Triball เข้าประตูฝ่ายสีน้ำเงิน 
  • เขียนโปรแกรมให้หุ่นยนต์เก็บลูกบอล Match Load Triball ลูกจากด้านล่างซ้ายของสนาม แล้วนำไปทำประตูให้ฝ่ายพันธมิตรสีแดง ใช้ตัวจับเวลาเพื่อวัดระยะเวลาของกระบวนการนี้
    • รีเซ็ตตัวจับเวลา
    • บังคับหุ่นยนต์ฮีโร่ไปยังตำแหน่งเพื่อเก็บลูกบอล Triball สำหรับเริ่มการแข่งขันที่อยู่ด้านล่างซ้ายของสนาม หมุนมอเตอร์ดูดเพื่อดูดลูกบอลสามเหลี่ยมขึ้นมา 
    • บังคับหุ่นยนต์ให้มุ่งหน้าไปยังเป้าหมายของฝ่ายพันธมิตรแดง หมุนมอเตอร์ดูดเพื่อส่ง Triball เข้าสู่ประตูของฝ่ายแดง
    • คลิกที่ 'LZ 2' ไฮไลต์ด้วยสีส้มเพื่อวาง Triball ในโซนโหลดการแข่งขัน
    • ใช้ลูปในการเขียนโค้ดให้หุ่นยนต์ทำซ้ำการกระทำข้างต้นตามจำนวนครั้งที่กำหนด เพื่อทำคะแนน Match Load Triballs สามลูกให้กับประตูของฝ่ายแดง
    • ใช้บล็อก [print] เพื่อพิมพ์ค่าตัวจับเวลาไปยังคอนโซลการพิมพ์
  • เขียนโปรแกรมให้หุ่นยนต์เก็บลูกบอล Match Load Triball จำนวน ลูกจากด้านล่างซ้ายของสนามที่ แล้วนำไปทำคะแนนในโซนรุก ใช้ตัวจับเวลาเพื่อวัดระยะเวลาของกระบวนการนี้
    • รีเซ็ตตัวจับเวลา
    • บังคับหุ่นยนต์ฮีโร่ไปยังตำแหน่งเพื่อเก็บลูกบอล Triball สำหรับเริ่มการแข่งขันที่อยู่ด้านล่างซ้ายของสนาม หมุนมอเตอร์ดูดเพื่อดูดลูกบอลสามเหลี่ยมเข้าไป
    • บังคับหุ่นยนต์ให้มุ่งหน้าไปยังเขตโจมตี หมุนมอเตอร์ดูดเพื่อส่ง Triball เข้าสู่โซนโจมตี
    • คลิกที่ 'LZ 2' ไฮไลต์ด้วยสีส้มเพื่อวาง Triball ในโซนโหลดการแข่งขัน
    • ใช้ลูปในการเขียนโค้ดให้หุ่นยนต์ทำซ้ำการกระทำข้างต้นตามจำนวนครั้งที่กำหนด เพื่อทำคะแนนโดยการส่งลูกบอล Match Load Triball จำนวน 3 ลูกไปยังโซนรุก
    • ใช้บล็อก [print] เพื่อพิมพ์ค่าตัวจับเวลาไปยังคอนโซลการพิมพ์

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

  • หากต้องการความช่วยเหลือเกี่ยวกับการใช้ Match Loads ใน VRC Over Under สำหรับ VEXcode VR ดูบทความนี้
  • ใช้บล็อก reset timer จากหมวด Sensing เพื่อรีเซ็ตค่าตัวจับเวลาให้กลับเป็น 0 วินาที

    บล็อกรีเซ็ตตัวจับเวลา VEXcode ที่อ่าน 'เพื่อรีเซ็ตตัวจับเวลา'

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

      สมอง.ตัวจับเวลา.ล้าง()
  • เพื่อป้องกันไม่ให้ลูกบอลสามเหลี่ยมกระดอนกลับหรือซ้อนทับลูกบอลสามเหลี่ยมอื่น ให้หลีกเลี่ยงการยิงลูกบอลสามเหลี่ยมไปยังประตูหรือเขตโจมตีจากตำแหน่งและทิศทางเดียวกันซ้ำๆ
  • ใช้บล็อก เลือกแบบสุ่ม จากหมวดหมู่ผู้ปฏิบัติงานเพื่อปรับทิศทางการเคลื่อนที่ของหุ่นยนต์ภายในระยะที่กำหนด เพื่อยิงลูกบอลสามเหลี่ยมไปในทิศทางการทำคะแนนที่แตกต่างกัน

    VEXcode บล็อก Turn to heading ที่มีบล็อก Random ซึ่งรวมกันแล้วอ่านได้ว่า 'turn to heading (เลือกแบบสุ่ม 30 ถึง 120) องศา'

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

      drivetrain.turn_to_heading(random.randint(30, 120), DEGREES)
  • ใช้บล็อก repeat จากหมวดหมู่ Control เพื่อเขียนโค้ดให้หุ่นยนต์ VR ทำซ้ำบล็อกที่อยู่ภายในตามจำนวนครั้งที่กำหนด

    บล็อก Repeat ของ VEXcode ว่างเปล่าที่อ่านว่า 'repeat 3'

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

      สำหรับ repeat_count ในช่วง (3):
      	รอ (5, MSEC)