石慶峰,梁 君,郎鵬飛,李 然,李艷美
(中國(guó)運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
基于拜占庭故障模式的空天飛行器GNC系統(tǒng)架構(gòu)研究
石慶峰,梁 君,郎鵬飛,李 然,李艷美
(中國(guó)運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
針對(duì)空天飛行器對(duì)GNC系統(tǒng)的高可靠性需求,開(kāi)展了基于拜占庭故障模式的GNC系統(tǒng)架構(gòu)研究,采用四機(jī)三總線架構(gòu)設(shè)計(jì)方案,通過(guò)系統(tǒng)內(nèi)總線實(shí)現(xiàn)輸入數(shù)據(jù)及輸出數(shù)據(jù)多機(jī)冗余比對(duì),防止拜占庭故障的發(fā)生,提升了系統(tǒng)可靠性,實(shí)現(xiàn)了系統(tǒng)自檢測(cè)和故障的準(zhǔn)確定位及隔離,并具有在線故障診斷、故障自修復(fù)功能,同時(shí)解決了高動(dòng)態(tài)、強(qiáng)干擾環(huán)境下系統(tǒng)自主性較差的問(wèn)題,提升了GNC系統(tǒng)可靠性和容錯(cuò)性;經(jīng)分析,該系統(tǒng)架構(gòu)能夠滿足空天飛行器在軌、再入復(fù)雜任務(wù)需求。
空天飛行器 ;拜占庭故障;GNC系統(tǒng);容錯(cuò)設(shè)計(jì)
空天飛行器是實(shí)現(xiàn)“快速、機(jī)動(dòng)、廉價(jià)、可靠”進(jìn)出空間的重要途徑,具備可重復(fù)使用、長(zhǎng)期在軌運(yùn)行和快速應(yīng)急響應(yīng)等特點(diǎn)。是一個(gè)涉及多學(xué)科、多領(lǐng)域技術(shù)的大型復(fù)雜系統(tǒng)。飛行器在軌飛行和再入返回面臨惡劣復(fù)雜的空間環(huán)境,加之我國(guó)在空天飛行器的研制方面還缺少充分的工程經(jīng)驗(yàn),且元器件、原材料和加工水平與國(guó)外還有一定差距,在軌段與再入段發(fā)生故障的可能性較大,美國(guó)航空航天局(NASA)哥達(dá)德空間飛行中心對(duì)1990年至2001年間全世界主要國(guó)家和地區(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),其可靠性直接影響著整個(gè)飛行任務(wù)的成敗。美國(guó)在X-37B、“全球鷹”無(wú)人機(jī)等飛行器的控制系統(tǒng)上均采用了系統(tǒng)容錯(cuò)和重構(gòu)技術(shù);因此,為了確保飛行器可靠運(yùn)行,必須提高GNC系統(tǒng)的可靠性,確保在故障發(fā)生后,能夠及時(shí)檢測(cè)故障和準(zhǔn)確定位故障源,從而采取重構(gòu)措施使故障影響降至最低,因此故障情況下的重構(gòu)控制設(shè)計(jì)將大大提高任務(wù)成功的概率。
在航天器多余度系統(tǒng)設(shè)計(jì)方面,國(guó)際上有多種不同的方法和理論,應(yīng)對(duì)的問(wèn)題和情況也各不相同??仗祜w行屬于高性能、高可靠、高安全的任務(wù),飛行器有較強(qiáng)的資源限制條件,因此在多余度體系結(jié)構(gòu)和系統(tǒng)詳細(xì)設(shè)計(jì)方面應(yīng)綜合考慮各方因素。提高系統(tǒng)可靠性目前主要有兩種措施,一是“避錯(cuò)”設(shè)計(jì),即在方案設(shè)計(jì)階段就要保證系統(tǒng)無(wú)缺陷、無(wú)故障發(fā)生,該方法實(shí)際上是要求系統(tǒng)完美無(wú)暇,不能出現(xiàn)絕對(duì)的差錯(cuò),從系統(tǒng)研制的角度來(lái)看該設(shè)計(jì)理念是一種理想行為,按照該方法不僅系統(tǒng)研制代價(jià)巨大,而且系統(tǒng)出故障概率為零也不現(xiàn)實(shí)。再一種設(shè)計(jì)方法就是“容錯(cuò)”設(shè)計(jì),顧名思義就是即使系統(tǒng)出現(xiàn)故障,但因自身具備強(qiáng)大的容錯(cuò)能力,也能保證系統(tǒng)功能不受影響??梢?jiàn)系統(tǒng)容錯(cuò)設(shè)計(jì)是航天器應(yīng)對(duì)故障問(wèn)題最有效的措施。
在系統(tǒng)級(jí)故障容錯(cuò)方面,由于空天飛行器需要進(jìn)行高超聲速大氣層返回再入和機(jī)場(chǎng)著陸任務(wù),因此要求GNC系統(tǒng)在多重故障情況下仍然可以正常連續(xù)工作,以保證飛行器關(guān)鍵任務(wù)安全。在系統(tǒng)級(jí)自動(dòng)重構(gòu)方面,目前國(guó)際上有幾種典型的系統(tǒng)重構(gòu)策略,如美國(guó)噴氣推進(jìn)實(shí)驗(yàn)室研制成功的STAR容錯(cuò)計(jì)算機(jī),通過(guò)采用冗余技術(shù),其可靠性比單一計(jì)算機(jī)高幾十倍,可以對(duì)系統(tǒng)出現(xiàn)的各種瞬時(shí)、永久、隨機(jī)和災(zāi)難性的故障實(shí)現(xiàn)容錯(cuò)。如國(guó)際空間站主要應(yīng)對(duì)長(zhǎng)期在軌和有人值守的飛行任務(wù)情況,優(yōu)先保證系統(tǒng)長(zhǎng)期工作可靠性,并可以通過(guò)人工維修和更換使系統(tǒng)二次重構(gòu),恢復(fù)系統(tǒng)因偶然故障失去的可靠性冗余;X-37主要考慮高速再入時(shí)系統(tǒng)的快速重構(gòu)能力,保證系統(tǒng)在發(fā)生故障時(shí)可以無(wú)縫切換為新的構(gòu)型,并保證飛行任務(wù)安全。
在國(guó)內(nèi),提高飛行器可靠性的主要手段大多基于“三取二表決機(jī)制”。即GNC系統(tǒng)采用三冗余設(shè)計(jì)方案,該方案雖然在一定程度上達(dá)到了容錯(cuò)目的,但該容錯(cuò)機(jī)制在系統(tǒng)出現(xiàn)兩度故障后將失效,系統(tǒng)容錯(cuò)能力不足。對(duì)于空天飛行器來(lái)說(shuō),高動(dòng)態(tài)連續(xù)工作和長(zhǎng)期在軌都要求系統(tǒng)具有很高的可靠性,且具備應(yīng)對(duì)多重故障的能力,為了保證系統(tǒng)在兩度故障模式下還仍具備容錯(cuò)能力,容錯(cuò)方案設(shè)計(jì)中必須考慮拜占庭故障模式。根據(jù)文獻(xiàn)[2]的證明,若要解決一重拜占庭故障,則需要至少4個(gè)計(jì)算機(jī)同時(shí)工作。
拜占庭問(wèn)題的最初描述是:n個(gè)將軍被分隔在不同地方,忠誠(chéng)的將軍希望通過(guò)某種協(xié)議達(dá)成某個(gè)命令的一致,但其中一些背叛的將軍會(huì)通過(guò)發(fā)送錯(cuò)誤的消息阻撓忠誠(chéng)的將軍達(dá)成命令上的一致,拜占庭問(wèn)題就此形成。美國(guó)計(jì)算機(jī)學(xué)家萊斯利·蘭伯特(Leslie Lamport)[3]證明了在將軍總數(shù)大于3n,背叛者為n個(gè)或更少時(shí),忠誠(chéng)的將軍可以達(dá)成命令上的一致。
從工程的角度來(lái)說(shuō),一個(gè)可靠的系統(tǒng)必須能夠應(yīng)對(duì)多重故障模式,發(fā)生故障的部件可能會(huì)向系統(tǒng)中不同的對(duì)象發(fā)送相互矛盾的信息,該類故障便可以抽象為拜占庭將軍問(wèn)題。在三模冗余系統(tǒng)中,拜占庭將軍問(wèn)題可簡(jiǎn)化為圖1。
圖1 三模冗余模式下的拜占庭問(wèn)題
3.1 總體設(shè)計(jì)思路
(1)采用四機(jī)冗余及容錯(cuò)設(shè)計(jì),以最少部件實(shí)現(xiàn)最大冗余,以最少接口實(shí)現(xiàn)全周期GNC功能,增強(qiáng)接口匹配能力,減少接口之間的測(cè)試、協(xié)調(diào);
(2)通過(guò)系統(tǒng)內(nèi)總線實(shí)現(xiàn)輸入數(shù)據(jù)及輸出數(shù)據(jù)多機(jī)冗余比對(duì),防止拜占庭故障的發(fā)生,提升系統(tǒng)可靠性,當(dāng)某一模塊故障后,能夠?qū)崿F(xiàn)自主檢測(cè)、準(zhǔn)確定位。
3.2 系統(tǒng)方案設(shè)計(jì)
3.2.1 架構(gòu)設(shè)計(jì)
空天飛行器GNC系統(tǒng)采用四機(jī)三總線架構(gòu),四個(gè)控制模塊和三條總線的結(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)來(lái)執(zhí)行飛控計(jì)算機(jī)發(fā)出的控制指令,架構(gòu)設(shè)計(jì)示意圖如圖2所示。
圖2 空天飛行器GNC系統(tǒng)架構(gòu)示意圖
飛控計(jì)算機(jī)包括A、B、C、D四個(gè)相同的控制模塊(即四備份冗余設(shè)計(jì))和仲裁模塊;飛控計(jì)算機(jī)的A、B和C三個(gè)控制模塊分別作為BC(總線控制器)管理GNC系統(tǒng)的三條1553B總線,D計(jì)算機(jī)處于溫備份狀態(tài)。A、B和C三個(gè)控制模塊中的任意一個(gè)模塊出現(xiàn)故障,D控制模塊能夠替代故障控制模塊作為BC管理故障模塊管理的1553B總線。
3.2.2 容錯(cuò)設(shè)計(jì)
飛控計(jì)算機(jī)的A、B和C三個(gè)控制模塊分別接收通過(guò)對(duì)應(yīng)1553B總線傳輸?shù)拿舾衅餍畔?,D控制模塊接收三條1553B總線傳輸?shù)乃袛?shù)據(jù),A、B、C和D控制模塊將各自接收到的1553B總線傳輸?shù)臄?shù)據(jù)進(jìn)行兩兩之間的信息交互,并將各自接收到的數(shù)據(jù)發(fā)送至仲裁模塊(該模塊對(duì)A、B、C和D控制模塊進(jìn)行仲裁,不接收輸入信息,也不輸出指令,避免外接口對(duì)模塊的干擾,可靠性更高);A、B、C、D四個(gè)控制模塊和仲裁模塊分別將交互后各自包含的系統(tǒng)信息進(jìn)行處理,得到飛行器的實(shí)時(shí)位置、姿態(tài)、軌道信息,并各自結(jié)合執(zhí)行機(jī)構(gòu)狀態(tài)計(jì)算出控制指令,然后將各自形成的控制指令進(jìn)行兩兩之間的指令交互,各控制模塊將交互完后包含的指令進(jìn)行表決并通過(guò)1553B總線輸出最終的控制指令給執(zhí)行機(jī)構(gòu);同時(shí)通過(guò)指令表決的方式判斷是否存在故障模塊,并將故障模塊進(jìn)行隔離。數(shù)據(jù)交互比對(duì)具體說(shuō)明如下:
(1)輸入比對(duì):各模塊分別接收GNC系統(tǒng)1553B總線上的數(shù)據(jù),把1553B總線數(shù)據(jù)轉(zhuǎn)換成飛控計(jì)算機(jī)內(nèi)總線數(shù)據(jù),通過(guò)內(nèi)總線傳遞給仲裁模塊進(jìn)行輸入數(shù)據(jù)交換;
(2)輸出比對(duì):飛控計(jì)算機(jī)各模塊通過(guò)內(nèi)總線接收仲裁模塊經(jīng)過(guò)表決的輸出數(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)重試,對(duì)故障模塊進(jìn)行重構(gòu)。重試時(shí),三個(gè)正??刂颇K先將故障模塊從系統(tǒng)中切除,使系統(tǒng)降模為三模工作方式,然后將故障控制模塊復(fù)位或是再加電。
下面以一個(gè)具體例子說(shuō)明飛控計(jì)算機(jī)內(nèi)A、B、C、D四個(gè)控制模塊進(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)行兩兩之間的指令交互,使得每個(gè)控制模塊都會(huì)生成一個(gè)信息矩陣。舉例說(shuō)明:
假定飛控計(jì)算機(jī)A控制模塊發(fā)送數(shù)據(jù)1,B控制模塊發(fā)送數(shù)據(jù)2,C控制模塊發(fā)送數(shù)據(jù)3,D控制模塊發(fā)送數(shù)據(jù)4,而B(niǎo)控制模塊出現(xiàn)故障。各控制模塊發(fā)送自己的數(shù)據(jù)給對(duì)方,也同時(shí)發(fā)給仲裁模塊。其中A、C、D控制模塊發(fā)送的是其真實(shí)值,而B(niǎo)控制模塊可能對(duì)其他機(jī)發(fā)送不同的信息。則在第1輪數(shù)據(jù)交換后每個(gè)控制模塊和仲裁模塊都會(huì)有1個(gè)所有控制模塊的信息,即:
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ā),這樣每個(gè)控制模塊都會(huì)生成一個(gè)信息矩陣,即:
仲裁模塊
其中:a、b、c、d、e、f、g、h、r、s、t、u、v、w、x、y是B模塊向其他模塊發(fā)送的錯(cuò)誤數(shù)據(jù);以A模塊為例,第一行[1,a,3,4]是1輪數(shù)據(jù)交換后A模塊的數(shù)據(jù),第一行的a是B模塊發(fā)送的,其余分別對(duì)應(yīng)著A模塊自己的數(shù)和C、D模塊的發(fā)送的數(shù)據(jù);第二輪數(shù)據(jù)交換是各模塊將各自擁有的數(shù)據(jù)發(fā)送給對(duì)方,[e、f、g、h]是B模塊發(fā)送的(因?yàn)锽模塊發(fā)送的是錯(cuò)誤數(shù)據(jù),所以四個(gè)數(shù)全部是錯(cuò)誤的);[1、b、3、4]、[1、c、3、4]、[1、d、3、4]分別是C、D和仲裁模塊發(fā)送的;
(2)指令表決。
各控制模塊和仲裁模塊按照少數(shù)服從多數(shù)的原則進(jìn)行表決,對(duì)信息矩陣的每一列進(jìn)行選擇,如果在某一列中的某個(gè)指令的數(shù)量大于等于三個(gè)(在表決第i列時(shí),應(yīng)將對(duì)應(yīng)第i行數(shù)除外,該行數(shù)為自身的數(shù)據(jù)),則該指令為表決輸出的正確指令;如果某一列中不存在數(shù)量大于三個(gè)的指令,則認(rèn)為該控制模塊故障,同時(shí)如果某一列中的指令的數(shù)量小于三個(gè),則與其對(duì)應(yīng)的控制模塊故障;
在上述例程中,通過(guò)表決得到結(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í),雖然沒(méi)有某個(gè)數(shù)占多數(shù),但各機(jī)中參與表決的4個(gè)數(shù)是一樣的,都是(a,b,c,d),那么各機(jī)表決結(jié)果也必定是一致的。至此,檢測(cè)出B機(jī)出現(xiàn)故障,并將其隔離。
(3)將步驟(2)判定故障的B控制模塊進(jìn)行隔離。
3.2.3 同步策略
飛控計(jì)算機(jī)每個(gè)控制模塊都產(chǎn)生一個(gè)用于本地的軟時(shí)鐘信號(hào),時(shí)鐘周期可根據(jù)具體控制方案確定。軟時(shí)鐘可通過(guò)模塊中的FPGA實(shí)現(xiàn),并根據(jù)實(shí)際需求確定同步脈沖的占空比。
每個(gè)控制模塊在被復(fù)位后,都會(huì)向其他三個(gè)模塊發(fā)送一個(gè)“復(fù)位準(zhǔn)備好標(biāo)識(shí)”,表示本模塊已處于復(fù)位后待命狀態(tài)。當(dāng)每個(gè)模塊通過(guò)FPGA讀取到其它三個(gè)模塊的“復(fù)位準(zhǔn)備好標(biāo)識(shí)”后,便開(kāi)始啟動(dòng)運(yùn)行。這樣便實(shí)現(xiàn)了四模塊的起始同步。
由于每個(gè)模塊的軟時(shí)鐘都是基于本地鐘振產(chǎn)生,而每個(gè)鐘振之間又存在偏差,所以隨著時(shí)間的推移,通過(guò)FPGA計(jì)數(shù)器產(chǎn)生的軟時(shí)鐘之間的偏差就會(huì)越來(lái)越大,為了阻止這種偏差擴(kuò)大,將其控制在一個(gè)可容忍的范圍之內(nèi),就要定期對(duì)四個(gè)模塊的軟時(shí)鐘進(jìn)行同步。軟時(shí)鐘同步的主要內(nèi)容有三項(xiàng):首先獲得其他機(jī)器軟時(shí)鐘信息,然后根據(jù)這些信息計(jì)算得出本地時(shí)鐘與其他模塊軟時(shí)鐘之間的偏差,最后用所獲得的偏差對(duì)本地軟時(shí)鐘進(jìn)行修正。
3.2.4 突破的關(guān)鍵技術(shù)
采用基于拜占庭故障模式的系統(tǒng)架構(gòu)降低了飛行器進(jìn)出空間過(guò)程中大過(guò)載、高速、高動(dòng)態(tài)環(huán)境下GNC系統(tǒng)面臨的風(fēng)險(xiǎn)。突破了多余度快速自動(dòng)重構(gòu)關(guān)鍵技術(shù)?;陉P(guān)鍵技術(shù)建立的多余度、變結(jié)構(gòu)GNC系統(tǒng)體系結(jié)構(gòu)可以滿足系統(tǒng)全任務(wù)期間系統(tǒng)容錯(cuò)使用需求,且系統(tǒng)在任意一重故障下能夠正常工作,在二重故障下保飛行任務(wù)安全;系統(tǒng)自動(dòng)重構(gòu)所需時(shí)間不大于一個(gè)系統(tǒng)控制周期;此外,系統(tǒng)具備自動(dòng)故障恢復(fù)功能,長(zhǎng)時(shí)間在軌運(yùn)行可靠性不受偶發(fā)故障累積影響。通過(guò)對(duì)基于拜占庭故障模式的GNC系統(tǒng)架構(gòu)進(jìn)行仿真驗(yàn)證,結(jié)果滿足可靠性要求。具體結(jié)果見(jiàn)表1。
表1 控制器單機(jī)故障仿真及重構(gòu)驗(yàn)證結(jié)果
基于拜占庭故障模式的架構(gòu)設(shè)計(jì)技術(shù)是改善空天飛行器GNC系統(tǒng)可靠性的有效手段,基于該技術(shù)設(shè)計(jì)的系統(tǒng)具備高可靠性、多冗余自動(dòng)重構(gòu)能力,是發(fā)展“高精度、高可靠性、長(zhǎng)壽命”GNC系統(tǒng)的關(guān)鍵技術(shù)之一。能夠滿足空天飛行器在軌、再入復(fù)雜環(huán)境下的任務(wù)要求,該設(shè)計(jì)理念可為后續(xù)同類航天器的設(shè)計(jì)提供參考 。
[1] 林來(lái)興,最近十年航天器制導(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-),男,山東臨沂人,碩士研究生,高級(jí)工程師,主要從事導(dǎo)航、制導(dǎo)與控制方向的研究。
1671-4598(2017)05-0029-03DOI:10.16526/j.cnki.11-4762/tp
TM
A