ทีมซอฟต์แวร์ SpaceX ตอบข้อสงสัย: หน้าจอยาน Dragon ใช้ Chromium+JS,...

หัวข้อกระทู้ ใน 'เทคโนโลยี' เริ่มโพสต์โดย iPokz, 7 มิถุนายน 2020.

  1. iPokz

    iPokz ~" iPokz "~ Staff Member

    ทีมงานซอฟต์แวร์ของ SpaceX ตั้งกระทู้ตอบคำถามบน Reddit ให้คนทั่วไปตั้งคำถามใดๆ ก็ได้ ทำให้ทีมงานมีโอกาสเปิดเผยข้อมูลเพิ่มเติม โดยประเด็นที่สำคัญคือหน้าจอสัมผัสของยาน Dragon นั้นรันอยู่บน Chromium โดยมีไบบรารีจาวาสคริปต์แบบ reactive ที่พัฒนาขึ้นเองเป็นการภายใน โดยหน้าจอนี้ไม่เกี่ยวอะไรกับหน้าจอรถของ Tesla

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

    [​IMG]

    ยังมีข้อมูลอีกหลายส่วน โดยข้อที่น่าสนใจเช่น

    • ทีมงานมีหน้าจอแบบเดียวกันกับบนยานรันอยู่ในห้องบังคับการบิน แต่เนื่องจากไม่สามารถส่งข้อมูลเซ็นเซอร์ลงมาได้ทั้งหมด ข้อมูลก็จะไม่ครบเท่ากับบนยาน โดยข้อมูลแต่ละภารกิจของ SpaceX นั้นมีปริมาณข้อมูลเซ็นเซอร์นับร้อยกิกะไบต์เลยทีเดียว
    • หน้าจอคอนโซลของห้องบังคับการบินบางส่วนพัฒนาด้วย LabVIEW โครงการใหม่เปลี่ยนเป็น JavaScript/HTML/CSS ทั้งหมดแล้ว
    • ลินุกซ์ที่ใช้บนยานเป็นดิสโทรเฉพาะที่ SpaceX พัฒนาไว้ใช้งานเอง มีแพตช์บ้างเล็กน้อย แต่ส่วนสำคัญคือใช้แพตช์ CONFIG_PREEMPT_RT เพื่อทำให้เคอร์เนลทำงานแบบเรียลไทม์ แต่ก็ยังไม่ตรงกับความต้องการเสียทีเดียว ส่วนที่เหลือเป็นการพัฒนาไดร์เวอร์สำหรับฮาร์ดแวร์เฉพาะของ SpaceX
    • ซอฟต์แวร์ที่รันบนยานจริงเป็น C/C++ ส่วนเครื่องมือทดสอบใช้ Python ในห้องแชตของทีมพูดถึง Rust อยู่บ้างแต่ยังไม่ได้นำมาใช้งาน โดยซอฟต์แวร์ส่วนมากเป็นเธรดเดียว เนื่องจากต้องการความคาดเดาได้
    • กระบวนการทดสอบซอฟต์แวร์เริ่มตั้งแต่ unit test และทดสอบในคอนเทนเนอร์ที่นักพัฒนาทดสอบในเครื่องตัวเองได้ จากนั้นจะไปทดสอบกับฮาร์ดแวร์จริงในระบบจำลองกาารบิน เรียกว่า hardware-in-the-loop หรือ HITL โดยกระบวนการจำลองการบินสามารถจำลองได้ทั้งภารกิจ รวมถึงจำลองเมื่อเกิดเหตุผิดพลาด
    • ฮาร์ดแวร์และซอฟต์แวร์บนยาน Dragon ออกแบบให้ทนทานต่อความผิดพลาดแบบ 2 fault tolerant โดยยังหยุดภารกิจได้อย่างปลอดภัย เช่นถอนตัวออกจากสถานีอวกาศได้ในกรณีภารกิจขนส่งธรรมดา และต้องพานักบินกลับโลกได้ในภารกิจมีนักบินไปด้วย โดยคอมพิวเตอร์บนยานนั้นแรงพอๆ กับโทรศัพท์มือถืออายุ 5 ปี
    • ระบบอัตโนมัติบนยาน Dragon ที่เทียบท่าสถานีอัตโนมัติ และระบบลงจอดอัตโมัติของ Falcon 9 ไม่ได้ใช้ซอฟต์แวร์แบบ machine learning แต่อย่างใด

    ทีมงานยังตอบถึงการทำงานว่าโดยทั่วไปมีสมดุลชีวิตที่ดี ทีมงานสองคนเพิ่งมีลูก แม้ว่าจะมีบางช่วงที่งานหนักมากๆ ต้องทำงานดึกและทำงานเสาร์อาทิตย์ เช่นก่อนภารกิจ Demo-2 และการพัฒนายาน Starship ตอนนี้

    ที่มา - Reddit AMA

    Topics: SpaceXDevelopmentJavaScriptLinux
     

แบ่งปันหน้านี้