彭煜祺,魏 巍,陳 燈*,2,楊藝晨,張典典,彭 麗
1.智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室(武漢工程大學(xué)),湖北 武漢430205;2.凌云科技集團(tuán)有限公司,湖北 武漢430040;3.湖北廣播電視大學(xué),湖北 武漢430073
隨著中國(guó)制造2025戰(zhàn)略的實(shí)施,工業(yè)機(jī)器人逐步應(yīng)用到我國(guó)制造業(yè)的各個(gè)領(lǐng)域,保有量和銷售量逐年攀升[1]。2018年,我國(guó)工業(yè)機(jī)器人保有量達(dá)57.5萬(wàn)臺(tái),年銷量14萬(wàn)臺(tái),銷售額達(dá)260億元,全球占比33%。以工業(yè)機(jī)器人為核心的自動(dòng)化生產(chǎn)線集成業(yè)務(wù)市場(chǎng)規(guī)模超1 000億元,位列全球第一[2]。工業(yè)機(jī)器人的廣泛應(yīng)用導(dǎo)致安全問(wèn)題頻發(fā)。自1978年日本廣島發(fā)生第一例機(jī)器人突發(fā)故障致人死亡事件[3]以來(lái),美國(guó)、德國(guó)、俄國(guó)皆有此類事件發(fā)生。隨著我國(guó)工業(yè)機(jī)器人保有量的持續(xù)攀升,近年來(lái)機(jī)器人致人傷亡的事件也時(shí)有發(fā)生。由于工業(yè)機(jī)器人具有速度快和力量大的特點(diǎn),其突發(fā)故障輕則造成生產(chǎn)線停工,導(dǎo)致巨大經(jīng)濟(jì)損失,重則導(dǎo)致工人死亡。為此,工業(yè)機(jī)器人的安全檢測(cè)技術(shù)獲得了工業(yè)界和學(xué)術(shù)界的廣泛關(guān)注。
引發(fā)工業(yè)機(jī)器人故障的原因主要有人為因素和機(jī)器人自身故障。人為因素主要包括工人誤操作和意外闖入機(jī)器人作業(yè)區(qū)域等管理問(wèn)題。可通過(guò)規(guī)范操作流程和建立防護(hù)措施來(lái)解決。機(jī)器人自身故障主要由電磁干擾,器件老化,金屬疲勞等原因所致。對(duì)于機(jī)器人自身的故障,目前的檢測(cè)方法主要思路是通過(guò)專用的數(shù)據(jù)采集裝置獲得工業(yè)機(jī)器人的狀態(tài)數(shù)據(jù),然后采用數(shù)據(jù)分析[4]、專家系統(tǒng)、人工神經(jīng)網(wǎng)絡(luò)、模糊數(shù)學(xué)、故障樹等技術(shù)[5-8]進(jìn)行故障檢測(cè)并預(yù)警。這類方法存在以下問(wèn)題:首先,工業(yè)機(jī)器人通信協(xié)議的不統(tǒng)一,要求采用專用的數(shù)據(jù)采集裝置,增加了數(shù)據(jù)采集成本;其次,工業(yè)機(jī)器人故障監(jiān)測(cè)系統(tǒng)通常采用接觸式或者嵌入式,與機(jī)器人本體相連,增加了機(jī)器人系統(tǒng)的復(fù)雜度,甚至?xí)?duì)機(jī)器人本體造成干擾,影響其運(yùn)行的穩(wěn)定性。
本文提出一種基于機(jī)器視覺(jué)的工業(yè)機(jī)器人故障動(dòng)作檢測(cè)方法,對(duì)工業(yè)機(jī)器人作業(yè)視頻進(jìn)行實(shí)時(shí)分析,利用圖像分割[9-10]技術(shù)分離工業(yè)機(jī)器人本體并采用圖像哈希技術(shù)[11-12]生成工業(yè)機(jī)器人姿態(tài)編碼,結(jié)合序列模式分析技術(shù)[13]檢測(cè)工業(yè)機(jī)器人異常動(dòng)作并進(jìn)行預(yù)警。此方法不依賴于工業(yè)機(jī)器人通訊協(xié)議,以非接觸式的方式對(duì)工業(yè)機(jī)器人進(jìn)行實(shí)時(shí)監(jiān)控,具有易于部署和成本低的特點(diǎn)。此外,本方法通過(guò)擴(kuò)展后可用于監(jiān)控場(chǎng)景內(nèi)多臺(tái)工業(yè)機(jī)器人,可進(jìn)一步降低工業(yè)機(jī)器人安全性檢測(cè)的成本。
工業(yè)機(jī)器人故障動(dòng)作檢測(cè)框架,包括機(jī)器人動(dòng)作模式提取階段和機(jī)器人動(dòng)作監(jiān)測(cè)及預(yù)警階段。動(dòng)作模式提取階段對(duì)工業(yè)機(jī)器人周期性作業(yè)視頻圖像進(jìn)行分析,采用圖像分割、機(jī)器人姿態(tài)編碼和動(dòng)作模式提取技術(shù)獲取機(jī)器人的周期性動(dòng)作模式序列。機(jī)器人動(dòng)作監(jiān)測(cè)及預(yù)警階段用于實(shí)時(shí)分析工業(yè)機(jī)器人作業(yè)視頻,采用圖像分割和機(jī)器人姿態(tài)編碼技術(shù)獲取當(dāng)前機(jī)器人的姿態(tài)編碼。機(jī)器人異常姿態(tài)檢測(cè)模塊根據(jù)機(jī)器人動(dòng)作模式序列,采用序列數(shù)據(jù)近似匹配方法評(píng)估當(dāng)前機(jī)器人姿態(tài)的合理性,若姿態(tài)正常則繼續(xù)檢測(cè)下一幀,若異常執(zhí)行急??刂浦噶罹o急制動(dòng)。工業(yè)機(jī)器人故障檢測(cè)框架如圖1所示。
圖1 工業(yè)機(jī)器人故障檢測(cè)框架Fig.1 Industrial robot fault detection framework
為了避免工業(yè)現(xiàn)場(chǎng)復(fù)雜環(huán)境對(duì)工業(yè)機(jī)器人姿態(tài)分析造成干擾,采用圖像分割技術(shù)從工業(yè)機(jī)器人作業(yè)視頻中分離出工業(yè)機(jī)器人本體。各品牌的工業(yè)機(jī)器人表面通常會(huì)噴涂成單一的顏色,主要有藍(lán)色、黃色、紅色等??紤]到工業(yè)機(jī)器人表面與工業(yè)現(xiàn)場(chǎng)顏色的差異,基于工業(yè)機(jī)器人的顏色特征進(jìn)行圖像分割。首先將工業(yè)機(jī)器人作業(yè)圖像從RGB顏色空間轉(zhuǎn)換到HSV顏色空間,然后分析工業(yè)機(jī)器人圖像的顏色值分布區(qū)間,設(shè)定前景色范圍將工業(yè)機(jī)器人本體從圖像中分離出來(lái)。如圖2(a)所示的工業(yè)機(jī)器人仿真焊接圖像,其中包含6軸工業(yè)機(jī)器人和雙軸變位機(jī)。工業(yè)機(jī)器人型號(hào)為安川MA1900,表面為藍(lán)色。由圖可見,工業(yè)機(jī)器人表面顏色與作業(yè)環(huán)境差異明顯,通過(guò)實(shí)驗(yàn)分析,將前景色范圍設(shè)置為HSV:(100,103,46)-(110,255,255)時(shí)能獲得如圖2(b)所示的效果。
圖2 工業(yè)機(jī)器人圖像:(a)分割前,(b)分割后Fig.2 Industrial robot image:(a)before segmentation,(b)after segmentation
為實(shí)現(xiàn)工業(yè)機(jī)器人姿態(tài)高效的計(jì)算和存儲(chǔ),采用圖像哈希[14]技術(shù)對(duì)工業(yè)機(jī)器人姿態(tài)進(jìn)行編碼。圖像哈希是一種圖像降維[15]技術(shù),其可為圖像生成對(duì)應(yīng)的哈希值作為圖像指紋[16]。根據(jù)圖像指紋可完成高效的圖像相似度比較和圖像檢索等任務(wù)。本文采用差異哈希算法[17-20],將分割后獲得的工業(yè)機(jī)器人圖像壓縮為8×8的像素塊彩色矩陣(差異哈希先壓縮成為8×9矩陣,后一列依次減前一列后取絕對(duì)值,得到8×8矩陣),然后將該矩陣灰度化,對(duì)每個(gè)像素塊依次編碼,灰度存在記為1,不存在記為0,遍歷64個(gè)矩陣塊,4個(gè)像素塊的排列組合是24,即每位為十六進(jìn)制,編碼生成的哈希值編碼長(zhǎng)度為16的十六進(jìn)制值作為工業(yè)機(jī)器人的姿態(tài)編碼。工業(yè)機(jī)器人姿態(tài)編碼流程如圖3所示。
圖3 工業(yè)機(jī)器人姿態(tài)編碼流程Fig.3 Working flow of postures encoding of industrial robot
工業(yè)機(jī)器人在作業(yè)過(guò)程中的運(yùn)動(dòng)通常具有周期性。將工業(yè)機(jī)器人一個(gè)周期內(nèi)的姿態(tài)變化序列稱作機(jī)器人的動(dòng)作模式。在經(jīng)過(guò)姿態(tài)編碼后的工業(yè)機(jī)器人動(dòng)作序列P中,機(jī)器人動(dòng)作模式表現(xiàn)為P中最長(zhǎng)重復(fù)子序列,其形式化定義如下:
定義1(工業(yè)機(jī)器人動(dòng)作模式):假設(shè)P:<p1,p2,p3,…,pn>為一個(gè)工業(yè)機(jī)器人動(dòng)作序列,pi,i=1…n為工業(yè)機(jī)器人姿態(tài)的哈希編碼,工業(yè)機(jī)器人的動(dòng)作模 式l≤n,為P的最長(zhǎng)近似重復(fù)子序列。給定任意的最長(zhǎng)近似重復(fù)子序列有?am(p k+j,ps+j)≤δ,0≤j≤l,其中?am(a,b)為機(jī)器人姿態(tài)編碼a和b的漢明距離。其中,漢明距離指對(duì)兩組二進(jìn)制編碼進(jìn)行異或運(yùn)算,統(tǒng)計(jì)結(jié)果為1的個(gè)數(shù),漢明距離作為相較兩個(gè)信息間差異程度,作為一個(gè)衡量相對(duì)程度的無(wú)符號(hào)量。
由于圖像采集的不穩(wěn)定性,兩幅相同姿態(tài)的工業(yè)機(jī)器人圖像也會(huì)存在差異。因此當(dāng)機(jī)器人姿態(tài)a和b的漢明距離小于機(jī)器人姿態(tài)相似度閾值δ時(shí),則認(rèn)為a和b為相同的機(jī)器人姿態(tài)。為了提取機(jī)器人動(dòng)作模式,借鑒字符串算法中最長(zhǎng)重復(fù)子串的求解方法:①構(gòu)建工業(yè)機(jī)器人動(dòng)作序列后綴數(shù)組;②對(duì)數(shù)組中的后綴子序列進(jìn)行排序;③計(jì)算相鄰兩個(gè)后綴子序列的公共前綴,其中最長(zhǎng)的公共前綴即為機(jī)器人動(dòng)作模式。值得注意的是,在進(jìn)行機(jī)器人姿態(tài)編碼比較時(shí),當(dāng)漢明距離小于姿態(tài)相似度閾值δ時(shí)即認(rèn)為機(jī)器人姿態(tài)相等。
基于提取的工業(yè)機(jī)器人動(dòng)作模式,判定工業(yè)機(jī)器人當(dāng)前姿態(tài)是否異常。假設(shè)Pˉ:<p1,p2,…,pn>為工業(yè)機(jī)器人動(dòng)作模式,c和c'分別為當(dāng)前工業(yè)機(jī)器人姿態(tài)編碼和上一幀工業(yè)機(jī)器人姿態(tài)編碼為姿態(tài)c在動(dòng)作模式中的順序號(hào),若c在Pˉ 中存在且滿足則c為正常機(jī)器人姿態(tài),否則c為異常機(jī)器人姿態(tài)。
實(shí)驗(yàn)數(shù)據(jù)集為武漢工程大學(xué)工業(yè)機(jī)器人工程技術(shù)研究中心開發(fā)的榨螺堆焊仿真建模視頻。整個(gè)工作場(chǎng)景包含6軸工業(yè)機(jī)器人和雙軸變位機(jī)。工業(yè)機(jī)器人顏色為藍(lán)色,型號(hào)為安川MA1900,末端執(zhí)行器安裝有弧焊槍,機(jī)器人底座固定于焊臺(tái)上;雙軸變位機(jī)為灰色,可對(duì)固定在上方的榨螺工件進(jìn)行翻轉(zhuǎn)或者360°旋轉(zhuǎn)。變位機(jī)配合工業(yè)機(jī)器人進(jìn)行聯(lián)動(dòng)作業(yè),采用弧焊工藝在榨螺表面焊上一層耐磨金屬,提高榨螺的耐腐蝕性。
為了驗(yàn)證本文方法的有效性,采用視頻剪輯的方法對(duì)上述工業(yè)機(jī)器人一個(gè)周期的工作視頻重復(fù)了20次,并在最后的10個(gè)工作周期中隨機(jī)位置插入了10個(gè)異常動(dòng)作。視頻分辨率1 024×768,總時(shí)長(zhǎng)為45 s,前15 s為10個(gè)正常作業(yè)周期,后30 s包含機(jī)器人異常動(dòng)作。插入的異常動(dòng)作圖像在機(jī)器人正常動(dòng)作圖像的基礎(chǔ)上應(yīng)用隨機(jī)的參數(shù)進(jìn)行旋轉(zhuǎn)和拉伸變換產(chǎn)生。實(shí)驗(yàn)的目的是在數(shù)據(jù)集中提取出工業(yè)機(jī)器人的動(dòng)作模式,并準(zhǔn)確的檢測(cè)出機(jī)器人的異常動(dòng)作。
實(shí)驗(yàn)計(jì)算機(jī)配置如下:
硬件配置:CPU型號(hào)中間需要空格Intel Core i7-8700K CPU,6核心12線程,DDR4代32 GB內(nèi)存,GPU型號(hào)也需要空格Nvidia GeForce GTX1080Ti顯卡(11GB顯存)。
軟件配置:Python3.7,numpy19.3.1,opencvpython4.0.0.21及相關(guān)運(yùn)行庫(kù)等。
實(shí)驗(yàn)以構(gòu)造的工業(yè)機(jī)器人仿真視頻作為數(shù)據(jù)集,采用提出的方法從前10個(gè)工作周期中提取出工業(yè)機(jī)器人動(dòng)作模式,然后基于動(dòng)作模式檢測(cè)后10個(gè)工作周期中機(jī)器人的異常動(dòng)作。統(tǒng)計(jì)異常動(dòng)作檢測(cè)的精確度和召回率,度量本文方法的有效性。實(shí)驗(yàn)過(guò)程中,視頻幀采樣間隔設(shè)置為8(若要提高異常動(dòng)作檢測(cè)的實(shí)時(shí)性可減小視頻幀采樣間隔),機(jī)器人姿態(tài)相似度閾值δ=2。
對(duì)視頻數(shù)據(jù)集前10個(gè)工業(yè)機(jī)器人作業(yè)周期數(shù)據(jù)進(jìn)行采樣分析,應(yīng)用本文的模式提取方法提取出工業(yè)機(jī)器人動(dòng)作模式為:<0000280020000000,0000100020000000,0000502020000000,0020402020000000,0000502020000000,0000100020000000,0000280020000000>,該模式7個(gè)姿態(tài)編碼與圖4工業(yè)機(jī)器人動(dòng)作模式姿態(tài)中的<a,b,c,d,e,f,g>一一對(duì)應(yīng)。
圖4 工業(yè)機(jī)器人動(dòng)作模式姿態(tài)圖像:(a)(-g)分別為動(dòng)作模式序列中的第1幀圖像到第7幀圖像Fig.4 Posture images in sequence of industrial robot action mode:(a)-(g)corresponds to the i th,i=1…7,image in sequence of industrial robot action mode,respectively
應(yīng)用提取的工業(yè)機(jī)器人動(dòng)作模式,對(duì)工業(yè)機(jī)器人后10個(gè)作業(yè)周期的視頻數(shù)據(jù)進(jìn)行異常動(dòng)作檢測(cè),共檢測(cè)到異常動(dòng)作10個(gè),其中第11個(gè)周期包含異常動(dòng)作3個(gè),第13個(gè)周期包含異常動(dòng)作2個(gè),第12,14,15,16,19周期各包含異常動(dòng)作1個(gè),檢測(cè)的精度和召回率均為100%。異常動(dòng)作與動(dòng)作模式的漢明距離(相對(duì)量)最大為7,最小為3,平均為5.4。工業(yè)機(jī)器人的異常動(dòng)作圖像如圖5所示,其中,圖5(a)為應(yīng)用順時(shí)針旋轉(zhuǎn)變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(b)和圖5(c)為應(yīng)用逆時(shí)針旋轉(zhuǎn)變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(d)為應(yīng)用縮放變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(e)為應(yīng)用逆時(shí)針旋轉(zhuǎn)變換和縮放變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(f)和圖5(h)為應(yīng)用順時(shí)針旋轉(zhuǎn)變換和鏡像變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(g)為應(yīng)用逆時(shí)針旋轉(zhuǎn)變換和鏡像變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像,圖5(i)和圖5(j)為應(yīng)用鏡像變換獲得工業(yè)機(jī)器人異常動(dòng)作圖像。
圖5 檢測(cè)出的機(jī)器人異常動(dòng)作圖像,(a)(-j)分別為第1幀到第10幀異常動(dòng)作圖像Fig.5 Detected fault action images of industrial robots,(a)-(j)corresponds to the i th,i=1…10,detected fault action
由實(shí)驗(yàn)結(jié)果可知,在仿真視頻實(shí)驗(yàn)的情況下,利用工業(yè)機(jī)器人動(dòng)作模式提取和匹配,能有效判斷正常狀態(tài)下工業(yè)機(jī)器人工作周期模式和異常狀態(tài)下機(jī)器人的故障姿態(tài)。
采用機(jī)器視覺(jué)技術(shù)對(duì)工業(yè)機(jī)器人進(jìn)行檢測(cè),旨在發(fā)現(xiàn)工業(yè)機(jī)器人的異常動(dòng)作,保證工業(yè)機(jī)器人的作業(yè)安全。方法首先對(duì)工業(yè)機(jī)器人本體進(jìn)行圖像分割,然后利用差異哈希方法對(duì)工業(yè)機(jī)器人姿態(tài)進(jìn)行編碼,從工業(yè)機(jī)器人姿態(tài)編碼序列中提取出周期性的作業(yè)模式,采用漢明距離度量工業(yè)機(jī)器人姿態(tài)的相似性并檢測(cè)異常姿態(tài)。采用工業(yè)機(jī)器人仿真焊接視頻作為數(shù)據(jù)集開展了實(shí)驗(yàn)研究,結(jié)果表明本方法能夠準(zhǔn)確提取出工業(yè)機(jī)器人的動(dòng)作模式并檢測(cè)出異常動(dòng)作,為保障工業(yè)機(jī)器人安全提供了技術(shù)支撐。不依賴于工業(yè)機(jī)器人通訊協(xié)議,以非接觸式的方式對(duì)工業(yè)機(jī)器人進(jìn)行實(shí)時(shí)的姿態(tài)檢測(cè),具有易于部署和成本低廉的特點(diǎn)。為了推動(dòng)將來(lái)在真實(shí)工業(yè)場(chǎng)景中的應(yīng)用,后期將基于真實(shí)機(jī)器視覺(jué)技術(shù)工業(yè)機(jī)器人作業(yè)視頻開展進(jìn)一步實(shí)驗(yàn)研究。