廖秉旺 林文煜
摘? 要:為了實現多種工件的準確抓取和分類,設計了一款基于Halcon的工件視覺分揀系統。該系統利用標定算法對標定板進行標定,得到相機坐標系與機械臂坐標系間的仿射變換矩陣,利用基于形狀的模板匹配算法對工件進行匹配,結合仿射變換矩陣得到工件的位置坐標。最后將工件坐標與種類信息發送到機械臂控制器,引導機械臂對工件進行抓取與放置。經過多次分揀實驗,結果表明該分揀系統可實現對工件的準確分揀。
關鍵詞:Halcon;視覺分揀;標定;模板匹配
中圖分類號:TP242.62? ? ? 文獻標識碼:A 文章編號:2096-4706(2021)01-0156-03
The Visual Sorting System of Workpiece Based on Halcon
LIAO Bingwang1,LIN Wenyu2
(1.School of Information Engineering,Guangdong University of Technology,Guangzhou? 510006,China;
2.Guangzhou Yourai Intelligent Technology Co.,Ltd.,Guangzhou? 510006,China)
Abstract:In order to grasp and classify many kinds of workpieces accurately,a visual sorting system based on Halcon is designed. The system uses calibration algorithm to calibrate the calibration target,which obtains the affine transformation matrix between the camera coordinate system and the manipulator coordinate system. Then,the template matching algorithm based on shape is adopted to match the workpiece,and the position coordinates of the workpiece are obtained by affine transformation matrix. Finally,the workpiece coordinate and type information are sent to the manipulator controller to guide the manipulator to grasp and place the workpiece. After many sorting experiments,the results show that the sorting system can realize the accurate sorting of the workpiece.
Keywords:Halcon;visual sorting;calibration;template matching
0? 引? 言
隨著智能制造工業4.0概念的提出,工件自動化分揀作為智能制造中的重要一環,其相關技術也在快速發展。傳統工業分揀機器人的分揀作業一般都是通過示教或離線編程實現[1],機器人的抓取方向和運動路徑都是預先設定好的,待分揀工件需擺放在指定位置,否則機器人無法準確抓取工件。將機器視覺技術應用于工件分揀系統,能夠提升工件分揀系統的柔性和效率[2]。Halcon是德國MVtec公司開發的一款機器視覺軟件[3],由一千多個獨立功能的函數和底層數據管理核心組成,內置的函數算子和樣例涵蓋了濾波、形態學處理、分類等功能,可用于快速開發工業視覺項目。本文基于Halcon和Visual Studio 2015進行編程開發,設計并實現了一套工件視覺分揀系統,可以對移動傳送帶上的各種工件進行有效的識別定位與分揀。
1? 工件分揀系統組成
本系統的硬件部分由計算機、圖像采集單元、物料傳送單元和機械臂分揀單元組成。計算機用來連接和管理其他單元;圖像采集單元用來采集標定板圖片和工件圖片;物料傳送單元用來傳輸不同種類的工件,使得工件流經相機的拍照區域和機械臂抓取區域;機械臂分揀單元接收工件的平面坐標信息,抓取待分揀工件并將其放置到指定作業區域。
2? 分揀系統工作流程
整個工件視覺分揀系統的工作流程分為4個模塊,分別是標定模塊、工件特征模板生成模塊、視覺定位模塊和機械臂分揀模塊。標定模塊的作用是獲取圖像坐標系與機械臂坐標系間的仿射變換矩陣;工件特征模板生成模塊的作用是提取不同種類工件的形狀特征,建立一個工件特征庫;視覺定位模塊的作用是建立計算機與機械臂控制器之間的通信連接,調用標定模塊與工件特征模板生成模塊,把得到的工件坐標信息發送給機械臂分揀模塊進行分揀作業。
2.1? 標定模塊
機器視覺系統的標定流程能夠建立起圖像與對應三維世界的轉換關系,標定模塊包含相機標定與手眼標定兩部分[4]。本系統使用的工業相機固定在移動傳送帶上方的工作架上,與機械臂是分開的,構成Eye-to-hand結構,具有較好的運行穩定性和較大的工作視野范圍。
2.1.1? 相機標定
相機鏡頭由于制造裝配工藝上的缺陷存在著畸變問題,鏡頭畸變主要分為枕形畸變和桶形畸變。利用相機標定算法能夠獲得所使用工業相機的參數[5],相機的參數包括畸變系數k,通過畸變系數可以矯正一定程度的鏡頭畸變。
本系統的標定模塊采用型號為HC150_7.5的7×7圓形陣列標定板,標定模塊實現的原理是根據相機初始參數、標定板描述文件和標定板的圖片來尋找標定板圖片上的標志點,進而完成標定,標定結果如表1所示。相機標定的具體步驟為:(1)調用Halcon的create_calib_data創建一個相機標定模型,為該模型設置相機的初始參數和所使用標定板的描述文件。(2)采集和加載15張具有不同位姿的標定板圖片,標定板圖片分別位于相機視野的不同位置,而且圖片中的標定板都在相機視野之內。調用find_calib_object算子尋找圖片中的標定板區域,確定圓心,將結果加載到相機標定模型。(3)調用calibrate_cameras算子求解相機的模型系數。
表1中,f為相機鏡頭焦距,k為所使用的工業相機畸變系數,(Sx,Sy)為相機的像元尺寸,(Cx,Cy)為光軸中心,Err為優化的反投影均方根誤差。
2.1.2? 手眼標定
手眼標定的目的是對工業相機和機械臂的位置關系進行標定,求取相機坐標到機械臂坐標系的轉換關系[6],后續可以根據識別工件圖像得到的像素坐標去引導機械臂抓取工件。
本文所使用的工業相機安裝在機械臂本體外的固定支架上,構成Eye-to-hand結構。手眼標定流程中,將標定板固定在機械臂末端的夾具上,采集標定板圖像與該圖像對應的機械臂位姿信息,之后創建手眼標定模型并將相機參數與標定板對應的機械臂位姿信息設置到標定模型中,利用該手眼標定模型讀取標定板圖片,最后進行手眼標定,得到相機坐標系與機械臂坐標系的轉換關系。
2.2? 工件特征模板生成模塊
工件特征模板生成模塊用于生成不同種類工件的特征模板文件,建立一個工件特征模板庫。系統運行時對采集到的工件圖像進行特征提取,利用提取到的工件特征在模板庫里面進行匹配,根據匹配結果確定工件的種類。
特征提取與模板匹配是機器視覺中的重要一環,目前常用的模板匹配方法有基于灰度值的模板匹配和基于形狀的模板匹配。基于灰度值的模板匹配以圖像的灰度值信息作為特征值進行匹配,但該方法易受周圍光照條件的影響,只有在光照條件穩定的工作環境中才具有良好的匹配準確率;基于形狀的模板匹配以圖像中的目標物體形狀輪廓信息作為特征值進行匹配[7],不易被外界工作環境的光照影響,由于工件分揀系統對分揀工作的穩定性要求較高,故選用基于形狀的模板匹配方法。生成工件特征模板文件的流程分為以下3步:(1)圖像采集與預處理。利用工業相機采集工件圖像,采集的圖像存在一定畸變[8],需對有畸變的圖像進行畸變矯正。調用gen_radial_distortion_map算子生成能夠矯正圖像畸變的映射矩陣,然后調用map_image算子來矯正有畸變的工件圖像,輸出經過畸變矯正的圖像。(2)形狀特征提取。使用Halcon的二值化函數對預處理后的工件圖像進行處理,使用區域生長得到連通域,借助預設的面積參數對圖像的形狀特征進行篩選,裁剪特征明顯的形狀區域,得到該種類工件對應的形狀特征[9]。(3)工件特征模板生成。調用Halcon的create_shape_model算子,輸入工件的形狀特征,設置模板的縮放系數和旋轉角度等參數,生成該種類工件的模板文件,調用write_shape_model算子保存生成的工件模板文件。
2.3? 視覺定位模塊
視覺定位模塊是分揀系統的核心,用來獲取圖片中工件的平面坐標信息,并把對應的坐標信息發送給機械臂進行分揀[10]。該模塊首先發送拍照指令控制相機對傳送帶上的工件進行拍照,調用Halcon的find_shape_model算子判斷拍攝的工件圖像中是否存在與工件特征模板庫中的工件相類似的形狀特征,得到工件的種類信息和工件質心在圖像坐標系下的坐標,結合標定模塊得到的相機坐標系與機械臂坐標系間的轉換仿射矩陣,將圖像坐標系中的工件坐標轉換為機械臂坐標系中的坐標信息,得到工件質心在機器臂坐標系下的坐標信息,最后將該坐標信息發送給機械臂進行分揀。
2.4? 機械臂分揀模塊
機械臂分揀模塊負責接收視覺定位模塊發送來的工件平面坐標和放置區坐標,預先設置好機械臂運動的速度系數和加速度系數,機械臂控制器根據接收到的坐標信息控制機械臂去對應的傳送帶位置上抓取工件,并把工件放置到對應的放置區域。
3? 系統測試
整個工件視覺分揀系統的實物圖如圖1所示,系統由計算機、機械臂、工業相機和傳送帶等組成。本系統采用的工業相機是海康威視MV-CE200-10GM,使用的機械臂型號是KNK4566,機械臂末端用來抓取工件的工具是真空氣動吸嘴,通過外接的空氣壓縮機和電磁閥來產生負壓。
系統運行時,傳送帶運送待分揀工件,相機拍攝傳送帶上的工件照片,然后將所拍攝的圖片經過視覺定位模塊處理,得到待分揀工件的種類信息和坐標信息,將工件的坐標信息連同傳送帶的速度計算出機械臂要抓取的坐標信息,將以上信息發送到機械臂對工件進行抓取和放置,不同種類的工件會被放置到對應的放置區域。
為了驗證本系統的分揀效果,我們采用了如圖2所示的5種工件,每種工件隨機選取40種角度放置在傳輸帶上供系統抓取,共進行了200次分揀實驗。在200次分揀實驗中,系統均能準確抓取并能正確歸類。圖3是傳送帶上的待分揀工件圖,圖4是該分揀系統的分揀效果圖,不同種類的工件被放置到指定的區域。實驗結果表明該系統能很好地完成分揀任務。
4? 結? 論
本文基于Halcon,利用基于形狀的模板匹配和標定技術,結合Visual Studio 2015開發了多種類工件識別定位抓取系統。該系統可以實現實時地對傳送帶上的工件進行識別和抓取,識別精度和分揀速度均可以達到工業分揀生產要求。不過當傳送帶的移動速度較快時,會出現一定程度的漏檢現象,下一步將就如何提高分揀速度做進一步的研究。
參考文獻:
[1] 衛泓宇,劉冠靈,謝愛倍,等.基于單目視覺的智能物料分揀機器人的設計 [J].計算機技術與發展,2020,30(2):98-103.
[2] 張國福,沈洪艷.機器視覺技術在工業檢測中的應用綜述 [J].電子技術與軟件工程,2013(22):111.
[3] 陳為,李澤辰,張婧,等.基于HALCON的工業機器人視覺系統標定方法研究 [J].電子測量技術,2020,43(21):137-141.
[4] 馮亮,謝勁松,李根,等.攝像機標定的原理與方法綜述 [J].機械工程師,2016(1):18-20.
[5] 景國峰.基于計算機視覺的相機標定方法 [J].北京測繪,2021,35(1):122-125.
[6] 黃玲濤,王彬,倪濤,等.基于Kinect的機器人抓取系統研究 [J].農業機械學報,2019,50(1):390-399.
[7] 孫煉杰,樊臻.基于模板匹配的光纖收發PCB板目標檢測 [J].計算機應用與軟件,2018,35(1):128-131+190.
[8] 李佳瑩,郭斌,江文松,等.基于共線性的機械臂視覺系統畸變矯正 [J].組合機床與自動化加工技術,2020(12):121-124.
[9] 王江輝,吳小俊.基于形狀輪廓特征的金字塔匹配算法 [J].計算機工程與應用,2019,55(1):191-195.
[10] 劉建春,黃勇杰,黃海濱,等.大尺寸工件細小孔視覺定位研究 [J].組合機床與自動化加工技術,2018(1):98-101.
作者簡介:廖秉旺(1996—),男,漢族,廣東湛江人,碩士研究生在讀,研究方向:機器視覺、視覺定位;林文煜(1990—),男,漢族,廣東潮州人,工程師,碩士,研究方向:圖像檢索與大數據技術。