李念語 吳新泉 袁沛霖 金海琪 宋弘毅
(南京航空航天大學計算機科學與技術學院,江蘇南京 210000)
基于單目視覺的風洞模型位姿傳感系統(tǒng)
李念語 吳新泉 袁沛霖 金海琪 宋弘毅
(南京航空航天大學計算機科學與技術學院,江蘇南京 210000)
為了給飛控計算機的控制提供參考,本文研究并編寫了一個基于單目視覺的判別風洞模型位姿的軟件系統(tǒng),在風洞模型中,帶動力的飛機模型自主穩(wěn)定飛行,通過控制律,控制模型相對于地面靜止,飛機模型的六個自由度全部解開。在飛機模型上放置多個LED標記點,位于模型上方的CCD工業(yè)相機對模型進行連續(xù)拍攝,通過動態(tài)鏈接庫訪問CCD的圖像數(shù)據(jù)并將圖像數(shù)據(jù)實時地傳回上位機處理,通過C/C++編寫上位機軟件,實現(xiàn)識別算法以及位姿解算算法來獲取模型的空間位置和姿態(tài)信息。
單目視覺 風洞 飛機模型 位姿判別 傳感系統(tǒng)
In order to provide a reference for later flight control computers, the study has studied and written a software system which could discriminate the position and orientation of wind tunnels model based on monocular vision. An aircraft model with driving force is able to fly stably and autonomously in the wind tunnel. By control-law, the aircraft model stays static relative to the ground, unlocking all six degrees of freedom. Multiple LED marked points are placed on the aircraft model. The CCD industrial camera model at the top of the model continuously captures the image and returns real-time image data to an upper computer with a dynamic link library. The free-flight trials system can get the spatial position and altitude information of the aircraft model through the use of upper computer software with C/C++ language, achieving identification algorithms, as well as position and orientation solver algorithms.
Monocular vision wind tunnel aircraft model attitude determination sensing systems
近年來,隨著計算機技術和圖像處理技術以及數(shù)字視頻器件的發(fā)展,計算機機器視覺與視覺檢測在許多領域得到了廣泛應用[1]:如機翼表面油流試驗、壓敏漆表面壓力測量、模型變形測量、投放試驗、非接觸位移測量等.另外在工業(yè)檢測[2]中應用更加廣泛,如流水線工件自動檢測、大型復雜曲面的三維檢測、大型工件平行度和垂直度測量、字符識別、醫(yī)學圖像分析、未來外星車導航[3]等等。在現(xiàn)代自動化生產(chǎn)過程[4]中,機器視覺系統(tǒng)廣泛地應用于工況監(jiān)視、成品檢驗和質(zhì)量控制等領域。同時,機器視覺與視覺檢測技術逐步發(fā)展為使用視頻測量技術(Videogram-metric Technique)[5],該技術在風洞測量[6][7]這種要求非侵入式測量中具有無可比擬的優(yōu)勢,因此在風洞測量中得到了大量應用。目前雖然我國利用CCD圖像傳感器設計出車牌識別[8][9]等系統(tǒng),逐步開始了工業(yè)現(xiàn)場的應用[10],但是我國該技術起步較晚,應用領域真正高端的不多。本文,將機器視覺技術應用于基于單目視覺的風洞模型位姿傳感系統(tǒng),提供了另一種獲取飛機空間位置信息研究飛機位姿的方法。擴展了該技術的應用領域,填補了國內(nèi)機器視覺技術發(fā)展的空白,順應了時代發(fā)展的潮流。
常規(guī)風洞試驗一般將模型固定在支架上,支架上裝有天平測力系統(tǒng),可以帶動模型在一定自由度內(nèi)運動。但其顯著缺點是支架對模型周圍的流場存在干擾,同時模型自由度受到約束。常規(guī)風洞試驗如圖2.1。
而風洞模型自由飛技術不限制模型自由度,沒有支架干擾,可以最大程度的模擬飛機在大氣中飛行的環(huán)境。本系統(tǒng)中引入機器視覺技術,通過設計控制律,使模型相對于地面靜止,在模型上放置多個LED標志物,通過CCD攝像機識別,推算模型的姿態(tài)或空間位置。如圖2.2。
飛行器位姿識別屬于典型的機器視覺技術范疇,機器視覺技術是依靠圖像攝取裝置將攝取目標轉換為圖像信號,并將該信號傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉變成數(shù)字化信號;圖像系統(tǒng)對這些信號進行各種運算來抽取目標的特征,進而根據(jù)判別的結果來控制現(xiàn)場的設備動作的先進技術。
圖像采集是機器視覺技術的兩大技術核心之一,由于既需要優(yōu)質(zhì)的圖像質(zhì)量,又需要高效的圖像采集速率,當下普遍使用CCD相機(Charge-coupled Device)對攝取目標進行圖像采集。
圖 2.1
圖2.2 水平風洞模型自由飛實驗系統(tǒng)
CCD相機本質(zhì)上是一種半導體器件,能夠將普通的光學影像轉化為特殊的數(shù)字信號,C C D上植入的微小光敏物質(zhì)稱作像素(Pixel)。一塊CCD上包含的像素數(shù)越多,其提供的畫面分辨率也就越高。一般而言CCD相機獲取的圖像為RGB圖像,也就是說每一個像素都由紅(R)綠(G)籃(B)三個成分組成,來表示RGB色彩空間中的一個點。CCD的作用就像膠片一樣,但它是把圖像像素轉換成數(shù)字信號。CCD上有許多排列整齊的電容,能感應光線,并將影像轉變成數(shù)字信號。經(jīng)由外部電路的控制,每個小電容能將其所帶的電荷轉給它相鄰的電容。
相機攝取的光學影像轉換成的數(shù)字信號,通過相機的驅動程序可儲存到計算機的存儲器當中。利用相機提供的接口配置好計算機的工程環(huán)境可以通過編寫開程序代碼對相機進行操作控制,接口一般分為兩大類,一是主功能接口,具體功能包含攝像機開啟關閉、采集圖像、控制攝像機等具體操作,包含文件 GxIAPI.h,動態(tài)鏈接庫GxIAPI.dll,靜態(tài)鏈接庫 GxIAPI.lib二是圖像處理接口,包含數(shù)據(jù)轉換等功能操作。利用這些接口便可編寫相應的代碼實現(xiàn)之后的位姿識別算法,包含文件 DxImageProc.h,動態(tài)鏈接庫 DxImageProc.dll,靜態(tài)鏈接庫 DxImageProc.lib。
上述應用接口庫支持32位編程開發(fā)工具Microsoft Visual C/C++。使用C/C++編程工具,用戶應在程序中調(diào)用相關的包含文件(.h),并將靜態(tài)鏈接庫(.lib)文件加入到工程文件中,供編譯程序在鏈接(Link)時使用。
完成上述準備工作之后,便可采集圖像并根據(jù)編寫的程序對圖像進行進一步處理,其具體采集流程如圖3.1。
通過CCD相機讀取到的圖像以類似矩陣的數(shù)據(jù)類型存儲在計算機中,其中黑暗環(huán)境的亮度值較低,其數(shù)據(jù)結構中的標記位會被標記為0,而發(fā)光光源部分亮度值較高,其數(shù)據(jù)結構中的標記位會被標記為1。其模型類似圖4.1,其中每一格代表一個像素點。
該算法從矩陣首行首列開始,由左至右,由上至下開始進行遍歷搜索,每當搜索到亮點(標記位為1的像素點),就對該點進行以該點為中心,依次按照上,右上,右,右下,下,左下,左,左上的優(yōu)先順序進行搜索判斷,若相鄰點也為1,則對該相鄰點繼續(xù)擴展搜索,直至將所有相鄰的亮度點全部搜索完畢,之后將所有被搜索到的點標記為ACCESS,防止下次搜索重復計算,若此次擴展搜索獲得的亮點總數(shù)超過設定值(本程序默認設置為200,可修改)則判定此處為亮點。按照上述方法將全圖遍歷完成后,便可求得全圖所有亮度點。搜素偽代碼如下。
圖 3.1
1代表亮點
參考六自由度頭部跟蹤算法[11][12],以四個LED燈所標記的點所在平面為,即飛機為輻射坐標系(),令CCD攝像機攝像坐標系代表風洞的坐標系(),CCD的成像面當成圖像坐標系(,)。因此,判斷飛機模型的姿態(tài)可以轉化為分析輻射坐標系對于風洞坐標系的位置關系。由此可求得位姿信息,方位角α,滾轉角β,偏航角。
輻射坐標系和攝像坐標系的變換關系為
而矩陣H的表達式
采用小孔成像模型,像點坐標(,)為:
其中i=A,B,C,D,代表所獲取飛機模型上的4個LED燈的信息。綜合上述公式,進行等量代換
假設4個LED燈構成的正方形對角線長度為2L,則4個LED燈在輻射坐標系下的坐標為A(0,L,0),B(L,0,0),C(0,-L,0),D(-L,0,0)帶入前式,可知每個LED對應2個方程:
設:
根據(jù)以上兩式轉化這6個中間變量,然后聯(lián)系轉換矩陣H,便可求得位姿角:
飛控計算機的系統(tǒng)狀態(tài)實時顯示程序采用LabView開發(fā),便于模型狀態(tài)數(shù)據(jù)的記錄,飛控參數(shù)的調(diào)整。位姿信息最終作為輸入數(shù)據(jù)傳送到系統(tǒng)狀態(tài)實時顯示程序,程序對輸入的位姿信息做進一步處理。
不同的位姿信息傳送方法對實時性的影響相差較大,因此,選擇高效的數(shù)據(jù)傳送方法至關重要。本項目擬采用LabView調(diào)用動態(tài)鏈接庫的方法來實現(xiàn)數(shù)據(jù)傳送。
將獲取位姿信息源代碼編譯生成動態(tài)鏈接庫文件,然后將文件加載至LabView項目中,通過調(diào)用動態(tài)鏈接庫的接口函數(shù)來獲取位姿信息數(shù)據(jù),達到快速通訊的目的。
風洞模型自由飛技術是空氣動力學領域一項先進的測試技術,可以模擬飛機復雜的飛行動作,這項技術實現(xiàn)的關鍵之一是姿態(tài)測量。
本文針對通過飛機模型有限個標志亮點來獲取模型位姿信息并傳送至上級處理系統(tǒng)的方法進行了詳細的討論。通過對飛機模型姿態(tài)與模型上有限個亮點的位置信息的關系進行分析,給出了實時位姿信息獲取系統(tǒng)的構造思想。該系統(tǒng)提供實時的飛機模型位姿信息,為飛控計算機對模型的控制提供參考依據(jù)。
[1]賈云得.機器視覺[M].北京:科學出版社,2000.
[2]段峰,王耀南,雷曉峰,吳立釗,譚文.機器視覺技術及其應用綜述[J].自動化博覽,2002年03期.
[3]唐向陽,張勇,李江有,黃崗,楊松,關宏;機器視覺關鍵技術的現(xiàn)狀及應用展望[J].昆明理工大學學報(理工版),2004年02期.
[4]關勝曉.機器視覺及其應用發(fā)展[J].自動化博覽,2005年03期.
[5]R.Shorts,W:L.Snow.Video-metric tracking of wind tunnel aerospace models at NASA Langley research center[C].The Thompson Symposium held at the University of York on 20thApril 1996:673~689.
[6]Hassan Mostafavi. Wind tunnel model aircraft attitude and motion analysis[J].PRO.SPIE.Signal and image processing systems performance evaluation simulmion and modeling.199I(1483):104~111.
[7]ohn V Foster,Kevin Cunningharn.Charles M.Fremaux.Dynamics modding and simulation of large transport airplanes in upset conditions[J].Navigation and control conference and exhibit,2005:l5~l8.
[8]鄭南寧.計算機視覺與模式識別[M].北京:國防工業(yè)出版社,1998.
[9]劉煥軍,王耀南,段峰.機器視覺中的圖像采集技術[J].電腦與信息技術,2003年01期.
[10]王慶友,孫學株.CCD應用技術[M].天津:天津大學出版社,1993.
[11]周士娥,高偉清,李英杰,呂國強.六自由度頭部跟蹤系統(tǒng)的誤差修正[J].光電工程,2010,37(6).
[12]黃會明,劉先勇,馬軍,宋晉.飛機尾旋三維測量試驗的改進方法[J].實驗流體力學,2013,27(2).