在一種新型的自動(dòng)化零件到分揀機(jī)倉(cāng)庫(kù)系統(tǒng)(一種機(jī)器人移動(dòng)履約系統(tǒng)(RMFS))中和敬,機(jī)器人運(yùn)輸?shù)跖摚梢苿?dòng)貨架)至工作站的人工操作員栖疑,以便從吊艙分揀或往吊艙放置物品翘狱。在這樣一個(gè)系統(tǒng)中鼎兽,存在著許多可優(yōu)化的決策問(wèn)題未辆,其中有些是相互依存窟绷、相互影響的。有兩個(gè)開(kāi)源仿真框架Alphabet Soup 和 RAWSim-O分析了這些決策問(wèn)題及其相互之間的關(guān)系咐柜。然而兼蜈,仿真與真實(shí)RMFS之間的差別并不清楚。因此拙友,本文旨在填補(bǔ)這一空白为狸。首先將模擬器作為核心軟件進(jìn)行傳輸,與開(kāi)源的ERP系統(tǒng)Odoo相連遗契,同時(shí)也通過(guò)XOR-Bench平臺(tái)與真實(shí)的機(jī)器人和工作站相連辐棒。XOR-Bench平臺(tái)使RMFS能夠與幾個(gè)小型機(jī)器人和移動(dòng)工業(yè)機(jī)器人集成在(移除的)實(shí)驗(yàn)中,用于教研牍蜂。
引言
機(jī)器人移動(dòng)履約系統(tǒng)(RMFS)是一種新型的自動(dòng)零件到揀貨機(jī)的倉(cāng)儲(chǔ)系統(tǒng)漾根,其中機(jī)器人用于在儲(chǔ)存區(qū)和補(bǔ)充或揀貨站之間來(lái)回運(yùn)輸包含庫(kù)存物品的可移動(dòng)貨架(也稱(chēng)為吊艙)。人工操作人員只能在車(chē)站工作鲫竞,要么挑選物品辐怕,要么補(bǔ)充物品。前者是從貨架中挑選商品以滿(mǎn)足顧客的訂單从绘,而后者則是在貨架中重新填充商品寄疏。RMFS旨在使車(chē)站的工人保持忙碌是牢,同時(shí)盡量減少資源(如機(jī)器人、車(chē)站陕截、吊艙)來(lái)完成收到的揀貨訂單驳棱。
在過(guò)去的十年里,RMFS受到了更多的關(guān)注农曲,RMFS在現(xiàn)實(shí)世界中也正在被使用(見(jiàn)圖1)社搅。在這個(gè)系統(tǒng)中有許多優(yōu)化決策問(wèn)題,例如決定哪些機(jī)器人將把哪些吊艙運(yùn)送到哪個(gè)站來(lái)完成一個(gè)新的訂單乳规。關(guān)于這類(lèi)系統(tǒng)的研究大多集中在這些問(wèn)題和算法上罚渐,以提高效率和系統(tǒng)性能。此外驯妄,其中一些測(cè)試是在仿真框架(如:Alphabet Soup和RAWSim-O)中進(jìn)行的。它模擬RMFS的過(guò)程合砂,同時(shí)控制資源青扔。然而,仿真和現(xiàn)實(shí)世界RMFS之間的差別并不清楚翩伪,因?yàn)檫@些差別非常復(fù)雜微猖,需要機(jī)器人工程、軟件工程和管理科學(xué)/操作研究之間的跨學(xué)科工作缘屹。我們也可以這樣表述問(wèn)題:我們?nèi)绾未_保我們?cè)诜抡嬷袑?shí)現(xiàn)和測(cè)試的算法仍然適用于真實(shí)場(chǎng)景凛剥?這就是我們?cè)谶@篇論文所關(guān)注的問(wèn)題。為了回答這個(gè)問(wèn)題轻姿,從模擬到現(xiàn)實(shí)世界的RMFS需要四個(gè)步驟犁珠,如圖2所示。第一步是將RMFS模擬器改為RMFS核心軟件互亮。我們?cè)谶@里使用開(kāi)源模擬器RAWSim-O犁享。第二步是將RMFS核心軟件與ERP系統(tǒng)和工作站應(yīng)用程序連接起來(lái)。我們?cè)谶@里使用一個(gè)開(kāi)源的ERP系統(tǒng)——Odoo豹休。第三步是將RMFS核心軟件與XOR平臺(tái)上的微型機(jī)器人集成炊昆。XOR實(shí)驗(yàn)臺(tái)是一個(gè)遠(yuǎn)程操作的實(shí)驗(yàn)平臺(tái)。在小型機(jī)器人測(cè)試成功后威根,我們使用XOR平臺(tái)在移動(dòng)工業(yè)機(jī)器人上遠(yuǎn)程測(cè)試amd驗(yàn)證算法和程序凤巨。此外,值得一提的是洛搀,SAP為自動(dòng)化倉(cāng)庫(kù)提供了擴(kuò)展的倉(cāng)庫(kù)管理系統(tǒng)(EWM)敢茁,以使用定義的接口將SAP ERP與機(jī)器人(或輸送機(jī)系統(tǒng),或自動(dòng)引導(dǎo)車(chē)輛(AGV))連接起來(lái)姥卢。應(yīng)用程序包括AutoStore compact warehouse系統(tǒng)和Swisslog的CarryPick移動(dòng)解決方案卷要。這里的RMFS核心軟件(RAWSim-O)采用與SAP EWM相似的原理來(lái)連接ERP和robot的接口渣聚。因此,這項(xiàng)工作主要有三個(gè)方面的貢獻(xiàn):
我們?cè)O(shè)計(jì)了一個(gè)過(guò)程僧叉,旨在提供從RMFS模擬器到真實(shí)RMFS的無(wú)縫過(guò)渡奕枝。
我們將RMFS核心軟件與開(kāi)源的ERP系統(tǒng)(Odoo)連接起來(lái);此外瓶堕,開(kāi)發(fā)的工作站應(yīng)用程序也連接起來(lái)隘道。
設(shè)計(jì)了一個(gè)XOR-Bench平臺(tái),將RMFS核心軟件與實(shí)際機(jī)器人進(jìn)行集成郎笆,并在移動(dòng)工業(yè)機(jī)器人上進(jìn)行了測(cè)試和驗(yàn)證谭梗。
圖3給出了RMFS的概述,它由RMFS軟件系統(tǒng)和機(jī)器人組成宛蚓。最簡(jiǎn)單的RMFS軟件系統(tǒng)包括RMFS核心軟件激捏、ERP和車(chē)站應(yīng)用程序。圖3中的數(shù)字表示轉(zhuǎn)換過(guò)程圖2中的四個(gè)步驟凄吏。
將RMFS模擬器改為RMFS核心軟件
RMFS核心軟件主要由庫(kù)存處理系統(tǒng)(IPS)痕钢、訂單處理系統(tǒng)(OPS)和機(jī)器人控制系統(tǒng)(RCS)三部分組成图柏。IPS作為庫(kù)存管理(對(duì)應(yīng)的優(yōu)化器是RPS、PPS和PR)任连,OPS進(jìn)行事務(wù)處理(對(duì)應(yīng)的優(yōu)化器是ROA和POA)蚤吹,RCS操作和指導(dǎo)機(jī)器人(對(duì)應(yīng)的優(yōu)化器是TA和PP)。在這一步中随抠,我們將RMFS模擬器擴(kuò)展到RMFS核心軟件裁着。總共有以下兩個(gè)擴(kuò)展:
應(yīng)用程序編程接口(API)的實(shí)現(xiàn)暮刃,用于與ERP和其他企業(yè)系統(tǒng)集成
機(jī)器人和工作站應(yīng)用程序的代理接口的實(shí)現(xiàn)
RMFS核心軟件的API用于集成ERP或其他獨(dú)立系統(tǒng)跨算,如WMS(倉(cāng)庫(kù)管理系統(tǒng))和OMS(訂單管理系統(tǒng)),對(duì)ERP和RMFS核心軟件之間關(guān)系的簡(jiǎn)單描述是椭懊,通過(guò)使用API诸蚕,可以將運(yùn)行狀態(tài)和事務(wù)報(bào)告回報(bào)將訂單信息和存儲(chǔ)在pods中的項(xiàng)目信息從ERP傳遞到RMFS核心軟件進(jìn)行處理。該API設(shè)計(jì)用于處理各種XML-RPC請(qǐng)求和XML-RPC響應(yīng)(遠(yuǎn)程過(guò)程調(diào)用(RPC)協(xié)議)氧猬,因?yàn)槲覀兪褂玫腅RP系統(tǒng)Odoo很容易通過(guò)帶有Odoo外部API的XML-RPC獲得背犯。
通過(guò)代理接口(見(jiàn)圖3),核心軟件可以接收來(lái)自機(jī)器人的狀態(tài)信息盅抚。這包括機(jī)器人ID漠魏、當(dāng)前機(jī)器人位置信息、機(jī)器人以弧度表示的方向妄均、撿拾器吊艙操作是否成功以及降落吊艙操作是否成功等柱锹。核心軟件可以通過(guò)代理接口向機(jī)器人發(fā)送任務(wù)消息哪自,如表1所示,同時(shí)它可以接收來(lái)自機(jī)器人的一些狀態(tài)信息如表2所示禁熏。代理接口還用于在核心軟件和站點(diǎn)應(yīng)用程序之間交換各種類(lèi)型的信息壤巷。表3列出了輸入/輸出站的重要信息,這些信息從RMFS核心軟件傳遞到站點(diǎn)應(yīng)用程序瞧毙,以顯示給補(bǔ)充器或選取器胧华。來(lái)自工作站應(yīng)用程序的確認(rèn)或錯(cuò)誤消息被傳回RMFS核心軟件,以通知輸入/輸出工作站中的操作宙彪。
將RMFS核心軟件與ERP和工作站應(yīng)用程序連接起來(lái)
連接工作站應(yīng)用程序
在實(shí)際倉(cāng)庫(kù)的自動(dòng)化中矩动,機(jī)器人將吊艙移動(dòng)并運(yùn)送到指定的輸入/輸出工作站。揀貨員按照輸出站應(yīng)用程序上的說(shuō)明,從吊艙中取出物品,而補(bǔ)貨員按照輸入站應(yīng)用程序上的說(shuō)明,將產(chǎn)品塞進(jìn)吊艙中,以補(bǔ)充庫(kù)存濒生。在這里,我們將解釋如何將工作應(yīng)用程序與RMFS核心軟件連接起來(lái)。首先锈遥,我們用編程語(yǔ)言C#開(kāi)發(fā)圖形用戶(hù)界面,可用于倉(cāng)庫(kù)的輸入/輸出站渗鬼。為了允許在自動(dòng)化倉(cāng)庫(kù)中使用多個(gè)輸入和輸出站览露,每個(gè)站都可以通過(guò)其ID進(jìn)行標(biāo)識(shí)。其次譬胎,兩個(gè)應(yīng)用程序都通過(guò)TCP連接到代理接口差牛,并可以接收、解碼和顯示包含揀貨器/補(bǔ)貨器所有必要信息的消息堰乔。例如偏化,如圖4a中補(bǔ)給品的輸入站應(yīng)用程序所示,所選的吊艙隔間標(biāo)記為綠色镐侯。此外侦讨,一些其他可能的艙室用藍(lán)色標(biāo)記。與揀貨類(lèi)似苟翻,所選的pod隔間如圖4b所示韵卤。揀貨器/補(bǔ)貨器還可以通過(guò)按下OK或Error按鈕,通過(guò)TCP連接發(fā)送包含揀貨器/補(bǔ)貨器操作成功或失敗信息的消息崇猫。
連接Odoo
此外沈条,定義并實(shí)現(xiàn)了RMFS核心軟件中IPS和OPS的API,以與Odoo的外部API(https://Odoo.com/documentation/11.0/webservices/Odoo.html)交換信息诅炉,后者可以使用XMLRPC發(fā)送和接收信息蜡歹。我們主要使用Odoo的三個(gè)部分屋厘,即采購(gòu)、銷(xiāo)售和庫(kù)存月而。我們使用Odoo的庫(kù)存模塊來(lái)管理所有pod的位置和內(nèi)容以及各種轉(zhuǎn)移(從a到b的項(xiàng)目移動(dòng))汗洒,無(wú)論是傳入、傳出還是內(nèi)部景鼠。我們還使用銷(xiāo)售和采購(gòu)模塊創(chuàng)建銷(xiāo)售訂單和采購(gòu)訂單仲翎。
訂單到揀貨
在這一部分中,我們將描述訂單通過(guò)系統(tǒng)的過(guò)程铛漓,從在Odoo接收訂單到包裹離開(kāi)倉(cāng)庫(kù)溯香。我們首先用圖5所示的一個(gè)小例子來(lái)描述這個(gè)過(guò)程。在Odoo中創(chuàng)建了一個(gè)對(duì)5個(gè)蘋(píng)果的需求訂單(圖5a)后浓恶,銷(xiāo)售確認(rèn)如圖5b所示玫坛。然后,RMFS核心軟件識(shí)別收到的訂單包晰,并選擇一個(gè)至少包含5個(gè)蘋(píng)果的吊艙(或多個(gè)湿镀,如果需要),吊艙由機(jī)器人移動(dòng)到指定的揀貨站(圖5c)伐憾。然后勉痴,選擇器從吊艙中取出項(xiàng)目,并通過(guò)按下輸出站應(yīng)用程序中的OK按鈕(圖5d)來(lái)確認(rèn)成功的拾取操作树肃。綠色標(biāo)記的位置是吊艙艙蒸矛,物品位于吊艙中。輸出站應(yīng)用程序從RMFS核心軟件代理接口的JSON(JavaScript對(duì)象表示法)格式的消息中獲取此信息胸嘴。在一次成功的揀選操作之后雏掠,核心軟件會(huì)調(diào)整使用的吊艙的庫(kù)存。
現(xiàn)在我們將解釋更多關(guān)于技術(shù)細(xì)節(jié)的內(nèi)容劣像,參見(jiàn)圖6乡话。我們將使用一些特定于Odoo的術(shù)語(yǔ),并簡(jiǎn)化挑選過(guò)程中的一些描述耳奕,例如提取請(qǐng)求的排隊(duì)和出列绑青。啟動(dòng)時(shí),RMFS核心軟件從Odoo中檢索所有pod的當(dāng)前位置和內(nèi)容屋群。當(dāng)下訂單(1)時(shí)时迫,Odoo創(chuàng)建一個(gè)新的計(jì)劃外轉(zhuǎn)移,從庫(kù)存轉(zhuǎn)移到客戶(hù)(2)谓晌。每當(dāng)RMFS核心軟件中的Update方法被調(diào)用時(shí)(3)掠拳,它就會(huì)掃描Odoo傳輸數(shù)據(jù)庫(kù)以查找新的計(jì)劃的傳出傳輸(4)。傳輸轉(zhuǎn)換為訂單(5)纸肉,然后RMFS核心軟件生成并排隊(duì)提取請(qǐng)求(6)溺欧。提取請(qǐng)求是在選定的工作站上選擇屬于某個(gè)訂單的特定項(xiàng)目的請(qǐng)求喊熟。同時(shí),每當(dāng)調(diào)用更新方法(3)時(shí)姐刁,RMFS核心軟件將提取請(qǐng)求(7)出列芥牌,選擇一個(gè)pod來(lái)完成請(qǐng)求,并將該pod移動(dòng)到指定的工作站(8)聂使,除非該pod已經(jīng)存在壁拉,因?yàn)樗糜谕瓿上惹暗奶崛≌?qǐng)求。一旦pod到達(dá)工作站柏靶,RMFS核心軟件通過(guò)先前建立的TCP/IP連接向代理接口(9)發(fā)送一條消息弃理,其中包含輸出站的ID、項(xiàng)目和關(guān)聯(lián)訂單的信息屎蜓。一旦接口接收到消息(10)痘昌,它解碼消息(11)并識(shí)別其類(lèi)型。在本例中炬转,類(lèi)型是“pickingfo”辆苔,然后將項(xiàng)目的名稱(chēng)和ID以及訂單ID轉(zhuǎn)發(fā)到消息(12)中指定的工作站。一旦工作站應(yīng)用程序接收到消息(13)扼劈,它將顯示接收到的信息(14)驻啤,并等待選擇器完成揀貨操作(15),如果成功荐吵,則用“確定”響應(yīng)(16)街佑,如果無(wú)法揀貨項(xiàng)目,則用“錯(cuò)誤”響應(yīng)(17)捍靠。然后,關(guān)于揀選操作成功的信息被發(fā)送到代理接口(18/19)森逮。代理接口將輸出站的響應(yīng)和ID轉(zhuǎn)發(fā)給RMFS核心軟件(10→11→20)榨婆。如果輸出站的響應(yīng)(21)為“正常”褒侧,則RMFS核心軟件在可視化/模擬(22)中將項(xiàng)目從pod移動(dòng)到工作站良风,在Odoo中將pod設(shè)置為移動(dòng)的源位置,并將移動(dòng)的完成數(shù)量增1(23)闷供。如果這完成了最后一步的轉(zhuǎn)移烟央,轉(zhuǎn)移標(biāo)記為完成在Odoo。Odoo通過(guò)從源位置(25)移除相同數(shù)量的項(xiàng)目來(lái)對(duì)完成數(shù)量(24)的增加做出反應(yīng)歪脏。如果輸出站發(fā)送了錯(cuò)誤消息疑俭,RMFS核心軟件將跳過(guò)提取請(qǐng)求并將其移動(dòng)到隊(duì)列的末尾(26)。最后婿失,RMFS核心軟件檢查它是否可以再次使用同一個(gè)pod來(lái)完成下一個(gè)提取請(qǐng)求钞艇。如果同一個(gè)吊艙不能再次使用啄寡,將選擇一個(gè)存儲(chǔ)位置并移動(dòng)吊艙(27)。一旦機(jī)器人放下吊艙哩照,RMFS核心軟件就會(huì)更新吊艙在Odoo(28)中的位置挺物。
采購(gòu)訂單補(bǔ)貨
補(bǔ)貨流程的實(shí)現(xiàn)與上面描述的揀貨流程非常相似飘弧,因此只描述主要的差異识藤。觸發(fā)RMFS核心軟件中補(bǔ)貨流程開(kāi)始的事件是補(bǔ)貨項(xiàng)目的接收。之后次伶,會(huì)自動(dòng)創(chuàng)建一個(gè)內(nèi)部傳輸痴昧,將接收到的項(xiàng)目從接收區(qū)域傳輸?shù)絧ods。當(dāng)RMFS核心軟件檢測(cè)到此傳輸時(shí)学少,此傳輸將被拆分為其移動(dòng)剪个,并將它們轉(zhuǎn)換為項(xiàng)目捆綁包(sku的數(shù)量x)。因此版确,為每個(gè)項(xiàng)目包生成一個(gè)insert請(qǐng)求(而不是為每個(gè)訂單行生成一個(gè)extract請(qǐng)求)扣囊,然后由RMFS核心軟件處理。
RMFS核心軟件通過(guò)XOR-BENCH平臺(tái)與小型機(jī)器人的集成
Teleworkbench[2]和[3]是一個(gè)平臺(tái)或基礎(chǔ)設(shè)施绒疗,用于使用許多小型機(jī)器人進(jìn)行侵歇、分析和評(píng)估實(shí)驗(yàn)。它提供了一個(gè)受控環(huán)境吓蘑,用戶(hù)可以在其中使用真正的機(jī)器人執(zhí)行和測(cè)試機(jī)器人程序[3]惕虑。與Teleworkbench類(lèi)似,我們?cè)O(shè)計(jì)了一個(gè)遠(yuǎn)程操作平臺(tái)(call XOR-bench)磨镶,但它的特性是專(zhuān)門(mén)為RMFS設(shè)計(jì)的溃蔫。XOR-bench包括以下功能:
實(shí)驗(yàn)現(xiàn)場(chǎng)視頻
程序下載到robot
基于計(jì)算機(jī)視覺(jué)的機(jī)器人定位系統(tǒng)
事件和消息記錄器
無(wú)線通信系統(tǒng)
互聯(lián)網(wǎng)連接
實(shí)時(shí)實(shí)驗(yàn)視頻將通過(guò)一個(gè)基于IP的攝像頭進(jìn)行傳輸。用戶(hù)可以通過(guò)XOR-Bench將開(kāi)發(fā)的機(jī)器人程序下載到機(jī)器人上琳猫。機(jī)器人的位置將通過(guò)計(jì)算機(jī)視覺(jué)技術(shù)從捕獲的實(shí)時(shí)視頻中獲取伟叛。來(lái)自RMFS軟件系統(tǒng)(包括RMFS核心軟件、ERP和工作站應(yīng)用程序)的所有事件和消息都被記錄和訪問(wèn)脐嫂。研究人員和開(kāi)發(fā)人員可以利用記錄器數(shù)據(jù)分析實(shí)驗(yàn)結(jié)果统刮。XOR-Bench提供機(jī)器人和RMFS核心軟件之間的無(wú)線通信。XOR-Bench連接到Internet账千,使研究人員和開(kāi)發(fā)人員能夠輕松訪問(wèn)侥蒙。
圖7說(shuō)明了XOR-Bench系統(tǒng)的一般系統(tǒng)架構(gòu)。XOR-Bench服務(wù)器提供TCP/IP服務(wù)匀奏,用于將機(jī)器人(平臺(tái)中的灰色矩形)與代理接口服務(wù)器連接鞭衩。代理接口服務(wù)器連接RMFS核心軟件服務(wù)器和站點(diǎn)服務(wù)器。工作站應(yīng)用程序和ERP(包括數(shù)據(jù)庫(kù))分別位于車(chē)站服務(wù)器和ERP&數(shù)據(jù)庫(kù)服務(wù)器中。每個(gè)工作站應(yīng)用程序都位于工作站服務(wù)器中醋旦。
在這一步中恒水,我們使用微型機(jī)器人,因?yàn)樗鼈儍r(jià)格低廉饲齐,在研究和教學(xué)中支持高度可編程性和可擴(kuò)展性钉凌。與使用移動(dòng)工業(yè)機(jī)器人、使用微型機(jī)器人進(jìn)行RMFS系統(tǒng)集成實(shí)驗(yàn)不同捂人,該實(shí)驗(yàn)具有一些顯著的優(yōu)點(diǎn)御雕,如實(shí)驗(yàn)易于在短時(shí)間內(nèi)建立、執(zhí)行滥搭、監(jiān)控和分析酸纲。可以快速進(jìn)行多個(gè)RMFS系統(tǒng)集成實(shí)驗(yàn)瑟匆。兩個(gè)不同的微型機(jī)器人平臺(tái)目前正在使用的XOR-Bench闽坡。在我們之前的研究工作[4]中,我們使用了iRobot Create 2愁溜,一個(gè)基于Roomba吸塵機(jī)器人的移動(dòng)機(jī)器人平臺(tái)疾嗅。這些機(jī)器人配備了華碩的Eee電腦,通過(guò)串行到USB的數(shù)據(jù)線進(jìn)行處理冕象,網(wǎng)絡(luò)攝像頭進(jìn)行線路跟蹤代承。RFID標(biāo)簽閱讀器安裝在前一個(gè)真空清潔艙內(nèi),用于航路點(diǎn)識(shí)別渐扮。機(jī)器人程序是用C#編寫(xiě)的论悴。使用iRobot Create 2進(jìn)行RMFS實(shí)驗(yàn)的主要缺點(diǎn)是,機(jī)器人在運(yùn)輸?shù)跖摃r(shí)沒(méi)有提升機(jī)構(gòu)將吊艙抬離地面墓律。我們?cè)赬OR-Bench上使用的新型微型機(jī)器人(見(jiàn)圖8a)由樂(lè)高M(jìn)indstorms EV3(樂(lè)高M(jìn)indstorms系列的第三代機(jī)器人套件)制造膀估。機(jī)器人工具包使機(jī)器人的制造變得容易,易于編程耻讽,低復(fù)雜性和低成本的研究和教學(xué)察纯。該機(jī)器人有三個(gè)電機(jī),其中一個(gè)中間電機(jī)用于提升機(jī)械結(jié)構(gòu)(機(jī)器人可以撿起或放下吊艙:見(jiàn)圖8b)齐饮,而兩個(gè)大型電機(jī)是用于移動(dòng)的差動(dòng)電機(jī)。我們還編寫(xiě)了類(lèi)似于典型RMFS機(jī)器人的程序笤昨,如跟線祖驱、右轉(zhuǎn)和左轉(zhuǎn)。顏色傳感器負(fù)責(zé)線跟蹤功能瞒窒,超聲波傳感器用于避障和距離檢測(cè)捺僻。程序是用EV3 Python編程語(yǔ)言編寫(xiě)的,用于控制機(jī)器人,機(jī)器人運(yùn)行在EV3dev操作系統(tǒng)(Linux Debian-Jessie操作系統(tǒng)的修改版本)上匕坯。我們將每個(gè)機(jī)器人的最大速度限制設(shè)置為0.05m/s束昵,而每個(gè)機(jī)器人完成一個(gè)轉(zhuǎn)彎所需的時(shí)間設(shè)置為3s。機(jī)器人放下和拿起吊艙所需的時(shí)間約為3s葛峻。命令通過(guò)WiFi發(fā)送給機(jī)器人锹雏。在如圖9所示的實(shí)驗(yàn)中,我們使用3×4的網(wǎng)格布局术奖。左下角設(shè)一個(gè)補(bǔ)給站礁遵,右下角設(shè)一個(gè)揀貨站。使用了兩個(gè)機(jī)器人采记;田里的吊艙是用直棍做成的佣耐。圖9b顯示了RMFS核心軟件中實(shí)驗(yàn)的可視化。機(jī)器人在綠色的圓圈里唧龄,藍(lán)色的長(zhǎng)方形帶著吊艙兼砖,紅色的長(zhǎng)方形是揀貨工作站,黃色的長(zhǎng)方形是補(bǔ)貨工作站既棺。
如圖10a所示讽挟,實(shí)驗(yàn)室的XOR-Bench具有類(lèi)似于[5]的基于計(jì)算機(jī)視覺(jué)的多機(jī)器人定位系統(tǒng),因此可以捕獲機(jī)器人的位置信息以及不同機(jī)器人的識(shí)別援制。機(jī)器人定位的軟件組件是用OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))用Python編寫(xiě)的戏挡。在每個(gè)吊艙和機(jī)器人上,圖10b中的ArUco標(biāo)記用于定位晨仑。我們使用開(kāi)源算法檢測(cè)ArUco標(biāo)記褐墅,如[6]。機(jī)器人定位軟件在XOR平臺(tái)服務(wù)器上運(yùn)行洪己,將機(jī)器人位置信息發(fā)送到RMFS核心軟件妥凳。
XOR-Bench中移動(dòng)工業(yè)機(jī)器人算法與程序的測(cè)試與驗(yàn)證
在RMFS仿真到真實(shí)應(yīng)用的最后一步,我們?cè)赬OR-Bench平臺(tái)上進(jìn)行了實(shí)驗(yàn)答捕,對(duì)移動(dòng)工業(yè)機(jī)器人的車(chē)載算法和程序進(jìn)行了測(cè)試和驗(yàn)證逝钥。移動(dòng)式工業(yè)機(jī)器人價(jià)格昂貴,而且需要一個(gè)大的地方進(jìn)行實(shí)驗(yàn)拱镐。因此艘款,對(duì)算法和程序的測(cè)試和驗(yàn)證是非常復(fù)雜的。理想情況下沃琅,我們可以使用XOR-Bench平臺(tái)的互聯(lián)網(wǎng)連接功能哗咆,通過(guò)使用通過(guò)互聯(lián)網(wǎng)傳輸?shù)膶?shí)時(shí)信息(如視頻)以及機(jī)器人與RMFS核心軟件之間的消息交換,遠(yuǎn)程執(zhí)行工業(yè)機(jī)器人的實(shí)驗(yàn)益眉。我們可以進(jìn)行機(jī)器人遠(yuǎn)程編程(換句話(huà)說(shuō)晌柬,我們可以在本地開(kāi)發(fā)機(jī)器人程序姥份,并且可以將其下載到遠(yuǎn)程機(jī)器人)。用于遠(yuǎn)程實(shí)驗(yàn)的移動(dòng)工業(yè)機(jī)器人是來(lái)自中國(guó)北京漢寧鋅業(yè)科技有限公司的Xiellog-Z系列年碘。機(jī)器人有效載荷650kg澈歉,速度1.2m/s,尺寸約830mm×650mm×350mm屿衅,重量約150kg埃难。該機(jī)器人在此基礎(chǔ)上安裝了先進(jìn)的工業(yè)定位跟蹤控制系統(tǒng),可用于基于數(shù)據(jù)矩陣的碼位跟蹤和引導(dǎo)機(jī)器人沿有色路徑運(yùn)動(dòng)傲诵。換言之凯砍,系統(tǒng)俯視地面來(lái)識(shí)別地板上基于矩陣的代碼和顏色線。圖11a顯示了德國(guó)傳感器制造公司Pepperl+Fuchs的一個(gè)名為PGV的基于數(shù)據(jù)矩陣的位置跟蹤和控制系統(tǒng)拴竹。使用工業(yè)2-D攝像機(jī)悟衩,PGV還可以引導(dǎo)機(jī)器人沿著其彩色路徑行進(jìn)。圖11b顯示了一個(gè)數(shù)據(jù)矩陣標(biāo)記栓拜,除了特定的數(shù)字外座泳,還包含位置信息(https://www.pepperl-fuchs.com/global/en/classid_.htm)。由于機(jī)器人的車(chē)載定位系統(tǒng)幕与,對(duì)于本次遠(yuǎn)程實(shí)驗(yàn)挑势,我們不需要在XOR-Bench實(shí)驗(yàn)臺(tái)上安裝基于視頻的定位系統(tǒng)。此外啦鸣,在每個(gè)機(jī)器人上安裝一臺(tái)Pepperl+Fuchs公司的多射線LED掃描儀(二維激光雷達(dá)傳感器)潮饱,以檢測(cè)潛在的障礙物,避免機(jī)器人之間的碰撞诫给。
這個(gè)機(jī)器人有一個(gè)剪式提升機(jī)構(gòu)來(lái)提升吊艙香拉。此外,他們還有一個(gè)工業(yè)WiFi模塊中狂,可以通過(guò)TCP/IP協(xié)議與應(yīng)用服務(wù)器連接凫碌。機(jī)器人控制器采用Lenze C300可編程控制器(PLC),對(duì)控制可靠性要求高胃榕。機(jī)器人上的程序是根據(jù)IEC 61131-3標(biāo)準(zhǔn)用高級(jí)語(yǔ)言結(jié)構(gòu)文本編寫(xiě)的盛险。
我們?cè)O(shè)計(jì)的基礎(chǔ)設(shè)施允許世界各地的人們遠(yuǎn)程測(cè)試和基準(zhǔn)測(cè)試機(jī)器人程序,而不必花費(fèi)大量精力處理通信和實(shí)驗(yàn)設(shè)置勋又。圖12顯示了XOR-Bench系統(tǒng)在遠(yuǎn)程測(cè)試情況下的系統(tǒng)架構(gòu)苦掘。異或工作臺(tái)分為兩部分:一部分位于中國(guó)北京的機(jī)器人實(shí)驗(yàn)室,包括異或工作臺(tái)服務(wù)器楔壤、四個(gè)基于IP的攝像頭和移動(dòng)工業(yè)機(jī)器人鹤啡;另一部分位于我們?cè)诘聡?guó)的實(shí)驗(yàn)室,它有RMFS核心軟件服務(wù)器代理接口服務(wù)器和站點(diǎn)服務(wù)器挺邀。請(qǐng)注意揉忘,站點(diǎn)服務(wù)器位于站點(diǎn)所在的真實(shí)世界中;但是端铛,在我們的案例中泣矛,它位于德國(guó)的實(shí)驗(yàn)室中進(jìn)行實(shí)驗(yàn)。奧多ERP系統(tǒng)和數(shù)據(jù)庫(kù)都托管在騰訊云上禾蚕。
與前一節(jié)中的實(shí)驗(yàn)布局一樣您朽,使用3×4網(wǎng)格布局對(duì)移動(dòng)工業(yè)機(jī)器人進(jìn)行實(shí)驗(yàn)。圖13a 13b顯示了移動(dòng)工業(yè)機(jī)器人换淆。圖13c給出了實(shí)驗(yàn)期間實(shí)驗(yàn)室中基于IP的攝像機(jī)的視圖哗总,而圖13d則顯示了RMFS核心軟件中信息的可視化”妒裕回想一下讯屈,機(jī)器人在綠色的圓圈里,這個(gè)圓圈把吊艙放在藍(lán)色的長(zhǎng)方形里县习,而紅色的長(zhǎng)方形是輸出站涮母,黃色的長(zhǎng)方形是輸入站。
例子——路徑規(guī)劃優(yōu)化器
為了回答本文開(kāi)頭的問(wèn)題:“我們?nèi)绾未_保我們?cè)谀M器中實(shí)現(xiàn)和測(cè)試的算法仍然適用于真實(shí)場(chǎng)景躁愿?“叛本,在本節(jié)中,我們將為您提供一個(gè)在模擬中開(kāi)發(fā)的優(yōu)化器的示例彤钟,路徑規(guī)劃優(yōu)化器来候。我們將很快解釋如何使這個(gè)優(yōu)化器適用于實(shí)際場(chǎng)景。
路徑規(guī)劃算法在文獻(xiàn)中被稱(chēng)為多代理尋路(MAPF)逸雹。對(duì)于機(jī)器人营搅、災(zāi)難救援和視頻游戲等許多應(yīng)用來(lái)說(shuō),這是一個(gè)具有挑戰(zhàn)性的問(wèn)題(見(jiàn)[7])峡眶。MAPF的目標(biāo)是計(jì)算所有代理從其開(kāi)始到其唯一目標(biāo)節(jié)點(diǎn)的無(wú)碰撞路徑剧防。人工智能中有許多MAPF解算器,它們通常為agent工作辫樱,但不考慮運(yùn)動(dòng)約束峭拘,如最大速度限制、最大加減速和轉(zhuǎn)彎時(shí)間狮暑。此外鸡挠,他們只考慮在離散環(huán)境中機(jī)器人的運(yùn)動(dòng)。這與RMFS的現(xiàn)有路徑規(guī)劃算法類(lèi)似(參見(jiàn)[8]和[9])搬男。然而拣展,如果我們想用真實(shí)的機(jī)器人來(lái)測(cè)試路徑規(guī)劃算法,就不能直接使用這些MAPF解算器缔逛。然而备埃,機(jī)器人學(xué)中也有MAPF解算器姓惑,它們考慮了運(yùn)動(dòng)學(xué)約束,但它們只適用于少數(shù)機(jī)器人按脚;因此于毙,對(duì)于像RMFS中那樣的大規(guī)模搜索來(lái)說(shuō),它們太慢了辅搬。為了使路徑規(guī)劃算法適用于實(shí)際機(jī)器人唯沮,我們?cè)诼窂揭?guī)劃優(yōu)化器中實(shí)現(xiàn)了新的MAPF解算器,該解算器考慮了RMFS在連續(xù)環(huán)境中的運(yùn)動(dòng)約束堪遂。更多詳情見(jiàn)[10]介蛉。值得一提的是,如果機(jī)器人在執(zhí)行計(jì)劃路線時(shí)出現(xiàn)延遲溶褪,可能會(huì)發(fā)生碰撞币旧。在這種情況下,安裝在機(jī)器人中的傳感器將檢測(cè)到這一點(diǎn)猿妈,一個(gè)機(jī)器人將停止并等待佳恬,直到另一個(gè)機(jī)器人通過(guò)并繼續(xù)其路徑。
總結(jié)與展望
為了便于在具有真實(shí)數(shù)據(jù)和機(jī)器人的模擬器中測(cè)試已開(kāi)發(fā)的算法(如前一節(jié)中的算法)于游,我們?cè)诒疚闹惺褂梦覀兊腦OR-Bench提出了一種新的開(kāi)發(fā)流程毁葱。該流程包括將RMFS模擬器改造為核心軟件,并將RMFS核心軟件與Odoo ERP和輸入輸出工作站應(yīng)用集成贰剥。此外倾剿,我們已經(jīng)證明,地理分布的用戶(hù)可以使用我們?cè)O(shè)計(jì)的XOR-Bench在真實(shí)機(jī)器人上測(cè)試和驗(yàn)證RMFS系統(tǒng)和算法蚌成,無(wú)論是教育機(jī)器人(如iRobots或樂(lè)高機(jī)器人)還是工業(yè)機(jī)器人前痘。這對(duì)研究和教學(xué)都是有益的。
由于與ERP系統(tǒng)和機(jī)器人的現(xiàn)有接口担忧,我們可以在未來(lái)使用XOR-Bench平臺(tái)來(lái)測(cè)試其他類(lèi)型的自動(dòng)化倉(cāng)儲(chǔ)系統(tǒng)芹缔,例如自動(dòng)化系統(tǒng)[11],其中人類(lèi)在區(qū)域中工作瓶盛,機(jī)器人被發(fā)送給人類(lèi)最欠,將項(xiàng)目從區(qū)域加載到輸入/輸出工作站;在這種情況下惩猫,機(jī)器人與人類(lèi)一起工作芝硬。
參考文獻(xiàn)
1.? Xie1, H. Li2, N. Thieme1., From Simulation to Real-World Robotic Mobile Fulfillment SystemsL. in Logistics Research · September 2019
2. Tanoto, A., Rückert, U., Witkowski, U., Teleworkbench: A teleoperated platform forexperiments in multi-robotics. In: Web-BasedControl and Robotics Education,? pp.267–296. Springer (2009)
3. Tanoto, A., Werner, F., Rückert, U., Li, H.: Teleworkbench: validating robot programs from simulation to prototyping with minirobots. In: The 10th International Conference on Autonomous Agents and Multiagent Systems, vol. 3, pp. 1303–1304. International Foundation for Autonomous Agents and Multiagent Systems(2011)
4. Merschformann, M., Xie, L., Li, H.: RAWSim-O:A simulation framework for robotic mobile fulfillment systems. Logistics Research 11(1) (2018). DOI doi:10.23773/2018 8
5. Tanoto, A., Li, H., Rückert, U., Sitte, J.: Scalable and flexible vision-based multi-robot tracking system. In: 2012 IEEE International Symposium on Intelligent Control (ISIC), pp. 19–24. IEEE (2012)
6. Garrido-Jurado, S., Mu?oz-Salinas, R., Madrid-Cuevas, F.J., Mar′?n-Jim′enez, M.J.: Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition 47(6), 2280–2292 (2014)
7. Wang, K.H.C., Botea, A.: MAPP: a scalable multi-agent path planning algorithm with tractability and completeness guarantees. Journal of Artificial Intelligence Research 42, 55–90 (2011)
8. Cohen, L., Uras, T., Koenig, S.: Feasibility study: Using highways for bounded-suboptimal multiagent path finding. In: Eighth Annual Symposium on Combinatorial Search (2015)
9. Cohen, L., Wagner, G., Satish Kumar, T.K., Choset, H., Koenig, S.: Rapid randomized restarts for multi-agent path finding solvers. ArXiv e-prints (2017)
10. Merschformann, M., Xie, L., Erdmann, D.: Path planning for robotic mobile fulfillment systems. arXiv preprint arXiv:1706.09347
11. Ackerman, E.: How locus robotics plans to build a successor to Amazon’s Kiva robots (2016). URL https://spectrum.ieee.org/automaton/robotics/ industrial-robots/locus-robotics warehouseautomation-robots