自動導引車 (AGV) 是一種可以滿足分揀操作要求的自動化智慧倉儲設備, 將“人到貨”分揀模式轉變為“貨到人”分揀模式[1]。路徑規劃問題是多AGV任務分配的核心和熱點問題。目前, 國內外對動靜態路徑規劃問題的研究很多。文獻[2]總結并歸納了移動機器人的局部和全局路徑規劃方法。文獻[3]研究了多AGV系統中的兩階段動態路徑規劃和調度問題。文獻[4]對單一AGV和多AGV的路徑優化問題進行了進一步的研究。文獻[5]研究了不同調度規則下AGV系統的車輛行駛模型。文獻[6]對動態路徑自治分散式AGV系統的局部重新調度程序進行了實驗研究。文獻[7]研究了有AGV系統的調度和無碰撞路徑問題的局部搜索和隨機搜索。文獻[8]提出了一種蟻群算法用于求解AGV作業的車間調度和無沖突路徑集成模型。雖然關于搜索最短路徑的問題有很多研究成果, 但從減少交通擁堵的角度來出發, 且這些研究并沒有解決路徑規劃問題。
本文基于多個AGV的動態分揀操作模式, 采用網格方法描述智慧倉儲環境。通過添加AGV彼此共享路徑的懲罰值來改善A*算法的估計開銷以減輕交通擁堵。然后結合改進的A*算法和無碰撞規劃來完成無碰撞的路徑規劃。最后, 通過仿真實驗將改進的A*算法的分類效率與其它算法的分類效率進行了比較。
環境建模是無碰撞路徑規劃的基礎。本文利用網格方法[9]建立了AGV工作的智慧倉儲空間環境模型。網格方法具有良好的可視性和簡單的模型構建特點, 因此該方法的應用較為成熟。網格的大小和數量取決于AGV的大小和工作空間。網格在直角坐標系中進行定義, 網格的屬性包括以下維度: (1) 每個網格的位置坐標信息 (xi, yi) 可以反饋給計算機; (2) 從左到右連續設置的每個網格的序列號可以代表AGV的驅動路徑; (3) 網格類型包括貨架網格, 分類架網格, 補給平臺網格, 暫停區域網格, 充電樁網格和其它自由網格。
在智慧倉儲環境模型中, 本文所設計的AGV工作過程如下:首先, AGV接收任務從指定的貨架區域將貨架運送到指定的分揀區域, 并且貨架等待分揀。然后, 將已經分揀的貨架運送到原始位置, 并且AGV被分配另一個任務。如果沒有其它任務, AGV將返回暫停區域。并且AGV可以在4個方向行駛:正東、正西、正南和正北。
在本文中, 貨架放置在所建立的智慧倉儲網格節點的上方。如圖1所示, 底層和地面之間的距離為75cm, AGV的高度為50cm。如果AGV需要運送貨物, 則AGV上的托盤將提升, 由于貨架底部的高度大于AGV的高度, 因此, AGV空載時可以穿過貨架下方, 而AGV裝載后則不能穿過貨架下方。
A*算法可以有效的實時計算最短路徑, 并在實際工程中得到廣泛應用。在計算當前點與目標點之間距離時, 該算法考慮了包括實際代價和估計代價在內的兩個因素[10]。實際代價是指AGV已采用的路徑成本, 而估計代價是指AGV將采用的路徑成本。一般代價估計函數表示如下:
其中, g (n) 表示根據實際駕駛條件計算的實際代價 (從起點到當前點n) , h (n) 表示包括啟發式信息的估計代價 (從當前點n到目標點) 。估計代價主要用于尋找搜索方向, 這對最終的搜索結果和效率有很大影響[11]。估計代價越接近實際代價, 收斂速度就越快。當估計代價小于實際代價時, 收斂速度將減慢, 但可以獲得最優解。相反, 收斂速度將加快但可能無法獲得最優解。因此, 估計代價是A*算法研究的重點和難點。
AGV在智慧倉儲環境中的移動方向是正東, 正西, 正南和正北。因此, 在研究分揀路線時, 通常使用Manhattan距離[12]來計算估計代價h (n) 。根據當前點 (xn, yn) 和目標點 (xend, yend) 的估計代價函數如下:
如果將Manhattan距離用作估計代價, 則路徑規劃將限制在靜態而非動態環境中的單個AGV, 并且將導致交通堵塞。為了緩解交通堵塞并提高計算效率, 本文在交叉路口再次規劃AGV的路徑并檢測所有可行路徑, 其中增加了AGV彼此共享路徑的懲罰值。該懲罰值取決于與AGV的距離并且與距離成反比。最終, 估計代價函數選擇為:
其中, a是距離目標點為1~4個網格且權重為α的AGV的數量, b是距離目標點為4~8個網格且權重為β的AGV的數量, 其它AGV的數量為c且權重為γ。本文規定α>β>γ, 這意味著距離越近, 懲罰值越大。通過提高估計代價實現動態路徑規劃并緩解交通擁堵, 最終代價估計函數如下:
當使用A*算法動態規劃各AGV的路徑時, 多AGV在實際操作中同時工作時不可避免的會發生碰撞, 本文給出了智慧倉儲環境下的兩種碰撞類型。
由追趕引起的碰撞如圖2所示。為了解決這種碰撞, 本文不考慮AGV的優先級, 規定后面的AGV應該停止并等待前面的AGV通過, 然后再繼續移動。
交叉點中存在4種類型的碰撞如圖3所示。為了解決交叉點中的這些碰撞, 本文規定優先級較低的AGV應該停止等待直到具有較高優先級的AGV通過, 然后再繼續移動。
基于上述分析, 本文提出了基于改進A*算法和碰撞解決規則的多AGV無碰撞路徑規劃方法, 具體步驟如下:
步驟1:定義兩個名為OPEN和CLOSE的表。OPEN表示將被明確搜索但不能確保它們在最短路徑上的節點集。CLOSE表示已經搜索過的節點集, 在這些節點中可以找到從起始點到目標點的最短路徑。
步驟2:選擇節點Vs和Vend分別為起點和目標點, Vi表示其它點。然后將Vs放在表OPEN中, 并將表CLOSE初始化為空。
步驟3:選擇使函數f (n) 最小的節點n, 然后將其添加到表CLOSE中。然后, 如果該點是目標點, 則結束搜索并獲得最優解, 否則進行步驟4。如果表OPEN為空, 則表示無法找到路徑并且結束算法。
步驟4:擴展搜索與Vj (j≠i) 相鄰且沒有障礙物的網格Vi并計算Vi的值, 然后重復步驟3。
如果AGV之間存在碰撞, 則由本文所提的碰撞解決規則處理。利用該方法可以重新規劃AGVs的路徑。因此, 在尋找無碰撞路徑的前提下, 利用緩解交通擁擠的思想, 可以獲得最大的效益。
在模擬實驗中, 智慧倉儲的長×寬為800m×400m, 劃分為4m×4m網格。AGV的數量為80, 其大小為0.8m×0.8m。AGV速度為2m/s, 選擇參數α、β和γ時, 應保證α>β>γ, 即距離越近, 懲罰值越大。本文將參數α、β和γ分別設為0.6、0.3和0.1。
本文利用C軟件平臺開發了多AGV分揀系統的仿真軟件, 如圖4所示。左邊是菜單欄, 可以監視AGV的運動狀態, 并調整AGV的速度和加速度。右方是通過網格方法建模的工作區域, 可以模擬真實的分揀環境。分揀效率指標顯示在右上角。AGV的應用環境和所需的任務數量可以根據系統的需要自動設置。
由于AGV均保持2m/s的速度運行, 所提出的碰撞解決方案中, 規定后面的AGV應該停止并等待前面的AGV通過, 然后再繼續移動。因此避免了追趕引發的碰撞。在此只考慮交叉口的防碰撞。
在該平臺只考慮交叉口的防碰撞分析, 對于兩個AGV在既定的路徑上運行時, 采用改進A*算法的多AGV防碰撞路徑規劃與文獻[13]的蟻群算法防碰撞路徑規劃進行了比較, 如表1所示。
表1 蟻群算法與本文的改進A*算法的防碰撞時間對比 下載原表
由表1的交叉口防碰撞效率對比結果可以發現, 兩種方法的模擬時間和停止等待時間均隨交叉口防碰撞次數的增加而增加, 但基于改進的A*算法在時間上均隨著防碰撞次數的增加呈現出較為線性的增長, 且模擬時間比蟻群算法快。而蟻群算法在模擬時間上呈現指數型增長, 這是由于改進A*算法的最終代價估計函數僅與距離目標點的AGV數量相關, 而蟻群算法的迭代次數與交叉口防碰撞次數相關, 且每次迭代均需從AGV的初始點重新進行計算, 加大了計算復雜度進而增加了模擬時間。同時, 本文方法在停止等待時間上略低于蟻群算法, 這是由于改進A*算法是以網格中的節點作為AGV的停止點, 而文獻[13]的蟻群算法是以網格的邊作為AGV的停止邊, 所以在交叉口的防碰撞實驗時, 本文中的AGV停止點距離交叉口更小, 再次啟動運行時的等待時間更短。因此, 基于改進的A*算法可以有效緩解交通堵塞。
在該平臺上, 對基于改進A*算法的多AGV路徑規劃分揀效率與傳統A*算法進行了比較, 如表2所示。其中, ASP/s代表每秒平均分揀件。
表2 傳統A*算法與改進A*算法之間的分揀效率對比 下載原表
由表2的分揀效率對比結果可以發現, 兩種方法的分揀速度均隨時間的推移而減小, 但基于改進的A*算法可以對更多的貨物進行分揀, 且分揀速度比傳統的A*算法快。這是因為在改進的算法中考慮了交通擁堵和防止碰撞。因此, 基于改進的A*算法不僅能滿足分揀系統對穩定性的要求, 而且還可以提高分揀效率。
本文在采用網格方法構建的智慧倉儲環境的基礎上, 利用改進的A*算法和碰撞解決規則, 從緩解交通擁堵和避免碰撞的角度對AGV的路徑進行了規劃。仿真結果表明, 該方法可以提高多AGV的分揀效率, 緩解交通擁堵。在未來的研究中, 將根據不同的場景研究更有效的算法。
上一篇: 資源環境領域開放獲取倉儲目錄的分析研究
下一篇: 電力企業物資采購計劃與倉儲管理研究