吉經緯, 李 琳, 于 歌, 汪 斌, 任 偉, 呂德勝
(1.中國科學院上海光學精密機械研究所 量子光學重點實驗室,上海 201800;2.中國科學院大學 材料與光電研究中心,北京 100049;3.中國科學院空間應用工程與技術中心 中國科學院太空應用重點實驗室,北京 100094)
載人航天工程是當今世界高新技術發展水平的集中展示,是衡量一個國家綜合國力的重要標志[1]。中國將在2022年前后完成空間站建造并開始運營,預計在軌運營時間將在10年以上[2]。在軌運營期間,國內外眾多空間科學實驗將在空間站進行[3-4]。由于載荷在軌維修困難且更換器件費用高昂[5],為了使載荷能在軌順利運行,進行充分的地面測試是確保載荷的在軌功能、性能的必要手段。因此,設計一套用以科學實驗載荷地面測試的地面檢測系統是非常必要的。
近年來,很多文獻都對地面檢測系統進行了研究[6-9],但以往大部分的空間載荷由于各自研制單位不同,對應研制的地面檢測系統大部分是不通用的,且相對功能都比較單一。并且空間站大部分科學實驗載荷都以科學實驗為目的,具有實驗復雜、可調參數多的特點。隨著人工智能技術的發展,國內外很多科學實驗都采用了基于人工智能的方法來優化實驗參數,且經過人工智能優化后的參數比人類的經驗參數結果更好[10-11]。筆者介紹了一種通用型空間站載荷地面檢測系統,該系統能模擬空間站實驗柜控制器,對科學載荷進行地面測試,同時該系統基于人工智能技術,通過遙科學等手段輔助,可實現科學實驗載荷在軌實驗參數優化功能。地面檢測系統的軟件部分基于Qt、Python和SQLite3。Qt負責實現圖形用戶界面應用程序;Python負責實現利用人工智能優化載荷科學實驗參數;SQLite3作為數據庫管理系統,用于存儲數據。通過軟件模塊化處理,提煉出不同科學實驗載荷間的共同需求,將接口與內部分離,采用修改配置文件的方式來滿足不同載荷的多樣化需求,極大提高了地面檢測軟件的靈活性和可重用性。硬件大部分采用成熟的商用器件,在增強地面檢測系統可靠性的同時,提高了地面檢測系統的研制效率。
從通用性角度分析,由于各個科學實驗載荷與空間站實驗柜控制器之間的接口數據單是不同的,為了實現地面檢測系統的通用性,必須對地面檢測系統做相應的設計,使其能通過讀取配置文件,識別不同載荷的接口數據單,完成不同載荷的數據注入和數據監顯功能。
地面檢測系統主要模擬空間站實驗柜控制器,其共性的需求如下。
① 地面檢測系統通過RS422和以太網接收科學載荷的數據,注入實驗指令。
② 模擬量的采集,即采集載荷溫度、電流等模擬量,并對數據進行判斷及存儲。
③ 程控指令,主要是控制繼電器開關。
④ 基于one-wire總線的火警監測。
⑤ 指令和載荷數據異常報警,以及數據統計。
地面檢測系統通過完成上述共性需求,就能滿足大部分載荷的功能需求。
除此之外,科學實驗類載荷還具有實驗復雜、環境因素存在不確定性、預計可調參數數量龐大的特點。例如,由于空間環境與地面環境不同,科學載荷在軌的實驗參數往往沒有經驗模型,大量實驗參數需要在軌重新調整。因此,地面檢測系統需要基于人工智能技術,通過遙科學等手段輔助,實現科學實驗載荷在軌實驗參數優化功能[12]。
根據上述需求分析,對空間站有效載荷地面檢測系統進行了總體設計,考慮到通用性,地面檢測系統硬件主要選用商業模塊進行部署。因為商業模塊具有接口齊全、部署時間快、可移植性強的優點,能滿足不同載荷的需求。軟件部分采用了模塊化的設計,將軟件的耦合度降低,即使個別載荷有特殊需求,也僅需修改少量的代碼。系統組成如圖1所示,軟件系統集成于上位機中,測試人員通過監顯畫面與發送數據注入指令來控制與測試科學實驗載荷。

