梅春睿,劉巾杰,胡旭東,廖國瑞
(中國文昌航天發射場,文昌,571300)
發控轉接組合是當前中國航天器發射場中火箭控制系統地面測發控系統前端核心設備之一,其前面板分布著重要狀態的指示燈。控制系統通過它來實現箭上設備供配電、信號邏輯實現、與外系統信息交互、狀態顯示等功能。地面測發控階段和發射階段,前端崗位人員分別在臍帶塔和后端測試發射大廳實時監測發控轉接組合前面板指示燈狀態變化,并向系統指揮員反饋情況。需要崗位人員掌握測試原理,明確測試流程中指示燈的亮滅時機及邏輯順序,并快速向指揮員匯報測試現象。
當前工作模式下,控制系統地面測發控前端對發控轉接組合的監測主要通過人工實現,依賴于崗位人員的專業能力和注意力集中情況。該方式存在以下缺點:
a)難以長時間保持高度注意。實際測試過程往往長達2~3 h,發射日更是長達12 h,人員容易產生疲勞感,注意力下降。而指示燈發生變化過程往往不到1 s,崗位人員難以準確捕捉到每一個指示燈狀態變化時機,漏看、錯看的情況難以避免,監測準確性難以保證。
b)測試無記錄文件留存。實際工作中,人員不僅需要時刻緊盯發控轉接組合指示燈,同時還需要監測地供電源、地面電源1、地面電源2、地面電源3主副機共8個地面電源的電壓及電流示數變化,需要觀察電源控制組合指示燈以及其他前端設備的工作情況。特殊動作時多個指示燈往往集中在同一時間段內改變狀態,崗位人員不具備在試驗現場形成記錄文件的條件。試驗過程無記錄文件留存,不利于測試過程的可追溯性,不利于故障排查工作的開展。
c)示警過程冗長。出現異常情況時,當前試驗條件下,崗位人員可通過電話或調度聯系后端指揮員進行示警,往往花費時間較多,不能及時示警,不能快速準確傳達異常情況。-3 min伺服啟動后,每分每秒都很珍貴,通過崗位人員口頭傳遞信息容易錯失最佳的故障處理時機。
本文設計并實現的發控轉接組合視頻監測軟件,可以依托于測試發射大廳的視頻計算機進行運用,具有硬件支撐,具備可實施性。自動監測可有效輔助崗位人員工作,極大降低漏看、錯看幾率;自動記錄留存有利于試驗過程記錄的完整性;及時示警功能可彌補緊急情況下故障信息傳遞時效性問題。該項目緊貼當前試驗現場狀況,針對性地彌補了試驗工作模式缺陷,具備應用價值。
依據發射場現行工作模式,發控轉接組合屬于發控前端崗位設備。人員上崗后,在系統進行測試時,需要同時觀察發控轉接組合指示燈情況及地面電源電壓電流示數。結合人員難以長時間保持高度注意力、測試無記錄文件留存、示警過程冗長的現實特點,圖1列出了發控轉接組合視頻監測軟件的功能要求。

圖1 功能性需求分析Fig.1 Functional Requirements Analysis
圖1中,視頻及條形圖的共同顯示令指示燈變化情況更加直觀,可以輔助崗位人員集中注意力;語音提示和歷史狀態變化列表可以輔助崗位人員及時觀測地面電源電壓、電流示數,防止錯過數據變化時機;自動記錄狀態變化到Excel及一鍵生成Word文檔有助于記錄留存及測試過程回顧復查;特殊音效示警可以及時引起崗位人員和指揮員注意;故障模式識別及彈框示警能夠顯示故障模式,幫助指揮員快速實現故障定位。
非功能性需求指的是在實現用戶需求的同時,系統需要具備的特性,比如可靠性、穩定性、可維護性等。非功能性需求是軟件功能的展現模式,它影響著功能性需求的定義、實現及使用[1]。即使一個軟件的功能再強,若是使用方法復雜,用戶體驗感極差,那么它強大的功能也無從展示。
發控轉接組合視頻監測軟件在非功能性需求上需要達到以下幾點要求:
a)實用性。軟件應當具備簡潔、友好的操作界面,盡量使用戶對軟件的操作使用方法一目了然;
b)可靠性。軟件開發過程中,如果軟件不能可靠地運行,那么無論系統的功能多么全面,都無法保證用戶的基本需求得以滿足;
c)高性能。高性能指的是用戶對系統響應速度的需求[1]。視頻監控需要具備時效性,人工監測時指示燈變化及匯報時間的誤差大約為2 s,以此為標準要求軟件的各類提示應當在2 s內完成。
結合崗位人員和指揮員的需求分析,將軟件設計為4個模塊:初始化、實時監控、實時示警和文件形成模塊,如圖2所示。
圖2中,實時監控模塊要求軟件可以自動識別發控轉接組合的指示燈亮滅情況。該設備指示燈形狀均為圓形,結合邊緣檢測,以Hough變換作為理論支撐實現指示燈的自動識別。

