空間機器人中央計算機的雙機熱備份
情況1,若系統(tǒng)出現(xiàn)計算機邏輯運算故障,則查詢上一周期同步數(shù)據(jù)隨機碼,且與上一周期保存的歷史數(shù)據(jù)隨機碼相比較,并根據(jù)比較結(jié)果進行切換。
情況2,若系統(tǒng)出現(xiàn)流程故障,則將當前系統(tǒng)同步數(shù)據(jù)中的任務號、階段號和周期號與自身歷史數(shù)據(jù)進行比較。根據(jù)任務號、階段號、周期號是遞增并且不會發(fā)生突變這一原則進行判斷,確定故障源,如圖6所示。本文引用地址:http://m.butianyuan.cn/article/202654.htm
(3)雙機控制數(shù)據(jù)故障
裁決邏輯:空間機器人的運動一般分為兩種模式,一種是預先規(guī)劃固定軌跡的運動,另一種是相對于目標的自主運動。主備雙機根據(jù)機器人不同的運動狀態(tài),比較同步數(shù)據(jù)中的控制關(guān)節(jié)角度,配合誤差容忍度給出系統(tǒng)控制數(shù)據(jù)故障信號。
故障源判斷:在固定規(guī)劃軌跡的模式下,控制數(shù)據(jù)預先給定,可以將雙機數(shù)據(jù)與正確數(shù)據(jù)對比,確定故障源;在自主運動模式下,關(guān)節(jié)的速度和位移是平滑變化的,不可能發(fā)生突變,可以利用關(guān)節(jié)的最大角速度、最大角加速度、末端的最大速度和最大加速度等邊界值對當前數(shù)據(jù)進行邊界檢測,從而判斷出故障源,如圖7所示。
另外,當雙機系統(tǒng)對故障源的判斷發(fā)生矛盾時,將交由外部指令系統(tǒng)對其進行處理。
2.4 系統(tǒng)恢復
為保證空間機器人中央控制計算機能夠長期、穩(wěn)定地運行,就需要使其具有從故障狀態(tài)恢復的能力。根據(jù)其故障原因,分3種情況進行制定:
①系統(tǒng)裁定備機故障,主機正常,此時主機切換為單機模式繼續(xù)正常執(zhí)行任務,備機復位重啟并通知主機,主機切換到雙機同步模式,備機重新與主機同步,恢復系統(tǒng)正常運行。
②系統(tǒng)裁定主機故障,備機正常,此時主機讓權(quán),進行切換,備機得權(quán)后變?yōu)橹鳈C,并切換到單機模式繼續(xù)執(zhí)行系統(tǒng)任務;而主機讓權(quán)后變?yōu)閭錂C,復位重啟后與主機重新進行同步,恢復系統(tǒng)的正常運行。
③系統(tǒng)失步,即備機周期超前或滯后于主機,這種情況并不是造成系統(tǒng)故障,不進行切換動作。此時主機依然正常執(zhí)行系統(tǒng)任務,備機利用主機的同步數(shù)據(jù)更新自身狀態(tài),與主機進行再同步。
3 雙機熱備份系統(tǒng)軟件設計
基于中央控制計算機雙機熱備份系統(tǒng)的硬件環(huán)境和策略的制定,將其軟件設計為6個模塊,并基于強實時性操作系統(tǒng)VxWorks進行實現(xiàn)。該操作系統(tǒng)提供的分布消息隊列機制支持系統(tǒng)軟件的容錯設計,其強實時性也滿足空間機器人任務的要求。首先,根據(jù)策略的制定,設計心跳任務、同步任務、故障裁決任務和系統(tǒng)恢復任務,另外根據(jù)雙機通信的需要設計RS485總線發(fā)送任務和RS485總線接收任務。它們的功能如下:
①心跳任務,任務名HeartBeat。周期性地檢測對方機發(fā)送的心跳信號,若發(fā)現(xiàn)無心跳信號,則通知故障裁決任務進行故障裁決。
②同步任務,任務名Synchronize。根據(jù)同步策略中的初始化同步過程進行系統(tǒng)時鐘和任務的初始化同步,并周期性地監(jiān)視系統(tǒng)同步數(shù)據(jù)。若發(fā)現(xiàn)系統(tǒng)同步數(shù)據(jù)異常,則通知故障裁決任務進行系統(tǒng)故障的裁決。
③故障裁決任務,任務名ExecSwitch。根據(jù)不同的故障情況,依據(jù)前面敘述的裁決過程對系統(tǒng)故障源進行判斷,并根據(jù)結(jié)果進行切換操作,保障系統(tǒng)正常運行。另外,通知系統(tǒng)恢復任務并嘗試對系統(tǒng)進行恢復。
④系統(tǒng)恢復任務,任務名Reconfigure。根據(jù)系統(tǒng)恢復策略嘗試對故障機進行恢復,出現(xiàn)“失步”現(xiàn)象時,依據(jù)再同步過程對備機進行再同步。
它們之間的協(xié)作關(guān)系如圖8所示。
⑤RS485總線接收及發(fā)送任務,任務名Receive485、Send485。負責雙機的通信,主要包括控制消息的解析,同步數(shù)據(jù)的接收與發(fā)送。
在RS485總線通信任務中,通信數(shù)據(jù)格式定義如下:
其中,為RS485通信數(shù)據(jù)加入起始Start和結(jié)尾End位,保證RS485通信任務傳遞數(shù)據(jù)的正確性;Command為雙機熱備份系統(tǒng)的控制命令,如同步系統(tǒng)時鐘指令、任務同步指令等;Syn_data為雙機同步數(shù)據(jù),它的數(shù)據(jù)結(jié)構(gòu)定義如下:
其中,關(guān)節(jié)數(shù)據(jù)以double類型計算,但在雙機通信中轉(zhuǎn)化為16位整數(shù)進行傳遞,節(jié)省數(shù)據(jù)流量;Result為裁決結(jié)果,雙機將比較裁決結(jié)果。如果一致則進行相應處理,如果矛盾將由指令系統(tǒng)進行處理。
雙機熱備份系統(tǒng)的軟件由以上6個模塊組成,對系統(tǒng)進行監(jiān)測、裁決、恢復,保證中央控制計算機長期、穩(wěn)定地運行。
4 雙機熱備份系統(tǒng)驗證
當中央控制計算機啟動后,主機將向備機發(fā)出同步系統(tǒng)周期指令,同步系統(tǒng)周期時間;在外部指令系統(tǒng)啟動主機任務的同時,主機將發(fā)出指令啟動備機任務。主機從接收指令到備機同步啟動任務所需時間為1 420 ms,備機從接收指令到啟動任務所需時間為1180 ms。該雙機系統(tǒng)可以快速啟動并進行同步。
在運行過程中,利用錯誤注入的測試方法,預先在程序中注入錯誤,系統(tǒng)檢測到錯誤后,能夠快速的切換,并且備機可以及時更新系統(tǒng)數(shù)據(jù),與主機進行再同步,從切換完成到重新同步的平均時間為592 ms內(nèi),滿足空間機器人任務的強實時性要求。
結(jié) 語
本研究在綜合考慮空間環(huán)境及機器人任務特殊性的基礎上,實現(xiàn)了一種獨特的雙機熱備份系統(tǒng)。依據(jù)可能出現(xiàn)的故障類型,設計了心跳策略、同步策略、裁決切換策略和恢復策略,并基于VxWorks操作系統(tǒng)實現(xiàn)了雙機熱備份系統(tǒng)的軟件。經(jīng)驗證,該系統(tǒng)具有較好容錯能力,可增強空間機器人系統(tǒng)在復雜空間環(huán)境下執(zhí)行任務的可靠性,適合在空間機器人系統(tǒng)中應用。
評論