ระบบนำทาง GPS
สร้างอัลกอริทึมเพื่อนำทาง Hero Bot ไปยังตำแหน่งที่กำหนดในสนาม ใช้บล็อก [ขับเคลื่อน] และ [เลี้ยวตามทิศทาง] เซ็นเซอร์ GPS มอเตอร์แขน และมอเตอร์ดูด เพื่อขับเคลื่อน Hero Bot ไปยังตำแหน่งที่ (1380,-1380) เพื่อหยิบ Triball ที่ไฮไลต์ด้วยสีแดง จากนั้นขับหุ่นยนต์ไปยังตำแหน่งที่ (600, -300) และทำคะแนน Triball ในประตูของฝ่ายพันธมิตรสีแดง
- เลือก VRC Virtual Skills - Over Under Playground
- ใช้เช็คลิสต์ก่อนการแข่งขันเพื่อเลือก ตำแหน่งเริ่มต้น “H”, Sทิศทางเริ่มต้น “เหนือ”และ การโหลดหุ่นยนต์ล่วงหน้า “ไม่” สำหรับหุ่นยนต์
- สร้างอัลกอริทึมเพื่อนำทางหุ่นยนต์ไปยังตำแหน่งที่กำหนด
- เขียนโปรแกรมให้หุ่นยนต์หมุนมอเตอร์แขนเพื่อลดแขนลงจนสุดเพื่อหยิบลูกบอล Triball บนสนาม
- ใช้อัลกอริทึมเพื่อนำทางหุ่นยนต์ไปยังพิกัด (1380, -1380) และหมุนหุ่นยนต์ไปที่ทิศทาง 135 องศา
- เขียนโค้ดให้หุ่นยนต์หมุนมอเตอร์ดูดเพื่อหยิบลูกบอลสีเขียวที่ไฮไลต์ด้วยสีแดง
- ใช้อัลกอริทึมเพื่อนำทางหุ่นยนต์ไปยังพิกัด (600, -300) และหมุนหุ่นยนต์ไปที่ทิศทาง 90 องศา
- เขียนโปรแกรมให้หุ่นยนต์หมุนมอเตอร์ดูดเพื่อปล่อยลูกบอล Triball ไปยังเป้าหมายของฝ่ายแดง
คำแนะนำที่เป็นประโยชน์
- ใช้เซ็นเซอร์ GPS เพื่อระบุพิกัด X และ Y ของหุ่นยนต์ฮีโร่ในสนาม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ใช้เซ็นเซอร์ GPS ในสนามเด็กเล่น VRC Over Under โปรดคลิกที่นี่
ใช้บล็อก Reporter จากหมวด Sensing เพื่อรับค่าตำแหน่งจากเซ็นเซอร์ GPS


คำสั่ง Python ที่ตรงกัน:
ตำแหน่ง x ของ GPS (MM) ตำแหน่ง y ของ GPS (MM)
ใช้บล็อกชุด จากหมวดหมู่ตัวแปรเพื่อประกาศตัวแปรสองตัวสำหรับเก็บพิกัด X และ Y ดั้งเดิมของ Hero Bot

คำสั่ง Python ที่ตรงกัน:
X1 = gps.x_position(MM) Y1 = gps.y_position(MM)
หากต้องการความช่วยเหลือเกี่ยวกับการประกาศตัวแปรและการจัดเก็บข้อมูลในโปรเจ็กต์ โปรดเลือกปุ่ม “TUTORIALS” ใน VEXcode VR และเลือก Storing Data Tutorial


- สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกฎการตั้งชื่อตัวแปรใน VEXcode VR ดูบทความนี้
- ใช้พิกัดของหุ่นยนต์ (x1,y1) พิกัดของตำแหน่งเป้าหมาย (x2,y2) และฟังก์ชัน atan เพื่อหาทิศทางการขับเคลื่อน
คำนวณหาค่ามุมทีตา (θ) ของเส้นตรงที่เชื่อมจุดสองจุดนี้


แปลงค่ามุม θ เพื่อกำหนดทิศทาง (Heading)
ตัวอย่างรหัสเทียมสำหรับนิพจน์ทางคณิตศาสตร์ (ทิศทางเริ่มต้น: ทิศเหนือ):
ถ้า X1 เท่ากับ X2: ถ้า Y2 > Y1: หัวข้อ = 0 มิฉะนั้น: หัวข้อ = 180 มิฉะนั้น: ถ้า X2 > X1: หัวข้อ = 90 - atan((Y2 - Y1) / (X2 - X1)) มิฉะนั้น: หัวข้อ = 270 - atan((Y2 - Y1) / (X2 - X1))
ใช้บล็อกฟังก์ชัน จากหมวด ตัวดำเนินการ และเลือกฟังก์ชัน atan เพื่อคำนวณมุม theta θ

คำสั่ง Python ที่ตรงกัน:
math.atan( ) / math.pi * 180
ใช้พิกัดของหุ่นยนต์ (x1,y1) พิกัดของตำแหน่งเป้าหมาย (x2,y2) และทฤษฎีบทพีทาโกรัสเพื่อหาระยะทางในการขับเคลื่อน


ใช้บล็อกฟังก์ชัน จากหมวดหมู่ผู้ปฏิบัติงาน และเลือกฟังก์ชัน sqrt เพื่อคำนวณระยะทางในการขับขี่

คำสั่ง Python ที่ตรงกัน:
math.sqrt( )