楊京兆 王莉 陳鑫 杜天赟
(1上海交通大學,上海 200240;2上海市計量測試技術研究院,上海 201203)
機器視覺是通過對所拍攝圖像進行分析處理,得到物體的尺寸、位置、表面特征等信息,以供軟件系統進一步進行數據處理的技術。
目前機器視覺技術已經在許多工業制造領域得到了應用。主要功能有尺寸測量、機械手輔助定位、OCR字符識別、讀碼四大類,相關應用涵蓋汽車制造、生物制藥、航空航天等高精尖產業。
針對不同行業特點,機器視覺軟件需要適應不同工況需求,本軟件主要針對環形器生產過程中的自動檢測。檢測過程主要包括環形器二維碼讀取,機械手抓取定位,環形器pin腳高度尺寸測量,次品剔除四個功能模塊。
基于以上需求,本文設計的環形器檢測軟件系統,通過多相機協同拍攝的方式,對零件進行拍攝取圖,通過對圖像的處理,進行二維碼識別,同時給出環形器的位置角度信息,以供機械手抓取調節,并根據需要對環形器pin腳進行尺寸測量,根據測量結果進行次品篩選。結合本軟件,得以實現環形器檢測的自動化,通過連續3個月的統計,誤判率低于0.01%,測量結果滿足要求,通過進一步優化,軟件處理速度已至毫秒級,與機械手、運動機構協作已做到無縫銜接。
本軟件為單機運行軟件。各工位安裝的工業相機以及執行結果的機械手均通過千兆網線與主機連接,軟件通過相機驅動進行圖像采集,采集成功的圖片按各工位要求進行圖像處理,得出的結果再按特殊協議發送給機械手執行。
本軟件在開發時強調了系統的可用性、可維護性以及穩定性,并對軟件的部署進行了優化處理,使其具備了后期更易升級的特點,為客戶后期的功能升級提供了基礎。
本軟件主要包含以下功能:
1)多相機并行處理功能:實現多相機單獨設置,并行處理。
2)多機械手連接功能:實現機械手與視覺軟件聯動。
3)具備二維碼識別及定位功能:支持4*4mm以上的二維碼識別。
4)具備對來料進行特征點的識別與角度計算功能:根據來料信息計算產品位置信息。
5)具備尺寸測量功能:根據來料進行低于0.5像素分辨率的尺寸測量。
6)具備圖像保存功能:可根據需求保存圖像。
本軟件基于Visual Studio 2010開發環境,采用MFC單文檔框架,采用OPENCV開源算法庫進行開發的具有特色的機器視覺應用系統,本系統主要應用于環形器自動化檢測設備及環形器自動化裝配流水線等。
本軟件的數據輸入為工業相機采集的圖像,經過一系列的圖像處理軟件處理得到結果,將結果輸出給機械手執行,實現對機械手的引導、來料測量篩選等工作。
軟件的關鍵組成如下所示:
1)相機的驅動程序
主要用來連接相機,由于各相機廠商生產的相機都有各自的使用方法,所以在使用相機前需要根據相機廠家提供的SKD軟件包進行相機驅動程序的開發。開發完驅動程序后可實現對相機進行曝光、設置等操作。
2)機械手的驅動程序與傳輸協議
機械手一般通過網絡接口與主機相連,但需要在主機上開發驅動程序,以實現與機械手之間進行命令、數據的相互傳輸。開發完的驅動程序可以將數據以特定格式協議發送給機械手,也可以接收機械手傳達的命令,執行拍攝工作。
3)二維碼識別算法程序
二維碼分為各種不同形式,如QR碼,DM碼等,每一種二維碼根據不同規則進行編碼。對二維碼的識別即是解碼工作,首先需要對二維碼定位,定位完成后需要查找二維碼的特征點或線,然后再執行具體的解碼算法。
4)來料的定位算法程序
本軟件可以對具體的來料按指定特征進行定位,基本處理流程為,首先通過圖像預處理,然后根據模板匹配找到特征區域,進一步對特征區域處理從而得到特征點的位置與角度。
5)PIN腳平面度測量程序
該算法是對來料的PIN腳進行平面度測量,測量的位置為PIN腳的下端面與來料外殼的底面之間的距離。圖像先通過預處理,得到清晰的二值圖,在設定的測量區域,找到PIN腳的下端面值。然后再重新設置參數,找到外殼底面的值。根據這兩個值與標準值進行對比,最后得出結果。
本軟件主要包含工業相機驅動、參數設置、機械手連接配置、二維碼識別參數設置、定位參數設置、平面度測量參數設置、各相機圖像顯示主界面等。
軟件主界面如圖1所示,主要包含5個相機的圖像顯示區域、二維碼的識別結果、機械手的手動控制,以及機械手與相機的狀態等。每個圖像顯示區域上同時顯示對應功能得到的結果和圖像的相關信息。

圖1 主界面
各相機的控制窗口列表框會列出所有已連接的相機,通過點擊可選擇手動連接,且每個相機可與不同工位綁定,以及調整相機的曝光時間參數,直至調整到合適的值。
機械手配置界面可以修改一個4軸機械手和一個6軸機械手的IP地址及端口,也可以設置機械手的連接方式是自動連接或是手動連接。
讀碼相機中主要實現二維碼識別,當環境變化時可通過這個界面調整相機的曝光時間以適應新的環境;同時可以調整二維碼識別的參數,這樣可實現對不同二維碼、不同來料做到最優處理結果。其中包含二值化閾值、形態學處理閾值與次數、特征面積最大值及最小值、二維碼識別的超時時間等。也可以通過單選按鍵選擇二維碼識別或者OCR識別。
定位相機主要用于定位,對3個標準測量位的來料進行定位,所以具備C2-1、C2-1、C2-3三個模塊的標定功能,記錄標準位置的相關值,同時也具備相機像素與實際機械手坐標之間的標定功能。
測量相機主要功能是測量環形器PIN腳與外殼底部的平面度,環形器來料最多有3個PIN腳,所以有3個基臺值的參數需要設置,每一個基臺值對應一個PIN腳,同時具有正負值補償,允許誤差設置。同樣具備圖像處理的基本參數設置,可以通過調整參數完成對圖像的優化處理。
本軟件每一張圖像處理結果都可以保存在以相機名稱命名的文件夾內,以供品質部門查閱。每個相機都單獨保存結果圖像,同時會生成一個總的EXCEL文件記錄所有結果,結果數據與每一張圖像編號一一對應。
基于機器視覺的環形器檢測軟件在環形器自動生產過程中已經不可或缺。結合機械手目前已達到2秒/件,檢測效率數倍于人工30秒/件,為企業節省了大量人工成本。同時通過軟件系統進行測量,數據真實性,穩定性都優于人工。在環形器全檢過程中,又保存了每個樣品的歷史圖片。可以在出現質量問題時通過圖像回溯問題源頭,進一步保障了產品質量。