孫陽(yáng)君,趙 寧
(北京科技大學(xué) 機(jī)械工程學(xué)院,北京 100083)
隨著科學(xué)技術(shù)的發(fā)展和人力成本的增加,用機(jī)器人代替人工已經(jīng)成為主流。據(jù)《2019年世界機(jī)器人報(bào)告》[1]顯示,僅2018年全球就賣出了超過(guò)10萬(wàn)的多機(jī)器人系統(tǒng),其中大多數(shù)用于電子商務(wù)倉(cāng)庫(kù)中的多機(jī)器人存取系統(tǒng)(Robotic Mobile Fulfillment System, RMFS),RMFS已經(jīng)成為機(jī)器人應(yīng)用最廣泛的領(lǐng)域之一。2008年,Kiva systems公司[2]首先將RMFS用于亞馬遜的倉(cāng)儲(chǔ)作業(yè),其利用貨架存儲(chǔ)商品,通過(guò)自動(dòng)導(dǎo)引小車(Autonomous Guided Vehicle, AGV)搬運(yùn)貨架[3]。相比傳統(tǒng)揀貨系統(tǒng),RMFS具有更高的揀貨效率、更好的系統(tǒng)可擴(kuò)展性和柔性[4]。如圖1所示,在RMFS內(nèi),AGV掃描路塊上的二維碼,通過(guò)二維碼確定當(dāng)前位置和移動(dòng)方向,工作人員只需在工作站等待AGV將貨架搬運(yùn)到固定位置,在固定位置揀貨即可,而不用進(jìn)入存儲(chǔ)區(qū)域揀貨,AGV等工作人員揀貨完畢后再將貨架搬運(yùn)回存儲(chǔ)區(qū)域,大大減少了工作人員的勞動(dòng)強(qiáng)度,降低了人力成本,提升了系統(tǒng)的自動(dòng)化和智能化程度。由于系統(tǒng)內(nèi)的AGV數(shù)量眾多,容易造成沖突和死鎖,AGV的調(diào)度和協(xié)同運(yùn)行成為系統(tǒng)的核心。
很多學(xué)者對(duì)RMFS的調(diào)度和協(xié)同問(wèn)題展開(kāi)研究。針對(duì)多輛AGV之間的沖突問(wèn)題,一些學(xué)者采用單項(xiàng)網(wǎng)絡(luò)布局減少?zèng)_突和死鎖,Zou等[5]在單項(xiàng)網(wǎng)絡(luò)的RMFS系統(tǒng)中提出一種AGV與揀選站匹配規(guī)則;鄒碧攀[6]對(duì)比了基于作業(yè)速率、近似最優(yōu)和最優(yōu)指派策略3種不同的任務(wù)分配策略,利用單向道避免沖突和堵塞;Zhang等[7]將單項(xiàng)網(wǎng)絡(luò)內(nèi)的AGV調(diào)度問(wèn)題建模為具有傳輸時(shí)間的資源受限項(xiàng)目調(diào)度問(wèn)題,設(shè)計(jì)了遺傳算法來(lái)分配任務(wù);Merschformann等[8]用啟發(fā)式規(guī)則進(jìn)行任務(wù)分配,分析了選擇工作站和貨架的多種啟發(fā)式規(guī)則對(duì)單位吞吐量的影響。這些研究默認(rèn)在使用單項(xiàng)網(wǎng)絡(luò)的情況下,系統(tǒng)內(nèi)的AGV之間不存在沖突和死鎖問(wèn)題,對(duì)AGV運(yùn)行路徑不做規(guī)劃,然而在AGV實(shí)際運(yùn)行中依然會(huì)存在沖突問(wèn)題,因此有學(xué)者研究了無(wú)沖突的路徑規(guī)劃,如Kamoshida等[9]提出一種深度強(qiáng)化學(xué)習(xí)的方法解決RMFS系統(tǒng)中的AGV路徑規(guī)劃問(wèn)題,根據(jù)系統(tǒng)狀態(tài)從多個(gè)候選路徑中選擇適合AGV的無(wú)沖突路徑;Vivaldini等[10]在雙向網(wǎng)絡(luò)RMFS中采用Dijkstra’s算法和時(shí)間窗方法生成無(wú)沖突路徑,采用禁忌搜索算法進(jìn)行任務(wù)分配;Merschformann等[11]用時(shí)間窗分層協(xié)同A*(Windowed Hierachical Cooperative A*,WHCA*)算法進(jìn)行無(wú)沖突路徑規(guī)劃;Ma等[12]通過(guò)搭建仿真模型實(shí)現(xiàn)單向網(wǎng)絡(luò)中的AGV任務(wù)分配和無(wú)碰撞路徑規(guī)劃;Honig等[13]將單向網(wǎng)絡(luò)RMFS中的AGV調(diào)度問(wèn)題變?yōu)槎啻砺窂綄ふ覇?wèn)題,利用動(dòng)作依賴圖進(jìn)行無(wú)沖突路徑規(guī)劃。除了采用單向網(wǎng)絡(luò)布局和構(gòu)建無(wú)沖突的路徑外,一些學(xué)者采用事后調(diào)度的方式消解AGV沖突,即在任務(wù)分配和路徑規(guī)劃完成后利用啟發(fā)式規(guī)則化解沖突。Guo等[14]提出基于Dijkstra’s算法和A*算法的路徑規(guī)劃方法,通過(guò)優(yōu)先級(jí)低的AGV避讓的方式解決RMFS兩個(gè)AGV間的沖突問(wèn)題;Dou等[15]選擇讓剩余任務(wù)較少的AGV等待的方式解決AGV之間的沖突問(wèn)題;Yuan等[16]用后到達(dá)車輛等待的方法解決同向沖突,用優(yōu)先級(jí)低的車輛等待的方法解決路口沖突;Wang等[17]用優(yōu)先級(jí)和重新規(guī)劃路徑的方法避開(kāi)AGV間的沖突;Roy等[18]利用通道協(xié)議避免AGV沖突,即通道內(nèi)有AGV時(shí)不允許其他AGV經(jīng)過(guò)。這些研究多針對(duì)靜態(tài)調(diào)度,集中在任務(wù)分配和路徑規(guī)劃與調(diào)度中,對(duì)系統(tǒng)的實(shí)時(shí)運(yùn)行情況考慮不足,在系統(tǒng)發(fā)生動(dòng)態(tài)變化時(shí)難以做到及時(shí)響應(yīng)。
一些學(xué)者考慮到系統(tǒng)運(yùn)行的動(dòng)態(tài)環(huán)境,對(duì)系統(tǒng)內(nèi)的車輛進(jìn)行無(wú)沖突調(diào)度。張丹露等[19]利用改進(jìn)的A*算法、預(yù)約表和動(dòng)態(tài)加權(quán)地圖進(jìn)行動(dòng)態(tài)協(xié)同路徑規(guī)劃,通過(guò)集中分配任務(wù)、分布式進(jìn)行路徑規(guī)劃,利用預(yù)約表和交通規(guī)則來(lái)避免AGV沖突;Yoshitake等[20]建立了一種實(shí)時(shí)整體調(diào)度方法進(jìn)行RMFS實(shí)時(shí)調(diào)度;Lee等[21]基于網(wǎng)絡(luò)物理系統(tǒng),根據(jù)AGV當(dāng)前狀態(tài)采用改進(jìn)A*算法規(guī)劃路徑,然后選擇完成時(shí)間最短的路徑作為AGV路徑,利用時(shí)間窗檢測(cè)沖突,并采用離開(kāi)、繞路和啟動(dòng)前等待3種方式避開(kāi)雙向網(wǎng)絡(luò)中的持續(xù)沖突、對(duì)頭沖突和交叉口沖突,在RMFS系統(tǒng)中驗(yàn)證了動(dòng)態(tài)無(wú)沖突調(diào)度策略;董朝瑞等[22]通過(guò)機(jī)器人模塊從中央控制模塊處獲得沖突協(xié)調(diào)信息和地圖環(huán)境,幫助AGV解決動(dòng)態(tài)運(yùn)行中的沖突問(wèn)題;Guney等[23]開(kāi)發(fā)了一個(gè)基于優(yōu)先級(jí)的AGV車輛運(yùn)動(dòng)協(xié)調(diào)算法解決單向網(wǎng)絡(luò)RMFS中的AGV沖突問(wèn)題,算法可以實(shí)時(shí)調(diào)整AGV的優(yōu)先級(jí),當(dāng)AGV之間發(fā)生沖突時(shí),優(yōu)先級(jí)最高的AGV繼續(xù)運(yùn)行而其他AGV停車等待。這些研究多用動(dòng)態(tài)調(diào)度方法解決系統(tǒng)中的AGV沖突問(wèn)題,調(diào)度結(jié)果表現(xiàn)很好。
然而,這些研究對(duì)AGV的運(yùn)行情況預(yù)測(cè)不足,大部分研究均在沖突發(fā)生后進(jìn)行協(xié)調(diào),造成AGV出現(xiàn)不必要的等待和停頓,因此建立在精準(zhǔn)仿真預(yù)測(cè)基礎(chǔ)上的集中式調(diào)度成為系統(tǒng)進(jìn)一步提升的關(guān)鍵。雖然AGV的運(yùn)行情況能夠預(yù)測(cè),但是RMFS中有人參與的作業(yè)完成時(shí)間是變化且不可預(yù)測(cè)的;另外,在實(shí)際運(yùn)行中,物理系統(tǒng)很難完全符合調(diào)度方案的預(yù)期,系統(tǒng)內(nèi)的AGV運(yùn)行和人員操作會(huì)受各種干擾,并非完全可控。現(xiàn)有調(diào)度模型基本不考慮這些變化和干擾,例如AGV發(fā)生故障或工作站工人不到位,然而這些事件容易影響系統(tǒng)原有的調(diào)度方案,對(duì)原有方案造成擾動(dòng)。原有調(diào)度方案若不能依計(jì)劃實(shí)行,則容易導(dǎo)致后續(xù)調(diào)度方案出現(xiàn)問(wèn)題,最終造成系統(tǒng)內(nèi)出現(xiàn)更加嚴(yán)重的沖突和死鎖。另外,由于RMFS中的訂單為實(shí)時(shí)到達(dá),AGV執(zhí)行的任務(wù)隨訂單確定,大大增加了調(diào)度的難度,對(duì)調(diào)度提出了新要求。在此背景下,數(shù)字孿生技術(shù)的發(fā)展為提高預(yù)測(cè)水平、解決擾動(dòng)和實(shí)時(shí)調(diào)度提出了新思路。
數(shù)字孿生是利用數(shù)字化手段構(gòu)建如同物理系統(tǒng)實(shí)體的孿生體一般的虛擬系統(tǒng),從而借助物理實(shí)體數(shù)據(jù)、實(shí)時(shí)運(yùn)行數(shù)據(jù)、歷史數(shù)據(jù)等在虛擬系統(tǒng)中模擬物理系統(tǒng)的運(yùn)行,通過(guò)仿真優(yōu)化和虛實(shí)交互促進(jìn)物理系統(tǒng)智能運(yùn)行[24],其在智能工廠建設(shè)[25]、智能制造[26]、生產(chǎn)車間[27]、分布式智能車間[28]、車間生產(chǎn)過(guò)程[29]及智能生產(chǎn)管理和控制[30]中有廣泛的應(yīng)用。數(shù)字孿生能夠在真實(shí)的物理世界和虛擬的信息世界之間架起一座實(shí)時(shí)同步且高度保真的橋梁[31-32]。北京航空航天大學(xué)的陶飛教授團(tuán)隊(duì)[33]建立了數(shù)字孿生技術(shù)五維模型,探索了其在車輛、立體倉(cāng)庫(kù)等十大領(lǐng)域的應(yīng)用;Zhang等[34]提出基于數(shù)字孿生技術(shù)的中空玻璃生產(chǎn)線的快速個(gè)性化設(shè)計(jì),以及生產(chǎn)過(guò)程中耦合問(wèn)題的解耦算法,解決了生產(chǎn)過(guò)程中的沖突;Liu等[35]利用數(shù)字孿生驅(qū)動(dòng)流水車間的個(gè)性化設(shè)計(jì),實(shí)現(xiàn)了系統(tǒng)靜態(tài)配置和動(dòng)態(tài)執(zhí)行機(jī)制的互相迭代優(yōu)化;Fang等[36]利用數(shù)字孿生技術(shù)解決作業(yè)車間調(diào)度中突發(fā)的動(dòng)態(tài)問(wèn)題并進(jìn)行預(yù)測(cè);李浩等[37]利用數(shù)字孿生技術(shù)預(yù)測(cè)設(shè)備的動(dòng)態(tài)性能;郭飛燕等[38]通過(guò)數(shù)字孿生技術(shù)預(yù)測(cè)產(chǎn)品裝配情況,實(shí)現(xiàn)了“以虛控實(shí)”的過(guò)程;Luo等[39]建立數(shù)字孿生模型對(duì)數(shù)控機(jī)床的道具壽命進(jìn)行預(yù)測(cè)。以上研究可以看出,數(shù)字孿生技術(shù)可以聯(lián)通虛擬世界和現(xiàn)實(shí)世界,已經(jīng)在制造車間等集中調(diào)度領(lǐng)域取得了較好的研究成果,其能夠?qū)崿F(xiàn)實(shí)時(shí)調(diào)度并響應(yīng)物理系統(tǒng)變化,保證虛擬系統(tǒng)和物理系統(tǒng)一致,避免出現(xiàn)調(diào)度方案不符合實(shí)際的情況,而且利用虛擬系統(tǒng)仿真驗(yàn)證各方案能夠降低系統(tǒng)運(yùn)行成本,實(shí)現(xiàn)系統(tǒng)的高效運(yùn)轉(zhuǎn)。
基于數(shù)字孿生的RMFS由4部分組成,即物理系統(tǒng)、虛擬系統(tǒng)、聯(lián)系兩者的孿生數(shù)據(jù)中心,以及確保三者互相映射的系統(tǒng)支撐服務(wù),如圖2所示。
(1)物理系統(tǒng) 是真實(shí)的系統(tǒng),主要接收數(shù)據(jù)中心傳遞的指令,根據(jù)指令運(yùn)行,并利用傳感器等采集實(shí)時(shí)運(yùn)行數(shù)據(jù)和物理系統(tǒng)數(shù)據(jù)。物理系統(tǒng)內(nèi)部的人員操作系統(tǒng)、AGV控制系統(tǒng)、傳感器等系統(tǒng)和裝置將實(shí)時(shí)運(yùn)行數(shù)據(jù)傳送到孿生數(shù)據(jù)中心。
(2)虛擬系統(tǒng) 是根據(jù)物理系統(tǒng)建立的虛擬模型,為物理系統(tǒng)的孿生體,主要功能包括建立虛擬系統(tǒng)模型、生成初始調(diào)度方案、運(yùn)行仿真調(diào)度方案和實(shí)時(shí)調(diào)整調(diào)度方案。虛擬系統(tǒng)模型是根據(jù)孿生數(shù)據(jù)中心的虛擬系統(tǒng)數(shù)據(jù)和實(shí)時(shí)運(yùn)行數(shù)據(jù)建立并持續(xù)維護(hù)的模型,其涉及的虛擬系統(tǒng)數(shù)據(jù)是將物理系統(tǒng)中的物理系統(tǒng)數(shù)據(jù)進(jìn)行處理后得到的。虛擬系統(tǒng)模型可用于仿真調(diào)度方案的運(yùn)行,能夠根據(jù)方案在不同評(píng)價(jià)指標(biāo)下的表現(xiàn)選擇合適的方案。最后,將合適的調(diào)度方案?jìng)鬟f到孿生數(shù)據(jù)中心指導(dǎo)物理系統(tǒng)運(yùn)行。
(3)孿生數(shù)據(jù)中心 是溝通物理系統(tǒng)和虛擬系統(tǒng)的橋梁,其功能包括數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)對(duì)比和傳輸。數(shù)據(jù)處理包括將物理系統(tǒng)數(shù)據(jù)轉(zhuǎn)化為虛擬系統(tǒng)數(shù)據(jù)、將訂單數(shù)據(jù)轉(zhuǎn)化為任務(wù)數(shù)據(jù)、將虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)轉(zhuǎn)化為運(yùn)行指令,存儲(chǔ)的數(shù)據(jù)包括物理系統(tǒng)數(shù)據(jù)、物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)、訂單數(shù)據(jù)、任務(wù)數(shù)據(jù)、虛擬系統(tǒng)數(shù)據(jù)、虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)等,數(shù)據(jù)對(duì)比是對(duì)比物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)和虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù),這些數(shù)據(jù)通過(guò)數(shù)據(jù)傳輸協(xié)議和無(wú)線網(wǎng)通訊來(lái)保證傳輸?shù)陌踩?、及時(shí)性和可靠性。
(4)系統(tǒng)支撐服務(wù) 系統(tǒng)支撐服務(wù)能夠確保以上三部分互相映射,包括為物理系統(tǒng)人員提供的操作系統(tǒng)和為AGV提供的控制系統(tǒng)、為虛擬系統(tǒng)提供的模型搭建方法和方案生成方法、為孿生數(shù)據(jù)中心提供的數(shù)據(jù)處理方法等。物理系統(tǒng)、虛擬系統(tǒng)和孿生數(shù)據(jù)中心除了根據(jù)各自需求調(diào)用支撐服務(wù)內(nèi)的各個(gè)模塊外,還會(huì)根據(jù)當(dāng)前系統(tǒng)狀態(tài)集中調(diào)用多個(gè)模塊。系統(tǒng)支撐服務(wù)內(nèi)各模塊提供的不只是單個(gè)服務(wù),其還將物理系統(tǒng)、虛擬系統(tǒng)和孿生數(shù)據(jù)中心三者進(jìn)行結(jié)合,保證三者互相映射,從而支撐整個(gè)系統(tǒng)運(yùn)行,是基于數(shù)字孿生的集中式調(diào)度系統(tǒng)運(yùn)行的重要保障,決定了系統(tǒng)整體運(yùn)行的效率。
基于數(shù)字孿生的RMFS系統(tǒng)集中式調(diào)度流程圖如圖3所示,具體步驟如下:
步驟1當(dāng)在孿生數(shù)據(jù)中心處理輸入的訂單時(shí),將訂單轉(zhuǎn)變?yōu)橄鄳?yīng)的揀貨任務(wù)和補(bǔ)貨任務(wù),將任務(wù)信息轉(zhuǎn)化為任務(wù)數(shù)據(jù)并傳輸?shù)教摂M系統(tǒng)進(jìn)行后續(xù)操作。其中,訂單處理方法由系統(tǒng)支撐服務(wù)提供。
步驟2在虛擬系統(tǒng)中,根據(jù)任務(wù)數(shù)據(jù)和實(shí)時(shí)運(yùn)行數(shù)據(jù)集中生成初始調(diào)度方案,即擾動(dòng)發(fā)生前的調(diào)度方案,初始調(diào)度方案的生成方法由系統(tǒng)支撐服務(wù)提供,需要利用任務(wù)分配、路徑規(guī)劃和調(diào)度優(yōu)化等多個(gè)模塊。
步驟3在虛擬系統(tǒng)中,采用搭建好的虛擬系統(tǒng)模型仿真步驟2中生成的多個(gè)調(diào)度方案。其中,虛擬系統(tǒng)模型的搭建方法由系統(tǒng)支撐服務(wù)提供。
步驟4在虛擬系統(tǒng)中,根據(jù)仿真結(jié)果確定最優(yōu)調(diào)度方案,并將仿真結(jié)果數(shù)據(jù)傳送到孿生數(shù)據(jù)中心。
步驟5孿生數(shù)據(jù)中心根據(jù)接收到的仿真結(jié)果數(shù)據(jù)生成相應(yīng)的指令傳送給物理系統(tǒng)。
步驟6在物理系統(tǒng)讀取孿生數(shù)據(jù)中心傳遞的指令,根據(jù)指令指導(dǎo)人員操作和AGV運(yùn)行。例如,通過(guò)看板展現(xiàn)人員需要操作的商品和數(shù)量,向AGV控制系統(tǒng)發(fā)送AGV的啟動(dòng)、停止、轉(zhuǎn)彎、等待、升/降貨架等指令。
步驟7在物理系統(tǒng),通過(guò)人員操作系統(tǒng)、AGV控制系統(tǒng)、傳感器等系統(tǒng)或裝置搜集實(shí)時(shí)運(yùn)行數(shù)據(jù),將其上傳到孿生數(shù)據(jù)中心。
步驟8在孿生數(shù)據(jù)中心對(duì)比虛擬系統(tǒng)的仿真結(jié)果數(shù)據(jù)和物理系統(tǒng)的實(shí)時(shí)運(yùn)行數(shù)據(jù),若出現(xiàn)異常數(shù)據(jù),則進(jìn)入步驟9;若未出現(xiàn)數(shù)據(jù)異常,則依次循環(huán)步驟6~步驟8,直到所有指令都完成,從而完成訂單,系統(tǒng)運(yùn)行結(jié)束。
步驟9在孿生數(shù)據(jù)中心,通過(guò)對(duì)比數(shù)據(jù)確定有異常的數(shù)據(jù),將異常數(shù)據(jù)上傳到虛擬系統(tǒng),并根據(jù)異常數(shù)據(jù)對(duì)虛擬系統(tǒng)模型進(jìn)行更新。
步驟10在虛擬系統(tǒng)根據(jù)接收的異常數(shù)據(jù)確定擾動(dòng)原因,根據(jù)不同的原因,依靠不同的重調(diào)度規(guī)則生成重調(diào)度方案,重調(diào)度方案的生成方法由系統(tǒng)支撐服務(wù)提供,需要利用訂單處理、任務(wù)分配、路徑規(guī)劃和調(diào)度優(yōu)化等多個(gè)模塊,然后返回步驟3。
物理系統(tǒng)是實(shí)際運(yùn)行的系統(tǒng),其主要功能是接收指令和采集數(shù)據(jù),圖4所示為物理系統(tǒng)的工作機(jī)制。
物理系統(tǒng)接收孿生數(shù)據(jù)中心下發(fā)的運(yùn)行指令,即物理系統(tǒng)的輸入,接收指令的對(duì)象是系統(tǒng)內(nèi)的工作人員和AGV兩大實(shí)體。工作人員通過(guò)人員操作系統(tǒng)獲取操作指令,根據(jù)看板上的顯示確定操作類型以及涉及的商品、位置和數(shù)量;AGV通過(guò)控制系統(tǒng)接收指令,確定在路塊上的啟動(dòng)時(shí)間和停止時(shí)間,以及在路塊上的轉(zhuǎn)彎、等待、升/降貨架等動(dòng)作。工作人員和AGV接收指令后根據(jù)指令運(yùn)行,而且人員操作系統(tǒng)和AGV控制系統(tǒng)均在系統(tǒng)支撐服務(wù)中開(kāi)發(fā)。
采集數(shù)據(jù)包括采集物理系統(tǒng)數(shù)據(jù)和采集物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù):
(1)物理系統(tǒng)數(shù)據(jù)主要包括系統(tǒng)內(nèi)各個(gè)設(shè)備和區(qū)域的尺寸、人員完成不同操作時(shí)的時(shí)間、AGV在不同情況下的速度和加速度、貨架和商品的位置數(shù)量信息等。這部分?jǐn)?shù)據(jù)會(huì)傳輸?shù)綄\生數(shù)據(jù)中心,用來(lái)建立虛擬系統(tǒng),保證虛擬系統(tǒng)和物理系統(tǒng)形如孿生體。
(2)物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)包括工作人員的操作數(shù)據(jù)、AGV的實(shí)際運(yùn)行數(shù)據(jù)和狀態(tài)數(shù)據(jù)。工作人員通過(guò)人員操作系統(tǒng)上的各個(gè)按鈕確定當(dāng)前任務(wù)完成,并將任務(wù)信息和操作時(shí)間等數(shù)據(jù)作為實(shí)時(shí)運(yùn)行數(shù)據(jù)。AGV通過(guò)自身攜帶的各種傳感器檢測(cè)運(yùn)行情況,包括視覺(jué)傳感器確定AGV進(jìn)入的路塊代號(hào)和時(shí)間,力學(xué)傳感器確定AGV是否轉(zhuǎn)彎和負(fù)載/空載狀態(tài),AGV的運(yùn)行數(shù)據(jù)和狀態(tài)數(shù)據(jù)將作為實(shí)時(shí)運(yùn)行數(shù)據(jù);利用工作站的RFID可以監(jiān)控AGV是否準(zhǔn)時(shí)準(zhǔn)確進(jìn)入工作站,AGV進(jìn)入工作站的時(shí)間和工作站信息也將作為實(shí)時(shí)運(yùn)行數(shù)據(jù)。將這些實(shí)時(shí)運(yùn)行數(shù)據(jù)上傳到孿生數(shù)據(jù)中心,用于和仿真數(shù)據(jù)比對(duì)。一些特定的數(shù)據(jù),如人員揀貨時(shí)間和任務(wù)完成時(shí)間,會(huì)直接傳遞到虛擬系統(tǒng),輔助虛擬系統(tǒng)進(jìn)行下一步?jīng)Q策。
另外,物理系統(tǒng)還有針對(duì)環(huán)境的監(jiān)控,其根據(jù)監(jiān)控到的溫度、濕度、壓力等數(shù)據(jù)進(jìn)行自動(dòng)調(diào)節(jié)和預(yù)警,以增加員工工作的舒適程度,確保貨品保存得更好,防止出現(xiàn)火災(zāi)等意外情況。利用攝像頭對(duì)路塊路面進(jìn)行監(jiān)控,確定是否有障礙物,并在出現(xiàn)商品跌落、人員走動(dòng)等情況時(shí)及時(shí)響應(yīng)。
虛擬系統(tǒng)是物理系統(tǒng)的孿生體,其能夠模仿物理系統(tǒng)的運(yùn)行,并為物理系統(tǒng)的運(yùn)行提供支撐,還能夠根據(jù)物理系統(tǒng)反饋的結(jié)果進(jìn)行及時(shí)調(diào)整,以處理物理系統(tǒng)中的各種突發(fā)狀況。虛擬系統(tǒng)主要由虛擬系統(tǒng)模型、實(shí)時(shí)生成和調(diào)整調(diào)度方案、仿真調(diào)度方案3部分組成,通過(guò)這3部分實(shí)現(xiàn)方案的生成和仿真功能。虛擬系統(tǒng)的運(yùn)行機(jī)制如圖5所示。
虛擬系統(tǒng)模型是虛擬系統(tǒng)的基礎(chǔ),模型的基礎(chǔ)數(shù)據(jù)為經(jīng)過(guò)數(shù)據(jù)中心處理的物理數(shù)據(jù),根據(jù)物理實(shí)體對(duì)應(yīng)的物理數(shù)據(jù)在虛擬平臺(tái)上建立多個(gè)子模塊,再根據(jù)物理實(shí)體之間的關(guān)聯(lián)連接各模塊,最終組合為虛擬系統(tǒng)模型。所建立的子模塊包括人員操作模塊、AGV運(yùn)行模塊、貨架存儲(chǔ)模塊和商品庫(kù)存模塊。虛擬系統(tǒng)模型還會(huì)通過(guò)實(shí)時(shí)運(yùn)行數(shù)據(jù)進(jìn)行修正,以保證其更接近物理系統(tǒng),尤其在發(fā)生意外事件之后,虛擬系統(tǒng)模型需要及時(shí)根據(jù)異常數(shù)據(jù)進(jìn)行調(diào)整,按照物理系統(tǒng)的實(shí)時(shí)運(yùn)行數(shù)據(jù)進(jìn)行更新,以保證仿真調(diào)度方案的真實(shí)性。如果物理系統(tǒng)內(nèi)有部分實(shí)體如AGV或工人出現(xiàn)異常,則需要按照出現(xiàn)的異常情況修改虛擬模型中對(duì)應(yīng)實(shí)體的狀態(tài),例如AGV出現(xiàn)故障時(shí),需要將AGV狀態(tài)從可用調(diào)為不可用,將AGV出現(xiàn)故障的路塊調(diào)為持續(xù)占用中。虛擬系統(tǒng)模型的搭建方法由系統(tǒng)的支撐服務(wù)提供。
實(shí)時(shí)生成和調(diào)整調(diào)度方案的主要輸入是物理系統(tǒng)運(yùn)行數(shù)據(jù)、任務(wù)數(shù)據(jù)和實(shí)時(shí)運(yùn)行數(shù)據(jù),根據(jù)現(xiàn)有數(shù)據(jù)和系統(tǒng)狀態(tài),以及實(shí)時(shí)到達(dá)的任務(wù)和可能的擾動(dòng)能夠確定當(dāng)前可以執(zhí)行的調(diào)度方案。實(shí)時(shí)生成和調(diào)整調(diào)度方案分為生成初始調(diào)度方案和生成重調(diào)度方案兩部分。初始調(diào)度方案在任務(wù)到達(dá)之后對(duì)任務(wù)進(jìn)行分配,確定執(zhí)行任務(wù)的AGV和運(yùn)行路徑,即AGV需要經(jīng)過(guò)的路塊順序,以及AGV在運(yùn)行中的其他動(dòng)向,包括啟動(dòng)、停止、轉(zhuǎn)彎、等待、升/降貨架等。物理系統(tǒng)按照調(diào)度方案運(yùn)行時(shí)上傳實(shí)時(shí)運(yùn)行數(shù)據(jù),孿生數(shù)據(jù)中心在對(duì)比時(shí)如果發(fā)現(xiàn)異常數(shù)據(jù),即任務(wù)不能順利完成,則需要生成重調(diào)度方案。在實(shí)際運(yùn)行中,導(dǎo)致異常數(shù)據(jù)的擾動(dòng)是不同的,這些擾動(dòng)包括AGV故障、工作站工人不到位、AGV路徑前方有突發(fā)障礙、AGV運(yùn)行時(shí)間發(fā)生變化等。孿生數(shù)據(jù)中心將異常數(shù)據(jù)傳送到虛擬系統(tǒng)后,虛擬系統(tǒng)確定發(fā)生擾動(dòng)的原因,根據(jù)不同的原因調(diào)用系統(tǒng)支撐服務(wù)中的不同模塊生成重調(diào)度方案。在實(shí)時(shí)生成和調(diào)整調(diào)度方案這一階段生成的初始調(diào)度方案和重調(diào)度方案均需在虛擬系統(tǒng)模型中進(jìn)行仿真驗(yàn)證。
仿真調(diào)度方案借助虛擬模型仿真之前生成的調(diào)度方案,再將調(diào)度方案的仿真結(jié)果返回到孿生數(shù)據(jù)中心。仿真的調(diào)度方案由生成初始調(diào)度方案和實(shí)時(shí)調(diào)整調(diào)度方案這兩部分生成,目的是驗(yàn)證生成的多個(gè)調(diào)度方案能否無(wú)沖突地運(yùn)行,并從中選擇平衡多目標(biāo)的調(diào)度方案,如果調(diào)度方案運(yùn)行不能保證無(wú)沖突,則返回重新生成調(diào)度方案。仿真過(guò)程中將統(tǒng)計(jì)相關(guān)的運(yùn)行數(shù)據(jù),包括完成時(shí)間、AGV利用率、AGV啟停次數(shù)、工作站任務(wù)平衡程度等,這些數(shù)據(jù)中的一部分會(huì)被作為評(píng)價(jià)指標(biāo)。仿真方案的評(píng)價(jià)選擇方法與系統(tǒng)中不同的決策傾向相關(guān),應(yīng)根據(jù)系統(tǒng)中不同的決策傾向選擇不同的評(píng)價(jià)指標(biāo)和評(píng)價(jià)方法,例如用Pareto解確定最優(yōu)邊界后,再用層次分析法選擇最優(yōu)調(diào)度方案;通過(guò)給定評(píng)價(jià)指標(biāo)之間的優(yōu)先級(jí)進(jìn)行選擇;采用線性加權(quán)的方法處理多個(gè)評(píng)價(jià)指標(biāo),選擇權(quán)重和最優(yōu)的調(diào)度方案等。另外,還會(huì)利用實(shí)時(shí)運(yùn)行數(shù)據(jù)優(yōu)化選擇方法。
孿生數(shù)據(jù)中心能夠聯(lián)系物理系統(tǒng)和虛擬系統(tǒng),主要用于存儲(chǔ)數(shù)據(jù)、處理數(shù)據(jù)、對(duì)比數(shù)據(jù)等,其通過(guò)數(shù)據(jù)傳輸協(xié)議和無(wú)線網(wǎng)通訊保證系統(tǒng)間的交互。孿生數(shù)據(jù)中心的運(yùn)行機(jī)制如圖6所示。
存儲(chǔ)的數(shù)據(jù)包括物理系統(tǒng)數(shù)據(jù)、物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)、訂單數(shù)據(jù)、任務(wù)數(shù)據(jù)、虛擬系統(tǒng)數(shù)據(jù)、虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)等。物理系統(tǒng)數(shù)據(jù)和物理系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)均傳輸自物理系統(tǒng);訂單數(shù)據(jù)由RMFS輸入的訂單生成;任務(wù)數(shù)據(jù)由訂單數(shù)據(jù)經(jīng)過(guò)孿生數(shù)據(jù)中心處理后得到;虛擬系統(tǒng)數(shù)據(jù)由物理系統(tǒng)數(shù)據(jù)經(jīng)過(guò)孿生數(shù)據(jù)中心處理后得到;虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)傳輸自虛擬系統(tǒng)。
數(shù)據(jù)處理包括將物理系統(tǒng)數(shù)據(jù)轉(zhuǎn)化為虛擬系統(tǒng)數(shù)據(jù)、將訂單數(shù)據(jù)轉(zhuǎn)化為任務(wù)數(shù)據(jù)、將虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)轉(zhuǎn)化為運(yùn)行指令:
(1)將物理系統(tǒng)數(shù)據(jù)轉(zhuǎn)化為虛擬系統(tǒng)數(shù)據(jù) 是針對(duì)搜集到的物理系統(tǒng)數(shù)據(jù),采用系統(tǒng)支撐服務(wù)中的數(shù)據(jù)處理方法轉(zhuǎn)化為建立虛擬系統(tǒng)模型必備的數(shù)據(jù),即虛擬系統(tǒng)數(shù)據(jù)。
(2)將訂單數(shù)據(jù)轉(zhuǎn)化為任務(wù)數(shù)據(jù) 是針對(duì)RMFS實(shí)時(shí)輸入的訂單,采用系統(tǒng)支撐服務(wù)中的訂單處理方法轉(zhuǎn)化為相關(guān)的任務(wù)數(shù)據(jù)。任務(wù)數(shù)據(jù)包括任務(wù)類型、貨架代號(hào)、工作站代號(hào)、商品存儲(chǔ)位置、揀貨數(shù)量等。
(3)將虛擬系統(tǒng)仿真結(jié)果數(shù)據(jù)轉(zhuǎn)化為運(yùn)行指令 包括針對(duì)AGV的啟動(dòng)、停止等運(yùn)行指令,轉(zhuǎn)彎、等待、升/降貨架等動(dòng)作指令,以及針對(duì)人員的揀貨、補(bǔ)貨、盤點(diǎn)等操作指令。
數(shù)據(jù)對(duì)比是對(duì)比物理系統(tǒng)的實(shí)時(shí)運(yùn)行數(shù)據(jù)和虛擬系統(tǒng)的仿真結(jié)果數(shù)據(jù),主要包括仿真中AGV啟動(dòng)、停止的路塊和時(shí)間與實(shí)際運(yùn)行中AGV進(jìn)入、離開(kāi)路塊的時(shí)間,仿真中AGV在路塊上的動(dòng)作情況和實(shí)際運(yùn)行中AGV轉(zhuǎn)彎、等待、升/降貨架的路塊,以及仿真中人員操作類型、對(duì)象和實(shí)際運(yùn)行中人員揀貨、補(bǔ)貨、盤點(diǎn)的貨架與商品,如果出現(xiàn)異常,則需上報(bào)虛擬系統(tǒng),確定擾動(dòng)原因后進(jìn)行重調(diào)度操作。這些異常數(shù)據(jù)可以輔助更新虛擬模型,以避免物理系統(tǒng)和虛擬系統(tǒng)出現(xiàn)偏差,減少實(shí)際運(yùn)行和調(diào)度計(jì)劃之間的差異。
系統(tǒng)支撐服務(wù)為物理系統(tǒng)、虛擬系統(tǒng)和孿生數(shù)據(jù)中心的運(yùn)行提供支撐,是數(shù)字孿生系統(tǒng)的基石和保障。系統(tǒng)支撐服務(wù)包括為物理系統(tǒng)的人員提供的操作系統(tǒng)和為AGV提供的控制系統(tǒng)、為虛擬系統(tǒng)提供的模型搭建方法和方案生成方法、為孿生數(shù)據(jù)中心提供的數(shù)據(jù)處理方法等,詳細(xì)模塊如圖7所示。
為物理系統(tǒng)的人員提供的操作系統(tǒng)和為AGV提供的控制系統(tǒng)分別幫助人員和AGV在物理系統(tǒng)中讀取指令并實(shí)現(xiàn)系統(tǒng)運(yùn)行:
(1)人員操作系統(tǒng)的開(kāi)發(fā)流程 通過(guò)分析物理系統(tǒng)確定人員操作邏輯,按照邏輯分析系統(tǒng)需求,再根據(jù)需求確定系統(tǒng)功能模塊,然后針對(duì)各模塊設(shè)計(jì)相應(yīng)的操作流程,根據(jù)操作流程設(shè)計(jì)系統(tǒng)界面,完成所有設(shè)計(jì)后部署系統(tǒng)的運(yùn)行環(huán)境,最后完成系統(tǒng)開(kāi)發(fā)與實(shí)現(xiàn),將系統(tǒng)交付工作人員使用。
(2)AGV控制系統(tǒng)的開(kāi)發(fā)流程 通過(guò)分析物理系統(tǒng)確定AGV的運(yùn)行邏輯,按照邏輯分析AGV的運(yùn)行需求,再根據(jù)需求確定系統(tǒng)功能模塊,然后針對(duì)各模塊設(shè)計(jì)AGV對(duì)自身其他零部件系統(tǒng)的控制方式,根據(jù)控制方式設(shè)計(jì)系統(tǒng)界面,完成所有設(shè)計(jì)后部署系統(tǒng)的運(yùn)行環(huán)境,最后完成系統(tǒng)開(kāi)發(fā)與實(shí)現(xiàn),將系統(tǒng)用于AGV控制。
為虛擬系統(tǒng)提供的模型搭建方法是借助孿生數(shù)據(jù)中心的虛擬系統(tǒng)數(shù)據(jù)和物理系統(tǒng)總結(jié)得到的系統(tǒng)運(yùn)行邏輯,利用模塊化建模方法分別建立人員操作模塊、AGV運(yùn)行模塊、貨架存儲(chǔ)模塊和商品庫(kù)存模塊。模塊建立所需的相關(guān)數(shù)據(jù)是物理系統(tǒng)中獲得的虛擬數(shù)據(jù),在物理系統(tǒng)運(yùn)行中,所建立的各模塊還應(yīng)根據(jù)實(shí)時(shí)運(yùn)行數(shù)據(jù)進(jìn)行修正,以確保和物理系統(tǒng)虛實(shí)一致。確定各模塊的功能邏輯和輸入輸出后,建立模塊間的關(guān)聯(lián)模型,并通過(guò)RFID、傳感器等裝置維持不同模塊之間的通信。然后統(tǒng)計(jì)和分析模型運(yùn)行數(shù)據(jù),利用3D設(shè)計(jì)軟件完成模型可視化和數(shù)據(jù)可視化。另外,還可通過(guò)實(shí)時(shí)運(yùn)行數(shù)據(jù)對(duì)模型中的部分參數(shù)進(jìn)行調(diào)整。
為虛擬系統(tǒng)提供的方案生成方法主要用于虛擬系統(tǒng)中實(shí)時(shí)生成和調(diào)整調(diào)度方案,主要包括任務(wù)分配、路徑規(guī)劃和調(diào)度優(yōu)化3個(gè)模塊:
(1)任務(wù)分配 即將已經(jīng)確定好的任務(wù)分配給AGV執(zhí)行。任務(wù)分配的方法包括利用不同智能算法編碼、不同的啟發(fā)式規(guī)則等,可以根據(jù)所反饋的實(shí)時(shí)運(yùn)行數(shù)據(jù),在不同情況下使用不同的任務(wù)分配方法。
(2)路徑規(guī)劃 是為AGV規(guī)劃完成任務(wù)的三段路徑,包括AGV從當(dāng)前位置到貨架所在位置、從貨架所在位置到工作站、從工作站返回存儲(chǔ)區(qū)域。三段路徑并非一次規(guī)劃完成,而是在實(shí)際運(yùn)行中按照調(diào)度需求在不同時(shí)間規(guī)劃不同階段的路徑。路徑規(guī)劃算法一般采用深度強(qiáng)化學(xué)習(xí)、Q-learning算法、蒙特卡洛樹(shù)搜索等。實(shí)時(shí)運(yùn)行數(shù)據(jù)可以對(duì)這些路徑規(guī)劃算法內(nèi)的參數(shù)進(jìn)行調(diào)整,根據(jù)AGV實(shí)時(shí)運(yùn)行情況選擇不同的路徑規(guī)劃算法。
(3)調(diào)度優(yōu)化 是對(duì)多AGV的協(xié)同運(yùn)作進(jìn)行優(yōu)化,采用一種或幾種算法和規(guī)則生成多個(gè)可行且較優(yōu)的調(diào)度方案。調(diào)度優(yōu)化可以和任務(wù)分配協(xié)同編碼,使用智能算法生成調(diào)度方案。在生成調(diào)度方案時(shí),利用啟發(fā)式規(guī)則處理AGV之間的沖突問(wèn)題,啟發(fā)式規(guī)則可以采用提前主動(dòng)等待、允許修改路徑、遇到?jīng)_突時(shí)根據(jù)優(yōu)先級(jí)決定通過(guò)和停止的AGV等。另外,實(shí)時(shí)運(yùn)行數(shù)據(jù)能夠優(yōu)化智能算法和啟發(fā)式規(guī)則。
在為虛擬系統(tǒng)提供支撐時(shí),這3個(gè)模塊并非分開(kāi)調(diào)用,而是按照一定規(guī)則多次集中調(diào)用。
例如,生成初始調(diào)度方案的步驟分為為未完成的任務(wù)集中分配AGV、對(duì)AGV完成任務(wù)的路徑進(jìn)行規(guī)劃、生成多個(gè)可用的調(diào)度方案3步。生成的初始調(diào)度方案即沒(méi)有擾動(dòng)發(fā)生的調(diào)度方案,當(dāng)前時(shí)間t時(shí)系統(tǒng)數(shù)據(jù)的不同,初始調(diào)度方案不同,具體流程如圖8所示,步驟如下:①根據(jù)當(dāng)前時(shí)間t,按照任務(wù)數(shù)據(jù)確定可以開(kāi)始的任務(wù),按照AGV數(shù)據(jù)確定可以接取任務(wù)的AGV,進(jìn)入②,如果所有任務(wù)都被分配給AGV,則轉(zhuǎn)③;②對(duì)這些AGV進(jìn)行任務(wù)分配,根據(jù)分配到的任務(wù)規(guī)劃AGV從當(dāng)前位置到貨架所在位置和從貨架所在位置到工作站的路徑,按照調(diào)度優(yōu)化方法確定AGV的調(diào)度方案,并輸出調(diào)度方案;③根據(jù)傳遞來(lái)的揀貨完成時(shí)間t1這一實(shí)時(shí)運(yùn)行數(shù)據(jù),令t=t1,執(zhí)行下一步;④對(duì)揀貨完成的AGV規(guī)劃從工作站返回存儲(chǔ)區(qū)域的路徑,按照調(diào)度優(yōu)化方法確定AGV的調(diào)度方案,并輸出調(diào)度方案;⑤根據(jù)傳遞來(lái)的任務(wù)完成時(shí)間t2這一實(shí)時(shí)運(yùn)行數(shù)據(jù),令t=t2,返回①,直到所有任務(wù)都被完成,生成初始調(diào)度方案的流程結(jié)束。
如果孿生數(shù)據(jù)中心向虛擬系統(tǒng)傳遞了異常數(shù)據(jù),則需在虛擬系統(tǒng)中實(shí)時(shí)調(diào)整調(diào)度方案,即生成重調(diào)度方案。由于不同的擾動(dòng)原因?qū)ο到y(tǒng)的影響程度不同,需要根據(jù)不同的擾動(dòng)原因、借助不同的重調(diào)度規(guī)則生成重調(diào)度方案,再仿真調(diào)度方案,根據(jù)仿真結(jié)果得到可行的調(diào)度方案作為指導(dǎo)物理系統(tǒng)運(yùn)行的重調(diào)度方案。重調(diào)度規(guī)則包括重生成任務(wù)數(shù)據(jù)、重分配任務(wù)、重規(guī)劃路徑和重調(diào)度,對(duì)于不同的擾動(dòng)原因,適用的重調(diào)度規(guī)則不同,如圖9所示。
對(duì)于AGV故障這一擾動(dòng),首先進(jìn)行故障診斷,如果為短時(shí)間內(nèi)可自行修復(fù)的故障,則修復(fù)后AGV可以繼續(xù)執(zhí)行任務(wù),直接從受影響時(shí)刻起重新調(diào)度即可。如果需要長(zhǎng)時(shí)間檢修,則考慮AGV是否有負(fù)載,是則意味著任務(wù)還未完成,但AGV已經(jīng)不可用,先將負(fù)載的AGV拖離原路塊,這一步要規(guī)劃移動(dòng)AGV的路徑,根據(jù)路徑規(guī)劃利用調(diào)度優(yōu)化方案生成重調(diào)度方案。然后,將這輛損壞AGV當(dāng)前在執(zhí)行的任務(wù)和后續(xù)所有任務(wù)都重新分配給其他AGV,并為這些任務(wù)進(jìn)行路徑規(guī)劃,執(zhí)行后續(xù)的調(diào)度操作。不負(fù)載的AGV暫時(shí)留在原地,等到時(shí)機(jī)合適再拖離當(dāng)前路塊。在AGV沒(méi)有離開(kāi)故障位置之前,這一路塊或者幾個(gè)路塊將不可用,可能造成某一條通道不可用,其他遭受影響的AGV也需要重新調(diào)度,此時(shí)按照AGV路徑前方有突發(fā)障礙的情況進(jìn)行重調(diào)度。對(duì)于這種情況,直接重規(guī)劃AGV路徑,再生成重調(diào)度方案。
對(duì)于工作站工人不到位這一擾動(dòng),首先確定工作站故障的時(shí)間長(zhǎng)短,如果是短時(shí)間的,則不改變?nèi)蝿?wù)分配和路徑規(guī)劃,從受影響時(shí)刻起重新調(diào)度;如果時(shí)間長(zhǎng),則影響該工作站分配到的所有訂單,需要從訂單處理開(kāi)始重新生成任務(wù)數(shù)據(jù),再重分配其他AGV執(zhí)行任務(wù),根據(jù)新任務(wù)要求和AGV運(yùn)行情況重新進(jìn)行路徑規(guī)劃,最后生成重調(diào)度方案。對(duì)于其他影響較小的擾動(dòng),如果時(shí)間上發(fā)生變化,例如AGV運(yùn)行時(shí)間發(fā)生變化,則從受影響時(shí)刻開(kāi)始重新調(diào)度,生成重調(diào)度方案,此時(shí)系統(tǒng)支撐服務(wù)會(huì)按照不同情況為虛擬系統(tǒng)提供不同的服務(wù)。
為孿生數(shù)據(jù)中心提供的數(shù)據(jù)處理方法,包括將物理系統(tǒng)數(shù)據(jù)轉(zhuǎn)化為虛擬系統(tǒng)數(shù)據(jù)的數(shù)據(jù)處理方法和將訂單數(shù)據(jù)轉(zhuǎn)化為任務(wù)數(shù)據(jù)的訂單處理方法:
(1)數(shù)據(jù)處理方法 將物理數(shù)據(jù)通過(guò)數(shù)據(jù)清洗、特征提取、數(shù)據(jù)分析等方式,處理為適合建立虛擬系統(tǒng)模型的虛擬系統(tǒng)數(shù)據(jù)。
(2)訂單處理方法 通過(guò)訂單整合為訂單分配工作站,如果商品庫(kù)存不足則生成相應(yīng)的補(bǔ)貨任務(wù),將工作站分配到的訂單拆分為相應(yīng)的揀貨任務(wù),根據(jù)系統(tǒng)需求確定揀選后的盤點(diǎn)任務(wù)。訂單處理完成后得到補(bǔ)貨、揀貨、盤點(diǎn)任務(wù),即可生成任務(wù)數(shù)據(jù)。
在多AGV系統(tǒng)中,采用本文所提基于數(shù)字孿生的集中式調(diào)度方法,根據(jù)當(dāng)前情況預(yù)測(cè)系統(tǒng)未來(lái)狀態(tài),針對(duì)不斷到達(dá)的訂單進(jìn)行實(shí)時(shí)調(diào)度,達(dá)到實(shí)時(shí)處理訂單并轉(zhuǎn)化成任務(wù),根據(jù)任務(wù)生成調(diào)度結(jié)果并轉(zhuǎn)化為AGV運(yùn)行指令,最終完全控制AGV運(yùn)行的效果。當(dāng)物理系統(tǒng)中發(fā)生的擾動(dòng)時(shí)進(jìn)行重調(diào)度,解決調(diào)度計(jì)劃和實(shí)際運(yùn)行存在偏差的問(wèn)題。
首先,分析物理系統(tǒng)數(shù)據(jù),在AGV上安裝傳感器和控制系統(tǒng),為工作站配備人員操作系統(tǒng);其次,根據(jù)物理系統(tǒng)各實(shí)體的數(shù)據(jù)并分析系統(tǒng)作業(yè)流程,基于e-plant軟件建立如圖10所示的RMFS虛擬仿真系統(tǒng)。
假設(shè)系統(tǒng)中有3輛AGV,位于路塊[292,384,430]處,完成實(shí)時(shí)到達(dá)的兩波訂單數(shù)量分別為[3,5],到達(dá)時(shí)間分別為[0,10]。采用孿生數(shù)據(jù)中心的訂單處理方法將訂單數(shù)據(jù)轉(zhuǎn)化為任務(wù)數(shù)據(jù),第一波任務(wù)的貨架所在路塊為[272,409,433],工作站為[436,390,321];第二波任務(wù)的貨架所在路塊為[432,318,295,387,410],工作站為[275,436,390,436,367]。根據(jù)任務(wù)數(shù)據(jù)和AGV運(yùn)行數(shù)據(jù),在虛擬系統(tǒng)中預(yù)測(cè)AGV未來(lái)的動(dòng)向,并化解AGV間沖突,最終生成初始調(diào)度方案。任務(wù)分配方法采用就近分配規(guī)則,如圖11a所示,橫坐標(biāo)表示時(shí)間,縱坐標(biāo)表示路塊。在這一步生成的初始調(diào)度方案,AGV只從當(dāng)前位置到貨架所在位置,再?gòu)呢浖芩谖恢玫焦ぷ髡?,? s只有任務(wù)[1,2,3]被分配。圖中豎線表示當(dāng)前時(shí)間,豎線右側(cè)的甘特圖是預(yù)測(cè)的AGV運(yùn)行情況,通過(guò)預(yù)測(cè)未來(lái)情況來(lái)化解AGV沖突。
人員操作完畢后,AGV將貨架運(yùn)送回存儲(chǔ)區(qū)域。在調(diào)度中,物理系統(tǒng)將一些特定的實(shí)時(shí)數(shù)據(jù)通過(guò)數(shù)據(jù)傳輸協(xié)議和無(wú)線網(wǎng)通訊直接傳輸?shù)教摂M系統(tǒng),即人員揀貨時(shí)間和任務(wù)完成時(shí)間。根據(jù)圖11a所示的初始調(diào)度方案,AGV3所在的工作站工作人員最先完成任務(wù)的揀選,人員揀貨時(shí)間數(shù)據(jù)會(huì)直接傳輸?shù)教摂M系統(tǒng),在先前調(diào)度方案的基礎(chǔ)上,在25.5 s生成如圖11b所示的調(diào)度方案。圖中豎線左側(cè)甘特圖表示AGV過(guò)去的運(yùn)行情況,右側(cè)甘特圖表示預(yù)測(cè)的情況。此時(shí),AGV1即將進(jìn)入工作站揀貨,AGV2的運(yùn)行預(yù)測(cè)到了31 s ,AGV3的運(yùn)行預(yù)測(cè)到了45 s。
當(dāng)物理系統(tǒng)將任務(wù)完成時(shí)間傳輸?shù)教摂M系統(tǒng)后,該任務(wù)被視為已完成,根據(jù)任務(wù)數(shù)據(jù),將已經(jīng)從工作站離開(kāi)的AGV作為可接取任務(wù)的AGV,再次生成初始調(diào)度方案。如圖11c所示,在45 s AGV3完成了任務(wù),此時(shí)雖然AGV1和AGV2上還有任務(wù)未完成,但是這兩輛AGV已經(jīng)離開(kāi)工作站,離開(kāi)時(shí)間分別是33 s和39 s,預(yù)測(cè)到達(dá)貨架存儲(chǔ)點(diǎn)的時(shí)間是53.5 s和66 s。因此,將AGV1和AGV2同空閑的AGV3一起視為可接取任務(wù)的AGV,集中為其進(jìn)行任務(wù)分配,分配后AGV運(yùn)行情況的甘特圖如圖11c所示。通過(guò)為現(xiàn)有AGV集中分配任務(wù),能夠提前預(yù)測(cè)可能出現(xiàn)的沖突并處理,AGV可以按照預(yù)測(cè)結(jié)果提前避讓,減少了不必要的啟停。
在沒(méi)有其他擾動(dòng)的情況下,按照本文所提生成初始調(diào)度方案的方法,對(duì)這8個(gè)任務(wù)進(jìn)行集中式調(diào)度,最終的調(diào)度結(jié)果如圖11d所示,完成所有任務(wù)的時(shí)間是173 s。
在集中式調(diào)度中,物理系統(tǒng)的數(shù)據(jù)通過(guò)數(shù)據(jù)傳輸協(xié)議和無(wú)線網(wǎng)通訊傳輸?shù)綄\生數(shù)據(jù)中心,孿生數(shù)據(jù)中心通過(guò)比對(duì)確定是否發(fā)生擾動(dòng),如果發(fā)生擾動(dòng),則根據(jù)重調(diào)度規(guī)則對(duì)擾動(dòng)進(jìn)行處理。以圖11c所示的初始調(diào)度方案為例,如果在73 s發(fā)現(xiàn)AGV1的運(yùn)行情況和調(diào)度計(jì)劃不符,其未按時(shí)到達(dá)路塊343,而是在74 s才到達(dá),則需要生成重調(diào)度方案。所生成的重調(diào)度方案如圖12所示,其中豎線表示重調(diào)度發(fā)生的時(shí)間,即系統(tǒng)運(yùn)行的當(dāng)前時(shí)間。
這些生成的初始調(diào)度方案和重調(diào)度方案均需利用虛擬系統(tǒng)模型進(jìn)行仿真,通過(guò)仿真調(diào)度方案得到仿真結(jié)果數(shù)據(jù),傳輸?shù)綄\生數(shù)據(jù)中心生成指令,指導(dǎo)物理系統(tǒng)中的AGV運(yùn)行和人員操作。
為了驗(yàn)證集中式調(diào)度方法在訂單數(shù)量較多時(shí)的表現(xiàn),隨機(jī)生成6輛AGV初始位置和訂單數(shù)據(jù),訂單按照5個(gè)波次到達(dá),每個(gè)波次的任務(wù)數(shù)量分別為[6,10,8,14,12],共50個(gè)任務(wù)。采用所提方法進(jìn)行調(diào)度,最終結(jié)果的甘特圖如圖13所示,完成時(shí)間為721 s。從圖中可以證明,本文方法能夠完成大量任務(wù)的集中式調(diào)度并生成無(wú)沖突的調(diào)度方案,為物理系統(tǒng)中的人員和AGV提供調(diào)度指令,保證物理系統(tǒng)無(wú)誤運(yùn)行。
為了驗(yàn)證本文所提集中式調(diào)度方法的調(diào)度效果,將集中式調(diào)度與現(xiàn)在常用的分布式調(diào)度方法進(jìn)行對(duì)比。圖14所示為圖13案例中的30次重復(fù)實(shí)驗(yàn)下,采用兩種調(diào)度方法獲得的調(diào)度方案完成時(shí)間分布情況。可以看出,雖然集中式調(diào)度方法獲得的完成時(shí)間最小值大于分布式調(diào)度方法,但是多次重復(fù)實(shí)驗(yàn)中,其總體上優(yōu)于分布式調(diào)度方法,找到較小完成時(shí)間調(diào)度方案的幾率更大,兩者完成時(shí)間的平均值分別為732.7 s,734.8 s。
在實(shí)際運(yùn)行中,因?yàn)锳GV數(shù)量多,任務(wù)繁忙,RMFS內(nèi)沖突嚴(yán)重,所以針對(duì)訂單數(shù)量較多且系統(tǒng)內(nèi)沖突嚴(yán)重的情況進(jìn)行實(shí)驗(yàn),30次實(shí)驗(yàn)結(jié)果如表1所示。從表中可以看出,集中式調(diào)度和分布式調(diào)度這兩種方法都能得到很穩(wěn)定的調(diào)度結(jié)果,多次實(shí)驗(yàn)的完成時(shí)間保持不變。然而相比分布式調(diào)度,集中式調(diào)度完成任務(wù)的時(shí)間更短,節(jié)約時(shí)間14.4%,而且AGV的運(yùn)行總路程和總啟停次數(shù)更少,這意味著采用集中式調(diào)度方法能夠顯著提升系統(tǒng)效率,降低AGV的運(yùn)行長(zhǎng)度和啟停次數(shù),減少完成任務(wù)的能耗。
表1 集中式調(diào)度和分布式調(diào)度對(duì)比(沖突嚴(yán)重)
本文提出一種基于數(shù)字孿生的集中式調(diào)度方法。建立了以物理系統(tǒng)、虛擬系統(tǒng)、孿生數(shù)據(jù)中心、系統(tǒng)支撐服務(wù)為核心的數(shù)字孿生模型;確定了物理系統(tǒng)接收指令和采集數(shù)據(jù)機(jī)制,包括AGV接收運(yùn)行指令并利用傳感器等傳輸數(shù)據(jù),人員接收操作指令并利用操作系統(tǒng)傳遞數(shù)據(jù);建立了虛擬系統(tǒng)方案生成與仿真機(jī)制,包括虛擬系統(tǒng)模型、實(shí)時(shí)生成和調(diào)整調(diào)度方案及仿真調(diào)度方案3部分;提出孿生數(shù)據(jù)中心數(shù)據(jù)處理和對(duì)比機(jī)制,用于存儲(chǔ)數(shù)據(jù)、處理數(shù)據(jù)、對(duì)比數(shù)據(jù),連接物理系統(tǒng)和虛擬系統(tǒng)。利用系統(tǒng)支撐服務(wù)為各模塊提供支撐,包括物理系統(tǒng)內(nèi)的人員操作系統(tǒng)和AGV控制系統(tǒng)、虛擬系統(tǒng)內(nèi)的模型搭建方法和方案生成方法、孿生數(shù)據(jù)中心內(nèi)的數(shù)據(jù)處理方法等。與現(xiàn)有調(diào)度方法相比,基于數(shù)字孿生的集中式調(diào)度方法能夠及時(shí)響應(yīng)物理系統(tǒng)內(nèi)的變化,通過(guò)維持虛擬系統(tǒng)和物理系統(tǒng)的一致性,保證虛擬系統(tǒng)在物理系統(tǒng)發(fā)生變化時(shí)實(shí)時(shí)調(diào)整調(diào)度方案。因?yàn)樘摂M系統(tǒng)能夠?qū)崟r(shí)反映物理系統(tǒng)狀態(tài),所以可以對(duì)物理系統(tǒng)的未來(lái)變化進(jìn)行預(yù)測(cè),借助提前預(yù)測(cè)的方式避免AGV運(yùn)行過(guò)程發(fā)生沖突,集中優(yōu)化系統(tǒng)內(nèi)的AGV運(yùn)行,提升系統(tǒng)效率。實(shí)驗(yàn)證明,利用本文方法可以根據(jù)當(dāng)前系統(tǒng)狀態(tài)預(yù)測(cè)未來(lái)AGV動(dòng)向,實(shí)現(xiàn)訂單實(shí)時(shí)到達(dá)下的RMFS實(shí)時(shí)調(diào)度。在物理系統(tǒng)和調(diào)度計(jì)劃有偏差的情況下,針對(duì)物理系統(tǒng)內(nèi)產(chǎn)生的擾動(dòng),能夠按照重調(diào)度規(guī)則進(jìn)行處理,生成重調(diào)度方案并更改物理系統(tǒng)的指令,使物理系統(tǒng)繼續(xù)運(yùn)行并避免沖突和死鎖。通過(guò)對(duì)比集中式調(diào)度和分布式調(diào)度兩種調(diào)度方法在大量訂單實(shí)時(shí)到達(dá)情況下的表現(xiàn),證明集中式調(diào)度能夠提升系統(tǒng)效率,獲得更好和更穩(wěn)定的調(diào)度結(jié)果,而且在系統(tǒng)內(nèi)沖突嚴(yán)重時(shí),集中式調(diào)度能夠節(jié)約14.4%的完成時(shí)間。下一步將圍繞快速生成方案的調(diào)度優(yōu)化方法展開(kāi)研究,加快數(shù)字孿生模型的落地實(shí)施。
計(jì)算機(jī)集成制造系統(tǒng)2021年2期