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

การประยุกต์ในคลังสินค้าและอุตสาหกรรม

UAT 366 ระบบอากาศยานไร้คนขับอัตโนมัติภายในอาคารและระบบอากาศยานไร้คนขับหลายลำ

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

บทเรียน

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

  1. แบ่งงานสแกนทางเดินให้โดรนหลายลำด้วยกฎ LPT และเทียบกับค่าต่ำสุด
  2. ตรวจช่วงเวลาทับกันระหว่างโซนโดรนกับงานของรถยกและคน
  3. ออกแบบผังโซน แท่นชาร์จ และกฎปฏิบัติการในคลังของโรงงาน
  4. ประเมินข้อกำหนดด้านความปลอดภัยและกฎการบินสำหรับการบินในอาคาร

ความรู้พื้นฐานที่ควรมี: UAT 366 โมดูล 1–4 · UAT 363 (การขนส่งและคลังสินค้าอัจฉริยะ)

ทำไมต้องรู้

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

แบ่งงานด้วยกฎ LPT

การแบ่งงานที่มีเวลาต่างกันให้เครื่องเหมือนกัน เครื่องให้เสร็จเร็วที่สุด (makespan น้อยที่สุด) เป็นปัญหาที่ยาก กฎ LPT (longest processing time first) เรียงงานจากยาวไปสั้น แล้วให้งานถัดไปแก่เครื่องที่ว่างเร็วที่สุด Graham (1969) พิสูจน์ว่ากฎนี้ให้ผลไม่เกิน เท่าของค่าที่ดีที่สุด

ตัวอย่างที่ 1 แบ่งทางเดิน 8 ช่องให้โดรน 3 ลำ

เวลาสแกนแต่ละทางเดินสมมติเป็นนาที

from itertools import product

aisles = [14, 12, 11, 9, 8, 7, 6, 5]
M = 3

loads, plan = [0] * M, [[] for _ in range(M)]
for idx, t in sorted(enumerate(aisles, 1), key=lambda x: -x[1]):
    k = loads.index(min(loads))
    loads[k] += t
    plan[k].append(f"A{idx}")
lpt = max(loads)

best = min(max(sum(t for t, a in zip(aisles, asg) if a == k) for k in range(M))
           for asg in product(range(M), repeat=len(aisles)))
lower = max(sum(aisles) / M, max(aisles))
for k in range(M):
    print(f"D{k + 1}: {plan[k]} = {loads[k]} min")
print(f"LPT makespan {lpt} min, optimum {best} min, lower bound {lower:.1f} min")
print(f"LPT / optimum = {lpt / best:.3f} (Graham bound {4 / 3 - 1 / (3 * M):.3f})")
D1: ['A1', 'A6'] = 21 min
D2: ['A2', 'A5', 'A7'] = 26 min
D3: ['A3', 'A4', 'A8'] = 25 min
LPT makespan 26 min, optimum 25 min, lower bound 24.0 min
LPT / optimum = 1.040 (Graham bound 1.222)

LPT ช้ากว่าค่าที่ดีที่สุดเพียง 1 นาที และอยู่ในขอบเขตของ Graham การค้นทุกทางทำได้เพราะงานน้อย (3⁸ = 6,561 แบบ) แต่คลังจริงอาจมีหลายร้อยทางเดิน LPT จึงเป็นทางเลือกที่ดีและอธิบายได้

ตารางเวลาสามแถว D1 ทำ A1 14 นาทีและ A6 7 นาที D2 ทำ A2 12 นาที A5 8 นาทีและ A7 6 นาที D3 ทำ A3 11 นาที A4 9 นาทีและ A8 5 นาที เส้นประแนวตั้งที่ 26 นาทีคือเวลาเสร็จทั้งหมด
ภาพที่ 1 ตารางงานของโดรนสามลำด้วยกฎ LPT

แยกโดรนกับรถยกและคน

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

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

ตัวอย่างที่ 2 ตรวจตารางโดรนกับงานรถยก

drone_slots = {"A1": (0, 14), "A2": (0, 12), "A3": (0, 11), "A4": (11, 20), "A5": (12, 20)}
forklift = [("A4", 18, 25), ("A2", 30, 40), ("A5", 5, 10)]       # ทางเดิน, เริ่ม, จบ (นาที)
BUFFER = 2                                                        # นาทีเผื่อระหว่างงาน

for aisle, f0, f1 in forklift:
    d0, d1 = drone_slots.get(aisle, (None, None))
    if d0 is None:
        continue
    clash = d0 < f1 + BUFFER and f0 < d1 + BUFFER
    print(f"{aisle}: drone {d0}-{d1} min, forklift {f0}-{f1} min -> {'CONFLICT' if clash else 'ok'}")
A4: drone 11-20 min, forklift 18-25 min -> CONFLICT
A2: drone 0-12 min, forklift 30-40 min -> ok
A5: drone 12-20 min, forklift 5-10 min -> ok

A4 ทับกับรถยก ต้องเลื่อนงานใดงานหนึ่ง ส่วน A5 ห่างจากงานรถยกพอดีตามระยะเผื่อ

