โมดูล 5/5 · สัปดาห์ 13–15 · 27 ชม.

ภารกิจอัตโนมัติ SITL สู่ภาคสนาม

UAT 322 ปฏิบัติการปัญญาประดิษฐ์และการประกอบรวมระบบอากาศยานไร้คนขับอัตโนมัติ

เวลาเรียนประมาณ 90 นาทีร่าง รอตรวจปรับปรุงล่าสุด 27 กันยายน 2569

บทเรียน

เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ

  1. วางแผนการทดสอบเป็นขั้นจาก SITL, HITL, การบินโยงเชือกหรือในกรง จนถึงภาคสนาม พร้อมเกณฑ์ผ่านแต่ละขั้น
  2. รายงานอัตราสำเร็จพร้อมช่วงความเชื่อมั่น และคำนวณจำนวนรอบทดสอบที่ต้องใช้
  3. อธิบายและจำลองหลัก run-time assurance ที่สลับไปตัวควบคุมปลอดภัยเมื่อเข้าใกล้ขอบเขต
  4. ระบุข้อกำหนดด้านความปลอดภัยและกฎหมายก่อนนำภารกิจอัตโนมัติไปบินจริง

ความรู้พื้นฐานที่ควรมี: UAT 322 โมดูล 1–4 · UAT 312 (การวางแผนภารกิจและการบินอัตโนมัติ)

ทำไมต้องรู้

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

บันไดการทดสอบ

บันไดห้าขั้นสูงขึ้นจากซ้ายไปขวา: SITL ซอฟต์แวร์ล้วน สำเร็จ 48 จาก 50, HITL บอร์ดจริง 19 จาก 20, โยงเชือกหรือกรง ลำจริงในพื้นที่จำกัด, ภาคสนามเล็ก ในระยะสายตา 11 จาก 12 และภารกิจจริง ตามอนุญาตและคู่มือปฏิบัติการ
ภาพที่ 1 บันไดการทดสอบจากการจำลองสู่ภาคสนาม
ขั้นทดสอบอะไรความเสี่ยงเมื่อล้ม
SITLตรรกะภารกิจ failsafe และการเชื่อมต่อ ใช้ PX4 กับ Gazebo (make px4_sitl gz_x500) หรือ ArduPilot กับ sim_vehicle.pyไม่มี
HITLfirmware จริงบนบอร์ดจริง กับโลกจำลองต่ำ
โยงเชือกหรือในกรงตาข่ายลำจริง เซนเซอร์จริง ในพื้นที่ที่ควบคุมได้จำกัด
ภาคสนามเล็กภารกิจสั้นในระยะสายตา มีนักบินพร้อมรับช่วงปานกลาง
ภารกิจจริงตามใบอนุญาตและคู่มือปฏิบัติการต้องควบคุมด้วยการประเมินความเสี่ยง

ทุกขั้นทดสอบทั้งกรณีปกติและกรณีผิดปกติ เช่น คอมพิวเตอร์บนลำค้าง GNSS หาย สัญญาณควบคุมขาด และแบตเตอรี่ต่ำ โดยเช็กว่า failsafe และ geofence ทำงานตามที่ตั้งไว้ เอกสาร PX4 รวบรวมการตั้งค่า failsafe เหล่านี้ไว้ในหน้าเดียว

ผ่านกี่รอบจึงพอ

อัตราสำเร็จจากการทดสอบไม่กี่รอบมีความไม่แน่นอนสูง จึงต้องรายงานพร้อม ช่วงความเชื่อมั่น เหมือนที่เรียนใน UAT 106

ตัวอย่างที่ 1 อัตราสำเร็จแต่ละขั้น

import math
from scipy import stats

for stage, runs, ok in (("SITL", 50, 48), ("HITL", 20, 19), ("field", 12, 11)):
    ci = stats.binomtest(ok, runs).proportion_ci(confidence_level=0.95)
    print(f"{stage:<6} {ok}/{runs} = {ok / runs:.0%}  95% CI [{ci.low:.0%}, {ci.high:.0%}]")

