曾志遠(yuǎn),許瑛
(1.南昌航空大學(xué)航空制造工程學(xué)院,江西 南昌 330063;2.南昌航空大學(xué)飛行器工程學(xué)院,江西 南昌 330063)
無人機(jī)自主著陸是無人機(jī)研究中的難點(diǎn)之一。為了能夠?qū)崿F(xiàn)自主著陸,無人機(jī)必須具備自主導(dǎo)航的能力[1-2]。目前,無人機(jī)的自主導(dǎo)航技術(shù)主要有慣性導(dǎo)航和GPS導(dǎo)航等。其中,慣性導(dǎo)航在給定了初始條件后,不需要外部參照就可確定當(dāng)前位置、方向及速度,不受到外界的影響,但其定位誤差是隨時(shí)間積累的累積誤差,精度受到慣導(dǎo)系統(tǒng)的影響且無法單獨(dú)使用;GPS導(dǎo)航能夠全天候提供準(zhǔn)確的定位,但其容易受到電磁干擾,所以GPS導(dǎo)航并不是嚴(yán)格意義下的自主導(dǎo)航[3-5]。隨著計(jì)算機(jī)視覺技術(shù)和攝像機(jī)硬件的發(fā)展,視覺導(dǎo)航由于其完全自主且無源等特點(diǎn)被越來越多地應(yīng)用在無人機(jī)自主著陸的研究中。在視覺導(dǎo)航中,很多研究者采用地平線算法來估算無人機(jī)的姿態(tài)角[1,6-7]。他們首先假設(shè)無人機(jī)的 bybzb平面與攝像機(jī)的像平面平行,然后通過獲得的地平線的參數(shù)可以得到無人機(jī)的滾轉(zhuǎn)角和俯仰角。在獲得滾轉(zhuǎn)角和俯仰角的前提下,通過圖像中的跑道的兩條邊界直線可以確定無人機(jī)的偏航角。采用此種方法,對(duì)攝像機(jī)的安裝位置有一定的限制。
本文提出了一種無人機(jī)姿態(tài)角估算方法。首先,在無人機(jī)獲得跑道圖像后,通過視覺系統(tǒng)提取出跑道和地平線特征,對(duì)攝像機(jī)的姿態(tài)角進(jìn)行估算;然后,通過矩陣轉(zhuǎn)換求得無人機(jī)的姿態(tài)角。該方法不用確保無人機(jī)的bybzb平面與攝像機(jī)的像平面平行,攝像機(jī)的位置可以任意安裝而不受到限制。
采用視覺導(dǎo)航技術(shù)實(shí)現(xiàn)無人機(jī)自主著陸必須用到攝像機(jī)。因?yàn)閿z像機(jī)的作用是用來拍攝無人機(jī)著陸過程中圖像的,所以除了設(shè)計(jì)要求外,對(duì)攝像機(jī)的安裝位置沒有其他要求。伴隨著無人機(jī)的著陸,無人機(jī)上的攝像機(jī)會(huì)拍攝到著陸過程中的一系列圖像。研究所拍攝到的圖像特征后,我們發(fā)現(xiàn)圖像中主要包括了天空、跑道和跑道周圍的景物,而且圖像中顯著的兩個(gè)特征是地平線和跑道的邊界線。
攝像機(jī)獲取圖像后,首先進(jìn)行圖像分割,將數(shù)字圖像細(xì)分為多個(gè)像素的集合,這樣可以簡(jiǎn)化圖像的表示形式,使圖像更容易理解和分析。然后對(duì)圖像中的地平線和跑道特征進(jìn)行提取,接著就可以根據(jù)提取出來的特征,對(duì)無人機(jī)的姿態(tài)角進(jìn)行估算。如圖1所示。
圖1 圖像處理過程
無人機(jī)的坐標(biāo)系統(tǒng)如圖2所示。g為絕對(duì)坐標(biāo)系的原點(diǎn),xg軸的方向與跑道中心線方向相同,zg軸與跑道平面垂直且方向向下,yg軸與xg,zg軸滿足右手定則;b為無人機(jī)機(jī)體坐標(biāo)系的原點(diǎn),bxb軸與gxgyg平面的夾角即為俯仰角,bxb軸在gxgyg平面的投影與gxg的夾角即為偏航角,bzb軸與包含bxb軸的鉛垂平面的夾角即為滾轉(zhuǎn)角;c為攝像機(jī)坐標(biāo)系的原點(diǎn),xc軸與攝像機(jī)光軸平行;D為跑道上任意一點(diǎn)。
圖2 無人機(jī)坐標(biāo)系
建立如圖3所示的像平面坐標(biāo)系,圖中直線H為對(duì)相片進(jìn)行圖像處理后得到的地平線,平面V為過軸xc且與地平線H垂直的平面。由滾轉(zhuǎn)角的定義,滾轉(zhuǎn)角為Ozc軸與包含Oxc軸的鉛垂平面的夾角,方向與Oxc軸方向一致,右滾轉(zhuǎn)為正。所以,圖中角φc即為所求的滾轉(zhuǎn)角,大小為地平線H與yc軸的夾角或與yc軸平行的像平面一條邊的夾角。
圖3 攝像機(jī)滾轉(zhuǎn)角
圖3中,地平線H用參數(shù) (φc,σ)來表示。其中,φc為地平線H相對(duì)于所得圖像中yc軸的角度,φc的范圍為σ表示地平線以上的圖像面積占整個(gè)圖像面積的百分比,范圍為0%~100%。
對(duì)于俯仰角的估算,從圖像中提取出來的跑道特征來估算攝像機(jī)的俯仰角[8]:
式中:W為圖像中的縱向像素點(diǎn)的數(shù)目;dy為一個(gè)像素的縱向長(zhǎng)度;f為攝像機(jī)的焦距;r為地球半徑;h為無人機(jī)進(jìn)場(chǎng)時(shí)的初始高度。
在圖3中,像中心O的坐標(biāo)為 (Ou,Ov),圖像中滅點(diǎn)I'的坐標(biāo)為 (I'u,I'v)。將I'點(diǎn)繞O點(diǎn)旋轉(zhuǎn)一滾轉(zhuǎn)角 φ 得到 I″,坐標(biāo)為 (I″u,I″v),h'為 I″到 O 點(diǎn)的距離[9]。則估算方法如下:
根據(jù)前文已經(jīng)估算出的攝像機(jī)的三個(gè)姿態(tài)角φc,θc,ψc,代入公式 (4)就可以求出地面坐標(biāo)系到攝像機(jī)坐標(biāo)系的轉(zhuǎn)換矩陣Sc/g,結(jié)果為
當(dāng)攝像機(jī)固定在無人機(jī)上時(shí),攝像機(jī)的坐標(biāo)系相對(duì)于無人機(jī)坐標(biāo)系的位置是固定的,因此攝像機(jī)坐標(biāo)系在無人機(jī)坐標(biāo)系下的姿態(tài)角:滾轉(zhuǎn)角φc/b,俯仰角θc/b和偏航角ψc/b為固定值。由此可以得到無人機(jī)坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換矩陣為常數(shù)矩陣Sc/b。表示為
變換矩陣之間存在著如下關(guān)系:
把式 (4)求出的地面坐標(biāo)系到攝像機(jī)坐標(biāo)系的轉(zhuǎn)換矩陣Sc/g和常數(shù)矩陣Sc/b代入到式 (6)中,即可求出機(jī)體坐標(biāo)系到地面坐標(biāo)系的變換矩陣Sb/g??梢员硎緸?/p>
很容易看出,矩陣中第一行和第三列之間存在如下的關(guān)系:
由公式 (8)、公式 (9)和公式 (10)可以得到無人機(jī)的偏航角,俯仰角和滾轉(zhuǎn)角的估算式,其結(jié)果為
所以,求出機(jī)體坐標(biāo)系到地面坐標(biāo)系的變換矩陣Sb/g,然后把Sb/g中的元素代入式 (11)、式 (12)和式 (13)中,即可估算出無人機(jī)的三個(gè)姿態(tài)角。
無人機(jī)獲取跑道的圖像后,首先提取出圖像中的地平線和跑道的特征方程如表1所示。
表1 提取出的直線方程
其中,圖像大小為300 mm×200 mm,f=9 mm,一個(gè)像素在圖像物理坐標(biāo)系中的尺寸為dx=dy=0.034 mm。把已經(jīng)獲得的數(shù)據(jù)代入到上面的算法中,使用Matlab 2012a即可分別求出無人機(jī)的三個(gè)姿態(tài)角,如表2所示。
表2 姿態(tài)角計(jì)算結(jié)果
本文提出了一種無人機(jī)自主著陸過程中姿態(tài)角的估算方法,結(jié)合矩陣變換對(duì)地平線算法進(jìn)行了改進(jìn),與改進(jìn)前算法相比,此算法對(duì)攝像機(jī)安裝位置沒有特殊的要求。仿真計(jì)算結(jié)果證明其能估算出無人機(jī)的姿態(tài)角,并且具有更好的適應(yīng)性。
[1]Lin Xinhua,Cao Yunfeng.Research on the application of vision-based autonomous navigation to the landing of the UAV[J].Proc.SPIE Int.Soc.Opt.Eng,2003,5253:385–388.
[2]沈?qū)帲拼笕?,李飛.無人機(jī)視覺導(dǎo)航中的圖像處理及位姿解算 [J].光電技術(shù)應(yīng)用,2012,27(6):60-64.
[3]Doehler H U,Korn B R.Autonomous infrared-based guidance system for approach and landing [J].Proc.SPIE,2004,5424:140-147.
[4]Tang Daquan,Zhang Hongyue.Vision Based Navigation Algorithm for Autonomic Landing of UAV without Heading&Attitude Sensors[C]//3th International IEEE Conference on Signal-Image Technologies and Internet-Based System.[S.l.]:IEEE,2008:972-978.
[5]付丙島,丁文銳,王廣彪,等.用于飛行器視覺導(dǎo)航的地平線檢測(cè)算法 [J].北京航空航天大學(xué)學(xué)報(bào),2011,37(7):849-854.
[6]Saripalli S,Montgomery J F,Sukhatme G S.Vision-based Autonomous Landing of an Unmanned Aerial Vehicle[C]//Proceeding of IEEE International Conference on Robotics and Automation.Washington:IEEE,2002:2799-2804.
[7]劉新華.基于視覺的無人機(jī)著陸姿態(tài)檢測(cè)和跑道識(shí)別[D].南京:南京航空航天大學(xué),2004.
[8]劉興華,曹云峰,劉新華.計(jì)算機(jī)視覺在無人機(jī)著陸中的應(yīng)用 [J].航空計(jì)測(cè)技術(shù),2004,24(6):1-3.
[9]李紅,柴洪林,彭嘉雄.基于視覺的無人機(jī)姿態(tài)角估計(jì)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2007,35(6):4-7.