本發(fā)明涉及工業(yè)機器人視覺系統(tǒng)及示教方法,屬于自動化控制技術領域。
背景技術:
現(xiàn)有技術中,工業(yè)機器人視覺識別系統(tǒng)的應用越來越普遍,但是使用者需提前進行復雜、專業(yè)且長時間的軟件編程,要求使用者具備機器視覺方面的專業(yè)知識?,F(xiàn)有的視覺識別系統(tǒng)一般使用特征匹配或模板匹配等傳統(tǒng)算法來實現(xiàn)物體識別。這類算法基本要求純色背景,對光照變化敏感。應用場景基本為純工業(yè)場合,需要人為限制場景復雜程度和光照變化。部署時間長、成本高。如果使用傳統(tǒng)特征匹配法進行識別(如通過識別軸承的內圓來間接識別軸承),需要用戶對關鍵特征進行抽象提取和編程工作,準備時間長。如果使用傳統(tǒng)模板匹配法進行直接識別,在光照出現(xiàn)變化或被測物體上有雜質或劃痕等干擾時,算法準確度會明顯降低,即算法魯棒性差。傳統(tǒng)算法對非剛性物體如人手的識別差強人意。使用傳統(tǒng)機器視覺系統(tǒng)需要機器視覺領域的專業(yè)知識和編程知識。
以往的神經(jīng)網(wǎng)絡網(wǎng)絡類算法訓練比較復雜,需要用戶手工編寫軟件代碼,輸入命令行參數(shù)等。
技術實現(xiàn)要素:
針對現(xiàn)有技術存在的上述不足,本發(fā)明的目的是提供一種工業(yè)機器人的機器視覺示教方法,解決系統(tǒng)復雜,需要用戶編程等問題。
實現(xiàn)上述目的,本發(fā)明采用如下技術方案:一種工業(yè)機器人視覺系統(tǒng),其特征在于,包括攝像頭、視覺控制器、以太網(wǎng)交換機、機器人控制器和機器人示教器;其中,攝像頭為多個,設置于工作場景中的任意固定位置或置于機器人手臂末端隨機械手臂一起移動,視覺控制器和機器人控制器通過以太網(wǎng)交換機由千兆以太網(wǎng)絡進行通信,機器人控制器與機器人示教器連接;
由攝像頭提前拍攝被測對象的圖片并存入視覺控制器,視覺控制器利用用戶標定的對象圖片數(shù)據(jù)集,使用深度學習算法訓練專用神經(jīng)網(wǎng)絡模型;視覺控制器加載訓練好的神經(jīng)網(wǎng)絡模型,實時識別被測對象的在攝像頭回傳圖像中的位置、姿態(tài)和尺寸,并疊加于圖像上顯示出來;用戶在機器人示教器上選擇想要識別的對象的名稱,由機器人控制器實時地從視覺控制器獲知該對象在工作場景中的數(shù)量、位置、姿態(tài)和尺寸等信息。
進一步,本發(fā)明還提出一種工業(yè)機器人視覺系統(tǒng)的示教方法,采用上述工業(yè)機器人視覺系統(tǒng),示教方法包括如下步驟:
1)確認視覺識別的對象,將被識別對象置于工作場景中;
2)改變識別對象在工作場景中的位置和姿態(tài);
3)用場景攝像頭拍攝包含識別對象的圖片存入視覺控制器;
4)用戶在圖像標注界面中,從保存的照片中,在屏幕上逐一框選出同類被測對象,最后為該類被測對象分配一個唯一名稱;
5)視覺控制器利用用戶標定的對象圖片數(shù)據(jù)集,使用深度學習算法訓練其神經(jīng)網(wǎng)絡模型;
6)視覺控制器加載訓練好的神經(jīng)網(wǎng)絡模型,實時識別被測對象在攝像頭回傳圖像中的位置、姿態(tài)和尺寸,并疊加于圖像上顯示出來;
7)在示教器上選擇想要識別的對象的名稱,此時機器人控制器便可從視覺控制器實時地獲知該對象在工作場景中的數(shù)量、位置、姿態(tài)和尺寸等信息;這些信息作為機器人運動路徑的參考依據(jù),或作為機器人邏輯行為的觸發(fā)條件。
進一步,所述步驟2)改變識別對象在工作場景中的位置和姿態(tài),由拖動小臂或使用示教器移動小臂,改變小臂攝像頭的位置和姿態(tài),由不同距離和角度對準識別對象;
步驟3)用場景攝像頭拍攝包含識別對象的圖片存入視覺控制器,用手臂攝像頭拍攝包含識別對象的圖片,存入視覺控制器;
并且重復步驟2)和步驟3)多次,直至充分收集的被測對象各個角度和尺寸圖片。
進一步,使用神經(jīng)網(wǎng)絡和深度學習算法對被測對象的形狀、顏色、邊緣等關鍵特征進行自動提取。
相比現(xiàn)有技術,本發(fā)明具有如下有益效果:
1、視覺系統(tǒng)將視覺采集、標注、訓練和識別系統(tǒng)整合在了一個視覺控制器中,降低了系統(tǒng)復雜度、現(xiàn)場部署難度,用于工業(yè)機器人現(xiàn)場的視覺示教流程,不需要用戶編程。
2、本發(fā)明通過示教而不是編程的方法,便利地為工業(yè)機器人加入視覺識別能力,不需要用戶具備專業(yè)的機器視覺領域知識,降低了為工業(yè)機器人配套的機器視覺產(chǎn)品在物體識別、質量檢測、位置檢測、過程檢測和安全防護等領域的運用難度。
本發(fā)明使用典型的卷積神經(jīng)網(wǎng)絡模型alexnet作為視覺控制器的主要識別算法。選擇神經(jīng)網(wǎng)絡類識別算法的主要優(yōu)勢在于其具有更高的準確性(較傳統(tǒng)高10%以上)、更好的魯棒性(對光照變化不敏感等)。所述神經(jīng)網(wǎng)絡采用alexnet網(wǎng)絡模型;該模型獲得了2012年imagenet圖片識別比賽的冠軍,由多倫多大學的alexkrizhevsky在他的論文《imagenetclassificationwithdeepconvolutionalneuralnetworks》中提出,包含了5個卷積層和3個全連接層,這種結構同時兼顧了準確度和實時性。所述深度學習算法主要使用了隨機梯度下降法,隨機梯度下降法每次迭代從訓練集中隨機選擇一個樣本來進行學習,和普通批量梯度下降法(每次迭代都使用全部樣本來進行學習)相比,其具有運算量小、訓練收斂快的優(yōu)點。該方法可以在較短時間內完成對神經(jīng)網(wǎng)絡模型的訓練收斂。
3、采用本發(fā)明訓練完成后,用戶可立即驗證視覺示教的效果。如果效果不理想,可重復迭代該流程,增加數(shù)據(jù)多樣性以提升效果。本發(fā)明方法將傳統(tǒng)視覺系統(tǒng)對用戶機器視覺專業(yè)知識的要求和對用戶編程經(jīng)驗的要求轉變?yōu)閷?shù)據(jù)多樣性的要求。
4、該方法是一套統(tǒng)一的、標準的、可復制的流程。系統(tǒng)部署時間從數(shù)周縮短至數(shù)小時。
附圖說明
圖1是本發(fā)明工業(yè)機器人視覺系統(tǒng)原理框圖;
圖2是本發(fā)明工業(yè)機器人視覺系統(tǒng)的示教方法流程圖。
具體實施方式
下面結合附圖和具體實施例對本發(fā)明作進一步詳細說明。
參見圖1,一種工業(yè)機器人視覺系統(tǒng),包括攝像頭、視覺控制器、以太網(wǎng)交換機、機器人控制器、機器人示教器;其中,攝像頭為多個,設置于工作場景中的任意固定位置或/置于機器人手臂末端隨機械手臂一起移動,視覺控制器和機器人控制器通過以太網(wǎng)交換機由千兆以太網(wǎng)絡進行通信,機器人控制器與機器人示教器連接。
本發(fā)明工業(yè)機器人視覺系統(tǒng)的工作原理為:由攝像頭識別對象的圖片并存入視覺控制器,視覺控制器利用用戶標定的對象圖片數(shù)據(jù)集,使用深度學習算法訓練其神經(jīng)網(wǎng)絡模型;視覺控制器加載訓練好的神經(jīng)網(wǎng)絡模型,實時識別被測對象的在攝像頭回傳圖像中的位置、姿態(tài)和尺寸,并疊加于圖像上顯示出來;用戶在機器人示教器上選擇想要識別的對象的名稱,由機器人控制器實時地從視覺控制器獲知該對象在工作場景中的數(shù)量、位置、姿態(tài)和尺寸等信息。
參見圖2,工業(yè)機器人視覺系統(tǒng)的示教方法,包括如下步驟:
1)用戶確認視覺識別的對象,將被識別對象置于工作場景中;
2)改變識別對象在工作場景中的位置和姿態(tài);
3)用場景攝像頭拍攝包含識別對象的圖片,存入視覺控制器;
4)用戶在圖像標注界面中,從保存的照片中,在屏幕上逐一框選出同類被測對象,最后為該類被測對象分配一個唯一名稱
5)視覺控制器利用用戶標定的對象圖片數(shù)據(jù)集,使用深度學習算法訓練其神經(jīng)網(wǎng)絡模型;
6)視覺控制器加載訓練好的神經(jīng)網(wǎng)絡模型,實時識別被測對象的在攝像頭回傳圖像中的位置、姿態(tài)和尺寸,并疊加于圖像上顯示出來
7)用戶在示教器上選擇想要識別的對象的名稱,此時機器人控制器便可從視覺控制器實時地獲知該對象在工作場景中的數(shù)量、位置、姿態(tài)和尺寸等信息。這些信息可作為機器人運動路徑的參考依據(jù),或作為機器人邏輯行為的觸發(fā)條件。
其中,步驟2)也可為拖動小臂或使用示教器移動小臂,改變小臂攝像頭的位置和姿態(tài),由不同距離和角度對準識別對象;
步驟3)也可為用手臂攝像頭拍攝包含識別對象的圖片,存入視覺控制器;
并且重復步驟2)和步驟3)多次,直至充分收集的被測對象各個角度和尺寸圖片。
進一步,本發(fā)明使用神經(jīng)網(wǎng)絡和深度學習算法對被測對象關鍵特征如形狀、顏色、邊緣等自動提取。所述神經(jīng)網(wǎng)絡采用采用alexnet網(wǎng)絡模型,該模型獲得了2012年imagenet圖片識別比賽的冠軍,由多倫多大學的alexkrizhevsky在他的論文《imagenetclassificationwithdeepconvolutionalneuralnetworks》中提出,包含了5個卷積層和3個全連接層,這種結構同時兼顧了準確度和實時性。神經(jīng)網(wǎng)絡類算法的識別效果,取決于訓練數(shù)據(jù)的多樣性,同一對象的數(shù)據(jù)變化范圍越大,數(shù)據(jù)越多,效果越好。即要求用戶提供被測對象多角度、多尺度的圖像。
為了滿足識別算法對數(shù)據(jù)多樣性的要求,結合工業(yè)機器人的特點,達到不需要用戶具備專業(yè)機器視覺知識,僅通過示教就可完成視覺識別設置的目的,所述深度學習算法采用了隨機梯度下降法。隨機梯度下降法可以在較短時間內完成對神經(jīng)網(wǎng)絡模型的訓練收斂。隨機梯度下降(stochasticgradientdescent,sgd)是優(yōu)化神經(jīng)網(wǎng)絡最常用的方法,是學術界為解決數(shù)學中隨機和優(yōu)化問題而提出的,屬于梯度下降法的一種。隨機梯度下降法每次迭代從訓練集中隨機選擇一個樣本來進行學習,和普通批量梯度下降法(每次迭代都使用全部樣本來進行學習)相比,其具有運算量小、訓練收斂快的優(yōu)點。使用典型的卷積神經(jīng)網(wǎng)絡模型alexnet作為視覺控制器的主要識別算法。選擇神經(jīng)網(wǎng)絡類識別算法的主要優(yōu)勢在于其具有更高的準確性(較傳統(tǒng)高10%以上)、更好的魯棒性(對光照變化不敏感等)。
本發(fā)明在使用神經(jīng)網(wǎng)絡前必須對其進行針對性地訓練。訓練時,神經(jīng)網(wǎng)絡中的數(shù)據(jù)反向傳播,此時需要使用被識別對象的正確實際圖像作為數(shù)據(jù)的來源。識別時,神經(jīng)網(wǎng)絡正向傳播,此時數(shù)據(jù)來自于攝像頭實時拍攝的畫面。訓練的過程是利用深度學習算法對被測對象關鍵特征如形狀、顏色、邊緣等自動提取的過程。使用深度學習算法的主要原因是其可以自動提取和歸納被測對象的關鍵特征,從而允許用戶進行視覺示教操作而無需編寫專業(yè)機器視覺領域相關的軟件代碼。
如機器人工作現(xiàn)場不適人類長時間滯留(如粉塵較多),用戶可靈活地將視覺控制器帶離,然后離線進行數(shù)據(jù)標注與訓練工作,完成后再部署至現(xiàn)場。用戶也可靈活地通過網(wǎng)絡遠程訪問視覺控制器,完成數(shù)據(jù)收集、標注與訓練工作。
最后說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的宗旨和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。