李念語 吳新泉 袁沛霖 金海琪 宋弘毅
(南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 210000)
基于單目視覺的風(fēng)洞模型位姿傳感系統(tǒng)
李念語 吳新泉 袁沛霖 金海琪 宋弘毅
(南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 210000)
為了給飛控計(jì)算機(jī)的控制提供參考,本文研究并編寫了一個基于單目視覺的判別風(fēng)洞模型位姿的軟件系統(tǒng),在風(fēng)洞模型中,帶動力的飛機(jī)模型自主穩(wěn)定飛行,通過控制律,控制模型相對于地面靜止,飛機(jī)模型的六個自由度全部解開。在飛機(jī)模型上放置多個LED標(biāo)記點(diǎn),位于模型上方的CCD工業(yè)相機(jī)對模型進(jìn)行連續(xù)拍攝,通過動態(tài)鏈接庫訪問CCD的圖像數(shù)據(jù)并將圖像數(shù)據(jù)實(shí)時地傳回上位機(jī)處理,通過C/C++編寫上位機(jī)軟件,實(shí)現(xiàn)識別算法以及位姿解算算法來獲取模型的空間位置和姿態(tài)信息。
單目視覺 風(fēng)洞 飛機(jī)模型 位姿判別 傳感系統(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
近年來,隨著計(jì)算機(jī)技術(shù)和圖像處理技術(shù)以及數(shù)字視頻器件的發(fā)展,計(jì)算機(jī)機(jī)器視覺與視覺檢測在許多領(lǐng)域得到了廣泛應(yīng)用[1]:如機(jī)翼表面油流試驗(yàn)、壓敏漆表面壓力測量、模型變形測量、投放試驗(yàn)、非接觸位移測量等.另外在工業(yè)檢測[2]中應(yīng)用更加廣泛,如流水線工件自動檢測、大型復(fù)雜曲面的三維檢測、大型工件平行度和垂直度測量、字符識別、醫(yī)學(xué)圖像分析、未來外星車導(dǎo)航[3]等等。在現(xiàn)代自動化生產(chǎn)過程[4]中,機(jī)器視覺系統(tǒng)廣泛地應(yīng)用于工況監(jiān)視、成品檢驗(yàn)和質(zhì)量控制等領(lǐng)域。同時,機(jī)器視覺與視覺檢測技術(shù)逐步發(fā)展為使用視頻測量技術(shù)(Videogram-metric Technique)[5],該技術(shù)在風(fēng)洞測量[6][7]這種要求非侵入式測量中具有無可比擬的優(yōu)勢,因此在風(fēng)洞測量中得到了大量應(yīng)用。目前雖然我國利用CCD圖像傳感器設(shè)計(jì)出車牌識別[8][9]等系統(tǒng),逐步開始了工業(yè)現(xiàn)場的應(yīng)用[10],但是我國該技術(shù)起步較晚,應(yīng)用領(lǐng)域真正高端的不多。本文,將機(jī)器視覺技術(shù)應(yīng)用于基于單目視覺的風(fēng)洞模型位姿傳感系統(tǒng),提供了另一種獲取飛機(jī)空間位置信息研究飛機(jī)位姿的方法。擴(kuò)展了該技術(shù)的應(yīng)用領(lǐng)域,填補(bǔ)了國內(nèi)機(jī)器視覺技術(shù)發(fā)展的空白,順應(yīng)了時代發(fā)展的潮流。
常規(guī)風(fēng)洞試驗(yàn)一般將模型固定在支架上,支架上裝有天平測力系統(tǒng),可以帶動模型在一定自由度內(nèi)運(yùn)動。但其顯著缺點(diǎn)是支架對模型周圍的流場存在干擾,同時模型自由度受到約束。常規(guī)風(fēng)洞試驗(yàn)如圖2.1。
而風(fēng)洞模型自由飛技術(shù)不限制模型自由度,沒有支架干擾,可以最大程度的模擬飛機(jī)在大氣中飛行的環(huán)境。本系統(tǒng)中引入機(jī)器視覺技術(shù),通過設(shè)計(jì)控制律,使模型相對于地面靜止,在模型上放置多個LED標(biāo)志物,通過CCD攝像機(jī)識別,推算模型的姿態(tài)或空間位置。如圖2.2。
飛行器位姿識別屬于典型的機(jī)器視覺技術(shù)范疇,機(jī)器視覺技術(shù)是依靠圖像攝取裝置將攝取目標(biāo)轉(zhuǎn)換為圖像信號,并將該信號傳送給專用的圖像處理系統(tǒng),根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號;圖像系統(tǒng)對這些信號進(jìn)行各種運(yùn)算來抽取目標(biāo)的特征,進(jìn)而根據(jù)判別的結(jié)果來控制現(xiàn)場的設(shè)備動作的先進(jìn)技術(shù)。
圖像采集是機(jī)器視覺技術(shù)的兩大技術(shù)核心之一,由于既需要優(yōu)質(zhì)的圖像質(zhì)量,又需要高效的圖像采集速率,當(dāng)下普遍使用CCD相機(jī)(Charge-coupled Device)對攝取目標(biāo)進(jìn)行圖像采集。

圖 2.1

圖2.2 水平風(fēng)洞模型自由飛實(shí)驗(yàn)系統(tǒng)
CCD相機(jī)本質(zhì)上是一種半導(dǎo)體器件,能夠?qū)⑵胀ǖ墓鈱W(xué)影像轉(zhuǎn)化為特殊的數(shù)字信號,C C D上植入的微小光敏物質(zhì)稱作像素(Pixel)。一塊CCD上包含的像素?cái)?shù)越多,其提供的畫面分辨率也就越高。一般而言CCD相機(jī)獲取的圖像為RGB圖像,也就是說每一個像素都由紅(R)綠(G)籃(B)三個成分組成,來表示RGB色彩空間中的一個點(diǎn)。CCD的作用就像膠片一樣,但它是把圖像像素轉(zhuǎn)換成數(shù)字信號。CCD上有許多排列整齊的電容,能感應(yīng)光線,并將影像轉(zhuǎn)變成數(shù)字信號。經(jīng)由外部電路的控制,每個小電容能將其所帶的電荷轉(zhuǎn)給它相鄰的電容。
相機(jī)攝取的光學(xué)影像轉(zhuǎn)換成的數(shù)字信號,通過相機(jī)的驅(qū)動程序可儲存到計(jì)算機(jī)的存儲器當(dāng)中。利用相機(jī)提供的接口配置好計(jì)算機(jī)的工程環(huán)境可以通過編寫開程序代碼對相機(jī)進(jìn)行操作控制,接口一般分為兩大類,一是主功能接口,具體功能包含攝像機(jī)開啟關(guān)閉、采集圖像、控制攝像機(jī)等具體操作,包含文件 GxIAPI.h,動態(tài)鏈接庫GxIAPI.dll,靜態(tài)鏈接庫 GxIAPI.lib二是圖像處理接口,包含數(shù)據(jù)轉(zhuǎn)換等功能操作。利用這些接口便可編寫相應(yīng)的代碼實(shí)現(xiàn)之后的位姿識別算法,包含文件 DxImageProc.h,動態(tài)鏈接庫 DxImageProc.dll,靜態(tài)鏈接庫 DxImageProc.lib。
上述應(yīng)用接口庫支持32位編程開發(fā)工具M(jìn)icrosoft Visual C/C++。使用C/C++編程工具,用戶應(yīng)在程序中調(diào)用相關(guān)的包含文件(.h),并將靜態(tài)鏈接庫(.lib)文件加入到工程文件中,供編譯程序在鏈接(Link)時使用。
完成上述準(zhǔn)備工作之后,便可采集圖像并根據(jù)編寫的程序?qū)D像進(jìn)行進(jìn)一步處理,其具體采集流程如圖3.1。
通過CCD相機(jī)讀取到的圖像以類似矩陣的數(shù)據(jù)類型存儲在計(jì)算機(jī)中,其中黑暗環(huán)境的亮度值較低,其數(shù)據(jù)結(jié)構(gòu)中的標(biāo)記位會被標(biāo)記為0,而發(fā)光光源部分亮度值較高,其數(shù)據(jù)結(jié)構(gòu)中的標(biāo)記位會被標(biāo)記為1。其模型類似圖4.1,其中每一格代表一個像素點(diǎn)。
該算法從矩陣首行首列開始,由左至右,由上至下開始進(jìn)行遍歷搜索,每當(dāng)搜索到亮點(diǎn)(標(biāo)記位為1的像素點(diǎn)),就對該點(diǎn)進(jìn)行以該點(diǎn)為中心,依次按照上,右上,右,右下,下,左下,左,左上的優(yōu)先順序進(jìn)行搜索判斷,若相鄰點(diǎn)也為1,則對該相鄰點(diǎn)繼續(xù)擴(kuò)展搜索,直至將所有相鄰的亮度點(diǎn)全部搜索完畢,之后將所有被搜索到的點(diǎn)標(biāo)記為ACCESS,防止下次搜索重復(fù)計(jì)算,若此次擴(kuò)展搜索獲得的亮點(diǎn)總數(shù)超過設(shè)定值(本程序默認(rèn)設(shè)置為200,可修改)則判定此處為亮點(diǎn)。按照上述方法將全圖遍歷完成后,便可求得全圖所有亮度點(diǎn)。搜素偽代碼如下。


