ตอนที่แล้ว จบด้วยตาราง FLEET สี่ลำ ที่สุดท้ายเหลือ "ตรวจการณ์ 4" ไปได้อยู่ลำเดียว ลำหนึ่งลูกเรือไม่ครบ อีกลำน้ำมันไม่พอกลับ ทุกบรรทัดในตารางนั้นมีอย่างหนึ่งเหมือนกันหมด คือ มีคนอยู่บนเรือ
แต่ asset ของ Response ไม่ได้มีแค่เรือที่มีคน ยังมีระบบไร้คนขับอีกกองที่เรียกรวมๆ ว่า UxV ตัว x เป็น wildcard ใส่อะไรก็ได้ USV คือเรือผิวน้ำไร้คนขับ UAV คืออากาศยานไร้คนขับ (ก็โดรนนั่นแหละ) ส่วน UUV คือยานใต้น้ำ บทบาท "หูตา" ของพวกมัน Situational เล่าไปแล้วในหัวข้อหูตาอื่นๆ ของ MSA ตอนที่ 4 ตอนนี้ขอเล่าอีกจังหวะหนึ่ง คือตอนที่ต้อง ลงมือตอบสนอง ทั้งต่อภัยคุกคามและต่อเหตุการณ์ อย่างการค้นหาและช่วยชีวิตในทะเล (SAR — Search and Rescue)
ขอแปะป้ายไว้ก่อนเลย ช่วงนี้ UxV กับ AI ถูกใช้ในสงครามที่เกิดขึ้นอยู่บนโลกเยอะมาก แต่บล็อกนี้ไม่ยุ่งเรื่องสงคราม ทั้งตอนจะเล่าเฉพาะงานบังคับใช้กฎหมายกับงานช่วยชีวิตในทะเลเท่านั้น
สปอยล์ไว้ตั้งแต่ตอนที่แล้วว่า UxV ไม่ได้มาแทนคนทั้งหมด ถ้าให้สรุปเป็นประโยคเดียว มันจะกลายเป็นฝึก คนยังต้องอยู่ในระบบ แค่ย้ายที่นั่ง เปลี่ยนงาน แล้วทำงานร่วมกับเครื่อง ในรูปแบบ Human Machine Cooperation โค้ดมีสามก้อน ก้อนแรกหยิบ plan() ของตอนที่แล้วมาต่อ
ไร้คนขับ ไม่ได้แปลว่าไร้คนทำ เริ่มจากเพื่อนบ้านใกล้ตัวที่สุด กองทัพเรือสิงคโปร์มี MARSEC USV อยู่สี่ลำ ที่ "เริ่มออกลาดตระเวนปฏิบัติการจริงแบบไม่มีคนบนเรือ" ตั้งแต่ ม.ค. 2025 โดยวิ่ง "ควบคู่ไปกับเรือที่มีลูกเรือ อย่างเรือ littoral mission vessel (LMV)" งานของมันคือ "เฝ้าตรวจการณ์ คุ้มกัน รวมถึงตรวจสอบและสกัดเรือต้องสงสัยเมื่อจำเป็น" ภาพประกอบในข่าวก็เป็น USV ที่กำลัง "ส่งเสียงเตือนเรือต้องสงสัยในสถานการณ์จำลอง" ซึ่งก็คืองานฝั่ง Response ตรงๆ
ทีนี้ดูว่าใครคุม
ทีมสองคน คุมจากระยะไกลที่ MSTF Operating Centre บนฝั่งoperator เป็นคนตั้งภารกิจและวางเส้นทาง แล้ว MARSEC USV ก็รับช่วงต่อจากตรงนั้นหัวหน้าทีม คุมระบบอาวุธและ payload อื่นๆ ด้วย ทั้งเครื่องเตือนด้วยเสียง laser dazzler และปืนที่ operator ควบคุมจากระยะไกลเรือไม่มีคน แต่การตัดสินใจเรื่องใช้กำลังยังอยู่ในมือคนเต็มๆ แล้วสองคนนั้นก็ไม่ได้เสกขึ้นมา ทั้งคู่ผ่านการฝึกราวสามเดือน หนึ่งในนั้นเป็นทหารเกณฑ์เต็มเวลา (Full-Time National Serviceman)
ทำไมสิงคโปร์ถึงเอาจริง คำตอบอยู่ที่คนอีกแล้ว ข่าวเดียวกันเล่าว่า LMV ทำงาน MARSEC ด้วยลูกเรือ 23 คน COL Thung พูดว่า "ในวันข้างหน้า งานรักษาความมั่นคงทางทะเลหลายอย่างเหล่านี้ MARSEC USV รับไปทำแทนได้ โดยมีคนคุมแค่ทีมละสองคน" ฟังเผินๆ เหมือนตัดคน แต่ประโยคถัดมาบอกว่ามันทำให้ LMV "ถูกส่งไปทำภารกิจที่ซับซ้อนกว่าได้" แปลว่า ย้ายคนไปทำงานที่ยากกว่า ไม่ใช่ทิ้งคน ย้อนไปอีกนิด ปี 2019 เขาก็ประกาศไว้แล้วว่าคาดว่ากำลังพลจะลดลงหนึ่งในสามภายในปี 2030 เพราะอัตราการเกิดลดลง และทหารเกณฑ์คุม UAV ScanEagle บนเรือคอร์เวตมาตั้งแต่ พ.ย. 2016 "ร่วมกับทหารประจำการ" ล่าสุดเรือรุ่นใหม่ MRCV ในเอกสารข้อมูลเดือน ต.ค. 2025 ใช้ลูกเรือ "<100" เป็น "เรือแม่ของระบบไร้คนขับหลากหลายแบบ" ที่ USV UAV และ UUV "จะทำงานร่วมกัน" สะพานเดินเรือ "ใช้ลูกเรือคุมแค่สองคน แทนที่จะเป็นห้าคน"
นี่คือ "คนคือคอขวด" จากตอนที่แล้วในอีกเวอร์ชัน คนน้อยลงจริง แต่ไม่ได้หายไป
ข้ามไปบ้านจิงโจ้ ABF เอาโดรน (RPAS) มาใช้ใน Operation LEEDSTRUM ที่ Kimberley Marine Park ให้ "ภาพแบบ real-time ที่ช่วยให้เจ้าหน้าที่ ABF ระบุกิจกรรมประมงผิดกฎหมายได้" แล้วเขียนกำกับไว้ชัดว่า RPAS "เสริมมาตรการบังคับใช้กฎหมายที่มีอยู่เดิม" ทั้งเครื่องบินลาดตระเวน เรือตรวจการณ์ และหน่วยบนบก SUPT Kosmer ผู้คุมงานพูดประโยคที่เลาอยากแปะไว้หน้าห้องประชุมจัดซื้อทุกห้อง
"มันคือการทำงานให้ฉลาดขึ้นด้วยเทคโนโลยีใหม่ ไม่ใช่การเอามาแทนการลาดตระเวนที่มีอยู่ (not replacing existing patrols)… โดยไม่ต้องให้ลูกเรือเอาตัวไปเสี่ยง"
ฝั่งกองทัพออสเตรเลียก็มี USV ชื่อ Bluebottle ที่ใช้ใน Operation Resolute ครั้งแรกเมื่อ พ.ย. 2022 กับกำลังพล 18 นายที่ค้นหาเรือประมงต่างชาติในพื้นที่ราว 5,500 ตร.กม. โดยมีพนักงานของ Ocius ประจำอยู่ที่ HQ หน่วยด้วย ข่าวบอกว่า "พอควบคุม Bluebottle จากระยะไกล กำลังภาคพื้นดินก็มีมือว่าง… ไปโฟกัสงานอื่น" และพอทำงานร่วมกับเครื่องบิน Dash-8 ของ ABF ก็ "จะเปิดทางให้หน่วยงานรัฐอื่นเข้ามาตอบสนองได้" คือ USV เก็บข้อมูล แล้วหน่วยอื่นเป็นคนไปตอบสนอง พอ มี.ค. 2026 รัฐมนตรีกลาโหมประกาศ ลงเงิน 176 ล้านดอลลาร์ซื้อเพิ่มอีก 40 ลำ รวมเป็น 55 ลำ โดยให้มัน "ทำงานเป็นส่วนหนึ่งของกำลังทางทะเลที่ผนึกกันเป็นทีม (teamed) และบูรณาการเข้าด้วยกัน" คำว่า teamed คือหัวใจของเรื่อง
แล้วถ้าใครยังคิดว่าไร้คนขับคือประหยัดคน ลองเปิดรายงาน GAO-14-316 ปี 2014 ที่ตรวจอากาศยานไร้คนขับของกองทัพอากาศสหรัฐฯ ดู รายงานบอกว่าอัตราลูกเรือต่อเครื่อง "ต่ำเกินไป" จนกระทบทั้งขีดความสามารถและความปลอดภัยการบิน หรือโดรนบนเรือ cutter ของ USCG ที่ตั้งแต่ปี 2018 เป็น "ขีดความสามารถ UAS ที่ผู้รับจ้างเป็นเจ้าของและเป็นคนบินเอง" ซื้อบริการที่มีคนบินมาให้ด้วย เหมือนสัญญาเครื่องบินของ ABF ในตอนที่แล้วที่ซื้อของยังต้องซื้อคนแถมมา
ถ้าจะวาดว่าคนอยู่ตรงไหนของระบบ มีสองไม้บรรทัดให้ใช้
US Navy Unmanned Campaign Framework (มี.ค. 2021) วางสเปกตรัมไว้ว่า Human Operated → Remote Operated → Human Supervised → Human-Machine Teaming → Near-Independent Autonomy เป้าหมายที่เขียนไว้คือ "สร้างการทำงานเป็นทีมระหว่างคนกับเครื่อง (human-machine teaming) ที่ผสานกันได้จริง" มีหมวดว่าด้วย "คน การศึกษา และบุคลากรฝีมือดี" แยกออกมาต่างหาก และยกให้ "การฝึกและประสบการณ์ของ operator" เป็นความท้าทายข้อหนึ่ง4 degrees ของ IMO (MSC.1/Circ.1638 ปี 2021) — degree 1 มีลูกเรือ ระบบช่วยตัดสินใจบางส่วน · degree 2 คุมจากระยะไกล แต่ยังมีลูกเรือบนเรือ · degree 3 คุมจากระยะไกล ไม่มีลูกเรือ · degree 4 อัตโนมัติเต็มตัว แล้วเขาก็เขียนไว้ว่ามัน "ไม่ได้เรียงเป็นลำดับชั้นสูงต่ำ" และเรือลำเดียวใช้ได้หลาย degree ใน voyage เดียวข้อควรระวังคือไม้บรรทัดของ IMO ทำมาสำหรับ เรือพาณิชย์ ไม่ได้ใช้กับเรือของรัฐ เลาหยิบมาใช้เป็นกรอบเทียบเฉยๆ ว่าคนอยู่ตรงไหน ถ้าเทียบเอง MARSEC USV ที่ operator ตั้งภารกิจจากฝั่งแล้วไม่มีใครอยู่บนเรือ ก็น่าจะใกล้ degree 3 แต่อันนี้เป็นการเทียบของเลาเองนะ ไม่ได้มีใครประกาศไว้
สิ่งที่บล็อกนี้เรียกว่า Human Machine Cooperation ฝั่ง US Navy เรียก human-machine teaming ส่วนในภาษาของ IMO คือ "การทำงานร่วมกันอย่างได้ผลระหว่างคนคุมกับระบบอัตโนมัติ" (effective collaboration) ชื่อต่างกันสามแบบ แต่พูดเรื่องเดียวกัน
ไปถึงก่อน เฝ้าไว้ แล้วส่งไม้ — UxV ในงานสกัด ตัวอย่างที่เห็นภาพชัดสุดมาจากกองเรือที่ 4 ของสหรัฐฯ เมื่อ 16 ต.ค. 2025 ในทะเลแคริบเบียน "เรือผิวน้ำไร้คนขับแบบ Long-Dwell ตรวจพบและระบุตัวเป้าหมายที่ Joint Interagency Task Force South กำหนดไว้ เรือไร้คนขับลำนั้นติดตามเป้า ประสานกับกำลังทางเรือ และเปิดทางให้เรือของกองทัพเรือสหรัฐฯ เข้าสกัดได้" หัวข่าวบอกว่าโคเคนที่ยึดได้มีมูลค่า 81 ล้านดอลลาร์ พลเรือตรี Sardiello พูดถึงลำดับงานไว้แบบนี้
"การที่เราตรวจพบเป้า ให้ทีมของเราบน watch floor ระบุว่าเป็นเรือลำไหน แล้วประสานกับ asset ในพื้นที่จนสกัดได้สำเร็จ คือเครื่องยืนยันความทุ่มเทของทหารเรือของเรา"
ไล่ตามประโยคดูดีๆ USV หาเจอ คนบน watch floor เป็นคนยืนยันว่าใช่ลำไหน แล้วเรือที่มีคนเป็นคนเข้าไปสกัด แบ่งงานกันชัดเจนมาก
ย้อนไปปี 2017 ที่ USCG ก็มีภาพแบบเดียวกัน โดรนขนาดเล็กบนเรือ Stratton "ช่วยงานสกัดได้ในห้าจาก 11 ครั้งที่ยึดยาเสพติด" งานของมันคือส่ง "ภาพ real-time… ช่วยลดความเสี่ยงด้านความปลอดภัยของ asset ที่เข้าสกัด" คอย "จับภาพเรือเป้าหมายไว้ต่อเนื่อง และตามดูของที่ถูกโยนทิ้ง" (ทิ้งลงน้ำระหว่างหนี) ส่วนภาพในปีถัดมา เป็นชุดตรวจค้นบนเรือเร็วของ cutter กำลังสกัดเรือ go-fast ทรงเตี้ย "ตามภาพที่บันทึกโดยระบบอากาศยานไร้คนขับขนาดเล็ก" โดรนดู คนขึ้นเรือ
ทำไมไม่ให้ UxV ขึ้นตรวจหรือจับเองเลย คำตอบอยู่ใน UNCLOS อีกแล้ว อนุสัญญานี้เขียนตอนที่ยังไม่มีใครคิดถึงเรือไร้คนขับ
ข้อ 29 นิยามเรือรบว่าต้อง "มีลูกเรือประจำที่อยู่ใต้วินัยของกองทัพตามปกติ"ข้อ 107 และ 111(5) คนที่จับโจรสลัดหรือไล่ตามได้ต้องเป็นเรือรบ อากาศยานทหาร หรือ "เรือหรืออากาศยานอื่นที่มีเครื่องหมายชัดเจนและระบุได้ว่าใช้ในราชการของรัฐ"ข้อ 110(2) การตรวจเรือในทะเลหลวงให้ "ส่งเรือเล็กไปภายใต้การบังคับบัญชาของนายทหาร" แล้วค่อย "ตรวจต่อบนเรือ"ข้อ 111(6)(b) ที่ยกมาแล้วในตอนที่แล้ว อากาศยานไล่ตามต่อไป "จนกว่าเรือหรืออากาศยานอื่นของรัฐชายฝั่งที่อากาศยานลำนั้นเรียกมา จะมาถึงและรับช่วงการไล่ตามต่อ เว้นแต่อากาศยานลำนั้นจะจับกุมเรือได้เอง"ตัวอย่างก้อนนี้ต่อจากตอนที่แล้วตรงๆ คือใช้ velocity(), intercept(), Asset, inside(), plan(), FLEET, OUR_ZONE และ HOME จากตอน 1 มาใช้ต่อ เป้าเดิม (ห่างไปทางตะวันออก 20 nm วิ่งขึ้นเหนือ 12 kn) ส่วน UxV ทั้งสามตัว ความเร็วและเวลาที่อยู่ได้ เป็นค่าสมมติทั้งหมด ไม่ใช่ spec ของรุ่นไหน
python # ต่อจากโค้ดตอน 1 — ต้องมี velocity, intercept, Asset, inside, plan, FLEET, OUR_ZONE, HOME อยู่แล้ว
@dataclass
class Uxv :
name: str
xy: tuple # ตำแหน่งตอนนี้ (nm)
speed: float # kn
endurance: float # ชั่วโมงที่อยู่กลางทะเลได้ทั้งหมด (แบต/น้ำมัน) รวมขากลับ
team_ready: bool # ทีมที่คุมจากฝั่งพร้อม — ไร้คนขับ ไม่ได้แปลว่าไร้คน
ready_in: float # อีกกี่ชั่วโมงถึงจะปล่อยได้
UXVS = [ # ค่าสมมติทั้งหมด
Uxv( "โดรนบินจากท่า" , ( 0 , 0 ), 60 , 1.0 , True , 0.1 ),
Uxv( "USV เฝ้าปากอ่าว" , ( 15 , - 5 ), 20 , 24 , True , 0.0 ),
Uxv( "USV พลังคลื่น (ช้า)" , ( 30 , - 10 ), 5 , 500 , True , 0.0 ),
]
def tgt_at (tgt_xy, tgt_course, tgt_speed, t):
vx, vy = velocity(tgt_course, tgt_speed)
return tgt_xy[ 0 ] + vx * t, tgt_xy[ 1 ] + vy * t
def leaves_zone (tgt_xy, tgt_course, tgt_speed, step = 1 / 60 , horizon = 6.0 ):
"""เดินเวลาทีละนาที หาว่าเป้าหลุดออกจาก OUR_ZONE ตอนไหน (ชั่วโมง)"""
t = 0.0
while t < horizon:
if not inside(tgt_at(tgt_xy, tgt_course, tgt_speed, t), OUR_ZONE ):
return t
t += step
return horizon
def two_layer (uxvs, fleet, tgt_xy, tgt_course, tgt_speed):
"""ชั้นแรก UxV ไปถึงก่อนแล้วเฝ้าไว้ ชั้นสองเรือที่มีคนมารับไม้ (handover)"""
tgt = (tgt_xy, tgt_course, tgt_speed)
ok = []
for a in fleet:
good, total, point, _, _ = plan(a, * tgt)
if good:
ok.append((total, a.name, point))
boat = min (ok) if ok else None # เรือที่มีคนลำที่ถึงเร็วสุด
if boat:
t_end, p_end, end_txt = boat[ 0 ], boat[ 2 ], f "ส่งไม้ให้ { boat[ 1 ] } "
else : # ไม่มีใครมารับไม้ทัน เฝ้าได้แค่ถึงเส้นเขต
t_end = leaves_zone( * tgt)
p_end, end_txt = tgt_at( * tgt, t_end), "เป้าถึงเส้นเขต ส่งข้อมูลให้เพื่อนบ้าน"
print ( f "[ { end_txt } ที่ { t_end * 60 :.0f } นาที]" )
for u in uxvs:
if not u.team_ready:
print ( f " { u.name } : ทีมคุมไม่พร้อม ปล่อยไม่ได้" ); continue
p0 = tgt_at( * tgt, u.ready_in) # ระหว่างรอปล่อย เป้าก็วิ่งต่อ
res = intercept((p0[ 0 ] - u.xy[ 0 ], p0[ 1 ] - u.xy[ 1 ]), tgt_course, tgt_speed, u.speed)
if res is None :
print ( f " { u.name } : ช้ากว่าเป้า ตามไม่ทัน" ); continue
t_on = u.ready_in + res[ 0 ]
if t_on >= t_end:
print ( f " { u.name } : ถึง { t_on * 60 :.0f } นาที ช้ากว่าเรือคน ไม่ต้องส่ง" ); continue
back = math.dist(p_end, HOME ) / u.speed # ขากลับหลังจบงานเฝ้า
spare = u.endurance - (t_end - u.ready_in + back) # เวลาที่อยู่นอกท่าจริง เทียบกับที่อยู่ได้
verdict = "อยู่ได้จนจบ" if spare >= 0 else f "อยู่ไม่ถึง ขาด { - spare * 60 :.0f } นาที"
print ( f " { u.name } : ถึง { t_on * 60 :.0f } นาที เฝ้าคนเดียว { (t_end - t_on) * 60 :.0f } นาที | { verdict } " )
target = dict ( tgt_xy = ( 20 , 0 ), tgt_course = 0 , tgt_speed = 12 )
two_layer( UXVS , FLEET , ** target)
two_layer( UXVS , [a for a in FLEET if a.name != "ตรวจการณ์ 4" ], ** target) # ลำ 4 เข้าซ่อม
# [ส่งไม้ให้ ตรวจการณ์ 4 ที่ 60 นาที]
# โดรนบินจากท่า: ถึง 27 นาที เฝ้าคนเดียว 33 นาที | อยู่ไม่ถึง ขาด 18 นาที
# USV เฝ้าปากอ่าว: ถึง 44 นาที เฝ้าคนเดียว 16 นาที | อยู่ได้จนจบ
# USV พลังคลื่น (ช้า): ช้ากว่าเป้า ตามไม่ทัน
# [เป้าถึงเส้นเขต ส่งข้อมูลให้เพื่อนบ้าน ที่ 111 นาที]
# โดรนบินจากท่า: ถึง 27 นาที เฝ้าคนเดียว 84 นาที | อยู่ไม่ถึง ขาด 75 นาที
# USV เฝ้าปากอ่าว: ถึง 44 นาที เฝ้าคนเดียว 67 นาที | อยู่ได้จนจบ
# USV พลังคลื่น (ช้า): ช้ากว่าเป้า ตามไม่ทัน 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
ผลรอบแรกเล่าเรื่องได้เยอะกว่าที่คิด
โดรน เร็วสุด ไปถึงตั้งแต่นาทีที่ 27 แต่ต้องเฝ้าคนเดียว 33 นาทีกว่าลำ 4 จะมาถึง บวกขากลับแล้วอยู่ไม่ไหว ขาดไป 18 นาที ถึงก่อนไม่ได้แปลว่าอยู่จนจบUSV เฝ้าปากอ่าว ช้ากว่าโดรน 17 นาที แต่อยู่ได้ทั้งวัน เฝ้า 16 นาทีแล้วส่งไม้ให้ลำ 4 สบายๆUSV พลังคลื่น อึดสุดในกอง อยู่ได้เป็นร้อยชั่วโมง แต่วิ่งได้ 5 kn ตามเป้า 12 kn ที่วิ่งหนีไม่มีทางทัน ของแบบนี้เหมาะกับงานนั่งเฝ้าตามที่เล่าไว้ใน MSA ตอน 4 มากกว่ารอบที่สองสมมติว่าลำ 4 เข้าซ่อม ลำอื่นในกองไปไม่ได้ด้วยเหตุผลเดิมจากตอนที่แล้ว ไม่มีใครมารับไม้ USV เลยต้องเกาะเป้าคนเดียว 67 นาที จนเป้าหลุดเส้นเขตที่นาทีที่ 111 (นาทีแรกที่ระบบเดินเวลาทีละนาทีแล้วเจอว่าหลุดเส้น) แล้วก็ต้องหยุดอยู่ตรงนั้น สิ่งที่ UxV ให้ได้ในรอบนี้ไม่ใช่การจับ แต่เป็น track ที่ต่อเนื่องจนวินาทีสุดท้าย เอาไปส่งต่อให้เพื่อนบ้านตามช่องทางในตอนที่แล้ว ซึ่งก็คือภาพเดียวกับ IFC ส่งพิกัดให้กองทัพเรือเพื่อนบ้านไปเก็บเรือนั่นเอง
ถ้าอยากต่อยอด ทางหนึ่งคือให้ระบบจัดผลัด เช่นให้โดรนไปถึงก่อนแล้วกลับ พอ USV มาถึงก็รับไม้ต่อ ก็แค่แบ่ง t_end เป็นหลายช่วงแล้ววนเช็คทีละตัว แต่ไม่ว่าจะซอยกี่ผลัด ปลายทางของแผนนี้ก็ยังเป็นเรือที่มีคนอยู่ดี
SAR — Response ไม่ได้มีแค่ภัยคุกคาม พูดถึง Response แล้วคนมักนึกถึงแต่การไล่จับ แต่งานตอบสนองที่เกิดบ่อยกว่าเยอะคือ เหตุการณ์ เรือล่ม คนตกน้ำ เรือดับกลางทะเล ซึ่ง UNCLOS ข้อ 98 ในตอนที่แล้วก็บังคับไว้ว่ารัฐชายฝั่งต้องมีบริการค้นหาและช่วยชีวิต
กติกาหลักของเรื่องนี้คือ SAR Convention 1979 ที่วางหลักไว้ว่า "ไม่ว่าอุบัติเหตุจะเกิดที่ไหน การช่วยชีวิตผู้ประสบภัยในทะเลจะมีองค์กร SAR เป็นผู้ประสานงาน" โลกถูกแบ่งเป็น "13 พื้นที่ค้นหาและช่วยชีวิต" แต่ละที่ต้องมีศูนย์ประสานงานกู้ภัย (RCC — Rescue Coordination Centre) ที่ทำงาน "ตลอด 24 ชั่วโมงด้วยเจ้าหน้าที่ที่ผ่านการฝึก" และค้นต่อไป "จนกว่าจะหมดความหวังตามสมควรที่จะช่วยผู้รอดชีวิตได้" ส่วนคู่มือที่ทุกคนใช้คือ IAMSAR Manual ที่ IMO กับ ICAO ออกร่วมกัน แบ่งเป็นสามเล่ม ระดับบริหาร ระดับประสานภารกิจ และระดับเรือหรืออากาศยานที่ออกไปค้น
บทบาทที่คนทำระบบควรรู้จักมีสองตัว ตามคู่มือของ USCG
SMC (SAR Mission Coordinator) "ทุกเคส SAR ต้องมีการแต่งตั้ง SMC" เป็น "คนที่ได้รับมอบหมายให้ดูแลทุกด้านของการวางแผน ประสานงาน และบริหารการตอบสนอง"OSC (On Scene Coordinator) คนประสานงานในที่เกิดเหตุ ซึ่งบางเคสจะตั้งเพิ่มขึ้นมาด้วยทั้งสองบทบาทเป็น คน ไม่มีบรรทัดไหนเขียนว่าเป็นระบบ
ออสเตรเลียคือตัวอย่างของงานสเกลใหญ่ เขตค้นหาและกู้ภัย (SRR — Search and Rescue Region) ของเขากว้าง "เกือบ 53 ล้านตารางกิโลเมตร" หรือราวหนึ่งในสิบของผิวโลก ติดกับ SRR ของอีก 10 ประเทศ ศูนย์ชื่อ RCC – Australia เปิด 24/7 คนในศูนย์มาจากทั้งทหารเรือ เรือพาณิชย์ ทหารอากาศ การบินพลเรือน และตำรวจ รับเหตุราว 7,000 เหตุต่อปี ในนั้นราว 2,000 เหตุเป็นสัญญาณจากบีคอนฉุกเฉิน
ของที่เลาชอบคือเครื่องบิน Challenger 604 สี่ลำ ที่ประจำอยู่ Perth, Melbourne และ Cairns ผ่านผู้รับจ้าง ข้างในมีระบบ ViDAR ที่เป็น "ซอฟต์แวร์ตรวจจับความผิดปกติ… ที่เสริมการค้นหาด้วยสายตาของลูกเรือ" คือซอฟต์แวร์ช่วยตาคน ไม่ได้มาแทนตาคน และตัวเครื่องยังมีประตูสำหรับทิ้งอุปกรณ์ช่วยชีวิตลงไปให้คนในน้ำด้วย
ฝั่งสิงคโปร์ ศูนย์ของการท่าเรือ (MPA) ดูแล SRR ที่ครอบทั้งเกาะและ "ทะเลจีนใต้อีกกว่า 1 ล้านตารางกิโลเมตร" มีสองเคสที่เล่าคนละมุม
11 ม.ค. 2025 MRCC Singapore ประสานงาน ประกาศเตือนเรือในพื้นที่ แล้วเรือสินค้า NICOLAI MAERSK ที่อยู่ในพื้นที่ก็ช่วยลูกเรือเวียดนามครบ 18 คนขึ้นจากเรือชูชีพ คนช่วยจริงคือ เรือพาณิชย์ที่ผ่านมา ศูนย์มีหน้าที่หาให้เจอว่าใครอยู่ใกล้ แล้วประสานให้ไปปี 2017 เรือพิฆาต USS John S McCain ชนกับเรือบรรทุกน้ำมัน การค้นหาใช้เรือกองทัพเรือสองลำ เรือตำรวจน้ำสองลำ เครื่องบิน Fokker 50 กับ C-130 ของกองทัพอากาศ มี MPA เป็นคนประสาน พื้นที่ค้นขยายเป็น 2,620 ตร.กม. แล้วมาเลเซีย อินโดนีเซีย สหรัฐฯ และออสเตรเลียก็มาร่วมแล้วโดรนอยู่ตรงไหนในภาพนี้ HM Coastguard ของอังกฤษใช้โดรนตั้งแต่ มี.ค. 2022 ส่ง "ภาพสดจากที่เกิดเหตุไปยังห้องปฏิบัติการของ Coastguard" และวางตำแหน่งไว้ว่า โดรน "จะเข้าร่วมกับเฮลิคอปเตอร์ เครื่องบิน และเรือที่มีคน รวมถึงทีมกู้ภัยหน้าผา" โดย "ดำเนินการโดย Bristow" ซึ่งเป็นผู้รับจ้าง ฝั่งยุโรป EMSA ให้บริการ RPAS กับประเทศสมาชิกฟรี "รวมถึงงานค้นหาและช่วยชีวิต" ผ่านผู้รับจ้างเหมือนกัน ล่าสุดเมื่อ ก.ค. 2026 Frontex กับหน่วยยามฝั่งอิตาลี ทดลองบินโดรน VTOL สองลำจากเรือตรวจการณ์ Dattilo ในการซ้อม SAR "โดรนลำหนึ่งหาเรือยางลำเล็กเจอ และช่วยประสานการช่วยเหลือ" ประโยคที่เลาชอบที่สุดในข่าวคือโดรนช่วย "ให้คนได้โฟกัสที่ภารกิจ ไม่ใช่มัวแต่คอยบังคับโดรน"
เก็บรวมทุกเคสแล้วภาพมันออกมาชัด โดรน หา เฝ้า ส่งภาพ ส่วนการดึงคนขึ้นจากน้ำ เป็นงานของคนบนเรือหรือ ฮ. ทุกเคสที่ยกมา
ทะเลพาไปไหน — Monte Carlo หา datum แล้ววาง expanding square search ก่อนส่งโดรนไปค้น ต้องตอบให้ได้ก่อนว่าจะค้นตรงไหน คนตกน้ำไม่ได้ลอยอยู่ที่จุดเกิดเหตุรอเรา คู่มือ USCG บอกว่า "การลอย (drift) ประเมินจากผลรวมเวกเตอร์ของกระแสน้ำทั้งหมด… กับ leeway" โดย leeway คือ "การเคลื่อนที่ผ่านน้ำที่เกิดจากลมปะทะผิวส่วนที่โผล่พ้นน้ำของสิ่งที่กำลังค้นหา" พูดง่ายๆ คือลมพัดส่วนที่โผล่พ้นน้ำแล้วดันของลอยไป
ปัญหาคือทุกตัวในสมการไม่แน่นอนหมด จุดเกิดเหตุก็คลาด กระแสน้ำก็พยากรณ์ ลมก็เปลี่ยน ระบบวางแผน SAR ของ USCG (SAROPS) เลยใช้ "การจำลองแบบ Monte Carlo (หรือที่เรียกกันว่า 'particle filter')" ซึ่งเขาว่ารันใหม่ "ทุก 20 นาที" ส่วนใครอยากได้ของ open-source ไปเล่นจริงจัง ลองดู OpenDrift ซึ่งเป็น framework Python ที่มีโมดูล SAR และใช้งานจริงที่สถาบันอุตุนิยมวิทยาของนอร์เวย์
หลักการ Monte Carlo บ้านๆ คือ สร้างอนุภาคเป็นพันตัว แต่ละตัวคือ "โลกที่เป็นไปได้" หนึ่งแบบ ได้จุดเริ่ม กระแสน้ำ และ leeway ที่เพี้ยนไปไม่เท่ากัน ปล่อยลอยไปตามเวลา แล้วดูว่ากองอนุภาคไปกองอยู่ตรงไหน จุดศูนย์กลางของกองคือ datum จุดที่น่าจะอยู่ที่สุด
ก้อนนี้ใช้แค่ standard library ทุกค่า เป็นค่าสมมติทั้งหมด ทั้งกระแสน้ำ ลม และอัตรา leeway ของจริงต้องดึงจากแบบจำลองสมุทรศาสตร์กับพยากรณ์อากาศ และค่า leeway ขึ้นกับชนิดของที่ลอย
python import math
import random
import statistics
random.seed( 7 ) # ให้ผลรันซ้ำได้เหมือนเดิม
def velocity (course, speed):
"""ตัวเดียวกับตอน 1: course องศาตามเข็ม -> (vx ตะวันออก, vy เหนือ)"""
c = math.radians(course)
return speed * math.sin(c), speed * math.cos(c)
# ค่าสมมติทั้งหมด — ของจริงดึงกระแสน้ำ/ลมจากแบบจำลองสมุทรศาสตร์และพยากรณ์อากาศ
LKP = ( 0.0 , 0.0 ) # Last Known Position จุดที่รู้ว่าคนตกน้ำ (nm)
LKP_ERR = 0.3 # ความคลาดของจุด LKP (nm)
HOURS = 3.0 # จากเกิดเหตุ ถึงโดรนเริ่มค้น
DT = 10 / 60 # ก้าวเวลา 10 นาที
CURRENT = ( 45 , 0.8 ) # กระแสน้ำไหลไปทาง 045° 0.8 kn
WIND = ( 270 , 15 ) # ลมพัดไปทาง 270° 15 kn (ทิศที่ลมพัดไป ไม่ใช่ที่มา)
LEEWAY = 0.03 # leeway = 3% ของความเร็วลม — ค่าสมมติ ของจริงขึ้นกับชนิดของที่ลอย
def drift_once ():
"""อนุภาคหนึ่งตัว = 'โลกที่เป็นไปได้' หนึ่งแบบ"""
x = random.gauss( LKP [ 0 ], LKP_ERR )
y = random.gauss( LKP [ 1 ], LKP_ERR )
# แต่ละโลกได้ค่ากระแสน้ำ/ลม/leeway ที่เพี้ยนไปไม่เท่ากัน
cur_c = random.gauss( CURRENT [ 0 ], 15 )
cur_s = max ( 0.0 , random.gauss( CURRENT [ 1 ], 0.2 ))
lee_c = random.gauss( WIND [ 0 ], 20 ) # ของลอยไม่ได้ไปตามลมเป๊ะ เบี่ยงซ้ายขวาได้
lee_s = max ( 0.0 , random.gauss( WIND [ 1 ] * LEEWAY , 0.15 ))
t = 0.0
while t < HOURS - 1e-9 :
cx, cy = velocity(cur_c, cur_s)
lx, ly = velocity(lee_c, lee_s)
x += (cx + lx) * DT + random.gauss( 0 , 0.03 ) # drift = กระแสน้ำ + leeway + สุ่มเล็กน้อย
y += (cy + ly) * DT + random.gauss( 0 , 0.03 )
t += DT
return x, y
pts = [drift_once() for _ in range ( 5000 )]
dx = statistics.fmean(p[ 0 ] for p in pts)
dy = statistics.fmean(p[ 1 ] for p in pts)
r = sorted (math.dist(p, (dx, dy)) for p in pts)
r50, r90 = r[ len (r) // 2 ], r[ int ( len (r) * 0.9 )]
print ( f "datum: ตะวันออก { dx :.2f } nm เหนือ { dy :.2f } nm" )
print ( f "ห่างจาก LKP { math.dist( LKP , (dx, dy)) :.2f } nm" )
print ( f "รัศมีครอบอนุภาค 50%: { r50 :.2f } nm 90%: { r90 :.2f } nm" )
# datum: ตะวันออก 0.39 nm เหนือ 1.64 nm
# ห่างจาก LKP 1.69 nm
# รัศมีครอบอนุภาค 50%: 0.95 nm 90%: 1.78 nm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
สามชั่วโมงผ่านไป datum ขยับจากจุดเกิดเหตุไป 1.69 nm กระแสน้ำดันขึ้นตะวันออกเฉียงเหนือ ส่วนลมดันกลับมาทางตะวันตก ผลรวมเลยออกมาค่อนไปทางเหนือ ถ้าส่งโดรนไปวนรอบจุดเกิดเหตุเดิม ก็คือค้นผิดที่ตั้งแต่นาทีแรก แล้วอนุภาค 90% กระจายอยู่ในรัศมี 1.78 nm รอบ datum ไม่ใช่จุดเดียว
ได้ datum แล้วก็ถึงคิววางรูปแบบค้นหา คู่มือ USCG บอกว่า "Square Pattern (บางทีเรียกว่า Expanding Square) กับ Sector Pattern มักเป็นรูปแบบที่ใช้ตอนเริ่มค้นหา" แบบ sector หน้าตา "คล้ายซี่ล้อ" ส่วน expanding square ใช้เมื่อ "มั่นใจสูงว่าสิ่งที่ค้นหาอยู่ใกล้ datum ที่ประเมินไว้" และกติกาที่จำง่ายมากคือ "ทุกครั้งที่เปลี่ยนเส้นทาง ให้เลี้ยวขวา 90 องศา" ขาเพิ่มความยาวทุกสองขา S, S, 2S, 2S, 3S, 3S ไปเรื่อยๆ ระยะห่างระหว่างเส้น S เรียกว่า track spacing
อีกตัวที่ต้องรู้คือ coverage factor C = W/S โดย W (sweep width) คือความกว้างที่ sensor มองเห็นเป้าได้จริง ถ้า S กว้างกว่า W ก็จะมีช่องที่ไม่มีใครมองเห็น ก้อนนี้ต่อจากก้อนที่แล้ว เอา datum กับรัศมี 90% ไปวางแผนให้โดรน
python def expanding_square (datum, S, cover_r, first_course = 0 ):
"""ขา S, S, 2S, 2S, 3S, 3S, ... เลี้ยวขวา 90° ทุกครั้ง จนกรอบกว้างพอครอบรัศมี cover_r"""
x, y = datum
wps, course, n = [(x, y)], first_course, 1
while True :
for _ in range ( 2 ): # ความยาวขาเพิ่มทุกสองขา
vx, vy = velocity(course, n * S)
x, y = x + vx, y + vy
wps.append((x, y))
course = (course + 90 ) % 360 # เลี้ยวขวาเสมอ
half = max ( max ( abs (px - datum[ 0 ]), abs (py - datum[ 1 ])) for px, py in wps)
if half + S / 2 >= cover_r: # +S/2 เพราะกล้องกวาดเลยเส้นออกไปข้างละครึ่ง
return wps, half + S / 2
n += 1
S = 0.3 # track spacing (nm) — ค่าสมมติ
W = 0.3 # sweep width ของกล้องโดรนกับเป้าคนในน้ำ (nm) — ค่าสมมติ
DRONE_KN = 40 # ความเร็วโดรน — ค่าสมมติ
wps, half = expanding_square((dx, dy), S, r90)
length = sum (math.dist(a, b) for a, b in zip (wps, wps[ 1 :]))
inside_box = sum ( abs (px - dx) <= half and abs (py - dy) <= half for px, py in pts) / len (pts)
print ( f " {len (wps) - 1} ขา ยาวรวม { length :.1f } nm ใช้เวลา ~ { length / DRONE_KN * 60 :.0f } นาที" )
print ( f "กรอบค้นหา {2 * half :.1f } x {2 * half :.1f } nm, coverage C = W/S = { W / S :.1f } " )
print ( f "อนุภาคที่ตกในกรอบ: { inside_box :.0% } " )
legs = [ f " { math.dist(a, b) :.1f } nm" for a, b in zip (wps, wps[ 1 : 7 ])]
print ( "6 ขาแรก (เริ่มขึ้นเหนือ แล้วเลี้ยวขวา):" , " -> " .join(legs))
# 22 ขา ยาวรวม 39.6 nm ใช้เวลา ~59 นาที
# กรอบค้นหา 3.9 x 3.9 nm, coverage C = W/S = 1.0
# อนุภาคที่ตกในกรอบ: 97%
# 6 ขาแรก (เริ่มขึ้นเหนือ แล้วเลี้ยวขวา): 0.3nm -> 0.3nm -> 0.6nm -> 0.6nm -> 0.9nm -> 0.9nm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
22 ขา รวม 39.6 nm โดรนใช้ราว 59 นาที กวาดกรอบ 3.9 × 3.9 nm ที่ครอบอนุภาคไว้ 97% ฟังดูดี แต่ต้องอ่านตัวเลขให้เป็นนะฮะ 97% คือสัดส่วนอนุภาคในกรอบ ไม่ใช่โอกาสที่จะเจอคน เพราะต่อให้บินผ่านหัวไปแล้ว ตา (หรือโมเดล) ก็อาจมองไม่เห็น ซึ่งเป็นเรื่องของหัวข้อถัดไป
ข้อจำกัดของสองก้อนนี้ก็ต้องบอกกันตรงๆ
ระหว่างค้น ของก็ยังลอยต่อ โดรนบินชั่วโมงหนึ่ง datum ก็ขยับไปอีก นั่นคือเหตุผลที่ SAROPS รันใหม่ทุก 20 นาที ไม่ใช่รันครั้งเดียวค่าทุกตัวสมมติ ทั้งการกระจายของกระแสน้ำ ลม และ leeway ของจริงต้องมาจากแบบจำลองและข้อมูลวัดจริงกรอบสี่เหลี่ยมครอบวงกลม ใช้ง่ายแต่เปลือง ถ้ากองอนุภาคยืดเป็นรูปรี ควรหมุนแนวขาให้ตามแกนยาวของกองโดรนบินได้กี่โมง ตัวอย่างนี้ไม่ได้ถามสักคำว่าตอนนั้นกลางวันหรือกลางคืน ซึ่งเป็นเรื่องใหญ่มากในหัวข้อกฎหมายบ้านเราด้านล่าง
เนี่ย จะเห็นว่าที่มา มันมาจากการที่มนุษย์สังเกตก่อน แล้วก็มาลองจับ parameter มาคำนวณ จะได้รู้ว่าที่มาจะมายังไง และจะไปต่อยังไง เอาเครื่องมือที่เหมาะสม ที่คำนวณ parameter ในภูมิภาคเรา ไม่ใช่สักแต่จะบอกว่า จะซื้อระบบ จะซื้อระบบ จะเอา SAR Map จะเอา Oil Map อิอิ
AI คุม UxV — เครื่องทำอะไร คนทำอะไร ถึงคิวหัวข้อที่คนถามเยอะสุด AI ที่คุม UxV มันทำอะไรได้แค่ไหน แล้วคนเหลืองานอะไร
ไม้บรรทัดที่ละเอียดที่สุดตอนนี้คือ MASS Code ของ IMO (MSC.595(111)) ที่ "รับรอง… เมื่อ พ.ค. 2026" และ "มีผลตั้งแต่ 1 ก.ค. 2026" แบบยังไม่บังคับ ฉบับบังคับคาดว่าจะมีผล 1 ม.ค. 2032 ต้องย้ำอีกรอบว่า Code นี้เขียนให้ เรือสินค้า กับศูนย์ควบคุมระยะไกล (ROC — Remote Operations Centre) ไม่ได้บังคับ USV หรือโดรนของหน่วยงานรัฐ เลาหยิบมาใช้เป็นมาตรฐานเทียบ เพราะมันเขียนเรื่องแบ่งงานคนกับเครื่องไว้ละเอียดมาก หลักใหญ่คือ "นายเรือ (master) ยังคงรับผิดชอบเรือในภาพรวมตลอดเวลา แม้จะไม่ได้อยู่บนเรือ" กับ ROC "ที่ซึ่งบุคลากรที่ผ่านการฝึกเฝ้าดูหรือควบคุมการทำงานของเรือได้"
เกร็ดขำๆ คือทั้ง Code ไม่มีคำว่า "artificial intelligence" สักคำ ใช้คำว่า autonomous กับ software ล้วนๆ แต่ถ้าแกะดู จะเห็นเส้นแบ่งงานชัดมาก
งานที่ระบบทำแบบอัตโนมัติได้ (§16.4) — "การวางแผนเดินทาง… การรับรู้สถานการณ์… การหลบเลี่ยงการชนและการเกยตื้น… การเดินตามเส้นทางและการเฝ้าติดตาม" โดยระบบหลบเรือต้อง "ดำเนินการตาม COLREG เพื่อป้องกันการชน"แต่แก้แผนเองไม่ได้ (§16.4.1.1) — การใช้หรือแก้แผนเดินเรือ "ต้องทำไม่ได้ถ้านายเรือยังไม่อนุมัติ ซึ่งรวมถึงการตรวจสอบว่าแผนถูกต้อง" และถ้าต้องออกนอกแผนก็ต้อง "แจ้งเตือนนายเรือ" (§16.4.4)คนต้องทำอะไร (§8.7.1) — "เข้าใจและตีความผลลัพธ์ของระบบ", "กำกับดูแลระบบ และตรวจสอบการตัดสินใจที่ระบบเป็นฝ่ายริเริ่ม" และ "เข้าแทรกแซงและ/หรือ override ระบบเมื่อจำเป็น"ยอมรับข้อจำกัดตรงๆ (§8.7.2) — "การเดินเรือ MASS โดยไม่มีคนเข้ามาเกี่ยวข้องเลยนั้นมีข้อจำกัด" และ (§8.7.3) "MASS ควรมีนายเรือที่เป็นคนรับผิดชอบ ไม่ว่าจะเดินเรือในโหมดไหน"ให้เวลาคนด้วย (§8.7.4) — ระบบต้องให้คนมี "เวลาเหลือเฟือและข้อมูลเพียงพอ" ก่อนต้องตัดสินใจ ส่วนซอฟต์แวร์ก็ต้อง "ออกแบบและพัฒนาให้ป้องกันอคติที่ไม่ได้ตั้งใจ" (§10.8)ฟังดูเหมือนหลบเรือตาม COLREGs (กฎป้องกันเรือโดนกัน) เป็นงานง่ายสุดในลิสต์ จริงๆ ไม่ใช่เลย งานวิจัยปี 2021 ชิ้นหนึ่งสรุปว่ากฎพวกนี้ "เขียนไว้ให้คนใช้ และถูกตีความโดยแต่ละเขตอำนาจมาเรื่อยๆ ตามกาลเวลา" การแปลงเป็นอัลกอริทึมเลย "ไม่ใช่เรื่องง่ายๆ" แถม "ยังไม่มีแนวทางทดสอบและรับรองความถูกต้องที่ใช้ร่วมกัน" กฎที่เขียนให้คนตีความ พอให้เครื่องตีความก็ต้องมีคนคอยดูว่ามันตีความถูก
ตัวอย่างการแบ่งงานที่เห็นภาพง่ายคือ Saildrone เรือใบไร้คนขับที่วิ่งตาม waypoint "ปรับตามทิศลมและกระแสน้ำเองโดยอัตโนมัติ" แต่ก็ "มี operator ที่ Saildrone Mission Control คอยกำกับตลอด 24/7" และ "เปลี่ยนเส้นทางกลางทางได้ทันที" เครื่องทำงานจุกจิกนาทีต่อนาที คนกำกับทั้งเที่ยว
แล้วฝั่ง SAR ล่ะ AI ช่วยหาคนในน้ำจากภาพโดรนได้แค่ไหน ชุดข้อมูลวิจัยชื่อ SeaDronesSee มีภาพ "กว่า 54,000 เฟรม รวม 400,000 instance" ถ่ายจากความสูง 5 ถึง 260 เมตร แล้วงานเดียวกันก็เล่าว่ามันยากเพราะ
แสงสะท้อนและเงาบนผิวน้ำ ทำให้เจอของปลอมหรือพลาดของจริง คนอาจ "แทบมองไม่เห็น หรือโดนคลื่นหรือฟองทะเลบังไว้" เป้าตัวเล็กมากในภาพ และข้อที่เลาว่าสำคัญสุด คือคนว่ายน้ำถูกตรวจจับ "ได้แย่กว่าอย่างมีนัยสำคัญ" เมื่อเทียบกับคนที่ลอยตัวอยู่ในเสื้อชูชีพ งานวิจัยอีกชิ้นชื่อ AutoSOS (เผยแพร่บน arXiv ยังไม่ยืนยันว่าผ่าน peer review) ออกแบบให้โดรนที่เจอเป้า "ส่งข้อมูล sensor ไปที่เรือ เพื่อยืนยันสิ่งที่พบ" และ "ปฏิบัติการช่วยชีวิตและการปฐมพยาบาลจริง ยังเป็นความรับผิดชอบของเจ้าหน้าที่กู้ภัย" ส่วนศูนย์วิจัยของ USCG ก็เคยร่วมกับบริษัทเอกชนเมื่อ ก.ย. 2023 เพื่อ "สำรวจว่าเทคโนโลยีตรวจจับและติดตามที่ใช้ AI จะนำมาใช้กับงานค้นหาและช่วยชีวิตได้แค่ไหน และได้ผลเพียงใด" ยังเป็นขั้นสำรวจ ไม่ใช่ของที่ใช้เต็มรูปแบบ
ส่วนคำถามว่าคนควรอยู่ตรงไหนของ loop กลุ่มผู้เชี่ยวชาญด้าน AI ของคณะกรรมาธิการยุโรป (ปี 2019) แบ่งไว้สามแบบที่เอามาใช้คิดได้ดี
Human-in-the-loop — คนแทรกได้ในทุกรอบการตัดสินใจ ซึ่งเขาเขียนเองว่าในหลายกรณี ทั้งทำไม่ได้ และก็ไม่ได้น่าทำHuman-on-the-loop — คนแทรกตอนออกแบบและเฝ้าดูการทำงานของระบบHuman-in-command — คนกำกับภาพรวม ตัดสินใจว่าจะใช้ระบบเมื่อไหร่และอย่างไร รวมถึงการตัดสินใจที่จะไม่ใช้ระบบ AIข้อสุดท้ายเลาชอบที่สุด การเลือก ไม่ใช้ AI ก็เป็นการตัดสินใจของคนที่ต้องมีที่ยืนในระบบ
สรุปเส้นแบ่งงานจากทุกแหล่งข้างบน
AI/ระบบทำ — นำทางและหลบเรือตามกฎ วางเส้นทาง เกาะเป้า ตรวจจับเรือหรือคนในน้ำจากภาพ เสนอว่าเจออะไรตรงไหนคนทำ — ตั้งภารกิจ อนุมัติแผน ยืนยันสิ่งที่ระบบเจอ ตัดสินใจเรื่องใช้กำลังและการช่วยชีวิต และเลือกได้ว่าจะไม่ใช้ระบบ
เชื่อเครื่องจนลืมดู คุมหลายตัวจนล้า — แล้วมันจะกลายเป็นฝึก มีคนยืนยันแล้ว จบไหม ยังอ่ะ เพราะคนที่นั่งดูเครื่องทำงานนานๆ มีโรคประจำตัวชื่อ automation bias นิยามที่กระชับที่สุดอยู่ใน EU AI Act ข้อ 14(4)(b) คือ "แนวโน้มที่อาจจะพึ่งพาหรือพึ่งพาเกินควรแบบอัตโนมัติ กับผลลัพธ์ที่ได้จากระบบ AI ความเสี่ยงสูง" กฎหมายตัวนี้ไม่ใช่กฎหมายทะเล และข้อ 2(3) ก็ยกเว้นเรื่องทหารไว้ด้วย แต่ยืมนิยามมาใช้ได้ดี ข้อเดียวกันยังเขียนให้คนต้องสามารถ "เมิน override หรือกลับผลลัพธ์นั้นได้" และต้องมีปุ่ม "'stop'" ด้วย
ในทะเลมีเคสคลาสสิกคือเรือ Royal Majesty ที่เกยตื้นเมื่อปี 1995 NTSB สรุปว่าส่วนหนึ่งเกิดจาก "การที่นายยามเรือพึ่งพาฟีเจอร์อัตโนมัติของระบบสะพานเดินเรือแบบรวม (integrated bridge system) มากเกินไป" GPS มีปัญหาจนระบบตกไปใช้ dead reckoning (คำนวณตำแหน่งเอาจากเข็มและความเร็ว) แบบเงียบๆ เรือเลยค่อยๆ หลุดเส้นทางโดยไม่มีใครรู้ แล้วรายงานยังชี้ด้วยว่าคนประจำสะพานเดินเรือไม่ได้ถูกฝึกเรื่องระบบอัตโนมัติมากพอ เห้ย นี่มันปี 1995 นะ ยังไม่มี AI ให้โทษเลยด้วยซ้ำ
ฝั่ง ROC ก็มีงานวิจัยชี้ปัญหาที่หน้าตาคล้ายกัน คือ "ความท้าทายที่ต้องกลับเข้า loop ให้ไว เมื่อเรือที่เฝ้าดูอยู่ ซึ่งระบบอัตโนมัติทำงานได้สมบูรณ์มาเป็นเวลานาน จู่ๆ ก็ต้องการความช่วยเหลือจากระยะไกล" ระบบนิ่งมาทั้งกะ แล้วจู่ๆ ต้องเข้าไปคุมในสิบวินาที คนที่นั่งเฉยมาหลายชั่วโมงกลับเข้า loop ไม่ทันหรอก
แล้วถ้าคนหนึ่งคุมหลายตัวล่ะ คำถามนี้คนชอบถามเป็นตัวเลขว่า "คนหนึ่งคุมได้กี่ลำ" ซึ่งเท่าที่ค้นเจอ ยังไม่มีตัวเลขทางการ มีแต่งานวิจัยที่ชี้ทิศทาง ชิ้นหนึ่งพบว่า "ภาระงานสูงกว่าเมื่อกำกับเรือสามลำ เทียบกับกำกับลำเดียว" อีกชิ้นวัดคลื่นสมองแล้วพบว่าความเครียดเปลี่ยนชัดเมื่อเพิ่มจำนวนเรือต่อคน ฝั่ง MASS Code ก็ไม่ได้ให้ตัวเลข แต่วางกลไกไว้แทน ROC ที่คุมหลายลำต้องมีเอกสารกำหนดคนขั้นต่ำ "MSMD (minimum safe manning document) หนึ่งฉบับต่อ MASS หนึ่งลำ" (§5.9.4) ต้องแยก alert ของแต่ละลำ และ "โอนการจัดการ alert ของ MASS ที่เลือกไว้ไปให้ task station อื่น" ได้ (§13.4.2) ซึ่งก็คือถาดคิวล้นในรูปข้างบนนั่นแหละ งานที่ล้นมือคนหนึ่งต้องมีทางส่งให้คนอื่นรับ ไม่ใช่ปล่อยค้างหรือตัดทิ้ง
ทั้งหมดนี้ชี้ไปที่ประโยคที่สปอยล์ไว้ตั้งแต่ต้น มันจะกลายเป็นฝึก ของที่เปลี่ยนไม่ใช่จำนวนคนอย่างเดียว แต่เป็นทักษะที่คนต้องมี
MASS Code (§14.4.2) ให้ remote operator มีคุณสมบัติตาม STCW (มาตรฐานการฝึกและออกประกาศนียบัตรคนประจำเรือ) บวก "การฝึกเพิ่มเติมด้านการปฏิบัติการระยะไกล" การซ้อมต้อง "ขยายไปถึง ROC และ remote operator ทุกราย" และต้องฝึกร่วมระหว่างลูกเรือบนเรือกับ remote operator (§14.4.1.1)UK MCA ออก MGN 703 เมื่อ ต.ค. 2024 กำหนดให้ Remote Operator ต้องฝึกทั้ง remote operations, GMDSS และ cyber security ส่วนมาตรฐานระดับชาติยังทำกันอยู่USCG ตั้งตำแหน่งใหม่เมื่อ มิ.ย. 2026 ชื่อ Robotics Mission Specialist (RMS) พร้อมตำแหน่ง Chief Warrant Officer สาย Robotics Mission Manager สำหรับภารกิจ "สกัดยาเสพติด ค้นหาและช่วยชีวิต รักษาความปลอดภัยท่าเรือ ต่อต้านระบบไร้คนขับ และเฝ้าระวังสิ่งแวดล้อม" แล้วเดือน ก.ย. 2026 ก็ตั้งหน่วย CG-781 ดูแล "การฝึก และยุทธศาสตร์ด้านกำลังคนของระบบไร้คนขับ"สิงคโปร์ ทีม MARSEC USV ฝึกราวสามเดือนก่อนลงเวรออสเตรเลีย อากาศยานไร้คนขับ MQ-4C Triton บินภารกิจได้ "นานกว่า 24 ชั่วโมง" ครอบพื้นที่ "กว่าหนึ่งล้านตารางไมล์ทะเล" แต่ข่าวตอนเครื่องแรกมาถึงก็เล่าว่า "ลูกเรืออากาศยานผ่านการฝึกอย่างเข้มข้นจากกองทัพเรือสหรัฐฯ"สังเกตว่ามีหน่วยที่ตั้ง ชื่อตำแหน่งใหม่ ขึ้นมาเลย ไม่ได้แค่ส่งคนเดิมไปอบรมสามวันแล้วกลับมานั่งหน้าจอ นี่แหละคือ "คนก่อนเครื่องมือ" จากตอนที่แล้ว ที่วนกลับมาอีกรอบในร่าง UxV
กฎหมายบ้านเรา — เขียนไว้ตอนที่ทุกลำยังมีคนอยู่บนเรือ ทีนี้หันกลับมาดูกฎหมายบ้านเราบ้าง ข้อควรรู้ก่อนอ่านคือหัวข้อนี้เป็นการอ่านตัวบทที่เปิดเผยสาธารณะ ไม่ได้พูดถึงว่าใครมีหรือใช้อะไร
กฎหมายหลักเรื่องการเดินเรือของบ้านเราคือ พ.ร.บ.การเดินเรือในน่านน้ำไทย พ.ศ. 2456 ที่แก้มาแล้วหลายรอบจนถึงฉบับที่ 18 พ.ศ. 2566 ทั้งฉบับเขียนบนสมมติฐานว่ามีคนอยู่บนเรือ ดูได้จากตัวบทเอง
มาตรา 3 นิยาม "นายเรือ" ว่า "ผู้ควบคุมเรือกำปั่น หรือเรืออื่น ๆ แต่ไม่รวมถึงผู้นำร่อง" และ "คนประจำเรือ" ว่า "คนที่มีหน้าที่ทำการประจำอยู่ในเรือ" คำว่า "อยู่ในเรือ" อยู่ในนิยามตรงๆมาตรา 277–278 ตำแหน่งอย่าง "นายเรือ ต้นหน สรั่ง ไต้ก๋ง นายท้าย คนถือท้าย หรือต้นกล คนใช้เครื่อง" ต้องมีประกาศนียบัตร แล้วนายเรือยัง "จะต้องแสดงว่ามีสายตาดีด้วย" อ่านถึงตรงนี้เลาอดถามไม่ได้ว่า ถ้าคนถือท้ายเป็น AI มันต้องไปวัดสายตาที่ไหนมาตรา 284 ผู้ถือประกาศนียบัตร "ต้องเก็บประกาศนียบัตรของตนไว้ในเรือ" ระหว่างทำการ ถ้าคนคุมนั่งอยู่บนฝั่ง ใบนั้นจะเก็บไว้ตรงไหนดีมาตรา 102 นายเรือ "ต้องใช้ความระมัดระวังในการควบคุมเรือโดยเต็มความสามารถ" และถ้ามีเหตุเกิดขึ้นก็ต้องเป็นคนรายงานเท่าที่ค้นเจอในฐานข้อมูลกฎหมายเดินเรือ ยังไม่เจอนิยามของเรือไร้คนขับ เรือควบคุมระยะไกล หรือ MASS (ค้นไม่เจอไม่ได้แปลว่าไม่มีแน่ๆ แค่ยังไม่เจอหลักฐาน) ซึ่งก็ไปตรงกับเอกสารวิชาการด้านความมั่นคงของบ้านเราเองเมื่อ พ.ค. 2026 ที่ยอมรับว่า "ยังไม่มีกลไกทางด้านกฎหมายที่ชัดเจน … ที่มีความครอบคลุมในทุกมิติ (USV UUV และ UAV)" และ "หน่วยงานที่เกี่ยวข้องกำลังอยู่ในช่วงของการศึกษา และร่างมาตรการทางด้านกฎหมาย"
ฝั่ง SAR มีเรื่องที่กำลังเดิน คือ ร่าง พ.ร.บ.การเดินเรือในน่านน้ำไทย (ฉบับที่ ..) ที่เพิ่มหมวด "(ฆ/4) ว่าด้วยการค้นหาและช่วยชีวิตผู้ประสบภัยทางน้ำ" ร่างนี้ผ่านความเห็นชอบในชั้นรัฐบาลเมื่อ ก.พ. 2568 แล้วผ่านวาระแรกในสภาเมื่อ 10 มิ.ย. 2569 ด้วยคะแนน 446 ต่อ 0 งดออกเสียง 2 ย้ำตัวโตๆ ว่า ยังเป็นร่าง เท่าที่ค้นเจอยังไม่พบว่าผ่านวาระ 2–3 หรือประกาศในราชกิจจานุเบกษา เนื้อหาในร่างที่น่าสนใจมีประมาณนี้
ตั้งคณะกรรมการค้นหาและช่วยชีวิตผู้ประสบภัยทางน้ำระดับชาติ กับศูนย์ประสานงานค้นหาและช่วยชีวิตผู้ประสบภัยทางน้ำ ซึ่งก็คือบทบาทแบบ RCC ข้างบน ในน่านน้ำ "ให้ผู้ว่าราชการจังหวัดในพื้นที่ที่เกิดเหตุเป็นผู้บัญชาการเหตุการณ์" ส่วนนอกน่านน้ำแต่ยังอยู่ในเขต SAR ของเรา ร่างก็กำหนดผู้บัญชาการไว้อีกตำแหน่งหนึ่ง หน้าที่แจ้งเหตุ (ร่างมาตรา 120/59) "เจ้าของหรือผู้ครอบครองเรือ ผู้ประกอบกิจการเดินเรือ นายเรือ ผู้ควบคุมเรือ หรือคนประจำเรือนั้น มีหน้าที่ในการแจ้งเหตุต่อศูนย์ประสานงานค้นหาและช่วยชีวิตผู้ประสบภัยทางน้ำทันที" ไม่แจ้งมีโทษจำคุกไม่เกินสองปี ปรับไม่เกินสี่หมื่นบาทหน้าที่ช่วย (ร่างมาตรา 120/62) "นายเรือ ผู้ควบคุมเรือ หรือคนประจำเรือ มีหน้าที่ ในการช่วยเหลือผู้ประสบภัยทางน้ำตามความสามารถของตนที่จะกระทำได้" ถ้า "อาจช่วยได้โดยไม่เป็นอันตรายร้ายแรงแก่เรือของตน" ไม่ช่วยมีโทษจำคุกไม่เกินหนึ่งปี ปรับไม่เกินสองหมื่นบาทลองอ่านด้วยแว่นของบทความนี้ หน้าที่ทั้งแจ้งเหตุและช่วยเหลือผูกไว้กับ นายเรือ ผู้ควบคุมเรือ และคนประจำเรือ ซึ่งเป็นคนทั้งหมด ร่างไม่ได้บอกว่าถ้าเรือที่ผ่านมาเป็นเรือไร้คนขับหรือเรือที่คุมจากฝั่ง หน้าที่ "ช่วยตามความสามารถ" จะตกอยู่กับใคร ข้อนี้เลาสังเกตเอาจากตัวบทล้วนๆ ฝั่ง IMO ก็ยังเป็นประเด็นอยู่เหมือนกัน IMRF (International Maritime Rescue Federation) ชี้ว่า master ของ MASS "ควรปฏิบัติตามข้อกำหนดที่เกี่ยวข้องทั้งหมดใน SOLAS เรื่องการให้ความช่วยเหลือผู้ประสบภัย" แต่จะทำยังไงในทางปฏิบัติก็ยังต้องคุยกันอีกยาว
ของที่มีผลแล้วฝั่ง SAR ก็มีอยู่บ้าง ประกาศในราชกิจจานุเบกษาเมื่อ 12 มิ.ย. 2566 ให้ "นายเรือ คนประจำเรือ มีหน้าที่ต้องป้องกันและหลีกเลี่ยงไม่ให้มีการส่งสัญญาณขอความช่วยเหลือที่ผิดพลาด" ตามข้อมติ IMO MSC.514(105) ส่วน พ.ร.บ.การช่วยเหลือกู้ภัยทางทะเล พ.ศ. 2550 มาตรา 20 วางหลักว่า "ผู้ที่กระทำการช่วยชีวิตผู้ประสบภัยไม่มีสิทธิเรียกเงินตอบแทนจากผู้ประสบภัยที่รอดชีวิตจากการกระทำนั้น" สองฉบับนี้ก็พูดกับคนเหมือนกัน
ข้ามไปกฎการบินโดรน หลักอยู่ที่ประกาศเรื่อง หลักเกณฑ์การขออนุญาตและเงื่อนไขในการบังคับหรือปล่อยอากาศยานซึ่งไม่มีนักบิน ประเภทอากาศยานที่ควบคุมการบินจากภายนอก พ.ศ. 2558 โดรนไม่เกิน 25 กก. บินได้ตามเงื่อนไข เกินนั้นต้องได้อนุญาตเป็นหนังสือจากรัฐมนตรี เงื่อนไขพื้นฐานที่ประกาศไว้ (อาจมีปรับปรุงตามเวลา) มีตัวอย่างเช่น
ขึ้นทะเบียนโดรนที่มีกล้องทุกกรณี และโดรน 2–25 กก. ทั้งเรื่องคลื่นความถี่และตัวผู้บังคับ "ห้ามบินหลังพระอาทิตย์ตกดิน" "ห้ามบินสูงเกิน 90 เมตร" "ห้ามบินภายในระยะ 9 กิโลเมตร จากสนามบิน เว้นแต่ได้รับอนุญาต" ห้ามบินในเขตหวงห้าม และต้องห่างคน ยานพาหนะ สิ่งปลูกสร้าง 30 เมตร ทีนี้วางโค้ด SAR ข้างบนลงบนกติกานี้ คนตกน้ำไม่ได้เลือกตกตอนกลางวัน ถ้าเหตุเกิดหัวค่ำ หรือต้องบินไกลฝั่งนอกเงื่อนไข ก็กลายเป็น "การปฏิบัติการบินซึ่งมีความเสี่ยงในระดับปานกลาง (Specific Category)" ที่ต้องขออนุญาต (และก็มีการร่างประกาศใหม่อยู่ตั้งแต่ ธ.ค. 2025) ส่วนกติกาเฉพาะเรื่องบินในเขตท่าเรือหรือบินขึ้นจากเรือ เท่าที่ค้นเจอก็ยังไม่พบ
แปลเป็นภาษาคนทำระบบก็คือ ใบอนุญาต ขั้นตอน และคนที่มีสิทธิ์บิน ต้อง พร้อมก่อนวันเกิดเหตุ ไม่ใช่ไปยื่นเรื่องตอนตีสองขณะที่มีคนลอยคออยู่ ตรงกับประโยคแรกสุดของตอนที่แล้วเป๊ะ ซื้อของคือบรรทัดสุดท้าย ซื้อโดรนมาแล้วกติกายังไม่พร้อม ก็ได้โดรนมาจอดรอเหมือนเรือ Cape ที่ไม่มีลูกเรือ
ขาสุดท้ายของ MDA ปิดตรงนี้ แต่ยังไม่ใช่ท้ายสุด เก็บตกตอนนี้แบบรวบรัด
UxV เป็น asset ของ Response ทั้งงานสกัดและงาน SAR แต่บทบาทหลักวันนี้คือ หา เฝ้า บันทึก ส่งภาพ ส่วนการขึ้นตรวจ จับกุม และดึงคนขึ้นจากน้ำ ยังเป็นงานของคนไม่ได้มาแทนคนทั้งหมด สิงคโปร์ย้ายคนไปทำงานที่ยากกว่า ABF เขียนชัดว่า "ไม่ได้มาแทนการลาดตระเวนที่มีอยู่" และของที่ซื้อมาหลายเจ้ายังมาพร้อมคนบินแผนสองชั้น UxV ไปถึงก่อนแล้วเฝ้าไว้ เรือที่มีคนรับไม้ต่อ ถึงก่อนไม่ได้แปลว่าอยู่จนจบ ต้องคิดทั้งเวลาเฝ้าและขากลับSAR เริ่มจากถามว่าทะเลพาคนไปไหน Monte Carlo ให้ datum กับวงความไม่แน่นอน expanding square ให้เส้นทางโดรน แล้วต้องคำนวณใหม่เป็นรอบๆAI เสนอ คนยืนยัน ทุกจุดที่เครื่องเจอต้องผ่านตาคน ไม่มีเกณฑ์ตัดทิ้ง ถ้างานรอยืนยันล้นโต๊ะแปลว่าคนไม่พอ ไม่ใช่สัญญาณให้ยกเกณฑ์automation bias กับการคุมหลายตัว เป็นของจริงที่ทะเลเคยจ่ายราคาไปแล้ว ทางออกคือการออกแบบระบบที่ให้เวลาคน และ การฝึก จนบางหน่วยต้องตั้งตำแหน่งใหม่ขึ้นมารองรับกฎหมายบ้านเรา ยังเขียนไว้สำหรับเรือที่มีคน ร่างกฎหมาย SAR ที่กำลังเดินก็ผูกหน้าที่ไว้กับคน และกติกาการบินต้องพร้อมก่อนวันเกิดเหตุตลอดทั้งซีรีส์ใช้กฎเดียวกันมาตั้งแต่ต้น ระบบยกมือ คนตัดสิน ตอนที่แล้วเติมท่อนที่ว่าคนต้องมีพอให้ไปลงมือ ตอนนี้ขอเติมอีกท่อน ต่อให้มือที่ไปถึงก่อนเป็นมือของเครื่อง คนก็ยังต้องอยู่ในระบบ แค่ย้ายจากหัวเรือไปอยู่หน้าจอ แล้วต้องถูกฝึกมาให้รู้ทันเครื่องด้วย ไร้คนขับ แต่ไม่ไร้คนทำ
ซีรีส์ Maritime Response Awareness ขอปิดไว้ที่สองตอนนี้ และถือว่าเดินครบสามขาของ MDA แล้ว แต่อย่างที่บอกไว้ตอนที่แล้ว ขาสุดท้ายไม่ได้แปลว่าท้ายสุด วงของ MDA ยังวนกลับไป Situational ใหม่ทุกรอบ แล้วเรื่อง UxV กับ AI ก็เป็นเรื่องที่ขยับเร็วมาก ทั้งตัวเครื่อง ตัวมาตรฐาน และตัวกฎหมาย มีอะไรใหม่ที่น่าเล่าก็จะแวะกลับมาเล่าต่อ
ก่อนแยกย้าย ขอถามคนทำงานสายนี้สักข้อ ถ้าวันหนึ่งโต๊ะของเรามี UxV ให้คุมสามตัว คิดว่าคนดูจอต้องมีกี่คน แล้วต้องฝึกอะไรก่อนลงเวรคืนแรก มาเล่าสู่กันฟังหน่อย เจอกันเรื่องหน้านะ