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