圖2 軟件總體設計方案Fig.2 Overall Design Scheme of the Software
為滿足用戶對系統響應速度的需求,選擇具有強大數據處理能力的MATLAB軟件作為算法實現的基本工具。與此同時,為了使用戶界面更加友好、接口更加簡化,人機交互界面的開發工具也選擇了與MATLAB軟件更加適配的圖形用戶界面(GUI)工具包。其允許用戶定制用戶與計算機的交互方式,用戶通過窗口、菜單、按鍵等方式實現對數據的自動化、可視化處理[2]。
圖像邊緣是圖像中灰度不連續或急劇變換的所有像素的集合,集中了圖像的大部分信息,是圖像最基本的特性之一[3]。邊緣檢測是后續圖像分割、特征提取和識別等圖像分析領域的關鍵一步。比較常見的檢測算子有:Sobel、Prewitt、Roberts、Log、Canny。
Sobel算子能夠產生較好的檢測效果,對噪聲具有平滑抑制作用,但得到的邊緣較粗,可能出現偽邊緣;Prewitt算子減小了噪聲對圖像邊緣檢測的影響,但同樣對圖像邊緣檢測效果較粗,背景噪聲對算法有效性影響較大;Roberts算子對邊緣定位精度高,但無法抑制噪聲影響;Log算子在實際運用中對噪聲敏感,噪聲平滑能力與邊緣定位能力相矛盾;Canny算子進行圖像邊緣檢測較為有效,檢測紋理較細,但噪聲影響較大。幾種算子各有利弊,可根據被識別圖像的特點靈活選擇。
Hough變換又稱霍夫變換,其本質是從圖像空間到參數空間的映射。Hough變換的實質是將圖像空間內具有一定關系的像元進行聚類,尋找能把這些像元用某一解析形式聯系起來的參數空間累計對應點。Hough變換常被用于自動化和機器人視覺等領域,廣泛應用與產品部件的自動監視,生產過程自動監控,采用直線、圓弧作為基本特征的工業產品檢查系統等方向。
Hough變換將原始圖像中給定形狀的直線或者曲線上所有點都集中到變換空間的某個點上形成峰值[4]。這樣就把原始圖像中給定形狀的直線或曲線的檢測問題轉變成尋找變換空間中的峰值點問題,也就是把檢測整體特性(給定直線或曲線的點集)變成檢測局部特性的問題[4]。
圖像空間中的任意解析曲線可以表述為


即圖像空間中屬于同一解析曲線的點經過式(2)的變換后,都映射到參數空間中,且相交于由參數確定的點[4]。從而說明,只要圖像空間中屬于同一解析曲線的數據點足夠多,就可以通過判斷參數空間中個參數點的積累值來確定此曲線在變換空間的相交點,從而確定此解析曲線的描述[4]。Hough變換適用于任何形式為的函數,其中是坐標向量,是系數向量[4]。
對于圓心坐標為O(a,b)、半徑為r的圓在參數空間中的表示為

參數空間中,式(3)表示的是1個三維錐面。圖像空間中的圓對應著參數空間中的1個點,而圖像空間中的1個點(x,y)對應著參數空間中的1個三維直立圓錐,該點約束了通過該點的一簇圓的參數(a,b,r)[4],如圖3所示。