reliability, confidence = 0.90, 0.95
n = math.ceil(math.log(1 - confidence) / math.log(reliability))
print(f"to show >= {reliability:.0%} success with {confidence:.0%} confidence and no failures: {n} runs in a row")
SITL   48/50 = 96%  95% CI [86%, 100%]
HITL   19/20 = 95%  95% CI [75%, 100%]
field  11/12 = 92%  95% CI [62%, 100%]
to show >= 90% success with 95% confidence and no failures: 29 runs in a row

ภาคสนามสำเร็จ 11 จาก 12 ครั้ง (92%) ฟังดูดี แต่ช่วงความเชื่อมั่นกว้างตั้งแต่ประมาณ 62% ถ้าต้องการแสดงว่าอัตราสำเร็จไม่ต่ำกว่า 90% ด้วยความเชื่อมั่น 95% ต้องสำเร็จติดต่อกันโดยไม่ล้มเลย 29 ครั้ง ตัวเลขนี้ช่วยวางแผนจำนวนเที่ยวบินทดสอบ และบอกว่าข้อสรุปแบบใดยังพูดไม่ได้

Run-time assurance

AI และตัววางแผนเส้นทางซับซ้อนเกินกว่าจะพิสูจน์ได้ว่าปลอดภัยในทุกสถานการณ์ แนวทาง run-time assurance (RTA) ตามมาตรฐาน ASTM F3269-21 จึงให้มี ตัวเฝ้าระวัง (monitor) ที่เรียบง่ายและตรวจสอบได้ คอยดูว่าระบบยังอยู่ในขอบเขตปลอดภัย ถ้าใกล้จะหลุด ให้สลับไปใช้ ตัวควบคุมปลอดภัย เช่น เบรก ลอยตัวค้าง หรือบินกลับ

ตัวควบคุมซับซ้อนแบบ AI หรือวางแผนเส้นทาง และตัวควบคุมปลอดภัยแบบเบรก ค้าง หรือ RTL ต่อเข้าตัวสลับ ตัวสลับส่งคำสั่งไปตัวควบคุมการบิน ข้อมูลจากตัวควบคุมการบินวนกลับไปตัวเฝ้าระวังขอบเขตปลอดภัย ซึ่งสั่งตัวสลับ
ภาพที่ 2 โครงสร้าง run-time assurance

ตัวอย่างที่ 2 ตัวเฝ้าระวังก่อนถึง geofence

ตัวควบคุมซับซ้อนเร่งโดรนไปทาง geofence ที่ 100 m ตัวเฝ้าระวังเผื่อระยะ 5 m และคิดระยะหยุดด้วยเวลาหน่วง 0.3 s และหน่วง 2.5 m/s²

fence, margin, latency, brake, dt = 100.0, 5.0, 0.3, 2.5, 0.1
x, v, t, mode = 80.0, 4.0, 0.0, "complex"
while t < 10:
    stop = v * latency + v * v / (2 * brake)
    if mode == "complex" and x + stop >= fence - margin:
        mode = "safe"
        print(f"switch to safe controller at t = {t:.1f} s, x = {x:.1f} m, v = {v:.1f} m/s")
    v = min(v + 0.5 * dt, 8.0) if mode == "complex" else max(v - brake * dt, 0.0)
    x += v * dt
    t = round(t + dt, 1)
    if mode == "safe" and v == 0:
        break
print(f"stopped at x = {x:.1f} m, {fence - x:.1f} m before the fence")
switch to safe controller at t = 2.0 s, x = 89.0 m, v = 5.0 m/s
stopped at x = 93.8 m, 6.2 m before the fence