圖 3.1
1代表亮點(diǎn)

參考六自由度頭部跟蹤算法[11][12],以四個LED燈所標(biāo)記的點(diǎn)所在平面為,即飛機(jī)為輻射坐標(biāo)系(),令CCD攝像機(jī)攝像坐標(biāo)系代表風(fēng)洞的坐標(biāo)系(),CCD的成像面當(dāng)成圖像坐標(biāo)系(,)。因此,判斷飛機(jī)模型的姿態(tài)可以轉(zhuǎn)化為分析輻射坐標(biāo)系對于風(fēng)洞坐標(biāo)系的位置關(guān)系。由此可求得位姿信息,方位角α,滾轉(zhuǎn)角β,偏航角。
輻射坐標(biāo)系和攝像坐標(biāo)系的變換關(guān)系為
而矩陣H的表達(dá)式

采用小孔成像模型,像點(diǎn)坐標(biāo)(,)為:

其中i=A,B,C,D,代表所獲取飛機(jī)模型上的4個LED燈的信息。綜合上述公式,進(jìn)行等量代換


假設(shè)4個LED燈構(gòu)成的正方形對角線長度為2L,則4個LED燈在輻射坐標(biāo)系下的坐標(biāo)為A(0,L,0),B(L,0,0),C(0,-L,0),D(-L,0,0)帶入前式,可知每個LED對應(yīng)2個方程:

