รายงานความคืบหน้าครั้งที่1 :68340700411 นายแพร่พร้อมพงศ์ ยานะวิน

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

ความคืบหน้าในขั้นตอนแรก : การทดสอบผ่านสาย USB

เพื่อให้ง่ายต่อการทดสอบและพิสูจน์แนวคิด (Proof of Concept) ผมได้เริ่มต้นด้วยการเชื่อมต่อระบบผ่านสาย USB (Serial Port) ก่อนที่จะพัฒนาระบบให้เชื่อมต่อแบบไร้สาย (Wi-Fi) ซึ่งหุ่นยนต์ที่หลักที่ใช้โปรแกรมคือ M5stack Lidar Bot

ขั้นตอนการดำเนินงาน:

  1. การดึงข้อมูล Lidar ผมได้เขียนโค้ดบนตัวหุ่นยนต์ Lidar Bot (M5Stack) ให้อ่านข้อมูลจาก Lidar และส่งข้อมูลดิบนั้นออกมาผ่านทาง Serial (พอร์ต USB)
  2. การสร้างแผนที่ (Visualization) ผมใช้โปรแกรม Processing (ซึ่งใช้ภาษา Java) บนคอมพิวเตอร์ เพื่อรับข้อมูล Serial ที่หุ่นยนต์ส่งมา และนำค่านั้นมาวาดเป็น “แผนที่” (Map) แบบ Real-time เพื่อใช้ในการตรวจสอบข้อมูล
  3. องค์ประกอบในแผนที่:ในหน้าจอ Processing ที่ผมสร้างขึ้น มีองค์ประกอบหลักดังนี้
    • กล่องสีฟ้า : แทนตัวหุ่นยนต์ Lidar Bot
    • จุดสีแดง : ใช้ระบุ “ด้านหน้า” ของหุ่นยนต์ เพื่อให้ทราบทิศทางการหัน
    • จุดสีเขียว : คือข้อมูล Lidar ที่สแกนได้ แสดงถึงสิ่งกีดขวางรอบตัว
  4. ตรรกะการตรวจสอบ “ความตั้งฉาก”:ผมได้เริ่มเขียนตรรกะ (Logic) ในการตรวจสอบว่าหุ่นยนต์ “ตั้งฉาก” หรือไม่ โดยเบื้องต้นได้กำหนดให้โปรแกรมตรวจสอบข้อมูล Lidar ในช่วง +15 , -15 องศา จากด้านหน้าหุ่นยนต์ เพื่อใช้เป็นเกณฑ์ในการตัดสินใจในการทดสอบ ผมได้ตั้งหุ่นไว้กับที่และดูโปรแกรม

สรุป:

ในขั้นตอนนี้ สามารถดึงข้อมูล Lidar จากหุ่นยนต์มายัง PC และสร้างโปรแกรม Visualization เพื่อแสดงผลแผนที่แบบ Real-time ได้สำเร็จ ซึ่งสามารถ “ตรวจสอบความตั้งฉาก” ในเบื้องต้นได้แล้วขั้นตอนต่อไป ยังเหลือการทดสอบบนสนามจริงและปรับแก้โปรแกรมให้เพิ่มรู้เรื่องระยะห่างจากจุดเริ่มต้น