圖1 地面檢測系統組成框圖
地面檢測系統硬件主要選用商業模塊,具有部署時間短、功能可移植性強等優點,能很好地適應目前航天任務復雜、研制周期短的任務特點。其硬件主要包括有上位機、USB-6353模擬量采集卡(NI公司)、PCI-6517數字量輸出卡(NI公司)、LCT2662M模塊(長信物聯公司)和U-Port1600-8USB轉RS422/RS485模塊(MOXA公司)。
地面檢測系統硬件通過LCT2662M模塊將one-wire總線的數字溫度傳感器DS18B20的數據轉換成RS485通信總線可以傳輸的數據,這樣上位機可以通過RS485讀取相應的溫度情況。USB-6353模擬量采集卡主要實現科學實驗載荷的模擬量采集功能,該采集卡共有16路差分模擬采集通道,模擬輸入分辨率為16-bit,滿足載荷模擬量遙測采集的需求。PCI-6517實現程控指令的輸出,共有32個通道,輸出電壓為0~30 V,滿足大部分繼電器的工作需求。
地面檢測系統軟件設計采用具有解耦合設計理念的MVC模式,將系統軟件分解為模型、視圖和控制器三大部分,MVC模型如圖2所示。M即Model(模型),用于表示業務規則,它是按照不同方式來存儲的數據抽象;V即View(視圖),是指用戶看到并與之交互的界面即軟件的客戶端界面,包含了數據的交互;C即Controller(控制器),是指控制器接收用戶的輸入并調用模型和視圖去完成用戶的需求,控制器本身不輸出,也不做任何處理,只是接收請求并決定調用哪個模型構件,然后再確定用哪個視圖來顯示返回的數據。通過MVC模式的軟件設計,將軟件的界面顯示、邏輯控制和數據存儲相互解耦,各個部分的改變對其余的影響會降至最低。