ความปลอดภัยและข้อกำหนด

  • ระบบในตัวควบคุมการบิน เปิด Collision Prevention (โมดูล 3) ตั้ง geofence ของห้อง และพฤติกรรมเมื่อสูญเสียตำแหน่ง เช่น ลงจอดทันทีแทนการกลับฐานที่ต้องใช้ตำแหน่ง
  • แท่นชาร์จ วางในพื้นที่แยก ห่างวัสดุติดไฟ และคำนวณจำนวนให้พอกับรอบบิน (โมดูล 1 ของ UAT 364)
  • การประเมินความเสี่ยง ใช้เมทริกซ์โอกาสกับความรุนแรงตามแนวทาง SMS ของ ICAO (UAT 362) โดยคิดผลต่อคนงาน สินค้า และระบบดับเพลิง
  • กฎการบินในอาคาร ไม่พบประกาศของ กพท. ที่ระบุชัดว่าการบินภายในอาคารปิดอยู่ในข้อกำหนดหรือไม่ ทีมควรสอบถาม กพท. ผ่าน UAS Portal และทำตามข้อกำหนดความปลอดภัยของโรงงานเสมอ

รายงานของ ETH Zurich (Wawrla และคณะ, 2019) ระบุความปลอดภัยของแบตเตอรี่และการเชื่อมกับระบบเดิมเป็นข้อท้าทายหลักของโดรนในคลัง ระบบที่ออกแบบดีจึงต้องจัดการทั้งสองเรื่องตั้งแต่ต้น

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

ปฏิบัติการ: แผนปฏิบัติการนับสต็อกหลายลำ

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

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

ระวัง

  • แบ่งงานเท่ากันตามจำนวนทางเดิน โดยไม่ดูเวลาของแต่ละทางเดิน
  • ไม่เผื่อเวลาระหว่างงานโดรนกับรถยก
  • ตั้งให้กลับฐานเมื่อสูญเสียตำแหน่ง ทั้งที่การกลับฐานต้องใช้ตำแหน่ง
  • ชาร์จแบตเตอรี่ใกล้สินค้าติดไฟ
  • ถือว่าในอาคารไม่มีข้อกำหนดใด

สรุป

  • กฎ LPT แบ่งงานได้ใกล้ค่าที่ดีที่สุด และมีขอบเขตรับประกันของ Graham
  • แยกโดรนกับรถยกและคนด้วยเวลาและพื้นที่ ตรวจตารางก่อนบินพร้อมระยะเผื่อ
  • ระบบต้องมีการหลบหลีก geofence พฤติกรรมเมื่อสูญเสียตำแหน่ง และแท่นชาร์จที่ปลอดภัย
  • สอบถาม กพท. เรื่องการบินในอาคาร และทำตามข้อกำหนดของโรงงาน

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

  1. งาน 10, 8, 6, 4 นาที โดรน 2 ลำ ใช้ LPT ได้ makespan เท่าใด
  2. ขอบเขตของ Graham สำหรับ 2 ลำเท่าใด
  3. งานรวม 60 นาที งานยาวสุด 15 นาที โดรน 3 ลำ ขอบล่างของเวลาเสร็จเท่าใด
  4. โดรน 10–20 นาที รถยก 21–30 นาที ระยะเผื่อ 2 นาที ทับกันหรือไม่
  5. ทำไมการกลับฐานอัตโนมัติจึงไม่เหมาะเมื่อสูญเสียตำแหน่งในอาคาร
เฉลย
  1. 10 → ลำ 1, 8 → ลำ 2, 6 → ลำ 2 (รวม 14), 4 → ลำ 1 (รวม 14) makespan 14 นาที
  2. นาที
  3. ทับ เพราะ 10 < 30 + 2 และ 21 < 20 + 2
  4. การกลับฐานต้องรู้ตำแหน่ง เมื่อสูญเสียตำแหน่งจึงควรลงจอดทันที

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

ขอบเขตของกฎ LPT
ขอบล่างของเวลาเสร็จ

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

  1. Graham, R. L. (1969). Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2), 416–429. link
  2. Wawrla, L., Maghazei, O., & Netland, T. (2019). Applications of drones in warehouse operations (White paper). ETH Zurich, D-MTEC, Chair of Production and Operations Management. link
  3. Chung, S.-J., Paranjape, A. A., Dames, P., Shen, S., & Kumar, V. (2018). A survey on aerial swarm robotics. IEEE Transactions on Robotics, 34(4), 837–855. link
  4. PX4 Autopilot. Collision prevention. PX4 user guide (main). link
  5. International Civil Aviation Organization. (2018). Safety management manual (Doc 9859, 4th ed.). link
  6. สำนักงานการบินพลเรือนแห่งประเทศไทย. (2569). ประกาศ กพท. เรื่อง หลักเกณฑ์และวิธีการในการอนุญาตให้ผู้บังคับหรือปล่อยอากาศยานซึ่งไม่มีนักบิน ประเภทอากาศยานที่ควบคุมการบินจากภายนอก ที่มีน้ำหนักไม่เกิน 25 กิโลกรัม ปฏิบัติแตกต่างไปจากเงื่อนไขที่กำหนด พ.ศ. 2569 (มีผล 17 พฤษภาคม 2569). link

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

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

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

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

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

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

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

โดเมนความรู้: ขนส่ง ภายในอาคาร และคลังสินค้า