設(shè):

根據(jù)以上兩式轉(zhuǎn)化這6個中間變量,然后聯(lián)系轉(zhuǎn)換矩陣H,便可求得位姿角:

飛控計(jì)算機(jī)的系統(tǒng)狀態(tài)實(shí)時顯示程序采用LabView開發(fā),便于模型狀態(tài)數(shù)據(jù)的記錄,飛控參數(shù)的調(diào)整。位姿信息最終作為輸入數(shù)據(jù)傳送到系統(tǒng)狀態(tài)實(shí)時顯示程序,程序?qū)斎氲奈蛔诵畔⒆鲞M(jìn)一步處理。
不同的位姿信息傳送方法對實(shí)時性的影響相差較大,因此,選擇高效的數(shù)據(jù)傳送方法至關(guān)重要。本項(xiàng)目擬采用LabView調(diào)用動態(tài)鏈接庫的方法來實(shí)現(xiàn)數(shù)據(jù)傳送。
將獲取位姿信息源代碼編譯生成動態(tài)鏈接庫文件,然后將文件加載至LabView項(xiàng)目中,通過調(diào)用動態(tài)鏈接庫的接口函數(shù)來獲取位姿信息數(shù)據(jù),達(dá)到快速通訊的目的。
風(fēng)洞模型自由飛技術(shù)是空氣動力學(xué)領(lǐng)域一項(xiàng)先進(jìn)的測試技術(shù),可以模擬飛機(jī)復(fù)雜的飛行動作,這項(xiàng)技術(shù)實(shí)現(xiàn)的關(guān)鍵之一是姿態(tài)測量。
本文針對通過飛機(jī)模型有限個標(biāo)志亮點(diǎn)來獲取模型位姿信息并傳送至上級處理系統(tǒng)的方法進(jìn)行了詳細(xì)的討論。通過對飛機(jī)模型姿態(tài)與模型上有限個亮點(diǎn)的位置信息的關(guān)系進(jìn)行分析,給出了實(shí)時位姿信息獲取系統(tǒng)的構(gòu)造思想。該系統(tǒng)提供實(shí)時的飛機(jī)模型位姿信息,為飛控計(jì)算機(jī)對模型的控制提供參考依據(jù)。
[1]賈云得.機(jī)器視覺[M].北京:科學(xué)出版社,2000.
[2]段峰,王耀南,雷曉峰,吳立釗,譚文.機(jī)器視覺技術(shù)及其應(yīng)用綜述[J].自動化博覽,2002年03期.
[3]唐向陽,張勇,李江有,黃崗,楊松,關(guān)宏;機(jī)器視覺關(guān)鍵技術(shù)的現(xiàn)狀及應(yīng)用展望[J].昆明理工大學(xué)學(xué)報(理工版),2004年02期.
[4]關(guān)勝曉.機(jī)器視覺及其應(yīng)用發(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]鄭南寧.計(jì)算機(jī)視覺與模式識別[M].北京:國防工業(yè)出版社,1998.
[9]劉煥軍,王耀南,段峰.機(jī)器視覺中的圖像采集技術(shù)[J].電腦與信息技術(shù),2003年01期.
[10]王慶友,孫學(xué)株.CCD應(yīng)用技術(shù)[M].天津:天津大學(xué)出版社,1993.
[11]周士娥,高偉清,李英杰,呂國強(qiáng).六自由度頭部跟蹤系統(tǒng)的誤差修正[J].光電工程,2010,37(6).
[12]黃會明,劉先勇,馬軍,宋晉.飛機(jī)尾旋三維測量試驗(yàn)的改進(jìn)方法[J].實(shí)驗(yàn)流體力學(xué),2013,27(2).