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