Accumulated Error ความผิดปกติในเที่ยวบินที่ 6 ของ Ingenuity เกิดอะไรขึ้นกับระบบ IMU และระบบนำทาง

วันที่ 22 พฤษภาคม 2021 หรือ SOL 91 ของภารกิจ Mars 2020 Perseverance เป็นวันที่ Ingenuity มีกำหนดการทำการบินระยะไกลซึ่งนับเป็นเที่ยวบินที่ 6 ของ Ingenuity และยังเป็นเที่ยวบินสำหรับการบินลาดตระเวนทางอากาศหลังจากเสร็จสิ้นการสาธิตเทคโนโลยีอีกด้วย

ตามกำหนดการ Ingenuity ขึ้นบินในวันที่ 22 พฤษภาคม 2021 และเดินทางไปยังตำแหน่งที่กำหนดไว้ล่วงหน้าโดยวิศวกรเพื่อไปถ่ายรูปทางอากาศพื้นที่บริเวณฝั่งตะวันตก โดย Ingenuity บินขึ้นจาก Airfield B ไปที่ความสูง 10 เมตร จากนั้นจึงบินไปยังทางทิศตะวันตกเฉียงใต้ 150 เมตร ก่อนที่จะบินต่อไปยังทางใต้อีก 15 เมตร เพื่อถ่ายรูปจุดสำรวจใหม่ สุดท้ายจึงบินไปยังทางทิศตะวันออกเฉียงเหนือ 50 เมตรและลงจอด

ซึ่งทุกอย่างดูปกติในช่วง 150 เมตรแรกของการบิน แต่หลังจาก 150 เมตรนั้น Ingenuity เริ่มทำตัวแปลก ๆ

เกิดอะไรขึ้นกับ Ingenuity

ในช่วงหลังจาก Translation 150 เมตรแรกไปอย่างทิศตะวันเฉียงใต้ของดาวอังคารนั้น ทีมวิศวกรพบว่า Ingenuity เริ่มเคลื่อนตัวแบบแปลก ๆ โดย Flight Computer ของมันสั่งให้ใบพัดปรับทิศทางอย่างรวดเร็วหงายไปข้างหลังทำให้เกิดการชะลอความเร็ว (Airspeed) แบบกะทันหันจากนั้น Flight Computer ก็สังให้ปรับใบพัดให้ Ingenuity หงายไปข้างหน้าอีก วนซ้ำกันไปมาเกิดเป็น Oscillating Pattern (การกวัดแกว่งอย่างมีรูปแบบ)

นอกจากนี้เซนเซอร์บนยานในระบบ IMU (Inertial Measurement Unit) ยังตรวจจับการ Roll (หมุนซ้ายขวา) และการ Pitch (หงายขึ้นลง) เกินกว่า 20 องศาอีกด้วย พร้อมกับการเพิ่มขึ้นอย่างรวดเร็วของอัตราการใช้พลังงานแบตเตอรี่ซึ่งสอดคล้องกับการปรับรอบหมุน (RPM) ใบพัดเพื่อเปลี่ยนทิศทางของ Ingenuity แบบกะทันหัน

วิดีโอขณะ Ingenuity เกิดการเคลื่อนที่แบบผิดปกติ ซึ่งเป็น 29 วินาทีสุดท้ายของเที่ยวบินก่อนการลงจอด – ที่มา NASA/JPL-Caltech

แต่เรารู้แน่ ๆ ว่า Ingenuity รอด เพราะถ้ามันไม่รอดเราก็คงจะไม่รู้ด้วยซ้ำว่าเกิดอะไรขึ้นกับ Ingenuity เพราะหากมันตก มันคงไม่มีแม้แต่โอกาสที่จะส่งสัญญาณ Handshake ไปยัง Perseverance เพราะฉะนั้นก็ลืมเรื่องการส่งข้อมูล Telemetry การบินกลับไปยังโลกได้เลย

