隨著開源軟件技術的迅速發展和影響,各領域各行業的相關共性軟件逐漸開放,另一方面也應用開源軟件進行系統開發。在航天領域NASA在開源方面走在前列,已開源軟件、設計工具達1072個,涵蓋航天器整個研制和應用過程。近年來,高性能部組件及高速總線在航天器上的應用,使得衛星計算能力、存儲能力都有大幅度提升,星載軟件得以有很大施展空間,尤其對衛星小型化、一體化、智能化發展有極大推動作用。本文對NASA的開源軟件進行了研究,對部分開源項目做了深入分析,并結合項目需求,開發了基于開源軟件的衛星健康狀態監視原型系統,同時對未來航天領域開源軟件技術的發展趨勢及衛星智能化的發展思路進行了探討。
開源軟件的迅速發展,逐漸改變了世界開發軟件的格局。作為太空探索領域的佼佼者,美國國家航空航天局NASA在2017年3月發布了2017-2018軟件目錄[1],開源了一系列航天相關項目,包括多年使用的設計仿真工具、應用軟件和代碼庫等,大部分可免費使用,如用于與航天器交換大文件的標準工具CCSDS CFDP文件傳輸協議等。以往論文研究集中在NASA的技術成果轉化政策和機制方面,本文從技術角度,對NASA開源軟件進行了研究,二次開發實踐,并思考了開源技術對軟件定義類衛星技術發展,對解決衛星智能化問題有一定的借鑒意義。
1
NASA開源軟件發展概況
1.1技術轉讓計劃
從1964年開始,一直以尖端的科學技術領先全球的NASA通過設立技術轉讓計劃,開始建立航天技術服務于民生的長效機制,每年都出版一期Spinoff報告,迄今為止,超過2000項技術成功轉移到民用領域。NASA在履行好座右銘“我們努力奔向新的高度,為人類福祉而發現未知”的同時,其建立的技術轉讓計劃使得眾多中小企業利用NASA科研成果進行創業,新的領域得到廣泛應用。在航天領域NASA設立的技術轉讓計劃成為運行良好、效益突出的高技術成果轉化機制,加速了科技成果轉化。
1.21.2 開源進展和目的
作為技術轉讓計劃中的一部分,NASA在官網上發布了大量航天項目中的開源軟件和工具,目前,一共有1072可用的程序軟件,涵蓋項目管理、數據和圖像處理、電源系統、航天器設計與集成工具、自主系統等15個方面,見圖1。這些代碼來自NASA Ames、JPL、Jonhson、Armstrong等11個研發中心和機構。NASA的做法有兩方面目的,一方面希望通過開源社區同行評審提高代碼質量、加速開發,并能收獲更多項目改進的建議,另一方面,最大化NASA研究的知名度和影響,同時也將技術轉讓給企業和個人,用于新的領域發展最新科技。
圖1 軟件目錄分類
Fig.1 NASA Open Source Software Category
2
NASA典型開源項目
2.1Livingstone2(L2)
Livingstone2[2-3]由NASA Ames中心研制,是基于模型的故障診斷和恢復引擎,目的使復雜系統如航天器,不斷自主化和智能化,在最少人工干預下,實現系統狀態自我感知、診斷和響應非正常狀態,尤其是面臨硬件故障或未知事件。
通過建立一組多層次的定性邏輯模型,通過對比模型預測數據和傳感器實測數據來檢測和診斷系統故障,實現追蹤系統的狀態,并根據不同狀態給出建議指令實現系統繼續運行,原理見圖2所示。L2已經在包括X34推進系統和國際空間站等幾個試驗床上實施和應用,同時也在地球觀測衛星1號(EO-1)上進行過飛行試驗。
圖2 L2診斷原理
Fig.2 NASA L2 Diagnosis Principle
2.2Trick 航天器仿真環境
Trick 航天器仿真環境[4]由NASA 約翰遜空間中心研發,使用戶可以對航天器研制的各個階段建立仿真應用,包括早期設計、性能指標評估、飛行軟件開發和測試,飛行過程動態分析,軟件和硬件的閉環測試。目的是提供一種通用共性的仿真能力,以便各領域專家更專注在特定領域的模型,而不是仿真功能應用如任務排序、數據存儲等。但是這款軟件只對美國公民開放。圖3為Trick蒙特卡洛高級仿真功能流程,允許用戶對不同輸入進行重復仿真,不斷優化。
圖3 Trick的蒙特卡洛功能流程
Fig.3 Trick Monte Carlo Advanced Simulation Capability Flow
2.3Open MCT[5]
Open MCT( Open Mission Control Technologies )是下一代具有數據可視化的任務控制框架,可在桌面端和移動端分別使用,由NASA Ames中心開發,用于航天器任務分析,運行控制和規劃。作為一個通用開放的基礎平臺,用戶可在Open MCT基礎上進行二次開發,針對不同航天器開發任務規劃、控制和數據分析等應用。系統效果圖見圖4。
圖4 Open MCT系統效果
Fig.4 Open MCT General View
3
基于開源軟件的衛星健康狀態監視原型系統
3.1系統介紹
系統用于監視衛星平臺健康狀態,目前包括但不限于CPU溫度、GPU溫度、CPU使用率、RAM使用率、ROM使用率、姿態測量參數(如加速度傳感器XYZ,磁強計XYZ等)等信息,將健康狀態信息(SOH: State Of Health)以CCSDS數據包格式封裝,通過無線射頻鏈路發送到地面站系統,以圖表形式進行顯示信息。
3.2系統架構
系統利用Raspberry PI+PC構建驗證原型系統,RPI作為衛星端,運行Linux系統和飛控系統軟件,應用軟件SOH,PC端作為地面端,運行Linux系統及地面站軟件,通過WiFi無線鏈路連接,系統運行后,可進行遙測遙控功能。系統架構圖如下:
圖5系統架構
Fig.5 System architecture
3.3系統成果
系統集成開源軟件的技術優勢,并結合需求進行定制化改進,經過三個月測試,軟件工作正常,系統運行穩定,實現了簡單的健康狀態監視功能。下一步可通過總線集成更多部件,進行對應功能軟件開發,豐富完善。地面系統運行圖,見圖6
圖6地面系統運行圖
Fig.6 Ground System View
4
思考與啟示
4.1航天領域開源軟件思考
在航天軟件領域,NASA開源了從航天器仿真、設計工具、星載軟件、地面任務控制、結構材料設計工具等各類應用軟件、代碼庫和工具。官網上開源動機是希望開源社區同行的使用提高軟件質量,從某種程度上講,使用這些代碼尤其是二次開發會讓技術實力稍弱的企業依賴NASA的基礎級代碼,影響自主創新能力。
航天軟件對太空資產的重要性不言而喻,尤其是基礎的核心軟件。在操作系統方面,VxWorks 操作系統依然是國內大部分航天項目主流選擇,開源化研究操作系統,值得思考。另一方面,人工智能技術共性的系統是Linux,許多機器學習算法基于Linux開發,衛星智能化發展是選擇開源的路線,集智發展,抑或是傳統領域吸收成熟智能算法融合發展,這也是一個值得探討的研究方向。
4.2開源將會是商業航天企業技術重要驅動
開源軟件具有開放、共享、自由等特性,企業可避免重復造輪子,使用最少的人力、物力、財力就能很快構建一個系統,在開源軟件基礎上定制靈活,通過社區的力量,軟件也更穩定、安全性更高,可及時發現和修復安全漏洞,一個非常成功的例子,Android 2007年以開源形式發布后,陣營呈現爆炸式增長,成為份額第一的移動操作系統[6]。
更穩定、更安全、更可靠的追求促使航天軟件開發測試成本更高,由于追求高可靠和責任重大,導致軟件發展已慢于互聯網軟件行業發展。商業航天的發展,結合開源技術,在軟件質量、軟件成本方面,有望改變這一局面。
結束語
NASA開源的項目軟件,部分代碼每天迭代更新,提高了軟件的質量,進一步降低了應用在航天類項目中的風險,這對于軟件定義類衛星技術發展有著很大借鑒意義。
-
開源軟件
+關注
關注
0文章
207瀏覽量
15784 -
NASA
+關注
關注
0文章
427瀏覽量
30827 -
仿真
+關注
關注
50文章
3972瀏覽量
132972
原文標題:NASA開源軟件實踐與思考
文章出處:【微信號:industry4_0club,微信公眾號:工業4俱樂部】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論