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

แนวคิดภารกิจและการประเมิน

UAT 304 การวางแผนภารกิจและการบินอัตโนมัติของระบบอากาศยานไร้คนขับ

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

บทเรียน

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

  1. เขียนแนวคิดภารกิจที่ระบุงาน พื้นที่ เวลา ระบบ และคน
  2. คำนวณช่วงเวลาบินจากเวลาที่กฎหมายอนุญาตและเวลาพระอาทิตย์ขึ้นตก
  3. ตัดสินใจทำต่อ ปรับ หรือเลื่อนงาน จากข้อมูลอากาศหลายแหล่งด้วยเกณฑ์ที่ตั้งไว้ล่วงหน้า
  4. ประเมินพื้นที่และบันทึกหลักฐานความพร้อมก่อนเริ่มงาน

ความรู้พื้นฐานที่ควรมี: UAT 312 (การวางแผนภารกิจ) · UAT 313 (กฎหมายและความปลอดภัย)

ทำไมต้องรู้

UAT 312 สอนวางแนวบิน พลังงานสำหรับ RTL และ geofence แล้ว วิชานี้เน้นว่าทีมจะ ตัดสินใจเริ่มงาน อย่างไรให้มีเหตุผลที่ตรวจได้ หน่วยความรู้เรื่องกำหนดแนวคิดภารกิจของคลังความรู้โดรนอธิบายว่าแนวคิดภารกิจบอกว่าจะทำอะไร ที่ไหน เมื่อใด ด้วยระบบและคนชุดใด และต้องรวมพื้นที่รอบงานกับความเปลี่ยนแปลงที่อาจทำให้สมมติฐานใช้ไม่ได้ ส่วนหน่วยความรู้เรื่องรวมข้อมูลอากาศเข้ากับแผนแนะนำให้เปรียบเทียบข้อมูลหลายแหล่งและบันทึกเหตุผลก่อนเลือกทำต่อ ปรับแผน หรือเลื่อนงาน มาตรฐาน ISO 21384-3:2023 วางขั้นตอนการปฏิบัติการของ UAS ตั้งแต่วางแผนจนหลังบิน กรณีของวิชาคือศูนย์ปฏิบัติการของเทศบาลแห่งหนึ่งที่ต้องตรวจจุดเสี่ยงน้ำท่วม 10 จุดวันที่ 15 ตุลาคม 2569 ตัวเลขสภาพอากาศเป็นข้อมูลสมมติ

แนวคิดภารกิจ

แนวคิดภารกิจที่ดีตอบห้าคำถามเป็นลายลักษณ์อักษร: ผลที่ต้องส่งมอบ (เช่น ภาพจุดเสี่ยงทั้ง 10 จุดพร้อมพิกัด) พื้นที่ (ขอบเขต ความสูง สิ่งกีดขวาง ผู้คน) เวลา (ช่วงที่บินได้และกำหนดส่ง) ระบบ (อากาศยาน payload แบตเตอรี่ที่พร้อม) และ คน (นักบิน ผู้สังเกต ผู้ประสานงาน) พร้อมระบุสิ่งที่ยังไม่พร้อม แผนที่สวยแต่ไม่ระบุเวลาและขอบเขตยังไม่ใช่แนวคิดภารกิจ

ช่วงเวลาที่บินได้

ข่าว กพท. ฉบับที่ 4/2569 กำหนดเงื่อนไขทั่วไปให้บินได้ช่วง 06:00–18:00 น. ช่วง 04:01–05:59 และ 18:01–24:00 น. ต้องได้รับการยกเว้น และห้ามบินช่วง 00:01–04:00 น. นอกจากเวลาตามกฎ ยังต้องมีแสงพอสำหรับงาน ทีมจึงคำนวณเวลาพระอาทิตย์ขึ้นและตกด้วยสมการของ NOAA ซึ่งใช้มุมเซนิท 90.833° เพื่อรวมผลการหักเหของบรรยากาศและขนาดของดวงอาทิตย์

ตัวอย่างที่ 1 ช่วงเวลาบินของวันที่ 15 ตุลาคม 2569 ที่กรุงเทพฯ

ทีมกำหนดให้เริ่มหลังพระอาทิตย์ขึ้น 15 นาทีและเลิกก่อนพระอาทิตย์ตก 15 นาที เพื่อให้แสงพอถ่ายภาพ แล้วซ้อนกับเวลาตามกฎ