ระบบการนำทางของ IMU

Ingenuity นั้นอาศัยระบบ IMU หรือ Inertial Measurement Unit ในการติดตามค่า Parameters ต่าง ๆ ระหว่างการบิน เช่น ความเร่ง ความเร็ว มุมเอียง (Pitch, Row, Yaw) ความสูง อัตราการหมุน เพื่อส่งไปให้ Flight Computer

Flight Computer จะใช้ข้อมูลเหล่านี้ในการติดตามสถานะการบินของ Ingenuity ว่าตอนนี้มันหันไปทางไหนความเร็วเท่าไหร่อย่างไรรวมถึงการคาดเดาทิศทางที่มันกำลังไปเพื่อใช้ในการนำทางอัตโนมัติ เช่น หาก Ingenuity กำลังเคลื่อนที่ด้วยความเร็ว X เมตร/วินาที ไปทิศเหนือ และต้องการเลี้ยวไปทางทิศตะวันออกเมื่อเคลื่อนที่ไปได้ 50 เมตร Flight Computer ก็จะต้องไปเอาค่า X มาจากระบบ IMU สมมุติว่าค่า X เท่ากับ 5 เมตร/วินาที แสดงว่าใน 10 วินาทีข้างหน้า Ingenuity จะเคลื่อนที่ไปได้ 50 เมตร Flight Computer ก็จะสั่งให้มันเลี้ยวไปยังทิศตะวันออก (แน่นอนว่าของจริงซับซ้อนกว่านี้)

โดยอัตราการคายข้อมูลที่ได้จากระบบ IMU ไปให้ Flight Computer อยู่ที่ 500 ชุดข้อมูลต่อวินาที เพื่อให้ Flight Computer คาดเดาทิศทางได้อย่างแม่นยำ อย่างไรก็ตามการพึ่งระบบ IMU เพียงอย่างเดียวไม่ใช่วิธีที่ดีสักเท่าไหร่ เพราะเซนเซอร์ในระบบ IMU จะเจอกับสิ่งที่เรียกว่า “Accumulated Error” หรือการสะสมค่า Error ซึ่งทำยานอวกาสเจ๊งมาแล้วหลายลำแล้ว

หากจะอธิบาย “Accumulated Error” ให้เข้าใจได้ง่ายขึ้นให้นึกว่าเรามีชุดเลข ๆ หนึ่ง เช่น 250.475 และสมมุติว่าเราจะเอาไปคำนวณต่อ เช่น เอาไปคูณ 2 แต่เห็นว่าทศนิยมมันเยอะเกินไปเราก็เลยปัดทศนิยมเหลือ 2 หลักเป็น 250.48 จะได้ค่าที่ไม่ปัดกับค่าที่ปัดเป็น 250.475 และ 250.48 ตามลำดับ ซึ่งเมื่อเราเอาค่า 2 อันนี้ไปคำนวณเรื่อย ๆ จะยิ่งเกิด Error จากค่าที่ไม่ปัดมากขึ้นเรื่อย ๆ (ยกตัวอย่างง่าย ๆ ก็ เช่น การแปลงค่าจาก Imperial Measurement ไประบบ Metric)

  • เมื่อนำ 250.48 และ 250.475 ไปคูณ 2 แล้วมาเทียบกันจะได้ 500.96 และ 500.95 ตามลำดับ จะเห็นว่า 2 ค่านี้ห่างกันแค่ 0.01 เท่านั้น (Error 0.01)
  • เมื่อนำ 500.96 และ 500.95 ไปทำการคำนวณต่อ เช่น คูณ 3 จะได้ 1,502.88 และ 1,502.85 ตามลำดับ ห่างกัน 0.03 (Error 0.03)
  • เมื่อนำ 1,502.88 และ 1,502.85 ไปทำการคำนวณต่อ เช่น หาร 5 จะได้ 300.576 และ 300.57 ตามลำดับ ห่างกัน 0.06 (Error 0.06)
  • เมื่อนำ 300.576 และ 300.57 ไปทำการคำนวณต่อ เช่น คูณ 956 จะได้ 287,350.656 และ 287,344.92 ห่างกัน 5.736 (Error 5.736)

