พื้นฐาน UAV/UAS และการจำลองบิน

เริ่มจากแยกส่วนประกอบระบบและบทบาทของ simulator ก่อนทดลอง mission และอ่านผลการบิน

ปรับปรุงล่าสุด:

คอมพิวเตอร์จำลองภารกิจบินพร้อมจอยและสมุดบันทึก
ภาพประกอบแนวคิดสร้างด้วย AI

มองโดรนเป็นระบบ

แผนภาพสถาปัตยกรรมระบบ UAS สี่ส่วน: GCS เชื่อมกับ Flight stack ผ่าน telemetry/คำสั่ง, Flight stack เชื่อมกับ Physics simulator ผ่าน SITL, Mission application เรียกใช้ Flight stack ผ่าน API

UAV คืออากาศยาน ส่วน UAS ครอบคลุมสถานีควบคุม ลิงก์สื่อสาร และส่วนสนับสนุนภารกิจด้วย เมื่อแก้ปัญหาการบินควรถามก่อนว่าปัญหาเกิดที่อากาศยาน การสื่อสาร หรือโปรแกรมภารกิจ ไม่เริ่มจากเปลี่ยน PID ทุกครั้ง

ส่วน หน้าที่ ตัวอย่าง
Flight stack ประมาณสถานะ ควบคุม และจัดการโหมดบิน ArduPilot, PX4
GCS วางภารกิจ อ่าน telemetry และตั้งค่า QGroundControl, Mission Planner
Physics simulator คำนวณการเคลื่อนที่และ sensor จำลอง Gazebo, JSBSim
Mission application ประมวลผลข้อมูลและเรียกใช้ภารกิจ Python + MAVSDK

เลือกประเภทอากาศยานจากภารกิจ

ภาพเงาสามประเภทอากาศยานเทียบกัน: multirotor, fixed-wing และ VTOL พร้อมแถบรูปแบบการบินขึ้น-ล่องใต้ภาพแต่ละแบบ

Multirotor เหมาะกับการขึ้นลงแนวดิ่งและหยุดค้างตำแหน่ง ส่วน fixed-wing ใช้แรงยกจากปีกขณะเคลื่อนที่และต้องมีเงื่อนไขขึ้นลงที่เหมาะสม VTOL รวมรูปแบบการบินแต่เพิ่มความซับซ้อนช่วงเปลี่ยนผ่าน จึงควรแยกแบบจำลองและเกณฑ์ทดสอบของแต่ละประเภท

แรงทั้งสี่และแกนการเคลื่อนที่

ภาพเงาโดรนสี่ใบพัดพร้อมลูกศรแรงยก แรงขับ แรงต้าน และน้ำหนัก และแกนหมุน Roll, Pitch, Yaw ผ่านตัวลำ

อากาศยานเคลื่อนที่ภายใต้แรงยก แรงขับ แรงต้าน และน้ำหนัก การรักษาระดับไม่ได้แปลว่าแรงทุกชนิดหายไป แต่เป็นการควบคุมให้แรงและโมเมนต์สอดคล้องกับการเคลื่อนที่ที่ต้องการ สำหรับ multirotor แรงจากใบพัดมีทั้งส่วนพยุงน้ำหนักและส่วนเร่งไปในแนวราบเมื่อเอียงลำ จึงไม่ควรนำภาพแรงของเครื่องบินปีกตรึงมาแทนทุกโหมดโดยตรง

คำศัพท์ สิ่งที่เกิดขึ้น จุดสังเกตในการจำลอง
Roll หมุนรอบแกนตามยาวของลำ ลำเอียงซ้ายหรือขวา
Pitch หมุนรอบแกนขวาง หัวลำก้ม/เงย
Yaw หมุนรอบแกนแนวดิ่งของลำ หัวลำเปลี่ยนทิศ
Heading / track ทิศหัวลำ / ทิศการเคลื่อนที่เหนือพื้น อาจต่างกันเมื่อมีลมหรือบินด้านข้าง

ให้ตรวจนิยามแกนและเครื่องหมายจากระบบที่ใช้ก่อนอ่าน log เพราะ frame ของภาพ กล้อง ตัวลำ และโลกอาจต่างกัน การเห็นค่าบวกไม่ได้บอกทิศทางเดียวกันในทุกระบบ

อ่านข้อจำกัดจากคู่มือของรุ่นที่ใช้

