แม่แบบการแข่งขันเป็นตัวอย่างโครงการที่มีคำสั่งต่างๆ รวมอยู่แล้ว เพื่อใช้ในการสื่อสารกับระบบควบคุมภาคสนามระหว่างการแข่งขัน ช่วยให้มั่นใจได้ว่าคำสั่งต่างๆ เป็นไปตามข้อกำหนดของสนาม และช่วยในการตั้งค่าโครงการเพื่อหลีกเลี่ยงปัญหาและความผิดฐานถูกตัดสิทธิ์ ("การแข่งขัน" หมายถึงกิจกรรมการแข่งขันหุ่นยนต์ VEX V5 โดยใช้ฮาร์ดแวร์ควบคุมภาคสนามอย่างเป็นทางการ)
เปิดเทมเพลตการแข่งขันจากหน้าตัวอย่าง
แม่แบบประกอบด้วยสามส่วน: โหมดก่อนการขับขี่อัตโนมัติ, โหมดขับขี่อัตโนมัติ และการควบคุมโดยผู้ขับขี่
# เริ่มโค้ดโปรเจ็กต์
def pre_autonomous():
# การกระทำที่จะทำเมื่อโปรแกรมเริ่มต้น
brain.screen.clear_screen()
brain.screen.print("pre autonomous code")
wait(1, SECONDS)
def autonomous():
brain.screen.clear_screen()
brain.screen.print("autonomous code")
# วางโค้ดอัตโนมัติไว้ที่นี่
def user_control():
brain.screen.clear_screen()
# วางการควบคุมของผู้ขับขี่ไว้ในลูป while นี้
while True:
wait(20, MSEC)
# สร้างอินสแตนซ์การแข่งขัน
comp = Competition(user_control, autonomous)
pre_autonomous()
: เพื่อให้โปรเจ็กต์ของคุณใช้งานได้ในการแข่งขัน คุณต้องคงฟังก์ชันเหล่านี้ไว้ในโปรเจ็กต์ของคุณ เพิ่มคำสั่งในตำแหน่งที่ระบุไว้ในส่วนความคิดเห็นสำหรับแต่ละส่วน
ใช้ฟังก์ชัน pre_autonomous สำหรับการตั้งค่าใดๆ
def pre_autonomous():
# การกระทำที่จะทำเมื่อโปรแกรมเริ่มต้น
brain.screen.clear_screen()
brain.screen.print("pre autonomous code")
wait(1, SECONDS)
ฟังก์ชันpre_autonomous ใช้สำหรับการตั้งค่าใดๆ ที่หุ่นยนต์ของคุณอาจต้องการ เช่น การปรับเทียบไจโร การตั้งค่าตัวแปร หรือการตั้งค่าอุปกรณ์อื่นๆ คำสั่งเหล่านี้จะทำงานทันทีเมื่อเริ่มโครงการ ก่อนที่ส่วนที่เป็นการทำงานอัตโนมัติของเกมจะเริ่มต้นขึ้น
ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องเพื่อให้เห็นเส้นนำทางระหว่างฟังก์ชันpre_autonomous และautonomous
: หากไม่จำเป็นต้องตั้งค่าใดๆ ฟังก์ชันนี้สามารถเว้นว่างไว้ได้
อิสระ
def autonomous():
brain.screen.clear_screen()
brain.screen.print("โค้ดอัตโนมัติ")
# วางโค้ดอัตโนมัติไว้ที่นี่
ฟังก์ชัน อัตโนมัติ ใช้สำหรับควบคุมหุ่นยนต์ของคุณในระหว่างช่วงการทำงานอัตโนมัติของการแข่งขัน VRC คำสั่งต่างๆ ภายในฟังก์ชันนี้จะทำงานเมื่อการแข่งขันเริ่มต้นช่วงอัตโนมัติ
ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องเพื่อให้เห็นเส้นนำทางระหว่างฟังก์ชันpre_autonomous และautonomous
: หากไม่จำเป็นต้องตั้งค่าใดๆ ฟังก์ชันนี้สามารถเว้นว่างไว้ได้
การควบคุมของผู้ใช้
def user_control():
brain.screen.clear_screen()
# วางการควบคุมของคนขับไว้ในลูป while นี้
while True:
wait(20, MSEC)
ฟังก์ชัน user_control ใช้สำหรับควบคุมหุ่นยนต์ของคุณในระหว่างช่วงการควบคุมของคนขับในการแข่งขัน VRC คำสั่งต่างๆ ภายในฟังก์ชันนี้จะทำงานเมื่อการแข่งขันเริ่มต้นช่วงควบคุมผู้ขับขี่ (Driver Control)
: ลูป ในขณะที่เป็นจริง แสดงอยู่ด้านบนเพื่อให้หุ่นยนต์ตอบสนองต่ออินพุตจากตัวควบคุม V5 ตลอดการแข่งขัน
ตรวจสอบให้แน่ใจว่าคำสั่งทั้งหมดมีการเยื้องอย่างถูกต้องภายในลูปwhile True ขณะเขียนโค้ดส่วนควบคุมผู้ใช้ ควรมีเส้นนำทางสองเส้นปรากฏให้เห็นดังที่แสดงไว้ในภาพนี้ หนึ่งเพราะในขณะที่ True อยู่ภายในฟังก์ชัน user_control อีกวิธีหนึ่งคือเพื่อให้แน่ใจว่าคำสั่งต่างๆ อยู่ภายในลูปในขณะที่ True