施建明王 功王 偉李緒志
(中國(guó)科學(xué)院空間應(yīng)用工程與技術(shù)中心,北京 100094)
空間站空間應(yīng)用系統(tǒng)有效載荷設(shè)備包括信息管理、供配電、熱控、氮?dú)夤?yīng)等共用支持設(shè)備、空間科學(xué)實(shí)驗(yàn)和技術(shù)試驗(yàn)機(jī)柜、艙內(nèi)外獨(dú)立載荷等。在空間站運(yùn)營(yíng)期,這些設(shè)施、設(shè)備長(zhǎng)期運(yùn)行,需要定期在軌維護(hù)、維修及系統(tǒng)升級(jí)??臻g站有效載荷維修保障資源有限,修復(fù)性維修和定期維修精準(zhǔn)性低、資源代價(jià)大,難以滿足空間站運(yùn)行安全性、可靠性要求。預(yù)測(cè)性維護(hù)對(duì)設(shè)備進(jìn)行狀態(tài)監(jiān)測(cè)、持續(xù)對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行分析計(jì)算、評(píng)判設(shè)備的健康狀態(tài)、預(yù)測(cè)健康趨勢(shì),為有效載荷制定更合理的維護(hù)維修計(jì)劃和備品備件上行方案。
NASA針對(duì)國(guó)際空間站任務(wù)開(kāi)展了集成系統(tǒng)健康管理(Integrated System Health Management,ISHM)技術(shù)研究,并開(kāi)發(fā)了狀態(tài)監(jiān)測(cè)工具軟件,用于航天飛機(jī)、ISS控制力矩陀螺、ISS主動(dòng)熱控系統(tǒng)的狀態(tài)監(jiān)測(cè)任務(wù)。軟件的核心算法是K最近鄰(Knearest Neighbor,KNN)和聚類(Clustering),這些算法和工具在航天器健康監(jiān)測(cè)上有較成功的應(yīng)用。借鑒NASA的經(jīng)驗(yàn),余晟等提出一種基于推演式聚類學(xué)習(xí)算法的衛(wèi)星健康狀態(tài)監(jiān)視系統(tǒng),并通過(guò)熱控分系統(tǒng)的測(cè)試數(shù)據(jù)對(duì)該系統(tǒng)的有效性進(jìn)行驗(yàn)證,能較好地完成狀態(tài)識(shí)別與評(píng)估。
有效載荷方面,NASA在科學(xué)實(shí)驗(yàn)柜接口定義文檔中對(duì)有效載荷的健康和狀態(tài)數(shù)據(jù)的定義、數(shù)據(jù)傳輸、處理、顯示等進(jìn)行了規(guī)定。中國(guó)空間站有效載荷設(shè)計(jì)了一定的在軌故障診斷功能,并將故障事件和傳感器參數(shù)等數(shù)據(jù)下行至地面。同時(shí),也開(kāi)展了預(yù)測(cè)及健康管理(Prognostic and Health Management,PHM)相關(guān)方法、算法研究與地面健康管理軟件開(kāi)發(fā)工作,通過(guò)制冷機(jī)在軌數(shù)據(jù)、熱控子系統(tǒng)地面測(cè)試數(shù)據(jù)等進(jìn)行了技術(shù)驗(yàn)證。
有效載荷產(chǎn)品種類較多,故障模式與機(jī)理復(fù)雜,需要采用不同算法處理大量的監(jiān)測(cè)數(shù)據(jù)、訓(xùn)練故障診斷和預(yù)測(cè)模型。為提升算法、模型及業(yè)務(wù)程序的開(kāi)發(fā)和集成效率,各有效載荷產(chǎn)品應(yīng)統(tǒng)一開(kāi)發(fā)范式,解決標(biāo)準(zhǔn)不統(tǒng)一、接口不匹配、數(shù)據(jù)不一致等問(wèn)題。且預(yù)測(cè)性維護(hù)技術(shù)相關(guān)方法、理論研究成果急需工程化的軟件和平臺(tái)來(lái)承載,并通過(guò)實(shí)測(cè)數(shù)據(jù)來(lái)實(shí)現(xiàn)技術(shù)驗(yàn)證和迭代。為此,本文構(gòu)建面向有效載荷的系統(tǒng)層預(yù)測(cè)性維護(hù)支持平臺(tái),對(duì)核心的自動(dòng)輔助建模軟件開(kāi)展架構(gòu)設(shè)計(jì)和基礎(chǔ)開(kāi)發(fā)工作,為后續(xù)持續(xù)擴(kuò)展和優(yōu)化打下基礎(chǔ)。
有效載荷產(chǎn)品自身集成了一定的在軌故障自檢測(cè)和診斷功能,對(duì)影響安全性和重要功能的異常狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè),采用閾值判斷的方式來(lái)實(shí)現(xiàn),適用于故障需要立即響應(yīng)的場(chǎng)景。預(yù)測(cè)性維護(hù)支持系統(tǒng)能充分利用地面的存儲(chǔ)和計(jì)算資源,對(duì)有效載荷長(zhǎng)期運(yùn)行積累的大量數(shù)據(jù)開(kāi)展分析,能完成在軌不便開(kāi)展的趨勢(shì)分析、多維監(jiān)測(cè)數(shù)據(jù)聯(lián)合分析以及復(fù)雜機(jī)器學(xué)習(xí)模型的訓(xùn)練、使用、評(píng)價(jià)與再訓(xùn)練等任務(wù)。經(jīng)過(guò)實(shí)際數(shù)據(jù)充分驗(yàn)證的算法和模型,還能用于在軌故障檢測(cè)功能和性能的升級(jí)。
空間站有效載荷在軌出現(xiàn)故障時(shí),很多情況下無(wú)法通過(guò)自診斷功能獨(dú)立確認(rèn)要更換的目標(biāo)部件,即在軌可更換單元(Orbital Replaceable Unit,ORU),而人工分析和排查往往費(fèi)時(shí)費(fèi)力。通過(guò)綜合分析有效載荷監(jiān)測(cè)數(shù)據(jù),調(diào)用診斷模型,結(jié)合推理邏輯,能實(shí)現(xiàn)故障的快速準(zhǔn)確定位,這是預(yù)測(cè)性維護(hù)支持系統(tǒng)的智能診斷功能。有效載荷包含有退化特征的產(chǎn)品,例如泵組、過(guò)濾器、電池、制冷機(jī)等,建立性能退化模型,持續(xù)跟蹤退化趨勢(shì),預(yù)測(cè)剩余壽命,為備件保障和維修準(zhǔn)備提供預(yù)測(cè)性指示。此外,還需定期對(duì)設(shè)備、分系統(tǒng)、系統(tǒng)開(kāi)展基于監(jiān)測(cè)數(shù)據(jù)的健康評(píng)估,讓地面人員能全面掌握有效載荷健康動(dòng)態(tài)。圖1為空間站有效載荷預(yù)測(cè)性維護(hù)支持系統(tǒng)的方案設(shè)計(jì)圖,由數(shù)據(jù)庫(kù)、自動(dòng)輔助建模軟件、計(jì)算平臺(tái)、Web UI程序4個(gè)部分組成。
圖1 預(yù)測(cè)性維護(hù)支持系統(tǒng)方案Fig.1 Scheme of the predictive maintenance support system
空間站有效載荷數(shù)據(jù)量大、來(lái)源多,為充分挖掘數(shù)據(jù)中對(duì)預(yù)測(cè)性維護(hù)有指導(dǎo)意義的信息,應(yīng)統(tǒng)一規(guī)劃數(shù)據(jù)源。根據(jù)數(shù)據(jù)來(lái)源不同,分為研制階段產(chǎn)生的數(shù)據(jù)與運(yùn)行階段產(chǎn)生的數(shù)據(jù)。以運(yùn)行階段的數(shù)據(jù)為主要數(shù)據(jù)來(lái)源,根據(jù)需要提取研制階段的數(shù)據(jù)輔助分析。數(shù)據(jù)類型分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),針對(duì)不同數(shù)據(jù)類型選擇合適的數(shù)據(jù)庫(kù)。有效載荷監(jiān)測(cè)數(shù)據(jù)以時(shí)序數(shù)據(jù)為主,在工業(yè)大數(shù)據(jù)、工業(yè)互聯(lián)網(wǎng)領(lǐng)域,InfluxDB、OpenTSDB等是常用的開(kāi)源時(shí)序數(shù)據(jù)庫(kù)軟件,可用于存儲(chǔ)與管理有效載荷狀態(tài)監(jiān)測(cè)數(shù)據(jù)。表1列出了預(yù)測(cè)性維護(hù)支持系統(tǒng)的數(shù)據(jù)源及相應(yīng)的數(shù)據(jù)庫(kù)產(chǎn)品選型。
表1 預(yù)測(cè)性維護(hù)支持系統(tǒng)數(shù)據(jù)源Table 1 Data sources of PMSS
有效載荷運(yùn)行狀態(tài)監(jiān)測(cè)數(shù)據(jù)以遙測(cè)、工程數(shù)據(jù)(下行的狀態(tài)監(jiān)測(cè)數(shù)據(jù))為主,包含了在軌診斷(例如機(jī)內(nèi)測(cè)試)給出的故障或異常狀態(tài)的指示量,在排除錯(cuò)誤診斷的前提下,這些指示量可為數(shù)據(jù)標(biāo)記提供重要的參考。數(shù)據(jù)通過(guò)天地通訊鏈路下行至地面,地面控制中心進(jìn)行通訊管控,地面數(shù)據(jù)中心進(jìn)行數(shù)據(jù)管理,預(yù)測(cè)性維護(hù)支持系統(tǒng)作為地面系統(tǒng)的一部分,提供非緊急故障的診斷、健康狀態(tài)長(zhǎng)期跟蹤和預(yù)測(cè)等服務(wù),允許一定的時(shí)間延遲。因此,數(shù)據(jù)庫(kù)可貼近業(yè)務(wù)端進(jìn)行部署,以近實(shí)時(shí)的方式從數(shù)據(jù)中心獲取所需的數(shù)據(jù)。
設(shè)計(jì)開(kāi)發(fā)自動(dòng)輔助建模軟件是為提供統(tǒng)一的有效載荷故障診斷和預(yù)測(cè)建模平臺(tái),在此平臺(tái)上,建模專家和領(lǐng)域?qū)<覅f(xié)作開(kāi)展建模工作,把概率統(tǒng)計(jì)、信號(hào)處理、機(jī)器學(xué)習(xí)等數(shù)據(jù)建模技術(shù)同有效載荷產(chǎn)品知識(shí)和故障機(jī)理緊密結(jié)合起來(lái),并進(jìn)行快速迭代、集成與擴(kuò)展。建模流程如圖2所示,具體步驟如下:
圖2 PHM建模流程Fig.2 PHM modeling process
1)定義建模對(duì)象和故障模式。根據(jù)有效載荷產(chǎn)品組成和FMEA報(bào)告等,建模專家和領(lǐng)域?qū)<夜餐崂沓瞿P颓鍐危?/p>
2)構(gòu)建故障模式發(fā)生和處置場(chǎng)景,為建模提供應(yīng)用依據(jù);
3)對(duì)故障模式類型進(jìn)行判定,包括預(yù)警類、診斷類及RUL預(yù)測(cè)類;
4)基于模型清單,對(duì)每個(gè)模型建立所需的輸入數(shù)據(jù)進(jìn)行梳理,構(gòu)建輸入數(shù)據(jù)集;
5)建立故障模型,包括用于故障預(yù)警的基線模型、用于故障診斷的特征識(shí)別模型、用于RUL預(yù)測(cè)的退化模型。
空間站有效載荷產(chǎn)品類型多樣、故障模式復(fù)雜、研制單位眾多,不同故障診斷、預(yù)測(cè)算法和模型應(yīng)能以標(biāo)準(zhǔn)接口進(jìn)行集成,并以統(tǒng)一范式實(shí)現(xiàn)。自動(dòng)輔助建模軟件是預(yù)測(cè)性維護(hù)支持系統(tǒng)的核心部分,承載有效載荷數(shù)據(jù)智能分析、故障診斷與預(yù)測(cè)建模、模型優(yōu)化及管理的功能,第3節(jié)將對(duì)輔助建模軟件的設(shè)計(jì)進(jìn)行詳細(xì)論述。
自動(dòng)輔助建模軟件生成的模型,由計(jì)算平臺(tái)調(diào)用完成數(shù)據(jù)計(jì)算處理,并將結(jié)果輸出,包括異常預(yù)警信號(hào)、故障診斷結(jié)果、指標(biāo)預(yù)報(bào)或RUL預(yù)測(cè)值等信息。當(dāng)數(shù)據(jù)量不大時(shí),可在單臺(tái)計(jì)算機(jī)或服務(wù)器上完成計(jì)算任務(wù)。隨著數(shù)據(jù)量的增大,需要并行計(jì)算甚至分布式大數(shù)據(jù)計(jì)算平臺(tái),以提高計(jì)算速度,滿足業(yè)務(wù)需求。
根據(jù)異常預(yù)警、故障診斷、預(yù)報(bào)預(yù)測(cè)等業(yè)務(wù)特點(diǎn)的要求,分別采用實(shí)時(shí)計(jì)算、觸發(fā)計(jì)算、定時(shí)計(jì)算等策略來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的計(jì)算處理。
界面程序?qū)⑴c狀態(tài)監(jiān)測(cè)和診斷相關(guān)的信息通過(guò)數(shù)據(jù)可視化的形式展示出來(lái),包括基于2D、3D的設(shè)備畫面展示、基于儀表盤或圖表的數(shù)據(jù)展示等。UI界面顯示出的診斷、預(yù)測(cè)、預(yù)報(bào)等信息,可支持地面人員開(kāi)展維護(hù)維修決策活動(dòng)。
基于Web技術(shù)開(kāi)發(fā)后端程序包括:①構(gòu)建SpringBoot后端框架;②編寫數(shù)據(jù)庫(kù)訪問(wèn)配置文件;③開(kāi)發(fā)數(shù)據(jù)查詢與寫入程序。開(kāi)發(fā)前端程序包括:①2D、3D顯示圖紙?jiān)O(shè)計(jì)和代碼開(kāi)發(fā);②對(duì)圖元進(jìn)行數(shù)據(jù)綁定配置,實(shí)現(xiàn)與后端測(cè)點(diǎn)的關(guān)聯(lián)。數(shù)據(jù)庫(kù)中的各類數(shù)據(jù)經(jīng)由后端程序查詢后,設(shè)置到前端圖元、圖標(biāo)上,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)呈現(xiàn)。
設(shè)計(jì)開(kāi)放式、層次化、可擴(kuò)展的軟件架構(gòu),不同有效載荷產(chǎn)品研制方可在統(tǒng)一的架構(gòu)上增量式開(kāi)發(fā)算法和模型,匯聚成空間站有效載荷預(yù)測(cè)性維護(hù)的算法庫(kù)和模型庫(kù)。
自動(dòng)輔助建模軟件的層次化架構(gòu)設(shè)計(jì)如圖3所示,由接口層、特征層、算法層、模型層、應(yīng)用層5個(gè)層級(jí)構(gòu)成。
圖3 自動(dòng)輔助建模軟件架構(gòu)Fig.3 Architecture of the AAMS
基于圖3所示的層次化架構(gòu),構(gòu)建與架構(gòu)一一匹配的軟件包,由代表各層軟件子包組成,程序文件分門別類地放置在設(shè)計(jì)好的路徑下,方便函數(shù)的調(diào)用和類的實(shí)例化。程序集成、擴(kuò)展和升級(jí)在軟件包的統(tǒng)一管理下有序開(kāi)展。由于涉及大量復(fù)雜的工程計(jì)算和智能建模,自動(dòng)輔助建模軟件可采用Matlab、Python等進(jìn)行開(kāi)發(fā),利用已有的框架或工具來(lái)構(gòu)建定制化的算法庫(kù)和模型庫(kù),提高開(kāi)發(fā)效率。圖4所示的軟件包是基于Matlab環(huán)境設(shè)計(jì)的,一級(jí)軟件子包分為“+api”、“+features”、“+algorithms”、“+models”、“+app”,其中“+”不可或缺,其作用是將子包納入可執(zhí)行路徑下。
圖4 自動(dòng)輔助建模軟件包組成Fig.4 The AAMS package
3.2.1 接口層
接口層承載建模軟件與外部的接口程序,包括與數(shù)據(jù)庫(kù)的接口程序及與計(jì)算平臺(tái)的接口程序。通過(guò)與數(shù)據(jù)庫(kù)的接口,軟件可對(duì)數(shù)據(jù)庫(kù)進(jìn)行讀寫操作,獲取所需的數(shù)據(jù),并將處理后的輸出結(jié)果寫入數(shù)據(jù)庫(kù)。通過(guò)與計(jì)算平臺(tái)的接口和外部計(jì)算程序進(jìn)行交互,使用外部計(jì)算資源,或由外部計(jì)算程序調(diào)用內(nèi)部的模型和算法。
在“+api”文件夾下建立相應(yīng)數(shù)據(jù)庫(kù)接口程序的二級(jí)子包,例如“+I(xiàn)nfluxDB”、“+TSDB”等,包括數(shù)據(jù)庫(kù)配置文件、配置文件解析程序、數(shù)據(jù)查詢程序、數(shù)據(jù)寫入程序等。
為便于開(kāi)發(fā)人員調(diào)用建模軟件包中的程序,在接口層提供相應(yīng)的API(Application Programming Interface)。通過(guò)接口層,自動(dòng)輔助建模軟件方便集成到預(yù)測(cè)性維護(hù)支持系統(tǒng)中,或移植到已有的運(yùn)維平臺(tái)上去使用。
3.2.2 特征層
有些情況下,故障特征與原始監(jiān)測(cè)數(shù)據(jù)無(wú)直接的關(guān)聯(lián),例如設(shè)備振動(dòng)信號(hào)、聲音信號(hào)、圖像數(shù)據(jù)、工質(zhì)理化特性等。需要采用特征提取程序?qū)⒃紨?shù)據(jù)轉(zhuǎn)化成相應(yīng)的特征數(shù)據(jù)。
在建模軟件中設(shè)計(jì)特征層,將可能用到的特征提取程序歸于“+features”路徑下。一般包括特征配置文件、配置文件解析程序、特征提取函數(shù)、特征提取腳本等。
通過(guò)特征提取出的中間數(shù)據(jù)可寫入到數(shù)據(jù)庫(kù)中,或保存在“+features”下的FeatureData路徑下,便于統(tǒng)一管理。
3.2.3 算法層
在工業(yè)系統(tǒng)預(yù)測(cè)性維護(hù)場(chǎng)景中,數(shù)據(jù)驅(qū)動(dòng)是當(dāng)前的主流,在“+algorithms”算法包中,除了數(shù)據(jù)清洗、預(yù)處理、聚類、分類、回歸等算法程序外,還有數(shù)據(jù)集構(gòu)造、流程檢查等輔助性程序。在運(yùn)營(yíng)階段初期,大部分有效載荷處于正常狀態(tài),通過(guò)聚類算法或回歸算法可學(xué)習(xí)健康基線,得到各種運(yùn)行模式下的正常類簇或參數(shù)關(guān)聯(lián)模型。通過(guò)類簇識(shí)別、偏移量計(jì)算能發(fā)現(xiàn)異常征兆。隨著有效載荷出現(xiàn)退化或故障,提取特定窗口的多維監(jiān)測(cè)數(shù)據(jù)用于構(gòu)造數(shù)據(jù)集。通過(guò)回歸算法能訓(xùn)練相應(yīng)的預(yù)測(cè)模型,用于預(yù)測(cè)未來(lái)健康退化趨勢(shì)和RUL;通過(guò)分類算法能訓(xùn)練故障特征識(shí)別模型,用于故障診斷。
為提高算法開(kāi)發(fā)和使用算法分析數(shù)據(jù)的效率,需設(shè)計(jì)一種標(biāo)準(zhǔn)化同時(shí)又具有彈性的數(shù)據(jù)處理機(jī)制,包括標(biāo)準(zhǔn)化算法類設(shè)計(jì)、彈性數(shù)據(jù)處理模板和可追溯的算法比對(duì)機(jī)制。
1)標(biāo)準(zhǔn)化算法類設(shè)計(jì)。首先,設(shè)計(jì)7個(gè)算法父類,分別是數(shù)據(jù)清洗算法Cleaner、數(shù)據(jù)預(yù)處理算法Preprocessor、聚類算法Clusteringer、分類算法Classifier、回歸算法Regressor、深度學(xué)習(xí)回歸算法(Long Short Term Memory,LSTM)、深度學(xué)習(xí)分類算法(Convolutional Neural Network,CNN)。每個(gè)父類下繼承了多個(gè)具體的算法子類,例如聚類下有Kmeans聚類、層次聚類、自組織映射等。其次,每個(gè)算法子類采用標(biāo)準(zhǔn)的框架設(shè)計(jì),類的屬性為算法參數(shù),類方法主函數(shù)是數(shù)據(jù)處理流程,包括數(shù)據(jù)輸入、算法參數(shù)設(shè)置文件導(dǎo)入、交叉驗(yàn)證數(shù)據(jù)集構(gòu)造(必要時(shí))、核心處理模塊、結(jié)果整理和輸出。
2)彈性數(shù)據(jù)處理模板。建模時(shí)可采用單一算法處理數(shù)據(jù),也可采用多算法串接的方式處理數(shù)據(jù),并有不同算法、不同算法參數(shù)設(shè)置比對(duì)的需求。為不重復(fù)編寫算法代碼,且能靈活配置算法和設(shè)置算法參數(shù),采用數(shù)據(jù)和算法分離的策略模式及多算法串接的模板模式。串接多算法形成數(shù)據(jù)處理流程后,調(diào)用流程檢查程序,確保所構(gòu)造的流程符合數(shù)據(jù)分析處理的邏輯。
3)可追溯的算法對(duì)比機(jī)制。設(shè)計(jì)一種可追溯的比對(duì)機(jī)制,使得建模人員能快速完成模型批訓(xùn)練、批測(cè)試,并回看不同算法參數(shù)設(shè)置下的模型評(píng)分,自動(dòng)導(dǎo)出最優(yōu)的算法參數(shù)和模型。在標(biāo)準(zhǔn)算法類設(shè)計(jì)時(shí)考慮算法調(diào)參和比對(duì)問(wèn)題,算法每次調(diào)用都會(huì)自動(dòng)去讀取相應(yīng)的參數(shù)設(shè)置文件,通過(guò)記錄每次參數(shù)設(shè)置及對(duì)應(yīng)的評(píng)分來(lái)進(jìn)行追蹤。
3.2.4 模型層
輔助建模軟件的模型層包括數(shù)據(jù)模型和機(jī)理模型?;诰垲?、分類、回歸等算法對(duì)數(shù)據(jù)進(jìn)行處理所輸出的模型即數(shù)據(jù)模型:聚類模型是聚類分析得到的類簇信息,包括類簇的中心、半徑及其標(biāo)記;分類模型是通過(guò)分類算法處理得到的模型,如決策樹(Decision Tree,DT)分類模型、支持向量機(jī)(Support Vector Machine,SVM)分類模型、淺層神經(jīng)網(wǎng)絡(luò)(Neural Network,NN)分類模型、卷積神經(jīng)網(wǎng)絡(luò)CNN分類模型等;回歸模型是通過(guò)回歸算法得到的模型,如線性回歸(Linear Regression,LNR)模型、非線性回歸(Nonlinear Regression,NLR)模型、關(guān)聯(lián)向量回歸(Relevance Vector Regression,RVR)模型、序列到序列LSTM回歸模型等。在“+models”下建立ModelLearned路徑,將訓(xùn)練好的模型保存在該路徑下,也可導(dǎo)出為標(biāo)準(zhǔn)數(shù)據(jù)格式的文件用于其他分析軟件或平臺(tái)。
與有效載荷產(chǎn)品層級(jí)一一對(duì)應(yīng),構(gòu)建故障診斷和預(yù)測(cè)的機(jī)理模型。以有效載荷熱控系統(tǒng)為例進(jìn)行說(shuō)明,“+models”下建立“+ThermalControlSystem”二級(jí)軟件子包,所有熱控系統(tǒng)相關(guān)的模型層程序文件均放置在該路徑下。
首先,“+ThermalControlSystem”下建立@Component文件夾,在此文件夾中定義一個(gè)抽象的父類Component,在Component父類中定義熱控系統(tǒng)及其部件的通用屬性,例如名稱(Name)、設(shè)計(jì)參數(shù)(Design Param)、輸入數(shù)據(jù)(Input Data)、故障診斷和預(yù)測(cè)模型、診斷結(jié)果等屬性,其中,診斷結(jié)果屬性包含運(yùn)行模式(Opt Mode)、健康基線(Base Line)、異常檢測(cè)結(jié)果(Is Anormal)、故障模式(Fault Mode)、健康狀態(tài)(Health Status)健康指標(biāo)(Health Indices)等。
然后,構(gòu)建熱控系統(tǒng)模型子類包:@Thermal-ControlSystem、@Pumppackage、@Accumulator、@Pipeline、@Controller、@Filter、@Sensor等,涵蓋熱控的系統(tǒng)級(jí)模型和部件級(jí)模型。在子類方法中,編寫診斷模型或預(yù)測(cè)模型的建模邏輯函數(shù),該函數(shù)調(diào)用算法進(jìn)行建模,或者從已訓(xùn)練好的模型庫(kù)中導(dǎo)入模型,并對(duì)數(shù)據(jù)模型和產(chǎn)品的實(shí)際故障進(jìn)行關(guān)聯(lián)。例如,在@ThermalControlSystem子類文件夾下構(gòu)建ThermalControlSystem子類,在該子類方法中定義用于構(gòu)建熱控系統(tǒng)健康狀態(tài)識(shí)別所用聚類模型的函數(shù),該函數(shù)的主要功能是調(diào)用聚類算法(需要時(shí)增加數(shù)據(jù)清洗、預(yù)處理算法)處理輸入數(shù)據(jù),得到聚類模型,并對(duì)設(shè)定的健康狀態(tài)和類簇進(jìn)行關(guān)聯(lián)綁定。這樣,實(shí)例化ThermalControlSystem子類后,就可以通過(guò)調(diào)用相應(yīng)的方法來(lái)完成針對(duì)具體業(yè)務(wù)的建模任務(wù)。
3.2.5 應(yīng)用層
應(yīng)用層是軟件的頂層,包括主程序及下屬的異常檢測(cè)、故障診斷、健康評(píng)估、健康指標(biāo)合成、預(yù)測(cè)性分析等子程序。子程序各司其職,每個(gè)程序?qū)崿F(xiàn)自己的單一職能。根據(jù)需求和場(chǎng)景的不同,預(yù)測(cè)性維護(hù)業(yè)務(wù)可對(duì)監(jiān)測(cè)數(shù)據(jù)開(kāi)展實(shí)時(shí)分析診斷,輸出異常檢測(cè)和故障診斷結(jié)果;可在發(fā)現(xiàn)指標(biāo)異常偏離基線后,對(duì)指標(biāo)進(jìn)行預(yù)測(cè),并對(duì)可能的風(fēng)險(xiǎn)進(jìn)行預(yù)警;可定期開(kāi)展健康狀態(tài)評(píng)估;還可在健康狀態(tài)發(fā)生變化時(shí)開(kāi)展RUL預(yù)測(cè)等。建立以業(yè)務(wù)流為主線的主程序,并調(diào)用下屬各子程序,應(yīng)用層以類似于搭積木的方式靈活快速地搭建好特定的業(yè)務(wù)流程。
此外,還可開(kāi)發(fā)圖形用戶界面應(yīng)用(GUI App),便于建模人員、領(lǐng)域?qū)<议_(kāi)展離線數(shù)據(jù)分析和建模,并對(duì)后臺(tái)業(yè)務(wù)進(jìn)行可視化的操控和實(shí)時(shí)分析結(jié)果查看。
在對(duì)產(chǎn)品狀態(tài)監(jiān)測(cè)數(shù)據(jù)進(jìn)行處理時(shí),經(jīng)常會(huì)遇到需要對(duì)數(shù)據(jù)施加不同算法的情形。聚類(Clustering)分析常用來(lái)識(shí)別設(shè)備的工作狀態(tài),聚類算法有很多種,如Kmeans、Hierarchical Clustering(HC)、SOM(Self Organizing Map)等。在用聚類算法進(jìn)行建模時(shí),需要對(duì)比不同的算法,每種算法下面又有不同的算法參數(shù)需要設(shè)置。通過(guò)策略模式能將算法封裝起來(lái),用戶可方便地選擇或替換算法,而算法也獨(dú)立于數(shù)據(jù)。圖5為采用策略模式開(kāi)發(fā)聚類算法的統(tǒng)一建模語(yǔ)言(Unified Modeling Language,UML)圖。
圖5 策略模式分離算法和數(shù)據(jù)Fig.5 Separation between algorithm and data based on strategy pattern
各類之間通過(guò)如下的機(jī)制進(jìn)行協(xié)作,以實(shí)現(xiàn)數(shù)據(jù)和算法的分離:
1)在PayloadDataSinglePro類對(duì)象中存放數(shù)據(jù),而在Clusteringer子類對(duì)象中存放算法,PayloadDataSinglePro類的屬性strategyObj指向具體的Clusteringer子類對(duì)象,可以對(duì)該屬性的重新賦值來(lái)自由地更換算法;
2)PayloadDataSinglePro類對(duì)象把對(duì)具體的數(shù)據(jù)處理請(qǐng)求轉(zhuǎn)交給Clusteringer子類對(duì)象;
3)當(dāng)轉(zhuǎn)交計(jì)算請(qǐng)求時(shí),PayloadDataSinglePro類對(duì)象把自己作為一個(gè)參數(shù)傳遞給Clusteringer子類對(duì)象方法中action函數(shù),從而使得子類對(duì)象擁有了計(jì)算所需要的數(shù)據(jù)。
當(dāng)需要采用2個(gè)或2個(gè)以上算法串接來(lái)處理設(shè)備監(jiān)測(cè)數(shù)據(jù)時(shí),就需要構(gòu)造一種既符合數(shù)據(jù)處理流程邏輯,又可靈活配置算法的數(shù)據(jù)處理模板。不論數(shù)據(jù)如何變化,也不論數(shù)據(jù)處理流程如何改變,封裝好的算法類始終保持不變,只是每次處理所選的算法和算法組織順序有所不同。
采用多算法來(lái)處理數(shù)據(jù)有一套固定的流程,全流程處理遵循數(shù)據(jù)清洗、數(shù)據(jù)預(yù)處理、機(jī)器學(xué)習(xí)3個(gè)骨干步驟,這3個(gè)骨干步驟是不能顛倒順序的。另外根據(jù)數(shù)據(jù)處理目標(biāo)的不同,數(shù)據(jù)處理流程有以下6種模板:①僅選擇數(shù)據(jù)清洗步驟中的多個(gè)算法;②僅選擇數(shù)據(jù)預(yù)處理步驟中的多個(gè)算法;③選擇跨數(shù)據(jù)清洗、數(shù)據(jù)預(yù)處理2個(gè)步驟中的多個(gè)算法;④選擇跨數(shù)據(jù)清洗、機(jī)器學(xué)習(xí)2個(gè)步驟中的多個(gè)算法;⑤選擇數(shù)據(jù)預(yù)處理、機(jī)器學(xué)習(xí)2個(gè)步驟中的多個(gè)算法;⑥選擇跨3個(gè)骨干步驟中的算法。這里假定機(jī)器學(xué)習(xí)算法一次處理只采用1種算法。
首先設(shè)計(jì)一個(gè)數(shù)據(jù)處理基類PayloadDataPro,將固定的處理步驟封裝在PayloadDataPro的templateMethod方法中,然后設(shè)計(jì)6個(gè)數(shù)據(jù)處理子類PdConcretePro1~PdConcretePro6,與上述6種數(shù)據(jù)處理模板一一對(duì)應(yīng)。為子類能夠自由選擇算法,在PayloadDataPro的屬性中定義strategyObj,使得基類擁有策略對(duì)象,以聚類算法Clusteringer為例,該設(shè)計(jì)的UML如圖6所示。PayloadDataPro類中的templateMethod要聲明成封裝的方法(Sealed),在基類中約定固定的數(shù)據(jù)處理流程,保證子類不會(huì)違反順序,3個(gè)骨干步驟的方法要聲明成抽象(Abstract)和訪問(wèn)受保護(hù)(Access=protected),以此固定接口且強(qiáng)制要求子類必須實(shí)現(xiàn)相應(yīng)骨干步驟。PdConcretePro子類實(shí)現(xiàn)3個(gè)骨干步驟具體數(shù)據(jù)處理流程,方法聲明為protected,以保證這些方法只能被內(nèi)部的方法templateMethod調(diào)用。
圖6 結(jié)合策略模式與模板模式構(gòu)建有效載荷數(shù)據(jù)處理流Fig.6 Payload data processing flow constructed by strategy pattern and template pattern
采用公開(kāi)的燃料電池耐久性試驗(yàn)數(shù)據(jù)來(lái)測(cè)試自動(dòng)輔助建模軟件的可用性,電池堆的總輸出電壓Utot反映設(shè)備的性能或健康狀態(tài),隨著時(shí)間積累,Utot呈現(xiàn)下降的趨勢(shì),燃料電池性能逐漸退化。主要開(kāi)展以下2方面的測(cè)試:①對(duì)比KMeans算法和HCClustering算法,測(cè)試算法更換和調(diào)參模式;②先采用MidFilter中值濾波算法進(jìn)行數(shù)據(jù)清洗,后采用Kmeans或HC聚類算法進(jìn)行聚類,檢驗(yàn)數(shù)據(jù)處理流程的設(shè)計(jì)。
采用4.1、4.2節(jié)中的開(kāi)發(fā)策略,開(kāi)發(fā)出算法類、數(shù)據(jù)處理類等程序,然后編寫相應(yīng)的測(cè)試腳本,對(duì)電池?cái)?shù)據(jù)進(jìn)行建模分析。以MidFilter+HC為例進(jìn)行說(shuō)明,如表2所示。
表2 數(shù)據(jù)分析與建模測(cè)試腳本Table 2 Testing script for data analysis and modeling
在執(zhí)行聚類分析時(shí),程序自動(dòng)讀取參數(shù)設(shè)置文件,實(shí)現(xiàn)不同參數(shù)下的模型訓(xùn)練,當(dāng)需要更改算法時(shí),只需要對(duì)測(cè)試腳本做簡(jiǎn)單的更改即可,例如將聚類算法改成Kmeans算法,將表2程序的第4行改為mlStrategy=MachineLearning.KMClustering()即可。
評(píng)分采取Calinski-Harabasz(CH)準(zhǔn)則,CH指標(biāo)通過(guò)計(jì)算類中各點(diǎn)與類中心的距離平方和來(lái)度量類內(nèi)的緊密度,通過(guò)計(jì)算各類中心點(diǎn)與數(shù)據(jù)集中心點(diǎn)距離平方和來(lái)度量數(shù)據(jù)集的分離度,CH指標(biāo)由分離度與緊密度的比值得到。CH越大代表著類自身越緊密,類與類之間越分散,即更優(yōu)的聚類結(jié)果。
表3展示了聚類分析不同算法或算法組合和不同參數(shù)設(shè)置下的評(píng)分,其中采用中值濾波加Kmeans且分類數(shù)為4時(shí)得到的聚類模型最佳。
表3 聚類分析評(píng)分結(jié)果Table 3 Scores of data clustering with different algorithms
本文提出了一種可行的預(yù)測(cè)性維護(hù)支持系統(tǒng)框架,設(shè)計(jì)了自動(dòng)輔助建模軟件架構(gòu),并進(jìn)行了基礎(chǔ)開(kāi)發(fā),解決了相關(guān)算法、模型和業(yè)務(wù)程序開(kāi)發(fā)缺少統(tǒng)一標(biāo)準(zhǔn)的問(wèn)題。已開(kāi)發(fā)出算法庫(kù),建模人員無(wú)需重復(fù)編寫算法代碼即可快速完成常見(jiàn)數(shù)據(jù)驅(qū)動(dòng)故障診斷和預(yù)測(cè)建模工作,能提高大量數(shù)據(jù)處理和建模時(shí)的效率。此外,通過(guò)外部接口定義和接口程序,自動(dòng)輔助建模軟件易于部署,與系統(tǒng)其他模塊的集成也十分便利。