เวลาบินสูงสุด ระยะส่งสัญญาณ และความสามารถต้านลมเป็นข้อมูลคนละเรื่อง ต้องอ่านเงื่อนไขทดสอบ น้ำหนักบรรทุก แบตเตอรี่ อุณหภูมิ และโหมดประกอบ ระยะสื่อสารที่โฆษณาไม่ได้กำหนดระยะปฏิบัติการที่ได้รับอนุญาต และเวลาบินสูงสุดไม่ใช่เวลาที่ควรวางแผนใช้หมดในหนึ่งภารกิจ

GNSS ให้ข้อมูลสำหรับประมาณตำแหน่ง ส่วน autopilot ใช้ข้อมูลเซนเซอร์และคำสั่งเพื่อควบคุมอากาศยาน ระบบหลบสิ่งกีดขวางและการตรวจอากาศเป็นความสามารถอีกส่วนหนึ่ง การมี GPS จึงไม่รับประกันว่าจะหลบสิ่งกีดขวางหรือบินปลอดภัยในอากาศไม่ดีได้ Return-to-home ก็ต้องตรวจจุด home ระดับอ้างอิงและพฤติกรรมของรุ่นนั้น

SITL ทดสอบอะไรได้

Software-in-the-loop ทำให้ firmware ทำงานกับสภาพแวดล้อมจำลองบนคอมพิวเตอร์ได้ เหมาะกับการเรียน mode, waypoint, message และพฤติกรรมเมื่อเปลี่ยนเงื่อนไข ไม่ต้องมี flight controller ก่อนเริ่ม แต่ sensor noise, vibration และสมรรถนะพลังงานขึ้นกับแบบจำลอง ไม่ใช่การวัดลำจริง

ตัวอย่างโจทย์คือรัน waypoint เดิมสองครั้ง เปลี่ยนเฉพาะลม แล้วเทียบ target position กับ actual position ตามเวลา ควรเก็บ model, firmware, parameters และหน่วยพิกัดด้วย มิฉะนั้นกราฟสองชุดอาจเทียบกันไม่ได้

Windows และ Linux

บน Windows เริ่ม ArduPilot Simulation ใน Mission Planner หรือใช้ WSL2 ตามคู่มือ ส่วน Linux ใช้ SITL ร่วมกับ MAVProxy/QGroundControl ได้โดยตรง PX4+Gazebo ต้องจับคู่ Ubuntu, PX4 และ Gazebo ให้ตรงรุ่น หลีกเลี่ยงนำคำสั่ง Gazebo Classic มาปนกับรุ่นใหม่

F01: แปลงหน่วยก่อนแทนค่า

ระดับพื้นฐาน · คำถาม: ตัวเลขจากแบตเตอรี่ เซนเซอร์ และ log นำมาคำนวณร่วมกันได้หรือยัง? เริ่มจากเขียนหน่วยติดทุกค่า แล้วแปลงให้ตรงกับสูตร อย่าเดาหน่วยจากขนาดตัวเลข หลักหน่วยและคำนำหน้าตาม BIPM, SI Brochure ฉบับที่ 9 ปรับปรุง 2026 (S01, ตรวจ 26 กันยายน 2569)

θrad = θdeg × π / 180

QAh = QmAh / 1000

EWh = EJ / 3600

อ่านว่า มุมองศาคูณพายหาร 180 ได้เรเดียน; ความจุมิลลิแอมป์ชั่วโมงหาร 1000 ได้แอมป์ชั่วโมง; พลังงานจูลหาร 3600 ได้วัตต์ชั่วโมง ตัวห้อยระบุหน่วย ไม่ใช่ตัวคูณ

ตัวแปร ความหมายและหน่วยเข้า → ออก ช่วง/แหล่งค่า
θ มุม deg → rad จำนวนจริง; อ่านนิยามทิศบวกจาก API หรือ log
Q ความจุประจุ mAh → Ah ตั้งแต่ 0; ฉลากแบตเตอรี่หรือค่าที่วัด
E พลังงาน J → Wh ตั้งแต่ 0 ในบัญชีพลังงานใช้ไป; มิเตอร์หรือผลรวมกำลังตามเวลา
π ค่าพาย ไม่มีหน่วย ใช้ค่าพายเต็มความละเอียดระหว่างคำนวณ

การแปลง 1000 mAh เป็น 1 Ah, 180 องศาเป็น π rad และ 3600 J เป็น 1 Wh

คำอธิบายภาพ: ลูกศรแต่ละแถวเป็นการแปลงปริมาณเดิม เปลี่ยนเฉพาะหน่วย โดยหาร 1000 สำหรับ mAh, คูณ π/180 สำหรับองศา และหาร 3600 สำหรับจูล ไม่ได้แปลงความจุประจุเป็นพลังงานโดยตรง

