呂丞干,陳海軍,2,3,樊虹岐,胡曉兵,3
(1.四川大學(xué)機(jī)械工程學(xué)院,成都 610065;2.四川德恩精工科技股份有限公司,眉山 620460;3.宜賓四川大學(xué)產(chǎn)業(yè)技術(shù)研究院,宜賓 644000)
云制造是面向服務(wù)的網(wǎng)絡(luò)化智能制造新模式[1],在網(wǎng)絡(luò)化制造和服務(wù)技術(shù)基礎(chǔ)上融合了云計(jì)算、邊緣計(jì)算、高性能計(jì)算、物聯(lián)網(wǎng)等技術(shù),具有物聯(lián)化、協(xié)同化、服務(wù)化、智能化等典型特征[2]。自以智能制造為主攻方向[3]的“中國(guó)制造2025”提出以來(lái),云制造已經(jīng)成為我國(guó)制造企業(yè)應(yīng)對(duì)知識(shí)經(jīng)濟(jì)與制造全球化挑戰(zhàn)的關(guān)鍵技術(shù)[4],正逐漸催生出基于“云邊端協(xié)同”架構(gòu)的智能工廠新模式[5]。然而,作為智能工廠的關(guān)鍵一環(huán),多機(jī)器人智能上下料系統(tǒng)仍發(fā)展緩慢。目前,智能化程度較高的多機(jī)器人上下料動(dòng)作大多數(shù)是通過(guò)本地部署上料AGV、機(jī)械臂、下料AGV和攝像頭等多模塊實(shí)現(xiàn)的,為此,每個(gè)控制單元都需要獨(dú)立裝配成本較高的定位系統(tǒng)和協(xié)作系統(tǒng)[6],一般企業(yè)難以承擔(dān)相關(guān)改造成本和維護(hù)成本,導(dǎo)致此類智能化上下料技術(shù)既不易推廣應(yīng)用,又無(wú)法滿足我國(guó)制造企業(yè)實(shí)現(xiàn)云制造的需求。
目前,國(guó)內(nèi)外學(xué)者已經(jīng)廣泛開(kāi)展了在提高多機(jī)器人上下料智能化程度方面的研究,改進(jìn)主要分為兩個(gè)方向。①提高機(jī)械臂工作智能化,包括夾具升級(jí)、碰撞監(jiān)測(cè)[7]、軌跡規(guī)劃、基于生產(chǎn)節(jié)拍的工作規(guī)劃[8]等;②引入除機(jī)械臂外的其他智能裝置,包括引入視覺(jué)傳感器、AGV、智能工作站[9]等。但上述兩個(gè)方向均僅考慮了單一控制單元的智能化,導(dǎo)致單個(gè)控制單元成本較高且各控制單元之間缺乏必要的配合,可推廣性和智能化水平仍然受限,還無(wú)法適用于云制造下的無(wú)人化上下料控制。在近幾年研究中,雖然可參考的關(guān)于云制造上下料系統(tǒng)的研究還相對(duì)較少,但在整個(gè)制造業(yè)領(lǐng)域內(nèi)已有基于云平臺(tái)或云端系統(tǒng)來(lái)解決云制造相關(guān)問(wèn)題的研究。如朱逢浩[10]基于Kubernetes與Docker容器技術(shù),設(shè)計(jì)實(shí)現(xiàn)了建筑機(jī)器人任務(wù)云平臺(tái)系統(tǒng),可以滿足建筑機(jī)器人項(xiàng)目開(kāi)發(fā)及部署的基本需求;于博[11]使用了實(shí)時(shí)信息傳輸協(xié)議(real time message protocol,RMTP)將攝像頭采集到的圖像上云,使用了Vue、Spring Boot等框架進(jìn)行前后端開(kāi)發(fā)實(shí)現(xiàn)本地和云端的通信,設(shè)計(jì)實(shí)現(xiàn)了面向云制造的工業(yè)機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng),能較好地滿足云制造環(huán)境下不同角色用戶對(duì)工業(yè)機(jī)器人的遠(yuǎn)程監(jiān)控和簡(jiǎn)單的控制需求;劉根寅[12]基于Kafka消息中間件實(shí)現(xiàn)車(chē)間數(shù)據(jù)在本地和云端的傳輸,研究開(kāi)發(fā)了云制造環(huán)境下車(chē)間生產(chǎn)大數(shù)據(jù)處理系統(tǒng),實(shí)現(xiàn)了對(duì)車(chē)間生產(chǎn)的智能化改造。然而,由于這些研究并不直接面向多機(jī)器人協(xié)作上下料的具體工業(yè)場(chǎng)景,在多控制單元并行可靠性、數(shù)據(jù)傳輸實(shí)時(shí)性和視頻傳輸高效性等方面還不能直接用于多機(jī)器人上下料環(huán)節(jié),因此,還有必要對(duì)面向云制造的多機(jī)器人上下料系統(tǒng)及其通訊網(wǎng)絡(luò)展開(kāi)進(jìn)一步研究。
針對(duì)上述問(wèn)題,本文通過(guò)對(duì)消息隊(duì)列遙測(cè)傳輸協(xié)議(message queuing telemetry transport,MQTT)[13]、實(shí)時(shí)傳輸協(xié)議(real-time transport protocol,RTP)[14]等通訊技術(shù)的研究,基于Docker技術(shù)[15],將“云邊端協(xié)同”架構(gòu)[16-17]應(yīng)用于多機(jī)器人上下料環(huán)節(jié)的機(jī)械臂和AGV協(xié)作準(zhǔn)備步驟,搭建了一個(gè)可柔性擴(kuò)展控制單元的多機(jī)器人視覺(jué)協(xié)作系統(tǒng),重點(diǎn)設(shè)計(jì)了該系統(tǒng)的通訊網(wǎng)絡(luò),為促進(jìn)多機(jī)器人視覺(jué)上下料智能化發(fā)展提供了一種低成本、易改造、易維護(hù)、高擴(kuò)展性的思路。
邊緣計(jì)算作為地理分布的計(jì)算模型,在數(shù)據(jù)源附近執(zhí)行計(jì)算任務(wù),能夠提高服務(wù)響應(yīng)速度和降低服務(wù)延遲。但是由于邊緣計(jì)算設(shè)備的計(jì)算能力和存儲(chǔ)能力有限,一些需要大量計(jì)算和存儲(chǔ)的任務(wù)仍然需要送到云端去完成。因此,與邊緣計(jì)算單獨(dú)發(fā)展相比,邊緣計(jì)算將會(huì)向云計(jì)算方向發(fā)展,形成云邊協(xié)同的層次計(jì)算體系。本文正是基于“云邊端協(xié)同”架構(gòu),面向云制造設(shè)計(jì)了一套多機(jī)器人視覺(jué)協(xié)作系統(tǒng),由設(shè)備端、邊緣端子系統(tǒng)以及云端子系統(tǒng)3個(gè)部分組成。系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)圖
圖1中,t0為設(shè)備端向邊緣端子系統(tǒng)傳輸圖像和狀態(tài)信息的時(shí)延,t1為邊緣端子系統(tǒng)對(duì)圖像進(jìn)行預(yù)處理的時(shí)延,t2為邊緣端子系統(tǒng)向云端子系統(tǒng)傳輸圖像和狀態(tài)信息的時(shí)延,t3為云端子系統(tǒng)對(duì)圖像進(jìn)行處理得到控制信息的時(shí)延,t4為云端子系統(tǒng)向邊緣端子系統(tǒng)傳輸控制信息的時(shí)延,t5為邊緣端子系統(tǒng)向設(shè)備端傳輸控制信息的時(shí)延。
在本文系統(tǒng)中,設(shè)備端作為上下料視覺(jué)協(xié)作執(zhí)行端,負(fù)責(zé)完成采集傳輸用于解析機(jī)械臂和AGV相對(duì)位置的圖像、發(fā)送機(jī)械臂狀態(tài)信息、接收機(jī)械臂和AGV的控制信息等任務(wù);邊緣端子系統(tǒng)位于本地作為管理中心,管理多個(gè)控制單元,負(fù)責(zé)完成向云端子系統(tǒng)發(fā)送服務(wù)請(qǐng)求、預(yù)處理圖像信息、上傳視頻、上傳機(jī)械臂狀態(tài)信息、接收并分發(fā)機(jī)械臂和AGV的控制信息等任務(wù);云端子系統(tǒng)作為圖像處理中心,負(fù)責(zé)完成接收邊緣端子系統(tǒng)請(qǐng)求后生成和管理容器并進(jìn)行加密,在各個(gè)容器內(nèi)進(jìn)行處理圖像信息、接收機(jī)械臂狀態(tài)信息、下發(fā)機(jī)械臂和AGV的控制信息等任務(wù)。
本文多機(jī)器人視覺(jué)協(xié)作系統(tǒng)各部分間信息通路可以分為兩部分,一個(gè)是用于設(shè)備端、邊緣端子系統(tǒng)和云端子系統(tǒng)之間傳輸狀態(tài)、指令的參數(shù)信息通信,另一個(gè)是用于給邊緣端子系統(tǒng)在預(yù)處理后可能要將視頻信息發(fā)往云端子系統(tǒng)的需求提供服務(wù)的視頻信息通信。本文將控制、狀態(tài)數(shù)據(jù)傳輸與視頻數(shù)據(jù)傳輸分離開(kāi)來(lái),以避免占據(jù)高帶寬的視頻數(shù)據(jù)影響到控制、狀態(tài)信息的傳輸,從而增強(qiáng)系統(tǒng)運(yùn)行的穩(wěn)定性,同時(shí)也是給這兩類信息的傳輸分別使用了更為合適的傳輸方案。下面分別對(duì)參數(shù)信息和視頻信息的通信模塊進(jìn)行設(shè)計(jì)。
1.2.1 參數(shù)信息通信模塊設(shè)計(jì)
由于本系統(tǒng)的云端子系統(tǒng)需要實(shí)時(shí)控制現(xiàn)場(chǎng)設(shè)備端完成協(xié)作工作、現(xiàn)場(chǎng)機(jī)械臂也需要實(shí)時(shí)上傳其當(dāng)前位姿信息來(lái)支撐云端做控制信息的解算工作,這就要求本系統(tǒng)能在網(wǎng)絡(luò)質(zhì)量一般的情況下高可靠、低時(shí)延、低開(kāi)銷地完成參數(shù)數(shù)據(jù)的傳輸。在此場(chǎng)景下常見(jiàn)的通信協(xié)議中,輪詢技術(shù)(polling)能夠確??蛻舳伺c服務(wù)器端之間的同步,但由于其客戶端會(huì)一直以固定頻率向服務(wù)器端請(qǐng)求信息的特點(diǎn),在客戶端和服務(wù)器端都會(huì)造成較大的資源浪費(fèi);XMPP協(xié)議通常被應(yīng)用于在線監(jiān)測(cè)和即時(shí)通信領(lǐng)域,但由于其是基于XML實(shí)現(xiàn),導(dǎo)致其所發(fā)送的消息較為冗余,耗流量大;MQTT協(xié)議基于TCP/IP協(xié)議棧,是一種輕量級(jí)的消息發(fā)布/訂閱協(xié)議,由于其開(kāi)銷小、延時(shí)低、可靠性高等優(yōu)點(diǎn),在不可靠網(wǎng)絡(luò)環(huán)境下擴(kuò)展消息發(fā)送方和接收方,適用于硬件性能較差的遠(yuǎn)程設(shè)備,但也存在安全性不高的問(wèn)題??紤]到本文系統(tǒng)可能會(huì)工作在網(wǎng)絡(luò)資源較差的環(huán)境中,對(duì)信息的精簡(jiǎn)性和可靠性要求較高,本系統(tǒng)選用了MQTT協(xié)議來(lái)實(shí)現(xiàn)本文系統(tǒng)控制、狀態(tài)數(shù)據(jù)的傳輸,將MQTT服務(wù)器部署于云端子系統(tǒng)。
在安全性方面,MQTT協(xié)議通過(guò)控制QoS等級(jí)來(lái)決定服務(wù)質(zhì)量,而消息的安全級(jí)別則由QoS的值決定,但是MQTT協(xié)議本身不具備加密和驗(yàn)證消息的功能,使用MQTT協(xié)議時(shí)可能會(huì)遭到惡意篡改或攻擊。因此,本文結(jié)合MQTT通信協(xié)議的報(bào)文特點(diǎn)和視覺(jué)協(xié)作環(huán)節(jié)的安全性要求,使用了常用于確保消息傳輸?shù)耐暾院鸵恢滦缘纳⒘兴惴?MD5),提出了一種基于MQTT協(xié)議的可動(dòng)態(tài)更新的MD5加密與驗(yàn)證方案,如圖2所示。
圖2 可動(dòng)態(tài)更新的MD5加密與驗(yàn)證方案
圖2中,秘鑰管理單元部署在云端子系統(tǒng)并在系統(tǒng)的全生命周期都啟用,加密單元和驗(yàn)證單元?jiǎng)t同時(shí)部署在邊緣端子系統(tǒng)和云端子系統(tǒng)中,加密單元作用于MQTT報(bào)文形成之后,發(fā)送之前,而驗(yàn)證單元作用于收到MQTT報(bào)文之后,解析之前。其中,AppSecret是一個(gè)隨機(jī)生成的32位字符串。
1.2.2 視頻信息通信模塊設(shè)計(jì)
在云端子系統(tǒng)需要高實(shí)時(shí)性地依據(jù)現(xiàn)場(chǎng)圖像解析生成控制信息這一場(chǎng)景下,本文選用了實(shí)時(shí)傳輸協(xié)議RTP作為圖像信息傳輸協(xié)議。
RTP協(xié)議可以傳輸具有實(shí)時(shí)特性的音頻和視頻文件,是一種既能在TCP上也能在UDP上工作的應(yīng)用層程序。與TCP相比,UDP具有較短的傳輸延時(shí)和較小的網(wǎng)絡(luò)開(kāi)銷,因此本文選擇了RTP/UDP作為視頻流傳輸協(xié)議。邊緣端子系統(tǒng)向云端子系統(tǒng)進(jìn)行視頻傳輸?shù)牧鞒倘鐖D3所示。
圖3 視頻傳輸流程圖
考慮到實(shí)驗(yàn)設(shè)備因素,本文設(shè)備端機(jī)械臂選用的是選用基于固高機(jī)器人控制系統(tǒng)的德恩DR50工業(yè)機(jī)器人,AGV選用的是普通差速AGV,相機(jī)選用的是普通網(wǎng)絡(luò)攝像頭。
在本文系統(tǒng)的架構(gòu)下,設(shè)備端僅會(huì)與邊緣端主機(jī)進(jìn)行交互,其各部分所需要實(shí)現(xiàn)的功能有:機(jī)械臂依據(jù)控制信息運(yùn)行、反饋狀態(tài)信息;AGV依據(jù)控制信息運(yùn)行;相機(jī)采集和發(fā)送視頻信息等。機(jī)械臂部分功能基于德恩DR50工業(yè)機(jī)器人中的動(dòng)態(tài)指令模式實(shí)現(xiàn)。動(dòng)態(tài)指令模式是一個(gè)讓用戶能通過(guò)API獲取機(jī)器人狀態(tài)、控制機(jī)器人運(yùn)動(dòng)的機(jī)器人運(yùn)行模式,其中API可以通過(guò)TCP通信的方法來(lái)調(diào)用。AGV部分功能則是基于本文選用的普通差速AGV提供的運(yùn)動(dòng)控制API來(lái)實(shí)現(xiàn)對(duì)左右輪轉(zhuǎn)速的控制,此API也是通過(guò)TCP通信的方法來(lái)進(jìn)行調(diào)用。相機(jī)部分功能則是基于網(wǎng)絡(luò)攝像頭自帶的網(wǎng)絡(luò)傳輸接口來(lái)實(shí)現(xiàn)的。
根據(jù)各設(shè)備自帶通訊接口的特點(diǎn),本文的機(jī)械臂和相機(jī)均通過(guò)網(wǎng)線與交換機(jī)互聯(lián)后接入無(wú)線路由器,AGV則是連接無(wú)線路由器的WIFI,然后無(wú)線路由器再通過(guò)網(wǎng)線與邊緣端主機(jī)互聯(lián)。基于此通信網(wǎng)絡(luò),多套控制單元的機(jī)械臂、AGV和相機(jī)便可柔性互聯(lián),并同屬于一臺(tái)邊緣端主機(jī)的管理,邊緣端主機(jī)能夠通過(guò)各設(shè)備被分配的唯一的IP地址來(lái)實(shí)現(xiàn)對(duì)不同設(shè)備的標(biāo)識(shí),以此在邊緣端子系統(tǒng)內(nèi)注冊(cè)控制單元。設(shè)備端通信網(wǎng)絡(luò)如圖4所示。
圖4 設(shè)備端通信網(wǎng)絡(luò)架構(gòu)圖
考慮到實(shí)驗(yàn)平臺(tái)因素,本文云端子系統(tǒng)的硬件部分選用的是“德恩云造”產(chǎn)業(yè)協(xié)同云平臺(tái),“德恩云造”專注于智能裝備及零部件制造產(chǎn)業(yè)的平臺(tái)化、集群化、協(xié)同化、數(shù)智化賦能服務(wù),能夠很好地支撐本文云端子系統(tǒng)的代碼部署。
本文云端子系統(tǒng)主體部分由管理模塊和功能模塊兩部分組成。管理模塊部署于云端虛擬機(jī)中,主要負(fù)責(zé)對(duì)容器的管理。為了使本系統(tǒng)能夠?qū)ζ渫瑫r(shí)服務(wù)的控制單元數(shù)量實(shí)現(xiàn)動(dòng)態(tài)增減,并給每一個(gè)工作中的控制單元都提供一個(gè)隔離性較好的云端服務(wù)環(huán)境以提高系統(tǒng)穩(wěn)定性,功能模塊的部署使用了和虛擬機(jī)方案相比有著更高資源利用率的Docker方案。Docker是一種通過(guò)鏡像構(gòu)建包含軟件的運(yùn)行環(huán)境的容器化(container)工具,因此容器可以隨時(shí)隨地運(yùn)行,同一主機(jī)上的多個(gè)容器仍然可以共享操作系統(tǒng)和物理資源。
管理模塊除了前文所提到的秘鑰管理單元以外,還有容器管理單元,負(fù)責(zé)完成容器生成和回收等任務(wù)。功能模塊由多個(gè)協(xié)作的控制節(jié)點(diǎn)組成,實(shí)現(xiàn)機(jī)械臂和AGV控制信息生成、信息傳輸?shù)裙δ?。本文云端子系統(tǒng)主體部分的程序流程如圖5所示。
圖5 云端子系統(tǒng)主體部分程序流程圖
圖5中,云端動(dòng)態(tài)ID庫(kù)是一個(gè)記錄邊緣端目前活躍控制單元ID的庫(kù),其會(huì)以60 次/min的頻率向邊緣端子系統(tǒng)發(fā)送同步請(qǐng)求并解析回傳數(shù)據(jù),動(dòng)態(tài)更新目前邊緣端子系統(tǒng)的所有活躍控制單元ID,從而可以保證云端子系統(tǒng)容器可以與活躍控制單元一一對(duì)應(yīng),提高云端資源利用率。
總結(jié)上述流程,可以得出,云端子系統(tǒng)需要發(fā)送的信息有:通過(guò)MQTT向邊緣端子系統(tǒng)發(fā)送的機(jī)械臂、AGV控制信息和連接成功信息;需要接收的信息有:邊緣端子系統(tǒng)通過(guò)RTP發(fā)送過(guò)來(lái)的視頻信息和通過(guò)MQTT發(fā)送過(guò)來(lái)的機(jī)械臂狀態(tài)信息和控制單元ID信息。
MQTT需要根據(jù)收發(fā)的信息特點(diǎn)選擇最適合的QoS(quality of service)來(lái)進(jìn)行傳輸。MQTT設(shè)計(jì)了3個(gè)QoS等級(jí)用于傳輸質(zhì)量的確定,分別為QoS0、QoS1和QoS2。QoS等級(jí)越高,流程越復(fù)雜,系統(tǒng)資源消耗越大,因此本文將盡量選擇滿足業(yè)務(wù)需求的較小的QoS等級(jí)。對(duì)通過(guò)MQTT發(fā)送的各類信息特點(diǎn)進(jìn)行分析后得出,云端子系統(tǒng)接收邊緣端子系統(tǒng)所發(fā)送的機(jī)械臂狀態(tài)信息使用QoS0,控制單元ID信息使用QoS1。
根據(jù)邊緣端子系統(tǒng)與云端子系統(tǒng)交互流程,對(duì)云端子系統(tǒng)通訊接口進(jìn)行設(shè)計(jì)如圖6所示。
圖6 云端子系統(tǒng)通訊接口圖
圖6中,由于狀態(tài)信息的傳輸使用了QoS0等級(jí),視頻信息傳輸使用了RTP/UDP協(xié)議,會(huì)出現(xiàn)信息重復(fù)發(fā)送或沒(méi)有按照發(fā)出的時(shí)序被接收的情況。為此,在功能模塊的控制解算節(jié)點(diǎn)中,程序均會(huì)記錄下接收到的上一條信息的時(shí)間戳信息,之后若遇到小于或等于此記錄的時(shí)間戳數(shù)據(jù),則會(huì)將其視為無(wú)效信息并過(guò)濾,以保證上傳至云端子系統(tǒng)的狀態(tài)信息和視頻信息都會(huì)是最新版本。
本文邊緣端子系統(tǒng)的軟件部分是使用Qt軟件來(lái)編寫(xiě),其主體部分以設(shè)備管理模塊、活躍控制單元檢測(cè)模塊和信息下發(fā)模塊組成,進(jìn)行資源管理和信息傳遞,其程序流程如圖7所示。
圖7 邊緣端子系統(tǒng)主體部分程序流程圖
邊緣端子系統(tǒng)的硬件部分選用的是win11系統(tǒng)的臺(tái)式機(jī),其配置如表1所示。
表1 邊緣端臺(tái)式機(jī)配置表
圖7中,設(shè)備管理模塊內(nèi)的注冊(cè)操作指的是用戶通過(guò)辨識(shí)設(shè)備的IP地址,將位于同一個(gè)控制單元內(nèi)的一套機(jī)械臂和相機(jī)進(jìn)行綁定,形成一個(gè)由邊緣端子系統(tǒng)進(jìn)行管理的控制單元,每個(gè)被生成的控制單元均會(huì)被賦予一個(gè)不重復(fù)的ID號(hào)?;钴S控制單元檢測(cè)模塊內(nèi)則會(huì)進(jìn)行所有注冊(cè)的控制單元的相機(jī)圖像采集,對(duì)圖像進(jìn)行預(yù)處理分析得出此控制單元的工作狀態(tài),以此來(lái)動(dòng)態(tài)更新邊緣端動(dòng)態(tài)ID庫(kù)。由于活躍控制單元檢測(cè)模塊的邊緣端動(dòng)態(tài)ID庫(kù)的更新全過(guò)程是在現(xiàn)場(chǎng)局域網(wǎng)內(nèi)進(jìn)行操作,其準(zhǔn)確度高且能迅速檢測(cè)出脫離活躍狀態(tài)的控制單元,以保證為云端動(dòng)態(tài)ID庫(kù)提供活躍控制單元信息的正確性??刂葡掳l(fā)模塊則是負(fù)責(zé)接收云端子系統(tǒng)的控制信息并分類下發(fā)給設(shè)備端。
總結(jié)上述流程可以得出,邊緣端子系統(tǒng)需要發(fā)送的信息有:通過(guò)MQTT向云端子系統(tǒng)發(fā)送的機(jī)械臂狀態(tài)信息和控制單元ID信息,通過(guò)RTP向云端子系統(tǒng)發(fā)送的視頻信息,通過(guò)TCP向邊緣端機(jī)械臂和AGV發(fā)送的控制信息;需要接收的信息有:云端子系統(tǒng)通過(guò)MQTT發(fā)送過(guò)來(lái)的機(jī)械臂和AGV控制信息和連接成功信息,設(shè)備端機(jī)械臂通過(guò)TCP傳輸過(guò)來(lái)的狀態(tài)信息和相機(jī)通過(guò)TCP傳輸過(guò)來(lái)的視頻信息。
其中,由于TCP本身的穩(wěn)定性,且邊緣端子系統(tǒng)和設(shè)備端是位于同一局域網(wǎng)內(nèi)進(jìn)行傳輸工作,本文認(rèn)為由TCP傳輸?shù)母黝愋畔⒕芊€(wěn)定地被對(duì)方接收一次。由于本文選用的是RTP/UDP協(xié)議格式進(jìn)行的視頻傳輸,邊緣端子系統(tǒng)只需要按時(shí)序向?qū)?yīng)圖像上傳端口號(hào)發(fā)送視頻信息即可。對(duì)通過(guò)MQTT發(fā)送的各類信息特點(diǎn)進(jìn)行分析后得出,邊緣端子系統(tǒng)接收云端子系統(tǒng)所發(fā)送的控制信息和連接成功信息使用QoS1。對(duì)邊緣端子系統(tǒng)通訊節(jié)點(diǎn)設(shè)計(jì)如圖8所示。
圖8 邊緣端子系統(tǒng)通訊節(jié)點(diǎn)圖
圖8中,當(dāng)活躍控制單元檢測(cè)模塊檢測(cè)到一個(gè)新的活躍控制單元時(shí),會(huì)生成與此控制單元ID相對(duì)應(yīng)的子線程組,而后會(huì)將控制單元ID發(fā)送至云端子系統(tǒng)通訊接口,得到連接成功的返回后子線程組便會(huì)與云端子系統(tǒng)的對(duì)應(yīng)容器進(jìn)行視頻信息和參數(shù)信息的通訊。此外,當(dāng)活躍控制單元檢測(cè)模塊檢測(cè)到某個(gè)控制單元狀態(tài)變?yōu)榉腔钴S時(shí),也會(huì)回收對(duì)應(yīng)的子線程組以提高系統(tǒng)資源利用率。各個(gè)子線程組中管理著與其ID號(hào)對(duì)應(yīng)的兩個(gè)子線程,一個(gè)用于處理參數(shù)信息,另一個(gè)用于處理視頻信息。其中,由于控制信息的傳輸使用了QoS1等級(jí),會(huì)出現(xiàn)信息重復(fù)發(fā)送或沒(méi)有按照發(fā)出的時(shí)序被接收的情況,為此,邊緣端子系統(tǒng)在接收到云端子系統(tǒng)的控制信息進(jìn)行處理時(shí),會(huì)記錄下此條信息帶有的時(shí)間戳信息,之后若遇到小于或等于此記錄的時(shí)間戳數(shù)據(jù),則會(huì)將其視為無(wú)效信息并過(guò)濾,以保證下發(fā)給設(shè)備端的都是最新版本的控制信息。
為了驗(yàn)證本文多機(jī)器人視覺(jué)協(xié)作系統(tǒng)的功能以及考察其運(yùn)行性能,按照系統(tǒng)硬軟件設(shè)計(jì)內(nèi)容安裝和配置設(shè)備端、邊緣端子系統(tǒng)和云端子系統(tǒng),在室內(nèi)網(wǎng)絡(luò)條件下一共開(kāi)展兩個(gè)實(shí)驗(yàn),分別為單控制單元上下料協(xié)作實(shí)驗(yàn)和多控制單元上下料協(xié)作實(shí)驗(yàn),實(shí)驗(yàn)場(chǎng)地如圖9所示。
圖9 實(shí)驗(yàn)場(chǎng)地
本文選擇使用在相機(jī)捕捉的圖像中機(jī)械臂末端工件與AGV中心點(diǎn)位置基本重合作為協(xié)作成功的標(biāo)志,如圖10所示。
(a) 運(yùn)動(dòng)前 (b) 運(yùn)動(dòng)中(c) 運(yùn)動(dòng)結(jié)束圖10 上下料協(xié)同實(shí)驗(yàn)過(guò)程
進(jìn)行系統(tǒng)主要功能的測(cè)試,注冊(cè)一個(gè)控制單元,并將AGV引導(dǎo)至此控制單元視場(chǎng)下,系統(tǒng)便會(huì)按照工作流程進(jìn)行自動(dòng)視覺(jué)協(xié)作,在穩(wěn)定的網(wǎng)絡(luò)條件下進(jìn)行數(shù)次重復(fù)試驗(yàn)得到各個(gè)階段的時(shí)延情況和上下料結(jié)果,發(fā)現(xiàn)數(shù)據(jù)相對(duì)穩(wěn)定且上下料協(xié)作均能成功完成,選取其中3組數(shù)據(jù)進(jìn)行展示如表2所示。
表2 單柔性制造單元上下料實(shí)驗(yàn)結(jié)果
表中的工作階段與前文保持一致,即t1為邊緣端子系統(tǒng)對(duì)圖像進(jìn)行預(yù)處理,t2為邊緣端子系統(tǒng)將機(jī)械臂狀態(tài)信息和圖像上傳至云端子系統(tǒng),t3為云端子系統(tǒng)對(duì)圖像進(jìn)行處理獲得控制信息,t4為云端子系統(tǒng)將控制信息回傳給邊緣端子系統(tǒng),t5為邊緣端子系統(tǒng)將控制信息分發(fā)給機(jī)械臂和AGV。而t0階段由于是設(shè)備端子系統(tǒng)和邊緣端子系統(tǒng)的網(wǎng)線直連,時(shí)延穩(wěn)定且較小,故本文實(shí)驗(yàn)不對(duì)此階段的時(shí)延進(jìn)行記錄。
實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)可以穩(wěn)定可靠地滿足單控制單元視覺(jué)協(xié)作的需求。
由于現(xiàn)場(chǎng)設(shè)備條件不能滿足注冊(cè)多個(gè)控制單元,多控制單元視覺(jué)協(xié)作實(shí)驗(yàn)將共用一套機(jī)械臂和AGV,同時(shí)取消t5對(duì)數(shù)據(jù)的記錄,但會(huì)在相近位置排布3個(gè)攝像頭來(lái)模擬3個(gè)控制單元,并會(huì)將3個(gè)控制單元收到的控制信息記錄下來(lái),之后依次傳遞給機(jī)械臂和AGV來(lái)進(jìn)行測(cè)試,查看視覺(jué)協(xié)作結(jié)果。增設(shè)攝像頭后共3個(gè)攝像頭的排布方式如圖11所示。
圖11 多控制單元攝像頭排布方式
進(jìn)行系統(tǒng)主要功能的測(cè)試,在邊緣端子系統(tǒng)向云端子系統(tǒng)注冊(cè)3個(gè)本地工作單元,系統(tǒng)會(huì)按照工作流程進(jìn)行自動(dòng)上下料協(xié)作,在穩(wěn)定的網(wǎng)絡(luò)條件下進(jìn)行數(shù)次重復(fù)試驗(yàn)得到各個(gè)階段的時(shí)延情況和上下料協(xié)作結(jié)果,發(fā)現(xiàn)數(shù)據(jù)相對(duì)穩(wěn)定且上下料協(xié)作均能成功完成,選取其中3組數(shù)據(jù)進(jìn)行展示如表3所示。
表3 多柔性制造單元上下料實(shí)驗(yàn)結(jié)果
將表3的實(shí)驗(yàn)結(jié)果與表2的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,可以得出結(jié)論,本系統(tǒng)可以穩(wěn)定可靠地滿足多控制單元視覺(jué)協(xié)作的需求,但在多單元工作環(huán)境下t1、t2、t4時(shí)延略微有上升趨勢(shì),這是多控制單元情況下網(wǎng)絡(luò)的負(fù)載增加的緣故,但由于云端子系統(tǒng)的多個(gè)容器運(yùn)行環(huán)境相對(duì)隔離,t3時(shí)延并沒(méi)有明顯的變化。
為了提高多機(jī)器人上下料的智能程度,滿足企業(yè)實(shí)現(xiàn)云制造的需求,本文設(shè)計(jì)了一套基于云端部署的多機(jī)器人視覺(jué)協(xié)同工作系統(tǒng),完成了以下幾點(diǎn)工作:
(1)針對(duì)參數(shù)信息傳輸和視頻信息傳輸?shù)膶?shí)時(shí)性和可靠性,提出了一種參數(shù)信息與視頻信息分開(kāi)傳輸?shù)姆桨浮?shù)信息部分基于MQTT協(xié)議,并提出了一種基于MQTT協(xié)議的可動(dòng)態(tài)更新的MD5加密與驗(yàn)證方案,提高了各個(gè)子系統(tǒng)在接收參數(shù)信息時(shí)的安全性。視頻信息部分基于RTP/UDP協(xié)議來(lái)保證圖像傳輸?shù)膶?shí)時(shí)性。實(shí)驗(yàn)證明,此方案可以滿足復(fù)雜系統(tǒng)架構(gòu)下、多智能控制單元基于云端進(jìn)行多層多級(jí)協(xié)作的需求;
(2)針對(duì)多控制單元云服務(wù)的柔性化擴(kuò)展,基于云端動(dòng)態(tài)ID庫(kù)與邊緣端動(dòng)態(tài)ID庫(kù)高頻同步技術(shù),開(kāi)發(fā)了可支持對(duì)多控制單元并行服務(wù)的云端子系統(tǒng)及通訊接口。實(shí)驗(yàn)證明,該云端子系統(tǒng)可以快速響應(yīng)邊緣端子系統(tǒng)的請(qǐng)求以及檢測(cè)活躍控制單元ID庫(kù)的變化,實(shí)現(xiàn)云端容器資源的智能啟停和分配;
(3)針對(duì)多控制單元的信息上傳和下發(fā)的可靠性,基于活躍控制單元檢測(cè)和多線程等技術(shù),設(shè)計(jì)了邊緣端子系統(tǒng)通訊節(jié)點(diǎn)。實(shí)驗(yàn)證明,上述通訊節(jié)點(diǎn)可以柔性服務(wù)于各控制單元的信息傳輸,提高云端資源利用率;
(4)模擬實(shí)際工業(yè)視覺(jué)協(xié)作場(chǎng)景,開(kāi)展了兩個(gè)實(shí)驗(yàn)來(lái)驗(yàn)證本文設(shè)計(jì)系統(tǒng)在服務(wù)于單個(gè)和多個(gè)控制單元時(shí)的表現(xiàn)。實(shí)驗(yàn)結(jié)果表明本文系統(tǒng)能穩(wěn)定可靠地滿足單個(gè)和多個(gè)控制單元視覺(jué)協(xié)作環(huán)節(jié)的需求,時(shí)延穩(wěn)定,在實(shí)驗(yàn)場(chǎng)景下均能成功實(shí)現(xiàn)定位協(xié)作。
上述研究表明,本文基于云架構(gòu)提出了一套適用于智能車(chē)間多機(jī)器人協(xié)同、多控制單元并行控制的低成本視覺(jué)協(xié)作方案,對(duì)推動(dòng)我國(guó)“云制造”的高速發(fā)展奠定了相關(guān)技術(shù)基礎(chǔ)。