本發(fā)明屬于機(jī)器人全覆蓋路徑規(guī)劃,具體為一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法及相關(guān)設(shè)備。
背景技術(shù):
1、近年來,人工智能算法與應(yīng)用技術(shù)研究方興未艾,移動機(jī)器人作為人工智能技術(shù)的代表性載體之一,已成為全球科技界競相探索的重要前沿領(lǐng)域。這使得移動機(jī)器人越來越多地被應(yīng)用到多種場景中,特別是其在家庭室內(nèi)服務(wù)中的應(yīng)用,不僅可以協(xié)助或者獨立完成一些任務(wù),并且在很大程度上方便了人們的家庭活動,如掃地機(jī)器人等。但由于這類機(jī)器人在室內(nèi)導(dǎo)航缺乏可靠的全球?qū)Ш叫l(wèi)星定位系統(tǒng)信號,還要面臨復(fù)雜多變的現(xiàn)實環(huán)境的考驗,使得有效、合理、準(zhǔn)確的路徑規(guī)劃算法成為移動機(jī)器人研究領(lǐng)域的重要內(nèi)容。
2、移動機(jī)器人路徑規(guī)劃主要有兩種模型,第一種是移動機(jī)器人自主設(shè)計從起點到終點,距離最短、耗時最短、安全無碰撞的最優(yōu)路徑;第二種是移動機(jī)器人自主設(shè)計在二維空間中的遍歷,重復(fù)路徑最短、效率最高、有效避障的最佳路徑。到目前,國內(nèi)外學(xué)者對移動機(jī)器人的路徑規(guī)劃已進(jìn)行過大量研究工作,提出或改進(jìn)了諸多算法,包括a*算法、dijstra算法、快速擴(kuò)展隨機(jī)樹算法(rrt)、隨機(jī)路標(biāo)圖算法(prm)、人工勢場法(apf)等傳統(tǒng)算法,以及遺傳算法(ga)、人工魚群算法(afs)、粒子群算法(pos)、神經(jīng)網(wǎng)絡(luò)算法(nn)、蟻群算法(aco)等智能優(yōu)化算法。上述算法中,蟻群算法作為一種啟發(fā)式搜索算法,有具有較強(qiáng)的魯棒性、優(yōu)良的分布式計算、易于與其他算法相結(jié)合等優(yōu)點,成為當(dāng)今分布式人工智能研究的一個熱點,許多源于蟻群模型設(shè)計的算法已經(jīng)越來越多地被應(yīng)用于各個領(lǐng)域的研究,尤其在移動機(jī)器人路徑規(guī)劃領(lǐng)域得到了充分的應(yīng)用和發(fā)展。
3、但是,在移動機(jī)器人路徑規(guī)劃中,子區(qū)域的訪問順序未設(shè)定導(dǎo)致全覆蓋路徑中的重復(fù)路徑較多;常用的為柵格地圖,導(dǎo)致計算資源浪費且重復(fù)路徑較多。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法及相關(guān)設(shè)備,解決了由于子區(qū)域訪問順序未設(shè)定和常用在柵格地圖中進(jìn)行遍歷規(guī)劃導(dǎo)致的全覆蓋路徑覆蓋率高的問題。
2、為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法,其特征在于,包括:
4、在存在障礙物的地圖上,利用maklink圖論生成maklink線劃分遍歷的子區(qū)域和構(gòu)造二維路徑規(guī)劃可行空間;
5、利用一維蟻群算法得出遍歷子區(qū)域的最佳訪問順序,再基于二維路徑規(guī)劃的可行空間利用求最小函數(shù)值的蟻群算法得到機(jī)器人在子區(qū)域間轉(zhuǎn)換的最優(yōu)路徑;
6、使用boustrophedon路徑按子區(qū)域的最佳訪問順序和子區(qū)域轉(zhuǎn)換的最優(yōu)路徑依次在子區(qū)域內(nèi)進(jìn)行“弓”字形遍歷。
7、優(yōu)選地,利用maklink圖論生成maklink線劃分遍歷的子區(qū)域和構(gòu)造二維路徑規(guī)劃可行空間的步驟具體為:
8、首先對實驗環(huán)境空間的障礙物和環(huán)境進(jìn)行表示,然后用凹凸多邊形代表環(huán)境中的障礙物,使用maklink鏈接線連接不同障礙物的頂點,鏈接線不經(jīng)過障礙物、與障礙物邊界構(gòu)成的外角不大于,且鏈接線兩兩不相交,利用鏈接線、障礙物的邊界線和二維地圖的邊界,將作業(yè)空間分割成多個凸多邊形來構(gòu)建移動機(jī)器人的可遍歷子區(qū)域。
9、優(yōu)選地,利用一維蟻群算法得出遍歷子區(qū)域的最佳訪問順序步驟具體為:
10、首先確定有相鄰邊的子區(qū)域,設(shè)定任意兩個有連接邊的子區(qū)域連接權(quán)重為1,將每個子區(qū)域視為一個節(jié)點,給出每個子區(qū)域?qū)?yīng)的鄰接矩陣,根據(jù)鄰接矩陣給出任意兩個子區(qū)域間的路程,根據(jù)求解“旅行商問題”的一維蟻群算法得到機(jī)器人的訪問子區(qū)域的順序。
11、優(yōu)選地,基于二維路徑規(guī)劃的可行空間利用求最小函數(shù)值的蟻群算法得到機(jī)器人在子區(qū)域間轉(zhuǎn)換的最優(yōu)路徑的步驟具體為:
12、以起點出發(fā)經(jīng)過的maklink鏈接線上的某一點到達(dá)終點的路徑長度為目標(biāo)函數(shù),以所經(jīng)過的maklink鏈接線上的某一點為自變量,將經(jīng)過的maklink鏈接線進(jìn)行歸一化處理,每次計算根據(jù)歸一化處理的結(jié)果反歸一化出maklink鏈接線上的具體位置,通過多次迭代得到移動機(jī)器人在區(qū)域間轉(zhuǎn)換的最優(yōu)路徑。
13、優(yōu)選地,移動機(jī)器人在區(qū)域間轉(zhuǎn)換的最優(yōu)路徑通過三角剪枝進(jìn)行二次優(yōu)化,具體步驟為:如果路徑中的多個連續(xù)節(jié)點形成一個多段折線,此時與的直接連接路徑不經(jīng)過任何障礙物,則用與之間的直線段替換從到的多個折線路段。
14、優(yōu)選地,最后使用boustrophedon路徑按子區(qū)域的最佳訪問順序和子區(qū)域轉(zhuǎn)換的最優(yōu)路徑依次在子區(qū)域內(nèi)進(jìn)行“弓”字形遍歷的步驟具體為:
15、移動機(jī)器人按子區(qū)域的最佳訪問順序子區(qū)域轉(zhuǎn)換的最優(yōu)路徑走到需要遍歷的子區(qū)域,沿子區(qū)域的最長邊呈“弓”字形往復(fù)地走到子區(qū)域該條邊的另一頂點處,到達(dá)這條邊的另一頂點時,然后再沿著這條最長邊往復(fù)運(yùn)動,實現(xiàn)移動機(jī)器人全覆蓋的路徑規(guī)劃。
16、一種移動機(jī)器人二維全覆蓋路徑規(guī)劃系統(tǒng),包括:
17、劃分構(gòu)造模塊:用于在存在障礙物的地圖上,利用maklink圖論生成maklink線劃分遍歷的子區(qū)域和構(gòu)造二維路徑規(guī)劃可行空間;
18、計算模塊:用于利用一維蟻群算法得出遍歷子區(qū)域的最佳訪問順序,再基于二維路徑規(guī)劃的可行空間利用求最小函數(shù)值的蟻群算法得到機(jī)器人在子區(qū)域間轉(zhuǎn)換的最優(yōu)路徑;
19、遍歷模塊:用于使用boustrophedon路徑按子區(qū)域的最佳訪問順序和子區(qū)域轉(zhuǎn)換的最優(yōu)路徑依次在子區(qū)域內(nèi)進(jìn)行“弓”字形遍歷。
20、優(yōu)選地,在計算模塊中,基于二維路徑規(guī)劃的可行空間利用求最小函數(shù)值的蟻群算法得到機(jī)器人在子區(qū)域間轉(zhuǎn)換的最優(yōu)路徑的步驟具體為:
21、以起點出發(fā)經(jīng)過一些maklink鏈接線上的某一點到達(dá)終點的路徑長度為目標(biāo)函數(shù),以所經(jīng)過的一些maklink鏈接線上的某一點為自變量,將經(jīng)過的這些maklink鏈接線進(jìn)行歸一化處理,每次計算根據(jù)歸一化處理的結(jié)果反歸一化出這些maklink鏈接線上的具體位置,通過多次迭代得到移動機(jī)器人在區(qū)域間轉(zhuǎn)換的最優(yōu)路徑,然后移動機(jī)器人在區(qū)域間轉(zhuǎn)換的最優(yōu)路徑通過三角剪枝進(jìn)行二次優(yōu)化,具體步驟為:如果路徑中的多個連續(xù)節(jié)點形成一個多段折線,此時與的直接連接路徑不經(jīng)過任何障礙物,則可以用與之間的直線段替換從到的多個折線路段。
22、一種計算機(jī)設(shè)備,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法的步驟。
23、一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法的步驟。
24、與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:本發(fā)明提供了一種移動機(jī)器人二維全覆蓋路徑規(guī)劃方法,在復(fù)雜的二維環(huán)境模型,例如不規(guī)則障礙物、凹凸多邊形障礙物存在的二維地圖中,首先通過maklink圖論生成的maklink線可以有效地將地圖劃分為多個子區(qū)域,有助于簡化路徑搜索問題,提高搜索效率,接著計算出機(jī)器人訪問各子區(qū)域的順序,演算出機(jī)器人在各個子區(qū)域間的轉(zhuǎn)換最佳路徑,能夠確保機(jī)器人高效地覆蓋整個子區(qū)域,減少遺漏和重復(fù)清掃的可能性,并按照最佳轉(zhuǎn)換路徑和訪問順序在子區(qū)域間移動,有助于減少機(jī)器人在遍歷子區(qū)域時的重復(fù)路徑和無效移動。。
25、進(jìn)一步地,子區(qū)域間轉(zhuǎn)換路徑還采用了三角剪枝的幾何優(yōu)化,使得由蟻群算法計算得到的較優(yōu)轉(zhuǎn)換路徑優(yōu)化為最優(yōu)路徑。