ในเฟสแรกของโครงการนี้ ผมชวยเรื่องการออกแบบระบบและการวางแผนการทำงานโดยรวม ของหุ่นยนต์แก้เส้นทาง (Solve Maze Robot) ซึ่งใช้ LidarBot2 เป็นแพลตฟอร์มหลัก ร่วมกับ ระบบ ROS (Robot Operating System) เพื่อรับข้อมูลจากเซนเซอร์ LiDAR และประมวลผลบนคอมพิวเตอร์
เป้าหมายของเฟสนี้คือ
- ออกแบบแนวทางการทำงานของระบบ
- วางโครงสร้างการเชื่อมโยงข้อมูลระหว่างหุ่นยนต์และคอมพิวเตอร์
- กำหนดขอบเขตความรับผิดชอบของสมาชิกแต่ละคน เพื่อให้การพัฒนาในเฟสต่อไป
ภาพรวมแนวคิดการทำงานของระบบที่วางแผนไว้

หุ่นยนต์จะทำงานโดยใช้ข้อมูลจาก LiDAR Sensor เพื่อสแกนพื้นที่และส่งข้อมูลไปยังคอมพิวเตอร์ผ่านระบบ ROS สำหรับการประมวลผลแบบ SLAM (Simultaneous Localization and Mapping) เพื่อระบุพิกัดของหุ่นยนต์บนแผนที่ (XY Coordinates) และสร้างแผนที่จำลองของ Maze

แผนที่จำลองจะถูกแบ่งออกเป็นบล็อก ๆ ขนาด 30 × 30 เซนติเมตร โดยไม่พิจารณาความสูง เนื่องจากไม่มีผลต่อการคำนวณเส้นทาง
ระบบจะทำงานในสองขั้นตอนหลัก ได้แก่
ครั้งที่ 1: สำรวจและเก็บข้อมูลของ Maze เพื่อสร้างแผนที่และบันทึกช่องทางที่สามารถเดินได้
ครั้งที่ 2: ใช้ข้อมูลที่ได้เพื่อคำนวณเส้นทางที่สั้นที่สุด และสั่งให้หุ่นยนต์เดินตามเส้นทางนั้นจนออกจาก Maze ได้สำเร็จ
เฟสที่ 1 นี้จึงเน้นที่การวางระบบและจำลองแนวคิดเชิงโครงสร้าง เพื่อเตรียมพร้อมสำหรับการพัฒนาในเฟสถัดไป
เทคโนโลยีและอุปกรณ์ที่ใช้
รายการ รายละเอียด
- หุ่นยนต์หลัก ตัวที่ 1 LidarBot2 | ตัวที่2 เป็นหุ่นประกอบเอง ใช้ Raspberry pi + Arduino
- ระบบประมวลผล คอมพิวเตอร์ (ROS Master Node)
- เซนเซอร์หลัก LiDAR สำหรับตรวจจับระยะและสร้างแผนที่
- ซอฟต์แวร์หลัก ROS (Robot Operating System), SLAM Toolkit
- เครื่องมือเสริม Python, RViz (แสดงผลแผนที่จำลอง), Serial/USB Communication
- ขนาดบล็อกของ Maze 30 × 30 cm
เทคนิคและรูปแบบการสื่อสารข้อมูล
SLAM Mapping:
ใช้เทคนิค SLAM เพื่อรวมข้อมูลจาก LiDAR และการเคลื่อนที่ของหุ่นยนต์ เพื่อระบุตำแหน่งของหุ่นยนต์ในพิกัด XY และสร้างแผนที่จำลอง
Data Transmission via ROS Topics:
หุ่นยนต์จะส่งข้อมูลจาก LiDAR มายังคอมพิวเตอร์ผ่าน ROS Topic เช่น /scan และ /odom เพื่อให้คอมพิวเตอร์รับรู้ตำแหน่งและระยะสิ่งกีดขวางแบบเรียลไทม์
ใช้เทคนิค SLAM เพื่อรวมข้อมูลจาก LiDAR และการเคลื่อนที่ของหุ่นยนต์ เพื่อระบุตำแหน่งของหุ่นยนต์ในพิกัด XY และสร้างแผนที่จำลอง
Data Transmission via ROS Topics:
หุ่นยนต์จะส่งข้อมูลจาก LiDAR มายังคอมพิวเตอร์ผ่าน ROS Topic เช่น /scan และ /odom เพื่อให้คอมพิวเตอร์รับรู้ตำแหน่งและระยะสิ่งกีดขวางแบบเรียลไทม์
Map Simulation:
ฝั่งคอมพิวเตอร์จะใช้ข้อมูลระยะทาง (Range Data) เพื่อสร้าง “แผนที่เสมือน” และแบ่งพื้นที่ออกเป็นบล็อก (Grid Map) เพื่อระบุว่าบล็อกใดสามารถเคลื่อนที่ได้
Pathfinding Algorithm:
ใช้อัลกอริทึมค้นหาเส้นทาง เช่น Breadth-First Search (BFS) หรือ A* เพื่อหาทางที่สั้นที่สุดจากจุดเริ่มต้นถึงจุดสิ้นสุด
Motion Feedback Loop:
หุ่นยนต์จะสอบถามตำแหน่งของตนจากคอมพิวเตอร์ในทุกบล็อก เพื่อปรับตำแหน่งให้อยู่กึ่งกลางบล็อกและลดค่า Error จากการเคลื่อนที่
การแบ่งหน้าที่และความรับผิดชอบ
ลำดับ ชื่อสมาชิก หน้าที่ รายละเอียดงาน
1 ปอ การวิเคราะห์เส้นทาง บันทึกข้อมูลการเชื่อมต่อของแต่ละบล็อกจากข้อมูลที่หุ่นส่งมา และคำนวณหาเส้นทางที่สั้นที่สุด
2 ว่า การประมวลผล SLAM ใช้ข้อมูลจาก LiDAR เพื่อสร้างแผนที่ SLAM ระบุพิกัดและทิศทางของหุ่นบนแผนที่
3 ปอนด์ การสร้างแผนที่เสมือน ใช้ข้อมูลระยะระหว่างหุ่นยนต์และสิ่งกีดขวางเพื่อจำลอง Maze ในคอมพิวเตอร์ และระบุตำแหน่งบล็อกปัจจุบันของหุ่น
4 อาร์ท ระบบสื่อสารข้อมูล พัฒนาเทคนิคการส่งข้อมูลจาก LiDAR ไปยังคอมพิวเตอร์ผ่าน ROS เพื่อใช้ในการคำนวณต่าง ๆ
5 โดม ออกแบบภาพรวมของระบบ และ การควบคุมการเคลื่อนที่ ออกแบบระบบการเคลื่อนที่ของหุ่นยนต์บนแผนที่ และการคาลิเบรตตำแหน่งเมื่อเปลี่ยนบล็อก
ในเฟสแรกนี้ ทีมได้ดำเนินการครบตามเป้าหมายที่ตั้งไว้ ได้แก่
- ออกแบบระบบและกำหนดกระบวนการทำงานหลักของหุ่นยนต์
- วางแผนการเชื่อมโยงข้อมูลระหว่างหุ่นยนต์กับคอมพิวเตอร์ผ่าน ROS
- กำหนดขอบเขตและหน้าที่ความรับผิดชอบของสมาชิกแต่ละคนอย่างชัดเจน
ขั้นตอนถัดไปจะเป็นการเริ่ม พัฒนาและทดสอบการทำงานของแต่ละโมดูล เพื่อให้สามารถเชื่อมโยงและทำงานร่วมกันได้จริงในการทดสอบภาคสนาม
