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

ตามเส้นทางที่สั้นที่สุด

สร้างอัลกอริทึมเพื่อใช้บล็อก [ขับเคลื่อน] และ [เลี้ยวตามทิศทาง] เซ็นเซอร์ GPS เซ็นเซอร์แสง กลุ่มมอเตอร์ดูด และเซ็นเซอร์ระยะทางด้านล่าง เพื่อขับเคลื่อน Hero Bot ไปตามเส้นทางที่สั้นที่สุดเพื่อหมุนลูกกลิ้งที่ตำแหน่ง (-1040,1740) ให้เป็นสีแดง จากนั้นปล่อยแผ่นดิสก์ทั้งสามแผ่นที่ไฮไลต์ด้วยสีชมพูไปยังเป้าหมายสูงสีแดง ให้เร็วที่สุด!

  • เลือก VRC Virtual Skills - Spin Up Playground
  • เขียนโค้ดให้ Hero Bot ขับไปยังและหมุนลูกกลิ้งที่ตำแหน่ง (-1040,1740) จนเป็นสีแดง
    • ขับ Hero Bot ไปยังตำแหน่งที่ (-1000,1500) ตามเส้นทางที่สั้นที่สุดเลี้ยวเข้าหา Roller และทำการสัมผัส
    • ใช้กลุ่มมอเตอร์ดูดและเซ็นเซอร์แสงลูกกลิ้งเพื่อหมุนลูกกลิ้งไปที่สีแดง และสร้างอัลกอริทึมเพื่อลดเวลาในการดำเนินการกลิ้งให้เสร็จสิ้นให้เหลือน้อยที่สุด
  • เขียนโค้ดให้ Hero Bot ขับเคลื่อนและปล่อยแผ่นดิสก์ที่ไฮไลต์ด้วยสีชมพูไปยังเป้าหมายสูงสีแดง
    • ขับหุ่นยนต์ฮีโร่ไปยังตำแหน่งที่ (-600,1200) ตามเส้นทางที่สั้นที่สุด หันไปทางแผ่นดิสก์ที่ไฮไลต์ด้วยสีชมพู 
    • ใช้เซ็นเซอร์วัดระยะทางด้านล่างเพื่อนำทาง Hero Bot และใช้กลุ่มมอเตอร์ดูดเพื่อดูดแผ่นดิสก์ทั้งสามแผ่นทีละแผ่นอย่างต่อเนื่อง
    • หมุนหุ่นยนต์ฮีโร่ไปในทิศทางที่ทำคะแนน และหมุนชุดมอเตอร์ดูดเพื่อปล่อยแผ่นดิสก์
  •  ตั้งเวลาและดูว่า Hero Bot จะทำงานนี้เสร็จเร็วแค่ไหน

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

  • เส้นตรงระหว่างตำแหน่งปัจจุบันของหุ่นยนต์กับตำแหน่งเป้าหมาย คือเส้นทางที่สั้นที่สุดในการขับเคลื่อนหุ่นยนต์ไปยังเป้าหมาย
  • ใช้เซ็นเซอร์ GPS เพื่อระบุพิกัด X และ Y ปัจจุบันของหุ่นยนต์ฮีโร่ 

ใช้ทฤษฎีบทพีทาโกรัสในการคำนวณระยะทางที่หุ่นยนต์ต้องเคลื่อนที่ ใช้ฟังก์ชัน Atan เพื่อคำนวณค่า Theta จากนั้นแปลงค่า Theta เป็นทิศทางที่หุ่นยนต์ต้องเคลื่อนที่ไป

สมการอยู่ทางซ้าย และแผนภาพอยู่ทางขวา ทฤษฎีบทพีทาโกรัสถูกนิยามว่า 'C เท่ากับรากที่สองของ A กำลังสอง บวก B กำลังสอง' ระยะห่างในแนวตั้งระหว่างสองจุดกำหนดโดย 'A = Y2 - Y1'และระยะห่างในแนวนอนกำหนดโดย 'B = X2 - X1' ตัวแปร C แทนระยะทางในการขับขี่ ตัวแปร theta ถูกกำหนดเป็น 'theta = atan(a/b)'. แผนภาพทางด้านขวาแสดงหุ่นยนต์ที่มีวงกลมล้อมรอบ โดยมีป้ายกำกับวงกลมว่า's 360 องศา