ตัวเฝ้าระวังไม่ต้องรู้ว่าตัวควบคุมซับซ้อนคิดอะไร รู้เพียงว่าถ้าไปต่อจะหยุดไม่ทัน จึงตรวจสอบได้ง่ายกว่าตัว AI มาก ระบบจริงควรให้ตัวควบคุมการบินถือ geofence ไว้อีกชั้นหนึ่ง เผื่อคอมพิวเตอร์บนลำทั้งเครื่องล่ม

ก่อนบินจริง

  • กฎหมาย การบินนอกระยะสายตา (BVLOS) ในไทยมีแนวปฏิบัติของ กพท. CAAT-GM-UAS-PDRA101 (พ.ค. 2568) ซึ่งกำหนดการประเมินความเสี่ยงตามเงื่อนไขที่กำหนดไว้ล่วงหน้า คู่มือปฏิบัติการ การฝึกอบรม และแผนเผชิญเหตุ ต้องตรวจฉบับล่าสุดก่อนยื่นขอทุกครั้ง
  • ขั้นตอนปฏิบัติการ ตาม ISO 21384-3 และคู่มือปฏิบัติการของหน่วยงาน
  • ระบบที่ใช้ ML EASA วางแนวทางไว้ใน AI Concept Paper Issue 2 (2024) ครอบคลุมการรับรองการใช้ ML ระดับ 1 และ 2 เป็นกรอบอ้างอิงที่ดีสำหรับการเขียนหลักฐานความปลอดภัย
  • นักบินพร้อมรับช่วงเสมอ ในทุกขั้นที่บินจริง พร้อมสวิตช์เปลี่ยนโหมดหรือตัดการทำงานที่ทดสอบแล้ว

ปฏิบัติการประจำโมดูล

ปฏิบัติการ: ภารกิจสำรวจอัตโนมัติครบวงจร

  1. รวมงานจากโมดูล 1–4 เป็นภารกิจเดียว: ขึ้นบิน บินสำรวจตามเส้นทาง หลบสิ่งกีดขวางด้วยข้อมูลจากกล้องและตัววัดระยะ แล้วกลับลงจอด
  2. เขียนแผนทดสอบห้าขั้นพร้อมเกณฑ์ผ่านที่วัดได้ ก่อน ทดสอบ และรายการกรณีผิดปกติที่ต้องทดสอบ
  3. ทดสอบใน SITL อย่างน้อย 30 รอบด้วยลมและตำแหน่งสิ่งกีดขวางสุ่ม เพิ่มตัวเฝ้าระวังแบบตัวอย่างที่ 2 และทดสอบกรณีคอมพิวเตอร์บนลำค้าง
  4. ทดสอบในกรงหรือพื้นที่ควบคุมภายใต้การควบคุมของอาจารย์ มีนักบินพร้อมรับช่วง
  5. รายงานอัตราสำเร็จพร้อมช่วงความเชื่อมั่นทุกขั้น เหตุที่ล้มและการแก้ไข และข้อสรุปว่าพร้อมขั้นต่อไปหรือไม่

ข้อผิดพลาดที่พบบ่อย

ระวัง

  • ข้ามขั้นจาก SITL ไปภาคสนาม โดยไม่ผ่าน HITL หรือพื้นที่ควบคุม
  • ทดสอบแต่กรณีปกติ ไม่ทดสอบ failsafe
  • ตั้งเกณฑ์ผ่านหลังเห็นผล
  • รายงานอัตราสำเร็จโดยไม่มีช่วงความเชื่อมั่น จากรอบทดสอบไม่กี่รอบ
  • ให้ตัวเฝ้าระวังซับซ้อนเท่าตัวควบคุม จนตรวจสอบไม่ได้

สรุป

  • ทดสอบเป็นบันได SITL → HITL → พื้นที่ควบคุม → ภาคสนามเล็ก → ภารกิจจริง และทดสอบกรณีผิดปกติทุกขั้น
  • อัตราสำเร็จต้องมีช่วงความเชื่อมั่น การแสดงว่าสำเร็จไม่ต่ำกว่า 90% ที่ความเชื่อมั่น 95% ต้องสำเร็จติดกัน 29 ครั้ง
  • Run-time assurance ใช้ตัวเฝ้าระวังที่เรียบง่ายสลับไปตัวควบคุมปลอดภัยก่อนหลุดขอบเขต
  • ก่อนบินจริงต้องตรวจกฎหมาย คู่มือปฏิบัติการ และมีนักบินพร้อมรับช่วงเสมอ