ตัวอย่าง: ตรวจหน่วยในใบงานพลังงาน

  1. อ่านความจุ 5000 mAh แล้วหาร 1000 ได้ 5 Ah
  2. เมื่อแรงดัน nominal เท่ากับ 22.2 V จะได้พลังงาน nominal 22.2 V × 5 Ah = 111 Wh เพราะ V × A = W
  3. แปลงเป็นจูล: 111 Wh × 3600 = 399600 J ค่าพลังงานเท่าเดิม
  4. หาก log มุมให้ 90° ให้คูณ π/180 ได้ π/2 ≈ 1.570796 rad ก่อนส่งฟังก์ชันที่รับเรเดียน

การตรวจมิติจับข้อผิดพลาดได้ เช่น Wh/W ให้ชั่วโมง แต่ Ah/W ไม่ได้เวลา มวล kg ก็ไม่ใช่แรง N: น้ำหนักต้องคำนวณจาก m × g การแปลงหน่วยไม่เพิ่มความแม่นยำของเครื่องมือ และไม่แก้ timestamp หรือกรอบพิกัดผิด ในงานหุ่นยนต์ Open Robotics REP 103 (S29) อธิบายหน่วยและแกนมาตรฐาน แต่ต้องตรวจข้อยกเว้นของระบบที่ใช้ด้วย

ลองทำด้วยตนเอง

แบตเตอรี่ 2500 mAh เท่ากับกี่ Ah, มุม −90° เท่ากับกี่ rad และพลังงาน 7200 J เท่ากับกี่ Wh? ยอมรับคำตอบมุมคลาดเคลื่อนไม่เกิน 0.000001 rad

เปิดเฉลย F01

2500/1000 = 2.5 Ah; −90 × π/180 = −π/2 ≈ −1.570796 rad; 7200/3600 = 2 Wh เครื่องหมายลบของมุมต้องคงอยู่ ไม่ใช้ค่าสัมบูรณ์เพื่อให้เป็นบวก

ต่อด้วย พลังงานและเวลาบิน หรือ เครื่องมือคำนวณเดิม โดยตรวจหน่วยที่ช่องป้อนทุกครั้ง

F02: ระยะ เวลา และระยะหยุดในแบบจำลอง

ระดับพื้นฐาน · คำถาม: เมื่อสั่งหยุดแล้วลำยังเคลื่อนต่อไปกี่เมตร? แยกระยะระหว่างรอคำสั่งออกจากระยะชะลอ สูตรอ่านได้และคัดลอกได้โดยไม่ใช้ JavaScript

v̄ = Δs / Δt; ā = Δv / Δt

dstop = v tdelay + v² / (2 abrake)

อ่านว่า ความเร็วเฉลี่ยเท่ากับการกระจัดหารเวลา ความเร่งเฉลี่ยเท่ากับความเร็วที่เปลี่ยนหารเวลา ระยะหยุดเท่ากับระยะรอรวมระยะเบรก

ตัวแปร ความหมายและหน่วยเข้า → ออก ช่วง/แหล่งค่า
Δs, Δv การกระจัด m และความเร็วที่เปลี่ยน m/s; input จำนวนจริงแบบมีเครื่องหมาย; log ในแกนเดียวกัน
Δt ช่วงเวลา s; input > 0 จาก timestamp เดียวกัน
v̄, ā ความเร็วเฉลี่ย m/s, ความเร่งเฉลี่ย m/s²; output มีเครื่องหมายตามแกน
v อัตราเร็วเริ่มเบรก m/s; input ≥ 0 จากกรณีสังเคราะห์หรือ log
tdelay เวลารอก่อนเริ่มชะลอ s; input ≥ 0; รวมการตรวจจับ/สั่งการที่นิยามไว้
abrake ขนาดความหน่วง m/s²; input > 0; ค่าบวก แม้ความเร่งตามแกนเป็นลบ
dstop ระยะหยุด m; output ≥ 0 ภายใต้แบบจำลอง

สมมติฐาน: เคลื่อนที่หนึ่งมิติ ความเร็วคงเดิมระหว่างรอ จากนั้นชะลอคงที่จนหยุด ไม่รวมลม การเอียงลำ jerk หรือข้อจำกัดตัวควบคุม ถ้า abrake เป็นศูนย์ ห้ามหารแล้วรายงานระยะหยุด สูตรนี้ไม่กำหนดระยะปลอดภัยจริง ความสัมพันธ์ใช้ OpenStax §3.4 สมการ 3.10–3.14 (S02, ตรวจ 26 กันยายน 2569)

