SORA และ Specific Category
UAT 401 กฎหมาย ความปลอดภัย และการบริหารความเสี่ยงของระบบอากาศยานไร้คนขับ
บทเรียน
เมื่อเรียนจบโมดูลนี้ ผู้เรียนจะสามารถ
- นิยาม flight geography, contingency volume, operational volume และ ground risk buffer ตาม SORA 2.5
- คำนวณขนาดพื้นที่ที่ใช้ประเมินความเสี่ยงภาคพื้นจากความเร็ว เวลาตอบสนอง และความสูง
- หาความหนาแน่นประชากรสูงสุดใน footprint และเลือกแถวของตาราง iGRC
- เปรียบเทียบผลของมาตรการลดความเสี่ยงกับการออกแบบพื้นที่ใหม่ต่อค่า SAIL
ทำไมต้องรู้
UAT 312 ไล่สิบขั้นตอนของ SORA 2.5 และอ่านตารางหา iGRC กับ SAIL ในกรณีฝึก หน่วยความรู้เรื่องระเบียบวิธี SORA ของคลังความรู้โดรนอธิบาย ConOps, GRC, ARC, SAIL และ OSO ส่วนหน่วยความรู้เรื่อง BVLOS และการประเมินความเสี่ยงเตือนให้เชื่อมความเสี่ยง มาตรการ และหลักฐานเข้าด้วยกัน ในงานจริง ค่าที่ป้อนเข้าตาราง เช่นความหนาแน่นประชากร ขึ้นกับขนาดพื้นที่ที่เราวาดเอง โมดูลนี้จึงฝึกคำนวณพื้นที่เหล่านั้น และเห็นว่าการออกแบบพื้นที่ใหม่บางครั้งได้ผลเท่ากับการเพิ่มอุปกรณ์
ปริมาตรและ buffer ใน SORA 2.5
SORA 2.5 (JARUS, 2024) ให้นิยามดังนี้ flight geography คือบริเวณที่โดรนบินในสภาพปกติ รวมระยะเผื่อความคลาดเคลื่อนของระบบและการปฏิบัติ contingency volume ล้อมรอบ flight geography การเข้าไปในบริเวณนี้ถือเป็นสภาพผิดปกติที่ต้องใช้ขั้นตอน contingency operational volume คือ flight geography รวม contingency volume และเป็นฐานของการประเมินความเสี่ยงทางอากาศ ส่วน ground risk buffer คือพื้นที่บนพื้นดินที่ล้อมรอบรอยเท้าของ contingency volume เอกสารหลักระบุว่า buffer เริ่มต้นอาจกำหนดด้วย หลัก 1 ต่อ 1 (กว้างเท่าความสูงบิน) หรือค่าอื่นที่พิสูจน์ได้ตามภาคผนวก E และ buffer สุดท้ายกำหนดในขั้นที่ 8 ซึ่งอาจเปลี่ยนตามระดับ containment หรือมาตรการ เช่นร่มชูชีพ
ตัวอย่างที่ 1 พื้นที่สำรวจชานเมืองติดหมู่บ้าน
flight geography 400 × 300 m บินสูงสุด 60 m ความเร็ว 15 m/s ผู้บังคับใช้เวลาตอบสนอง 3 s และระยะหยุดสมมติ 15 m ข้อมูลประชากรเป็นตาราง 100 m ทุ่งนาทางตะวันตก 20 คน/km² พื้นที่ทั่วไป 300 คน/km² และหมู่บ้านทางตะวันออก 1,200 คน/km² (ข้อมูลสมมติ)
import numpy as np
fg_w, fg_h = 400.0, 300.0 # flight geography (m)
height = 60.0 # ความสูงบินสูงสุด AGL (m)
speed, react = 15.0, 3.0 # ความเร็ว m/s และเวลาตอบสนองของผู้บังคับ s
contingency = speed * react + 15.0 # ระยะวิ่งระหว่างตอบสนอง + ระยะหยุด (สมมติ)
buffer = height # ground risk buffer เริ่มต้นตามหลัก 1 ต่อ 1
def area(margin):
return (fg_w + 2 * margin) * (fg_h + 2 * margin) / 1e6 # km²
print(f"contingency volume width {contingency:.0f} m, ground risk buffer {buffer:.0f} m")
print(f"flight geography {area(0):.3f} km², operational volume {area(contingency):.3f} km², "
f"with buffer {area(contingency + buffer):.3f} km²")
# ความหนาแน่นประชากร (คน/km²) ของตาราง 100 m รอบพื้นที่ (ข้อมูลสมมติ)
x = np.arange(-200, 700, 100) + 50
y = np.arange(-200, 600, 100) + 50
X, Y = np.meshgrid(x, y)
dens = np.where(X >= 450, 1200, 300) # หมู่บ้านอยู่ทางตะวันออก
dens = np.where(X < 0, 20, dens) # ทุ่งนาทางตะวันตก
m = contingency + buffer
cover = (X > -m) & (X < fg_w + m) & (Y > -m) & (Y < fg_h + m)
fg = (X > 0) & (X < fg_w) & (Y > 0) & (Y < fg_h)
print(f"max density in flight geography {dens[fg].max()} /km², "
f"in footprint with buffer {dens[cover].max()} /km²")
contingency volume width 60 m, ground risk buffer 60 m
flight geography 0.120 km², operational volume 0.218 km², with buffer 0.346 km²
max density in flight geography 300 /km², in footprint with buffer 1200 /km²
พื้นที่ที่ต้องใช้ประเมินความเสี่ยงภาคพื้นใหญ่เกือบสามเท่าของ flight geography และแม้เส้นทางบินจะไม่เข้าหมู่บ้าน แต่ buffer ครอบถึงช่องที่มีหมู่บ้าน ความหนาแน่นสูงสุดที่ต้องใช้จึงเป็น 1,200 ไม่ใช่ 300 คน/km² สูตรความกว้าง contingency volume ในตัวอย่างเป็นแบบง่ายเพื่อการสอน งานจริงต้องรวมความคลาดของระบบนำทาง ลม และการบินที่ใช้หยุดจริงของอากาศยานรุ่นนั้น
จาก iGRC สู่ SAIL
ตาราง 2 ของ SORA 2.5 ให้ iGRC ตามขนาดและความเร็วสูงสุดของอากาศยานกับความหนาแน่นประชากร สำหรับคอลัมน์ขนาดไม่เกิน 1 m และความเร็วไม่เกิน 25 m/s แถวความหนาแน่นน้อยกว่า 5, 50, 500, 5,000 และ 50,000 คน/km² ให้ iGRC 2, 3, 4, 5 และ 6 และพื้นที่ควบคุมได้ iGRC 1 ตาราง 5 ให้มาตรการลดความเสี่ยงภาคพื้น เช่น M2 (ลดพลังงานกระแทก เช่นร่มชูชีพ) ระดับกลางลด 1 ระดับสูงลด 2 และตาราง 7 แปลง final GRC กับ residual ARC เป็น SAIL
ตัวอย่างที่ 2 เพิ่มร่มชูชีพ หรือหดพื้นที่บิน
โดรนขนาดไม่เกิน 1 m ความเร็วไม่เกิน 25 m/s สมมติ residual ARC-b ทุกกรณี เทียบสามทาง ไม่มีมาตรการ ใช้ M2 ระดับกลางที่มีหลักฐานครบ และหดขอบตะวันออกของพื้นที่บิน 100 m จน footprint ไม่ถึงหมู่บ้าน (กรณีฝึก)
ROWS = [5, 50, 500, 5000, 50000] # ขอบบนของแถวความหนาแน่น (คน/km²) ตาราง 2 SORA 2.5
IGRC_1M = [2, 3, 4, 5, 6] # คอลัมน์ 1 m / 25 m/s
MIN_1M = 1 # แถวพื้นที่ควบคุม
SAIL = {2: "I II IV VI", 3: "II II IV VI", 4: "III III IV VI",
5: "IV IV IV VI", 6: "V V V VI", 7: "VI VI VI VI"} # ตาราง 7, ARC a b c d
def igrc(density):
for top, g in zip(ROWS, IGRC_1M):
if density < top:
return g
return 7
def sail(grc, arc):
return SAIL[max(grc, 2)].split()["abcd".index(arc)]
cases = {
"village east, no mitigation": (1200, 0, "b"),
"village east, M2 medium (-1)": (1200, -1, "b"),
"flight area cut by 100 m": (300, 0, "b"),
}
for name, (d, mit, arc) in cases.items():
g0 = igrc(d)
g = max(g0 + mit, MIN_1M)
print(f"{name:30s} density {d:>5} iGRC {g0} final GRC {g} ARC-{arc} SAIL {sail(g, arc)}")
village east, no mitigation density 1200 iGRC 5 final GRC 5 ARC-b SAIL IV
village east, M2 medium (-1) density 1200 iGRC 5 final GRC 4 ARC-b SAIL III
flight area cut by 100 m density 300 iGRC 4 final GRC 4 ARC-b SAIL III
ทั้งการใช้ร่มชูชีพที่พิสูจน์ได้ระดับกลางและการหดพื้นที่บินลด SAIL จาก IV เป็น III เท่ากัน แต่ต้นทุนต่างกัน ร่มชูชีพต้องมีหลักฐานการทดสอบตามภาคผนวก B ส่วนการหดพื้นที่อาจต้องบินเพิ่มอีกเที่ยวเพื่อเก็บส่วนที่เหลือ ตัวอย่างนี้ใช้ฝึกคิดเท่านั้น งานจริงต้องใช้ข้อมูลประชากรจริง ประเมิน ARC จริง และได้รับการยอมรับจากหน่วยงานกำกับ
กิจกรรมในชั้นเรียน
กิจกรรม: ออกแบบพื้นที่เพื่อลดความเสี่ยง
- เลือกพื้นที่สำรวจจริงรอบมหาวิทยาลัย วาด flight geography บนแผนที่
- ประมาณความเร็ว เวลาตอบสนอง และระยะหยุดของโดรนฝึก คำนวณ contingency volume และ buffer ด้วยตัวอย่างที่ 1
- หาข้อมูลความหนาแน่นประชากรจากแหล่งที่เปิดเผย ระบุแหล่งและปี แล้วหาค่าสูงสุดใน footprint
- ไล่ตารางหา SAIL และเสนอสองทางเลือกที่ลด SAIL พร้อมหลักฐานที่ต้องใช้
- อภิปรายว่าค่าใดเป็นสมมติฐาน และจะตรวจยืนยันอย่างไรก่อนยื่นจริง
ข้อผิดพลาดที่พบบ่อย
ระวัง
- ใช้ความหนาแน่นเฉพาะใน flight geography ลืม buffer
- ตั้ง contingency volume แคบกว่าระยะที่โดรนใช้หยุดจริง
- อ้างมาตรการ M2 โดยไม่มีหลักฐานระดับที่อ้าง
- ลด GRC ต่ำกว่าค่าต่ำสุดของคอลัมน์
- ใช้ค่าจากกรณีฝึกยื่นขออนุญาตจริง
สรุป
- operational volume = flight geography + contingency volume และ buffer ล้อมรอบรอยเท้าของ contingency volume
- buffer เริ่มต้นอาจใช้หลัก 1 ต่อ 1 และปรับในขั้นที่ 8
- ความหนาแน่นประชากรต้องใช้ค่าสูงสุดใน footprint ทั้งหมด
- การออกแบบพื้นที่ใหม่อาจลด SAIL ได้เท่ากับการเพิ่มมาตรการ
แบบฝึกตรวจความเข้าใจ
- contingency volume ต่างจาก flight geography อย่างไร
- บินสูง 80 m ใช้หลัก 1 ต่อ 1 buffer เริ่มต้นกว้างเท่าใด
- ความเร็ว 12 m/s เวลาตอบสนอง 2 s ระยะหยุด 10 m ความกว้าง contingency volume แบบง่ายเท่าใด
- โดรนคอลัมน์ 1 m ความหนาแน่นสูงสุด 1,200 คน/km² ได้ iGRC เท่าใด
- final GRC 4 กับ residual ARC-c ได้ SAIL เท่าใด
เฉลย
- flight geography คือบริเวณบินปกติ contingency volume ล้อมรอบและการเข้าไปถือเป็นสภาพผิดปกติ
- 80 m
- m
- 5 (แถวน้อยกว่า 5,000)
- SAIL IV
สรุปสูตรสำคัญ
| ความกว้าง contingency volume (แบบง่าย) | |
| ground risk buffer ตามหลัก 1 ต่อ 1 | |
| final GRC |
แหล่งอ้างอิงหลัก
- Joint Authorities for Rulemaking on Unmanned Systems. (2024). JARUS guidelines on Specific Operations Risk Assessment (SORA), main body, edition 2.5 (JAR-DEL-SRM-SORA-MB-2.5). link
- สำนักงานการบินพลเรือนแห่งประเทศไทย. (2569). ประกาศ กพท. เรื่อง หลักเกณฑ์และวิธีการในการอนุญาตให้ผู้บังคับหรือปล่อยอากาศยานซึ่งไม่มีนักบิน ประเภทอากาศยานที่ควบคุมการบินจากภายนอก ที่มีน้ำหนักไม่เกิน 25 กิโลกรัม ปฏิบัติแตกต่างไปจากเงื่อนไขที่กำหนด พ.ศ. 2569 (มีผล 17 พฤษภาคม 2569). link
- International Civil Aviation Organization. (2015). Manual on remotely piloted aircraft systems (RPAS) (Doc 10019). ICAO. link
- European Commission. (2019). Commission Implementing Regulation (EU) 2019/947 on the rules and procedures for the operation of unmanned aircraft. link
อ่านเพิ่มเติม
ศึกษาหน่วยความรู้ที่กำหนดล่วงหน้า ดูสื่อประกอบ และทำ quiz ประจำโมดูล
ในชั้นเรียน / ภาคสนาม
บรรยาย อภิปรายกรณีศึกษา และแก้โจทย์ในชั้นเรียน
หลักฐานการเรียนรู้: ผล quiz และแบบฝึกหัดที่ส่ง