無人機(jī)避障:在未知環(huán)境中使用視覺特征
在未知環(huán)境中基于視覺的機(jī)器人自主導(dǎo)航是一個趨勢研究領(lǐng)域。然而,與地面飛行器相比,飛行器的任務(wù)變得更加復(fù)雜,基于它們對所有六個自由度(上/下、左/右、前/后、滾動、偏航和俯仰角)的控制。此外,由于其旋翼或外部因素(例如風(fēng))引起的UAV中的湍流可能會改變UAV的預(yù)期路徑。提出了一種用于無人機(jī)的單目視覺輔助方法,可以在GPS拒絕環(huán)境中避開正面障礙物。無人機(jī)配備前置單目攝像頭。從該相機(jī)提取的視頻作為所提出的避障算法的輸入,該算法首先估計正面障礙物與無人機(jī)當(dāng)前位置的距離,然后生成必要的控制命令集以安全地避免碰撞。UAV的內(nèi)部比例積分微分 (PID) 控制器負(fù)責(zé)使用修改后的控制命令(偏航、俯仰和滾動值的變化)。圖1顯示四旋翼無人機(jī)飛向正面障礙物。
圖1 一架四旋翼無人機(jī)正向前方障礙物移動
提出的系統(tǒng)架構(gòu)(如圖2所示)由兩個主要組件組成:無人機(jī)系統(tǒng) (UAVS) 和計算機(jī)視覺系統(tǒng) (CVS)。兩個組件都通過無線局域網(wǎng)連接。無人機(jī)從前置攝像頭逐幀提取視頻,并將其傳遞給CVS 以測量深度。CVS基于來自多個幀的尺度不變關(guān)鍵點制定測量值,以估計當(dāng)前位置的深度。CVS還負(fù)責(zé)生成下一個無障礙導(dǎo)航命令。根據(jù)命令,無人機(jī)的內(nèi)部PID控制器修改偏航、滾動或俯仰值以安全地導(dǎo)航無人機(jī)。
圖2 建議的系統(tǒng)架構(gòu)有兩個主要組件:無人機(jī)和CVS
數(shù)學(xué)模型基于無人機(jī)在直線路徑上保持恒定速度且無任何偏差的假設(shè)。該模型的工作原理與針孔相機(jī)模型相同。如圖3所示,在現(xiàn)實世界中,位于A點的障礙物高度為H。該無人機(jī)前方裝有針孔攝像頭,以恒定高度AO飛行。長度f是針孔相機(jī)的焦距,對于幀j和幀k,中心分別位于點O1和O2。點O、O1和O2位于一條直線上,該直線還指示無人機(jī)的路徑,并垂直于前方障礙物。我們可以看到,隨著無人機(jī)向目標(biāo)移動,圖像平面上目標(biāo)的高度繼續(xù)增加。
圖3 用于估計深度的針孔相機(jī)模型
隨著無人機(jī)的發(fā)展,我們的算法需要尺度不變的關(guān)鍵點。我們的方法首先在當(dāng)前幀中找到ORB關(guān)鍵點,然后將它們與前一幀的關(guān)鍵點進(jìn)行匹配。前一幀可以是與已處理幀緊鄰的幀,也可以是由于傳輸延遲而跳過某些幀后的幀。因為ORB關(guān)鍵點是尺度不變的,所以它們傾向于在連續(xù)幀中匹配。我們使用暴力K近鄰 (KNN) 匹配來計算兩幀之間的匹配。對于這兩個幀,計算所有匹配關(guān)鍵點的質(zhì)心。連接質(zhì)心和匹配關(guān)鍵點的線充當(dāng)潛在障礙。然后,我們根據(jù)以下兩條規(guī)則丟棄一些錯誤檢測到的匹配項。
規(guī)則1:
隨著無人機(jī)向前移動,每個匹配關(guān)鍵點與其質(zhì)心之間的歐氏距離應(yīng)連續(xù)幀的增加。所以我們放棄了歐幾里德距離變小的匹配。該規(guī)則在圖4的幫助下進(jìn)行了說明。前一幀不一定是當(dāng)前幀的前一幀。相反,它是一個包含與當(dāng)前幀匹配的比例不變ORB的幀。兩幀上的綠色圓圈是匹配的關(guān)鍵點,而藍(lán)色圓圈是不匹配的關(guān)鍵點。匹配關(guān)鍵點的質(zhì)心由兩幀上的紅色圓圈表示。請注意,當(dāng)前幀中每個匹配關(guān)鍵點與質(zhì)心的歐幾里得距離大于前一幀的歐幾里得距離。這些歐幾里得距離之比稱為歐幾里得尺度。
圖4 借助尺度不變的ORB關(guān)鍵點匹配進(jìn)行深度估計
規(guī)則2:
應(yīng)用規(guī)則1后,Mpc現(xiàn)在只包含剩余的匹配項。這些匹配的歐幾里德刻度值最多計算兩位小數(shù),并按升序放入列表L中。然后將列表L劃分為不同的重疊箱子。每個箱子B包含特定范圍的刻度值。
我們的算法由Parrot AR Drone 2.0 Power版四軸飛行器評估。前置攝像頭可以制作高清視頻。但是,我們將其轉(zhuǎn)換為640 × 360分辨率以加快計算速度。它的FoV為92°,并以每秒30幀的速率生成視頻饋送。CVS在地面站上運行,地面站是64位四核處理器,處理器速度為2.4GHz,RAM為4GB,運行在Ubuntu 14.04 操作系統(tǒng)上。除了使用前置攝像頭外,無人機(jī)沒有使用或添加其他傳感器來檢測障礙物。前置攝像頭的視頻輸入從無人機(jī)逐幀傳輸?shù)紺VS。然后CVS負(fù)責(zé)生成一組控制命令,這些命令是避開正面障礙物所必需的。該命令通過機(jī)器人操作系統(tǒng)接口傳遞給無人機(jī)。無人機(jī)PID控制器執(zhí)行指令及時避開障礙物。我們讓無人機(jī)在未知環(huán)境中從起點到目標(biāo)點自主飛行。為了驗證我們的算法,我們在無人機(jī)的路徑上設(shè)置了一些障礙。我們在整個實驗過程中保持無人機(jī)的速度恒定。CVS使用無人機(jī)前置攝像頭提供的視頻作為避障算法的輸入。兩個視頻幀的尺度不變ORB匹配如圖5所示。
圖5 顯示了兩個圖像幀的 ORB 關(guān)鍵點匹配
第一行代表UAV前置攝像頭獲取的原始RGB圖像。最初的未過濾ORB匹配顯示在第二行中。第三行和第四行分別表示通過應(yīng)用規(guī)則1和規(guī)則2丟棄異常值條目后過濾的ORB匹配。我們可以想象最終的ORB匹配只存在于障礙物上。這些關(guān)鍵點的歐幾里得尺度值用于估計當(dāng)前無人機(jī)位置的深度。
通過僅使用前置攝像頭來估計移動無人機(jī)的障礙物深度。我們使用尺度不變的ORB關(guān)鍵點來設(shè)計數(shù)學(xué)模型,并在GPS拒絕的未知環(huán)境中執(zhí)行它們。我們提出的視覺系統(tǒng)能夠準(zhǔn)確地檢測和避開正面障礙物。然而,我們的算法可能會在兩種情況下失敗:1)當(dāng)無人機(jī)的速度增加時,與CVS的無線通信可能會延遲,以及 2)當(dāng)障礙物的紋理不足以形成可靠的ORB關(guān)鍵點時。
源自:MAy 2019 ^ IEEE Consumer Electronics Magazine
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2161241530@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。如若轉(zhuǎn)載,請注明出處:http://www.dubailvyou.com/wurenjibaike/53314/