กลับไปหน้ารวมไฟล์
shortest-path-of-line-maze-curved-and-zig-zag-track-896756.md

โปรเจคจบ ป.ตรี วิศวกรรมสารสนเทศ

โปรเจคนี้คือหุ่นยนต์ไลน์ฟอลโลเวอร์ที่ออกแบบมาเพื่อหาทางออกที่สั้นที่สุดในเขาวงกต โดยใช้เทปสีดำบนพื้นสีขาว (ในโปรเจคเราใช้พื้นสีขาว) ข้อแตกต่างจากเขาวงกตทั่วไปคือ หุ่นยนต์ตัวนี้ต้องวิ่งบนเส้นทางที่มีทั้งโค้งและทางซิกแซกด้วย เป็นโปรเจคจบปริญญาตรีที่เสร็จสิ้นเมื่อเดือนกรกฎาคม 2014

ภาพรวมโปรเจค

เจ้า "Maze-Runner Elite" นี่คือหุ่นยนต์ระดับเทพที่สร้างขึ้นมาเพื่อล่าดาวในสนาม Micromouse และการแก้เขาวงกตเส้น ต่างจากไลน์ฟอลโลเวอร์ธรรมดา เพราะมันทำงานเป็น 2 เฟสชัดเจน: เฟสสำรวจ (เพื่อนับทาง) และ เฟสเร่งสปีด (วิ่งทางลัดที่สั้นที่สุด) มันถูกออกแบบมาให้รับมือกับเส้นทางโค้งมนและซิกแซกได้ ซึ่งมักเป็นจุดอ่อนของหุ่นยนต์ที่ใช้ตรรกะแบบง่ายๆ

ลงลึกเรื่องเทคนิค

  • อัลกอริทึมลดทอนเส้นทาง:
    • ตรรกะจัดการสตริง: ในเฟสสำรวจ หุ่นยนต์จะบันทึกทุกการเลี้ยวเป็นสตริงข้อมูล (เช่น L = ซ้าย, R = ขวา, S = ตรง, B = ถอยหลัง/กลับหลังหัน)
    • กระบวนการหาทางลัด: เฟิร์มแวร์จะวิเคราะห์สตริงเพื่อหา "ทางตัน" (B) ลำดับใดๆ ที่ลงท้ายด้วยการถอยหลังสามารถทำให้สั้นลงได้ เช่น ลำดับ เลี้ยวซ้าย + ถอยหลัง + เลี้ยวซ้าย นั้นเทียบเท่ากับการ เดินหน้า ตรงๆ นั่นเอง โซลเวอร์จะลดทอนสตริงซ้ำๆ (เช่น LBL = S, LBS = R) จนเหลือแต่เส้นทางหลัก
  • ควบคุมด้วย PID เพื่อให้โค้งเนียน:
    • ติดตามค่าผิดพลาดแบบอนาล็อก: เพื่อรักษาความเร็วสูงบน เส้นทางโค้งและซิกแซก หุ่นยนต์ใช้ระบบควบคุมวงปิดแบบ Proportional-Integral-Derivative (PID)
    • วงจรควบคุม: เซนเซอร์ 8 ตัวจะส่งค่ามาเป็นน้ำหนักบอกตำแหน่งของเส้นเทียบกับจุดศูนย์กลางของหุ่นยนต์ อัลกอริทึม PID จะคำนวณความเร็วที่แม่นยำสำหรับมอเตอร์แต่ละข้างให้ "กอดเส้น" ได้แน่น ลดการแกว่ง และป้องกันไม่ให้หุ่นยนต์ "หลุดเลน" ตอนวิ่งซิกแซกเร็วๆ
  • การรวมข้อมูลเซนเซอร์และตรรกะสี่แยก:
    • จัดการด้วย State Machine: หุ่นยนต์ต้องแยกให้ออกระหว่างโค้งธรรมดากับ ทางแยกตัวที หรือ สี่แยก ด้วยการตรวจสอบเซนเซอร์ทั้ง 8 ตัวพร้อมกัน เฟิร์มแวร์จะตรวจจับสถานะ "ดำทั้งหมด" หรือ "ขาวทั้งหมด" เพื่อเรียกใช้รูทีนจัดการทางแยก เช่น กฎ ให้เลี้ยวซ้ายก่อนเสมอ