ในการคำนวณต่อทั้ง 4 อันนี้ไม่มีการปัดเลขเพิ่มเติมแต่อย่างใด จะเห็นว่าการปัดเลขแค่ครั้งเดียวจะทำให้ค่อย ๆ เกิด Error ขึ้นในระบบเรื่อย ๆ ซึ่งนี่เป็นสิ่งที่เกิดขึ้นกับระบบ IMU เนื่องจากเซนเซอร์ใน IMU มีข้อจำกัดของมัน เช่น สเกลของมันอาจจะวัดได้แค่ 10 หลักนอกนั้นจะโดนปัด แม้แต่เวลาในระบบเองก็จะค่อย ๆ เกิด Error ซึ่งต้องเอาไป Sync กับนาฬิกาความแม่นยำระดับ Nanosecond อย่างพวก Atomic Clock เพื่อคอยดึงเวลาให้ตรง การเปลี่ยนแปลงของค่าแบบนี้เราเรียกว่า “Drift” อารมณ์เหมือนค่ามันค่อย ๆ Drift

ยกตัวอย่างเหตุการณ์ที่ Error ในระบบ IMU ทำยานเจ๊งก็ Schiaparelli EDM Lander ในขณะที่กำลังเข้าสู่ชั้นบรรยากาศของดาวอังคาร ค่าที่วัดได้จากเซนเซอร์อัตราการหมุนของ IMU เกิดอิ่มตัว หรือ Saturate เป็นเวลาเพียง 1 วินาที (เซนเซอร์วัดค่าสูงกว่านี้ไม่ได้แล้ว พูดแบบบ้าน ๆ ก็คือค่ามันตันแล้ว) แต่ใน 1 วินาทีนั้น Flight Computer ได้เอาค่าดังกล่าวไปคำนวณกับค่าจากคอมพิวเตอร์นำทางแล้วดันได้ค่าความสูงออกมาติดลบ Lander ก็เลยคิดว่ามันอยู่บนพื้นแล้วก็เลยปลดร่มชะลอความเร็วทิ้งและจุดจรวดชะลอความเร็วเพื่อเตรียมลงจอดทั้งที่มันยังอยู่สูงตั้ง 7.8 กิโลเมตร เมื่อจรวดชะลอความเร็วดับลงที่ความสูง 3.7 กิโลเมตร Schiaparelli EDM Lander โหม่งดาวอังคารที่ความเร็ว 300 กิโลเมตร/ชั่วโมง

ภาพถ่าจาก Ingenuity ในเที่ยวบินที่ 6 ที่มา – NASA/JPL

IMU กับระบบสำรองของมัน

เพื่อป้องกัน Error ที่เกิดในระบบ IMU ระบบ IMU จึงจะต้องมีระบบสำรองเพื่อเอาไว้แก้ค่า Error ให้กลับมาอยู่ในระดับที่รับได้ตาม Stability Margin ซึ่ง Ingenuity นั้นอาศัยการ Correct ค่า IMU ผ่านข้อมูลจากกล้องนำทางของมันด้วยระบบ Image Processing โดยกล้องนำทางของมันจะถ่ายรูปพื้นผิวของดาวอังคารเป็นเวลา 30 วินาทีแล้วส่งไปให้ระบบนำทาง

