ฟิสิกส์และการประเมินความสมจริง
แยกภาพสวยออกจากโมเดลแรง มวล ลม และความหน่วง พร้อมวิธีทดลองเปรียบเทียบ
ภาพสมจริงไม่ได้ยืนยันแรงที่สมจริง
ระบบแสดงภาพสร้างสิ่งที่ผู้ใช้มองเห็น ส่วนโมเดลพลศาสตร์คำนวณการเคลื่อนที่จากแรงและโมเมนต์ ทั้งสองชั้นอาจมีความละเอียดต่างกัน RotorPy เน้นโมเดลและงานวิจัย ขณะที่เครื่องมือฝึกมือเน้นประสบการณ์ควบคุม การเลือกจึงต้องดูโจทย์และหลักฐานที่วัดได้
ขณะลอยนิ่งในแบบจำลองอย่างง่าย แรงขับแนวดิ่งรวมต้องสมดุลน้ำหนัก T ≈ mg แต่ไม่ควรแปลงสมการนี้เป็นเปอร์เซ็นต์คันเร่งโดยตรง เพราะชุดขับเคลื่อนและระบบควบคุมมีการตอบสนองของตนเอง
ตัวแปรที่เปลี่ยนพฤติกรรม
| ตัวแปร | สิ่งที่ควรสังเกต | ข้อควรระวังในการตีความ |
|---|---|---|
| มวลและจุดศูนย์ถ่วง | การไต่และการรักษาท่าทาง | เพิ่มมวลโดยไม่ปรับ inertia อาจไม่แทนของจริง |
| แรงขับและ motor lag | เวลาตอบสนองและ overshoot | แรงขับสูงสุดกับความเร็วตอบสนองคนละค่า |
| ลมและแรงต้าน | การเบนจากเส้นทาง | ต้องระบุทิศและความแปรปรวนของลม |
| เซนเซอร์และ latency | ความแกว่งและการแก้ทิศ | FPS ต่ำไม่ใช่หลักฐานว่า latency ของเซนเซอร์ถูกจำลอง |
อ่านแบบจำลอง aerodynamic effects ของโครงการที่ใช้ก่อนเปิดตัวเลือก อย่าสรุปว่าการมีคำว่า physics หมายถึงครอบคลุมทุกปรากฏการณ์
แบบทดลองเปลี่ยนทีละปัจจัย
ตั้งกรณีฐานลมสงบ ใช้ลำจำลองเดิมและเส้นทางเดิม บันทึกเวลาเข้าที่กับความคลาดเคลื่อน จากนั้นเปลี่ยนมวลหรือลมเพียงอย่างเดียว ทำซ้ำอย่างน้อยสามรอบตามเกณฑ์ฝึกที่เสนอ บันทึกค่าตัวแปรและรุ่นซอฟต์แวร์ด้วย
ถ้าต้องการอ้างว่าใกล้เคียงลำจริง ต้องมีข้อมูลจากลำนั้น เงื่อนไขใกล้เคียง และข้อมูลอีกชุดที่ไม่ได้ใช้ปรับโมเดล รอบนี้ไม่มีการตรวจยืนยันเช่นนั้น จึงใช้บทนี้เพื่อเรียนรู้วิธีตั้งคำถามและออกแบบการทดลอง
ต่อยอด คำนวณมวลและจุดศูนย์ถ่วง และ หลักการทดสอบ
บรรณานุกรมและแหล่งต้นทาง
ตรวจเอกสารวันที่ 23 กันยายน 2569
- RotorPy: dynamics and examples
- gym-pybullet-drones: setup and examples
- Flightmare: research simulator
F10: PID หนึ่งรอบคำนวณสะสมและจำกัดคำสั่งอย่างไร
| ตัวแปร | ความหมายและหน่วยเข้า → ออก | ช่วง/แหล่งค่า |
|---|---|---|
| r, y, e | เป้าหมาย ค่าวัด และ error ไร้หน่วย (เข้า/ออก) | finite; e=r−y ในแบบจำลองการศึกษา |
| Δt | ช่วงระหว่าง sample s (เข้า) | > 0; timestamp จริงหรือ simulator |
| I_prev, I | อินทิกรัลก่อน/หลัง s (เข้า/ออก) | finite; ระบุค่าเริ่มต้น |
| e_prev, D | error ก่อนหน้า (เข้า), อนุพันธ์ 1/s (ออก) | finite; ระบุค่าเริ่มต้น ไม่เดาค่า sample แรก |
| Kp, Ki, Kd | gain หน่วย 1, 1/s, s (เข้า) | ≥ 0 สำหรับโจทย์นี้; ไม่ใช่ค่า tune ลำจริง |
| u_raw, u | คำสั่งก่อน/หลัง clip ไร้หน่วย (ออก) | u อยู่ใน [u_min,u_max]; ขอบเขต finite และ min < max |
ระดับประยุกต์ · คำถาม: error เปลี่ยนแล้ว P, I และ D รวมเป็นคำสั่งอย่างไร?
e = r − y; u(t) = Kp e(t) + Ki ∫e(t)dt + Kd de/dt
I_k = I_(k−1) + e_k Δt; D_k = (e_k − e_(k−1))/Δt
u_raw = Kp e_k + Ki I_k + Kd D_k; u = min(u_max, max(u_min, u_raw))
นี่คือ positional PID สำหรับสอน: rectangle integral ใช้ error ปัจจุบันและ backward derivative บน error; ไม่ใช่ source code ของ PX4 ตามเอกสาร PX4 v1.15 rate controller มีการจำกัด integral และ D ใช้อนุพันธ์ gyro ที่กรองแล้ว จึงเทียบ gain ตรง ๆ ไม่ได้ ถ้า error หรือ u มีหน่วยอื่น gain ต้องเปลี่ยนหน่วยตาม
แบบจำลองนี้แสดง clip เพื่อเห็น saturation แต่ clip คำสั่งอย่างเดียวไม่ป้องกัน integral windup และ derivative บน error อาจกระชากเมื่อเปลี่ยน setpoint ต้องออกแบบ anti-windup, D-filter, timestamp และ reset state สำหรับ implementation จริง ทดลองใน simulator ก่อน; ไม่คัด gain นี้ไปลำจริง
ตัวอย่างแทนค่า
ตั้ง r=3, y=1, e_prev=1, I_prev=0, Δt=0.1 s, Kp=0.2, Ki=0.5/s, Kd=0.01 s และช่วงคำสั่ง [−1,1] ได้ e=2, I=0+2×0.1=0.2 s, D=(2−1)/0.1=10/s ดังนั้น u_raw=0.4+0.1+0.1=0.6 และ u=0.6 แต่ละพจน์กลับเป็นคำสั่งไร้หน่วย
แบบฝึกเปลี่ยนค่า
เปลี่ยน r เป็น 7 โดยคง state ก่อนหน้าและค่าที่เหลือเดิม คำนวณก่อนและหลัง clip และตอบว่า integral หยุดสะสมหรือไม่
เปิดเฉลย F10
e=6, I=0.6 s, D=50/s, u_raw=1.2+0.3+0.5=2 และ u=1 ยอมรับ ±0.000001 ต่อค่า integral ยังสะสมตามสมการ จึงยังไม่มี anti-windup
อ้างอิง: PX4 User Guide v1.15 — Controller Diagrams, Multicopter Angular Rate Controller (P3E03); ตรวจ 26 กันยายน 2569
ต่อยอดอากาศพลศาสตร์และสมการการไหล
อ่าน สมการนาเวียร์–สโตกส์ แล้วทดลอง Re/Mach และ การไหลระหว่างแผ่นขนาน เพื่อแยกแบบจำลองการไหลออกจากแบบจำลองการเคลื่อนที่ของโดรน
ดาวน์โหลดชุดฝึกสูตรวิศวกรรมและเซนเซอร์ (CSV/JSON พร้อมเฉลย) · ข้อมูลสังเคราะห์สำหรับฝึกคำนวณและตรวจสมมติฐาน