無(wú)人機(jī)具體的光流數(shù)據(jù),如何應(yīng)用到位置估計(jì)算法里,可以參考下文。
總體來(lái)看,光流算法分為兩步:
通過(guò)下視攝像頭獲得圖像數(shù)據(jù),分析圖像的不同時(shí)刻的幀數(shù)據(jù),得到像素的移動(dòng)速度;
將像素的移動(dòng)速度轉(zhuǎn)換成飛行器的移動(dòng)速度;
然后講一下光流的數(shù)據(jù)在進(jìn)融合算法前,常見(jiàn)的需要進(jìn)行哪些預(yù)處理。
1、首先是與高度的關(guān)系,光流的數(shù)據(jù)一般在低空范圍內(nèi)有效,比如5m以內(nèi),超過(guò)一定高度,得到的數(shù)據(jù)精度就會(huì)比較差了,同時(shí)與高度有一個(gè)線性的關(guān)系,根據(jù)高度的大小,對(duì)光流得到的機(jī)體xy速度進(jìn)行縮放;
一般來(lái)說(shuō),配合光流的高度數(shù)據(jù)主要來(lái)自超聲波傳感器,同樣可以測(cè)得低空的高度,而且較氣壓計(jì)而言,精度較高,得到的相對(duì)高度比較準(zhǔn)確(氣壓計(jì)有漂移,受風(fēng)影響大,噪音也大)。
2、其次,需要進(jìn)行姿態(tài)補(bǔ)償。
什么意思呢?假設(shè)一種情況,飛行器在原地晃動(dòng),比如左右擺動(dòng),此時(shí)光流會(huì)輸出一個(gè)速度數(shù)據(jù)出來(lái),而實(shí)際飛行器并未有位置上的變化,所以需要將這個(gè)誤判的速度進(jìn)行修正掉。
光流傳感器輸出什么?
首先要知道光流傳感器的輸出是什么?光流傳感器輸出的是xy兩個(gè)軸向的速度數(shù)據(jù),注意,沒(méi)有位置數(shù)據(jù),而位置反饋可以通過(guò)速度積分獲得,不可避免會(huì)產(chǎn)生漂移,但實(shí)際通過(guò)組合導(dǎo)航算法的處理,也可獲得較為滿意的使用效果。
3、最后還有一個(gè)yaw的旋轉(zhuǎn)補(bǔ)償。這個(gè)主要針對(duì)的是光流傳感器并未放在飛行器中心位置,所以在原地yaw旋轉(zhuǎn)運(yùn)動(dòng)時(shí),xy會(huì)不對(duì)稱的輸出錯(cuò)誤的數(shù)據(jù),而這個(gè)數(shù)據(jù)是我們不需要的(實(shí)際飛行器并未運(yùn)動(dòng))。