PID Drone Lab
"เมื่อความนิ่งคือชัยชนะ... จงใช้คณิตศาสตร์สยบแรงโน้มถ่วง!"
ยินดีต้อนรับสู่ลานทดสอบอากาศยาน! ในภารกิจนี้ คุณจะได้รับบทเป็น "Control Engineer" (วิศวกรระบบควบคุม) ผู้มีหน้าที่เขียนอัลกอริทึมให้โดรนกู้ภัยบินได้นิ่งสนิทที่สุด โดยใช้เทคนิคระดับโลกที่เรียกว่า "PID Controller" ซึ่งเป็นหัวใจสำคัญของระบบอัตโนมัติทุกชนิดบนโลกใบนี้!
🧩Interface Manual: คู่มือวิศวกร
หน้าจอจำลองนี้แบ่งออกเป็น 2 ส่วนหลัก เพื่อให้คุณเห็นผลลัพธ์ของการจูนค่าแบบ Real-time:
Simulation Stage (พื้นที่ทดสอบการบิน):
🚁 Drone: โดรนสีส้ม (Plasma Orange) ที่ต้องต่อสู้กับแรงโน้มถ่วงตลอดเวลา
🟩 Target Path: เส้นประสีเขียว คือ "ระดับความสูงเป้าหมาย" ที่เราสั่งให้โดรนบินไปหา
🟧 Actual Path: เส้นทึบสีส้ม คือ "เส้นทางจริง" ที่โดรนบินได้ (หน้าที่ของคุณคือทำให้เส้นส้มทับเส้นเขียวให้มิด!)
🌪️ Gust of Wind: ปุ่มแกล้งโดรน! กดเพื่อสร้างลมพายุพัดกระทันหัน ทดสอบว่าระบบของคุณจะกู้สถานการณ์กลับมาได้ไวแค่ไหน
Control Panel (แผงจูนค่า):
🎚️ PID Sliders: หัวใจสำคัญของแล็บนี้ ใช้ปรับค่า Kp, Ki, Kd (ดูคำอธิบายด้านล่าง)
📈 Telemetry: หน้าปัดแสดงค่าความสูง (Altitude), ความคลาดเคลื่อน (Error), และแรงขับดัน (Thrust)
⏩ Forward Speed: ตัวเร่งความเร็วการบินไปข้างหน้า ยิ่งบินเร็ว โจทย์ยิ่งยาก เพราะโดรนต้องตอบสนองไวขึ้น!
🧩Gameplay: วิธีการจูน PID (Tuning Guide)
การจูน PID คือศิลปะแห่งความสมดุล ลองทำตามสูตรลับนี้:
Step 1: P - Proportional (แรงสปริง)
คืออะไร: แรงดึงกลับหาเป้าหมาย
การจูน: เริ่มปรับ Kp ขึ้นทีละนิด โดรนจะเริ่มลอยขึ้นหาเส้นเขียว
อาการ:
น้อยไป: โดรนลอยเอื่อยๆ ไม่ถึงเป้าสักที
มากไป: โดรนจะพุ่งแรงจนเลยเป้า (Overshoot) แล้วเด้งดึ๋งๆ ไม่หยุด
Step 2: D - Derivative (แรงหน่วง/เบรก)
คืออะไร: การทำนายอนาคตเพื่อลดการสั่น
การจูน: เมื่อโดรนเริ่มเด้งจากข้อ 1 ให้เติม Kd เข้าไปเพื่อ "เบรก" อาการเด้ง
เป้าหมาย: หยุดการสั่น ให้โดรนเคลื่อนที่นิ่มนวลเหมือนลิฟต์ห้างหรู
Step 3: I - Integral (แรงสะสม)
คืออะไร: การแก้ไขข้อผิดพลาดเล็กๆ น้อยๆ ที่ค้างอยู่
การจูน: ถ้าโดรนนิ่งแล้ว (จาก P+D) แต่อยู่ต่ำกว่าเส้นเขียวนิดหน่อย (เพราะสู้แรงโน้มถ่วงไม่ไหว) ให้เติม Ki ทีละนิด
ผลลัพธ์: โดรนจะค่อยๆ ดันตัวขึ้นไปทับเส้นเขียวได้เป๊ะ 100%
PID Controller คือสมการที่รวม "อดีต ปัจจุบัน และอนาคต" เข้าด้วยกัน:
Output = P + I + D
P (Proportional) = ปัจจุบัน: ดูค่า Error ณ ตอนนี้ (ยิ่งห่าง ยิ่งเร่งแรง)
I (Integral) = อดีต: ดูผลรวม Error ในอดีต (ถ้าพลาดมานาน ต้องรีบแก้)
D (Derivative) = อนาคต: ดูอัตราการเปลี่ยนแปลง (ถ้าพุ่งเร็วไป ต้องรีบเบรกก่อนจะเลย)
🚗 Cruise Control: ระบบล็อคความเร็วรถยนต์ เวลาขึ้นเนินรถจะเร่งเครื่องเอง (I-Term ทำงาน) เพื่อรักษารอบเครื่อง
🌡️ แอร์ Inverter: การเลี้ยงอุณหภูมิห้องให้เย็นคงที่ ไม่ตัดๆ ต่อๆ เหมือนแอร์รุ่นเก่า ก็ใช้ PID
🦾 แขนหุ่นยนต์: การที่หุ่นยนต์หยิบไข่ไก่ได้โดยไม่แตก ต้องใช้การจูน PID ที่แม่นยำสุดๆ
ร่างกายมนุษย์มีระบบ PID โดยธรรมชาติ! มาทดสอบกัน
📦 อุปกรณ์:
ไม้กวาด หรือ ไม้บรรทัดยาวๆ
นิ้วชี้ของคุณ
🧪 วิธีทดลอง:
จัดไม้กวาดในแนวตั้งให้ส่วนด้ามชี้ลงพื้น วางปลายไม้กวาด(ส่วนด้าม)ไว้บนปลายนิ้วชี้
พยายามเลี้ยงไม้กวาดให้ตั้งตรงให้นานที่สุด โดยขยับแค่มือ (ห้ามใช้มืออื่นจับ)
💡 วิเคราะห์ผล (Analysis):
สายตา (Sensor): มองเห็นว่าไม้กำลังจะล้ม (Error Detection)
สมอง (Controller): สั่งการกล้ามเนื้อ
P (Proportional): ไม้เอียงซ้ายนิดหน่อย -> ขยับมือไปซ้ายนิดหน่อย
D (Derivative): ไม้ล้มลงมาเร็วมาก! -> ขยับมือไปรับอย่างรวดเร็ว (Damping)
I (Integral): ลมพัดมาทางขวาตลอดเวลา -> เอียงมือสู้ลมนิดๆ ตลอดเวลา (Accumulated Error Fix)