รายงานความคืบหน้าครั้งที่1 : 68340700413 อิทธิวัตร รัตตกูล

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

เป้าหมายของเฟสนี้คือ

  1. ออกแบบแนวทางการทำงานของระบบ
  2. วางโครงสร้างการเชื่อมโยงข้อมูลระหว่างหุ่นยนต์และคอมพิวเตอร์
  3. กำหนดขอบเขตความรับผิดชอบของสมาชิกแต่ละคน เพื่อให้การพัฒนาในเฟสต่อไป

ภาพรวมแนวคิดการทำงานของระบบที่วางแผนไว้

หุ่นยนต์จะทำงานโดยใช้ข้อมูลจาก 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
  • กำหนดขอบเขตและหน้าที่ความรับผิดชอบของสมาชิกแต่ละคนอย่างชัดเจน

ขั้นตอนถัดไปจะเป็นการเริ่ม พัฒนาและทดสอบการทำงานของแต่ละโมดูล เพื่อให้สามารถเชื่อมโยงและทำงานร่วมกันได้จริงในการทดสอบภาคสนาม