ระบบนำทางจะวิเคราะห์รูปถ่ายหลาย ๆ รูปที่ถ่ายมาในช่วงเวลา 30 วินาทีนั้นด้วย Image Processing เพื่อระบุตำแหน่งของตัว Ingenuity เองระหว่างรูปภาพแล้วเปรียบเทียบจุดเด่นในแต่ละรูปเข้าด้วยกัน เช่น รูปนี้อยู่เหนือหิน A รูปต่อไปมาอยู่ตรงหิน B ใช้เวลาประมาณ 1 วินาที หิน A และ B น่าจะอยู่ห่างจากกันประมาณ 1 เมตร แสดงว่าความเร็วของ Ingenuity อยู่ที่ประมาณ 1 เมตร/วินาที แล้วก็เอาค่าที่คำนวณได้ไปเปรียบเทียบกับค่าที่ได้จาก IMU ว่าตรงหรือไม่ ถ้าไม่ตรง ระบบนำทางก็จะ Correct ค่าของ IMU นอกจากนี้ระบบนี้ยังแก้ค่าอื่น ๆ ของ IMU ด้วย เช่น ความสูง ตำแหน่ง และทิศทางของ Ingenuity

แต่ระบบสำรองของกล้องนำทางที่มีไว้สำรองกัน Error จาก IMU นี้เองก็มี Error ที่อาจเกิดขึ้นได้อีก เช่น กัน ในกรณีของ Ingenuity นั้น T+ 54 seconds หลังการขึ้นบิน เกิด Glitch ที่ทำให้รูปภาพที่ถ่ายโดยกล้องนำทางเพื่อนำมา Correct ค่า Error ของระบบ IMU หายไปหนึ่งรูป ซึ่งก็ดูเหมือนจะไม่ร้ายแรงแต่มันทำให้รูปถ่ายอันต่อ ๆ ไปที่กล้องถ่ายได้โดนลงเวลา (Timestamp) ผิดซะงั้น พอเอารูปมาวิเคราะห์จึงเกิด Error อย่างร้ายแรงขึ้น

นึกสถาพอย่างงี้ ระบบ IMU บอกว่ามันอยู่ตรงนี้แต่ Navigation Computer บอกว่าเห้ยเดี๋ยวก่อนอยู่ตรงนี้ดิไปทำอะไรตรงนู้นระบบ Navigation Computer ก็เลยแก้ค่าของ IMU ให้ตรงกับของมันเอง แต่ IMU มันไม่ผิดมันก็จะบอกว่ามันอยู่ตรงนี้แกนั่นแหละผิด สรุปก็คือสองระบบตีกันเองแก้ค่ากันไปมา Flight Computer ก็เอ๋อดิ

อย่างไรก็ตาม Ingenuity มีระบบความปลอดภัยซ้อนอีกชั้นหนึ่งซึ่งทำให้มันสามารถลงจอดได้อย่างปลอดภัยแม้ Navigation System กับ IMU กำลังตีกันเองอยู่ วิธีแก้ง่าย ๆ ซึ่งโชคดีที่วิศวกรผู้มาก่อนกาลได้ใส่เข้าไปเผื่อไว้ก็คือการตัดการใช้ Navigation System แล้วใช้เพียง IMU แทนในตอนที่ Takeoff และตอนจะลดระดับความสูงและลงจอด ซึ่งการตัด Navigation System ออกตัดปัญหา Timestamp Error ที่กำลังเกิดขึ้นกับ Navigation System ทันที จะเห็นได้ว่าในช่วงท้ายวิดีโอซึ่งเป็นช่วงที่ Ingenuity กำลังจะลงจอด การแกว่งอยู่ ๆ ก็หยุดเนื่องจากการสลับไปใช้ข้อมูลจาก IMU อย่างเดียวนั่นเอง ซึ่งทำให้ Ingenuity สามารถลงจอดได้อย่างปลอดภัยและ Live to tell the tale ให้เรารู้นั่นเอง

เรียบเรียงโดย ทีมงาน Spaceth.co

Chief Science | A 20-year-old biologist with a passion for space exploration, science communication, and interdisciplinarity. Dedicated to demystifying science for all - Since 2018.