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

การรันครั้งแรกของคุณ

ในหน้านี้ คุณจะรันโปรแกรมที่สมบูรณ์บนหุ่นยนต์ของคุณ และเรียนรู้การใช้หน้าต่างควบคุมของ Erebus คุณต้องติดตั้ง Erebus และมีหุ่นยนต์ของคุณ แล้ว

โฟลเดอร์หลักในรีลีสที่คุณดาวน์โหลดมามีดังนี้:

โฟลเดอร์ เนื้อหา
game/worlds โลกต่าง ๆ (ไฟล์ .wbt) เปิดไฟล์ใดไฟล์หนึ่งเพื่อเริ่มต้น
game/logs บันทึกของเกม (log) ที่เขียนเมื่อจบแต่ละเกม
player_controllers คอนโทรลเลอร์ตัวอย่าง
  1. เปิด game/worlds/world1.wbt ใน Webots
  2. Webots จะเปิดหน้าต่างควบคุมของ Erebus (robot window ของ Main Supervisor) ในเว็บเบราว์เซอร์ของคุณ คุณใช้หน้าต่างนี้โหลดโปรแกรมและรันเกม

หน้าต่างควบคุมของ Erebus

ส่วน การใช้งาน
LOAD ด้านซ้าย (ไอคอนแล็ปท็อป) โหลดโปรแกรมคอนโทรลเลอร์ของหุ่นยนต์
LOAD ด้านขวา (ไอคอนหุ่นยนต์) โหลดหุ่นยนต์ของคุณ (ไฟล์ .json)
TOGGLE REMOTE ให้โปรแกรมที่รันอยู่นอก Webots ควบคุมหุ่นยนต์ได้ ดู Remote Controller
Docker path โฟลเดอร์ที่มี Dockerfile สำหรับรันคอนโทรลเลอร์ในคอนเทนเนอร์ด้วยปุ่ม Docker ข้างปุ่มเล่น ดูรีโพสิทอรี erebus-dockerfiles ส่วนนี้ไม่บังคับ
Settings ลิงก์และตัวเลือกต่าง ๆ อธิบายไว้ด้านล่าง
Worlds เปลี่ยนไปยังโลกอื่น
Reset รีเซ็ตโปรแกรมที่โหลดไว้และเกม
Give up! จบเกม
ตัวจับเวลา เวลาของเกม และใต้ลงมาคือเวลาจริงในวงเล็บ เกมจะจบเมื่อเวลาใดเวลาหนึ่งถึง 0
เครื่องคิดเลข คะแนนปัจจุบัน

ดาวน์โหลด maze.py ซึ่งเป็นโปรแกรมที่สมบูรณ์ที่ขับหุ่นยนต์ไปรอบเขาวงกต นี่คือโปรแกรมที่คุณจะเขียนเองในนำทางในเขาวงกต

  1. เปิด game/worlds/world1.wbt
  2. โหลดหุ่นยนต์ของคุณด้วยปุ่ม LOAD ด้านขวา หากยังไม่ได้โหลด โลกจะโหลดใหม่พร้อมหุ่นยนต์ของคุณ
  3. โหลด maze.py ด้วยปุ่ม LOAD ด้านซ้าย เมื่อโหลดโปรแกรมแล้ว ปุ่มจะเปลี่ยนเป็นปุ่ม REMOVE สีส้ม
  4. กดปุ่มเริ่ม หุ่นยนต์จะปรากฏในโลกและเริ่มเคลื่อนที่ ปุ่มเริ่ม
  5. หากต้องการหยุดหุ่นยนต์ชั่วคราว ให้กดปุ่มหยุดชั่วคราว ปุ่มหยุดชั่วคราว
  6. หากหุ่นยนต์ติดอยู่ ให้กดปุ่มเริ่มใหม่ (restart) เพื่อเรียกการไม่มีความคืบหน้า (lack of progress) ซึ่งจะย้ายหุ่นยนต์กลับไปยังจุดตรวจ (checkpoint) ล่าสุดที่ไปถึง และเสีย 5 คะแนน ปุ่มการไม่มีความคืบหน้า
  7. กดปุ่ม Reset เพื่อรีเซ็ตโปรแกรมที่โหลดไว้และเกมที่กำลังดำเนินอยู่ หากต้องการรันอีกครั้งหลังจากเกมจบแล้ว ให้โหลดโลกใหม่