圖3 參數空間示意Fig.3 Parameter Space Diagram
圖像空間中圓上任意一點對應著參數空間的一個圓錐,且該圓錐必經過點(a',b',r')。也就是說,圖像空間中該圓上的所有點都映射到參數空間中后,對應的一簇圓錐相交最多的點坐標為(a',b',r')[4],如圖3所示。
通過該點坐標(a',b',r')可求出圖像空間圓的解析式,從而確定其圓心位置及半徑[4]。
軟件的功能可以分為4個部分:初始化、自動監控、實時示警及文件形成。
3.3.1 初始化
初始化主要實現測試狀態的設置、算法參數的設置以及指示燈位置定位。初始化流程見圖4。

圖4 初始化流程Fig.4 Initialization Flowchart
保存測試狀態設置后,軟件自動將其寫入Excel文檔1。算法參數設置中包含邊緣檢測參數(自動識別算子)、Hough變換參數(角度步長、閾值、最小圓半徑、最大圓半徑、檢測圓半徑步長),以及指示燈的行列數。邊緣檢測參數即自動識別算子,用于指示燈位置自動識別過程;Hough變換的參數用于每一幀畫面中指示燈狀態的自動識別;指示燈的行列數用于指示燈狀態矩陣的定義,以及手動位置識別的指示燈總數確認。
指示燈位置定位有手動識別和自動識別方式。按下“手動識別”按鈕后,鼠標會變成十字型,需要用戶在初始幀顯示界面依次單擊每個指示燈中心,通過讀取鼠標位置獲取指示燈初始位置矩陣;自動識別時會先將初始幀圖像灰度化,對其進行邊緣檢測,再利用Hough變換得到指示燈初始位置矩陣。具體流程如圖5所示。

圖5 自動識別流程Fig.5 Automatic Identification Flowchart
用Hough變換方法檢測圓時,首先對參數空間進行適當量化,得到1個三維的計數器陣列,其中每一個立體小方格對應(a,b,r)的參數離散值。
將圖像空間的初始幀灰度化后,根據灰度的梯度信息,選取適當閾值求出邊緣。計算與邊緣上每一點像素距離為r的所有點(a,b),同時將對應的(a,b,r)立方體小格累加器加1。改變r值重復上述過程,當對全部邊緣點變換完成后,對三維陣列的所有累加器值進行比較,其峰值小格的坐標就對應著圖像空間中圓形邊界的圓參數(a,b,r)。
3.3.2自動監控
給每一幀圖像設置狀態矩陣,包含指示燈的位置坐標及狀態。初始幀的位置采用初始化(手動識別或自動識別)結果,之后每一幀的位置計算方法與自動識別過程相同。軟件通過指示燈位置處像素點的亮度變化提取狀態信息,通過當前幀狀態矩陣與上一幀狀態矩陣的對比來識別指示燈狀態變化情況,并繪出相應條形圖,將狀態變化寫入Excel2文件并列表顯示。
3.3.3 實時示警
建立語音庫,每當指示燈狀態矩陣發生變化時,讀取相應的語音文件并播放。
設置常見測試規律表,當測試中出現不符合該表的情況時進行特殊音效及彈框示警,并在彈框中說明故障模式。基本測試規律表如表1所示。

表1 基本測試規律表Tab.1 Basic Rules of Test
自動監控及實時示警流程見圖6。

圖6 自動監控及實時示警流程Fig.6 Flowchart of Automic Monitoring and Real-time Warning
用戶在初始化模塊中設置好測試狀態后,保存狀態時,軟件將狀態內容寫入到Excel文件1。指示燈的狀態變化被軟件實時記錄到Excel文件2。當用戶按下“生成報告”按鈕后,軟件讀取Excel文件1及Excel文件2,將其內容寫入Word文檔,形成測試報告。
初始化模塊中,用戶可以進行測試狀態設置、參數設置與調整以及初始幀的指示燈的位置識別。
測試狀態設置包括測試人員、地點、日期以及當前測試狀態。保存后,測試人員、地點、日期信息可用于Word文檔的一鍵生成,測試狀態用于故障模式的識別比對。
參數的設置與調整,指的是邊緣檢測的參數(自動識別算子)、Hough變換的參數(角度步長、閾值、最小圓半徑、最大圓半徑、檢測圓半徑步長),以及指示燈的行數、列數。過參數變換對算法進行優化和比較。當用戶不了解參數設置方法時,可選用默認參數,不影響軟件的功能及使用。
初始幀的指示燈的位置識別有手動和自動2種方式,參數設置模塊中的參數應用于此處的指示燈識別算法。該模塊用戶界面如圖7所示。

圖7 參數設置及位置初始化模塊Fig.7 Module of Parameter Setting and Location Initilization
單擊手動識別按鈕后,鼠標會變成十字線形狀,依次單擊視頻顯示區域初始幀上的指示燈后,在指定區域顯示手動指示燈定位圖。單擊自動識別按鈕后,軟件將自動指示燈位置,并將自動識別結果顯示在指定區域。
實時監控模塊包括視頻顯示、條形圖顯示、歷史狀態變換列表以及語音提示功能。視頻顯示區域呈現了當前發控轉接組合的指示燈狀態,條形圖將各個指示燈狀態按照“亮”、“滅”兩種狀態進行了值為“1”、“-1”的柱狀的區別顯示,有助于更加直觀地觀測到指示燈狀態變化。
歷史狀態變換列表展示了當前測試中指示燈的每一次狀態變化及時間,有助于輔助崗位人員進行回顧與檢查,如圖8所示。

圖8 狀態列表Fig.8 State List
按下“語音提示”按鈕后,開啟語音提示功能。每當指示燈狀態發生變化時,播放相應的語音文件。可以有效吸引崗位人員注意力,提醒崗位人員監測地面電源電壓電流變化,避免了觀測指示燈的同時觀測不到電壓電流變化的尷尬。
當測試過程中出現與常見測試規律表不符的情況時,軟件會播放特殊音效進行示警,在后臺自動識別故障模式后,對故障模式進行彈框提示,輔助指揮員快速進行故障定位。
該模塊可以自動記錄指示燈狀態變化情況到Excel文件,還可一鍵生成Word文檔。有助于記錄留存和測試過程的回顧復查。
綜上所述,該軟件不論是在設備狀態監測及提示、異常情況快速示警及描述,還是在形成記錄文件上,都滿足了崗位設置的需求,彌補了人工錯誤率高的缺陷。
本文立足于解決發控前端崗位發控轉接組合視頻的自動監控問題,從用戶需求分析入手,結合邊緣檢測和Hough變換原理識別指示燈的亮滅情況,設計并實現了發控轉接組合視頻監測軟件。該軟件實現了發控轉接組合狀態變化的自動播報,輔助崗位人員更好地集中注意力,可以及時示警并輔助指揮員實現故障快速定位,并將測試過程的狀態變化自動記錄到文件,給崗位人員和指揮員提供了便利。
下一步研究將著力于把視頻自動識別技術應用在控制系統的其他地面設備,結合前后端地面設備數據進行聯合分析,衍生出故障快速定位等新生功能。