วิศวกรรมและการนำไปใช้

  • ระบบขับเคลื่อนแบบดิฟเฟอเรนเชียล:
    • อัตราส่วนกำลังต่อน้ำหนัก: การใช้มอเตอร์เกียร์ขนาดเล็กแต่แรงบิดสูงคู่กับแบตเตอรี่ Li-Po น้ำหนักเบา ทำให้เร่งและเบรกได้ไว ซึ่งสำคัญมากเวลาจะเข้าโค้ง 90 องศาหลังจากวิ่งตรงมาไกล
  • ประสิทธิภาพของฮาร์ดแวร์:
    • ไดรเวอร์ TB6612FNG: เลือกใช้ไดรเวอร์แบบ MOSFET ตัวนี้แทน L298N แบบเก่า เพราะประสิทธิภาพสูงกว่าและกินพื้นที่น้อยกว่า ทำให้แม้จะวิ่งแก้เขาวงกตนานๆ ตัวมันก็ยังไม่ร้อนจัด
  • การปรับเทียบและกำหนดขีดเริ่มต้น:
    • ปรับตัวให้เข้ากับพื้นผิว: หุ่นยนต์มีรูทีนปรับเทียบอัตโนมัติตอนเริ่มทำงาน โดยกวาดเซนเซอร์ผ่านทั้งเทปดำและพื้นขาว เพื่อให้แน่ใจว่าข้อมูลดิบที่ส่งไปให้ PID นั้นถูกปรับให้เข้ากับสภาพแสงในห้องนั้นๆ แล้ว

นี่คือวิดีโอที่พี่อัพโหลดไว้

Line Maze Solving - Curved and Zig-zag Track (Jalur Lengkung dan Zig-zag)
Line Maze Solving - Standard Line Maze (Belokan Persegi)

งานวิจัยเกี่ยวกับโปรเจคนี้ถูกตีพิมพ์ในงานประชุมวิชาการระดับนานาชาติ 2018 Seventh ICT International Student Project Conference (ICT-ISPC) เรียบร้อยแล้วนะน้อง

วันที่จัดงานประชุม: 11-13 กรกฎาคม 2018

วันที่เพิ่มลงใน IEEE Xplore: 8 พฤศจิกายน 2018

DOI: 10.1109/ICT-ISPC.2018.8523975

ผู้จัดพิมพ์: IEEE

สถานที่จัดงาน: นครปฐม, ประเทศไทย

งานนี้ผ่านการรีวิวจากเพื่อนร่วมวิชาชีพ (peer-reviewed) เรียบร้อย ใครอยากหาอ่านก็ลองเสิร์ชดูตามรายละเอียดด้านบนได้เลยจ้า

สรุปสั้นๆ ใส่ใจ

ในฐานะโปรเจคที่ผ่านการรีวิวและนำเสนอในงาน IEEE ICT-ISPC เจ้า Maze-Runner Elite ตัวนี้ถือเป็นตัวตั้งตัวตี (benchmark) สำหรับนวัตกรรมที่เกิดจากฝีมือนักเรียนนักศึกษาเลยนะ เน้นเรื่องการหาทางอัตโนมัติและการควบคุมการเคลื่อนที่ความเร็วสูง งานนี้จัดไปวัยรุ่น!

หุ่นยนต์ตัวเก่งของเรา

Finding the edge: Autonomous optimization through algorithmic intelligence.

ข้อมูล Frontmatter ดั้งเดิม

apps:
  - "1x Arduino IDE"
author: "rajajack21"
category: "Motors & Robotics"
components:
  - "1x Arduino UNO"
description: "ต้องลุยให้ครบทุกเส้นทาง แล้วใช้สมองวัยรุ่นหาทางออกที่สั้นที่สุดจากจุดเริ่มถึงเส้นชัย จัดไปแบบเทพๆ"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles: []
encryptedPayload: "U2FsdGVkX1/q1xD7OoVvA3EFe31at7Na+mN6sLJj8nS/baQrBxlcJKUXyy2UDM5unNWv9zqFIvzMYHQUo/8x48PHr3APiivaNmCFxYB2af0="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/shortest-path-of-line-maze-curved-and-zig-zag-track-896756_cover.JPG"
lang: "en"
likes: 16
passwordHash: "9ffd4884a39bb463bec192dfe40d3e85b9f40a9bfa58ecd7a4cb282b9e401d91"
price: 699
seoDescription: "Find the Shortest Path in a Line Maze with Curved and Zig-zag Tracks using Arduino algorithms."
tags:
  - "line maze"
  - "shortest path"
  - "mobile robot"
title: "วิบากเส้นโค้งซิกแซก - งานง่ายแต่หล่อ ชนะด้วยอัลกอริทึมตึงๆ"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/aFv5V6nwO2I"
  - "https://www.youtube.com/embed/gZ3zvf2PUA0"
views: 18534