石慶峰,梁 君,郎鵬飛,李 然,李艷美
(中國運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
基于拜占庭故障模式的空天飛行器GNC系統(tǒng)架構(gòu)研究
石慶峰,梁 君,郎鵬飛,李 然,李艷美
(中國運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
針對空天飛行器對GNC系統(tǒng)的高可靠性需求,開展了基于拜占庭故障模式的GNC系統(tǒng)架構(gòu)研究,采用四機(jī)三總線架構(gòu)設(shè)計(jì)方案,通過系統(tǒng)內(nèi)總線實(shí)現(xiàn)輸入數(shù)據(jù)及輸出數(shù)據(jù)多機(jī)冗余比對,防止拜占庭故障的發(fā)生,提升了系統(tǒng)可靠性,實(shí)現(xiàn)了系統(tǒng)自檢測和故障的準(zhǔn)確定位及隔離,并具有在線故障診斷、故障自修復(fù)功能,同時解決了高動態(tài)、強(qiáng)干擾環(huán)境下系統(tǒng)自主性較差的問題,提升了GNC系統(tǒng)可靠性和容錯性;經(jīng)分析,該系統(tǒng)架構(gòu)能夠滿足空天飛行器在軌、再入復(fù)雜任務(wù)需求。
空天飛行器 ;拜占庭故障;GNC系統(tǒng);容錯設(shè)計(jì)
空天飛行器是實(shí)現(xiàn)“快速、機(jī)動、廉價、可靠”進(jìn)出空間的重要途徑,具備可重復(fù)使用、長期在軌運(yùn)行和快速應(yīng)急響應(yīng)等特點(diǎn)。是一個涉及多學(xué)科、多領(lǐng)域技術(shù)的大型復(fù)雜系統(tǒng)。飛行器在軌飛行和再入返回面臨惡劣復(fù)雜的空間環(huán)境,加之我國在空天飛行器的研制方面還缺少充分的工程經(jīng)驗(yàn),且元器件、原材料和加工水平與國外還有一定差距,在軌段與再入段發(fā)生故障的可能性較大,美國航空航天局(NASA)哥達(dá)德空間飛行中心對1990年至2001年間全世界主要國家和地區(qū)發(fā)射的764顆航天器進(jìn)行了故障統(tǒng)計(jì),有35顆發(fā)生了GNC系統(tǒng)故障,而這35顆中有13顆全失效,占發(fā)生GNC系統(tǒng)故障航天器數(shù)的37 %[1]。GNC系統(tǒng)作為飛行器的核心控制系統(tǒng),其可靠性直接影響著整個飛行任務(wù)的成敗。美國在X-37B、“全球鷹”無人機(jī)等飛行器的控制系統(tǒng)上均采用了系統(tǒng)容錯和重構(gòu)技術(shù);因此,為了確保飛行器可靠運(yùn)行,必須提高GNC系統(tǒng)的可靠性,確保在故障發(fā)生后,能夠及時檢測故障和準(zhǔn)確定位故障源,從而采取重構(gòu)措施使故障影響降至最低,因此故障情況下的重構(gòu)控制設(shè)計(jì)將大大提高任務(wù)成功的概率。
在航天器多余度系統(tǒng)設(shè)計(jì)方面,國際上有多種不同的方法和理論,應(yīng)對的問題和情況也各不相同??仗祜w行屬于高性能、高可靠、高安全的任務(wù),飛行器有較強(qiáng)的資源限制條件,因此在多余度體系結(jié)構(gòu)和系統(tǒng)詳細(xì)設(shè)計(jì)方面應(yīng)綜合考慮各方因素。提高系統(tǒng)可靠性目前主要有兩種措施,一是“避錯”設(shè)計(jì),即在方案設(shè)計(jì)階段就要保證系統(tǒng)無缺陷、無故障發(fā)生,該方法實(shí)際上是要求系統(tǒng)完美無暇,不能出現(xiàn)絕對的差錯,從系統(tǒng)研制的角度來看該設(shè)計(jì)理念是一種理想行為,按照該方法不僅系統(tǒng)研制代價巨大,而且系統(tǒng)出故障概率為零也不現(xiàn)實(shí)。再一種設(shè)計(jì)方法就是“容錯”設(shè)計(jì),顧名思義就是即使系統(tǒng)出現(xiàn)故障,但因自身具備強(qiáng)大的容錯能力,也能保證系統(tǒng)功能不受影響。可見系統(tǒng)容錯設(shè)計(jì)是航天器應(yīng)對故障問題最有效的措施。
在系統(tǒng)級故障容錯方面,由于空天飛行器需要進(jìn)行高超聲速大氣層返回再入和機(jī)場著陸任務(wù),因此要求GNC系統(tǒng)在多重故障情況下仍然可以正常連續(xù)工作,以保證飛行器關(guān)鍵任務(wù)安全。在系統(tǒng)級自動重構(gòu)方面,目前國際上有幾種典型的系統(tǒng)重構(gòu)策略,如美國噴氣推進(jìn)實(shí)驗(yàn)室研制成功的STAR容錯計(jì)算機(jī),通過采用冗余技術(shù),其可靠性比單一計(jì)算機(jī)高幾十倍,可以對系統(tǒng)出現(xiàn)的各種瞬時、永久、隨機(jī)和災(zāi)難性的故障實(shí)現(xiàn)容錯。如國際空間站主要應(yīng)對長期在軌和有人值守的飛行任務(wù)情況,優(yōu)先保證系統(tǒng)長期工作可靠性,并可以通過人工維修和更換使系統(tǒng)二次重構(gòu),恢復(fù)系統(tǒng)因偶然故障失去的可靠性冗余;X-37主要考慮高速再入時系統(tǒng)的快速重構(gòu)能力,保證系統(tǒng)在發(fā)生故障時可以無縫切換為新的構(gòu)型,并保證飛行任務(wù)安全。
在國內(nèi),提高飛行器可靠性的主要手段大多基于“三取二表決機(jī)制”。即GNC系統(tǒng)采用三冗余設(shè)計(jì)方案,該方案雖然在一定程度上達(dá)到了容錯目的,但該容錯機(jī)制在系統(tǒng)出現(xiàn)兩度故障后將失效,系統(tǒng)容錯能力不足。對于空天飛行器來說,高動態(tài)連續(xù)工作和長期在軌都要求系統(tǒng)具有很高的可靠性,且具備應(yīng)對多重故障的能力,為了保證系統(tǒng)在兩度故障模式下還仍具備容錯能力,容錯方案設(shè)計(jì)中必須考慮拜占庭故障模式。根據(jù)文獻(xiàn)[2]的證明,若要解決一重拜占庭故障,則需要至少4個計(jì)算機(jī)同時工作。
拜占庭問題的最初描述是:n個將軍被分隔在不同地方,忠誠的將軍希望通過某種協(xié)議達(dá)成某個命令的一致,但其中一些背叛的將軍會通過發(fā)送錯誤的消息阻撓忠誠的將軍達(dá)成命令上的一致,拜占庭問題就此形成。美國計(jì)算機(jī)學(xué)家萊斯利·蘭伯特(Leslie Lamport)[3]證明了在將軍總數(shù)大于3n,背叛者為n個或更少時,忠誠的將軍可以達(dá)成命令上的一致。
從工程的角度來說,一個可靠的系統(tǒng)必須能夠應(yīng)對多重故障模式,發(fā)生故障的部件可能會向系統(tǒng)中不同的對象發(fā)送相互矛盾的信息,該類故障便可以抽象為拜占庭將軍問題。在三模冗余系統(tǒng)中,拜占庭將軍問題可簡化為圖1。
圖1 三模冗余模式下的拜占庭問題
3.1 總體設(shè)計(jì)思路
(1)采用四機(jī)冗余及容錯設(shè)計(jì),以最少部件實(shí)現(xiàn)最大冗余,以最少接口實(shí)現(xiàn)全周期GNC功能,增強(qiáng)接口匹配能力,減少接口之間的測試、協(xié)調(diào);
(2)通過系統(tǒng)內(nèi)總線實(shí)現(xiàn)輸入數(shù)據(jù)及輸出數(shù)據(jù)多機(jī)冗余比對,防止拜占庭故障的發(fā)生,提升系統(tǒng)可靠性,當(dāng)某一模塊故障后,能夠?qū)崿F(xiàn)自主檢測、準(zhǔn)確定位。
3.2 系統(tǒng)方案設(shè)計(jì)
3.2.1 架構(gòu)設(shè)計(jì)
空天飛行器GNC系統(tǒng)采用四機(jī)三總線架構(gòu),四個控制模塊和三條總線的結(jié)構(gòu)實(shí)現(xiàn)了飛行器安全和高可靠運(yùn)行。三條1553B總線,完成導(dǎo)航信息及控制指令的傳輸,實(shí)現(xiàn)飛控計(jì)算機(jī)與敏感器及執(zhí)行機(jī)構(gòu)的信息交互;采用四機(jī)冗余的飛控計(jì)算機(jī)進(jìn)行全系統(tǒng)導(dǎo)航信息處理及制導(dǎo)控制指令的發(fā)出;采用雙冗余或三冗余敏感器完成航天器全任務(wù)段信息采集;采用三冗余執(zhí)行機(jī)構(gòu)來執(zhí)行飛控計(jì)算機(jī)發(fā)出的控制指令,架構(gòu)設(shè)計(jì)示意圖如圖2所示。
圖2 空天飛行器GNC系統(tǒng)架構(gòu)示意圖
飛控計(jì)算機(jī)包括A、B、C、D四個相同的控制模塊(即四備份冗余設(shè)計(jì))和仲裁模塊;飛控計(jì)算機(jī)的A、B和C三個控制模塊分別作為BC(總線控制器)管理GNC系統(tǒng)的三條1553B總線,D計(jì)算機(jī)處于溫備份狀態(tài)。A、B和C三個控制模塊中的任意一個模塊出現(xiàn)故障,D控制模塊能夠替代故障控制模塊作為BC管理故障模塊管理的1553B總線。
3.2.2 容錯設(shè)計(jì)
飛控計(jì)算機(jī)的A、B和C三個控制模塊分別接收通過對應(yīng)1553B總線傳輸?shù)拿舾衅餍畔?,D控制模塊接收三條1553B總線傳輸?shù)乃袛?shù)據(jù),A、B、C和D控制模塊將各自接收到的1553B總線傳輸?shù)臄?shù)據(jù)進(jìn)行兩兩之間的信息交互,并將各自接收到的數(shù)據(jù)發(fā)送至仲裁模塊(該模塊對A、B、C和D控制模塊進(jìn)行仲裁,不接收輸入信息,也不輸出指令,避免外接口對模塊的干擾,可靠性更高);A、B、C、D四個控制模塊和仲裁模塊分別將交互后各自包含的系統(tǒng)信息進(jìn)行處理,得到飛行器的實(shí)時位置、姿態(tài)、軌道信息,并各自結(jié)合執(zhí)行機(jī)構(gòu)狀態(tài)計(jì)算出控制指令,然后將各自形成的控制指令進(jìn)行兩兩之間的指令交互,各控制模塊將交互完后包含的指令進(jìn)行表決并通過1553B總線輸出最終的控制指令給執(zhí)行機(jī)構(gòu);同時通過指令表決的方式判斷是否存在故障模塊,并將故障模塊進(jìn)行隔離。數(shù)據(jù)交互比對具體說明如下:
(1)輸入比對:各模塊分別接收GNC系統(tǒng)1553B總線上的數(shù)據(jù),把1553B總線數(shù)據(jù)轉(zhuǎn)換成飛控計(jì)算機(jī)內(nèi)總線數(shù)據(jù),通過內(nèi)總線傳遞給仲裁模塊進(jìn)行輸入數(shù)據(jù)交換;
(2)輸出比對:飛控計(jì)算機(jī)各模塊通過內(nèi)總線接收仲裁模塊經(jīng)過表決的輸出數(shù)據(jù),并轉(zhuǎn)化成GNC系統(tǒng)1553B總線數(shù)據(jù),經(jīng)1553B總線輸出。
當(dāng)四冗余飛控計(jì)算機(jī)中某一模塊同其它模塊不能同步,或雖能同步但連續(xù)多次表決數(shù)據(jù)不正確以及軟件看門狗溢出,則認(rèn)為該控制模塊發(fā)生了嚴(yán)重故障,就要進(jìn)行系統(tǒng)重試,對故障模塊進(jìn)行重構(gòu)。重試時,三個正??刂颇K先將故障模塊從系統(tǒng)中切除,使系統(tǒng)降模為三模工作方式,然后將故障控制模塊復(fù)位或是再加電。
下面以一個具體例子說明飛控計(jì)算機(jī)內(nèi)A、B、C、D四個控制模塊進(jìn)行指令交互、表決和判斷故障模塊的具體實(shí)現(xiàn)方式:
假設(shè)將飛控計(jì)算機(jī)A、B、C控制模塊分別作為1553B總線1、總線2、總線3的BC,將備份的D控制模塊掛在三條總線上(能夠管理1553B總線1、總線2、總線3)。
(1)數(shù)據(jù)交換。
各控制模塊和仲裁模塊將各自形成的控制指令進(jìn)行兩兩之間的指令交互,使得每個控制模塊都會生成一個信息矩陣。舉例說明:
假定飛控計(jì)算機(jī)A控制模塊發(fā)送數(shù)據(jù)1,B控制模塊發(fā)送數(shù)據(jù)2,C控制模塊發(fā)送數(shù)據(jù)3,D控制模塊發(fā)送數(shù)據(jù)4,而B控制模塊出現(xiàn)故障。各控制模塊發(fā)送自己的數(shù)據(jù)給對方,也同時發(fā)給仲裁模塊。其中A、C、D控制模塊發(fā)送的是其真實(shí)值,而B控制模塊可能對其他機(jī)發(fā)送不同的信息。則在第1輪數(shù)據(jù)交換后每個控制模塊和仲裁模塊都會有1個所有控制模塊的信息,即:
A控制模塊[1,a,3,4],B控制模塊[1,2,3,4],C控制模塊[1,b,3,4],D控制模塊[1,c,3,4],仲裁模塊[1,d,3,4]。
各控制模塊將自己接收到的數(shù)據(jù)再向其他控制模塊轉(zhuǎn)發(fā),這樣每個控制模塊都會生成一個信息矩陣,即:
仲裁模塊
其中:a、b、c、d、e、f、g、h、r、s、t、u、v、w、x、y是B模塊向其他模塊發(fā)送的錯誤數(shù)據(jù);以A模塊為例,第一行[1,a,3,4]是1輪數(shù)據(jù)交換后A模塊的數(shù)據(jù),第一行的a是B模塊發(fā)送的,其余分別對應(yīng)著A模塊自己的數(shù)和C、D模塊的發(fā)送的數(shù)據(jù);第二輪數(shù)據(jù)交換是各模塊將各自擁有的數(shù)據(jù)發(fā)送給對方,[e、f、g、h]是B模塊發(fā)送的(因?yàn)锽模塊發(fā)送的是錯誤數(shù)據(jù),所以四個數(shù)全部是錯誤的);[1、b、3、4]、[1、c、3、4]、[1、d、3、4]分別是C、D和仲裁模塊發(fā)送的;
(2)指令表決。
各控制模塊和仲裁模塊按照少數(shù)服從多數(shù)的原則進(jìn)行表決,對信息矩陣的每一列進(jìn)行選擇,如果在某一列中的某個指令的數(shù)量大于等于三個(在表決第i列時,應(yīng)將對應(yīng)第i行數(shù)除外,該行數(shù)為自身的數(shù)據(jù)),則該指令為表決輸出的正確指令;如果某一列中不存在數(shù)量大于三個的指令,則認(rèn)為該控制模塊故障,同時如果某一列中的指令的數(shù)量小于三個,則與其對應(yīng)的控制模塊故障;
在上述例程中,通過表決得到結(jié)果如下:
A模塊:(1,UNKOWN,3,4);C模塊:(1,UNKOWN,3,4);
D模塊:(1,UNKOWN,3,4);仲裁模塊:(1,UNKOWN,3,4)。
A、C、D三機(jī)和仲裁模塊一致認(rèn)為B機(jī)發(fā)生故障,在表決B機(jī)的數(shù)據(jù)時,雖然沒有某個數(shù)占多數(shù),但各機(jī)中參與表決的4個數(shù)是一樣的,都是(a,b,c,d),那么各機(jī)表決結(jié)果也必定是一致的。至此,檢測出B機(jī)出現(xiàn)故障,并將其隔離。
(3)將步驟(2)判定故障的B控制模塊進(jìn)行隔離。
3.2.3 同步策略
飛控計(jì)算機(jī)每個控制模塊都產(chǎn)生一個用于本地的軟時鐘信號,時鐘周期可根據(jù)具體控制方案確定。軟時鐘可通過模塊中的FPGA實(shí)現(xiàn),并根據(jù)實(shí)際需求確定同步脈沖的占空比。
每個控制模塊在被復(fù)位后,都會向其他三個模塊發(fā)送一個“復(fù)位準(zhǔn)備好標(biāo)識”,表示本模塊已處于復(fù)位后待命狀態(tài)。當(dāng)每個模塊通過FPGA讀取到其它三個模塊的“復(fù)位準(zhǔn)備好標(biāo)識”后,便開始啟動運(yùn)行。這樣便實(shí)現(xiàn)了四模塊的起始同步。
由于每個模塊的軟時鐘都是基于本地鐘振產(chǎn)生,而每個鐘振之間又存在偏差,所以隨著時間的推移,通過FPGA計(jì)數(shù)器產(chǎn)生的軟時鐘之間的偏差就會越來越大,為了阻止這種偏差擴(kuò)大,將其控制在一個可容忍的范圍之內(nèi),就要定期對四個模塊的軟時鐘進(jìn)行同步。軟時鐘同步的主要內(nèi)容有三項(xiàng):首先獲得其他機(jī)器軟時鐘信息,然后根據(jù)這些信息計(jì)算得出本地時鐘與其他模塊軟時鐘之間的偏差,最后用所獲得的偏差對本地軟時鐘進(jìn)行修正。
3.2.4 突破的關(guān)鍵技術(shù)
采用基于拜占庭故障模式的系統(tǒng)架構(gòu)降低了飛行器進(jìn)出空間過程中大過載、高速、高動態(tài)環(huán)境下GNC系統(tǒng)面臨的風(fēng)險。突破了多余度快速自動重構(gòu)關(guān)鍵技術(shù)?;陉P(guān)鍵技術(shù)建立的多余度、變結(jié)構(gòu)GNC系統(tǒng)體系結(jié)構(gòu)可以滿足系統(tǒng)全任務(wù)期間系統(tǒng)容錯使用需求,且系統(tǒng)在任意一重故障下能夠正常工作,在二重故障下保飛行任務(wù)安全;系統(tǒng)自動重構(gòu)所需時間不大于一個系統(tǒng)控制周期;此外,系統(tǒng)具備自動故障恢復(fù)功能,長時間在軌運(yùn)行可靠性不受偶發(fā)故障累積影響。通過對基于拜占庭故障模式的GNC系統(tǒng)架構(gòu)進(jìn)行仿真驗(yàn)證,結(jié)果滿足可靠性要求。具體結(jié)果見表1。
表1 控制器單機(jī)故障仿真及重構(gòu)驗(yàn)證結(jié)果
基于拜占庭故障模式的架構(gòu)設(shè)計(jì)技術(shù)是改善空天飛行器GNC系統(tǒng)可靠性的有效手段,基于該技術(shù)設(shè)計(jì)的系統(tǒng)具備高可靠性、多冗余自動重構(gòu)能力,是發(fā)展“高精度、高可靠性、長壽命”GNC系統(tǒng)的關(guān)鍵技術(shù)之一。能夠滿足空天飛行器在軌、再入復(fù)雜環(huán)境下的任務(wù)要求,該設(shè)計(jì)理念可為后續(xù)同類航天器的設(shè)計(jì)提供參考 。
[1] 林來興,最近十年航天器制導(dǎo)、導(dǎo)航與控制(GNC ) 系統(tǒng)故障分析研究[J]. 控制工程,2004,(1):1-2.
[2] K PKihlstrom,L E Moser,P M Melliar-Smith.Solving Consen-sus in a Byzantine Environment Using an Unreliable Fault Detector[A].Proceedings of the International Conference on Principles of Distributed Systems(OPODIS)[C].1997.
[3] Leslie Lamport,Robert Shostak,Marshall Pease.The byzantine generals problem[J].ACM Transactions on Programming Language and Systems,1982,4(3):382-401.
GNC System Architecture Research for Aerospace Vehicle Based on Byzantine Failure mode
Shi Qingfeng,Liang Jun,Lang Pengfei,Li Ran,Li Yanmei
(R&D Center,China Academy of Launch Vehicle Technology,Beijing 100076,China)
To meet the high reliability requirement of GNC system for aerospace vehicle (ASV),developing the GNC system architecture research based on the Byzantine failure mode.This architecture is based on four computer processing modules and three MIL-1553B data buses,The comparison of the IO data through the system bus based on multi-computers redundancy.Byzantine fault is avoided,and the system reliability is improved.The GNC system has the function of fault detection ,fault location ,fault isolation and fault self-healing.The architecture solves the high dynamic and strong interference environment problems of the poor autonomy system.In addition,the system architechture can meet On-orbit and Reentry requirements.
aerospace vehicle;Byzantine fault;GNC system;fault tolerance design
2016-10-26;
2016-12-15。
石慶峰(1975-),男,山東臨沂人,碩士研究生,高級工程師,主要從事導(dǎo)航、制導(dǎo)與控制方向的研究。
1671-4598(2017)05-0029-03DOI:10.16526/j.cnki.11-4762/tp
TM
A