本發(fā)明涉及agv路徑規(guī)劃,尤其是涉及一種基于qmix算法的自動化倉庫多agv多周期路徑規(guī)劃方法。
背景技術:
1、近年來,隨著電子商務平臺的迅猛發(fā)展和消費習慣的改變,網(wǎng)絡購物的用戶數(shù)量持續(xù)攀升,帶動了物流行業(yè)的快速增長。這些在線購買的商品通常需要從倉庫發(fā)出,倉庫因此成為了關鍵的商品中轉站。然而,傳統(tǒng)的倉庫管理方式,如工人手動搬運或操作機械設備進行大型貨物搬運,已經(jīng)無法滿足當前日益增長的物流需求。這些傳統(tǒng)方法不僅管理復雜,效率低下,而且人力成本高昂。因此,尋找更高效、更經(jīng)濟的倉庫管理方式已經(jīng)成為行業(yè)內的緊迫需求。
2、為了應對倉儲管理中的諸多挑戰(zhàn),智能物料搬運裝備技術應運而生,尤其是自動導引車(automated?guided?vehicle,agv)在其中發(fā)揮了重要作用。agv利用先進的自動化設備、物聯(lián)網(wǎng)、人工智能和大數(shù)據(jù)分析,實現(xiàn)了物料搬運的自動化和智能化操作。這些智能車輛能夠在無需人工干預的情況下,自動完成貨物的搬運、裝卸和堆垛操作。
3、agv不僅顯著提升了倉庫的運營效率和訂單準確性,降低了人力成本,還促進了倉庫的科學管理和優(yōu)化配置。通過精準的路徑規(guī)劃和靈活的調度系統(tǒng),agv能夠高效地在倉庫內進行物料搬運,大幅減少了人工操作帶來的誤差和延遲。agv技術的應用不僅符合現(xiàn)代物流發(fā)展的趨勢,更能適應未來智能物流的需求,為企業(yè)提供更強的競爭力和可持續(xù)發(fā)展能力。agv的廣泛應用,也使得物流系統(tǒng)更具靈活性和響應能力,能夠顯著提升物流行業(yè)的整體效能。
4、為確保agv的可靠運行,有必要對agv進行準確的路徑規(guī)劃,路徑規(guī)劃是一種用于連接起始點和目標點的軌跡設計策略。現(xiàn)有技術中,常見路徑規(guī)劃算法包括傳統(tǒng)路徑規(guī)劃算法、啟發(fā)式路徑規(guī)劃算法、基于采樣的路徑規(guī)劃算法和智能仿生學算法。但這些agv小車路徑規(guī)劃算法無法很好地應對多agv沖突的問題,對未知復雜環(huán)境的適用性較低,導致需要較高的人工參與度,因而其工作和運行效率較低,存在耗時長且無法求解大規(guī)模算例的問題。
技術實現(xiàn)思路
1、本發(fā)明的目的就是為了克服上述現(xiàn)有技術存在的缺陷而提供一種基于qmix算法的自動化倉庫多agv多周期路徑規(guī)劃方法,能夠針對多agv進行多周期的路徑規(guī)劃,提高多agv在復雜環(huán)境中的工作效率和準確性。
2、本發(fā)明的目的可以通過以下技術方案來實現(xiàn):一種基于qmix算法的自動化倉庫多agv多周期路徑規(guī)劃方法,包括以下步驟:
3、s1、根據(jù)倉庫布局,建立倉庫節(jié)點圖,獲取agv的部分觀測信息,確定agv初始起點、終點以及障礙物信息;
4、s2、檢查當前是否已有訓練好的路徑規(guī)劃模型,若是,則將agv初始起點、終點以及障礙物信息,結合agv前一個動作與agv的id信息,共同輸入路徑規(guī)劃模型,輸出得到agv對應行駛路徑;否則執(zhí)行步驟s3;
5、s3、構建強化學習環(huán)境,將每輛agv的部分觀測信息輸入到qmix算法的rnn(recurrent?neural?network,循環(huán)神經(jīng)網(wǎng)絡)神經(jīng)網(wǎng)絡中,通過ε-greedy策略確定出每輛agv的預測q值;
6、將預測q值輸入混合網(wǎng)絡mixing?network中,通過對預測q值進行評價,以獲得整體的q值;
7、s4、根據(jù)整體的q值和agv的獎勵值,指導agv進行下一步的動作選擇,在隱藏層保存每輛agv的觀測信息、最優(yōu)路徑,保存整體q值和環(huán)境真實獎勵值,更新agv部分觀測的障礙物信息;
8、通過循環(huán)迭代,使得單個的agv輸出能夠得到更高值的預測q值、使得整體的q值能夠更加接近環(huán)境真實獎勵值,構建得到路徑規(guī)劃模型,之后返回步驟s2。
9、進一步地,所述步驟s1中agv的部分觀測信息具體為:
10、<i,s,a,t,r,o,ω,γ>
11、a={a1,a2,a3,...,an}
12、t(s,a,s′)=p(s′∣s,a)
13、
14、其中,i表示智能體的數(shù)量;s表示狀態(tài)空間,其中包含了智能體與環(huán)境信息;a表示聯(lián)合動作空間,其中ai表示智能體i所能采取的局部動作ai的集合;t為狀態(tài)轉移函數(shù),t表示在狀態(tài)s下,表示智能體采取聯(lián)合動作a之后,轉移到狀態(tài)s′的概率函數(shù);r為獎勵函數(shù),用以表示發(fā)生狀態(tài)轉移時智能體獲得的獎勵;o為觀測空間,表示聯(lián)合觀測的集合,ot為時間t的觀測集合,ω為觀測函數(shù);γ∈[0,1]為折扣因子。
15、進一步地,所述狀態(tài)空間具體為:s=(s小車,s目的地,s障礙物),其中,agv的狀態(tài)即位置坐標由表示,它由n個位置坐標元組構成,n為agv的數(shù)量;
16、agv目標的狀態(tài)即目標位置坐標由表示,包括n個位置坐標元組,s小車和s目的地通過順序一一對應,從而保證agv與目標點一一對應;
17、障礙物的狀態(tài)即障礙物位置坐標由表示,包含了所有障礙物的位置坐標,由m個位置坐標元組構成,m為障礙物的數(shù)量;
18、所有的agv在0時刻處在初始位置,當某個坐標位置被agv或者障礙物占據(jù)時,其他agv將不可以到達該節(jié)點,即agv坐標位置以及障礙物坐標位置無法重合,當agv到達其目標位置后,會對應為其生成下一個目標位置并存入目標狀態(tài)s障礙物中。
19、進一步地,所述觀測空間具體為:o=(o障礙物,o小車,o目的地),將其分解為三個矩陣,即障礙矩陣、其他agv矩陣以及目標投影矩陣,障礙矩陣o障礙物包含了agv可觀測距離內的障礙物信息,當觀測范圍內有障礙物時,矩陣中該部分會被置1,否則為0;
20、agv矩陣o小車包含了agv可觀測范圍內的其他agv信息,當觀測范圍內有其他agv時,矩陣中該部分會被置1,否則為0;
21、目標矩陣o目的地包含了agv目標點的位置信息,當目標點不在當前agv的觀測范圍內時,其為從agv指向目標點的一個向量在矩陣中的投影,且會顯示在矩陣的邊緣位置,即將該邊緣位置1,其他位置為0;當目標點進入agv的觀測空間內時,該目標點被置1,其他為0。
22、進一步地,所述步驟s2中路徑規(guī)劃模型包括多個rnn神經(jīng)網(wǎng)絡,多個rnn神經(jīng)網(wǎng)絡分別連接至混合網(wǎng)絡,多個rnn神經(jīng)網(wǎng)絡分別對應于不同的agv,各rnn神經(jīng)網(wǎng)絡均包括輸入層mlp(multilayer?perceptron,多層感知器)、中間層gru(gated?recurrent?unit,門控循環(huán)單元)和輸出層mlp,所述rnn神經(jīng)網(wǎng)絡的輸入為每輛agv的觀測空間、agv的動作編碼以及agv的id,輸出為該agv的q值;
23、所述混合網(wǎng)絡包括推理網(wǎng)絡和參數(shù)網(wǎng)絡,推理網(wǎng)絡的輸入為所有agv的q值,輸出為全局q值qtot,推理網(wǎng)絡中權重和偏置參數(shù)由參數(shù)網(wǎng)絡生成;
24、所述參數(shù)網(wǎng)絡的輸入為全局狀態(tài)·st,輸出為推理網(wǎng)絡的權重w和偏置b;
25、所述混合網(wǎng)絡最后一層的偏移量通過兩層網(wǎng)絡以及relu激活函數(shù)得到非線性映射網(wǎng)絡,推理網(wǎng)絡接收參數(shù)網(wǎng)絡的參數(shù)后直接計算出全局q值qtot。
26、進一步地,所述步驟s3中rnn神經(jīng)網(wǎng)絡的工作過程包括:將每個agv的當前觀測值、上一步的動作、以向量形式表示的每個agv的id的one-hot編碼輸入給輸入層mlp、通過中間層gru接受第一層的輸入和隱藏的歷史信息,通過輸出層mlp輸出預測的q值。
27、進一步地,所述步驟s3中ε-greedy策略的計算公式為:
28、
29、其中,c+1表示agv動作空間的動作總數(shù),a*表示使q值最大的動作,π(a|s)表示在π策略中agv在某個狀態(tài)下的動作,即表示有ε的概率從c+1個動作中隨機選擇一個動作、包括使q值最大的動作,還有1-ε的概率直接選取使q值最大的動作,ε隨著訓練的進行不斷減小,從而保證前期訓練時,agv的動作選擇更具備探索性,后期agv的動作選擇更加穩(wěn)定。
30、進一步地,所述步驟s4中agv的獎勵值通過獎勵函數(shù)計算得到:
31、r(s,a)=wtrt(s,a)-wprp(s,a)-wcrc(s,a)
32、
33、其中,rt為agv到達目標點所獲得的獎勵值,rp(s,a)表示移動懲罰,當agv移動時,會獲取一定的懲罰值,從而鼓勵agv采用盡可能少的移動次數(shù)到達目標點,rc(s,a)為沖突懲罰,當發(fā)生沖突時,會給予一個負的獎勵值,從而使agv盡可能避免沖突,當agv到達目標后會獲得獎勵值1,即此時rt(s,a)=1,其余情況都會獲得獎勵值0,當發(fā)生沖突時,agv將無法通過目標點且獲得沖突懲罰rc(s,a)。
34、進一步地,所述沖突包括節(jié)點沖突、跟隨沖突、換位沖突和循環(huán)沖突。
35、進一步地,所述節(jié)點沖突具體是指:agv計劃在同一時間步長占據(jù)同一節(jié)點;
36、所述跟隨沖突具體是指:一輛agv計劃占用在上一個時間步長中被另一輛agv占用的節(jié)點;
37、所述換位沖突具體是指:兩輛agv計劃在單個時間步長中交換位置;
38、所述循環(huán)沖突具體是指:每輛agv移動到一個以前被另一輛agv占據(jù)的頂點,形成一個“旋轉循環(huán)”模式,也被稱為死鎖。
39、與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
40、本發(fā)明結合強化學習技術,將agv所觀測到的觀測空間(障礙、其它agv、終點)和前一個動作,agv的id作為對應rnn神經(jīng)網(wǎng)絡的輸入,通過ε-greedy策略來預測下一步動作,并通過混合網(wǎng)絡mixing?network對預測的動作進行評估,從而得到當下最優(yōu)的下一步動作。即引入agv的局部觀測信息作為輸入將其轉化為觀測矩陣,將觀測矩陣輸入rnn神經(jīng)網(wǎng)絡,輸出每個agv的值函數(shù)q值,再通過參數(shù)網(wǎng)絡接受全局信息生成參數(shù),最后推理網(wǎng)絡讀取每輛agv的q值與參數(shù)網(wǎng)絡的參數(shù)輸出整體q值,從而實現(xiàn)集中式訓練,分布式執(zhí)行的目標,該方法解決了多agv在路徑上沖突、死鎖等問題,與此同時,通過合理的獎勵函數(shù)設置可以減少agv的隨機性和盲目性,使得agv能夠選擇高效的動作,能夠有效解決現(xiàn)有路徑規(guī)劃算法耗時長且無法求解大規(guī)模算例的問題。
41、本發(fā)明使用局部觀測的方式限制每輛agv的觀測空間,將觀測空間定義為o=(o障礙物,o小車,o目的地),即每輛agv只能觀測到自己周圍一個矩陣范圍內的狀態(tài)信息,將其分解為三個矩陣,即障礙矩陣、其他agv矩陣以及目標投影矩陣,三個矩陣共同構成了每輛agv在時間t的觀測空間將每輛agv的觀測空間由矩陣轉化為向量,作為對應rnn神經(jīng)網(wǎng)絡的一個輸入,能夠使得后續(xù)訓練得到的rnn網(wǎng)絡具有更好的魯棒性和可遷移性,從而適應于不同復雜環(huán)境。
42、本發(fā)明為了鼓勵移動,設計不對移動設定懲罰值,當agv到達目標后會獲得獎勵值1,其余情況都會獲得獎勵值0,當發(fā)生沖突時,agv將無法通過目標點,從而鼓勵其在規(guī)定時間內完成更多的任務、提升吞吐量,由于對應于每輛agv是否成功到達目標點,因此有利于快速準確計算整體成功率等評價指標、且更利于多周期完成任務數(shù)量的統(tǒng)計。
43、本發(fā)明將多個agv放入同一個元組的列表中,當一個agv完成一個周期后,它會進入下一個循環(huán)完成下一個任務,從而避免了當agv在倉庫完成一個周期后被設定為停止或者消失。相比之下,傳統(tǒng)的啟發(fā)式算法主要是針對單周期的,與實際的環(huán)境不符。此外,本發(fā)明在qmix算法引入了防沖突的機制,從而減少或避免兩個或者多個agv發(fā)生沖突,有效的提高了多agv在復雜環(huán)境中的工作效率。