毅力號去火星還帶個無人機,由Linux+開源軟件控制,Linux成爲火星首個開源系統

大數據文摘出品

作者:王燁

“毅力號”火星車登陸火星的視頻傳回來了!

這是NASA的“毅力號”火星車最黑暗的7分鐘,這7分鐘裡,航天器與地球控制中心的通訊完全中斷,這期間的着陸過程需要由火星車自主控制。

幸運的是,自主着陸系統表現良好,火星車成功着陸預定地點——耶澤洛隕石坑。

整個着陸的場面可謂是驚心動魄,着陸的時候,釋放火星車的飛行器將火星地表的塵埃和沙礫捲起漩渦。

除了“毅力號”火星車本身,文摘菌注意到,這次參與火星探險的還有一個無人機,“機智號”。

“機智號”無人機不僅是第一個在外星球上測試動力飛行的飛行器,其飛行控制程序搭載在Linux上,也讓Linux成爲首個登上火星的開源系統。

並非主線任務,而是探索開源軟件上火星的可能性

這次“毅力號”登陸火星的任務主要是尋找遠古生命的跡象,收集岩石和泥土樣本等,大多由火星車自己完成,“機智號”無人機並不參與。

“機智號”作爲第一款在火星上進行飛行測試的無人機,更多是一種技術示範,目的在於展示使用商用硬件和開源軟件在火星上飛行的可能性。

火星的大氣密度只有地球大氣密度的百分之一,引力也只有地球的三分之一,在此之前,還從來沒有人嘗試過在火星上飛行。

想要在火星上的飛行,要克服許多不利條件。

首先是其設計要足夠輕巧和堅固,可以藏在火星車有限的空間中,並且能夠在合適的位置正確展開。

其次是要克服火星惡劣的氣候,在火星零下90攝氏度的寒冷夜晚,無人機要自動保持溫度。

第三是沒有外來能源,無人機還要能自主通過太陽能電池板充電。

最後就是自主飛行,這就要靠NASA的研究人員基於Jet Propulsion Laboratory's (JPL)的開源框架 F´(發音爲F prime)開發的飛行程序來控制了。

這一切,都將集成在“機智號”僅1.8公斤的機身裡,技術難度可想而知是非常大了。

“機智號”無人機主要技術參數

開源系統+開源框架,方便你也做一個

“機智號”無人機的飛行控制程序是基於Jet Propulsion Laboratory's (JPL)的開源框架 F´定製的,搭載於Linux系統中,這讓Linux成爲第一個登上火星的操作系統。

F´ 是一個組件驅動的框架,支持航天飛行和其他嵌入式軟件應用程序的快速開發和部署。

F´ 曾多次成功地部署在多個空間應用領域,支持量身定製,不僅限於小規模的航天系統,還可以在如小型衛星,以及像“機智號”無人機這樣的自主飛行無人機上運行。

它包括:

將飛行軟件分解爲具有定義良好的接口的離散組件的體系結構

提供消息隊列和線程等核心功能的C++框架

用於指定組件和連接並自動生成代碼的建模工具

越來越多的通用組件集合

在單元和集成級別測試飛行軟件的測試工具

幾年前,這個框架在GitHub上已經開源。

F´ 框架GitHub鏈接:

https://github.com/nasa/fprime

在 IEEE Spectrum 的一次採訪中,Timothy Canham,一位 JPL 嵌入式軟件工程師表示:

Linux是最成功的太空操作系統

當然,還有許多其他的 NASA 開源項目,美國宇航局有超過500個開源3.0許可認證的項目。

早在出現自由軟件和開放代碼的概念之前,美國宇航局就在 COSMIC 程序下自由地分享了它的大部分代碼。

至於Linux,除了是第一個登上火星的操作系統,也是最早進入太空的開源操作系統,NASA在國際空間站上就長期使用 Linux。

Linux 通往霸主開源系統地位的道路也始於NASA的戈達德太空飛行中心超級計算機中心(GSFC)的第一臺 Beowulf 超級計算機。

和“機智號”無人機一樣,Beowulf 超級計算機是用 COTS 設備打造的。它搭載16個 Intel 486DX 處理器和一個10mbps 的網絡,總價格只有幾千美元。

雖然它的運算速度相當慢,但 Beowulf 向我們展示了用極少的預算和開源的 Linux 就可以構建超級計算機。

包括到現在,“機智號”無人機依然向我們證明,在太空中,用 Linux 配合開源軟件依然可以做成偉大的事情。

https://www.zdnet.com/article/to-infinity-and-beyond-linux-and-open-source-goes-to-mars/

https://mars.nasa.gov/technology/helicopter/

https://github.com/nasa/fprime