本發(fā)明涉及路徑規(guī)劃領(lǐng)域,具體指一種適用于擁擠環(huán)境的自動(dòng)化倉(cāng)庫(kù)中,基于沖突搜索算法改進(jìn)的多agv路徑規(guī)劃方法。
背景技術(shù):
::1、隨著物聯(lián)網(wǎng)和人工智能技術(shù)的快速發(fā)展,自動(dòng)化倉(cāng)庫(kù)逐漸成為提升物流效率和降低成本的關(guān)鍵環(huán)節(jié)。自動(dòng)引導(dǎo)車(chē)(automated?guidedvehicle,agv)作為自動(dòng)化倉(cāng)庫(kù)中的核心設(shè)備,通過(guò)安裝各類(lèi)傳感器和非接觸式導(dǎo)航裝置,能夠獨(dú)立完成既定路線的跟蹤行駛,從而大大降低人工成本,提高作業(yè)效率。它們不僅可以應(yīng)用于傳統(tǒng)的制造業(yè)倉(cāng)庫(kù)、電商倉(cāng)庫(kù)等領(lǐng)域,還可以拓展到冷鏈物流、危險(xiǎn)品倉(cāng)庫(kù)等特殊領(lǐng)域。因此,在這一背景下,開(kāi)發(fā)出一套適用于agv高效工作的系統(tǒng)就顯得尤為重要。2、agv系統(tǒng)中最關(guān)鍵的技術(shù)之一就是其路徑規(guī)劃?,F(xiàn)有的多數(shù)方法都是在a*算法的基礎(chǔ)上進(jìn)行改進(jìn)來(lái)實(shí)現(xiàn)單agv的規(guī)劃,然而在自動(dòng)化倉(cāng)庫(kù)中,單臺(tái)agv的運(yùn)輸能力有限,難以滿足多任務(wù)高效運(yùn)輸?shù)男枨?,多agv協(xié)同工作已成為必然趨勢(shì)。3、針對(duì)多agv的路徑規(guī)劃,基于沖突搜索(conflict-based?search,cbs)的方法是使用最為廣泛的,其兼具最優(yōu)性(規(guī)劃出的路徑之和最短)和完備性(如果有路徑解存在則一定能找到,如果沒(méi)得到解則說(shuō)明不存在路徑解)。然而在實(shí)際應(yīng)用中,多數(shù)自動(dòng)化倉(cāng)庫(kù)為了盡可能的降低成本,貨架之間往往相對(duì)擁擠,形成了一種類(lèi)走廊的布局,即只允許一臺(tái)agv單向通過(guò),如圖1,2,3所示。在此場(chǎng)景下,當(dāng)兩臺(tái)agv于走廊之中相向而行發(fā)生走廊沖突時(shí),cbs表現(xiàn)較差,雖然能提供最優(yōu)路徑解,但是需要大量的搜索時(shí)間,極大的降低了agv的工作效率。4、現(xiàn)行的解決方法一般是將高速公路的思想引入到規(guī)劃中來(lái),即預(yù)先確定好每條走廊的行駛方向,只允許agv在走廊內(nèi)按照固定的方向進(jìn)行移動(dòng),從而來(lái)規(guī)避掉走廊沖突繼而直接避免了路徑搜索過(guò)程,此方法能大幅提高規(guī)劃速度,但由于其始終固定了走廊的行駛方向,會(huì)存在頻繁的繞路,使得最終所得到的路徑解質(zhì)量較差(路徑之和較大),agv的實(shí)際行駛時(shí)間變長(zhǎng),同樣會(huì)影響agv的工作效率。技術(shù)實(shí)現(xiàn)思路1、針對(duì)以上問(wèn)題,本發(fā)明提供一種基于沖突搜索算法改進(jìn)的多agv路徑規(guī)劃方法,其將傳統(tǒng)方法與高速公路的思想相結(jié)合,簡(jiǎn)化走廊沖突的搜索過(guò)程,通過(guò)搜索來(lái)自適應(yīng)的確定走廊允許的行駛方向,使得永久固定的行駛方向變化為階段性固定的行駛方向,將走廊由高速公路轉(zhuǎn)變?yōu)轭?lèi)似于潮汐車(chē)道的通路,從而減少agv一些非必要的繞路,同時(shí)還引入了增加的基于沖突的搜索(improved?conflict-based?search,icbs)中沖突優(yōu)先級(jí)(prioritization?ofconflicts,pc)和繞過(guò)沖突(bypass?conflict,bp)的思想來(lái)進(jìn)一步加速規(guī)劃過(guò)程,該方法能盡可能的兼顧規(guī)劃時(shí)間和路徑解的質(zhì)量,有效提高agv的工作效率。2、為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:3、基于沖突搜索算法的擁擠自動(dòng)化倉(cāng)庫(kù)多agv路徑規(guī)劃方法,包括以下步驟:4、s1:構(gòu)建agv所處環(huán)境的柵格地圖模型;5、s2:改進(jìn)cbs的底層:根據(jù)s1的柵格地圖模型得到agv相關(guān)的環(huán)境信息,使用改進(jìn)的a*算法得到具有約束的單個(gè)agv的路徑解和沖突信息,并向s3反饋該路徑解和該路徑所攜帶的沖突信息;需要說(shuō)明的是,初始時(shí),agv不攜帶約束,后續(xù)隨著所有步驟的循環(huán)執(zhí)行,agv會(huì)在上一次循環(huán)的s3中被施加上一定的約束,該約束為動(dòng)態(tài)約束;6、s3:改進(jìn)cbs的頂層:根據(jù)s2所得到的路徑解和沖突信息構(gòu)建改進(jìn)的約束樹(shù),在約束樹(shù)中選擇最小損失的節(jié)點(diǎn)進(jìn)行沖突檢測(cè),若不存在沖突則規(guī)劃成功,若存在沖突,則對(duì)沖突的agv施加相應(yīng)約束,并調(diào)用s2,循環(huán)s3-s2-s3整個(gè)過(guò)程直到規(guī)劃成功。7、進(jìn)一步的,所述步驟s1中柵格地圖模型主要包括:agv的數(shù)量、agv所處位置、agv的終點(diǎn)、柵格地圖的大小、障礙物的位置。8、進(jìn)一步的,所述步驟s2中利用改進(jìn)的a*算法得到單個(gè)agv的路徑,具體措施包括:9、s2.1由s1獲取agv的數(shù)量、agv所處位置、agv的終點(diǎn)、柵格地圖的大小、障礙物的位置;由上一次循環(huán)中的s3獲取agv的動(dòng)態(tài)約束,若是初始時(shí)刻則無(wú)需獲取約束;10、s2.2構(gòu)建沖突規(guī)避表(conflict?avoidance?table,cat),cat中存儲(chǔ)有所有其他agv在任一時(shí)刻所處的位置;11、s2.3根據(jù)s2.1所得到的相關(guān)信息,調(diào)用改進(jìn)的a*算法搜索得到單個(gè)agv的最優(yōu)路徑,其中改進(jìn)的a*在搜索過(guò)程中依據(jù)s2.2所構(gòu)建的cat來(lái)選擇具有更少?zèng)_突的最優(yōu)路徑;12、s2.4根據(jù)s2.2所構(gòu)建cat得到該最優(yōu)路徑所攜帶的具體沖突信息,包括彼此相互沖突的agv的編號(hào)、沖突的類(lèi)型和沖突時(shí)間;其中沖突類(lèi)型包括點(diǎn)沖突,邊沖突,還有所定義的特殊沖突類(lèi)型:走廊沖突,即發(fā)生在走廊內(nèi)的點(diǎn)沖突和邊沖突,通過(guò)判斷發(fā)生沖突時(shí)agv所處位置的度是否為二來(lái)確定該沖突是否為走廊沖突;13、s2.5向s3反饋?zhàn)顑?yōu)路徑及其所攜帶的沖突信息。14、進(jìn)一步的,所述步驟s3中利用改進(jìn)的約束樹(shù)得到無(wú)沖突的所有agv路徑的具體措施包括:15、s3.1初始化一個(gè)空集合open,依據(jù)s2得到所有agv的路徑和沖突信息對(duì)根節(jié)點(diǎn)進(jìn)行初始化,并將根節(jié)點(diǎn)放入open中;16、s3.2遍歷open,獲得具有最小代價(jià)的節(jié)點(diǎn)n,檢查節(jié)點(diǎn)n中所有agv的沖突信息,若當(dāng)前節(jié)點(diǎn)無(wú)沖突則規(guī)劃成功,返回該節(jié)點(diǎn)n的所有agv路徑,循環(huán)結(jié)束;17、s3.3若存在沖突,則依據(jù)沖突信息優(yōu)先選擇走廊沖突進(jìn)行處理(pc),若不存在走廊沖突則按沖突所發(fā)生的時(shí)間順序進(jìn)行處理;18、s3.4在節(jié)點(diǎn)n上擴(kuò)展出子節(jié)點(diǎn)n1和n2,據(jù)s3.3所檢查出的沖突的類(lèi)型施加相應(yīng)約束,即針對(duì)點(diǎn)沖突施加點(diǎn)約束,邊沖突施加邊約束,走廊沖突施加方向障礙約束;19、s3.5依據(jù)s3.4所施加的約束,調(diào)用s2,在s3.4的子節(jié)點(diǎn)中得到由s2所反饋的新agv路徑和新的沖突信息,若存在一個(gè)新路徑與原路徑的代價(jià)相同,且所攜帶的沖突信息更少,則依據(jù)繞過(guò)沖突策略(bp)直接用新路徑代替節(jié)點(diǎn)n中的舊路徑并直接回到s3.2,若不存在則用新路徑和新的沖突信息更新n1和n2并存入open集中,再回到s3.2。20、采取以上的技術(shù)方案,本發(fā)明的有益效果為:21、1.改進(jìn)的cbs在底層所得到的路徑的沖突數(shù)更少,極大緩解了頂層處理沖突的壓力,同時(shí)其通過(guò)提供額外的沖突類(lèi)型和沖突時(shí)間信息,使頂層省略了繁瑣的沖突檢測(cè)環(huán)節(jié)。22、2.不再依靠施加傳統(tǒng)的點(diǎn)約束和邊約束來(lái)解決發(fā)生于走廊內(nèi)的沖突,而是使用一種全新的方向障礙約束來(lái)進(jìn)行簡(jiǎn)化處理,直接使其繞路來(lái)解決沖突,避免了過(guò)多的搜索過(guò)程。23、3.使用繞過(guò)沖突的策略(bp)來(lái)減少頂層約束樹(shù)的擴(kuò)展,提高運(yùn)行效率。24、4.使用優(yōu)先擴(kuò)展基數(shù)沖突,對(duì)走廊沖突進(jìn)行優(yōu)先處理(pc)的策略來(lái)進(jìn)一步減少頂層約束樹(shù)的擴(kuò)展,提高運(yùn)行效率。25、特別說(shuō)明的是針對(duì)[00029]在以往研究和發(fā)明中,往往是通過(guò)多值決策圖(multi-value?decision?diagram,mdd)來(lái)判斷一個(gè)沖突是否為基數(shù)沖突,再選擇基數(shù)沖突中的走廊沖突來(lái)進(jìn)行優(yōu)先處理,但是在本發(fā)明所考慮的地圖的擁擠環(huán)境中,走廊沖突多數(shù)情況下就是基數(shù)沖突,所以本發(fā)明省去了mdd的過(guò)程而直接對(duì)走廊沖突進(jìn)行了優(yōu)先處理來(lái)加快運(yùn)行效率,這樣的結(jié)果是可能對(duì)部分頂層節(jié)點(diǎn)施加了一些多余的約束從而導(dǎo)致部分路徑的長(zhǎng)度增加。本發(fā)明在實(shí)施例1中進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)證明了這樣的處理會(huì)極大的加快算法效率,而路徑長(zhǎng)度的增加極小,幾乎可以忽略不計(jì)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12