本發(fā)明涉及路徑規(guī)劃,更具體的說是涉及一種涉及多任務(wù)分配的多agv機器人路徑規(guī)劃方法。
背景技術(shù):
1、在錫加工過程中,錫錠的運輸往往是簡單而枯燥的任務(wù),在運輸時,如果工人長時間的工作,可能會導(dǎo)致運輸效率下降以及帶來一些生產(chǎn)安全隱患。與人工不同,agv機器人可以全天候的工作,提高了生產(chǎn)力,此外,它們還降低了錯誤和事故的風(fēng)險,改善了倉儲環(huán)境的安全性。利用機器人代替人工完成一些簡單而重復(fù)性的工作,可以提高工廠的運輸效率以及加強生產(chǎn)環(huán)境的安全性等。這不僅降低了的企業(yè)的人力成本,而且對于生產(chǎn)力的發(fā)展具有重要的意義。
2、錫錠的運輸涉及任務(wù)分配和路徑規(guī)劃,機器人需要根據(jù)分配的任務(wù)規(guī)劃路徑將錫錠運送到指定的位置,每當有新的任務(wù)分配,機器人將規(guī)劃新的路徑。而且相較于單個agv機器人,多個agv機器人系統(tǒng)具有更高的工作效率和更好的穩(wěn)定性。因此為了提高錫錠的運輸效率,任務(wù)分配和多agv機器人路徑規(guī)劃成為了目前比較重要的研究方向。
3、而目前在多任務(wù)分配中,多agv機器人路徑規(guī)劃時,存在路徑求解時間較長,導(dǎo)致運輸效率不高的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種涉及多任務(wù)分配的多agv機器人路徑規(guī)劃方法及系統(tǒng),可加快錫錠的拾取和交付,減少了各agv之間沖突的數(shù)量,并加快了多agv路徑規(guī)劃的速度。
2、為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
3、第一方面,本發(fā)明提供一種涉及多任務(wù)分配的多agv機器人路徑規(guī)劃方法,包括以下步驟:
4、建立運輸倉庫的地圖模型,在地圖模型中設(shè)置柵格的擴展方向;
5、采取先到先服務(wù)的就近分配原則,為各agv分配任務(wù),得到任務(wù)規(guī)劃;
6、檢測各個agv的狀態(tài)是空閑還是忙碌,并計算空閑agv的有效載貨能力c,當某一空閑agv有效載貨能力c低于閾值時,將該agv狀態(tài)修改為忙碌并將充電區(qū)作為目標點,對任務(wù)規(guī)劃進行更新;
7、根據(jù)任務(wù)規(guī)劃中各agv的起始點和目標點,采用改進后的a*算法為各agv規(guī)劃初始路徑,對初始路徑進行沖突搜索并分裂節(jié)點以解決沖突,當路徑集合中不存在沖突時,輸出整體路徑。
8、進一步的,所述地圖模型中包括agv的充電區(qū)和待機區(qū),以及貨物的碼垛區(qū)和臨時堆放區(qū),其中,充電區(qū)和待機區(qū)設(shè)置在碼垛區(qū)的左邊,且待機區(qū)在充電區(qū)的右邊并靠近碼垛區(qū);地圖模型中的整體路徑方向呈現(xiàn)一個從碼垛區(qū)到臨時堆放區(qū)再到碼垛區(qū)的循環(huán)結(jié)構(gòu),其中從碼垛區(qū)到臨時堆放區(qū)的方向為送貨路徑,從臨時堆放區(qū)到碼垛區(qū)的方向為取貨路徑;通過設(shè)置柵格的擴展方向,使對agv規(guī)劃路徑時只能沿著規(guī)定的方向進行搜索。
9、進一步的,采取先到先服務(wù)的就近分配原則,為各agv分配取貨任務(wù)或堆放任務(wù),其中,取貨任務(wù)的分配包括:
10、將空閑agv按照與碼垛區(qū)之間的距離從前往后排列,確定空閑agv的優(yōu)先級隊列,按照就近原則為空閑agv的優(yōu)先級隊列中最先到達碼垛區(qū)的空閑agv優(yōu)先分配距離最近的貨物;
11、堆放任務(wù)的分配包括:
12、將忙碌agv按照與臨時堆放區(qū)的距離從前往后排列,確定忙碌agv的優(yōu)先級隊列;按照就近原則為忙碌agv的優(yōu)先級隊列中最前面的機器人優(yōu)先分配最近的空閑堆放點;
13、每當有agv完成取貨任務(wù)或者堆放任務(wù)之后,對相應(yīng)的優(yōu)先級隊列進行一次更新。
14、進一步的,取貨任務(wù)包括三類情況,第一類情況是:若某agv完成堆放任務(wù)之后從臨時堆放區(qū)運動到碼垛區(qū)的過程中,碼垛區(qū)無任務(wù)到來,如果該agv到達碼垛區(qū)入口并且等待一段時間后仍無任務(wù)到來,則該agv進入到待機區(qū);如果該agv進入待機區(qū)的過程中,前方有新任務(wù)到來,則按照先到先服務(wù)的就近分配原則;
15、第二類情況是:若某agv從臨時堆放區(qū)到碼垛區(qū)的過程中,碼垛區(qū)有任務(wù)到來,此時按照先到先服務(wù)的就近分配原則;
16、第三類情況是:若某agv從臨時堆放區(qū)到碼垛區(qū)的過程中,較遠的碼垛位置有任務(wù)到來,而較近的碼垛位置沒有任務(wù)到來,則將較遠的任務(wù)先分配給該agv,但在經(jīng)過較近的碼垛位置之后,較近的碼垛位置有任務(wù)到來,此時該agv忽略已經(jīng)過的碼垛位置的任務(wù),將新到來的任務(wù)分配給次優(yōu)先級的agv。
17、進一步的,堆放任務(wù)包括三類情況,第一類情況是:若某agv到達臨時堆放區(qū)時,臨時堆放區(qū)中的所有堆放點均空閑,則該agv從臨時堆放區(qū)中隨機選擇一個空閑堆放點或者默認第一個空閑堆放點作為目標堆放點;
18、第二類情況是:若某agv到達臨時堆放區(qū)時,臨時堆放區(qū)中有貨物,但還存在空閑堆放點,則該agv從空閑堆放點中選擇最近的作為目標堆放點來堆放貨物;
19、第三類情況是:若某agv到達臨時堆放區(qū)時,臨時堆放區(qū)中所有堆放點都有貨物,則該agv在臨時堆放區(qū)的第一個堆放點等待,后續(xù)的agv依次排列等待。
20、進一步的,當某空閑agv的有效載貨能力c值低于閾值時,修改該agv狀態(tài)為忙碌狀態(tài)之后,還對應(yīng)更新空閑agv和忙碌agv的優(yōu)先級隊列,只有空閑或者待機狀態(tài)的agv參與取貨任務(wù)分配;
21、其中,有效載貨能力c值的計算公式為:
22、c=l取+k*l送+c
23、其中,c表示agv當前電量,k表示貨物重量的權(quán)重,l取表示agv從當前位置到取貨位置的距離,l送表示agv從取貨位置到堆放位置的距離。
24、進一步的,對各agv規(guī)劃路徑之前,對a*算法的路徑搜索規(guī)則進行改進,設(shè)置每個柵格的搜索方向,具體包括:為充電區(qū)、待機區(qū)和路徑中的每個柵格點設(shè)置屬性,屬性包括位置(x,y)和可行進方向(d1,d2,d3,d4)=(t/f,t/f,t/f,t/f);其中,d1,d2,d3,d4分別表示agv四鄰域搜索中的四個方向,t/f表示對應(yīng)方向的柵格點可訪問/不可訪問,每個柵格至少包括一個可搜索的方向。
25、進一步的,對初始路徑進行沖突搜索并分裂節(jié)點以解決沖突的過程包括:
26、采用二叉樹搜索初始路徑中的沖突,二叉樹上的每個節(jié)點稱為ct節(jié)點;一個非目標ct節(jié)點的沖突類型分為點沖突<ai,aj,v,t>和邊沖突<ai,aj,e,t>,在生成子節(jié)點時將點沖突<ai,aj,v,t>生成兩個約束<ai,v,t>和<aj,v,t>添加到兩個子節(jié)點中,表示agv機器人ai或者aj不能在t時刻位于v點,邊沖突<ai,aj,e,t>也生成兩個約束<ai,e,t>和<aj,e,t>,表示agv機器人ai或者aj不能在t時刻位于e邊;
27、如果ct節(jié)點中的路徑仍然存在沖突,則繼續(xù)分裂子節(jié)點解決沖突,且每次分裂的節(jié)點都加入到候選節(jié)點列表中,直至處理完所有的沖突。
28、進一步的,對任意兩個agv之間的沖突進行檢測的方式為:
29、假設(shè)agv機器人ai的路徑為agv機器人aj的路徑為
30、通過函數(shù)get()獲取路徑pi中任意一個點的位置和時間步以及路徑pj中的任意一個點的位置和時間步
31、
32、檢測兩條路徑pi和pj之間是否存在沖突的方法如下式所示:
33、
34、第二方面,本發(fā)明提供一種涉及多任務(wù)分配的多agv機器人路徑規(guī)劃系統(tǒng),其適用于如上所述的涉及多任務(wù)分配的多agv機器人路徑規(guī)劃方法,包括:
35、地圖建模模塊,用于建立運輸倉庫的地圖模型,在地圖模型中設(shè)置柵格的擴展方向;
36、任務(wù)分配模塊,用于采取先到先服務(wù)的就近分配原則,為各agv分配任務(wù),得到任務(wù)規(guī)劃;
37、狀態(tài)檢測模塊,用于檢測各個agv的狀態(tài)是空閑還是忙碌,并計算空閑agv的有效載貨能力c,當某一空閑agv有效載貨能力c低于閾值時,將該agv狀態(tài)修改為忙碌并將充電區(qū)作為目標點;
38、初始路徑生成模塊,用于根據(jù)任務(wù)規(guī)劃中各agv的起始點和目標點,采用a*算法為各agv規(guī)劃初始路徑;
39、沖突處理模塊,用于對初始路徑進行沖突搜索并分裂節(jié)點以解決沖突,當路徑集合中不存在沖突時,輸出整體路徑。
40、經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
41、本發(fā)明提出的先到先服務(wù)的就近分配原則,將最近的貨物分配給最前面的agv機器人,agv機器人在接收到貨物之后即可以移動到送貨路線前往臨時堆放區(qū),避免了與后續(xù)取貨機器人可能會發(fā)生的沖突,同理,堆放貨物時,也按照先到先服務(wù)的就近堆放原則進行貨物堆放,agv機器人送貨完成之后即可以移動到取貨路線。
42、本發(fā)明通過設(shè)置柵格點的可通行方向,基于沖突搜索的算法為多個機器人規(guī)劃路徑,規(guī)劃路徑時機器人只能沿著設(shè)定的方向搜索,減少了agv機器人在運送貨物時出現(xiàn)的沖突次數(shù)以及轉(zhuǎn)彎次數(shù),能夠有序的運送較大吞吐量的貨物,使得運送的流暢度提高,加快錫錠的拾取和交付,實現(xiàn)運送效率的整體提升。
43、本發(fā)明在任務(wù)規(guī)劃時,對并且實現(xiàn)了機器人的狀態(tài)檢測與控制,包括待機和充電等,確保各agv機器人的順利有序前行。