กราฟความเร็วคงที่ระหว่างรอ 0.2 วินาที แล้วลดจาก 5 เป็นศูนย์ใน 2.5 วินาที

คำอธิบายภาพ: พื้นที่ใต้กราฟความเร็วคือระยะทาง สี่เหลี่ยมช่วงรอมีพื้นที่ 1 m และสามเหลี่ยมช่วงชะลอมีพื้นที่ 6.25 m รวม 7.25 m

ตัวอย่างและการตรวจหน่วย

  1. log สมมติเคลื่อน 10 m ใน 2 s: v̄ = 10/2 = 5 m/s
  2. ลดความเร็วจาก 5 เป็น 0 m/s ใน 2.5 s: ā = (0−5)/2.5 = −2 m/s² จึงใช้ abrake = 2
  3. รอ 0.2 s: ระยะรอ = 5×0.2 = 1 m; ระยะเบรก = 25/(2×2) = 6.25 m
  4. รวม 7.25 m; ตรวจหน่วย (m/s)²/(m/s²) = m ระยะนี้เป็นผลจำลอง ไม่ใช่ข้อเสนอระยะห่างจากคน

แบบฝึก: เปลี่ยนความเร็ว

เปลี่ยน v เป็น 10 m/s แต่ใช้ delay และ abrake เดิม ระยะหยุดเป็นเท่าใด? ยอมรับ ±0.01 m

เปิดเฉลย F02

ระยะรอ 10×0.2 = 2 m; ระยะเบรก 100/4 = 25 m; รวม 27 m ไม่ใช่สองเท่าของ 7.25 m เพราะพจน์เบรกเพิ่มตามกำลังสองของความเร็ว

นำโจทย์ไปเทียบ log ใน simulator และอ่าน เวลาไปกลับเมื่อมีลม

อ่านต่อและแหล่งอ้างอิง

เนื้อหานี้เรียบเรียงจากเอกสารที่ DTI เอื้อเฟื้อและแหล่งอ้างอิงข้างต้น ตัวอย่างตัวเลขเป็นกรณีเพื่อการเรียนรู้ อ่านกิตติกรรมประกาศและที่มาของเนื้อหา

เชื่อมความรู้กับภารกิจและข้อมูล

การเลือกชนิดอากาศยานควรเริ่มจากคำถามและพื้นที่ทำงาน ก่อนเปรียบเทียบระยะบินหรือกล้อง บันทึกสิ่งที่ต้องได้ เช่น ภาพสภาพถนน พร้อมข้อจำกัดที่ยอมรับไม่ได้ ไม่ถือว่าการมีอุปกรณ์ครบแปลว่าทีมพร้อมปฏิบัติงาน อ่านแหล่งอ้างอิง: CAAT — Guidance for Development of an Operations Manual

ฝึกตรวจความเข้าใจ: เขียนโจทย์สำรวจหนึ่งประโยค แล้วแยกข้อจำกัดคน เครื่อง และพื้นที่อย่างละหนึ่งข้อ

อ่านต่อ บทที่ใช้ความรู้นี้ในงานจำลอง · ทบทวนแหล่งข้อมูล 26 กันยายน 2569

ต่อยอดอากาศพลศาสตร์และสมการการไหล

อ่าน สมการนาเวียร์–สโตกส์ แล้วทดลอง Re/Mach และ การไหลระหว่างแผ่นขนาน เพื่อแยกแบบจำลองการไหลออกจากแบบจำลองการเคลื่อนที่ของโดรน

ดาวน์โหลดชุดตรวจคำตอบสูตรพื้นฐาน (JSON) · ข้อมูลสังเคราะห์พร้อมหน่วย ใช้เปรียบเทียบผลคำนวณของตนเอง

ดาวน์โหลดชุดฝึกสูตรประยุกต์ (CSV/JSON พร้อมเฉลย) · ข้อมูลสังเคราะห์สำหรับฝึกคำนวณและตรวจหน่วย

ใช้ในรายวิชา

วิธีอ้างอิงหน้านี้

สถาบันโดรน มหาวิทยาลัยรังสิต. (2569). พื้นฐาน UAV/UAS และการจำลองบิน. ใน คลังความรู้หลักสูตร ทล.บ. เทคโนโลยีระบบอากาศยานไร้คนขับ. https://rsu-drt.pk-research.work/th/kb/knowledge/fundamentals/

ต้นฉบับจากคลังความรู้โดรน: https://drone.pk-research.work/knowledge/fundamentals/ · © PK-Research