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