แบบฝึกตรวจความเข้าใจ

  1. ขั้นใดทดสอบ firmware จริงบนบอร์ดจริงกับโลกจำลอง
  2. ต้องการแสดงว่าอัตราสำเร็จไม่ต่ำกว่า 95% ด้วยความเชื่อมั่น 95% ต้องสำเร็จติดกันกี่ครั้ง
  3. โดรนอยู่ที่ 90 m ความเร็ว 5 m/s เวลาหน่วง 0.2 s หน่วง 2.5 m/s² fence 100 m ระยะเผื่อ 3 m ตัวเฝ้าระวังควรสลับหรือยัง
  4. ทำไมตัวเฝ้าระวังใน run-time assurance จึงควรเรียบง่าย
  5. แนวปฏิบัติของ กพท. ฉบับใดเกี่ยวกับการบินนอกระยะสายตาด้วยการประเมินความเสี่ยงที่กำหนดล่วงหน้า
เฉลย
  1. HITL
  2. ครั้ง
  3. ระยะหยุด m จะหยุดที่ 96 m ยังไม่ถึงขอบ m จึงยังไม่ต้องสลับ แต่เหลือเพียง 1 m
  4. เพื่อให้ตรวจสอบและพิสูจน์ความถูกต้องได้ ต่างจากตัวควบคุมซับซ้อน
  5. CAAT-GM-UAS-PDRA101

สรุปสูตรสำคัญ

จำนวนรอบที่ต้องสำเร็จติดกัน
ระยะหยุดที่ใช้ในตัวเฝ้าระวัง

แหล่งอ้างอิงหลัก

  1. PX4 Autopilot. Gazebo simulation. PX4 user guide (main). link
  2. PX4 Autopilot. Hardware in the loop simulation (HITL). PX4 user guide (main). link
  3. PX4 Autopilot. Safety configuration (failsafes). PX4 user guide (main). link
  4. ArduPilot Dev Team. SITL simulator (software in the loop). link
  5. ASTM International. (2021). Standard practice for methods to safely bound behavior of aircraft systems containing complex functions using run-time assurance (ASTM F3269-21). link
  6. European Union Aviation Safety Agency. (2024). EASA artificial intelligence concept paper issue 2: Guidance for Level 1 & 2 machine learning applications. link
  7. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2568). แนวปฏิบัติในการขอปฏิบัติการบินอากาศยานซึ่งไม่มีนักบินโดยใช้การประเมินความเสี่ยงที่เป็นไปตามเงื่อนไขที่กำหนดสำหรับการบินเกินกว่าระยะสายตา (CAAT-GM-UAS-PDRA101 ปรับปรุงครั้งที่ 00). link
  8. International Organization for Standardization. (2023). Unmanned aircraft systems — Part 3: Operational procedures (ISO 21384-3:2023). link

อ่านเพิ่มเติม

ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล

ในชั้นเรียน / ภาคสนาม

ปฏิบัติการเข้มข้นในแล็บและภาคสนาม บันทึกผลลงสมุดปฏิบัติการ

หลักฐานการเรียนรู้: สมุดปฏิบัติการที่อาจารย์ลงนาม

แบบทดสอบประจำโมดูล

แบบทดสอบนี้ใช้ตรวจความเข้าใจ (formative) ไม่ใช่การสอบเก็บคะแนน

โดเมนความรู้: การวางแผนภารกิจ การบิน และการจำลอง · การควบคุม ออโตไพลอต และการนำทาง · การสื่อสาร เครือข่าย และ IoT · การเขียนโปรแกรมและเทคโนโลยีดิจิทัล