本發(fā)明涉及無人機(jī)的技術(shù)領(lǐng)域,更具體地,涉及一種融合機(jī)載多傳感器的旋翼無人機(jī)自主定位方法。
背景技術(shù):
在缺乏外界定位系統(tǒng)的情況下,例如gps或室內(nèi)定位系統(tǒng),依靠無人機(jī)的機(jī)載傳感器系統(tǒng)實(shí)現(xiàn)其位置與姿態(tài)的實(shí)時(shí)估計(jì)是具有挑戰(zhàn)性的問題。無人機(jī)的自定位解決方案與機(jī)載傳感器的類型緊密相關(guān),針對(duì)不同的無人機(jī)機(jī)載傳感器系統(tǒng)目前存在如下估計(jì)無人機(jī)自定位信息的機(jī)載傳感器系統(tǒng)。
1)單/雙目視覺系統(tǒng)與慣性測(cè)量單元(慣性測(cè)量單元)的組合;
2)激光測(cè)距儀與慣性測(cè)量單元的組合;
3)rgb-d攝像機(jī)與慣性測(cè)量單元的組合。
考慮傳感器的成本與重量,利用單目視覺與慣性測(cè)量單元作為機(jī)載傳感器以估計(jì)旋翼無人機(jī)的自定位信息是適宜小型無人機(jī)平臺(tái)的方案,尤其是融合利用單目視覺估計(jì)相對(duì)速度的光流法與利用慣性測(cè)量單元進(jìn)行姿態(tài)解算算法的方法。其中光流法無需對(duì)圖像進(jìn)行特征提取與特征匹配,而是考慮圖像灰度在時(shí)間上的變化率與攝像頭和圖像場(chǎng)景之間相對(duì)變化的關(guān)系。除了灰度信息,光流法要求提供圖像像素對(duì)應(yīng)的深度信息,從而完成對(duì)無人機(jī)位姿的解算。但是,僅采用光流法存在位置估計(jì)的累積誤差,在無人機(jī)長(zhǎng)距離飛行的情況下,其定位誤差將逐漸累積,因此,融合光流法與利用慣性測(cè)量單元解算無人機(jī)姿態(tài)的方法,將有效提高無人機(jī)依靠輕量機(jī)載傳感器系統(tǒng)實(shí)現(xiàn)較長(zhǎng)距離自定位的精度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷,提供一種融合機(jī)載多傳感器的旋翼無人機(jī)自主定位方法,本方法在無gps或室內(nèi)定位系統(tǒng)等外界定位系統(tǒng)的情況下,能實(shí)現(xiàn)無人機(jī)較長(zhǎng)時(shí)間內(nèi)的準(zhǔn)確自定位。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種融合機(jī)載多傳感器的旋翼無人機(jī)自主定位方法,其中,包括以下步驟:
s1.利用機(jī)載攝像頭,獲取地面的實(shí)時(shí)圖像信息;
s2.實(shí)時(shí)獲取地面紋理灰度圖像信息,對(duì)每幀灰度圖像選擇固定數(shù)量的特征點(diǎn),通過匹配相鄰兩幀灰度圖像,計(jì)算光流向量,并通過差分,獲取光流速度;
s3.同步攝像頭、慣性測(cè)量單元與超聲波傳感器的時(shí)間戳,利用慣性測(cè)量單元獲取的實(shí)時(shí)姿態(tài)信息,對(duì)光流速度進(jìn)行姿態(tài)補(bǔ)償,得到光流速度在水平方向上的分量;利用超聲波傳感器獲取的高度信息對(duì)光流速度在水平方向熵的分量進(jìn)行尺度還原,得到無人機(jī)的水平方向上的速度;
s4.對(duì)無人機(jī)在水平方向上的速度進(jìn)行積分得到相對(duì)位移信息,累加相對(duì)位移信息,則得到水平方向上的位移信息。
進(jìn)一步的,所述的步驟s1中,
考慮包括加速度計(jì)與陀螺儀的慣性測(cè)量單元,利用機(jī)載慣性測(cè)量單元模塊中的加速度計(jì)和陀螺儀分別測(cè)得無人機(jī)的實(shí)時(shí)加速度和角速度信息,通過四元數(shù)解算,估計(jì)旋翼無人機(jī)的實(shí)時(shí)姿態(tài)信息,其中實(shí)時(shí)無人機(jī)的姿態(tài)信息包括無人機(jī)的偏航角增量、橫滾角和俯仰角;
利用機(jī)載超聲波傳感器測(cè)量無人機(jī)相對(duì)于地面的高度信息,并利用慣性測(cè)量單元獲取的實(shí)時(shí)姿態(tài)信息進(jìn)行姿態(tài)補(bǔ)償,實(shí)時(shí)校正垂直高度信息。
所述的步驟s2中,
光流速度的獲取方法為:
對(duì)每幀灰度圖采用shi-tomasi角點(diǎn)檢測(cè)的方法,選取100個(gè)紋理信息最明顯的特征點(diǎn),以特征點(diǎn)為中心選取3*3的像素窗口作為一個(gè)像素單元,將前一幀灰度圖中的像素窗口位置作為后一幀灰度圖的像素窗口的初始位置,建立一個(gè)搜索區(qū)域,利用lucas-kanade反向相乘算法,采用五層光流金字塔模型,利用最小二乘法,通過令前一幀的像素窗口在后一陣的灰度圖的搜索區(qū)域內(nèi)搜索灰度差和最小,求得后一幀的像素窗口位置,兩幀像素窗口的距離差,即為光流向量,通過差分,獲取光流速度。
所述的步驟s3中,姿態(tài)補(bǔ)償?shù)姆椒椋喊〝?shù)據(jù)表示和變換表示。
所述的步驟s3中,光流速度的獲取方法為:
通過攝像機(jī)投影矩陣將圖像坐標(biāo)系下的二位點(diǎn)與攝像機(jī)坐標(biāo)系下的三維點(diǎn)進(jìn)行匹配;
通過變換矩陣將攝像機(jī)坐標(biāo)系下的空間點(diǎn)轉(zhuǎn)換到機(jī)體坐標(biāo)系下;在坐標(biāo)變換的過程中消除攝像頭不在機(jī)體中心而造成的偏差;
通過變換矩陣將機(jī)體坐標(biāo)系下的空間點(diǎn)轉(zhuǎn)換到世界坐標(biāo)系下,在缺乏磁力計(jì),無法獲取當(dāng)前時(shí)刻方位角的情況下,將世界坐標(biāo)系的x軸正方向設(shè)為初始飛行機(jī)頭的朝向方向。
所述的步驟s4中,對(duì)無人機(jī)在水平方向上的速度進(jìn)行積分得到相對(duì)位移信息,累加相對(duì)位移信息,即得水平方向上的相對(duì)位置信息。
與現(xiàn)有技術(shù)相比,有益效果是:本發(fā)明使用lk光流反向相乘算法結(jié)合金字塔算法估計(jì)光流,避免了傳統(tǒng)光流算法迭代中反復(fù)計(jì)算海森矩陣的步驟,簡(jiǎn)化了的迭代過程,降低了算法的復(fù)雜度。同時(shí)金字塔算法為由粗到精的估計(jì)策略,很大程度上克服了較大、較快的運(yùn)動(dòng)所造成的光流估計(jì)錯(cuò)誤問題。從而使算法能應(yīng)用到飛行速度較快的旋翼無人機(jī)平臺(tái)上。
本發(fā)明采用對(duì)極幾何模型,融合光流估計(jì)、無人機(jī)的姿態(tài)角以及飛行高度信息估計(jì)無人機(jī)在水平方向上的飛行速度。通過對(duì)對(duì)極幾何模型進(jìn)一步地推導(dǎo),在沒有偏航角信息的情況下,本發(fā)明利用慣性測(cè)量單元模塊解算出兩幀圖像之間的偏航角增量,并將之用于對(duì)光流速度進(jìn)行姿態(tài)補(bǔ)償,估計(jì)旋翼無人機(jī)在世界坐標(biāo)系內(nèi)的水平飛行速度,減少平臺(tái)所搭載的傳感器數(shù)量。
附圖說明
圖1為本發(fā)明無人機(jī)機(jī)體坐標(biāo)系與攝像機(jī)坐標(biāo)系示意圖;
圖2為本發(fā)明無人機(jī)水平方向速度的估計(jì)流程;
圖3為本發(fā)明基于多傳感器的旋翼無人機(jī)實(shí)時(shí)自主定位方法流程圖;
圖4為本發(fā)明實(shí)現(xiàn)無人機(jī)定位的場(chǎng)景圖。
具體實(shí)施方式
附圖僅用于示例性說明,不能理解為對(duì)本專利的限制;為了更好說明本實(shí)施例,附圖某些部件會(huì)有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;對(duì)于本領(lǐng)域技術(shù)人員來說,附圖中某些公知結(jié)構(gòu)及其說明可能省略是可以理解的。附圖中描述位置關(guān)系僅用于示例性說明,不能理解為對(duì)本專利的限制。
一種融合機(jī)載多傳感器的旋翼無人機(jī)自主定位方法,包括:
1)利用機(jī)載攝像頭,獲取地面的實(shí)時(shí)圖像信息;
考慮包括加速度計(jì)與陀螺儀的慣性測(cè)量單元,利用機(jī)載慣性測(cè)量單元模塊中的加速度計(jì)和陀螺儀分別測(cè)得無人機(jī)的實(shí)時(shí)加速度和角速度信息,通過四元數(shù)解算,估計(jì)旋翼無人機(jī)的實(shí)時(shí)姿態(tài)信息,其中實(shí)時(shí)無人機(jī)的姿態(tài)信息包括無人機(jī)的偏航角增量、橫滾角和俯仰角;
利用機(jī)載超聲波傳感器測(cè)量無人機(jī)相對(duì)于地面的高度信息,并利用慣性測(cè)量單元獲取的實(shí)時(shí)姿態(tài)信息進(jìn)行姿態(tài)補(bǔ)償,實(shí)時(shí)校正垂直高度信息;
2)實(shí)時(shí)獲取地面紋理灰度圖像信息,對(duì)每幀灰度圖像選擇固定數(shù)量的特征點(diǎn),通過匹配相鄰兩幀灰度圖像,計(jì)算光流向量,并通過差分,獲取光流速度;
3)同步攝像頭、慣性測(cè)量單元與超聲波傳感器的時(shí)間戳,利用慣性測(cè)量單元獲取的實(shí)時(shí)姿態(tài)信息,對(duì)光流速度進(jìn)行姿態(tài)補(bǔ)償,得到光流速度在水平方向上的分量;利用超聲波傳感器獲取的高度信息對(duì)光流速度在水平方向熵的分量進(jìn)行尺度還原,得到無人機(jī)的水平方向上的速度;
4)對(duì)無人機(jī)在水平方向上的速度進(jìn)行積分得到相對(duì)位移信息,累加相對(duì)位移信息,則得到水平方向上的位移信息,
所述的步驟2)中光流速度的獲取方法為:
對(duì)每幀灰度圖采用shi-tomasi角點(diǎn)檢測(cè)的方法,選取100個(gè)紋理信息最明顯的特征點(diǎn),以特征點(diǎn)為中心選取3*3的像素窗口作為一個(gè)像素單元,將前一幀灰度圖中的像素窗口位置作為后一幀灰度圖的像素窗口的初始位置,建立一個(gè)搜索區(qū)域,利用lucas-kanade反向相乘算法,采用五層光流金字塔模型,利用最小二乘法,通過令前一幀的像素窗口在后一陣的灰度圖的搜索區(qū)域內(nèi)搜索灰度差和最小,求得后一幀的像素窗口位置,兩幀像素窗口的距離差,即為光流向量,通過差分,獲取光流速度。
lk反向相乘算法如下:
其中,w(x;p)為扭曲因子,即w(x,p)=(x+p1,y+p2)t,其中p=(p1,p2)t為前后兩幀灰度圖像上像素窗口在圖像x和y方向的光流偏移t(x)與i(x)分別代表當(dāng)前時(shí)刻與上一時(shí)刻的兩幀灰度圖。
利用迭代
更新扭曲因子矩陣w(x;p)。
將式(2.1.1)關(guān)于p=0處進(jìn)行一階泰勒展開得:
對(duì)上式對(duì)δp求導(dǎo),并令導(dǎo)數(shù)為0,則增量δp可表示為:
其中,
由于雅各比行列式
進(jìn)一步,步驟3)中所述姿態(tài)補(bǔ)償?shù)姆椒椋?/p>
1)對(duì)于數(shù)據(jù)表示。如圖1所示,記前后兩個(gè)時(shí)刻為t1和t2,對(duì)應(yīng)的超聲波測(cè)量信息為l1和l2。
對(duì)于慣性測(cè)量單元姿態(tài)角,建立機(jī)體坐標(biāo)系:
x軸正方向?qū)?yīng)機(jī)體右側(cè),該軸對(duì)應(yīng)的歐拉角為pitch角(俯仰角);
y軸正方向?qū)?yīng)機(jī)頭方向,該軸對(duì)應(yīng)的歐拉角為roll角(滾轉(zhuǎn)角);
z軸正方向?qū)?yīng)豎直向上,該軸對(duì)應(yīng)的歐拉角為yaw角(偏航角)。
無人機(jī)歐拉角的合成順序(即通過歐拉角得到旋轉(zhuǎn)矩陣的順序)為一般意義下的偏航角-俯仰角-滾轉(zhuǎn)角(yaw-pitch-roll)。記無人機(jī)在某個(gè)時(shí)刻ti在世界坐標(biāo)系中測(cè)得的偏航角(yaw)、俯仰角(pitch)和滾轉(zhuǎn)角(roll)為αi、βi和γi,那么無人機(jī)機(jī)體坐標(biāo)系在該時(shí)刻相對(duì)于世界坐標(biāo)系的旋轉(zhuǎn)變換關(guān)系為:
其中
(2)對(duì)于變換表示。
這里一個(gè)空間三維點(diǎn)的齊次坐標(biāo)表示記為x=[x,y,z,1]t,在對(duì)于數(shù)據(jù)的符號(hào)表示中,我們用oi表示ti時(shí)刻的機(jī)體坐標(biāo)系,所以在oi坐標(biāo)系下的三維點(diǎn)齊次坐標(biāo)記為xoi,不同的坐標(biāo)系下標(biāo)表示這個(gè)三維點(diǎn)坐標(biāo)的值是相對(duì)于不同空間坐標(biāo)系的,下文均按照這個(gè)記法進(jìn)行類似的表示。
這里記在t1和t2時(shí)刻的圖像平面對(duì)應(yīng)點(diǎn)齊次坐標(biāo)表示分別為:x1=[x1,y1,1]t和x2=[x2,y2,1]t(這兩個(gè)投影結(jié)果可以通過上述光流算法得到),并設(shè)該平面對(duì)應(yīng)點(diǎn)在t1時(shí)刻的機(jī)體坐標(biāo)系o1下的三維空間點(diǎn)齊次坐標(biāo)為xo1,則存在攝像機(jī)投影矩陣p1和p2使得:
x1=p1xo1(7)
x2=p2xo1(8)
其中:
其中,k為攝像機(jī)內(nèi)參矩陣,
其中,tc1(o1)、tc2(o2)分別表示機(jī)體坐標(biāo)系o1、o2在攝像機(jī)坐標(biāo)系c1中的三維坐標(biāo)。矩陣
我們能通過圖像和解算的姿態(tài)估計(jì)相機(jī)坐標(biāo)系和攝像機(jī)坐標(biāo)系的旋轉(zhuǎn)關(guān)系;
在圖1所示的攝像機(jī)坐標(biāo)系中,以相機(jī)為原點(diǎn),測(cè)量慣性測(cè)量單元模塊到攝像頭中心的偏移可得到tc1(o1)。
另外,等式(10)中的
其中
to2(o1)為待求位移向量,表示機(jī)體坐標(biāo)系o1的原點(diǎn)在機(jī)體坐標(biāo)系o2中三維坐標(biāo)。
所述的步驟3)中光流速度的獲取方法為:
如圖2所示,在本發(fā)明無人機(jī)水平速度的估計(jì)流程圖中:
①通過攝像機(jī)投影矩陣k[i|0]將圖像坐標(biāo)系下的二位點(diǎn)與攝像機(jī)坐標(biāo)系下的三維點(diǎn)進(jìn)行匹配;
②通過變換矩陣
③通過變換矩陣
為了獲得水平速度估計(jì),需要計(jì)算t1和t2時(shí)刻之間水平姿態(tài)下的機(jī)體位移(這里均以機(jī)載關(guān)心測(cè)量單元作為機(jī)體運(yùn)動(dòng)的度量),引入新的相機(jī)坐標(biāo)系o1-,o1-表示t1時(shí)刻的相機(jī)坐標(biāo)系o1校正滾轉(zhuǎn)角γ1和俯仰角β1后的機(jī)體坐標(biāo)系,即有:
t1和t2時(shí)刻圖像上的每組平面對(duì)應(yīng)點(diǎn)都有一個(gè)三維空間點(diǎn)與之對(duì)應(yīng),將三維空間點(diǎn)在相機(jī)坐標(biāo)系o1-下的三維點(diǎn)齊次坐標(biāo)記為xo1-,由于已經(jīng)校正了滾轉(zhuǎn)角和俯仰角,所以xo1-中的“z”坐標(biāo)分量均為t1時(shí)刻的高度(這是由最開始的基本假設(shè)得到的:速度估計(jì)使用的圖像紋理信息均近似在同一水平面),即:
xo1-=[x,y,-h1,1]t
其中h1=l1cos(β1)cos(γ1),l1為t1時(shí)刻的超聲波測(cè)量信息。
由此,t1和t2時(shí)刻的圖像對(duì)應(yīng)點(diǎn)成像映射表示為:
對(duì)等式(14)和(15)進(jìn)行矩陣運(yùn)算化簡(jiǎn)得到:
由上可知,x1、x2、k、
簡(jiǎn)記為:
其中
其中to1(c1)=to2(c2),可以根據(jù)機(jī)體坐標(biāo)系,以慣性測(cè)量單元模塊的中心點(diǎn)為原點(diǎn),通過測(cè)量攝像頭到慣性測(cè)量單元模塊中心點(diǎn)的偏移得到。
上式(20)和(21)中,只有to1-(o2)為待求量,這個(gè)待求量的含義就是:在t1時(shí)刻機(jī)體慣性測(cè)量單元的水平姿態(tài)坐標(biāo)系o1-下(含偏航角姿態(tài),但不含俯仰角和滾轉(zhuǎn)角姿態(tài)),t2時(shí)刻的機(jī)體慣性測(cè)量單元三維偏移量。只要求得了求得這個(gè)三維偏移量,除以t1和t2時(shí)刻的時(shí)間差就可以得到水平方向上的速度。
由前面式子可得,to1-(c1)和
其中,dh也是可以求得的:dh=h2-h1=l2cos(β2)cos(γ2)-l1cos(β1)cos(γ1)
由于
所以利用已知的深度信息:-h1-zt1和-h1-zt2-dh,有:
由于上式中xt1、yt1、xt2和yt2均為已知量,可易得水平姿態(tài)下的偏移量[dx,dy],最后所求的水平速度為:
求得所有特征點(diǎn)像素串口對(duì)應(yīng)的飛行器速度估值[vxi,vyi]后,通過中值濾波取得速度估值的中位數(shù)[vmid,vmid]為最終的速度估計(jì)。
通過設(shè)置具有普適性的閾值,計(jì)算所有速度估值點(diǎn)[vxi,vyi]到中位數(shù)點(diǎn)[vmid,vmid]的距離小于該閾值的數(shù)量,以此數(shù)量作為評(píng)估速度估計(jì)結(jié)果的依據(jù),當(dāng)點(diǎn)的數(shù)量占比達(dá)到70%時(shí),則判定速度估計(jì)結(jié)果正確,否則判定估計(jì)結(jié)果失敗,舍棄此次結(jié)果,進(jìn)入下一次估計(jì)。
所述步驟4)對(duì)無人機(jī)在水平方向上的速度進(jìn)行積分得到相對(duì)位移信息,累加相對(duì)位移信息,即得水平方向上的相對(duì)位置信息。
本發(fā)明適用環(huán)境如圖4所示,旋翼無人機(jī)在水泥地面、木制地板等有規(guī)則和紋理地面條件下的飛行示意圖。下標(biāo)w的坐標(biāo)系意為世界坐標(biāo)系,即在整個(gè)場(chǎng)景下建立的全局坐標(biāo)系。無人機(jī)上下標(biāo)為c的坐標(biāo)系意為機(jī)體坐標(biāo)系,由于設(shè)計(jì)了多傳感器固連裝置,慣性測(cè)量單元、攝像頭、超聲波傳感器、機(jī)體均為剛性連接,因此各自坐標(biāo)系只存在一個(gè)固定的坐標(biāo)轉(zhuǎn)換關(guān)系,該關(guān)系在設(shè)計(jì)固連裝置時(shí)已給定,如此解決了各傳感器之間的坐標(biāo)轉(zhuǎn)換問題。坐標(biāo)軸x,y為圖像坐標(biāo)系,任意地面一點(diǎn)投影到圖像平面將在該平面建立一個(gè)像素單位的坐標(biāo)。相機(jī)為下視視野,能夠向下觀測(cè)到部分地面的紋理信息。
本發(fā)明涉及融合機(jī)載多傳感器數(shù)據(jù)的旋翼無人機(jī)實(shí)時(shí)自主定位技術(shù),利用單目攝像頭獲取圖像,并結(jié)合多個(gè)機(jī)載傳感器,估計(jì)無人機(jī)在水平方向上的飛行速度,通過對(duì)速度進(jìn)行積分得到無人機(jī)相對(duì)起始點(diǎn)的水平位移,從而實(shí)現(xiàn)無人機(jī)自主實(shí)時(shí)定位。本發(fā)明采用實(shí)時(shí)性能較高的lk光流反向迭代算法計(jì)算光流,利用對(duì)極幾何模型,并在偏航角未知的情況下,利用偏航角增量估計(jì)無人機(jī)的實(shí)時(shí)姿態(tài)信息,從而對(duì)光流速度進(jìn)行姿態(tài)補(bǔ)償,提出了一種實(shí)時(shí)、準(zhǔn)確的旋翼無人機(jī)自主定位解決方案。
顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無需也無法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。