本發明涉及機器人體感編程方法技術領域,特別涉及一種利用數字圖像處理技術的scara機器人裝配方法。
背景技術:
工業機器人是機電一體化高度集成的產物,作為《中國制造2025》重點發展的十大領域之一,是工業自動化水平和工業4.0的重要標志。工業機器人具有重復精度高、可靠性好、適用性強等優點,廣泛應用于汽車、機械、電子、物流等行業,已被證明是當前最高效的生產工具,需求量不斷攀升。自上世紀60年代初以來,工業機器人經歷了三個階段的發展。第一代是示教再現型工業機器人,只能將操作者告訴它的軌跡、順序、要求等把知識記憶下來,然后根據再現指令讀取這些知識,完成規定任務。第二代工業機器人是感知型工業機器人,通過給工業機器人安裝相關傳感器使其有所感知,對外部信息能進行反饋。第三代工業機器人是智能工業機器人,可對周圍環境、作業條件等做出判斷然后再執行任務。一般由機器視覺作為反饋,通過圖像處理信息引導工業機器人執行任務。
機器視覺是工業機器人的重要研究領域,而目前生產線上多數工業機器人都通過預先示教或者離線編程的方式來控制機器人執行預定的指令動作,一旦工作環境或目標對象發生變化,機器人不能及時適應這些變化,從而導致任務失敗,而且這種工作方式在很大程度上限制了工業機器人的靈活性和工作效率。
技術實現要素:
為了克服上述現有技術的不足,本發明的目的在于提供一種利用數字圖像處理技術的scara機器人裝配方法,對工件進行自動識別和定位,對傳統的機器人固定點抓取方法進行改進,提高機器人對環境的適應能力和生產效率。
為了達到上述目的,本發明采用的技術方案是:
一種利用數字圖像處理技術的scara機器人裝配方法,包括如下步驟:
step1、安裝工業相機,將相機安裝在機器人工作區域的正上方,調整相機的焦距使整個工作區域處在相機的視野范圍內;
采用韓國imitechamazon2系列工業相機,在包含相機類庫的情況下,通過實例化相機句柄類來讀取相機的數據,通過oneframegrab函數來獲取相機的一幀圖像數據并將數據保存,然后利用halcon的讀取函數read_image來讀取保存的數據,得到一幅圖像,從而實現了用halcon在線讀取相機的功能;
step2、進行相機標定主要通過相機對不同方位的標定板進行拍照,使用標定算子完成標定,得到攝像機的參數,由于機器人抓取的工件位于同一平面,所以只對標定板圖像采集一次,用標定板圖像坐標算出標定板在圖像上的長度除以標定板的實際長度,就可以得到相機的外參,即圖像坐標上每個像素在世界坐標系下對應的實際距離m;
step3、工件模板的建立;
首先對標準工件的模板進行拍照,對照片進行處理得到工件的輪廓特征;具體步驟,
第一步,手動選擇roi區域,使用sobel算子對roi區域圖像進行處理可以返回x方向和y方向的像素灰度值,得到粗略的邊緣;
第二步,利用非極大值抑制算法來搜索局部極大值,抑制非極大值元素,從而細化粗略邊緣,非最大抑制算法對粗略邊緣方向的左右像素進行處理,如果當前粗略邊緣的灰度值小于左、右像素灰度值,則抑制當前像素灰度;
第三步,采用雙閾值算法提取和連接邊緣。
將第二步中得到的邊緣繼續進行處理,非極大值抑制算法處理后可能會有少量的非邊緣像素被包含到結果中,所以要通過選取閾值進行取舍;
設置兩個閾值其中一個為高閾值th另外一個為低閾值tl,則有對于任意邊緣像素低于tl的則丟棄,對于任意邊緣像素高于th的則保留,任意邊緣像素值在tl與th之間的,如果能通過在其像素鄰域找到一個像素大于th而且邊緣所有像素大于最小閾值tl的則保留,否則丟棄,最終對邊緣圖像進行保存即可得到標準工件的模板;
step4、模板匹配;
根據step1和step2的步驟對相機采集的工作區域實時圖像收索模板圖像,將工件隨意擺放到工作區域并采集一張圖片,將step3中制作好的標準模板在當前采集圖像上進行滑動和轉動,用相似性度量來算出每塊圖像與模板圖像的相識度,最終當相似值大于0.75時認為匹配到模板,記錄下當前標準模板坐標為匹配到工件的坐標和當前標準模板轉動的角度為匹配到工件的旋轉角度,根據相機標定的結果將圖像坐標轉化為世界坐標,最后將坐標與旋轉角度通過socket通信發送給機器人;
step5、機器人根據接收到的工件坐標和角度數據,移動機器人將工件以固定的姿態放到裝配位置,要保證工件在移動的過程中平穩,并且準確到達裝配位置,首先接收上位機的數據,然后計算抓取位置并抓取工件,最后移動到安裝點,完成工件的安裝。
上位機界面的設計,利用visualstudio的mfc開發完成上位機的設計。上位機可以實時顯示工作區域的情況,監控系統的運行狀態。還可以通過按鈕來控制整個程序的執行與停止,完成人機交互的功能。
本發明的有益效果是:
本發明可以實現機器人對工件的自動識別與定位,從而實現機器人的自動裝配功能,與傳統的固定點抓取系統相比,機器人對環境的適應性大大提高,生產效率極大的提高,若將本發明應用于工業現場的裝配領域,大大提高生產線的效率,為基于機器人的工業自動裝配提出新的解決方案。
附圖說明
圖1為本發明模板匹配的流程圖。
圖2為本發明上位機界面。
具體實施方式
下面結合附圖對本發明作詳細敘述。
如圖1所示:一種利用數字圖像處理技術的scara機器人裝配方法,包括如下步驟:
step1、安裝工業相機,將相機安裝在機器人工作區域的正上方,調整相機的焦距使整個工作區域處在相機的視野范圍內;
采用韓國imitechamazon2系列工業相機,在包含相機類庫的情況下,通過實例化相機句柄類來讀取相機的數據,通過oneframegrab函數來獲取相機的一幀圖像數據并將數據保存,然后利用halcon的讀取函數read_image來讀取保存的數據,得到一幅圖像,從而實現了用halcon在線讀取相機的功能;
step2、進行相機標定主要通過相機對不同方位的標定板進行拍照,使用標定算子完成標定,得到攝像機的參數,由于機器人抓取的工件位于同一平面,所以只對標定板圖像采集一次,用標定板圖像坐標算出標定板在圖像上的長度除以標定板的實際長度,就可以得到相機的外參,即圖像坐標上每個像素在世界坐標系下對應的實際距離m;
step3、工件模板的建立;
首先對標準工件的模板進行拍照,對照片進行處理得到工件的輪廓特征;具體步驟,
第一步,手動選擇roi區域,使用sobel算子對roi區域圖像進行處理可以返回x方向和y方向的像素灰度值,得到粗略的邊緣;
第二步,利用非極大值抑制算法來搜索局部極大值,抑制非極大值元素,可以細化粗略邊緣,非最大抑制算法對粗略邊緣方向的左右像素進行處理,如果當前粗略邊緣的灰度值小于左、右像素灰度值,則抑制當前像素灰度;
第三步,采用雙閾值算法提取和連接邊緣。
將第二步中得到的邊緣繼續進行處理,非極大值抑制算法處理后可能會有少量的非邊緣像素被包含到結果中,所以要通過選取閾值進行取舍;
設置兩個閾值其中一個為高閾值th另外一個為低閾值tl,則有對于任意邊緣像素低于tl的則丟棄,對于任意邊緣像素高于th的則保留,任意邊緣像素值在tl與th之間的,如果能通過在其像素鄰域找到一個像素大于th而且邊緣所有像素大于最小閾值tl的則保留,否則丟棄,最終對邊緣圖像進行保存即可得到標準工件的模板;
step4、模板匹配;
根據step1和step2的步驟對相機采集的工作區域實時圖像收索模板圖像,將工件隨意擺放到工作區域并采集一張圖片,將step3中制作好的標準模板在當前采集圖像上進行滑動和轉動,用相似性度量來算出每塊圖像與模板圖像的相識度,最終當相似值大于0.75時認為匹配到模板,記錄下當前標準模板坐標為匹配到工件的坐標和當前標準模板轉動的角度為匹配到工件的旋轉角度,根據相機標定的結果將圖像坐標轉化為世界坐標,最后將坐標與旋轉角度通過socket通信發送給機器人,如圖1為模板匹配流程圖;
step5、機器人根據接收到的工件坐標和角度數據,移動機器人將工件以固定的姿態放到裝配位置,要保證工件在移動的過程中平穩,并且準確到達裝配位置,首先接收上位機的數據,然后計算抓取位置并抓取工件,最后移動到安裝點,完成工件的安裝。
如圖2所示,上位機界面的設計,利用visualstudio的mfc開發完成上位機的設計。上位機可以實時顯示工作區域的情況,監控系統的運行狀態。還可以通過按鈕來控制整個程序的執行與停止,完成人機交互的功能。
本發明的工作原理:
首先,安裝工業相機,對工作區域的圖像進行實時的采集,然后進行數字圖像處理算法的設計,包括相機標定以及工件的識別和定位。
其次,實現scara機器人的控制,scara機器人與上位機通過以太網進行連接,上位機可將工件的坐標和姿態發送給機器人。然后完成機器人的抓放程序的設計。
最后,利用visualstudio的mfc開發實現上位機的設計,可對工作區域進行監控,可與機器人實時通信以及顯示整個系統的運行狀態。