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