本發(fā)明屬于路徑規(guī)劃領(lǐng)域,更具體地,涉及一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法和系統(tǒng)。
背景技術(shù):
近年來,移動(dòng)機(jī)器人在社會(huì)各行各業(yè)得到快速應(yīng)用,從餐廳服務(wù)機(jī)器人到銀行大堂迎賓機(jī)器人,從工廠物料搬運(yùn)自主導(dǎo)航小車到變電站智能巡檢機(jī)器人,這些機(jī)器人都屬于移動(dòng)機(jī)器人的范疇,離不開移動(dòng)機(jī)器人的路徑規(guī)劃問題。
在移動(dòng)機(jī)器人進(jìn)行路徑規(guī)劃的過程中,滿足路徑規(guī)劃準(zhǔn)確性的同時(shí)現(xiàn)在也越來越注重高效率、低成本。傳統(tǒng)的根據(jù)柵格地圖搜索路徑的方法已經(jīng)能有效地解決移動(dòng)機(jī)器人路徑規(guī)劃準(zhǔn)確性的要求,但是當(dāng)?shù)貓D較大時(shí),就要付出巨大的空間去存儲(chǔ)地圖,而且在移動(dòng)機(jī)器人運(yùn)動(dòng)時(shí),規(guī)劃好路徑后都是通過搜索一個(gè)一個(gè)柵格前進(jìn)的,柵格的數(shù)量也會(huì)影響其路徑搜索速度,進(jìn)而影響路徑規(guī)劃效率。
針對(duì)上述情況,在保證移動(dòng)以其人路徑規(guī)劃準(zhǔn)確性的同時(shí)提升機(jī)器人路徑規(guī)劃效率和減少算法運(yùn)行成本成為一個(gè)重要突破點(diǎn)。
由此可見,現(xiàn)有技術(shù)存在路徑規(guī)劃效率不高,地圖占用存儲(chǔ)空間過大、機(jī)器人移動(dòng)速度慢等技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法和系統(tǒng),其目的在于利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),由此解決現(xiàn)有技術(shù)存在路徑規(guī)劃效率不高,地圖占用存儲(chǔ)空間過大、機(jī)器人移動(dòng)速度慢等技術(shù)問題。
為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
按照本發(fā)明的另一方面,提供了一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化系統(tǒng),包括:
規(guī)劃全局路徑模塊,用于利用原始柵格地圖,規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
獲取實(shí)時(shí)柵格尺寸模塊,用于機(jī)器人在全局路徑行進(jìn)中,獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
更新柵格地圖模塊,用于利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,獲取實(shí)時(shí)柵格尺寸模塊包括:
獲取距離子模塊,用于機(jī)器人在全局路徑行進(jìn)中,獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
選取實(shí)時(shí)柵格尺寸子模塊,用于選取實(shí)時(shí)柵格尺寸,實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
(1)本發(fā)明改善了傳統(tǒng)柵格法在移動(dòng)機(jī)器人路徑規(guī)劃過程中搜索柵格速度始終一致的弊端,使得搜索效率可以得到大幅提升;同時(shí)利用柵格合并得到的實(shí)時(shí)柵格尺寸,能有效減少地圖的存儲(chǔ)空間;同時(shí)機(jī)器人移動(dòng)時(shí)需要搜索的柵格數(shù)目也在減少,提高了機(jī)器人的移動(dòng)速度。
(2)本發(fā)明方法規(guī)劃的路徑距離更短,能夠準(zhǔn)確的到達(dá)目標(biāo)點(diǎn),解決了現(xiàn)有技術(shù)下移動(dòng)機(jī)器人路徑規(guī)劃存在的路徑規(guī)劃效率不高,地圖占用存儲(chǔ)空間過大、機(jī)器人移動(dòng)速度慢等技術(shù)問題。
(3)本發(fā)明搜索柵格地圖向著目標(biāo)點(diǎn)前進(jìn),實(shí)時(shí)更新機(jī)器人與目標(biāo)點(diǎn)和障礙物之間的距離,通過距離更新柵格尺寸,達(dá)到當(dāng)移動(dòng)機(jī)器人距離障礙物或目標(biāo)點(diǎn)遠(yuǎn)時(shí),進(jìn)行柵格合并,使柵格尺寸變大;當(dāng)移動(dòng)機(jī)器人遇到障礙物或距離目標(biāo)點(diǎn)近時(shí),把合并過的柵格進(jìn)行細(xì)分直至恢復(fù)到原始柵格大小的目的。
(4)本發(fā)明通過實(shí)時(shí)柵格尺寸更新原始柵格地圖,以此來改變柵格搜索速度,進(jìn)而調(diào)節(jié)機(jī)器人的移動(dòng)速度,使其更加適應(yīng)環(huán)境情況,達(dá)到全局綜合速度最優(yōu),提高移動(dòng)效率。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個(gè)實(shí)施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
如圖1所示,一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
實(shí)施例1
一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,根據(jù)機(jī)器人初始位置、目標(biāo)點(diǎn)和障礙物規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
優(yōu)選的,設(shè)實(shí)時(shí)柵格尺寸為n,機(jī)器人與距離最近的障礙物之間的實(shí)時(shí)障礙距離為d1=200cm,與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離為d2=500cm,d=min(d1,d2)=200cm,取n=d/k,k是一個(gè)比例參數(shù)。機(jī)器人外接圓的直徑為r=50cm,由于n≤r,則k的最小值為d0/r=200/50=4;原始柵格地圖最小柵格尺寸為a=2cm,則k的最大值為d0/a=200/2=100,因此,k在區(qū)間[d0/r,d0/a]=[200/50,200/2]=[4,100]之間調(diào)節(jié),d0=200cm為初始的d值,選定一個(gè)k=10值后,實(shí)時(shí)柵格尺寸為n=d/k=200/10=20cm。
實(shí)施例2
一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,根據(jù)機(jī)器人初始位置、目標(biāo)點(diǎn)和障礙物規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
優(yōu)選的,設(shè)實(shí)時(shí)柵格尺寸為n,機(jī)器人與距離最近的障礙物之間的實(shí)時(shí)障礙距離為d1=200cm,與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離為d2=500cm,d=min(d1,d2)=200cm,取n=d/k,k是一個(gè)比例參數(shù)。機(jī)器人外接圓的直徑為r=50cm,由于n≤r,則k的最小值為d0/r=200/50=4;原始柵格地圖最小柵格尺寸為a=2cm,則k的最大值為d0/a=200/2=100,因此,k在區(qū)間[d0/r,d0/a]=[200/50,200/2]=[4,100]之間調(diào)節(jié),d0=200cm為初始的d值,選定k的初值為:k=d/n=200/(0.5*r)=200/25=8cm,實(shí)時(shí)柵格尺寸為n=d/k=200/8=25cm。
實(shí)施例3
一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,根據(jù)機(jī)器人初始位置、目標(biāo)點(diǎn)和障礙物規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
優(yōu)選的,設(shè)實(shí)時(shí)柵格尺寸為n,機(jī)器人與距離最近的障礙物之間的實(shí)時(shí)障礙距離為d1=200cm,與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離為d2=500cm,d=min(d1,d2)=200cm,取n=d/k,k是一個(gè)比例參數(shù)。機(jī)器人外接圓的直徑為r=50cm,由于n≤r,則k的最小值為d0/r=200/50=4;原始柵格地圖最小柵格尺寸為a=2cm,則k的最大值為d0/a=200/2=100,因此,k在區(qū)間[d0/r,d0/a]=[200/50,200/2]=[4,100]之間調(diào)節(jié),d0=200cm為初始的d值,選定一個(gè)k=4值后,實(shí)時(shí)柵格尺寸為n=d/k=200/4=50cm。
實(shí)施例4
一種機(jī)器人變柵格地圖路徑規(guī)劃優(yōu)化方法,包括:
(1)利用原始柵格地圖,根據(jù)機(jī)器人初始位置、目標(biāo)點(diǎn)和障礙物規(guī)劃機(jī)器人初始位置到目標(biāo)點(diǎn)的全局路徑;
(2)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離,然后利用實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值得到實(shí)時(shí)柵格尺寸;
(3)利用實(shí)時(shí)柵格尺寸更新原始柵格地圖,得到實(shí)時(shí)柵格地圖,機(jī)器人在實(shí)時(shí)柵格地圖中前進(jìn),直至到達(dá)目標(biāo)點(diǎn)。
進(jìn)一步的,步驟(2)包括:
(2-1)當(dāng)機(jī)器人在全局路徑行進(jìn)時(shí)獲取機(jī)器人與障礙物之間的實(shí)時(shí)障礙距離,以及機(jī)器人與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離;
(2-2)實(shí)時(shí)柵格尺寸為n,取n=d/k,d是實(shí)時(shí)障礙距離和實(shí)時(shí)目標(biāo)距離中的最小值,k是一個(gè)比例參數(shù)。
進(jìn)一步的,比例參數(shù)k的最小值為d0/r,最大值為d0/a,r為機(jī)器人外接圓的直徑,d0為機(jī)器人初始障礙距離和初始目標(biāo)距離中的最小值,a為原始柵格地圖最小柵格尺寸。
優(yōu)選的,設(shè)實(shí)時(shí)柵格尺寸為n,機(jī)器人與距離最近的障礙物之間的實(shí)時(shí)障礙距離為d1=200cm,與目標(biāo)點(diǎn)之間的實(shí)時(shí)目標(biāo)距離為d2=500cm,d=min(d1,d2)=200cm,取n=d/k,k是一個(gè)比例參數(shù)。機(jī)器人外接圓的直徑為r=50cm,由于n≤r,則k的最小值為d0/r=200/50=4;原始柵格地圖最小柵格尺寸為a=2cm,則k的最大值為d0/a=200/2=100,因此,k在區(qū)間[d0/r,d0/a]=[200/50,200/2]=[4,100]之間調(diào)節(jié),d0=200cm為初始的d值,選定一個(gè)k=100值后,實(shí)時(shí)柵格尺寸為n=d/k=200/100=2cm。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。