import math
from datetime import date

LAT, LON, TZ = 13.75, 100.50, 7
DAY = date(2026, 10, 15)
BUFFER = 15                                    # นาที

def sunrise_sunset(lat, lon, day, tz):
    g = 2 * math.pi / 365 * (day.timetuple().tm_yday - 1)
    eqt = 229.18 * (0.000075 + 0.001868 * math.cos(g) - 0.032077 * math.sin(g)
                    - 0.014615 * math.cos(2 * g) - 0.040849 * math.sin(2 * g))
    decl = (0.006918 - 0.399912 * math.cos(g) + 0.070257 * math.sin(g) - 0.006758 * math.cos(2 * g)
            + 0.000907 * math.sin(2 * g) - 0.002697 * math.cos(3 * g) + 0.00148 * math.sin(3 * g))
    phi = math.radians(lat)
    h = math.degrees(math.acos(math.cos(math.radians(90.833)) / (math.cos(phi) * math.cos(decl))
                               - math.tan(phi) * math.tan(decl)))
    rise = 720 - 4 * (lon + h) - eqt + tz * 60
    sset = 720 - 4 * (lon - h) - eqt + tz * 60
    return rise, sset

def hhmm(m):
    return f"{int(m // 60):02d}:{int(round(m % 60)):02d}"

rise, sset = sunrise_sunset(LAT, LON, DAY, TZ)
start = max(6 * 60, rise + BUFFER)
end = min(18 * 60, sset - BUFFER)
print(f"sunrise {hhmm(rise)}, sunset {hhmm(sset)}")
print(f"flight window {hhmm(start)}-{hhmm(end)} ({(end - start) / 60:.1f} h)")

sorties = [(3189, 3), (3144, 2), (3055, 3), (2130, 2)]   # m, จุดตรวจ (จาก UAT 304 โมดูล 3)
SPEED, HOVER_MIN, SWAP_MIN = 8, 1.0, 15
t = 8 * 60                                     # เริ่ม 08:00
for k, (length, n) in enumerate(sorties, 1):
    fly = length / SPEED / 60 + n * HOVER_MIN
    print(f"sortie {k}: {hhmm(t)}-{hhmm(t + fly)} ({fly:.1f} min)")
    t += fly + SWAP_MIN
print(f"finished by {hhmm(t - SWAP_MIN)}, inside window: {t - SWAP_MIN <= end}")
sunrise 06:08, sunset 17:59
flight window 06:23-17:44 (11.3 h)
sortie 1: 08:00-08:10 (9.6 min)
sortie 2: 08:25-08:33 (8.6 min)
sortie 3: 08:48-08:58 (9.4 min)
sortie 4: 09:13-09:19 (6.4 min)
finished by 09:19, inside window: True

ทั้งสี่เที่ยวบินเสร็จก่อนเที่ยงอย่างสบาย แต่ช่วงเวลาที่ว่างทั้งวันไม่ได้แปลว่าบินได้ทั้งวัน ในฤดูฝน พายุฝนฟ้าคะนองมักก่อตัวช่วงบ่าย ทีมจึงวางงานไว้ช่วงเช้า และมีเวลาสำรองถ้าต้องเลื่อน

แถบเวลาของวัน 04:00 ถึง 20:00 ช่วงสีเทาคือนอกเวลาที่กฎอนุญาต ช่วงสีทองคือพระอาทิตย์ขึ้นถึงตก ช่วงสีเขียวคือช่วงบินที่ใช้ได้ 06:23 ถึง 17:44 มีสี่แท่งสีฟ้าเล็ก ๆ ช่วง 08:00 ถึงราว 09:19 คือเที่ยวบินทั้งสี่
ภาพที่ 1 ช่วงเวลาบินของวันและตารางเที่ยวบิน

ตัดสินใจจากข้อมูลอากาศหลายแหล่ง

ข้อมูลอากาศแต่ละแหล่งมีขอบเขตต่างกัน รายงานของสนามบินใกล้เคียงวัดที่สนามบิน ไม่ใช่ที่จุดงาน เครื่องวัดลมที่จุดงานวัดเฉพาะจุดนั้นที่ความสูงต่ำ ส่วนการพยากรณ์บอกแนวโน้มล่วงหน้า คู่มือ Aviation Weather (AC 00-6B) ของ FAA อธิบายปรากฏการณ์อากาศที่กระทบการบิน ส่วนคู่มือ PHAK เน้นให้ตั้งเกณฑ์ส่วนตัวไว้ล่วงหน้า ไม่ตัดสินใจภายใต้แรงกดดันหน้างาน ทีมในกรณีนี้ใช้หลัก เอาค่าที่แย่ที่สุด ของทุกแหล่งเทียบกับเกณฑ์ของผู้ผลิตและของหน่วยงาน

