毅力號去火星還帶個無人機,由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