本發(fā)明涉及無人機(jī)著艦視景模擬技術(shù)領(lǐng)域,具體涉及一種基于二維圖像的無人機(jī)著艦視景模擬方法。
背景技術(shù):
無人機(jī)是利用無線遙控設(shè)備和自身搭載的程序控制裝置操縱的不載人飛機(jī),在航拍、農(nóng)業(yè)、植保、快遞運(yùn)輸、災(zāi)難救援、觀察野生動(dòng)物、監(jiān)控傳染病、測(cè)繪、新聞報(bào)道、電力巡檢等眾多領(lǐng)域得到應(yīng)用。
無人機(jī)的自主著艦技術(shù)是現(xiàn)在飛行控制領(lǐng)域和人工智能領(lǐng)域人們研究的重點(diǎn)課題,其主要解決無人機(jī)在飛行任務(wù)末端的自主著艦回收問題?,F(xiàn)在廣泛使用的無人機(jī)回收方法是采用人工末端遙控技術(shù)實(shí)現(xiàn)著艦,遙控對(duì)象多為無人直升機(jī),也有基于GPS和慣性導(dǎo)航系統(tǒng)實(shí)現(xiàn)的自主著艦技術(shù),但是受到衛(wèi)星等外圍條件的限制,并不是完全自主的末端導(dǎo)航系統(tǒng)。
近年來,學(xué)者們開始研究基于視覺的完全自主的導(dǎo)航技術(shù),力圖使無人機(jī)在整個(gè)任務(wù)的飛行階段能夠?qū)崿F(xiàn)自主飛行,特別是在飛機(jī)起降階段,從而可以大力發(fā)展大起飛重量、大載荷、具有戰(zhàn)術(shù)和戰(zhàn)略意義的無人機(jī);但是基于視覺的自主著艦系統(tǒng)研究存在一定難度,不僅在理論和技術(shù)創(chuàng)新上存在難度,而且實(shí)施有針對(duì)性的視覺實(shí)驗(yàn)也具有一點(diǎn)難度和無人機(jī)毀壞的風(fēng)險(xiǎn),大大阻礙了視覺技術(shù)在無人機(jī)末端導(dǎo)航中的研究和發(fā)展。采用模擬視景的方式來進(jìn)行基于視覺的無人機(jī)實(shí)驗(yàn)可以有效降低難度和風(fēng)險(xiǎn),現(xiàn)有技術(shù)主要采用的是虛擬現(xiàn)實(shí)技術(shù)構(gòu)建無人機(jī)實(shí)驗(yàn)場(chǎng)景,一方面構(gòu)建場(chǎng)景的工作量及難度都非常大,會(huì)占用研究人員大量的時(shí)間和精力,另一方面虛擬場(chǎng)景的真實(shí)度較低,實(shí)驗(yàn)效果不理想。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種基于二維圖像的無人機(jī)著艦視景模擬方法,可以解決現(xiàn)有技術(shù)通過虛擬現(xiàn)實(shí)技術(shù)構(gòu)建無人機(jī)實(shí)驗(yàn)場(chǎng)景,導(dǎo)致構(gòu)建場(chǎng)景的工作量及難度大,以及真實(shí)度較低的問題。
本發(fā)明通過以下技術(shù)方案實(shí)現(xiàn):
一種基于二維圖像的無人機(jī)著艦視景模擬方法,包括以下步驟:
步驟1:采用多幅原始二維圖像進(jìn)行平面視景拼接,生成模擬視覺場(chǎng)景;
步驟2:根據(jù)模擬視覺場(chǎng)景建立大地坐標(biāo)系,以及原始二維圖像的平面坐標(biāo)系;
步驟3:根據(jù)原始二維圖像的比例尺,得到大地坐標(biāo)系中的坐標(biāo)與每幅原始二維圖像的平面坐標(biāo)系中像素點(diǎn)坐標(biāo)的關(guān)系公式(一);
步驟4:根據(jù)無人機(jī)的位置信息和姿態(tài)信息,計(jì)算無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中,像素點(diǎn)A對(duì)應(yīng)的視覺射線指向模擬視覺場(chǎng)景中的目標(biāo)點(diǎn)B在大地坐標(biāo)系中的坐標(biāo);
步驟5:根據(jù)關(guān)系公式(一)計(jì)算得到目標(biāo)點(diǎn)B在原始二維圖像的平面坐標(biāo)系中對(duì)應(yīng)的像素點(diǎn)坐標(biāo);
步驟6:獲取目標(biāo)點(diǎn)B所對(duì)應(yīng)像素點(diǎn)的顏色信息,將顏色信息對(duì)應(yīng)錄入無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中,生成無人機(jī)的當(dāng)前視景圖像。
本發(fā)明的進(jìn)一步方案是,在步驟1中,所述多幅原始二維圖像包括一幅在海面上泊有艦艇的中心圖像,其余為復(fù)制于一幅僅僅是海面的圖像的復(fù)制圖像,復(fù)制圖像圍繞中心圖像進(jìn)行拼接。
本發(fā)明的再進(jìn)一步方案是,在步驟2中,以中心圖像的中心點(diǎn)作為原點(diǎn),以中心圖像上艦艇的艦首方向?yàn)閤軸方向,以艦艇右側(cè)為y軸方向,z軸方向指向地心,建立大地坐標(biāo)系;原始二維圖像的平面坐標(biāo)系以原始二維圖像左上角為坐標(biāo)原點(diǎn),水平向右為x軸方向,豎直向下為y軸方向。
本發(fā)明的更進(jìn)一步方案是,所述關(guān)系公式(一)為:
其中x和y分別為地面坐標(biāo),i1、j1分別為中心圖像的平面坐標(biāo)系中像素點(diǎn)的橫、縱坐標(biāo),i2、j2分別為復(fù)制圖像的平面坐標(biāo)系中像素點(diǎn)的橫、縱坐標(biāo),原始二維圖像以左上角為像素點(diǎn)的坐標(biāo)原點(diǎn);k為每米距離對(duì)應(yīng)的原始二維圖像像素?cái)?shù),*是一個(gè)取整乘法運(yùn)算;L、H分別為原始二維圖像的寬度和高度。
本發(fā)明的進(jìn)一步方案是,在步驟4中,先建立無人機(jī)的視覺直角坐標(biāo)系,將大地坐標(biāo)系原點(diǎn)平移使其與視覺直角坐標(biāo)系原點(diǎn)重合,形成臨時(shí)坐標(biāo)系,得到目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系和臨時(shí)坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(二);再建立無人機(jī)的視覺球面坐標(biāo)系,得到目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系與視覺球面坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(三),結(jié)合轉(zhuǎn)換關(guān)系公式(二)得到目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系與視覺球面坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(四);計(jì)算像素點(diǎn)A對(duì)應(yīng)的視覺射線在視覺球面坐標(biāo)系中的角度,根據(jù)轉(zhuǎn)換關(guān)系公式(四)計(jì)算出目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系中的坐標(biāo),再根據(jù)臨時(shí)坐標(biāo)系與大地坐標(biāo)系之間的平移關(guān)系計(jì)算得到目標(biāo)點(diǎn)B在大地坐標(biāo)系中的坐標(biāo)。
本發(fā)明的再進(jìn)一步方案是,所述目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系到臨時(shí)坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(二)為:
其中[xt,yt,zt]T為目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系下的坐標(biāo),[x',y',z']T為目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系下的坐標(biāo);
其中θ是俯仰角,ψ是偏航角,φ是滾轉(zhuǎn)角。
本發(fā)明的再進(jìn)一步方案是,所述目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系與視覺球面坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(三)為:
其中c'為像素點(diǎn)A對(duì)應(yīng)的視覺射線在視覺直角坐標(biāo)系中X’OZ’平面的投影與OX’之間的夾角,d'為像素點(diǎn)A對(duì)應(yīng)的視覺射線與其在視覺直角坐標(biāo)系中X’OZ’平面的投影之間的夾角,r為模。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于:
一、通過拍攝實(shí)物獲得的二維圖像拼接生成無人機(jī)著艦?zāi)M視覺場(chǎng)景,工作量和難度都很小,實(shí)施容易,再通過像素坐標(biāo)計(jì)算、錄入得到無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像,真實(shí)度高;
二、通過大地坐標(biāo)系、原始二維圖像的平面坐標(biāo)系、視覺直角坐標(biāo)系、臨時(shí)坐標(biāo)系、視覺球面坐標(biāo)系的轉(zhuǎn)換,降低數(shù)據(jù)計(jì)算的復(fù)雜程度,提高計(jì)算速度,確保聯(lián)系生成的視景圖像畫面流暢。
附圖說明
圖1為像素點(diǎn)A對(duì)應(yīng)的視覺射線與大地坐標(biāo)系的關(guān)系示意圖。
圖2為像素點(diǎn)A對(duì)應(yīng)的視覺射線在視覺直角坐標(biāo)系和視覺球面坐標(biāo)系中關(guān)系示意圖。
圖3為像素點(diǎn)A對(duì)應(yīng)的視覺射線在視覺直角坐標(biāo)系中X’OZ’平面的投影關(guān)系示意圖。
圖4為實(shí)施例中的中心圖像。
圖5為實(shí)施例中的復(fù)制圖像。
圖6為實(shí)施例中的模擬視覺場(chǎng)景。
具體實(shí)施方式
一種基于二維圖像的無人機(jī)著艦視景模擬方法,包括以下步驟:
步驟1:采用包括一幅如圖4所示的在海面上泊有航空母艦的中心圖像,和多幅復(fù)制于一幅如圖5所示的僅僅是海面的圖像的復(fù)制圖像在內(nèi)的多幅原始二維圖像,將復(fù)制圖像圍繞中心圖像圖片拼接方法進(jìn)行拼接,生成如圖6所示的模擬視覺場(chǎng)景;中心圖像和復(fù)制圖像來為視角高度為500米、分辨率為1024*768的google地圖截圖。
步驟2:以中心圖像的中心點(diǎn)作為原點(diǎn),以中心圖像上艦艇的艦首方向?yàn)閤軸方向,以艦艇右側(cè)為y軸方向,z軸方向指向地心,建立大地坐標(biāo)系;以原始二維圖像左上角為坐標(biāo)原點(diǎn),水平向右為x軸方向,豎直向下為y軸方向,建立原始二維圖像的平面坐標(biāo)系。
步驟3:根據(jù)原始二維圖像的比例尺,得到大地坐標(biāo)系中的坐標(biāo)與每幅原始二維圖像的平面坐標(biāo)系中像素點(diǎn)坐標(biāo)的關(guān)系公式(一):
其中x和y分別為地面坐標(biāo),i1、j1分別為中心圖像的平面坐標(biāo)系中像素點(diǎn)的橫、縱坐標(biāo),i2、j2分別為復(fù)制圖像的平面坐標(biāo)系中像素點(diǎn)的橫、縱坐標(biāo),原始二維圖像以左上角為像素點(diǎn)的坐標(biāo)原點(diǎn);k為每米距離對(duì)應(yīng)的原始二維圖像像素?cái)?shù),*是一個(gè)取整乘法運(yùn)算;L、H分別為原始二維圖像的寬度和高度。
步驟4:設(shè)定固定翼無人機(jī)初始姿態(tài),設(shè)定無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中心像素點(diǎn)A在大地坐標(biāo)系中的初始坐標(biāo)為(x0,y0,-h),像素點(diǎn)A對(duì)應(yīng)的視覺射線指向模擬視覺場(chǎng)景中的目標(biāo)點(diǎn)B在大地坐標(biāo)系中的坐標(biāo)記為(x,y,z),如圖1所示,由于目標(biāo)點(diǎn)B是在大地坐標(biāo)系的XOY平面上,所以可以得到目標(biāo)B的坐標(biāo)計(jì)算公式(五):
其中a為大地坐標(biāo)系中像素點(diǎn)A對(duì)應(yīng)的視覺射線與z軸之間的夾角,a'為大地坐標(biāo)系中像素點(diǎn)A對(duì)應(yīng)的視覺射線在XOY平面上的投影與x軸反方向之間的夾角,r為像素點(diǎn)A到目標(biāo)點(diǎn)B的距離,A’為大地坐標(biāo)系中像素點(diǎn)A在XOY 平面上的投影。
建立無人機(jī)的視覺直角坐標(biāo)系,以無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中心像素點(diǎn)A為原點(diǎn),x軸、y軸、z軸平行于機(jī)體坐標(biāo)系,即:以無人機(jī)機(jī)身中軸線朝向機(jī)頭方向?yàn)閤軸方向,從機(jī)身垂直向右為y軸方向,z軸方向指向地心,機(jī)體坐標(biāo)系遵循右手定則。
將大地坐標(biāo)系原點(diǎn)平移使其與視覺直角坐標(biāo)系原點(diǎn)重合,形成臨時(shí)坐標(biāo)系;此時(shí),視覺直角坐標(biāo)系相當(dāng)于機(jī)體坐標(biāo)系的平移,根據(jù)《吳森堂,費(fèi)玉華.飛行控制系統(tǒng).北京:北京航空航天大學(xué)出版社,2005》和《Brian L S,Frank L L.Aircraft Control and Simulation.ley-Interscience,2003》所公開的同原點(diǎn)機(jī)體坐標(biāo)系到地面坐標(biāo)系的坐標(biāo)轉(zhuǎn)換關(guān)系,可以得到目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系和臨時(shí)坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(二):
其中[xt,yt,zt]T為目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系下的坐標(biāo),[x',y',z']T為目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系下的坐標(biāo);
其中θ是俯仰角,ψ是偏航角,φ是滾轉(zhuǎn)角,為無人機(jī)初始姿態(tài)參數(shù)。
以無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中心像素點(diǎn)A為原點(diǎn),建立無人機(jī)的視覺球面坐標(biāo)系,將目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系下的坐標(biāo)變換為球面坐標(biāo)形式(r,c',d'),其中c'為像素點(diǎn)A對(duì)應(yīng)的視覺射線在視覺直角坐標(biāo)系中X’OZ’平面的投影與OX’之間的夾角,d'為像素點(diǎn)A對(duì)應(yīng)的視覺射線與其在視覺直角坐標(biāo)系中X’OZ’平面的投影之間的夾角,像素點(diǎn)A到目標(biāo)點(diǎn)B的距離r作為模,如圖2所示,可以得到目標(biāo)點(diǎn)B在視覺直角坐標(biāo)系與視覺球面坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(三):
進(jìn)而得到目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系與視覺球面坐標(biāo)系的轉(zhuǎn)換關(guān)系公式(四):
c'的計(jì)算如圖3所示,c為攝像機(jī)與機(jī)體軸夾角,c"為像素點(diǎn)A對(duì)應(yīng)的視覺射線和視軸在視覺直角坐標(biāo)系中的X’OZ’平面的投影之間的夾角,l為攝像頭垂直視覺監(jiān)控角度,存在c'=c-c"的邏輯關(guān)系;根據(jù)無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像所在平面w和視軸分別在X’OZ’平面的投影之間相互垂直,可得其中Δxp為目標(biāo)點(diǎn)B與像素點(diǎn)A的像素偏差數(shù),上偏為正,XP是視景圖像中視軸中心像素點(diǎn)縱坐標(biāo)值,進(jìn)而可得到計(jì)算得到像素點(diǎn)A的垂直坐標(biāo)xp=XP-Δxp。
同理可計(jì)算其中Δyp為相對(duì)于視軸中心點(diǎn)的水平像素偏離數(shù),右偏為正,m為攝像機(jī)水平視角范圍,YP為視景圖像中視軸中心像素點(diǎn)水平坐標(biāo)值,計(jì)算得到像素點(diǎn)A的水平坐標(biāo)yp=Y(jié)P+Δyp。
由于臨時(shí)坐標(biāo)系是將大地坐標(biāo)系原點(diǎn)平移到視覺直角坐標(biāo)系原點(diǎn),因此目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系中的z軸坐標(biāo)zt=h,h為預(yù)設(shè)的無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中心像素點(diǎn)A在大地坐標(biāo)系中的初始高度,根據(jù)轉(zhuǎn)換關(guān)系公式(四)可以計(jì)算得到模再根據(jù)模r計(jì)算xt、yt,得到目標(biāo)點(diǎn)B在臨時(shí)坐標(biāo)系下的坐標(biāo)[xt,yt,zt]T,再根據(jù)臨時(shí)坐標(biāo)系與大地坐標(biāo)系之間的平移關(guān)系計(jì)算得到目標(biāo)點(diǎn)B在大地坐標(biāo)系中的水平面坐標(biāo)(x,y)。
步驟5:根據(jù)關(guān)系公式(一)計(jì)算得到目標(biāo)點(diǎn)B在原始二維圖像的平面坐標(biāo)系中對(duì)應(yīng)的像素點(diǎn)坐標(biāo);
步驟6:獲取目標(biāo)點(diǎn)B所對(duì)應(yīng)像素點(diǎn)的顏色信息,將顏色信息對(duì)應(yīng)錄入無人機(jī)當(dāng)前應(yīng)該獲取到的視景圖像中的像素點(diǎn)A(xp,yp),生成無人機(jī)的當(dāng)前視景圖像,送顯示器顯示即可。
通過Visual C++6.0編程進(jìn)行測(cè)試,檢驗(yàn)是否能夠滿足15幀/秒的幀速要求,以確保畫面基本流暢。
設(shè)定連續(xù)200幀,幀轉(zhuǎn)換間無間隔,無人機(jī)為直線下滑降落狀態(tài),降落垂直速度和水平向前速度均為1米/幀,進(jìn)行10次測(cè)試,結(jié)果如下:
根據(jù)測(cè)試結(jié)果,可計(jì)算出幀速為:15.98幀/秒,能夠滿足連續(xù)視頻要求。
使用該算法模擬無人機(jī)使用視覺作為著艦導(dǎo)引的視景圖像,這樣系統(tǒng)可以使用攝像機(jī)進(jìn)行視覺信息采集,再配合相應(yīng)的視覺處理系統(tǒng),可以對(duì)無人機(jī)著艦過程中的視覺圖像處理算法,飛行控制算法,航跡控制算法等一系列相關(guān)算法進(jìn)行實(shí)驗(yàn)研究。