ตัวอย่างที่ 2 ตัดสินใจทำต่อหรือเลื่อน

เกณฑ์ของทีม: ลมเฉลี่ยไม่เกิน 10 m/s ลมกระโชกไม่เกิน 12 m/s ทัศนวิสัยไม่ต่ำกว่า 5 km และไม่มีพายุฝนฟ้าคะนอง (ข้อมูลสมมติ)

KT, KMH = 0.5144, 1 / 3.6
LIMITS = {"wind": 10.0, "gust": 12.0, "vis_km": 5.0}
sources = {   # แหล่ง: ค่าในหน่วยเดิม แปลงเป็น m/s และ km
    "airport METAR 08:00": {"wind": 12 * KT, "gust": 22 * KT, "vis_km": 10, "ts": False},
    "site anemometer 08:10": {"wind": 6.5, "gust": 11.8, "vis_km": None, "ts": False},
    "forecast 14:00": {"wind": 20 * KMH, "gust": 50 * KMH, "vis_km": 6, "ts": True},
}

def decide(names):
    worst_wind = max(sources[n]["wind"] for n in names)
    worst_gust = max(sources[n]["gust"] for n in names)
    vis = [sources[n]["vis_km"] for n in names if sources[n]["vis_km"] is not None]
    reasons = []
    if worst_wind > LIMITS["wind"]:
        reasons.append(f"wind {worst_wind:.1f} m/s")
    if worst_gust > LIMITS["gust"]:
        reasons.append(f"gust {worst_gust:.1f} m/s")
    if vis and min(vis) < LIMITS["vis_km"]:
        reasons.append(f"visibility {min(vis)} km")
    if any(sources[n]["ts"] for n in names):
        reasons.append("thunderstorm")
    return ("GO" if not reasons else "NO-GO"), reasons, worst_wind, worst_gust

for label, names in (("morning", ["airport METAR 08:00", "site anemometer 08:10"]), ("afternoon", ["forecast 14:00"])):
    d, why, w, g = decide(names)
    print(f"{label:<9} worst wind {w:.1f} m/s, gust {g:.1f} m/s -> {d} {why if why else ''}")
morning   worst wind 6.5 m/s, gust 11.8 m/s -> GO
afternoon worst wind 5.6 m/s, gust 13.9 m/s -> NO-GO ['gust 13.9 m/s', 'thunderstorm']

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

แผนภูมิแท่งลมกระโชกจากสามแหล่ง รายงานสนามบิน 11.3 เมตรต่อวินาที เครื่องวัดที่จุดงาน 11.8 และพยากรณ์บ่าย 13.9 เส้นประสีชมพูที่ 12 เมตรต่อวินาทีคือเกณฑ์ และป้ายพายุฝนฟ้าคะนองที่แท่งพยากรณ์บ่าย
ภาพที่ 2 ลมกระโชกจากหลายแหล่งเทียบกับเกณฑ์

ประเมินพื้นที่

หน่วยความรู้เรื่องประเมินพื้นที่และตัดสินใจความพร้อมแนะนำให้บันทึกข้อจำกัด ผู้เกี่ยวข้อง ความเสี่ยง และหลักฐานก่อนตัดสินใจเริ่มงาน รายการขั้นต่ำคือ จุดขึ้นลงและจุดลงฉุกเฉิน สิ่งกีดขวางที่สูงที่สุด สายไฟ ผู้คนและยานพาหนะที่อาจเข้ามา สัญญาณ GNSS และวิทยุรบกวน เจ้าของพื้นที่ที่ต้องขออนุญาต และเส้นทางเข้าออกของทีม

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

ปฏิบัติการ: แฟ้มแนวคิดภารกิจ

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

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

ระวัง

  • เขียนแผนโดยไม่ระบุเวลาและขอบเขต
  • ใช้แหล่งข้อมูลอากาศเดียว หรือเลือกเฉพาะแหล่งที่อยากให้ผ่าน
  • ตั้งเกณฑ์หน้างาน ภายใต้แรงกดดัน
  • ลืมเวลาเปลี่ยนแบตเตอรี่และตรวจระหว่างเที่ยว
  • ไม่มีจุดลงฉุกเฉิน

