波音公司星際客機軟件故障的"前世今生" 對航天器智能測試的啟示
第一章節介紹波音公司星際客機飛船軌道飛行測試的回顧、復盤、進展,查閱和整理的全部資料來源于如下的網站:
(1) NASABlogs Commercial Crew Program:
https://blogs.nasa.gov/commercialcrew/
(2)NASA V&V:
https://ti.arc.nasa.gov/news/NASA-Boeing-SAA/
(3)BoeingStarliner:
http://www.boeing.com/space/starliner/
(4)Spaceflight Now:
https://spaceflightnow.com/
第二章節通過對波音公司星際客機軟件故障的啟示,從知識圖譜、算力、算法、數據四個維度談談我們對航天器智能測試的展望。
據國外媒體報道,美國東部時間2019年12月20日6時36分,美國波音公司的星際客機飛船從自卡納維拉爾角發射升空,6時50分飛船與火箭分離后,飛船出現軟件故障,最終無法與國際空間站對接,并于美國東部時間12月22日7時58分提前返回地面。
美國東部時間2020年2月28日,波音副總裁兼星際客機項目經理約翰·穆赫蘭德(John Mulholland)承認軟件測試驗證存在問題,對星際客機飛船的軟件測試不充分。
美國東部時間2020年3月6日11時30分,美國國家航空航天局(NASA)和波音公司舉行媒體電話會議,公布波音公司星際客機飛船首次軌道測試失敗的調查結果。NASA和波音聯合獨立調查小組確定,針對兩個軟件異常提出61項糾正和預防措施。
波音CST-100 Starliner飛船軌道飛行測試后接受檢查 | 圖片來源NASA
0 1
回 顧
六年的精心籌劃準備
1、飛船軟件測試通過NASA審查
2014年2月13日在聯合發射聯盟的系統集成實驗室進行測試中,CST-100開發團隊和NASA工程師完成了對波音飛船的硬件審查和軟件測試,該航天飛船旨在將宇航員運送到低地球軌道。對將波音公司的CST-100連接到聯合發射聯盟Atlas V火箭頂部的運載火箭適配器進行了單獨的深入評估,并提出了在緊急情況下發出中止信號的檢測系統。波音商業計劃副總裁兼計劃經理約翰·穆赫蘭德說:“從圖紙到設計實施乃至其他,安全都是CST-100的關鍵要素,這些測試有助于驗證運載火箭適配器和緊急情況檢測系統是否正常運行,并能夠確保我們未來的乘客安全”。
系統集成測試 | 圖片來源NASA
2、火箭發射前首次排練
2019年12月6日波音公司的Starliner飛船在倒計時彩排期間,聯合發射聯盟小組在卡納維拉爾角進行了11個小時的倒計時,這架172英尺高(54.2米)的發射器在卡納維拉爾角的Complex 41發射臺上裝有超冷的低溫推進劑,Starliner任務的Atlas 5倒計時已從近七個小時延長到超過11個小時。更長的倒計時將使宇航員有時間登上Starliner航天器。在模擬的升空時間之前的十多分鐘,機組進入臂縮回原處進行發射。當時鐘達到零時,ULA的發射團隊中止了倒計時。
火箭發射前首次排練測試 | 圖片來源NASA
3、完成NASA出廠測試評審
2019年12月12日,美國宇航局總部人類探索與運營副副總裁肯·鮑沃索克(Ken Bowersox)和波音公司經理參加了波音公司在佛羅里達州肯尼迪航天中心運營支持2號樓進行的軌道飛行測試的飛行準備情況審查。波音公司、國際空間站計劃和商業船員計劃經理正在審查其團隊為準備啟動波音的無人飛行軌道測試進行的工作。
出廠測試評審 | 圖片來源NASA
0 2
復 盤
任重道遠的首次軌道飛行測試
1、致命的軟件星時錯誤導致消耗了大量燃料
美國東部時間12月20日6時36分,波音公司星際客機飛船自卡納維拉爾角發射升空,執行該飛船的首次軌道測試飛行任務。按照計劃飛船在這次無人軌道飛行將與國際空間站對接,為國際空間站宇航員送上圣誕禮物。
火箭發射各階段任務 | 圖片來源美國聯合發射聯盟
? 發射順序從Atlas 5的第一級RD-180發動機在T負2.7秒處點火開始,隨后幾秒鐘后,兩個Atlas 5固定式固體火箭助推器點火。
? 向東北轉以使其與空間站的軌道一致,由Aerojet Rocketdyne生產的雙固體火箭助推器將燃燒90秒鐘以上,Atlas 5從卡納維拉爾角的初始爬升過程中提供額外的能量爆發。助推器外殼將在T加2分22秒時拋棄,掉入大西洋。
? RD-180發動機響應阿特拉斯5號制導計算機的指令,將降低速度,將Starliner航天器的加速度限制在3.5Gs左右,因為火箭因消耗液體推進劑而變得更輕。
? Atlas 5第一階段將在T +加4分鐘29秒時關閉,并在六秒鐘后與火箭的上層階段分離。Starliner飛船的向前對接機構的上升蓋將在T加4分鐘41秒時分兩部分拋棄,然后在T加4分鐘35秒將半人馬座的兩架Aerojet Rocketdyne RL10A-4-2發動機點火。
半人馬座發送機點火 | 圖片來源美國聯合發射聯盟
? 半人馬座上的RL10發動機將消耗超冷的液態氫和液態氧,累計產生近45,000磅推力。
? 在半人馬座的燃燒初期,在T加5分鐘5秒時,Starliner飛船底部的空氣動力學裙緣將釋放并掉落。
? 一旦火箭爬升到大氣層,拋棄兩半Atlas 5的新型邊緣翼。
? 半人馬座上層級的RL10發動機將點火超過7分鐘,直到T加上11分54秒。
? Starliner膠囊與Centaur階段的分離計劃在T加14分鐘54秒。Starliner稍后將進行軌道,而半人馬座將在升空后近一個小時返回印度洋。
飛船與半人馬座火箭分離 | 圖片來源美國聯合發射聯盟
火箭的發射本來一切正常,飛船按計劃被送入了遠地點 192 千米、近地點 77 千米的亞軌道。但是就在飛船與火箭分離后,發現星際客機飛船軟件定時器異常,可以理解為飛船的星時錯誤,表現出的現象是星際客機飛船的 48 臺姿軌控推力器開始瘋狂工作,飛船誤以為處于提升近地點的變軌過程中,在短時間內消耗了大量燃料。在下面的直播畫面截圖中,能清楚地看到飛船的多臺推力器正在工作。
波音任務飛行控制中心 | 圖片來源波音
2、通過中繼星發送指令緊急挽救未獲成功
按照波音星際客機飛船任務執行約31分鐘后,將Starliner的四個軌道姿態控制引擎推進器燃燒40秒。而實際任務執行第14分鐘54秒飛船與火箭分離后,48 臺姿軌控推力器開始瘋狂工作,在短時間內消耗了大量燃料。
在發現異常后,NASA和波音公司的飛行控制人員在休斯敦組成的聯合小組注意到了這個問題,第一時間嘗試向飛船注入正確指令,手動消除影響,但不湊巧的是,當時飛船正好處于兩顆TDRS中繼衛星的覆蓋交接區,因此指令沒有注入成功。等到波音公司能夠發出正確地面指令,被飛船接收執行后為時已晚,星際客機飛船消耗了過多的燃料,與國際空間站的對接試驗不得不取消。
TDRS-13中繼星 | 圖片來源NASA
3、驚心動魄的飛船返回地面之旅
隨后波音公司技術人員立即開始尋找其他潛在的問題,發現了另外一個關鍵軟件缺陷問題“閥門映射錯誤”:在服務艙和乘員艙分離的過程中,軟件故障可能啟動錯誤的推進器,導致乘員艙受損,從而讓飛船無法安全著陸。波音公司工程技術人員快速診斷這個問題,并在著陸前約3小時(美國東部時間2019年12月22日凌晨4點)向空中飛行的星際客機發送軟件補丁。
在美國東部時間2019年12月22上午7:26左右,Starliner將與其服務模塊完成成功分離。
星際客機飛船返回艙與服務艙分離 | 圖片來源NASA
在美國東部時間2019年12月22日上午7:53左右部署降落傘,隨后將部署主要降落傘。
返回艙部署降落傘 | 圖片來源NASA
最終,國際空間站的宇航員們沒有等來 2019 年的圣誕禮物,星際客機飛船于美國東部時間12月22日7時58分在著名的白沙導彈靶場著陸。
波音公司CST-100星際客機飛船返回艙著陸| 圖片來源NASA
03
進 展
NASA和波音聯合獨立審核小組調查
1、第1次NASA和波音媒體電話會議
美國宇航局和波音公司在2020年2月7日美國東部標準時間15時30分舉行媒體電話會議,討論聯合獨立審核小組對12月份在該公司進行的軌道飛行測試中發現的主要問題調查情況。參加媒體電話會議的人員如下:
?美國宇航局局長吉姆·布萊登斯汀
?波音公司太空與發射高級副總裁吉姆·奇爾頓
?美國國家航空航天局人類探索與作戰任務局副局長 Douglas Loverro
?美國宇航局商業船員計劃項目經理Kathy Lueders
?波音CST-100 Starliner計劃的副總裁兼項目經理John Mulholland
波音副總裁兼項目經理約翰·穆赫蘭德針對第1個軟件缺陷解釋:“定時器問題之所以未能在與聯合發射聯盟公司聯合測試時發現,是因為公司把飛船測試分成了不同的任務階段。對于發射,測試在船箭分離后就立即結束了,所以未能發現該定時器偏差,此前未這樣做是因為這類測試耗時很長,從發射到對接要歷時一天多,當時認為把這些任務階段分成若干分階段,并在那些分階段內做測試更合乎邏輯”。
約翰·穆赫蘭德針對第2個軟件缺陷解釋:“閥門映射用來在軟件中標識推力器和閥門,但服務艙同乘員返回艙仍在一起時和兩者分離后的映射是不同的。不幸的是,那項要求未被納入推進控制器接口控制文件。文件中只包含了兩者合在一起時的映射。這一疏漏之所以在測試中未被發現,是因為對服務艙模塊引擎測試的代用裝置無法讓工程技術人員查出軟件漏洞。
2、第2次NASA和波音媒體電話會議
美國宇航局和波音公司在2020年3月6日美國東部時間11時30分舉行媒體電話會議,討論聯合獨立審核小組對2019年12月份在該公司進行的軌道飛行測試中發現的主要問題調查結果。參加媒體電話會議的人員如下:
? 美國國家航空航天局人類探索與作戰任務局副局長 Douglas Loverro
? 美國國家航空航天局商業船員計劃經理Kathy Lueders
? 波音公司太空與發射高級副總裁吉姆·奇爾頓(Jim Chilton)
? 波音副總裁兼CST-100 Starliner計劃的經理約翰·穆赫蘭德John Mulholland
美國宇航局和波音聯合獨立審核小組是在波音公司進行飛船軌道測試出現異常情況之后成立的,已經完成了其初步調查。該小組的任務是審查任務期間遇到的三個主要異常情況:兩個軟件編碼錯誤以及空對地通信鏈接問題。
A、三個主要異常的描述:
(1)任務完成定時器(MET)發生錯誤軟件問題:在星際客機飛船與Atlas V運載火箭分離之后,由于軟件編碼錯誤,飛船在終端計數開始之前(即火箭為指定的T0設置正確的時間)將時鐘與火箭同步。這導致飛船認為分離后它在任務的另一點,并且沒有進行正確的控制。
(2)服務艙模塊處置序列的軟件問題:波音和NASA審查了其他飛行階段,其中軟件編碼可能會影響任務成功。這項審查導致返回艙和服務艙模塊分離過程中發現并糾正了軟件問題。該更正確保了服務艙模塊的成功分離和處置。
(3)空對地通信(S / G)前向鏈接問題:間歇性的S / G前向鏈接問題阻礙了飛行控制團隊在執行任務期間指揮和控制飛船的能力,并可能妨礙宇航員飛行期間與機組人員的可靠語音通信。
B、審核小組的發現和建議
審核小組的分析確定了針對這兩個軟件異常的61項糾正和預防措施。這些整改措施分為四類:
(1)進行代碼修改:波音公司將檢查并更正“任務完成定時器(MET)發生錯誤軟件問題”和“服務艙模塊處置序列的軟件問題”代碼。
(2)改善軟件工程:波音將加強其審核流程,包括更好的同行評審和控制委員會審核,并改善其軟件流程培訓。
(3)改善軟件測試:波音將在飛行的所有階段提高其軟件測試的重要性。包括改進的模擬或仿真器端到端測試,與實際飛行系統足夠相似,可以充分發現問題。
(4)加強軟件產品保證:當硬件設計更改或狀態變更,落實到系統設計中時,波音公司將檢查軟件編碼回歸測試變更的影響域分析。
目前還不清楚波音公司61項整改措施的具體內容,NASA表示這些措施將“既有組織架構上的,也有技術層面的”。NASA人類探索與作戰任務局副局長洛弗羅表示,將與波音公司討論是否將整改措施的清單公布于眾。在波音實施整改措施的同時,NASA計劃在波音的軟件團隊中增派更多的NASA軟件產品保證專家。
第二部分:啟 / 示 / 展 / 望
波音公司星際客機飛船軟件故障啟示:
1、系統集成測試缺乏對不可測試項的追蹤和落實,尤其是火箭系統與飛船系統間的星時不可測試項,返回艙分系統與服務艙分系統的接口和時序測試不可測試項,為星際客機飛船與空間站對接埋下隱患。
2、服務艙模塊引擎測試重點在于推進器的測試,忽略了返回艙與服務艙的分離通訊協議、接口時序測試,即缺少外圍設備的通訊協議總線模擬器、接口時序模擬器。
3、在11個多小時的首次排練中,ULA重點測試了火箭發射的流程和任務準備,波音星際客機團隊缺少對飛船的遙控、遙測數據檢查,尤其是軟件產品保證要素“星時合理性檢查”。、
4、應急預案準備不充分,僅依靠中繼星網絡測控手段單一,未動員地面站或者測控船作為測控輔助支撐,當中繼星處于盲區時限制了波音飛船的軌道測試。
從知識圖譜、算力、算法、數據四個維度加強航天器智能測試展望:
1、面向生死攸關的星時問題,引入知識圖譜輔助智能測試
近些年來,星時問題逐漸成為空間飛行器生死攸關的軟件產品保證重點,與星時問題相關的知識圖譜可以歸納為:硬件的計數器適應性修改導致的軟件狀態變化問題、星時的初始化問題、星時的復位問題、星時的守時問題、星時的更新校時問題、星時溢出問題、星時的原子操作跳變問題、星時的邊界翻轉問題、星時的閾值保護問題等等。
如何開展對波音公司星際客機飛船的一百萬行代碼審查,是個非常棘手的問題,傳統的軟件測試(300行/人天,大約需要10-20個人工走查1年的時間)已不能滿足時效的緊迫性任務要求,波音公司星際客機飛船暴露的軟件星時致命問題,給我們的經驗啟示:在人工智能時代亟需引入知識圖譜輔助智能測試。研究基于知識圖譜的復雜航天器軟件智能化測試框架并構建復雜航天器軟件一體化測試平臺。結合裝備軟件測試業務場景,基于知識圖譜的復雜航天器軟件智能化測試應用,示例如下所示:
?代碼審查業務場景,基于知識圖譜的多策略快速檢索應用。
基于知識圖譜的多策略快速檢索應用
?動態測試業務場景,基于知識圖譜的智能推送應用。
?測試需求業務場景,基于知識圖譜的抽取測試需求應用。
?軟件缺陷預測業務場景,基于知識圖譜的輔助判定應用。
基于知識圖譜的輔助判定軟件缺陷預測工具
通過在復雜航天器軟件一體化測試平臺上,構建基于知識圖譜的復雜航天器軟件智能化測試框架,形成新型測評生態,改進傳統測試模式,提高測試工作效率,提升航天軟件質量。
2、基于接口和時序測試問題,加強算力全數字仿真模擬
波音公司星際客機飛船暴露的軟件接口致命問題,給我們的經驗啟示:加強人工智能GPU集群算力、構建全生命周期數字仿真模擬環境,從技術培訓、監督檢查、質量數據分析等方面開展航天器嵌入式軟件產品保證。
虛擬仿真測試工具集
3、突破航天領域測試現狀,深度學習與機器學習算法融合
30年間NASA飛行器由軟件實現的系統功能從15%增加至80%,以火星探測計劃為例,探測器軟件規模和速度的乘積符合摩爾定律,波音公司CST-100飛船軟件規模超過100萬行,F35聯合攻擊戰斗機軟件規模超過800萬行,且在持續增加,軟件規模和復雜度均呈幾何級增長趨勢。
突破航天領域測試現狀,從感知的深度學習算法在智能測試方面應用包括:數據標注、算法模型開發、高性能分布式訓練、模型調優、模型部署。從決策的傳統機器學習算法在智能測試方面應用包括:業務行為數據采集、結構化/非結構化數據處理、數據和算法的組合建模、算法開發訓練調優、模型部署實時訓練反饋。
融入機器學習的軟件研制與智能測試一體化平臺
4、構建未來太空測試生態,測試大數據趨向智能化
未來已來,航天領域的測試數據經歷了MB->GB->TB->PB的線性提升,強大的測試集成功能,完整的數據追溯功能;擁有完整項目過程數據、產品數據和組織資產數據,全程記錄各類數據的產生過程,可以隨時掌握項目運行數據。具備彈性可擴展架構,支持各類軟件項目管理工具、軟件開發工具、軟件測試工具等進行有效集成。構建空間飛行器太空測試生態,推動智能計算和數據計算落地如下圖所示:
空間飛行器太空智能測試生態圖
作者:李鵬宇 文章審核:高猛 侯成杰
-End-