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

ปลดล็อกสถานที่

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

  • เลือก VIQRC Virtual Skills - Full Volume Playground
  • สร้างอัลกอริทึมเพื่อคำนวณและบันทึกพิกัด X และ Y ของตำแหน่งหุ่นยนต์หลังจากขับเคลื่อนไปได้ระยะทางหนึ่ง โดยใช้ระยะทางการขับเคลื่อนและทิศทางการเคลื่อนที่ของระบบขับเคลื่อน 
  • เขียนโค้ดให้หุ่นยนต์ฮีโร่ขับไปที่บล็อกสีแดงที่ไฮไลต์ด้วยสีส้มแล้วหยิบขึ้นมา 
    • ใช้อัลกอริธึมในการติดตามพิกัด X และ Y ของตำแหน่งหุ่นยนต์
  • ใช้บล็อก [print] เพื่อพิมพ์พิกัด X และ Y ของตำแหน่งที่หุ่นยนต์จะหยิบ Block ไปยัง Print Console
  • เขียนโค้ดให้หุ่นยนต์ฮีโร่ขับไปยังเป้าหมายที่ 1 และวางบล็อกลงในเป้าหมาย 
    • ใช้อัลกอริธึมในการติดตามพิกัด X และ Y ของตำแหน่งหุ่นยนต์
  • ใช้บล็อก [print] เพื่อพิมพ์พิกัด X และ Y ของตำแหน่งที่หุ่นยนต์จะวางบล็อกลงในเป้าหมาย I ไปยังคอนโซลการพิมพ์
  • บังคับหุ่นยนต์ฮีโร่ไปยังตำแหน่งที่อยู่กึ่งกลางของเขตจัดหาเสบียง
    • ใช้อัลกอริธึมในการติดตามพิกัด X และ Y ของตำแหน่งหุ่นยนต์
  • ใช้บล็อก [print] เพื่อพิมพ์พิกัด X และ Y ของตำแหน่งที่หุ่นยนต์จะจอดบางส่วนภายในโซนจ่ายวัสดุไปยังคอนโซลการพิมพ์

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

  • ในการระบุพิกัด X และ Y ของ Hero Bot บนสนามฝึกทักษะเสมือนจริง VIQRC ให้กำหนดตำแหน่งเริ่มต้นของ Hero Bot เป็นจุดกำเนิด (0,0) ของระบบพิกัด 
  • ประกาศตัวแปรสองตัวเพื่อเก็บพิกัด X และ Y ของ Hero Bot ใช้บล็อก set จากหมวดหมู่ตัวแปรเพื่อกำหนดค่าพิกัด X และ Y ให้เป็น 0 ในตอนเริ่มต้นโครงการ  VEXcode Set variable block that reads 'set currentX to 0'. VEXcode Set variable block that reads 'set currentY to 36'.
    • คำสั่ง Python ที่ตรงกัน:

      currentX = 0
      currentY = 36
  • ใช้บล็อก Reporter จากหมวด Sensing เพื่อรับค่าทิศทางการเคลื่อนที่ของระบบขับเคลื่อนจากเซ็นเซอร์วัดความเฉื่อย บล็อกกำหนดทิศทางไดรฟ์ VEXcode ที่อ่านค่าทิศทางไดรฟ์เป็น 'องศา'
    • คำสั่ง Python ที่ตรงกัน:

      ระบบขับเคลื่อน.หัว(องศา)
  • ใช้ระยะทางขับขี่และทิศทางของระบบขับเคลื่อนเพื่อคำนวณพิกัด X และ Y หลังจากขับขี่ไปได้ระยะทางหนึ่ง
    • ฟังก์ชันทางคณิตศาสตร์ (ขับเคลื่อนไปข้างหน้า):

      X2 = X1 + ระยะทางในการขับขี่ * sin (ทิศทางในการขับขี่)

      Y2 = Y1 + ระยะทางในการขับขี่ * cos (ทิศทางในการขับขี่)

      ภาพร่างสองภาพวางเคียงข้างกัน แสดงภาพรวมจากบนลงล่างของหุ่นยนต์ฮีโร่ แผนภาพแรกแสดงหุ่นยนต์โดยมีวงกลมล้อมรอบ และมีป้ายกำกับระบุ 360 องศาของวงกลมนั้น แผนภาพที่สองแสดงให้เห็นหุ่นยนต์ที่พิกัด (X1, Y1) และชี้ไปยังจุด (X2, Y2) ระยะทางถูกระบุเป็น 'ระยะทางขับรถ' และมุมถูกทำเครื่องหมายด้วยสัญลักษณ์ทีต้า

  •  ใช้บล็อกฟังก์ชัน จากหมวดหมู่ตัวดำเนินการเพื่อแสดงฟังก์ชันทางคณิตศาสตร์ บล็อกตัวแปร VEXcode Set สองบล็อกซ้อนกัน โดยมีสมการบล็อกอยู่ภายใน บล็อกแรกอ่าน 'ตั้งค่า currentX เป็น currentX + drive_distance * sin ของทิศทางการขับเคลื่อนในหน่วยองศา' บล็อกที่สองอ่าน 'ตั้งค่า currentY เป็น currentY + drive_distance * cos ของทิศทางการขับขี่ในหน่วยองศา'
    • คำสั่ง Python ที่ตรงกัน: 

      currentX = currentX + drive_distance * math.sin(drivetrain.heading(DEGREES) / 180.0 * math.pi)
      currentY = currentY + drive_distance * math.cos(drivetrain.heading(DEGREES) / 180.0 * math.pi)
  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับมิติของสนามทักษะเสมือนจริงของ VIQRC คลิกที่นี่