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