圖2 MVC模型示意圖
同時,地面檢測系統基于Qt、Python、SQLite3采用模塊化設計,軟件系統根據功能主要劃分為數據監顯、數據注入、配置文件讀取、通信、數據庫、數據處理和人工智能優化參數七大模塊[13]。其中,通過對數據注入模塊、數據處理模塊和通信模塊進行相應設計,實現地面檢測系統的安全性、可靠性設計,保證載荷測試時的安全與可靠;通過對數據監顯、配置文件讀取和數據庫模塊進行相應設計,實現地面檢測系統的通用性;同時,利用人工智能優化參數模塊實現載荷在軌參數優化功能。
1.4.1 地面檢測系統通用性設計
由于不同載荷的工程數據、應用數據、注入指令是不同的,需要進行個性化配置。 考慮到地面檢測系統的通用性,配置文件讀取模塊以數據為中心,應用至不同載荷時可以讀取配置文件,進行界面的自動配置。很多軟件也有讀取配置文件的功能,但這些配置文件往往都只有關鍵信息,對于沒有學過編程的人來說,可讀性比較差。因此這些配置文件無法作為與總體單位簽署的接口數據單,而將數量眾多的接口數據單翻譯成軟件能識別的配置文件是一個煩瑣、耗時、容易出錯的工作。
為了盡量減少測試人員的工作量,地面檢測系統會先把Word表單自動復制為Excel格式,然后基于QtXlsx函數進行表格讀取。由于表單中有大量不規則的單元格,首先找到最小單元格作為基本處理單位,然后遍歷整個表單,軟件將在識別到關鍵字的單元格時,檢測其相鄰單元格,如果符合預先設置的格式,就將單元格的內容作為配置數據。這樣設計后,配置文件的格式與載荷和總體單位簽署的接口數據單基本一致,測試人員不需要重新編寫配置文件,大大減輕了工作量。軟件可以自動從接口數據單提取到需要的數據,完成軟件監顯和數據注入的重新配置。
數據監顯模塊負責載荷的工程數據和應用數據的顯示,具有友好的人機交互界面。不同的載荷可以通過配置文件來定制個性化監顯界面。監顯參數也可根據載荷的需求,通過參數列表、參數曲線圖、圖像視頻等多種方式靈活顯示。當載荷測試時數據監顯界面會實時顯示載荷關鍵參數的變化,將接收到的數據自動解析為統一的數據格式,便于測試人員觀察數據變化。數據格式一般包括源碼、比特位模式、物理值和物理含義4項。
數據庫模塊用于實現系統運行數據的存儲管理,對外提供統一的數據調取接口,方便數據的在線和離線分析。數據庫利用SQLite3的“單一文件”特性,將數據庫中所有的信息(例如表、視圖等)都包含在一個獨立文件內。基于數據庫,可以將不同載荷的各類下行數據都保存為一個單一文件,文件可以復制到其他目錄或其他機器上,從而可以方便地實現地面檢測系統跨平臺操作。數據庫模塊將數據存儲后,支持對海量存儲數據的查詢與定位。不同的載荷可通過日期、內容、關鍵字等數據篩選方式快速定位到滿足條件的測試數據,并可以隨時進行測試數據的回放。另外,也可以將數據以Excel形式導出,便于存檔及數據分析。
1.4.2 地面檢測系統安全可靠性設計
考慮到載荷測試過程中,需要對載荷狀況進行實時監控,以防出現載荷失效,因此,需要地面檢測系統對接收的數據進行分析、判斷、處理。如果某一參數出現異常,數據處理模塊將通過參數飄紅、高亮、閃爍等方式向測試人員發出預警。另外,考慮載荷部分關鍵器件使用壽命限制,地面檢測系統通過數據處理模塊可以對使用時間或頻次進行統計,例如開機總時間、繼電器的動作次數、器件工作時間等,這些統計數據可以為載荷安全可靠性分析和失效分析提供明確數據,是載荷安全可靠性設計的重要基礎。
數據注入模塊主要用于制作符合空間站注入規范的指令。指令形式包括立即指令、帶時間碼的指令和柜內指令3種。每條數據注入指令可由若干事件組成,每添加一個事件數據注入模塊都會在指令對應的事件計數位加“1”。基于安全可靠性的考慮,數據注入模塊在完成添加事件前,會檢查指令可添加的剩余事件長度。若新添加事件的長度大于剩余事件長度,數據注入模塊將給出“事件長度超出范圍”的提示。載荷的電源開關通常是有上電順序的,如果上電順序不當,有可能會造成器件的損壞。當注入電源開關指令時,數據注入模塊會檢查其上電的先后順序,以保障載荷的上電安全。所有制作完成的指令將會逐條保存在一個列表中,通過該列表可以查看指令的注入源碼和相應的中文解析,使指令制作人員能檢查核對。數據注入模塊可以在測試過程中形成測試日志和操作日志,并對其進行查詢、導出和管理。
通信模塊與載荷間的通信接口有RS422接口和以太網接口兩種。RS422接口數據鏈路層使用UART協議,在協議層保證波特率設置和奇偶校驗的正確性;以太網接口使用TCP/IP協議,傳輸速率設置為600 Mbit/s。通信模塊與NI采集輸出卡間通過調用NI-DAQmx的API函數進行通信[14]。在需要調用NI-DAQmx的文件時,導入NI-DAQmx的頭文件和庫文件就可以很方便地使用DAQ提供的函數來實現采集卡的讀取與輸出。當有圖像和視頻數據傳輸時,為了避免單個進程處理大數據流時響應變慢,甚至出現界面卡死的現象,對通信模塊進行了通信功能的可靠性設計,軟件使用了主線程、大數據收發線程和輕數據收發線程3種線程配置。主線程負責響應用戶交互,大數據收發線程負責圖像視頻數據的傳輸獲取,輕數據收發線程負責工程數據的收發。通過上述設計,系統在操作大數據的過程中即使遇到了用戶操作,也完全可以在另一個不同的進程中去響應用戶,從而保證整個系統的流暢性。
1.4.3 載荷在軌性能優化
從以往科學載荷在軌測試的經驗來看,由于空間環境復雜,受到微重力、磁場等因素影響,普遍存在在軌實驗參數與地面測試參數不匹配的情況。目前在軌的測試工作基本還是用地面測試參數配合經驗模型來調整在軌實驗參數,但這種方法需要花費大量時間。基于此,地面檢測軟件設計了一種基于人工智能的方法,以實現載荷在軌實驗參數的快速自動尋優。
人工智能算法是利用計算機來實現一些通常需要人類智能才能完成的復雜工作。其中典型的算法有支持向量機算法、決策樹算法、神經網絡算法等。神經網絡是由眾多可調權重的神經元連接組成,單個神經元比較簡單,但大量神經元相互組合就變成了復雜的系統。通過反向傳播的方法,不斷調整神經的權重,理論上神經網絡算法能擬合任意函數。因此地面檢測系統選擇了神經網絡算法來擬合科學實驗的過程。
人工智能優化參數模塊主要實現科學實驗載荷在軌實驗參數的自動優化功能。人工智能優化參數模塊把每個載荷的科學實驗都當作黑盒函數。黑盒函數的輸入是載荷需要優化的參數,參數數量為n個,輸出是需要優化的目標。科學實驗載荷的實驗流程是:首先通過地面檢測系統軟件建立一個模型,例如建立一個n個輸入的神經網絡的模型,如圖3所示,模型初始權重為隨機值,同時設置一組初始值參數,通過遙科學通道,發送給在軌的科學實驗載荷,科學載荷使用這組參數進行實驗,實驗結束后返回科學實驗結果,地面根據實驗結果和模型的輸出結果的差值通過梯度下降和反向傳播來更新模型的權重,同時使用SciPy庫調用L-BFGS-B方法預測能使差值最小的實驗參數。地面再將這組新的參數通過遙科學發送給在軌載荷,科學載荷使用新的參數進行實驗,得到新的結果,再更新模型和預測新的參數,多次迭代后,使用預測的參數獲得的實驗結果與模型輸出結果之差接近于0,通過科學實驗的結果可以發現此時預測參數即為最佳實驗參數。

