倉儲系統在電子商務高速發展的今天面臨著巨大挑戰,引入機器人集群代替傳統人工的智能化倉儲系統成為現代物流發展的必然趨勢。亞馬遜[1]、??低?span style="font-size:12px;line-height:0;vertical-align:baseline;">[2]等企業的相關研究更是帶動了智能倉儲的快速興起。
智能倉儲系統中的安全隱患和運行障礙,主要來自于倉儲物流機器人集群之間的碰撞和死鎖問題,優秀的避障方法可以極大地提升系統的可靠性和運行效率。本文利用改進Q-Learning算法進行路徑規劃,將交通規則和路徑預約表相結合保證機器人之間無碰撞運行,在路徑規劃中加入協同機制,強化各機器人之間的聯系,從而在保證安全運行的基礎上構建一個更加靈活、高效的智能倉儲系統。
智能倉儲系統由貨架、機器人和工作臺三部分組成,本文利用文獻[3]的倉庫模型并加以改善,該模型具有靈活、高效等特點。將結構化的倉庫環境用柵格地圖表示,形成22×48的二維柵格,如圖1所示。將柵格地圖按列,由上到下依次對柵格進行編號,以方便后續研究。
在智能倉儲系統這樣快速變換的動態環境中,由于有多個機器人和貨架的存在,機器人ri在進行物流任務時所規劃的路徑Pi,會產生兩類碰撞,一類是與貨架等靜態障礙物的碰撞,另一類是與系統中運行的其他機器人的碰撞。文中,直接將貨架所處的柵格位子在機器人路徑規劃時設為不可達,以此消除機器人與貨架的碰撞。機器人之間的碰撞則復雜得多,會發生兩機碰撞、三機碰撞、四機碰撞等多種情況,對系統的安全造成嚴重的威脅。為避免機器人之間的碰撞甚至死鎖的問題,本文在智能倉儲系統中加入交通規則,規定每條道路都是單行道,并且道路的方向規定為圍繞貨架的逆時針方向,如圖2所示,箭頭所指方向即機器人在該道路時運行的方向。機器人根據交通規則,每一步選擇上、下、左、右或者原地等待這五個動作中的一個,直至到達任務目標點。
交通規則的設定,有效地限制了機器人之間碰撞甚至死鎖的發生,將碰撞類型限定在十字路口碰撞和追尾碰撞之中,如圖3所示。本文采用預約表的辦法來解決這兩種碰撞,預約表的設計將在下文提出。
根據本文需求,希望m個機器人在無碰撞完成所有任務的情況下所走的總路程最短以及系統運行的總時間(系統中最后一個完成任務的機器人運行的步數)最短。因此,可將倉儲物流機器人集群協同路徑規劃表示為一個典型約束條件下的優化問題,其數學模型如下:
式中:表示機器人ri規劃的路徑長度,由機器人完成所有分配任務的步數決定;C1(Pi)與C2(Pi,Pj)分別代表機器人是否與障礙物或其他機器人碰撞,用式(4)和式(5)表示如下:
C1(Pi)={01,,otherμri(x,ywis)e=μlj(x,y)(4)
式中μri(x,y)和μlj(x,y)分別為機器人和貨架所在柵格的坐標(以柵格右下角的坐標為當前柵格坐標)。
式中,Pi?Pj≠?表示機器人ri和rj規劃的路徑在時間和空間上有交集。
倉儲物流機器人集群在智能倉儲系統中的物流任務分析如下:在智能倉儲系統中有n個未完成的訂單任務T={t1,t2,…,tn},每一個任務對應貨架L={l1,l2,…,le}(e為貨架個數)中的一個,將這些訂單任務分為m組K=(K1,K2,…,Km)。文獻[4,5,6,7,8]詳細介紹了多種任務分配方法,由于本文主要研究機器人集群的路徑規劃問題,因此在任務分配上直接采用文獻[8]的基于遺傳算法的多機器人任務分配方法。m個機器人R={r1,r2,…,rm},根據任務分配方法得到對應的一組任務,每個機器人根據自己得到訂單任務的不同位置依次進行路徑規劃,通過上、下、左、右或者原地等待這5個動作,從當前位置一步步移動到任務對應貨架,取得貨物后移送到指定工作臺S={s1,s2,…,sv}(v為工作臺的數量)進行相應處理,依次循環直至完成所有被分到的任務。
針對圖3所示的兩類碰撞問題,系統通過查閱預約表的相關信息,對將會發生碰撞的機器人當前狀態進行判定,再根據避讓規則安排相關機器人進行避讓。十字路口型碰撞,采用分權重的方式進行避讓,權重由路徑規劃算法形成的機器人完成所有任務的路徑長度(即機器人運行總步數)決定,路徑長度越長則權重越大,在十字路口處就享有優先通過權,如果權重相同則隨機選擇通過。追尾型碰撞則采取先來后到的原則進行避讓,后占用柵格的機器人必須等先占用該柵格的機器人離開后才能占用該柵格。預約表通過路徑規劃算法形成,記錄機器人集群中每個機器人單獨運行時的完整路徑以及每一步占用柵格的情況,包含了所有機器人完成所有任務的位置、時間信息。機器人可以通過查詢預約表來獲取當前柵格的占用情況以及機器人權重的大小,從而決定機器人下一步動作的選擇。預約表是一個以機器人數量為行數,以系統中所有機器人中運行路徑最長的機器人運行的總步數為列數的矩陣,針對預約表中每個機器人規劃的路徑長度不同的情況,則統一采用“0”補齊,如圖4所示。
目前流行的機器人路徑規劃算法主要有A*算法[9]、D*算法[10]以及強化學習Q-Learning算法[11]等。A*僅適用于可控的已知環境,并且在高度動態的環境容易形成死鎖;D*算法尋找全局最優的能力較差;Q-Learning算法原理簡單,在線適應性強以及未知環境下擁有強大的自主學習能力,在智能控制、機器人等領域受到廣泛的運用。本文采用改進的Q-Learning算法結合設計的協同機制來進行機器人集群的協同路徑規劃,算法結構如圖5所示。
在Q-Learning中,獎懲函數是判斷智能機器人運行好壞的重要指標,一般的獎勵函數只是在機器人到達目標時給予相應瞬時獎勵R1,本文在此基礎上增設向目標點靠近動作的獎勵R2,其計算公式為:
式中,Δd為機器人當前狀態柵格S1(坐標為(xs1,ys1))和前一狀態柵格S0(坐標為(xs0,ys0))與終點柵格S(坐標為(xs,ys))的直線距離的差,其公式為:
為了讓機器人盡快走向終點,機器人每走一步都將得到-1的獎勵值。綜上,本文的獎懲函數計算公式如下:
為了防止算法陷入局部最優,增加全局尋優的能力,本文在動作選擇策略上增設貪婪度參數ε,比如ε=0.9時,就說明有90%的情況智能機器人會按照表的最大值選擇行為,10%的情況使用隨機選行為,該策略在實際仿真中有效提高了算法尋優的最優性。
本文協同機制設定為,根據當前預約表的情況,將當前預約表中規劃路徑最長和最短的機器人ri,rj進行配對,根據查詢預約表信息獲取rj完成所有物流任務時ri正在執行的物流任務,將ri的后一個物流任務交給rj去執行,根據路徑規劃算法規劃任務重新分配后的兩個機器人的新的路徑,并更新預約表。以此方法進行循環,讓當前預約表中路徑最短的機器人去代替路徑最長的機器人完成它的下一個任務,從而彌補了任務分配的不完善,減少機器人無任務待機狀態,提升協同度,最終達到縮短系統運行總時間的目的。
為驗證算法有效性,將本文設計的協同路徑規劃算法(簡稱算法1)和普通的基于交通規則和預約表的Q-Learning算法(簡稱算法2)在圖1提出的智能倉儲系統中進行比較。通過硬件配置為Inter?CoreTMi7-2600電腦上的Matlab 2017a對其進行仿真實驗。仿真實驗分為兩部分:
1)對比相同數量機器人執行不同任務數量的情況,機器人數量為12,任務數量依次為50,100,150,200,250;
2)比較相同任務數量由不同數量機器人執行情況,任務數量設定為250,機器人數量分別設定為6,12,24。
圖6為不同路勁規劃算法對12個機器人完成不同數量任務所花費的系統總時間。由圖6可知,在機器人數量一定時,隨著任務數量的不斷提高,系統運行的總時間也不斷提高。相較于算法2,算法1能有效減少系統運行的總時間,這是因為算法1的協同機制彌補了原先任務分配時的不足,減少了機器人完成任務后的空閑狀態,避免資源的浪費,讓各機器人之間的工作量更加平衡,隨著任務數量的增加,協同機制的效果也就越明顯。
圖7為不同路徑規劃算法對不同機器人完成250個任務所花費的系統總時間。由圖可知,在任務數量一定的情況下,機器人的數量越多,系統運行的總時間越少。相較于算法2,算法1仍然有效地減少了系統總的運行時間。隨著機器人的數量增多,系統運行時間下降的趨勢逐漸變緩,這是由于機器人越多,每個機器人分到的任務就越少。從宏觀上看,各機器人之間完成所分配任務的總工作量差別就逐漸縮小,即機器人之間的工作量越平衡,協同機制產生的效果也就逐漸變小。
從圖6、圖7中可以看出,算法1所花費的系統運行時間都呈線性,顯示了算法良好的性能。
本文創新地提出一種倉儲物流機器人集群避障及協同路徑規劃方法,完成了如下工作:在智能倉儲系統中指定交通規則并設計相應路徑預約表,防止機器人之間的碰撞及系統死鎖;改進Q-Learning算法的獎懲函數,增設趨近目標點的獎勵,加速算法的收斂;在路徑規劃中設計了相應的協同機制,增加各機器人之間的聯系,減少機器人無任務可做的空閑狀態,從而有效降低了系統運行的總時間。
上一篇: 倉儲物流機器人批量揀選路徑規劃仿真
下一篇: 關于倉儲物流企業輕重資產模式的思考