基于邊界點(diǎn)優(yōu)化和多步路徑規(guī)劃的機(jī)器人自主探索(1)
本文作者:計(jì)算機(jī)視覺工坊@K.Fire | 來源:計(jì)算機(jī)視覺工坊
論文題目:Autonomous Robotic Exploration Based on Frontier Point Optimization and Multistep Path Planning
中文題目:基于邊界點(diǎn)優(yōu)化和多步路徑規(guī)劃的機(jī)器人自主探索
作者:Baofu Fang ;Jianfeng Ding ; Zaijun Wang
作者機(jī)構(gòu):合肥工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院
論文鏈接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8681502
1 前言機(jī)器人對(duì)未知環(huán)境的自主探索是機(jī)器人智能化的關(guān)鍵技術(shù)。為了提高搜索效率,作者提出了一種基于邊界點(diǎn)優(yōu)化和多步路徑規(guī)劃的搜索策略。他們主要對(duì)邊界點(diǎn)優(yōu)化、邊界點(diǎn)選擇、路徑規(guī)劃三個(gè)方面對(duì)路徑規(guī)劃算法進(jìn)行改進(jìn)。在邊界點(diǎn)優(yōu)化部分,提出了一種隨機(jī)邊界點(diǎn)優(yōu)化(RFPO)算法,選擇評(píng)價(jià)值最高的邊界點(diǎn)作為目標(biāo)邊界點(diǎn)。綜合考慮信息增益、導(dǎo)航成本和機(jī)器人定位精度,來確定邊界點(diǎn)的評(píng)價(jià)函數(shù)。在路徑規(guī)劃部分,提出了一個(gè)多步探索策略。沒有直接規(guī)劃從機(jī)器人當(dāng)前位置到目標(biāo)邊界點(diǎn)的全局路徑,而是設(shè)置了局部探索路徑步長(zhǎng)。當(dāng)機(jī)器人的運(yùn)動(dòng)距離達(dá)到局部探索路徑步長(zhǎng)時(shí),重新選擇當(dāng)前最優(yōu)邊界點(diǎn)進(jìn)行路徑規(guī)劃,以減少機(jī)器人走一些重復(fù)路徑的可能性。最后,通過相關(guān)實(shí)驗(yàn)驗(yàn)證了該策略的有效性。
機(jī)器人自主探索是機(jī)器人領(lǐng)域的一個(gè)重要研究課題。主要目標(biāo)是讓機(jī)器人在有限時(shí)間且無(wú)需人工干預(yù)的情況下,獲得最完整、最準(zhǔn)確的環(huán)境地圖。許多現(xiàn)有的地圖探索策略都是基于邊界,邊界定義為未知空間與已知空間的分界線?;谶吔绲奶剿鞑呗缘乃枷胧且龑?dǎo)機(jī)器人到未知區(qū)域完成探索任務(wù),因此自主探索任務(wù)一般分為三個(gè)步驟:生成邊界點(diǎn)、選擇評(píng)價(jià)值最高的邊界點(diǎn)、規(guī)劃前往所選邊界點(diǎn)的路徑。
邊界點(diǎn)的生成以基于邊界的探索策略為前提。在現(xiàn)有的研究中,常見地邊界點(diǎn)生成算法有:
- 基于數(shù)字圖像處理的邊緣檢測(cè)和區(qū)域提取技術(shù):為了提取邊界邊緣,必須對(duì)整個(gè)地圖進(jìn)行處理,隨著地圖的擴(kuò)展,處理它將消耗越來越多的計(jì)算資源。
- Keidar和Kaminka后來提出了一種只處理新的激光讀取數(shù)據(jù)的邊界檢測(cè)算法,加快了計(jì)算速度,降低了計(jì)算資源的消耗。
- 快速探索隨機(jī)樹(rapid-exploration Random Tree, RRT)算法:由于RRT算法的隨機(jī)性,生成的邊界點(diǎn)分布不均勻。
- 基于廣度優(yōu)先搜索(BFS)的方法:這種方法簡(jiǎn)單便捷,不重不漏,但在大地圖環(huán)境下,相對(duì)于其他算法可能計(jì)算速度稍慢
目標(biāo)邊界點(diǎn)的選擇是有效探索的關(guān)鍵。以邊界為基礎(chǔ)的戰(zhàn)略是由Yamauchi首先提出的。所使用的探索策略是識(shí)別當(dāng)前地圖中的所有邊界區(qū)域,然后驅(qū)動(dòng)機(jī)器人前往最近的邊界點(diǎn)。這種方法對(duì)于探索任務(wù)有兩個(gè)缺點(diǎn)。首先,它平等對(duì)待所有邊界。其次,它僅限于一個(gè)信息來源:尋找新邊界區(qū)域。因此很多研究者提出了多種不同的邊界點(diǎn)選擇算法,來改善這一情況。這篇文章是綜合考慮信息增益、導(dǎo)航成本和機(jī)器人定位精度,來確定邊界點(diǎn)的評(píng)價(jià)函數(shù)。
最后是機(jī)器人的路徑規(guī)劃部分,對(duì)于機(jī)器人自主探索中路徑規(guī)劃的研究已經(jīng)存在很多高效的算法:
- 基于A*的路徑規(guī)劃算法
- 基于RRT算法生成機(jī)器人搜索路徑的算法
- 帶有信息論目標(biāo)函數(shù)的部分可觀察馬爾可夫決策過程(POMDP)
- 基于遺傳算法(GA)的路徑規(guī)劃方法
- 為傳統(tǒng)的基于邊界的探測(cè)策增加一個(gè)概率決策步驟,以決定在計(jì)劃路徑上進(jìn)一步移動(dòng)到下一個(gè)傳感位置是否可取。
文中采用ROS平臺(tái)下常見的SLAM算法--GMapping構(gòu)建二維占用網(wǎng)格圖,然后使用RRT算法在地圖中生成邊界點(diǎn),如果新生成的點(diǎn)位于未知區(qū)域,則認(rèn)為該點(diǎn)為邊界點(diǎn)。它會(huì)被標(biāo)記在地圖上,然后我們停止這棵樹的生長(zhǎng)。將當(dāng)前機(jī)器人的位置作為新的根節(jié)點(diǎn),我們構(gòu)建一個(gè)新的快速探索隨機(jī)樹來生成邊界點(diǎn)。邊界點(diǎn)生成示例如下圖所示。
2.2邊界點(diǎn)評(píng)價(jià)函數(shù)文章從邊界點(diǎn)的信息增益、導(dǎo)航成本和機(jī)器人定位精度三個(gè)方面對(duì)邊界點(diǎn)進(jìn)行評(píng)估。
- 信息增益被定義為對(duì)于一個(gè)給定邊界點(diǎn)預(yù)期被探索的未知區(qū)域面積。本文采用直接測(cè)量目標(biāo)邊界點(diǎn)可見區(qū)域內(nèi)未檢測(cè)到的空間大小的方法計(jì)算信息增益。以邊界點(diǎn)為圓心,以激光雷達(dá)探測(cè)距離為半徑形成圓。邊界點(diǎn)檢測(cè)圈如下圖所示。通過計(jì)算圓圈中未知單元格的數(shù)量來量化信息增益。
- 導(dǎo)航成本定義為機(jī)器人到達(dá)邊界點(diǎn)的預(yù)期距離,使用機(jī)器人當(dāng)前位置到目標(biāo)邊界點(diǎn)的歐氏距離來表示。
- 在目標(biāo)邊界點(diǎn)的探測(cè)范圍內(nèi),如果能檢測(cè)到更多的直線特征或其他特征(如斷點(diǎn)、拐角、折線),機(jī)器人就能更準(zhǔn)確地定位自己。文章用邊界點(diǎn)檢測(cè)圈內(nèi)障礙物的面積來表示定位精度。通過計(jì)算圓圈中被占用的單元數(shù)來量化。邊界點(diǎn)評(píng)價(jià)函數(shù)定義如下所示:
其中α、β、γ分別為信息增益、導(dǎo)航成本和障礙物面積的權(quán)重。這些權(quán)重用于調(diào)整不同因素的重要性,可根據(jù)不同的任務(wù)和環(huán)境進(jìn)行設(shè)置。如果探索任務(wù)要求盡快完成探索,則增加α,降低γ;如果探索任務(wù)更注重地圖的準(zhǔn)確性,則減少α,增加γ。β通常取1表示單位導(dǎo)航成本下的增益值。利用邊界點(diǎn)評(píng)價(jià)函數(shù)對(duì)所有邊界點(diǎn)進(jìn)行評(píng)價(jià)。選取值最大的點(diǎn)作為目標(biāo)邊界點(diǎn)。
PS:在計(jì)算導(dǎo)航成本時(shí),如果環(huán)境地圖過于復(fù)雜,可以選擇使用A*規(guī)劃出的路徑長(zhǎng)度作為導(dǎo)航成本項(xiàng),但會(huì)造成過大的資源計(jì)算消耗;另外,作者提出的這種計(jì)算模型是比較合理的,導(dǎo)航成本在分母上,也就是說距離越大得分越低,信息增益和障礙物面積在分子上,機(jī)器人在選擇目標(biāo)點(diǎn)時(shí),肯定傾向于選擇信息增益高、導(dǎo)航精度高的目標(biāo)點(diǎn)。
2.3隨機(jī)邊界點(diǎn)優(yōu)化算法由于邊界點(diǎn)的生成部分始終運(yùn)行在整個(gè)探測(cè)過程中,因此隨著探測(cè)任務(wù)的執(zhí)行,將得到許多邊界點(diǎn)。然而,由于RRT算法的隨機(jī)性,這些邊界點(diǎn)的分布是不均勻的。因此,需要對(duì)生成的邊界點(diǎn)進(jìn)行優(yōu)化。文中借鑒GSO算法的思想,提出RFPO算法。GSO算法是一種新型的仿生群體智能優(yōu)化算法。它模擬了高亮度螢火蟲會(huì)吸引低亮度螢火蟲向其移動(dòng)的自然現(xiàn)象,使所有螢火蟲集中在一個(gè)更好的位置,從而實(shí)現(xiàn)問題的優(yōu)化。在RFPO算法中,將每個(gè)邊界點(diǎn)視為一只螢火蟲,并將邊界點(diǎn)評(píng)價(jià)函數(shù)的值E作為其絕對(duì)亮度值L:
螢火蟲會(huì)被絕對(duì)亮度值更大的螢火蟲所吸引,并向其移動(dòng)。這種吸引力的大小由螢火蟲對(duì)螢火蟲的相對(duì)亮度值決定,螢火蟲在螢火蟲所在位置的亮度強(qiáng)度定義為螢火蟲對(duì)螢火蟲的相對(duì)亮度,相對(duì)亮度值越大,吸引力越大。然后對(duì)相對(duì)亮度進(jìn)行建模。對(duì)于每個(gè)邊界點(diǎn),都有一個(gè)感知半徑。它的值應(yīng)根據(jù)感知傳感器的范圍來設(shè)置。在這個(gè)范圍內(nèi),每一個(gè)邊界點(diǎn)都會(huì)找到絕對(duì)亮度值大于自己的其他邊界點(diǎn),形成自己的鄰域集。在鄰域集中使用輪盤賭的方法,選擇下一個(gè)要移動(dòng)的目標(biāo)點(diǎn)。
PS:這里的建模過程不是文章主要內(nèi)容,就不過多展開,感興趣可以在原文查看詳細(xì)推導(dǎo)過程。
3 多步探索策略采用多步探索的原因:在機(jī)器人運(yùn)動(dòng)的過程中,會(huì)產(chǎn)生一些新的邊界點(diǎn),一些舊的邊界點(diǎn)會(huì)失效,而新生成的邊界點(diǎn)可能會(huì)優(yōu)于當(dāng)前的最優(yōu)目標(biāo)邊界點(diǎn)。這可能會(huì)導(dǎo)致機(jī)器人選擇一些重復(fù)的路徑。
文中解決方法:定義了一個(gè)局部探索路徑步長(zhǎng)。每次當(dāng)機(jī)器人的運(yùn)動(dòng)距離達(dá)到步長(zhǎng)時(shí),就清除無(wú)效點(diǎn),并對(duì)所有剩余的邊界點(diǎn)進(jìn)行重新優(yōu)化和重新選擇。在每個(gè)局部探索路徑步長(zhǎng)內(nèi),采用動(dòng)態(tài)窗口法進(jìn)行機(jī)器人避障局部路徑規(guī)劃。
PS:動(dòng)態(tài)窗口法是ROS中常見地局部路徑規(guī)劃方法,主要思想是在速度空間中進(jìn)行采樣,生成下一時(shí)間步的模擬軌跡,然后根據(jù)評(píng)估函數(shù)選擇得分最高的路徑,驅(qū)動(dòng)機(jī)器人移動(dòng)。
如下圖所示,黃色點(diǎn)為目標(biāo)邊界點(diǎn)。作者在不同的速度集上模擬了許多軌跡。根據(jù)他們定義的軌跡評(píng)價(jià)函數(shù),選取得分最高的軌跡(下圖中用紅色標(biāo)記的路徑)??梢钥闯?,機(jī)器人執(zhí)行紅色軌跡可以快速到達(dá)目標(biāo)邊界點(diǎn)。同時(shí),軌跡與墻體有一定的安全距離,墻體邊界可以幫助機(jī)器人更準(zhǔn)確地定位自身。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。