馮仁宇,夏 凱
(1.清華大學(xué),北京 100091;2.上海外國語大學(xué),上海 200082;3.上海煙草集團(tuán)有限責(zé)任公司,上海 200082)
目前,智慧倉儲中會使用大量搬運(yùn)機(jī)器人完成搬運(yùn)工作,以提高工作效率[1]。隨著搬運(yùn)機(jī)器人的廣泛應(yīng)用,人們對其智能性的需求越來越高,其中最基本的需求就是能自動選擇路徑完成搬運(yùn)任務(wù)[2-4]。目前,已經(jīng)有很多專家學(xué)者研究了搬運(yùn)機(jī)器人路徑選擇的方法。例如,曹凱等人通過渦流約束法建立斥力場,按照梯度方向產(chǎn)生渦流場,通過渦流人工勢場在渦流場內(nèi)生成軌跡樹,并提出軌跡樹內(nèi)的冗余節(jié)點(diǎn),從而完成了搬運(yùn)機(jī)器人路徑的選擇。該方法能夠有效地選擇路徑,并且路徑選擇的收斂速度較快[5]。魏博等人將離子運(yùn)動算法引入到人工蜂群算法中來改進(jìn)算法,從而加快算法的收斂速度,并通過改進(jìn)后的人工蜂群算法實(shí)現(xiàn)了搬運(yùn)機(jī)器人路徑的選擇。該方法能夠?qū)崿F(xiàn)較快的路徑選擇,具備較高的效率[6]。但這兩種方法均未考慮搬運(yùn)機(jī)器人之間的路徑?jīng)_突問題,容易發(fā)生路徑?jīng)_突,且避障能力較差。在實(shí)際智慧倉儲環(huán)境下,需要考慮多重約束條件,為搬運(yùn)機(jī)器人選擇一條最佳移動路徑,并解決路徑?jīng)_突問題,以提升搬運(yùn)機(jī)器人的避障能力[7]。因此,需要研究多重約束條件下智慧倉儲搬運(yùn)機(jī)器人移動路徑的選擇方法,以縮短搬運(yùn)機(jī)器人的運(yùn)行時(shí)間和運(yùn)行距離。
以智慧倉儲搬運(yùn)機(jī)器人運(yùn)行長度f1(R)、運(yùn)行困難指數(shù)f2(R)與運(yùn)行時(shí)間f3(R)為目標(biāo)函數(shù),建立智慧倉儲搬運(yùn)機(jī)器人路徑選擇函數(shù)。
針對智慧倉儲中搬運(yùn)機(jī)器人運(yùn)行長度這一目標(biāo)函數(shù)f1(R),假設(shè)搬運(yùn)機(jī)器人可用移動路徑為R={r1,r2,…,rn},可用移動路徑節(jié)點(diǎn)數(shù)量為n。f1(R)的計(jì)算公式如下:
式中:ri、rj分別表示可用路徑上的第i、j個(gè)節(jié)點(diǎn);d(ri,rj)表示ri與rj之間的距離。
針對搬運(yùn)機(jī)器人經(jīng)過路徑內(nèi)各節(jié)點(diǎn)的困難指數(shù)總和f2(R),其計(jì)算公式如下:
式中:g(ri)表示搬運(yùn)機(jī)器人經(jīng)過ri時(shí)的困難指數(shù);zi表示指定時(shí)間窗內(nèi),經(jīng)過任一節(jié)點(diǎn)上的機(jī)器人數(shù)量。
針對代表智慧倉儲搬運(yùn)機(jī)器人的運(yùn)行時(shí)間這一目標(biāo)函數(shù)f3(R),其計(jì)算公式如下:
式中:A表示智慧倉儲內(nèi)搬運(yùn)機(jī)器人數(shù)量;xarij表示搬運(yùn)任務(wù)數(shù)量;表示機(jī)器人經(jīng)過節(jié)點(diǎn)i至j間直線路段需要的時(shí)間表示經(jīng)過節(jié)點(diǎn)i至j間拐彎路段需要的時(shí)間;wij表示節(jié)點(diǎn)i至j間路段權(quán)重;tw表示時(shí)間窗。
的計(jì)算公式如下:
式中:vs表示搬運(yùn)機(jī)器人勻速行駛速度;L(i,j)表示i與j間的距離;Lv表示搬運(yùn)機(jī)器人長度。
的計(jì)算公式如下:
式中:vc表示搬運(yùn)機(jī)器人拐彎行駛速度;Rtc為機(jī)器人的轉(zhuǎn)彎半徑。
綜合f1(R)、f2(R)、f3(R),建立智慧倉儲搬運(yùn)機(jī)器人路徑選擇函數(shù),公式如下:
第1.1 節(jié)建立的搬運(yùn)機(jī)器人移動路徑選擇函數(shù)的多重約束條件如下:
1)搬運(yùn)機(jī)器人搬運(yùn)任務(wù)約束
智慧倉儲中,任一搬運(yùn)機(jī)器人只能執(zhí)行一個(gè)任務(wù)[8],公式如下:
式中:rij表示節(jié)點(diǎn)i至j間的路徑。當(dāng)xarij= 1 時(shí),說明機(jī)器人a在路徑rij上;當(dāng)xarij= 0 時(shí),說明a不在路徑rij上。
2)時(shí)間窗約束
搬運(yùn)機(jī)器人a在路徑rij上的時(shí)間窗tw約束為:
3)時(shí)間窗內(nèi)搬運(yùn)機(jī)器人數(shù)量約束
移動路徑上,指定時(shí)間窗內(nèi)搬運(yùn)機(jī)器人的數(shù)量約束為:
式中:表示由i移動至j的搬運(yùn)機(jī)器人數(shù)量表示j移動至i的搬運(yùn)機(jī)器人數(shù)量代表時(shí)間窗內(nèi)機(jī)器人a經(jīng)過rij代表時(shí)間窗內(nèi)機(jī)器人a經(jīng)過rji。
4)指定時(shí)間窗內(nèi),路徑中搬運(yùn)機(jī)器人數(shù)量約束
在內(nèi),rij上搬運(yùn)機(jī)器人數(shù)量的約束為:
利用改進(jìn)的遺傳算法,結(jié)合1.2 節(jié)中的約束條件,求解1.1 節(jié)建立的搬運(yùn)機(jī)器人移動路徑選擇函數(shù),并得到最短的運(yùn)行長度、最低的運(yùn)行困難指數(shù)和最短的運(yùn)行時(shí)間,以及對應(yīng)的移動路徑選擇結(jié)果。改進(jìn)遺傳算法中對適應(yīng)度函數(shù)k進(jìn)行改進(jìn),解決路徑?jīng)_突問題,提升搬運(yùn)機(jī)器人的避障能力,具體步驟如下:
步驟1:分析搬運(yùn)機(jī)器人搬運(yùn)物體與障礙物是否處于同一位置[9],即,其中,分析搬運(yùn)物體與障礙物是否處于同一位置時(shí)的適應(yīng)度函數(shù)為ω2;當(dāng)搬運(yùn)物體位置k的適應(yīng)度函數(shù)Fk為1 時(shí),說明搬運(yùn)物體與障礙物處于同一位置[10]。
步驟2:計(jì)算搬運(yùn)物體所在直線方程。
步驟3:計(jì)算障礙物各邊所在直線方程。
步驟4:求解步驟2 與步驟3 的方程組,獲取障礙物與搬運(yùn)物體所處直線上的全部重合點(diǎn)。
步驟6:設(shè)計(jì)適應(yīng)度函數(shù)F=ω1F1+ω2F2,其中ω1、ω2表示F1與F2的權(quán)值。
對遺傳算法內(nèi)的適應(yīng)度函數(shù)進(jìn)行改進(jìn)后,利用改進(jìn)遺傳算法進(jìn)行選擇、交叉與變異操作,求解搬運(yùn)機(jī)器人移動路徑選擇函數(shù)f(R*),得到搬運(yùn)機(jī)器人的最佳移動路徑,實(shí)現(xiàn)多重約束下智慧倉儲搬運(yùn)機(jī)器人移動路徑選擇。
以某物流公司的智慧倉庫為實(shí)驗(yàn)對象,該倉庫內(nèi)共包含5 個(gè)揀選臺、10 個(gè)充電站、400 個(gè)貨架、20 個(gè)搬運(yùn)機(jī)器人。搬運(yùn)機(jī)器人的具體參數(shù)如表1 所示。
表1 搬運(yùn)機(jī)器人具體參數(shù)
當(dāng)該智慧倉儲內(nèi)包含2 個(gè)搬運(yùn)任務(wù)時(shí),則需2 個(gè)搬運(yùn)機(jī)器人同時(shí)進(jìn)行搬運(yùn)任務(wù),利用本文方法為這2 個(gè)搬運(yùn)機(jī)器人選擇移動路徑,移動路徑選擇結(jié)果如圖2所示。
當(dāng)該智慧倉儲內(nèi)只有一個(gè)搬運(yùn)任務(wù)時(shí),則僅需一個(gè)搬運(yùn)機(jī)器人進(jìn)行搬運(yùn)任務(wù),利用本文方法為該搬運(yùn)機(jī)器人選擇移動路徑,移動路徑選擇結(jié)果如圖1 所示。
圖1 搬運(yùn)機(jī)器人移動路徑選擇結(jié)果
根據(jù)圖1 可知,本文方法可有效地為搬運(yùn)機(jī)器人選擇移動路徑,且選擇的移動路徑中,并不會與障礙物發(fā)生碰撞,說明應(yīng)用本文方法選擇的移動路徑可提升搬運(yùn)機(jī)器人執(zhí)行搬運(yùn)任務(wù)的安全性。
根據(jù)圖2 可知,對于多個(gè)搬運(yùn)機(jī)器人同時(shí)在智慧倉儲內(nèi)執(zhí)行搬運(yùn)任務(wù)時(shí),本文方法依舊可以有效地為搬運(yùn)機(jī)器人選擇移動路徑,兩個(gè)搬運(yùn)機(jī)器人在執(zhí)行任務(wù)時(shí)均未與障礙物發(fā)生碰撞。實(shí)驗(yàn)結(jié)果證明:本文方法具備移動路徑選擇的有效性,可提升搬運(yùn)機(jī)器人執(zhí)行搬運(yùn)任務(wù)時(shí)的安全性。
圖2 多個(gè)搬運(yùn)機(jī)器人的移動路徑選擇結(jié)果
當(dāng)智慧倉儲中8 個(gè)搬運(yùn)機(jī)器人同時(shí)進(jìn)行搬運(yùn)任務(wù)時(shí),利用本文方法為這8 個(gè)搬運(yùn)機(jī)器人選擇移動路徑,8 個(gè)機(jī)器人移動路徑選擇的長度、困難指數(shù)與運(yùn)行時(shí)間如表2 所示。
表2 搬運(yùn)機(jī)器人的運(yùn)行長度、困難指數(shù)與運(yùn)行時(shí)間
根據(jù)表2 可知,應(yīng)用本文方法前,搬運(yùn)機(jī)器人的運(yùn)行長度、運(yùn)行困難指數(shù)、運(yùn)行時(shí)間,明顯高于應(yīng)用后;應(yīng)用本文方法前的平均運(yùn)行長度是155.68 m,平均運(yùn)行困難指數(shù)是180.38,平均運(yùn)行時(shí)間是96.06 s;應(yīng)用本文方法后的平均運(yùn)行長度是122.27 m,平均運(yùn)行困難指數(shù)是125.25,平均運(yùn)行時(shí)間是62.28 s。實(shí)驗(yàn)結(jié)果證明:應(yīng)用本文方法后,可有效減少搬運(yùn)機(jī)器人的運(yùn)行長度,降低運(yùn)行困難指數(shù),縮短運(yùn)行時(shí)間。
未來物流行業(yè)的發(fā)展方向是智慧物流,而智慧物流的關(guān)鍵是智慧倉儲,智慧倉儲的關(guān)鍵則是搬運(yùn)機(jī)器人。搬運(yùn)機(jī)器人的移動路徑選擇效果直接影響智慧倉儲的運(yùn)營效率。因此,需要研究在多重約束條件下的智慧倉儲搬運(yùn)機(jī)器人移動路徑選擇方法,以提升搬運(yùn)機(jī)器人的避障能力。