張浩,陳成軍,潘勇
(青島理工大學(xué)機(jī)械與汽車工程學(xué)院,山東青島 266520)
工業(yè)機(jī)器人在自動(dòng)化生產(chǎn)中具有廣泛的應(yīng)用前景,然而機(jī)器人編程效率已經(jīng)成為影響其生產(chǎn)效率的關(guān)鍵因素之一,因此提高機(jī)器人編程效率已成為工業(yè)機(jī)器人應(yīng)用的關(guān)鍵。演示示教編程是指機(jī)器人理解人類演示行為,并將人類行為映射成機(jī)器人控制命令的過程[1]。
演示示教編程的關(guān)鍵是人類(演示者)如何向機(jī)器人(學(xué)習(xí)者)傳遞相關(guān)的行為信息,即演示方法。按照演示方法,目前演示示教編程主要包括動(dòng)覺教學(xué)[2]、動(dòng)作捕捉[3]和視覺演示編程[4]。視覺演示編程目前主要有基于物體位置變化的演示學(xué)習(xí)[5]、基于動(dòng)作任務(wù)的演示學(xué)習(xí)[6]和基于規(guī)則約束的演示學(xué)習(xí)[7]。
基于動(dòng)作任務(wù)的演示學(xué)習(xí)編程中,如何理解人類行為是國內(nèi)外研究的熱點(diǎn),目前主要方法有視頻字幕任務(wù)[8]。視頻字幕任務(wù)輸出自然語句以描述視頻中發(fā)生的內(nèi)容,同時(shí)可以將輸出的自然語言句子轉(zhuǎn)換為機(jī)器人動(dòng)作指令。NGUYEN等[9]將視頻字幕任務(wù)研究應(yīng)用于機(jī)器人演示示教,設(shè)計(jì)了一個(gè)將人類演示視頻轉(zhuǎn)換為機(jī)器人動(dòng)作命令的框架,該框架由CNN(Convolutional Neural Network)和RNN(Recurrent Neural Network)組成,首先利用CNN提取人類演示視頻中的視覺特征,然后利用RNN輸出機(jī)器人動(dòng)作指令,并在一臺(tái)仿人機(jī)器人上進(jìn)行了各種操作實(shí)驗(yàn),驗(yàn)證了該系統(tǒng)的有效性。然而該方法只關(guān)注RGB視頻中的全局特征(全幀),忽略了局部特征(目標(biāo)物體);其次通過視頻字幕方法將人類演示視頻轉(zhuǎn)換為機(jī)器人連續(xù)控制指令,會(huì)存在部分動(dòng)作視頻幀分類錯(cuò)誤導(dǎo)致控制指令異常的問題。
為實(shí)現(xiàn)全局特征(全幀)和局部特征(目標(biāo)物體)的融合并解決機(jī)器人控制指令異常的問題,本文作者提出基于視覺的工業(yè)機(jī)器人裝配演示示教系統(tǒng),用于機(jī)器人軸孔裝配演示示教。首先,使用MaskRCNN網(wǎng)絡(luò)模型[10]從RGB視頻幀中檢測和分割目標(biāo)物體,輸出物體類別信息和目標(biāo)物體的像素掩碼,并利用均值化方法處理目標(biāo)物體像素掩碼,確定目標(biāo)物體的中心點(diǎn)像素坐標(biāo);通過RGB-D相機(jī)的三維定位原理將中心點(diǎn)像素坐標(biāo)轉(zhuǎn)化為相機(jī)坐標(biāo)系下的三維坐標(biāo)。然后,建立動(dòng)作分類識(shí)別模型提取出演示視頻中的視覺特征并輸出動(dòng)作分類標(biāo)簽(機(jī)器人控制指令);為了消除異常的動(dòng)作分類標(biāo)簽,提出數(shù)據(jù)清洗濾波算法,對動(dòng)作分類標(biāo)簽清洗和整理,得到期望的標(biāo)簽數(shù)據(jù),提高動(dòng)作分類的精度。最后,機(jī)器人根據(jù)動(dòng)作分類標(biāo)簽、中心點(diǎn)坐標(biāo)和物體類別等信息執(zhí)行軸孔裝配演示動(dòng)作。
圖1所示為文中提出的基于視覺的工業(yè)機(jī)器人裝配演示示教系統(tǒng),包括目標(biāo)識(shí)別與中心點(diǎn)定位模塊、裝配動(dòng)作分類識(shí)別模塊、機(jī)器人動(dòng)作執(zhí)行模塊。
圖1 裝配演示示教系統(tǒng)結(jié)構(gòu)示意
目標(biāo)識(shí)別與中心點(diǎn)定位模塊包括實(shí)例分割功能單元、目標(biāo)中心點(diǎn)定位功能單元;裝配動(dòng)作分類識(shí)別模塊包括動(dòng)作識(shí)別單元、動(dòng)作標(biāo)簽清洗單元;動(dòng)作執(zhí)行模塊接收目標(biāo)物體的中心點(diǎn)坐標(biāo)及其物體類別、動(dòng)作分類標(biāo)簽等,規(guī)劃UR5機(jī)器人的路徑動(dòng)作,控制機(jī)器人運(yùn)動(dòng)。文中使用ROS平臺(tái)[11]搭建機(jī)器人動(dòng)作執(zhí)行模塊。
目標(biāo)識(shí)別與中心點(diǎn)定位模塊的功能是從演示視頻幀中識(shí)別定位圓軸、圓孔和機(jī)器人夾爪,為機(jī)器人執(zhí)行軸孔裝配演示任務(wù)提供輸入信息。此研究選用MaskRCNN網(wǎng)絡(luò)模型對RGB視頻幀進(jìn)行實(shí)例分割。MaskRCNN網(wǎng)絡(luò)是基于卷積神經(jīng)網(wǎng)絡(luò)的實(shí)例分割算法,包括目標(biāo)檢測和語義分割2個(gè)模塊。目標(biāo)檢測模塊判斷物體類別,并用檢測框框選出目標(biāo)物體;語義分割模塊分割檢測框中的背景和物體類別,并輸出像素掩碼。隨后對輸出的像素掩碼進(jìn)行均值化處理,定位出圓軸、圓孔和機(jī)器人夾爪的中心點(diǎn)像素坐標(biāo),并通過matplotlib函數(shù)庫[12]標(biāo)記出像素中心點(diǎn),同時(shí)根據(jù)圓軸像素中心點(diǎn)對應(yīng)的深度值z和RGB-D相機(jī)的內(nèi)參計(jì)算圓軸、圓孔和機(jī)器人夾爪在相機(jī)坐標(biāo)系下的實(shí)際中心點(diǎn)坐標(biāo)。
1.1.1 實(shí)例分割功能單元
準(zhǔn)確識(shí)別定位圓軸、圓孔和機(jī)器人夾爪是機(jī)器人演示示教的前提和關(guān)鍵。考慮到實(shí)例分割的精度和實(shí)時(shí)性需求,MaskRCNN網(wǎng)絡(luò)的輸入為RGB-D相機(jī)獲取的RGB視頻幀,圖2(a)為RGB視頻幀中的圓軸、圓孔和機(jī)器人夾爪。圖2(b)為MaskRCNN的輸出結(jié)果,包括每個(gè)預(yù)測的名稱、置信度得分、像素掩碼。
圖2 圓軸、圓孔和機(jī)器人夾爪展示
1.1.2 目標(biāo)中心點(diǎn)定位功能單元
目標(biāo)中心點(diǎn)定位功能單元對輸出的掩碼進(jìn)行均值化處理,計(jì)算出圓軸、圓孔和機(jī)器人夾爪的中心點(diǎn)像素坐標(biāo)。機(jī)器人執(zhí)行裝配模仿動(dòng)作旨在找到一種穩(wěn)定實(shí)現(xiàn)軸孔裝配的方法,文中將軸孔裝配的解決方法定義如下:
g={x,y,o}
(1)
其中:(x,y)為掩碼的中心坐標(biāo);o表示物體類別標(biāo)簽。確定圓軸、圓孔和機(jī)器人夾爪的像素中心點(diǎn)后,通過matplotlib函數(shù)庫標(biāo)記出其中心點(diǎn),并輸出圓軸、圓孔和機(jī)器人夾爪的中心點(diǎn)像素坐標(biāo)Oi(ui,vi)。圖3表示了目標(biāo)物體像素掩碼與中心點(diǎn)定位的表示方法。
圖3 目標(biāo)物體像素掩碼與中心點(diǎn)定位
為了將圓軸、圓孔和機(jī)器人夾爪的中心點(diǎn)像素坐標(biāo)轉(zhuǎn)換為相機(jī)坐標(biāo)系下的三維坐標(biāo),首先需要將目標(biāo)物體的深度圖像和RGB圖像的坐標(biāo)系原點(diǎn)對齊,然后利用RGB-D相機(jī)提供的SDK獲取相機(jī)的內(nèi)參和相機(jī)的光心距離圓軸像素中心點(diǎn)O1(u1,v1)所對應(yīng)的實(shí)際深度值z。根據(jù)RGB-D相機(jī)的三維定位原理,計(jì)算圓軸、圓孔和機(jī)器人夾爪在相機(jī)坐標(biāo)系下的三維坐標(biāo)Pi(xi,yi,zi)。三維定位原理如公式(2)、(3)和圖4所示:
圖4 RGB-D相機(jī)的三維定位原理
(2)
(3)
其中:px和py為相機(jī)視野中心的像素坐標(biāo);fx、fy為相機(jī)的焦距;(0,0)表示相機(jī)坐標(biāo)系x軸和y軸方向的原點(diǎn)坐標(biāo);δt_xy_p[0]、δt_xy_p[1]分別表示檢測物體在圖像中的像素x、y坐標(biāo)值;δt_xy_t[0]、δt_xy_t[1]分別表示檢測物體在相機(jī)坐標(biāo)系下的x、y坐標(biāo)值;ht為實(shí)際深度值。
確定目標(biāo)物體的類別和中心點(diǎn)坐標(biāo)后,需要識(shí)別出人體裝配演示視頻中的動(dòng)作行為信息,進(jìn)行機(jī)器人的裝配演示示教。裝配動(dòng)作分類識(shí)別模塊包括動(dòng)作識(shí)別功能單元和動(dòng)作標(biāo)簽清洗功能單元。動(dòng)作識(shí)別單元提取出裝配演示視頻中視覺特征,結(jié)合視覺特征的時(shí)間序列,識(shí)別并輸出動(dòng)作行為信息。動(dòng)作標(biāo)簽清洗單元檢測并清理動(dòng)作行為信息,得到期望的動(dòng)作行為信息。
1.2.1 動(dòng)作識(shí)別單元
動(dòng)作識(shí)別單元建立了基于深度學(xué)習(xí)網(wǎng)絡(luò)的動(dòng)作分類識(shí)別模型,識(shí)別人體的裝配動(dòng)作,隨后輸出動(dòng)作分類標(biāo)簽命令。與視頻字幕任務(wù)輸出的自然語言形式有所不同,文中使用自制的詞匯語言描述輸出的命令。基于深度學(xué)習(xí)網(wǎng)絡(luò)的人體動(dòng)作識(shí)別流程具體步驟如圖5所示。
圖5 基于深度學(xué)習(xí)網(wǎng)絡(luò)的人體動(dòng)作識(shí)別流程
此研究的人體動(dòng)作分類識(shí)別模型由卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[13]組成。其中CNN網(wǎng)絡(luò)能夠有效提取視頻幀的圖像特征,LSTM網(wǎng)絡(luò)可以編碼視頻幀的圖像特征并依次按照視頻幀的順序解碼。此研究選用ResNet50[14]作為主干網(wǎng)絡(luò),用于提取裝配演示視頻幀的圖像特征,將CNN網(wǎng)絡(luò)提取到的圖像特征輸入到LSTM網(wǎng)絡(luò),LSTM網(wǎng)絡(luò)會(huì)在每個(gè)時(shí)間步長t獲取輸入的圖像特征xt,并計(jì)算隱藏狀態(tài)ht和記憶細(xì)胞狀態(tài)ct,如公式(4)所示:
(4)
其中:⊙表示逐元素乘法;函數(shù)σ是sigmod非線性,而φ是雙曲正切非線性;權(quán)重矩陣Wij和偏差bj是訓(xùn)練參數(shù)。
文中首先使用預(yù)訓(xùn)練的CNN網(wǎng)絡(luò)對裝配演示視頻中的每一幀提取出圖像特征xt,連同前一個(gè)時(shí)間步長的隱藏狀態(tài)ht-1和記憶細(xì)胞狀態(tài)ct-1,一起輸送到LSTM網(wǎng)絡(luò)中進(jìn)行編碼,并計(jì)算出此次時(shí)間步長的隱藏狀態(tài)ht和記憶細(xì)胞狀態(tài)ct,最后解碼視覺特征,以生成相關(guān)的單詞列表,用于輸出命令。即給定輸入的視覺特征序列X={x1,x2,...,xt},計(jì)算隱藏狀態(tài)序列H={h1,h2,...,ht}和記憶細(xì)胞狀態(tài)序列C={c1,c2,...,ct},輸出字序列Z={z1,z2,...,zt}。
動(dòng)作分類識(shí)別模型對裝配演示視頻中人體的動(dòng)作分類識(shí)別,視頻中的每幀將生成相關(guān)的動(dòng)作分類標(biāo)簽,并將動(dòng)作分類標(biāo)簽保存至csv文件中,將輸出的動(dòng)作分類標(biāo)簽發(fā)送至動(dòng)作標(biāo)簽清洗單元。
1.2.2 動(dòng)作標(biāo)簽清洗單元
數(shù)據(jù)清洗可以剔除數(shù)據(jù)中的干擾項(xiàng),將原始數(shù)據(jù)處理為有價(jià)值的數(shù)據(jù)。此研究動(dòng)作識(shí)別單元生成了n個(gè)動(dòng)作分類樣本(其中n是視頻幀數(shù)),由于LSTM網(wǎng)絡(luò)輸出的動(dòng)作分類標(biāo)簽會(huì)存在部分異常,因此查找、剔除并替換異常的動(dòng)作分類標(biāo)簽至關(guān)重要,其直接決定了機(jī)器人執(zhí)行裝配模仿動(dòng)作的準(zhǔn)確性。因此,此研究提出了一種數(shù)據(jù)清洗濾波算法,對裝配動(dòng)作分類標(biāo)簽按照視頻幀的順序清洗和整理,利用統(tǒng)計(jì)分析識(shí)別產(chǎn)生的錯(cuò)誤值或異常值。圖6所示為數(shù)據(jù)清洗濾波算法的原理。
圖6 數(shù)據(jù)清洗濾波算法的原理
標(biāo)簽值按照視頻幀順序排列,此研究選用單位長度為5的清洗濾波窗口,從初始標(biāo)簽值開始依次向下滑動(dòng),每滑動(dòng)一次,分析所框選的清洗濾波窗口內(nèi)部的數(shù)據(jù),清洗濾波窗口內(nèi)部的中間數(shù)據(jù)分別與上方的2個(gè)數(shù)據(jù)和下方的2個(gè)數(shù)據(jù)比較,在這個(gè)區(qū)間內(nèi),利用公式(5)對清洗濾波窗口內(nèi)的5個(gè)標(biāo)簽分析,得到相關(guān)動(dòng)作分類標(biāo)簽數(shù)量的最大值C,ci表示清洗濾波窗口內(nèi)對應(yīng)的動(dòng)作分類標(biāo)簽。
C=max{ci,ci+1,ci+2,ci+3,ci+4}
(5)
圖7所示為數(shù)據(jù)清洗濾波算法的流程,文中僅考慮每個(gè)清洗濾波窗口內(nèi)出現(xiàn)的3種動(dòng)作分類標(biāo)簽(如果產(chǎn)生3種以上的標(biāo)簽,證明網(wǎng)絡(luò)初始生成的動(dòng)作分類標(biāo)簽出現(xiàn)錯(cuò)誤)。(1)如果清洗濾波窗口內(nèi)都是相同的動(dòng)作分類標(biāo)簽,該動(dòng)作的標(biāo)簽數(shù)量則為最大值5,直接提取出相關(guān)的動(dòng)作分類標(biāo)簽;(2)如果清洗濾波窗口內(nèi)產(chǎn)生2個(gè)不同的動(dòng)作分類標(biāo)簽x1、x2,則取對應(yīng)的數(shù)量為最大值的動(dòng)作分類標(biāo)簽;(3)如果清洗濾波窗口內(nèi)產(chǎn)生3種不同的動(dòng)作分類標(biāo)簽x1、x2、x3,如果有1類標(biāo)簽數(shù)量大于另2類標(biāo)簽數(shù)量,即x1>x2>x3,則取對應(yīng)的數(shù)量為最大值的動(dòng)作分類標(biāo)簽x1;如果有2種標(biāo)簽值數(shù)量都達(dá)到同等最大值,即x1=x2>x3,則此次標(biāo)簽值選擇與上方清洗濾波窗口生成的標(biāo)簽值結(jié)果。同時(shí)每個(gè)清洗濾波窗口產(chǎn)生的動(dòng)作分類標(biāo)簽如果連續(xù)相同,則視為相同的動(dòng)作分類,如果不同,則依次按照動(dòng)作分類排序。
圖7 數(shù)據(jù)清洗濾波算法流程
此研究ROS的通信機(jī)制選用話題通信機(jī)制和服務(wù)通信機(jī)制,通過通信機(jī)制機(jī)器人動(dòng)作執(zhí)行模塊與目標(biāo)識(shí)別與中心點(diǎn)定位模塊、裝配動(dòng)作分類識(shí)別模塊實(shí)現(xiàn)信息融合。
在示教系統(tǒng)開始工作時(shí),首先初始化系統(tǒng),RGB-D相機(jī)與目標(biāo)識(shí)別與中心點(diǎn)定位模塊、裝配動(dòng)作分類識(shí)別模塊分別建立聯(lián)系,同時(shí)ROS與UR5機(jī)器人通過TCP/IP協(xié)議建立通信連接,隨后執(zhí)行裝配演示示教動(dòng)作。
如圖8所示,此研究設(shè)計(jì)了3個(gè)功能單元:(1)人體運(yùn)動(dòng)和物體運(yùn)動(dòng)狀態(tài)觀察單元;(2)人體動(dòng)作行為規(guī)劃單元;(3)機(jī)器人動(dòng)作執(zhí)行單元。人體運(yùn)動(dòng)和物體運(yùn)動(dòng)狀態(tài)觀察單元為感知數(shù)據(jù)(見圖8),通過裝配動(dòng)作分類識(shí)別模塊,將人體動(dòng)作狀態(tài)分割為空閑狀態(tài)和人體手臂運(yùn)動(dòng);從物理場景中存在的對象及其屬性獲取2種主要類型的信息:物體靜止?fàn)顟B(tài)和物體運(yùn)動(dòng)狀態(tài)。人體動(dòng)作行為規(guī)劃單元按照動(dòng)作狀態(tài)(空閑狀態(tài)和人體手臂運(yùn)動(dòng))和對象屬性(物體靜止?fàn)顟B(tài)和物體運(yùn)動(dòng)狀態(tài))定義了4類動(dòng)作行為庫,動(dòng)作行為庫用編程語言編寫了此研究所提到的軸孔裝配操作任務(wù)以及一系列常見的機(jī)器人操作任務(wù)(例如抓取物體、推拉物體、旋轉(zhuǎn)物體等)。動(dòng)作行為庫的設(shè)定是后續(xù)如果進(jìn)行更多的人類活動(dòng)任務(wù),只需要將相關(guān)的動(dòng)作分類標(biāo)簽對應(yīng)于動(dòng)作行為庫,因?yàn)榇搜芯克岬降娜祟悇?dòng)作行為(例如抓取孔、將孔移向軸)都是特定且單一的。
圖8 裝配動(dòng)作執(zhí)行框架
動(dòng)作分類標(biāo)簽按照動(dòng)作狀態(tài)和對象屬性進(jìn)行分類(見圖8),然后根據(jù)目標(biāo)識(shí)別與中心點(diǎn)定位模塊輸出的中心點(diǎn)坐標(biāo)和物體類別,結(jié)合動(dòng)作分類標(biāo)簽信息執(zhí)行動(dòng)作行為庫中所對應(yīng)的機(jī)器人操作任務(wù)。隨后MoveIt!進(jìn)行動(dòng)作規(guī)劃,人為設(shè)定規(guī)劃次數(shù)為10,如果規(guī)劃未成功,則重新規(guī)劃。規(guī)劃成功后利用ROS提供的3D可視化工具rviz,通過導(dǎo)入U(xiǎn)R5機(jī)器人的URDF樹形結(jié)構(gòu)模型,可以觀察到機(jī)器人3D模型的運(yùn)動(dòng)狀態(tài)。機(jī)器人的動(dòng)作執(zhí)行單元為機(jī)器人的動(dòng)作執(zhí)行(見圖8),功能模塊MoveIt!把計(jì)算的結(jié)果通過ROS Action的方式發(fā)送給Driver,Driver調(diào)用通信模塊Modbus/TCP的Modbus_write Server節(jié)點(diǎn)發(fā)送各個(gè)控制指令到UR5機(jī)器人控制器,機(jī)器人執(zhí)行與人體裝配動(dòng)作相關(guān)的模仿運(yùn)動(dòng)。
為了驗(yàn)證上述演示示教系統(tǒng)結(jié)構(gòu)的可行性,文中設(shè)計(jì)了圖9所示的演示示教原型系統(tǒng)。該系統(tǒng)包括:配備MHZ2-40D平行氣爪的UR5機(jī)器人、RealSense D435i相機(jī)[15]、相機(jī)支架、計(jì)算機(jī)(CPU:i7-9700、RAM:16 GB、graphics card:RTX2060)、工作臺(tái)、圓軸、圓孔。RealSense相機(jī)固定于工作臺(tái)正前方處,機(jī)器人的整個(gè)工作空間在相機(jī)視野內(nèi)。
圖9 實(shí)驗(yàn)系統(tǒng)
為了獲取目標(biāo)識(shí)別與中心點(diǎn)定位模塊的數(shù)據(jù)集,文中利用RealSense相機(jī)拍攝了300張圓軸、圓孔和機(jī)器人夾爪的RGB圖像,圖像的分辨率為1 280像素×720像素。利用LabelMe軟件標(biāo)注RGB圖像,數(shù)據(jù)集由訓(xùn)練集和驗(yàn)證集兩部分組成。此研究使用TensorFlow1.3開發(fā)框架搭建MaskRCNN網(wǎng)絡(luò)模型,在配備Intel Xeon E5-2630 CPU處理器、以及4個(gè)NVIDIA TITAN Xp GPU的服務(wù)器上進(jìn)行了訓(xùn)練。
圖10所示為訓(xùn)練過程中產(chǎn)生的總損失曲線,MaskRCNN的多任務(wù)損失函數(shù)由分類損失Lclass、回歸框損失Lbbox和mask損失Lmask組成:
圖10 訓(xùn)練過程中的損失變化
L=Lclass+Lbbox+Lmask
(6)
模型共經(jīng)過30個(gè)epoch,在15 個(gè)epoch訓(xùn)練后損失趨于穩(wěn)定。
為了獲取裝配動(dòng)作分類識(shí)別模塊的數(shù)據(jù)集,文中進(jìn)行了數(shù)據(jù)采集:選用RGB-D相機(jī),將相機(jī)固定于圓軸、圓孔正前方70 cm處,錄制100段人體軸孔裝配的動(dòng)作視頻,分辨率為960像素× 544像素。針對軸孔裝配動(dòng)作任務(wù),此研究將人體的動(dòng)作劃分為6種類別,每段動(dòng)作視頻都用人體的6種動(dòng)作類別進(jìn)行注釋,文中使用數(shù)據(jù)集的80%進(jìn)行訓(xùn)練,剩余數(shù)據(jù)集的20%用于測試。動(dòng)作分類識(shí)別模型基于Tensorflow1.15開發(fā)框架,在配備Intel Xeon E5-2630 CPU處理器以及4個(gè)NVIDIA TITAN Xp GPU的服務(wù)器上進(jìn)行了訓(xùn)練,訓(xùn)練時(shí)長為12 h。
為了驗(yàn)證提出的示教系統(tǒng)的可行性,文中開展了實(shí)驗(yàn)研究。操作員通過軸孔裝配動(dòng)作演示視頻對機(jī)器人進(jìn)行示教,驗(yàn)證機(jī)器人動(dòng)作模仿的可行性。
操作者執(zhí)行的軸孔裝配動(dòng)作任務(wù)的視頻圖片如圖11所示,由人類演示一次相關(guān)的軸孔裝配動(dòng)作,然后機(jī)器人執(zhí)行20次模仿軸孔裝配動(dòng)作的實(shí)驗(yàn),實(shí)驗(yàn)的總體成功率達(dá)到了80%,圖12顯示了機(jī)器人執(zhí)行模仿實(shí)驗(yàn)的示例視頻圖片。
圖11 人體執(zhí)行軸孔裝配動(dòng)作任務(wù)的視頻畫面
圖12 機(jī)器人執(zhí)行模仿實(shí)驗(yàn)的示例視頻畫面
文中提出了基于視覺的工業(yè)機(jī)器人裝配演示示教系統(tǒng),利用該系統(tǒng),機(jī)器人通過視覺觀察從人體裝配演示視頻中學(xué)習(xí)機(jī)器人裝配控制指令。該系統(tǒng)包含了3大模塊:目標(biāo)識(shí)別與中心點(diǎn)定位模塊通過MaskRCNN網(wǎng)絡(luò)識(shí)別物體類別和輸出目標(biāo)物體的像素掩碼,利用均值化方法處理目標(biāo)物體像素掩碼,確定目標(biāo)物體的中心點(diǎn)像素坐標(biāo),并通過RGB-D相機(jī)的三維定位原理將中心點(diǎn)像素坐標(biāo)轉(zhuǎn)化為相機(jī)坐標(biāo)系下的三維坐標(biāo);裝配動(dòng)作分類識(shí)別模塊基于CNN和LSTM的動(dòng)作分類識(shí)別模型,識(shí)別人體裝配動(dòng)作視頻中的動(dòng)作行為,輸出描述動(dòng)作行為信息的動(dòng)作分類標(biāo)簽,并通過數(shù)據(jù)清洗濾波算法對動(dòng)作分類標(biāo)簽清洗和整理,獲得期望的動(dòng)作分類標(biāo)簽;機(jī)器人動(dòng)作執(zhí)行模塊根據(jù)物體類別、中心點(diǎn)坐標(biāo)和相關(guān)的動(dòng)作分類標(biāo)簽等信息,規(guī)劃機(jī)器人運(yùn)動(dòng),控制機(jī)器人執(zhí)行裝配任務(wù)。此研究建立實(shí)驗(yàn)系統(tǒng),通過實(shí)驗(yàn)驗(yàn)證了基于視覺的工業(yè)機(jī)器人裝配演示示教系統(tǒng)可以完成軸孔裝配任務(wù)實(shí)現(xiàn)演示示教。