李 翀,付文杰,王 浩,孫曉騰,李 兵
(國(guó)網(wǎng)河北省電力有限公司營(yíng)銷(xiāo)服務(wù)中心,石家莊 050000)
在工業(yè)生產(chǎn)的流水線中,自動(dòng)碼垛作業(yè)大部分是由機(jī)械式碼垛機(jī)完成或人工搬運(yùn)。在一些實(shí)際場(chǎng)景中,碼垛機(jī)器人一次能搬運(yùn)一整層箱子,典型的碼垛機(jī)器人工作狀態(tài)圖如下所示:
然而,在實(shí)際生產(chǎn)中,碼垛的的多層箱體會(huì)出現(xiàn)錯(cuò)位堆疊的情況,導(dǎo)致碼垛機(jī)器人和后續(xù)的生產(chǎn)流水線過(guò)程出現(xiàn)抓取和流水線錯(cuò)誤的情況,現(xiàn)有的方案是人工對(duì)流水線上的碼垛箱體排列情況進(jìn)行監(jiān)控,工作強(qiáng)度高,也會(huì)出現(xiàn)漏檢的情況。針對(duì)該問(wèn)題,業(yè)界先后有提出基于紅外、激光、視覺(jué)的方法,但都不能很好的解決該問(wèn)題。
本文借助計(jì)算機(jī)視覺(jué)、深度學(xué)習(xí)和大數(shù)據(jù)分析技術(shù),提出并實(shí)現(xiàn)了一種碼垛錯(cuò)位智能檢測(cè)和閉環(huán)反饋系統(tǒng),在本文提出的系統(tǒng)和方法中,首次提出并實(shí)現(xiàn)了基于端、邊、云協(xié)同的檢測(cè)、反饋及大數(shù)據(jù)分析方法,并引入了一種新的IOU Loss損失函數(shù)的深度學(xué)習(xí)網(wǎng)絡(luò)模型,有效的解決了碼垛錯(cuò)位視覺(jué)檢測(cè)問(wèn)題[1]。
圖1 智能碼垛機(jī)器人工作示意圖
本文首次提出并實(shí)現(xiàn)了基于端、邊、云協(xié)同的檢測(cè)、反饋及大數(shù)據(jù)分析方法,整個(gè)系統(tǒng)結(jié)構(gòu)如圖2所示:
圖2 碼垛錯(cuò)位視覺(jué)檢測(cè)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)通過(guò)端、邊、云協(xié)同工作,實(shí)現(xiàn)了一套檢測(cè)和閉環(huán)反饋工作機(jī)制,主要分為三大模塊:
端模塊:主要由視覺(jué)采集相機(jī)和擋板控制機(jī)構(gòu)組成,實(shí)現(xiàn)前端圖像視頻數(shù)據(jù)的實(shí)時(shí)采集的及時(shí)控制。
邊模塊:由部署在邊緣計(jì)算機(jī)系統(tǒng)上的檢測(cè)算法和報(bào)警輸出模塊構(gòu)成,負(fù)責(zé)邊緣側(cè)實(shí)時(shí)計(jì)算和控制輸出。
云模塊:主要由數(shù)據(jù)分析和工單下發(fā)模塊構(gòu)成,實(shí)現(xiàn)大數(shù)據(jù)的關(guān)聯(lián)分析,工單關(guān)聯(lián)下發(fā)等工作。
端、邊、云三大模塊通過(guò)協(xié)同工作,前向過(guò)程通過(guò)數(shù)據(jù)采集、算法檢測(cè)和數(shù)據(jù)分析實(shí)現(xiàn)了圖像視覺(jué)信息到任務(wù)的抽象,反向過(guò)程通過(guò)工單下發(fā)、報(bào)警輸出、擋板控制實(shí)現(xiàn)任務(wù)到執(zhí)行的閉環(huán)反饋。
工業(yè)檢測(cè)系統(tǒng)中,往往只包括檢測(cè)的前向過(guò)程,而忽視了有效的反饋機(jī)制,本文提出的系統(tǒng)和方法提出了一套兩級(jí)反饋機(jī)制來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng)的閉環(huán)控制[2]。
一級(jí)反饋是通過(guò)檢測(cè)算法檢測(cè)到碼垛錯(cuò)位異常后直接反饋輸出到報(bào)警和擋板控制模塊,通過(guò)一種智能擋板控制方法,阻斷出錯(cuò)碼垛進(jìn)行后續(xù)的流水作業(yè),從而實(shí)現(xiàn)問(wèn)題的及時(shí)控制。
二級(jí)反饋是通過(guò)大數(shù)據(jù)分析,結(jié)合云端工作人員日程和信息,實(shí)現(xiàn)碼垛錯(cuò)位問(wèn)題的相關(guān)工單下發(fā),協(xié)調(diào)工作人員及時(shí)進(jìn)行處理。同時(shí),結(jié)合產(chǎn)線相關(guān)其他傳感器數(shù)據(jù)進(jìn)行大數(shù)據(jù)關(guān)聯(lián)分析,尋找碼垛錯(cuò)位問(wèn)題的相關(guān)影響因素。
碼垛被運(yùn)送到生產(chǎn)線某固定位置將停滯片刻時(shí),檢測(cè)系統(tǒng)將判斷其錯(cuò)位情況并將檢測(cè)結(jié)果反饋給中央控制系統(tǒng),一旦發(fā)現(xiàn)錯(cuò)位則立即觸發(fā)擋板控制器[3]。為保證錯(cuò)位碼垛被及時(shí)阻擋,從觸發(fā)到擋板完全擋住的延時(shí)必須嚴(yán)格保證,產(chǎn)線流程如圖3所示:
圖3 智能擋板控制圖
上圖模型中,假設(shè)碼垛從靜止即初速度V0勻加速到產(chǎn)線正常傳輸速度V1時(shí)運(yùn)動(dòng)的路程為S1,后勻速運(yùn)動(dòng)至擋板處的路程為S2,則通過(guò)以下公式可求解出臨界時(shí)間(即:碼垛輸送到擋板的同時(shí)擋板剛完成擋住的操作)。運(yùn)動(dòng)期間,假設(shè)勻加速階段加速度為a,勻加速階段的時(shí)間為T(mén)1,勻速運(yùn)動(dòng)的時(shí)間為T(mén)2,則各變量關(guān)系滿足以下四個(gè)公式:
由上述式(1)、式(2)和式(3)可計(jì)算出勻加速所用時(shí)間T1和勻速運(yùn)動(dòng)時(shí)間T2,而臨界時(shí)間為兩者之和T,即擋板反應(yīng)時(shí)間要小于ΔT。
導(dǎo)致碼垛錯(cuò)位發(fā)生的影響因素很多,例如機(jī)器人狀態(tài)、值班人員、箱體批次等,本文使用大數(shù)據(jù)關(guān)聯(lián)分析的方法,來(lái)實(shí)現(xiàn)主要因素的關(guān)聯(lián)挖掘,如下表所示:
表1 關(guān)聯(lián)規(guī)則的簡(jiǎn)單示例
通過(guò)關(guān)聯(lián)數(shù)據(jù)挖掘方法,本文在河北電表生產(chǎn)線上分析的結(jié)果如下:
圖4 不同因素個(gè)體概率差異圖
上圖中,每種因素的不同個(gè)體概率差異越大,表示和碼垛錯(cuò)位的相關(guān)性越高,可以看出其中發(fā)生碼垛錯(cuò)位的一個(gè)很重要的相關(guān)因素是箱體編號(hào)有關(guān),從而可以實(shí)現(xiàn)工單下發(fā),提示替換更新某編號(hào)的箱體。
在本系統(tǒng)中,即電力生產(chǎn)線末端的碼垛系統(tǒng)中,常見(jiàn)的典型碼垛錯(cuò)位情況如圖5所示,即上下層垛體在堆垛的過(guò)程中發(fā)生橫向軸上的偏移。
圖5 碼垛正常和異常狀態(tài)圖
在接收到預(yù)處理的圖像后,將其輸入給預(yù)先訓(xùn)練好的深度學(xué)習(xí)檢測(cè)網(wǎng)絡(luò),從而檢測(cè)出碼垛中所有箱體的種類(lèi)和位置。但在實(shí)際場(chǎng)景中,由于多個(gè)電表物料框箱體的堆疊非常密集,并且箱體的形狀十分類(lèi)似,容易出現(xiàn)錯(cuò)誤檢測(cè)的情況,傳統(tǒng)的非極大值抑制的方法無(wú)法解決該問(wèn)題,如圖6所示。
圖6 普通網(wǎng)絡(luò)模型的檢測(cè)效果
為了解決這個(gè)問(wèn)題,從調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)的角度,通過(guò)在檢測(cè)模型中引入IOU Loss損失函數(shù)的約束來(lái)抑制上圖中在第一、二層物料框箱體連接處多檢測(cè)出一個(gè)箱體的錯(cuò)誤情況[4]。
以堆疊的電表物料箱的側(cè)面箱體檢測(cè)為例,由于在這種在密集場(chǎng)景中,NMS不能夠充分區(qū)分重疊檢測(cè)或者抑制部分檢測(cè),因此考慮增加一個(gè)分支預(yù)測(cè)Jaccard index,產(chǎn)生Soft-IOU Layer。本系統(tǒng)中引入了IOU Loss損失函數(shù)深度學(xué)習(xí)網(wǎng)絡(luò)模型全局架構(gòu)如下:
圖7 網(wǎng)絡(luò)全局架構(gòu)圖
上圖中公式部分即為IOU Loss的定義,其中,n為每個(gè)batch的樣本數(shù)。
上圖中左上部分模塊,即網(wǎng)絡(luò)的Backbone采用ResNet50,同時(shí)模型為每個(gè)RPN提供了三個(gè)全卷積輸出Head,分別是:Bounding-box regression head、Classification head、Soft-Iou Layer,其結(jié)構(gòu)關(guān)系如圖8所示:
圖8 網(wǎng)絡(luò)基礎(chǔ)模塊組成圖
通過(guò)上述方法檢測(cè)堆疊的物料箱,每個(gè)箱體的被檢測(cè)出的位置如下(用長(zhǎng)方形框在圖中畫(huà)出),在圖中可以看出,網(wǎng)絡(luò)能夠較為準(zhǔn)確地檢測(cè)出圖中三層電表物料框。
圖9 本文網(wǎng)絡(luò)模型的檢測(cè)效果
引入IOU Loss損失函數(shù)的網(wǎng)絡(luò)模型在檢測(cè)準(zhǔn)確率上明顯高于普通模型,其與幾大主流檢測(cè)模型地準(zhǔn)確率對(duì)比如下表:
表2 各模型對(duì)物料框的檢測(cè)效果
由上表可以看出,本網(wǎng)絡(luò)有針對(duì)性地解決了密集物料框檢測(cè)問(wèn)題,該網(wǎng)絡(luò)在實(shí)際碼垛檢測(cè)中表現(xiàn)如下:
表3 實(shí)驗(yàn)環(huán)境和耗時(shí)
碼垛原圖和經(jīng)過(guò)檢測(cè)網(wǎng)絡(luò)后的每個(gè)垛體的位置如下所示,在圖中可以看出,網(wǎng)絡(luò)能夠較為準(zhǔn)確地檢測(cè)出圖中所有垛體,也就是圖中框出來(lái)的電表物料框。
圖10 堆疊箱體原圖和箱體檢測(cè)圖
得到每層垛體的大致位置后,為了準(zhǔn)確判斷碼垛是否錯(cuò)位,可通過(guò)檢測(cè)出相鄰箱體在橫向(x軸)的偏移程度來(lái)判斷是否屬于錯(cuò)位異常[5]。如圖11所示,分別為每個(gè)檢測(cè)出的箱體左右側(cè)豎直邊緣圖和邊緣點(diǎn)坐標(biāo)分布圖:
圖11 碼垛錯(cuò)位分析圖
根據(jù)上圖中的每層垛體兩側(cè)邊緣點(diǎn)集的坐標(biāo)分布可以分析出相鄰箱體偏移的程度,從而讓高效準(zhǔn)確地判斷該碼垛是否錯(cuò)位。其中,判斷是否錯(cuò)位的具體閾值選擇需根據(jù)產(chǎn)線需求和車(chē)間實(shí)際情況而定。目前,該方法已在實(shí)際生產(chǎn)中使用,并能準(zhǔn)確快速識(shí)別出錯(cuò)位碼垛并給出信號(hào)。
本文提出了一種基于視覺(jué)的智能檢測(cè)和閉環(huán)反饋系統(tǒng),同時(shí)提出了一種新的碼垛錯(cuò)位檢測(cè)算法。該系統(tǒng)和方法能高效解決生產(chǎn)過(guò)程中碼垛錯(cuò)位問(wèn)題,滿足生產(chǎn)過(guò)程對(duì)實(shí)時(shí)、快速、高精度的要求,并且已經(jīng)部署在電力實(shí)際生產(chǎn)線系統(tǒng)中。后續(xù)將會(huì)對(duì)如何增加智能裝置來(lái)自動(dòng)調(diào)整碼垛的錯(cuò)位細(xì)節(jié),例如實(shí)現(xiàn)機(jī)器人自主調(diào)整錯(cuò)位擺放進(jìn)行研究和實(shí)踐,以徹底實(shí)現(xiàn)無(wú)人化。