圖3 人工智能模型示意圖
空間站有效載荷地面檢測系統設計在“天宮二號”空間冷原子鐘、空間站超冷原子物理實驗柜和空間站高精度時頻實驗柜微波鐘的研制與測試工作中得到了驗證。
(1) 通過地面測試,驗證了與載荷間的通信功能,當數據通信正常時,地面檢測系統的監顯界面進行實時刷新,監顯功能如圖4所示。每個參數有統一的數據格式,包括參數名稱(物理含義)、顯示格式、單位、數據內容(物理值)和源碼。同時,驗證了數據異常時的報警功能,當參數正常時,數據顯示正常(黑色),如果參數出現異常,如超過閾值、突變等,監顯界面立即通過參數飄紅處理發出示警。通過該功能,測試人員可以迅速發現載荷的異常情況,做出相對應的處置。該功能可有效降低載荷地面測試的故障。

圖4 數據監顯功能示意圖
(2) 對地面檢測系統的通用性進行了驗證。系統通過讀入數據接口單,自動生成圖5所示的數據注入界面。通過該功能,不同載荷的測試人員只要提交數據接口單,軟件就可以自動配置相應的數據注入和數據監顯,大大減少了測試人員手工配置的工作量。

圖5 數據注入示意圖
(3) 通過地面測試,對地面檢測系統的組包、畫圖、模擬量采集等功能進行了驗證,如圖6所示。測試過程中,根據指令要求,監顯界面可以正確顯示目標圖像。坐標橫軸是時間,縱軸是參數的模擬信號強度,通過該功能,測試人員可以形象地看到模擬量參數隨時間的變化情況。

圖6 數據組包、作圖示意圖
(4) 通過對TG-2空間冷原子鐘鑒定件進行測試,對數據處理模塊的統計功能進行了驗證。如圖7所示,地面檢測系統實現了開關機判斷功能,生成的Excel列表準確地統計并顯示了開關機動作的時間和開機持續的時間。通過該功能,測試人員可統計出有壽命限制的元器件使用情況,例如激光器、繼電器開關等。通過掌握這些統計數據,測試人員可在臨近器件壽命時,對其特別關注或通過貨運飛船將器件上行更換。

圖7 數據統計功能示意圖
(5) 由于目前空間站科學實驗載荷還在研制階段,無法進行在軌測試,為了驗證人工智能優化參數的功能,構造了一個有5個參數的黑箱函數。與在軌科學實驗相同,人工智能優化參數模塊的目標是找到能使這個黑箱函數輸出值最小的5個參數的值。采用了在線學習的方式,即每次優化得到預測參數后,將預測參數輸入黑箱函數,將函數的輸出用來訓練神經網絡,再預測新的參數。通過圖8可以看到,隨著迭代次數的增加,黑箱函數的輸出持續減小,最終在設定的優化目標附近波動。此次驗證共迭代1200次,耗時約30 min,可以預計,當載荷在軌運行時,利用該模塊可以大幅減少調整參數的時間。

圖8 黑箱函數輸出隨迭代增加持續減小
(6) 利用 “天宮二號”空間冷原子鐘在軌磁屏蔽內的剩余磁場數據對優化參數功能進行了驗證。使用Jiles-Atherton(J-A)磁滯模型來計算屏蔽罩內剩余磁場。該模型有7個參數,通過這7個參數可以計算出剩余磁場,再將計算值與實測磁場相減,得到的誤差用于優化神經網絡的權重,通過神經網絡預測下一組能使誤差變小的參數。通過快速迭代,約20 min完成了優化,使用優化后的參數計算屏蔽罩的剩余磁場與通過磁通門實測的磁場,如圖9所示。圖9中藍線為通過磁場門實測的磁場,紅線為使用優化后參數計算得到的磁場,可以看到紅線與藍線基本重疊,這說明人工智能優化參數模塊有效地優化了參數。

圖9 通過J-A模型計算和實測的剩余磁場
筆者設計了一種通用的空間站有效載荷地面檢測系統,該地面檢測系統軟件采用模塊化設計加載配置文件的方式,將不同應用載荷的共同需求提煉成規范化配置文件模板,大大提高了地面檢測系統的通用性。同時,該檢測系統基于人工智能技術,從設計上可以實現科學實驗載荷在軌實驗參數的優化。空間站預計在軌運行10年,該地面檢測系統可以廣泛應用于不同科學實驗載荷的地面測試和在軌的科學實驗過程中,有助于開展科學實驗載荷地面驗證,并有效提高科學實驗在軌運行效率。