โปรแกรมนี้ต้องใช้ OpenCV ซึ่งคุณติดตั้งไว้แล้วพร้อมกับไลบรารี Python อื่น ๆ ข้อความจากโปรแกรมของคุณและข้อผิดพลาดจะแสดงในคอนโซลของ Webots

ระหว่างเกม ประวัติคะแนนจะแสดงที่ด้านล่างของหน้าต่าง ประวัตินี้บอกได้ชัดเจนว่าคุณได้หรือเสียคะแนนเพราะอะไร จึงเป็นเครื่องมือที่ดีที่สุดในการตรวจสอบโปรแกรมของคุณ

หน้าต่างควบคุมระหว่างเกม พร้อมประวัติคะแนน

เมื่อจบเกม ข้อมูลเดียวกันนี้จะถูกบันทึกไว้ในโฟลเดอร์ game/logs

กด Worlds เพื่อเปลี่ยนไปยังโลกอื่น แต่ละโลกมีภาพตัวอย่าง (thumbnail) และคุณยังเพิ่มโลกของคุณเองที่สร้างด้วย World Editor ได้ด้วย

แท็บ Worlds ของหน้าต่างควบคุม

โลกที่มีมาให้ใน Erebus v26.1 ได้แก่:

โลก วัตถุประสงค์
world1.wbt, world2.wbt โลกตัวอย่าง world2.wbt มีพื้นที่ 4
world3.wbt, world4.wbt โลกตัวอย่างที่ใหญ่ขึ้น ซึ่งมีผู้ประสบภัยปลอม (fake victims) ด้วย
mapping_example_1.wbt ถึง mapping_example_3.wbt โลกสำหรับทดสอบการทำแผนที่ ดูการทำแผนที่
NewPassages.wbt ตัวอย่างทางผ่านระหว่างพื้นที่

แท็บ Settings ของหน้าต่างควบคุม

การตั้งค่า การใช้งาน
Keep controller/robot files คงโปรแกรมและหุ่นยนต์ที่โหลดไว้เมื่อโหลดโลกใหม่
Disable automatic LoP ปิดการไม่มีความคืบหน้าอัตโนมัติหลัง 20 วินาที ใช้เพื่อการดีบักเท่านั้น
Automatic camera ทำให้มุมมองติดตามหุ่นยนต์
Recording บันทึกเกมเป็นวิดีโอ
Keep remote controller on คง TOGGLE REMOTE ไว้เมื่อโหลดโลกใหม่
Enable debugging พิมพ์ข้อมูลเพิ่มเติมในคอนโซลของ Webots เช่น เหตุผลที่การรายงานสัญลักษณ์บนผนังถูกปฏิเสธ

ลิงก์ด้านบนจะนำไปยังบันทึกการเปลี่ยนแปลง (changelog) และเครื่องมือสำหรับสร้างโลกและหุ่นยนต์ หากต้องการสร้างโลกตามกติกาปี 2026 ให้ใช้ World Editor

ย้ายหุ่นยนต์ไปยังตำแหน่งที่ต้องการด้วยตัวเอง

หัวข้อที่มีชื่อว่า “ย้ายหุ่นยนต์ไปยังตำแหน่งที่ต้องการด้วยตัวเอง”

เมื่อคลิกที่หุ่นยนต์ในหน้าต่างการจำลอง จะมีลูกศรสีแดง เขียว และน้ำเงินปรากฏขึ้น ลากลูกศรเหล่านี้ด้วยเมาส์เพื่อย้ายหุ่นยนต์ไปยังตำแหน่งใดก็ได้ โปรดทราบว่าหุ่นยนต์จะไม่แสดงจนกว่าโปรแกรมจะเริ่มทำงาน หุ่นยนต์ที่ถูกเลือกใน Webots พร้อมลูกศรสำหรับย้าย

คุณได้เห็นหุ่นยนต์สำรวจเขาวงกตด้วยตัวเองแล้ว ต่อไปมาเรียนรู้การเขียนโปรแกรมเอง เริ่มที่โปรแกรมแรกของคุณ