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