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

เล็งไปที่โซนเป้าหมาย

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

  • เลือก VIQC Virtual Skills - Slapshot Playground
  • ขับหุ่นยนต์ฮีโร่ไปยังตำแหน่ง (120, -290) เลี้ยวไปที่ตู้จ่ายแผ่นดิสก์สีฟ้า และนำแผ่นดิสก์ทั้งหมดออกจากตู้
  • ขับเคลื่อน Hero Bot ไปยังตำแหน่งที่ (1000, -290)
  • ขับหุ่นยนต์ฮีโร่ถอยหลังไปยังตำแหน่งที่ (850, -380)
  • เขียนโค้ดให้ Hero Bot หยิบแผ่นดิสก์แล้วปล่อยไปที่โซนทำคะแนน 4 แต้ม
    • เขียนโค้ดให้ Hero Bot หมุนมอเตอร์ดูดเพื่อดูดแผ่นดิสก์เข้าไป
    • สร้างอัลกอริทึมเพื่อหาทิศทางการทำคะแนนที่จะส่งแผ่นดิสก์ไปยังเขตทำคะแนน 4 แต้ม หันหุ่นยนต์ฮีโร่ไปในทิศทางที่ทำคะแนนได้
    • เขียนโค้ดให้ Hero Bot ตั้งค่าความเร็วของมอเตอร์ดูดอากาศตามต้องการ และหมุนมอเตอร์ดูดอากาศเพื่อปล่อยแผ่นดิสก์ออกไป

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

  • ใช้บล็อก set velocity จากหมวด Motion และเลือก IntakeMotor เพื่อตั้งค่าความเร็วของมอเตอร์ดูดอากาศเพื่อควบคุมระยะการปล่อยตัว
    VEXcode ตั้งค่าบล็อกความเร็วของมอเตอร์ที่อ่านค่า 'ตั้งค่าความเร็วของมอเตอร์ดูดอากาศเป็น 80%'
    • คำสั่ง Python ที่ตรงกัน:

      intake_motor.set_velocity(80, PERCENT)
  • เส้นตรงระหว่างตำแหน่งของหุ่นยนต์และตำแหน่งเป้าหมายคือวิถีการเคลื่อนที่ที่คาดการณ์ไว้ของแผ่นดิสก์ หากแผ่นดิสก์ชนกับรั้วหรือวัตถุสีเขียวในระหว่างกระบวนการปล่อย แผ่นดิสก์จะกระเด็นออกและวิถีการเคลื่อนที่ก็จะเปลี่ยนไป
  • วางแผนเส้นทางที่คาดการณ์ไว้และหาทิศทางในการทำคะแนน
    • วางแผนเส้นทางการปล่อยจานร่อนเพื่อหลีกเลี่ยงไม่ให้จานร่อนชนรั้วหรือวัตถุสีเขียวในระหว่างกระบวนการปล่อย
    • เลือกตำแหน่งบนเส้นทางที่วางแผนไว้ในโซนเป้าหมาย 4 จุด เป็นจุดเล็ง
    • ระบุพิกัด X และ Y ของหุ่นยนต์และจุดเป้าหมาย
    • ใช้ฟังก์ชัน Atan เพื่อหาทิศทางการทำคะแนน

      สมการและแผนภาพที่แสดงการใช้ฟังก์ชัน atan ซึ่งกำหนดเป็น 'θ เท่ากับ atan ของ A ส่วน B' ผลลัพธ์ที่ได้คือค่าทีต้า ซึ่งจะอยู่ระหว่างค่าลบพายส่วน 2 และค่าบวกพายส่วน 2 ระยะห่างในแนวตั้งระหว่างสองจุดกำหนดโดย 'A = Y2 - Y1'และระยะห่างในแนวนอนกำหนดโดย 'B = X2 - X1' แผนภาพแสดงความสัมพันธ์ระหว่าง A, B และ C ในรูปสามเหลี่ยม โดยหุ่นยนต์อยู่ที่จุด BC และตำแหน่งที่สองอยู่ที่ AC