บทความ / รู้จัก F-Prime โปรแกรมควบคุมเฮลิคอปเตอร์บนดาวอังคาร
Sci & Tech
รู้จัก F-Prime โปรแกรมควบคุมเฮลิคอปเตอร์บนดาวอังคาร
16 ส.ค. 67
207
รูปภาพในบทความ รู้จัก F-Prime โปรแกรมควบคุมเฮลิคอปเตอร์บนดาวอังคาร

ในช่วงกลางปี 2020 ห้องปฏิบัติการไอพ่นจรวด (Jet Propulsion Laboratory หรือ JPL) ได้ส่งโครงการ Mars 2020 ไปทำภารกิจยังดาวอังคาร ภารกิจครั้งดังกล่าวนี้ ประกอบไปด้วยยานสำรวจ 2 ลำคือ โรเวอร์เพอร์เซอเวียแรนซ์ (Persevenrace) โรเวอร์สำรวจขนาดเทียบเท่ารถกระบะ 1 คัน และ เฮลิคอปเตอร์อินเจนูอิตี (Ingenuity) เฮลิคอปเตอร์ขนาดจิ๋ว สำหรับทดลองการบินอากาศยานบนดาวเคราะห์ดวงอื่น

มาร์ส 2020 ซึ่งประกอบด้วยโรเวอร์เพอร์เซอเวียแรนซ์ (Persevenrace)  และ เฮลิคอปเตอร์อินเจนูอิตี (Ingenuity) - ที่มา นาซา

ในเดือนเมษายนปี 2019 เฮลิคอปเตอร์อินเจนูอิตี ขึ้นบินจากพื้นผิวของดาวอังคารได้สำเร็จเป็นครั้งแรก และเป็นอากาศยานแบบบังคับได้ลำแรกที่ขึ้นบินบนดาวเคราะห์ดวงอื่น จากในอดีตที่อากาศยานบนดาวเคราะห์ดวงอื่นมีลักษณะเป็นการ "ลอย" แบบบอลลูนมากกว่าการบินแบบควบคุมได้

นอกจากตัวฮาร์ดแวร์หรือโครงสร้างของยานที่ถูกออกแบบมาอย่างพิถีพิถัน เพื่อให้ยานลำนี้สามารถบินขึ้นบนดาวที่มีบรรยากาศเบาบางได้ อีกส่วนประกอบสำคัญหนึ่งที่ทำให้เฮลิคอปเตอร์ลำดังกล่าวสามารถทำงานได้จริงก็คงหนีไม่พ้นซอฟต์แวร์ควบคุมของยานชื่อ F' (อ่านว่าเอฟ-ไพรม์) ที่ถูกพัฒนาขึ้นมาได้อย่างน่าสนใจ

หลังจากการขึ้นบินครั้งแรกของอินเจนูอิตี กิตฮัพ (GitHub) เว็บบริการเก็บโค้ดโปรแกรม (คล้ายคลึงกับ Google Drive หรือ Apple Cloud ที่ถูกออกแบบมาสำหรับเก็บโค้ดโดยเฉพาะ) บริษัทลูกของไมโครซอฟต์ (Microsoft) ที่ถูกใช้อย่างแพร่หลายในวงการพัฒนาซอฟต์แวร์ ได้ลงบทความเกี่ยวกับการสร้าง F' พร้อมบทสัมภาษณ์ของทิมอที แคนแฮม (Timothy Canham) หัวหน้าด้านการดำเนินงาน (Operation Lead) ของอินเจนูอิตี ไว้ว่าในช่วงเริ่มต้น F' เป็นซอฟต์แวร์ที่ถูกออกแบบมาในรูปแบบของการเป็นโมดูลเล็ก ๆ ที่ทำหน้าที่แต่ละส่วน (เช่นส่วนการคำนวณ ส่วนการรับข้อมูลของแต่ละเซนเซอร์ หรือส่วนติดต่อควบคุม) ที่สามารถประกอบเข้ากันได้ มากกว่าการเป็นซอฟต์แวร์แบบเฉพาะเจาะจงที่ถูกออกแบบสำหรับยานอวกาศลำใดลำหนึ่งโดยเฉพาะ (คล้ายคลึงกับการต่อเลโก้ที่เอาชิ้นส่วนเล็ก ๆ มาต่อรวมกัน เพื่อสร้างสิ่งที่ต้องการ)

เฮลิคอปเตอร์อินเจนูอิตี - ที่มา นาซา

 

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

นอกจากนี้ JPL ยังตัดสินใจเปิด F' ให้เป็น Open Source บนเว็บไซต์กิตฮัพด้วยไลเซนส์ Apache 2.0 เพื่อเปิดให้ผู้พัฒนางานด้านอวกาศรายอื่นสามารถนำซอฟต์แวร์ไปพัฒนาต่อและใช้งานในภารกิจของตัวเองได้อีกด้วย

ผู้ที่สนใจเนื้อหาเชิงลึก สามารถอ่านเพิ่มเติมได้ในบทความของกิตฮัพที่ https://github.com/readme/featured/nasa-ingenuity-helicopter

ฟังเรื่องราวการเขียนโปรแกรมควบคุมอินเจนูอิตี กับทิศทางของซอฟต์แวร์ในอุตสาหกรรมอวกาศได้ใน Starstuff ตอน วิธีเขียนโปรแกรมสำหรับเฮลิคอปเตอร์บนดาวอังคาร

 


ฟังรายการได้ทาง


 

แผ่นเสียง แผ่นเสียง
กำลังออกอากาศ ไม่มีการออกอากาศ แผ่นเสียง Radio แผ่นเสียง Podcast เล่นแผ่นเสียง พักแผ่นเสียง
คลิปเสียงถัดไป