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

ความท้าทายโบนัสคู่

สร้างระบบพิกัดบนสนามฝึกทักษะเสมือนจริงแบบเต็มปริมาตร สร้างอัลกอริทึมเพื่อใช้บล็อก [Drive for], [Turn to heading], [Spin ​​to position] และ [Spin ​​for] ในการเขียนโค้ดให้ Hero Bot เก็บ Blocks ที่อยู่ในตำแหน่งที่กำหนด และขับเคลื่อนหุ่นยนต์ไปยังตำแหน่งที่ต้องการเพื่อนำ Blocks ไปใส่ในเป้าหมาย รับโบนัสเครื่องแบบและโบนัสส่วนสูง ผู้ที่มีคะแนนสูงสุดเป็นผู้ชนะ!

  • เลือก VIQRC Virtual Skills - Full Volume Playground
  • เลือกตำแหน่งเริ่มต้นที่ต้องการสำหรับหุ่นยนต์โดยเลือกปุ่ม “ตำแหน่งเริ่มต้น”
  • เลือกเป้าหมายที่ ก่อน เขียนโค้ดให้ Hero Bot อย่างน้อยสองบล็อกประเภทเดียวกัน และยิงเข้าประตูแรกทีละ เพื่อให้ประตูนี้เป็นแบบเดียวกัน
    • สร้างอัลกอริทึมเพื่อควบคุมหุ่นยนต์ให้หยิบก้อนบล็อกที่อยู่ในตำแหน่งที่กำหนด ใช้อัลกอริทึมในการเขียนโค้ดให้หุ่นยนต์หยิบบล็อกที่ต้องการ
    • สร้างอัลกอริทึมเพื่อนำทางหุ่นยนต์ไปยังตำแหน่งที่กำหนด ใช้ขั้นตอนวิธีในการนำทางหุ่นยนต์ไปยังตำแหน่งที่ต้องการ หมุนไปในทิศทางที่ทำคะแนนได้ และปล่อยบล็อกลงในประตูแรก
    • ใช้อัลกอริทึมในการเขียนโค้ดให้หุ่นยนต์หยิบบล็อก ที่มีประเภทเดียวกันกับบล็อก อันแรก และให้คะแนนในตำแหน่งและทิศทางเดียวกันกับที่ให้คะแนนบล็อกแรก
    • (ไม่บังคับ) ใช้ขั้นตอนวิธีในการเขียนโค้ดหุ่นยนต์ให้หยิบ บล็อกประเภท กับบล็อกแรก และให้คะแนนบล็อกเหล่านั้นในตำแหน่งและทิศทางเดียวกันกับที่ให้คะแนนบล็อกแรก
  • เลือกเป้าหมาย ซึ่งใช้เวลา วินาที เขียนโค้ดให้ Hero Bot อย่างน้อยสองบล็อกประเภทเดียวกัน และให้คะแนนลงในประตูที่สองทีละบล็อก เพื่อให้ประตูนี้เป็นประตูเดียวกัน
  • เลือกเป้าหมายที่สามลำดับที่ ข้อ เขียนโค้ดให้ Hero Bot บล็อกประเภท อย่างน้อยสองบล็อก และทำคะแนนลงในเป้าหมายที่สามl ทีละบล็อก เพื่อให้เป้าหมายนี้เป็นเป้าหมายเดียวกันและรับโบนัสความสูง

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

  • การบังคับหุ่นยนต์จากพิกัด (X1, Y1) ไปเก็บบล็อกที่ตำแหน่ง (X2, Y2) ไม่ได้หมายความว่าต้องบังคับไบต์เสมือนไปยังพิกัด (X2, Y2)! แต่เป้าหมายคือการปรับบล็อกให้สอดคล้องกับกลไกการรับข้อมูลของไบต์เสมือน เพื่อให้การเก็บรวบรวมประสบความสำเร็จ เราต้องพิจารณาขนาดของบล็อกและระยะห่างระหว่างช่องรับและจุดศูนย์กลางของหุ่นยนต์ เพื่อหาระยะการขับเคลื่อนที่ต้องการ แผนภาพจากบนลงล่างแสดงระยะทางการขับเคลื่อนของหุ่นยนต์'วินาที ระหว่างจุดเริ่มต้น (X1, Y1) และบล็อกที่ (X2, Y2)
  • ใช้ My Block จากหมวด My Blocks เพื่อสร้างลำดับของบล็อกที่สามารถนำมาใช้ซ้ำได้หลายครั้งตลอดทั้งโปรเจ็กต์ บล็อกของฉันสามารถมีพารามิเตอร์หลายตัวเพื่อเพิ่มฟังก์ชันการทำงานได้มากขึ้น วิธีนี้จะทำให้โครงการสั้นลงและอ่านง่ายขึ้น VEXcode บล็อกของฉัน บล็อกคำจำกัดความที่อ่านค่า 'define driveForwardTo'. พารามิเตอร์เชิงตัวเลขสองตัวในบล็อกนี้มีชื่อว่า X2 และ Y2
    • คำสั่ง Python ที่ตรงกัน:

      def driveForwardTo(X2, Y2):
  • หากต้องการความช่วยเหลือในการใช้ My Blocks ในโปรเจ็กต์ โปรดเลือกปุ่ม “TUTORIALS” ใน VEXcode VR และเลือก My Blocks Tutorial ไอคอนบทช่วยสอนจากแถบเครื่องมือ VEXcode VR ไอคอนบทช่วยสอนการสร้างบล็อกของฉันใน VEXcode VR