การควบคุมอัจฉริยะ
DRT 344 ระบบอัตโนมัติ หุ่นยนต์ และการควบคุมอัจฉริยะ
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- อธิบายวงจรรับรู้ ประเมิน วางแผน และควบคุมของระบบอัตโนมัติ
- อธิบายระดับความเป็นอัตโนมัติและบทบาทของมนุษย์ในการกำกับดูแล
- เปรียบเทียบอัลกอริทึมวางแผนเส้นทาง Dijkstra, A* และ RRT
- คำนวณเอาต์พุตของตัวควบคุม fuzzy อย่างง่าย
- อธิบายหลักการของ MPC และ reinforcement learning พร้อมข้อจำกัดด้านความปลอดภัย
ทำไมต้องรู้
PID ในโมดูล 3 ทำให้โดรนอยู่ที่ตำแหน่งที่สั่งได้ แต่ ใครเป็นคนตัดสินว่าควรไปที่ไหน ถ้ามีต้นไม้ขวาง ถ้าเป้าหมายเคลื่อนที่ หรือถ้าข้อมูลไม่แน่นอน ระบบอัตโนมัติขั้นสูงต้องรับรู้สภาพแวดล้อม วางแผน และตัดสินใจเอง ซึ่งเรียกรวมว่า การควบคุมอัจฉริยะ (intelligent control) และ ความเป็นอัตโนมัติ (autonomy)
เปรียบได้กับคนขับรถ PID คือทักษะการถือพวงมาลัยให้อยู่ในเลน ส่วนการควบคุมอัจฉริยะคือการอ่านป้าย เลือกเส้นทาง และตัดสินใจเบรกเมื่อมีคนข้ามถนน
วงจรของระบบอัตโนมัติ
- รับรู้ (perceive) อ่านเซนเซอร์และใช้ AI ตรวจจับวัตถุ
- ประเมินสถานการณ์ (understand) สร้างแผนที่และรู้ตำแหน่งของตัวเอง
- วางแผน (plan) เลือกเส้นทางและพฤติกรรม
- ควบคุม (control) สั่งตัวควบคุมระดับล่าง เช่น PID ให้ทำตามแผน
ทุกขั้นมีความไม่แน่นอน และความผิดพลาดในขั้นรับรู้จะส่งต่อไปทุกขั้นถัดไป ระบบที่ดีจึงต้องมี มนุษย์กำกับดูแล ในระดับที่เหมาะกับความเสี่ยง
ระดับความเป็นอัตโนมัติ
ความเป็นอัตโนมัติไม่ได้มีแค่ “คนบังคับ” กับ “บินเอง” แต่มีหลายระดับ กรอบที่ใช้อ้างอิงได้ เช่น
- NIST ALFUS (Autonomy Levels for Unmanned Systems, SP 1011) ประเมินความเป็นอัตโนมัติของระบบไร้คนขับจากความซับซ้อนของภารกิจ ความยากของสภาพแวดล้อม และระดับที่ต้องพึ่งมนุษย์
- SAE J3016 แบ่งระบบขับขี่อัตโนมัติของรถยนต์เป็นระดับ 0–5 ตั้งแต่ไม่มีระบบอัตโนมัติจนถึงอัตโนมัติเต็มรูปแบบ ใช้เป็นตัวเทียบให้เห็นภาพได้ แม้จะไม่ได้ออกแบบมาสำหรับโดรน
คำถามสำคัญในแต่ละระดับคือ ใครรับผิดชอบเมื่อระบบตัดสินใจผิด และ มนุษย์รู้ทันเวลาหรือไม่ว่าต้องเข้าแทรก (เชื่อมกับจริยธรรมใน DRT 343 โมดูล 5)
วางแผนเส้นทาง
แผนที่แบบตารางแทนพื้นที่เป็นช่อง ช่องที่มีสิ่งกีดขวางเดินผ่านไม่ได้ อัลกอริทึมค้นหาจะหาเส้นทางจากจุดเริ่ม S ไปจุดหมาย G
- Dijkstra (1959) ขยายโหนดตามระยะทางสะสมจากจุดเริ่ม รับประกันเส้นทางสั้นที่สุด แต่ค้นกระจายไปทุกทิศ
- A* (Hart, Nilsson & Raphael, 1968) ใช้ โดย คือค่าประมาณระยะที่เหลือไปถึงจุดหมาย ถ้า ไม่เคยประมาณเกินจริง A* ยังได้เส้นทางสั้นที่สุด แต่ขยายโหนดน้อยกว่ามาก
- RRT (LaValle, 1998) สุ่มสร้างต้นไม้ของเส้นทางแผ่ออกไปในพื้นที่ เหมาะกับพื้นที่ต่อเนื่องหลายมิติ เช่น โดรนในสามมิติ แต่เส้นทางที่ได้มักไม่สั้นที่สุด ต้องปรับให้เรียบภายหลัง
ตัวอย่างที่ 1 A* เทียบกับ Dijkstra
ตาราง 8×8 เคลื่อนได้ 4 ทิศ ช่องละ 1 หน่วย มีกำแพงแนวตั้ง 4 ช่องกั้นระหว่าง S และ G ใช้ระยะแมนฮัตตันเป็น heuristic
- ที่จุดเริ่ม แต่กำแพงบังทางตรง เส้นทางจริงต้องอ้อม
- ผลจากโปรแกรม Python: ทั้งสองวิธีได้เส้นทางยาว 11 ช่อง เท่ากัน
- Dijkstra ขยายโหนด 59 โหนด ส่วน A* ขยายเพียง 18 โหนด
heuristic ที่ดีช่วยลดงานคำนวณได้มาก ซึ่งสำคัญกับคอมพิวเตอร์บนโดรนที่มีกำลังจำกัด และต้องวางแผนใหม่ทุกครั้งที่พบสิ่งกีดขวางใหม่
การควบคุมแบบ fuzzy
ตรรกศาสตร์คลุมเครือ (fuzzy logic) ของ Zadeh (1965) ให้ค่าความเป็นสมาชิกของเซตอยู่ระหว่าง 0 ถึง 1 แทนที่จะเป็นใช่หรือไม่ใช่ Mamdani และ Assilian (1975) นำมาสร้างตัวควบคุมจากกฎภาษาคน เช่น “ถ้าอยู่ไกลเป้าหมาย ให้บินเร็ว”
ตัวอย่างที่ 2 ตัวควบคุมความเร็วแบบ fuzzy อย่างง่าย
กฎ: ถ้าระยะ ใกล้ ให้บิน 2 m/s ถ้าระยะ ไกล ให้บิน 8 m/s กำหนดความเป็นสมาชิกในช่วง 0–10 m ว่า และ ขณะนี้โดรนอยู่ห่างเป้าหมาย m
- และ
- m/s
ความเร็วเปลี่ยนอย่างนุ่มนวลตามระยะ แทนที่จะกระโดดจาก 2 เป็น 8 m/s ที่เส้นแบ่งเดียว
MPC และ reinforcement learning
- Model Predictive Control (MPC) ใช้แบบจำลองของระบบทำนายอนาคตไปช่วงหนึ่ง แล้วหาคำสั่งที่ดีที่สุดภายใต้ข้อจำกัด เช่น ความเร็วสูงสุดหรือขอบเขตพื้นที่ ใช้คำสั่งแรกแล้วคำนวณใหม่ทุกรอบ จุดเด่นคือจัดการข้อจำกัดได้ตรง ๆ แต่ต้องใช้การคำนวณมาก
- Reinforcement learning (RL) ให้ตัวแทน (agent) เรียนรู้นโยบายจากการลองผิดลองถูกเพื่อให้ได้รางวัลสูงสุด (Sutton & Barto, 2018) ตัวอย่างเด่นคือ Kaufmann และคณะ (2023) ใช้ deep RL ฝึกโดรนแข่งจนเอาชนะแชมป์มนุษย์ได้ในสนามทดสอบ โดยฝึกส่วนใหญ่ในการจำลอง
ระบบที่เรียนรู้ได้มีความเสี่ยงเฉพาะ คือทำงานได้ดีในสภาพที่เคยฝึก แต่คาดเดาได้ยากในสภาพที่ไม่เคยเจอ การใช้งานจริงจึงต้องมีชั้นป้องกันที่ตรวจสอบได้ เช่น geofence และ failsafe ที่ไม่ใช้ AI (DRT 342 โมดูล 2) ทดสอบใน SITL ก่อน และมีมนุษย์กำกับดูแล
กิจกรรมในชั้นเรียน
กิจกรรม: วางแผนเส้นทางและทดสอบในการจำลอง
- เขียน A* บนตารางด้วย Python เปลี่ยนตำแหน่งสิ่งกีดขวาง แล้วเทียบจำนวนโหนดที่ขยายกับ Dijkstra
- ลองใช้ heuristic ที่ประมาณเกินจริง เช่น แล้วดูว่าเส้นทางยังสั้นที่สุดหรือไม่
- ออกแบบกฎ fuzzy สำหรับชะลอความเร็วเมื่อเข้าใกล้สิ่งกีดขวาง
- อภิปรายว่าระบบหลบหลีกด้วย AI ควรมีชั้นป้องกันอะไรบ้างก่อนนำไปบินจริง อ้างอิงหน่วยความรู้ SITL ในคลังความรู้โดรน
ข้อผิดพลาดที่พบบ่อย
ระวัง
- ใช้ heuristic ที่ประมาณเกินจริง แล้วเข้าใจว่าได้เส้นทางสั้นที่สุด
- วางแผนบนแผนที่เก่า ไม่วางแผนใหม่เมื่อพบสิ่งกีดขวาง
- เชื่อผลของ AI โดยไม่มีชั้นป้องกัน ที่ตรวจสอบได้
- สับสนระดับความเป็นอัตโนมัติ ว่าระบบ “บินเอง” ไม่ต้องมีคนรับผิดชอบ
- นำนโยบาย RL ที่ฝึกในการจำลองไปใช้จริงทันที โดยไม่ทดสอบช่องว่างระหว่างการจำลองกับของจริง
สรุป
- ระบบอัตโนมัติทำงานเป็นวงจร รับรู้ → ประเมิน → วางแผน → ควบคุม โดยมีมนุษย์กำกับดูแล
- ระดับความเป็นอัตโนมัติมีหลายขั้น NIST ALFUS และ SAE J3016 เป็นกรอบอ้างอิง
- A* ใช้ ได้เส้นทางสั้นที่สุดเท่ากับ Dijkstra แต่ขยายโหนดน้อยกว่า RRT เหมาะกับพื้นที่ต่อเนื่องหลายมิติ
- Fuzzy control ใช้กฎภาษาคนและความเป็นสมาชิก 0–1 ส่วน MPC จัดการข้อจำกัดได้ตรง
- RL ทำผลงานโดดเด่นได้ แต่ต้องมีชั้นป้องกันที่ตรวจสอบได้ก่อนใช้งานจริง
แบบฝึกตรวจความเข้าใจ
- ใน A* ค่า และ หมายถึงอะไร
- จุด บนตาราง ไปยังจุดหมาย มีระยะแมนฮัตตันเท่าใด
- จากตัวอย่าง fuzzy ถ้าโดรนอยู่ห่าง 3 m ความเร็วที่สั่งเท่าใด
- จุดเด่นหลักของ MPC เทียบกับ PID คืออะไร
- ทำไมระบบหลบหลีกด้วย AI จึงยังต้องมี geofence และ failsafe ที่ไม่ใช้ AI
เฉลย
- คือระยะทางจริงจากจุดเริ่มถึงโหนด ส่วน คือค่าประมาณระยะที่เหลือจาก ถึงจุดหมาย
- , ได้ m/s
- MPC ทำนายอนาคตด้วยแบบจำลองและจัดการข้อจำกัดได้โดยตรง
- เพราะ AI อาจทำงานผิดพลาดในสภาพที่ไม่เคยฝึก จึงต้องมีชั้นป้องกันที่ตรวจสอบได้และคาดเดาพฤติกรรมได้
สรุปสูตรสำคัญ
| ฟังก์ชันประเมินของ A* | |
| ระยะแมนฮัตตัน (heuristic บนตาราง 4 ทิศ) | |
| ถัวเฉลี่ยถ่วงน้ำหนัก (defuzzification อย่างง่าย) |
แหล่งอ้างอิงหลัก
- Huang, H.-M. (Ed.). (2008). Autonomy levels for unmanned systems (ALFUS) framework, Volume I: Terminology, Version 2.0 (NIST SP 1011-I-2.0). NIST. link
- SAE International. (2021). Taxonomy and definitions for terms related to driving automation systems for on-road motor vehicles (J3016_202104). link
- Dijkstra, E. W. (1959). A note on two problems in connexion with graphs. Numerische Mathematik, 1, 269–271. link
- Hart, P. E., Nilsson, N. J., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100–107. link
- LaValle, S. M. (1998). Rapidly-exploring random trees: A new tool for path planning (TR 98-11). Iowa State University. link
- Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8(3), 338–353. link
- Mamdani, E. H., & Assilian, S. (1975). An experiment in linguistic synthesis with a fuzzy logic controller. International Journal of Man-Machine Studies, 7(1), 1–13. link
- Rawlings, J. B., Mayne, D. Q., & Diehl, M. M. (2017). Model predictive control: Theory, computation, and design (2nd ed.). Nob Hill Publishing. link
- Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction (2nd ed.). MIT Press. link
- Kaufmann, E., Bauersfeld, L., Loquercio, A., Müller, M., Koltun, V., & Scaramuzza, D. (2023). Champion-level drone racing using deep reinforcement learning. Nature, 620, 982–987. link
- Siegwart, R., Nourbakhsh, I. R., & Scaramuzza, D. (2011). Introduction to autonomous mobile robots (2nd ed.). MIT Press.
- Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic robotics. MIT Press.
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
การวางแผนเส้นทางและหลบหลีกสิ่งกีดขวางอัตโนมัติ
หัวข้อที่ 2: AI และการควบคุมระบบอัตโนมัติ
พัฒนาระบบจำลองและเชื่อม SITL
ในชั้นเรียน / ภาคสนาม
บรรยาย อภิปรายกรณีศึกษา และแก้โจทย์ในชั้นเรียน
หลักฐานการเรียนรู้: ผล quiz และแบบฝึกหัดที่ส่ง