美國(guó)宇航局 (NASA) 發(fā)射月球大氣與粉塵環(huán)境探測(cè)器 (LADEE) ,用來(lái)采集關(guān)于月球粉塵環(huán)境的密度、組成和變異性的信息。機(jī)載光譜儀和其他儀器采集的數(shù)據(jù)和月球粉塵將會(huì)幫助研究人員了解月球和太陽(yáng)系中的其他天體。
為了在有限的項(xiàng)目成本和時(shí)間條件下開(kāi)發(fā)航天器的飛行軟件,美國(guó)宇航局艾姆斯研究中心的工程師采取了一種基于模型設(shè)計(jì)的低成本、快速原型方法。
NASA LADEE航天器貼近月球表面環(huán)繞的藝術(shù)渲染圖。
圖像由 NASA 提供。
LADEE 飛行軟件負(fù)責(zé)人 Karen Gundy-Burlet 博士表示:“在Simulink中對(duì)航天器的高級(jí)控制功能進(jìn)行建模和仿真,然后利用這些模型生成 C 代碼,最大限度地減少了算法設(shè)計(jì)人員與軟件開(kāi)發(fā)人員之間的溝通差錯(cuò)。基于模型的設(shè)計(jì)使得我們能夠在早期確定需求原型,并在開(kāi)發(fā)的初期階段進(jìn)行驗(yàn)證和確認(rèn)。”
挑戰(zhàn)
LADEE 在其設(shè)計(jì)和任務(wù)周期面臨幾個(gè)挑戰(zhàn)。首先,LADEE 有各種可能的發(fā)射軌跡。其次,負(fù)責(zé)完成探測(cè)任務(wù)的儀器需要高度精確的定點(diǎn),月球環(huán)境條件也需要航天器在軌道內(nèi)進(jìn)行頻繁的滾動(dòng)和翻轉(zhuǎn)。
為應(yīng)對(duì)這些挑戰(zhàn),NASA 工程師想要在開(kāi)發(fā)流程的早期就對(duì)眾多任務(wù)場(chǎng)景和故障條件進(jìn)行仿真。為幫助滿(mǎn)足 NASA 對(duì)軟件開(kāi)發(fā)的程序性要求,他們需要在需求、模型、測(cè)試和測(cè)試結(jié)果之間建立雙向可追溯性。
解決方案
美國(guó)宇航局艾姆斯研究中心使用基于模型的設(shè)計(jì),借助MATLAB和Simulink開(kāi)發(fā)了用于 LADEE 航天器的機(jī)載飛行軟件。經(jīng)過(guò)一系列的構(gòu)建周期開(kāi)發(fā)工作才得以完成,其中每個(gè)周期都由建模、仿真、代碼生成和測(cè)試組成。
美國(guó)宇航局艾姆斯研究中心的工程師使用Simulink開(kāi)發(fā)了飛行軟件的模型,包括用于飛行姿態(tài)控制、電源管理、熱控制、導(dǎo)航、通信和指令處理的不同模型。該團(tuán)隊(duì)還開(kāi)發(fā)了 LADEE 航天器的Simulink模型,包括它的推進(jìn)系統(tǒng)、環(huán)境和引力場(chǎng)。這些模型確保了飛行軟件可以在現(xiàn)實(shí)環(huán)境條件下被快速開(kāi)發(fā)。
使用Simulink Verification and Validation,該團(tuán)隊(duì)確認(rèn)模型遵循他們自定義的建模指導(dǎo)原則,這些原則衍生于 MAAB (MathWorks Automotive Advisory Board) 指導(dǎo)原則。
在Simulink中運(yùn)行單元級(jí)的仿真以確認(rèn)子系統(tǒng)滿(mǎn)足要求之后,該團(tuán)隊(duì)使用SimulinkCoder和Embedded Coder從他們的 Simulink 控制器模型中生成了 26,000 多行 C 代碼。
為捕捉任何設(shè)計(jì)錯(cuò)誤,工程師使用了Polyspace Bug Finder和Polyspace Code Prover對(duì)生成的代碼執(zhí)行靜態(tài)分析。
使用Simulink Coder,他們從被控對(duì)象模型中生成了代碼,以便進(jìn)行處理器在環(huán) (PIL) 和硬件在環(huán) (HIL) 測(cè)試。他們將自己的控制器代碼與 NASA 的 Core Flight Executive (cFE) 和 Core Flight System (cFS) 軟件包集成,并將其部署到 Broad Reach PowerPC 處理器。
該團(tuán)隊(duì)開(kāi)展了大量的實(shí)時(shí)、系統(tǒng)級(jí) PIL 和 HIL 測(cè)試,包括環(huán)月軌道進(jìn)入、任務(wù)序列、科研任務(wù)和故障管理情形。
該團(tuán)隊(duì)在整個(gè)項(xiàng)目范圍內(nèi)使用Simulink Report Generator,依照 NPR 7150 規(guī)范跟蹤需求和每個(gè)需求的測(cè)試結(jié)果。
他們按預(yù)定時(shí)間和成本估算完成了軟件開(kāi)發(fā)。
與使用基于模型的設(shè)計(jì)相比,手工編碼飛行軟件需要更長(zhǎng)時(shí)間,使協(xié)作變得更加困難。管理者和硬件子系統(tǒng)工程師了解 Simulink 模型,很容易達(dá)成共識(shí),因?yàn)槊總€(gè)人都知道在軟件中怎么運(yùn)作。
——Karen Gundy-Burlet 博士
美國(guó)宇航局艾姆斯研究中心
結(jié)果
模型被重用于訓(xùn)練和指令驗(yàn)證。Gundy-Burlet 表示:“我們使用源自 Simulink 模型的仿真來(lái)訓(xùn)練我們自己進(jìn)行任務(wù)操作。另外在我們將指令信號(hào)發(fā)送到航天器之前,我們使用源自模型的仿真,驗(yàn)證指令信號(hào)是否已完成其預(yù)期要做的事情,并在將指令信號(hào)發(fā)送到航天器之前確保沒(méi)有負(fù)面的意外后果。
飛行軟件在軌道中無(wú)縫更新。Gundy-Burlet 稱(chēng):“在執(zhí)行任務(wù)過(guò)程中,我們發(fā)現(xiàn)了航天器的星體跟蹤儀問(wèn)題和一些較小的軟件問(wèn)題。我們?cè)?Simulink 中更新了造成這些問(wèn)題的狀態(tài)估測(cè)模型,重新生成了代碼,在新軟件上運(yùn)行了有針對(duì)性的測(cè)試組件,并將其上傳到航天器,航天器又飛行了一個(gè)月,再?zèng)]有發(fā)現(xiàn)其它缺陷。
改進(jìn)了形式化代碼檢查過(guò)程。Gundy-Burlet 指出:“Polyspace Code Prover 識(shí)別出了我們生成的代碼中的死代碼以及我們手工編寫(xiě)代碼中的問(wèn)題。它還識(shí)別了沒(méi)有錯(cuò)誤的代碼,以及需要我們密切注意的代碼。利用這些結(jié)果,我們?cè)谛问交瘷z查過(guò)程中對(duì)代碼進(jìn)行了有針對(duì)性的評(píng)估。
-
控制器
+關(guān)注
關(guān)注
114文章
17098瀏覽量
184183 -
探測(cè)器
+關(guān)注
關(guān)注
15文章
2701瀏覽量
74359
發(fā)布評(píng)論請(qǐng)先 登錄
VirtualLab:通用探測(cè)器
用于光波導(dǎo)系統(tǒng)的均勻性探測(cè)器
日本民企i太空公司計(jì)劃2025年再次發(fā)射月球探測(cè)器
紅外光束煙霧探測(cè)器
如何提高金屬探測(cè)器探測(cè)率
金屬探測(cè)器配件及其效果
雷達(dá)探測(cè)器的工作原理 雷達(dá)探測(cè)器與激光探測(cè)器區(qū)別
探測(cè)器選擇指導(dǎo)

光電探測(cè)器選型噪聲問(wèn)題

評(píng)論