สรุป

  • แนวคิดภารกิจระบุผลส่งมอบ พื้นที่ เวลา ระบบ และคน รวมทั้งสิ่งที่ยังไม่พร้อม
  • ช่วงเวลาบินคือส่วนที่ซ้อนกันของเวลาตามกฎ (06:00–18:00 น. ตามเงื่อนไขทั่วไปของ กพท.) กับแสงที่พอสำหรับงาน
  • ตัดสินใจจากค่าที่แย่ที่สุดของหลายแหล่ง เทียบเกณฑ์ที่ตั้งไว้ล่วงหน้า และบันทึกเหตุผล
  • ประเมินพื้นที่จริงพร้อมหลักฐานก่อนเริ่มงาน

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

  1. ลม 20 kt เท่ากับกี่ m/s
  2. ลม 36 km/h เท่ากับกี่ m/s
  3. พระอาทิตย์ขึ้น 06:10 เผื่อ 15 นาที และกฎอนุญาตตั้งแต่ 06:00 เริ่มบินได้เร็วสุดเวลาใด
  4. สองแหล่งรายงานลมกระโชก 9 และ 13 m/s เกณฑ์ 12 m/s ควรตัดสินอย่างไรตามหลักค่าที่แย่ที่สุด
  5. ทำไมจึงควรตั้งเกณฑ์ไว้ล่วงหน้า
เฉลย
  1. m/s
  2. m/s
  3. 06:25
  4. ไม่บิน เพราะค่าที่แย่ที่สุด 13 m/s เกินเกณฑ์
  5. เพื่อไม่ให้แรงกดดันหน้างานทำให้ยอมรับความเสี่ยงที่ไม่ควรรับ

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

มุมชั่วโมงขณะพระอาทิตย์ขึ้นตก
เวลาพระอาทิตย์ขึ้น (นาที UTC)
แปลงหน่วยลม

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

  1. International Organization for Standardization. (2023). Unmanned aircraft systems — Part 3: Operational procedures (ISO 21384-3:2023). link
  2. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2569). ข่าว กพท. ฉบับที่ 4/2569 ประกาศฉบับที่ 15 เงื่อนไขการบังคับอากาศยานซึ่งไม่มีนักบิน. link
  3. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2565). เอกสารแนวทาง CAAT-GM-UAS-002 (ปรับปรุงครั้งที่ 00). link
  4. NOAA Global Monitoring Laboratory. General solar position calculations. link
  5. Federal Aviation Administration. (2023). Pilot's handbook of aeronautical knowledge (FAA-H-8083-25C). link
  6. Federal Aviation Administration. (2016). Aviation weather (AC 00-6B). link

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

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

พร้อมใช้D08

กำหนดแนวคิดภารกิจ

แนวคิดภารกิจอธิบายว่าจะทำอะไร ที่ไหน เมื่อใด ด้วยระบบและคนชุดใด ต้องรวมพื้นที่รอบงานและความเปลี่ยนแปลงที่อาจทำให้สมมติฐานใช้ไม่ได้ แผนที่สวยแต่ไม่ระบุเวลาและขอบเขตยังไม่พอใช้ทบทวน
พร้อมใช้D08

รวมข้อมูลอากาศเข้ากับแผนภารกิจ

เปรียบเทียบข้อมูลหลายแหล่งและบันทึกเหตุผลก่อนเลือกทำต่อ ปรับแผน หรือเลื่อนงาน
พร้อมใช้D08D09

Brief: คำถาม ผลส่งมอบ และบทบาททีม

เขียน brief ที่ทีมเข้าใจตรงกันและระบุสิ่งที่ยังไม่พร้อมได้
พร้อมใช้D08D09

ประเมินพื้นที่และตัดสินใจความพร้อม

บันทึกข้อจำกัด ผู้เกี่ยวข้อง ความเสี่ยง และหลักฐานก่อนตัดสินใจเริ่มงาน

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

ปฏิบัติการในห้องแล็บหรือภาคสนามตามใบงาน พร้อม checklist ความปลอดภัย

หลักฐานการเรียนรู้: ใบงานที่ผ่านการตรวจและผล quiz

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

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

โดเมนความรู้: การวางแผนภารกิจ การบิน และการจำลอง · กฎหมาย ความปลอดภัย และความเสี่ยง