机器人在线“偷懒”怎么办?阿里研究出了这两套算法
簡介:?隨著互聯(lián)網(wǎng)和電子商務(wù)的發(fā)展以及全球化的不斷加速,中國產(chǎn)業(yè)持續(xù)升級(jí),人工智能與機(jī)器人集群逐步被應(yīng)用于制造業(yè)與物流供應(yīng)鏈產(chǎn)業(yè)中。機(jī)器人集群的主要目的是與人協(xié)同合作,將人從沉重的重體力搬運(yùn)任務(wù)中解放出來,專注于更精細(xì)的操作當(dāng)中。由于在工業(yè)界的廣泛應(yīng)用與進(jìn)一步智能化生產(chǎn)的思考,機(jī)器人集群調(diào)度成為了多智能體系統(tǒng)(Multi-agent System)學(xué)術(shù)研究中的一個(gè)新興研究方向,其核心問題是如何調(diào)度機(jī)器人執(zhí)行合適的任務(wù)并規(guī)劃高效的路徑,使得系統(tǒng)整體效率最優(yōu)。
?
--------點(diǎn)擊屏幕右側(cè)或者屏幕底部“+訂閱”,關(guān)注我,隨時(shí)分享機(jī)器智能最新行業(yè)動(dòng)態(tài)及技術(shù)干貨----------
?
前言
與傳統(tǒng)工業(yè)優(yōu)化不同,多智能體系統(tǒng)中每個(gè)機(jī)器人互相替代性很強(qiáng),流程是非線性的,導(dǎo)致系統(tǒng)效率很難直接建模。一般通過調(diào)整任務(wù)分配與移動(dòng)路徑,優(yōu)化總?cè)蝿?wù)距離來間接逼近系統(tǒng)效率。但我們?cè)趯?shí)踐中發(fā)現(xiàn),任務(wù)距離與系統(tǒng)效率并不強(qiáng)相關(guān)。由于成本的限制,機(jī)器人數(shù)量往往是有限的,當(dāng)針對(duì)任務(wù)距離進(jìn)行優(yōu)化時(shí),會(huì)導(dǎo)致部分作業(yè)人員過于繁忙,而部分作業(yè)人員無事可做的問題。
因此我們結(jié)合了菜鳥柔性自動(dòng)化實(shí)驗(yàn)室在多智能體系統(tǒng)的實(shí)踐與反思,于論文《Idle Time Optimization for Target Assignment and Path Finding in Sortation Centers》中提出了基于工作站空閑時(shí)間的優(yōu)化模型,關(guān)注如何最大化人的能力,從而推動(dòng)整個(gè)系統(tǒng)達(dá)到更高的效率。我們對(duì)工作站的工作時(shí)間進(jìn)行了離散化切分,模擬了機(jī)器人排隊(duì)與等待的情況,并通過一套統(tǒng)一的網(wǎng)絡(luò)流模型獲得機(jī)器人與工作站的分配策略,以及機(jī)器人集群的路徑規(guī)劃,提升了系統(tǒng)產(chǎn)能。
論文地址:https://aaai.org/Papers/AAAI/2020GB/AAAI-KouN.3001.pdf
應(yīng)用場景
基于多智能體集群的自動(dòng)化技術(shù)方案的興起和發(fā)展,促進(jìn)了現(xiàn)代物流業(yè)的發(fā)展和全球化,代表著物流與供應(yīng)鏈行業(yè)未來的一個(gè)主要方向。在阿里巴巴旗下菜鳥網(wǎng)絡(luò)以及其合作伙伴的倉儲(chǔ)和分撥中心有著成百上千的機(jī)器人在工作,實(shí)現(xiàn)包裹高效安全的到達(dá)用戶手上。
?
?
圖 1 機(jī)器人集群在分撥中心進(jìn)行包裹分撥
圖 1 是一個(gè)機(jī)器人分撥中心,幾百個(gè)機(jī)器人在快速的把大量的包裹根據(jù)城市分撥,幫助干線物流網(wǎng)絡(luò)更高效的運(yùn)輸包裹。機(jī)器人分撥中心的核心是三部分:工作站(Station),機(jī)器人(Agent)以及道口(Sorting Bin)。機(jī)器人會(huì)自動(dòng)行駛到工作站領(lǐng)取包裹,通過自動(dòng)掃碼,然后再將包裹運(yùn)輸?shù)綄?duì)應(yīng)的目的地道口,此時(shí)機(jī)器人會(huì)將包裹投進(jìn)道口,從而完成包裹分撥。如何讓這幾百個(gè)機(jī)器人高效的運(yùn)轉(zhuǎn),使得包裹可以更加快速的到達(dá)用戶手中。這里要值得思考的是,一般性的會(huì)認(rèn)為讓這些機(jī)器人總的行駛路線最短就會(huì)使得整個(gè)分撥中心的效率最高。然而并不是這樣,我們會(huì)看輸入和輸出,輸入是所有的包裹,輸出是各個(gè)道口中的包裹。受限于大量的包裹以及有限的機(jī)器人,僅僅是去優(yōu)化路線最短并不能最大產(chǎn)出,這樣就會(huì)存在部分工作站機(jī)器人排隊(duì)而另一些工作站缺乏機(jī)器人的情況,在輸入部分就已經(jīng)限制了整個(gè)系統(tǒng)的產(chǎn)能。所以我們的目標(biāo)是最小化所有工作站的空閑時(shí)間,來達(dá)到最大化系統(tǒng)產(chǎn)能的目的。下面會(huì)介紹如何建模來解決最小化空閑時(shí)間的問題。
問題建模
我們將上圖機(jī)器人分撥中心模式進(jìn)行抽象成如下圖 2 所示,這樣可以方便的引入多智能體路徑規(guī)劃的研究,其中核心三要素分別是橙色的工作站,綠色的機(jī)器人以及藍(lán)色的道口。
?
?
圖 2 分撥過程,橙色節(jié)點(diǎn)為工作站,綠色節(jié)點(diǎn)是機(jī)器人,藍(lán)色節(jié)點(diǎn)為分撥道口(每個(gè)道口對(duì)應(yīng)了一個(gè)目的地結(jié)合)
要完成最小化工作站空閑時(shí)間,其核心是解決兩個(gè)問題:
這兩個(gè)問題合在一起在學(xué)術(shù)上定義為 TAPF 問題。解決單次的任務(wù)分配和路徑規(guī)劃問題,我們定義為一個(gè)單次的 TAPF 問題。那么順理成章的對(duì)于上述的自動(dòng)化分撥中心持續(xù)作業(yè)的場景,可以抽象成 Lifelong TAPF 問題。接下來我們給出 TAPF 的定義。在給定的如下 3 個(gè)條件:
- 一個(gè)全連接的無向圖 G(V,E);
- N個(gè)Station;
- M個(gè)Agent;
TAPF 會(huì)找到一個(gè)分配方案,這個(gè)分配方案表示即為每個(gè) Agent 去哪個(gè) Station,同時(shí)會(huì)為所有的 Agents 找到?jīng)]有沖突的路徑使得可以更快的到達(dá)各自的工作站。
當(dāng)每個(gè) Agent 到達(dá)其目的地 Station 點(diǎn)后,Station 將需要T的時(shí)間將包裹處理到 Agent 上的時(shí)間。因此如果給定一個(gè)時(shí)間窗口 [0, KT),那么我們可以設(shè)定每個(gè)工作站的操作時(shí)間為 K 個(gè)工作時(shí)間片: [0,T), [T,2T),..., [(K-1)T,KT),且每個(gè) Station 僅允許 Agent 的到達(dá)時(shí)間為 kT,其中 k=0,1,...,K-1。基于以上,我們認(rèn)為當(dāng)一個(gè) Agent 在 kT 時(shí)刻到達(dá)其目的地工作站時(shí),則這個(gè)工作站在時(shí)間段 [kT,(k+1)T) 內(nèi)將會(huì)被占用。
對(duì)于 Life-Long TPAF 問題,那就不是僅僅計(jì)算一次任務(wù)分配和多智能體路徑規(guī)劃問題。其本質(zhì)就是不斷的計(jì)算并更新每個(gè) Agent 的分配方案和路徑,這樣對(duì)于上述場景中即是,每個(gè)機(jī)器人在運(yùn)行過程中都在調(diào)整其目的地工作站和運(yùn)行的路線,最終達(dá)到最小化工作站空閑時(shí)間最大化分撥中心產(chǎn)能的目的。
目標(biāo)函數(shù):基于以上定義,我們可以定義:在一個(gè)給定時(shí)間段內(nèi),最小化總的空閑時(shí)間,即為在這段時(shí)間內(nèi)所有工作站的空閑時(shí)間之和。
示例說明:在后面的章節(jié)中,我們將用如下示例來詳細(xì)解釋每一種模型。
?
?
圖 3 問題示例
- 兩個(gè) Agent:?于時(shí)刻 0 從 A 出發(fā),?于時(shí)刻 1 于 C 出發(fā);
- 兩個(gè) Station:位于 E 點(diǎn),其位置用表示,位于F點(diǎn),其位置用表示;
那么假設(shè)給定時(shí)間范圍是 [0,6),工作站的處理時(shí)間 T=2,我們可以看到一個(gè)最優(yōu)的 TAPF 的解決方案是給分配工作站?,且其路線為?;分配到工作站,且其路線為 ,null 表示 0 時(shí)刻不在地圖中。這樣兩個(gè)工作站的工作時(shí)間段均為 [4,6),得到的目標(biāo)函數(shù)即總的空閑時(shí)間為 8。
ITO-空閑時(shí)間優(yōu)化
?
?
圖 4 ITO 模型,邊上標(biāo)記(cost, capacity),為簡潔起見(cost=0,capacity=1)的邊沒有標(biāo)記
為優(yōu)化空閑時(shí)間,如圖 4 所示,我們建立了 ITO(Idle Time Optimization)網(wǎng)絡(luò)流模型。每一條邊有兩個(gè)屬性 (cost, capacity),cost 代表了每單位流量經(jīng)過這條邊需要付出的代價(jià),capacity 代表這條邊能承載多少單位的流量。為簡潔起見,在圖中我們省略(cost=0,capacity=1)的邊。
我們對(duì)每一個(gè)建立了一個(gè)對(duì)應(yīng)的藍(lán)色節(jié)點(diǎn),對(duì)每個(gè)建立一個(gè)矩形 Station 子結(jié)構(gòu)。Station 子結(jié)構(gòu)根據(jù)時(shí)間軸展開成K個(gè)離散的時(shí)間段,每個(gè)時(shí)間段 [kT,(k+1)T) 用節(jié)點(diǎn)表示,這樣可以方便的考慮每個(gè)時(shí)間段的工作情況。Agent 與 Station 子結(jié)構(gòu)之間是一個(gè)全連通的二分圖,表示每個(gè) Agent 都能被指派到任意一個(gè) Station 并占用一個(gè)對(duì)應(yīng)的工作時(shí)間段。
?
?
圖5 Agent 節(jié)點(diǎn)與 Station 子結(jié)構(gòu)的鏈接
圖 5 解釋了 Agent 節(jié)點(diǎn)與 Station 子結(jié)構(gòu)的鏈接細(xì)節(jié)。對(duì)于每一組,我們可以估算到達(dá)的時(shí)間,如果這個(gè)時(shí)間段是[kT,(k+1)T),那么可以在時(shí)間段開始排隊(duì),并填補(bǔ)之后任意一個(gè)時(shí)間段的空缺,排隊(duì)的特性我們通過與之間的鏈接實(shí)現(xiàn)。
最后,為使得整個(gè)系統(tǒng)的空閑時(shí)間最少,我們希望找到一個(gè)工作站指派使得工作站時(shí)間段盡可能被占用。因此我們以 Agent 節(jié)點(diǎn)為流的入口,每個(gè) Agent 分配一個(gè)單位流量,以工作站時(shí)間段為出口,每個(gè)工作時(shí)間段最多流出一個(gè)單位流量。這樣每個(gè)時(shí)間段只能被一個(gè) Agent 獨(dú)占,每個(gè) Agent 也只能占用一個(gè)時(shí)間段。這個(gè)網(wǎng)絡(luò)流模型的最大流解即是使整個(gè)系統(tǒng)空閑時(shí)間最少的 Agent-Station 分配。當(dāng)我們得出分配方案后,再通過 MAPF 算法求得無沖突的 Agent 路徑,就可以按照該路徑來控制調(diào)度整個(gè)多智能體集群。
?
?
圖6 示例的 ITO 模型
圖 6 是前文示例對(duì)應(yīng)的 ITO 模型,兩個(gè) Agent 的預(yù)測到達(dá)時(shí)間都是在第 3 個(gè)時(shí)間段,粗邊是最大流的解,對(duì)應(yīng)匹配為與。
PITO-結(jié)合路徑規(guī)劃的空閑時(shí)間優(yōu)化
由于 ITO 將 Station 分配與路徑規(guī)劃分開考慮,其效果高度依賴于基于到達(dá)時(shí)間預(yù)測的精確程度。為了避免這個(gè)依賴,我們基于 ITO 設(shè)計(jì)了 PITO(Path Finding with ITO),它將 ITO 與匿名 MAPF 網(wǎng)絡(luò)流模型(Anonymous MAPF flow network, Yu and LaValle 2013)相結(jié)合,通過一個(gè)統(tǒng)一個(gè)網(wǎng)絡(luò)流模型,同時(shí)計(jì)算得出 Station 分配與 Agent 路徑。
?
?
圖 7 PITO 模型
PITO 的構(gòu)造過程如圖7所示由兩部分構(gòu)成。左側(cè) MAPF 網(wǎng)絡(luò)用于計(jì)算生成路徑信息,右側(cè) ITO 網(wǎng)絡(luò)用于生成 Station 分配結(jié)果。
對(duì)于任何一個(gè)地圖中的點(diǎn),我們根據(jù)時(shí)間軸將其擴(kuò)展到每一時(shí)刻 t,t 時(shí)刻的 u 用一個(gè)紫色節(jié)點(diǎn)表示。對(duì)于每一個(gè),我們創(chuàng)建一個(gè)緊隨其后的綠色輔助節(jié)點(diǎn)。由于與之間只有一條 capacity 為 1 的邊,任何時(shí)刻 t 最多只會(huì)有一個(gè)單位的流通過 u,從而避免了多個(gè) Agent 同時(shí)到達(dá) u 而相撞。我們?cè)谶@里并沒有在網(wǎng)絡(luò)結(jié)構(gòu)中設(shè)計(jì)避免在邊上相撞,而是采用了一個(gè)小技巧,如果有兩個(gè) Agent 在一條邊上相撞,則令他們?cè)诋?dāng)前點(diǎn)等待,并交換兩者的 Station 分配與后面的路徑。由于 Agent 是匿名的,交換 Station 分配與后面的路徑并不會(huì)影響空閑時(shí)間,從而達(dá)到了簡化網(wǎng)絡(luò)、加速求解的目的。
ITO 網(wǎng)絡(luò)和前一章的構(gòu)造方式基本相同,我們不再將Agent 與 Station 子結(jié)構(gòu)直接相連,而是采用讓 Agent 通過 MAPF 直接“走到” Station 的方式。每個(gè) Station?有其真實(shí)位置。對(duì)于每個(gè)工作時(shí)間段 [kT,(k+1)T),我們從輔助節(jié)點(diǎn)?連接一條邊到對(duì)應(yīng)的工作站時(shí)間段,從而允許Agent在到達(dá)時(shí)可以占用其對(duì)應(yīng)工作時(shí)間段。最后我們根據(jù) Agent 的起始時(shí)間與起始位置,將它們連接到對(duì)應(yīng)的節(jié)點(diǎn)上。
?
?
圖8 示例的 PITO 模型
圖8 是前文示例對(duì)應(yīng)的 PITO 模型,藍(lán)色粗邊相連的節(jié)點(diǎn)展示了 Agent 的對(duì)應(yīng)路徑以及 Station 的分配結(jié)果。
Lifelong 優(yōu)化
這一章我們討論如何將 ITO 與 PITO 應(yīng)用到 Lifelong 的優(yōu)化中。前面我們討論了如何利用 ITO 與 PITO 求解 One-Shot 問題的 Station 分配與路徑規(guī)劃,每個(gè) Agent 只需要去 Station 一次。但在現(xiàn)實(shí)場景中我們更關(guān)心的是一個(gè)動(dòng)態(tài)的過程,Agent 不斷往返工作站與傾倒口。因此在每經(jīng)過 的一個(gè)時(shí)間窗口,我們會(huì)重新根據(jù)場上情況重算為 Agent 分配 Station 并規(guī)劃路徑。
但為了讓上個(gè)時(shí)間窗口的結(jié)果能夠更好的為下一個(gè)時(shí)間窗口留出優(yōu)化空間,Agent 最好能占用更早工作時(shí)間段。我們通過增加懲罰節(jié)點(diǎn) P 來達(dá)到這個(gè)目的。如圖 4 和 8,我們?cè)?ITO 與 PITO 中增加了一個(gè)紅色懲罰節(jié)點(diǎn) P,將它們轉(zhuǎn)化為一個(gè)最小費(fèi)用最大流的問題。P 擁有足夠大的流量并且跟所有的時(shí)間段相連但 cost 不為 0,如果一個(gè)工作時(shí)間段沒有 Agent 能夠占據(jù),就會(huì)產(chǎn)生一個(gè)從 P 到該時(shí)間段的等同于 cost 的懲罰。為了讓 Agent 盡可能占據(jù)前面的時(shí)間段,我們用一個(gè)隨時(shí)間單調(diào)遞減的函數(shù)來表示P到的cost,比如采用線性遞減或者指數(shù)遞減函數(shù)。從而當(dāng)空閑時(shí)間相等時(shí),解會(huì)傾向于將空閑時(shí)間放在后面。
我們將 Lifelong 版的 ITO 與 PITO(帶時(shí)間窗口 W 與懲罰節(jié)點(diǎn) P)稱為 ITO-L 與 PITO-L。
實(shí)驗(yàn)分析
基于以上提出的的 ITO-L 和 PITO-L 算法以及我們給出3種對(duì)比算法,共 5 種算法框架進(jìn)行 Life-Long TAPF 的實(shí)驗(yàn)對(duì)比。5 種算法框架分別如下:
-
1)H(Inf)-L
采用 Hungarian 算法將所有 agents 按照總距離最近的方式統(tǒng)一分配到工作站,解決 Task Assignment 問題,然后采用改進(jìn)的 PBS 算法求解 MAPF 問題;隨著系統(tǒng)的運(yùn)行不斷重復(fù)實(shí)時(shí)的計(jì)算直至?xí)r間窗口結(jié)束。
-
2)H(1)-L
采用Hungarian算法重復(fù)計(jì)算 [M/N] 次將所有 agents 分配到工作站,解決 Task Assignment 問題;然后采用改進(jìn)的 PBS 算法求解 MAPF 問題,隨著系統(tǒng)的運(yùn)行不斷重復(fù)實(shí)時(shí)的計(jì)算直至?xí)r間窗口結(jié)束。
-
3)H(Q)-L
采用 Hungarian 算法重復(fù)計(jì)算 [M/(NQ)] 次將所有 agents 分配到工作站,解決 Task Assignment 問題;然后采用改進(jìn)的 PBS 算法求解 MAPF 問題。可以發(fā)現(xiàn) H(1)-L 和 H(Inf)-L 分別對(duì)應(yīng) Q=1 和 Q=∞,隨著系統(tǒng)的運(yùn)行不斷重復(fù)實(shí)時(shí)的計(jì)算直至?xí)r間窗口結(jié)束。
-
4)ITO-L
采用 Primal Dual 算法求解 Min Cost Max Flow 問題,解決 Task Assignment 問題;然后采用改進(jìn)的 PBS 算法求解 MAPF 問題,隨著系統(tǒng)的運(yùn)行不斷重復(fù)實(shí)時(shí)的計(jì)算直至?xí)r間窗口結(jié)束。
-
5)PITO-L
采用 Primal Dual 算法求解可直接得到 TAPF 問題的解,同時(shí)解決 Task Assignment 和 MAPF 問題,隨著系統(tǒng)的運(yùn)行不斷重復(fù)實(shí)時(shí)的計(jì)算直至?xí)r間窗口結(jié)束。
下面將介紹我們采用的兩個(gè)實(shí)驗(yàn)平臺(tái)。
Agent Simulator
?
?
圖9 模擬實(shí)驗(yàn)中兩個(gè)分撥中心的地圖
Agent simulator 是指在我們隨機(jī)生成的分撥中心業(yè)務(wù)模式的地圖集合上(如圖 9 所示),其中橙色代表工作站,藍(lán)色表示道口,Agent 未標(biāo)明在上述地圖中。采用我們?cè)O(shè)計(jì)的仿真框架來模擬系統(tǒng)的運(yùn)行,核心參數(shù)分別是:
- 工作站處理包裹時(shí)間,T = 10;
- 時(shí)間窗口范圍為[0,600],即KT = 600,K = 60;
- 每次重復(fù)計(jì)算的時(shí)間間隔30,即W = 30;
- Q = M/N + 5;
Industrial Simulator
?
?
圖10 分撥中心場地的 2D 布局,綠點(diǎn)為 Station,灰點(diǎn)為不可達(dá)區(qū)域,黑點(diǎn)為道口
我們將 ITO-L 算法和 H(Q)-L 算法應(yīng)用到上述應(yīng)用場景的分撥中心的調(diào)度系統(tǒng)中;其中 Task Assignment 問題分別用對(duì)應(yīng)的算法解決,實(shí)際中的路徑規(guī)劃采用 centralized A*算法求解以及解決 deadlock 問題。我們將實(shí)際分撥中心的地圖抽象抽象成如圖 10 所示。核心參數(shù)分別如下:
- T = 4;
- K = 75;
- Q = 15;
數(shù)據(jù)結(jié)果
Agent Simulator 的實(shí)驗(yàn)結(jié)果如下圖 11 與 12 所示:
?
?
圖 11 變化 Agent 數(shù)量的空閑時(shí)間趨勢
?
?
圖 12 相對(duì)H(Inf)-L算法,各算法對(duì)于總產(chǎn)能的提升比例
Industrial Simulator 的實(shí)驗(yàn)結(jié)果如圖 13 所示,其中全場分布的綠色方塊表示帶著包裹的機(jī)器人,全場分布的藍(lán)色表示空載的機(jī)器人。
?
?
?
圖 13 Industrial Simulator 運(yùn)行截圖,以及 ITO-L 與 H(Q)-L 在 Industrial Simulator 的表現(xiàn)
從以上數(shù)據(jù)結(jié)果我們可以看到:
結(jié)束語
本文是研究任務(wù)分配,多智能體路徑規(guī)劃以及兩者結(jié)合在一起的 TAPF 問題的一次成功嘗試。我們的核心是針對(duì)當(dāng)前物流行業(yè)前沿的自動(dòng)化方案機(jī)器人作業(yè)模式的研究,分析其核心點(diǎn) Life-Long TAPF 問題,首次提出了最小化工作站空閑時(shí)間的思想,來優(yōu)化提高系統(tǒng)的效率。并在此基礎(chǔ)上設(shè)計(jì)了兩種算法框架 ITO-L 和 PITO-L 來求解 Lifelong TAPF 問題,達(dá)到最小化工作站空閑時(shí)間的目的。在實(shí)驗(yàn)部分,我們分別采用了?Agent Simulator?和?Industrial Simulator?兩種仿真平臺(tái)來驗(yàn)證所設(shè)計(jì)的兩種算法。實(shí)驗(yàn)數(shù)據(jù)表明在兩個(gè)測試平臺(tái)上我們所提出的算法在系統(tǒng)產(chǎn)能上均可以有 10% 以上的提升,而對(duì)于一個(gè)長期運(yùn)行的自動(dòng)化作業(yè)系統(tǒng)來說,10% 的提升已經(jīng)是一個(gè)不錯(cuò)的表現(xiàn),可以讓大量的包裹更加高效快速的到達(dá)用戶手中,對(duì)保證和提高物流時(shí)效、加速物流自動(dòng)化的發(fā)展起到了積極的作用。本文主要表達(dá),針對(duì)物流自動(dòng)化機(jī)器人作業(yè)模式,我們?cè)趦?yōu)化方向上和算法設(shè)計(jì)上的一些思考和做的事情。后續(xù)我們將繼續(xù)分析行業(yè)問題,設(shè)計(jì)和改進(jìn)算法來進(jìn)一步加速算法應(yīng)用來提高系統(tǒng)效率。
總結(jié)
以上是生活随笔為你收集整理的机器人在线“偷懒”怎么办?阿里研究出了这两套算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云全球发布5大举措!
- 下一篇: 如何从校招脱颖而出?支付宝程序媛王妍岩: