陳 飛,王 飛,劉 雷
(常熟理工學院 電氣與自動化工程學院,常熟 215500)
基于機器視覺的三維運動裝置定位抓取系統
陳 飛,王 飛,劉 雷
(常熟理工學院 電氣與自動化工程學院,常熟 215500)
將機器視覺技術應用于三維運動裝置定位抓取上,以圓柱體工件為研究對象,設計了基于機器視覺的三維運動裝置,采用“PC+CCD+運動控制卡”的運動控制方式。采用LabVIEW軟件設計監控界面,通過調用庫函數節點向Galil運動控制卡發送命令控制軸的運動,通過固定于Z軸上的相機捕獲工件所在的XY軸位置,通過XY位置補正及Brenner清晰度評價算法準確確定工件XYZ軸位置,繼而對其進行抓取并置于指定位置。實驗證明,所設計的系統能有效地實現定位抓取。
LabVIEW;機器視覺;三維運動;Brenner算法;定位抓取
運動控制是工業自動化應用的重要領域,隨著計算機技術、現代電力電子技術、傳感器技術、機電一體化技術等的迅速發展及強勁市場需求的推動下,運動控制技術得到了前所未有的大發展,應用越來越廣泛。隨著生產線的復雜化,越來越多的技術整合到運動控制系統之中,包括視覺、數據庫等,運動控制在生產線的角色已不再只是控制“運動”,對系統的整合性要求也日益增加[1],基于虛擬儀器技術、基于視覺引導的運動控制方式成為了研究的熱點。
基于機器視覺的三維運動裝置定位抓取系統采用“PC+CCD+運動控制卡”的運動控制方式,實現將上位機和下位機分層控制,PC作為上位機,可對多軸運動的位置、加速度、速度等參數進行設定,完成人機界面管理、信息顯示和預處理;運動控制卡作為下位機,是運動控制的核心,用以接收來自PC機的控制信號并進行實時處理[2]。通過運動控制卡來控制軸運動使相機捕獲到圓柱形工件,通過相機拍攝工件圖片,PC機通過對圖片的處理,得出圓心坐標像素偏移量,經過處理轉化為電機脈沖將偏移量疊加到已計算好的位置數據來確定XY軸運動距離,Z軸通過清晰度函數來確定運動距離。PC機向運動控制卡發送命令,控制各軸的運動抓取工件并置于指定位置。采用“PC+CCD+運動控制卡”的控制方式可充分發揮三者的優勢——PC強大的數據處理能力,相機拍攝的精準性,運動控制卡對電機的精確控制,提高系統的可靠性和精確性[3]。

圖1 系統總體結構圖
本系統的運動控制裝置控制軸數為3軸:X、Y、Z, X、Y、Z向可以單軸單方向運動,也可以實現聯動控制。通過X、Y、Z 三軸配合帶動相機與鏡頭運動精確找到需抓取的圓柱形工件,因該工件為金屬,抓取通過磁鐵來實現。在尋找目標物體時,通過XY軸聯動找到目標物體,然后通過位置補正和圖像清晰度函數對物體進行精確定位。其系統的總體結構如圖1所示,包括(1)三軸運動平臺的控制系統,其硬件主要由工控機、運動控制卡、三軸運動平臺、電源等構成;(2)抓取機構;(3)視覺系統,包括輔助定位的CCD、光源、電源等。
系統選擇的運動控制板卡為GALIL運動控制卡,所用型號為DMC-1842。該卡采用PCI bus總線,可控制4軸[4]。ICM-1900ID是一款專門為DMC-18xx、DMC-9940、DMC-21x2系列的運動控制板卡設計的信號接口板[5]。GALIL運動控制器和ICM-1900ID間用100芯線纜連接。三維運動平臺選用三菱伺服電機,X軸和Y軸選用HF-KN23J-S100,Z軸選用HF-KN23J-S100。伺服驅動器選用的三菱伺服放大器0.2KW MR-JE-20A (用于X軸和Y軸)和0.1KW MR-JE-10A (用于Z軸)。視覺系統中選用的CCD為BASLER工業相機,型號為acA750-30gc,固定于Z軸上。抓取機構采用磁鐵,固定于Z軸上。系統使用PCI-6514卡中的P6.0,P6.2,P6.4來控制XYZ軸伺服電機的開啟,使用數字輸出P6.7來控制磁鐵的ON與OFF。
Galil運動控制卡為每軸準備了專用的前、后極限輸入和原點輸入,在接口板上使用PS2505雙向光耦對輸入進行隔離,并使用74LS07(U7、U8)將信號發送至Galil控制器。在ICM-1900D上XL、YL、ZL分別為X、Y、Z軸的限位輸入,將每軸的限位信號集中在一個5位的接線端子內,從左向右,各引腳依次為:電源-(V-)、前極限輸入(FL)、后極限輸入(RL)、原點輸入(HM)和電源+(V+)。V+/V-為外部輸入的DC電源,可用做限位信號傳感器的電源[4]。
系統軟件設計分為6個獨立的模塊,其系統主界面如圖2所示。登錄模塊:主要對用戶的權限進行限制,輸入不同的用戶名與密碼,用戶所進行的操作權限是不一樣的,起到對于一些重要參數的保護作用;總復位模塊:主要是對系統進行硬件的初始化和軸的回原點;手動測試模塊:如圖3所示該模塊包含了兩部分內容:1)對軸的位置參數進行設置實現手動控制軸的運動;2)對相機功能的測試;相機校驗模塊:該模塊主要是通過XY軸的聯動找到所要抓取的工件,并獲取圓心坐標;自動測試模塊:該模塊是在完成相機校驗后,通過對工件位置偏差的自動補正及圖像清晰度算法使相機的處于最佳拍攝距離時確定的XYZ軸運動位置,實現準確抓取工件,并將工件置于指定位置;退出程序模塊:當系統的所有步驟完成后,用戶想停止運動控制平臺則可以將程序退出。在整個程序設計中采用了單生產者多消費者架構,便于對程序進行維護及系統功能的完善。

圖2 系統主界面

圖3 手動測試程序前面板
手動測試程序主要是系統在自動運行前對軸、相機功能的檢測,其前面板如圖3所示。相機的檢測通過NIIMAQdx選板中的相關函數對打開相機、獲取圖像、保存圖像、關閉相機進行依次檢查。對軸的控制需具備LabVIEW關于調用庫函數相關知識。LabVIEW通過調用庫函數節點(Call Library Function node,簡稱CLN)實現對第三方硬件動態鏈接庫(DLL)和API(應用程序接口)函數的調用。本系統中利用CLN調用Galil運動控制卡DMC-1842的驅動程序。首先在框圖程序中創建一個空的CLN,CLN位于“函數模板→互連接口→庫與可執行程序子模板”,繼而按照文獻[6]的步驟進行相關設定,最后按照功能要求完成程序設計。圖4所示程序框圖實現Z軸相關參數的配置:SP是軸運動的速度,AC是軸在運動之初的加速度,DC是當軸快運動到位時的減速度,而PR是手動時設置所需要的運動長度。將所有的設置參數放在一個數組中,經過For循環與IGalil調用節點的command相連接,再將“BG Z”的指令發給command,即可使Z軸運動到設定位置。同理,X、Y軸的運動到點只需將Z改為X、Y。軸Z的停止是發送“ST Z”指令給IGalil調用節點的command。同理,X、Y軸的運動停止分別發送“ST X”、“ST Y”。命令的使用及含義參見Galil_DMC-18×2使用手冊[4]。
手動測試可以實現對X、Y、Z軸運動的調試,可對其位置、速度、加減速度進行設置,如圖3所示的前面板中X軸的速度為50000計數單位/秒、X軸的位置為50000計數單位。自動運動時需要實際距離,在手動測試中可以通過以下操作將計數單位換算成距離,以X軸為例,可以先手動讓電機停在需要的終點位置,然后在配置中設置絕對位置為0,再通過回原點指令讓電機回到原點,電機停止運動通過TP指令讀出此時X軸的位置即為X軸所運動的距離。但指令中所讀出的距離單位是計數單位,因此需要對讀取的數值進行轉換,讓電機從絕對零點運行10000個計數單位讀出此時的輸出位置“坐標顯示”,得到的比例即為10000/“坐標顯示”,通過多次運動計算和調整即可得出電機需要運動的實際距離與計數單位之間的關系,Y、Z軸同理。

圖4 LabVIEW與Galil運動控制卡交互程序框圖(部分)
相機校驗模塊主要功能是自動調整工作距離,從而確定Z軸到工件需運動的距離,其流程如圖5所示。首先進行相機初始化,繼而控制XY軸聯動找到目標工件,通過相機獲取工件圖片,其次對所獲得的圖片進行處理分析,運用NI IMAQ VISION工具進行ROI提取,從而得到圓的中心像素點坐標,對找到的工件進行XY軸位置的補正。
根據Brenner算法來確定Z軸運動位置,Brenner算法是評價圖像清晰度函數,是以Brenner算子為基礎,只計算相差兩個單元的兩個象素的灰度級差,具有簡捷實用、計算量少等特點[7]。一幅大小為M×N的灰度圖像f(x,y)的Brenner清晰度評價算法的定義為:

由式(1)圖像清晰度評價函數得出每次校驗的Brenner值,再通過比較值的大小,得出最清晰的工件圖片Z的位置,即確定了完成抓取工件Z軸所需運動的距離。

圖5 相機校驗程序流程圖

圖6 自動測試程序流程圖
通過手動測試程序檢查運動平臺及相機是否處于正常工作狀態,相機校驗程序用于工件圓心位置即XY軸坐標和Z軸運動距離的確定。自動測試程序流程圖如圖6所示,首先對相機和軸位置進行初始化,繼而XY軸聯動尋找目標工件(Z軸位于最佳工作距離處),找到工件后進行拍攝并進行處理后獲取圓心,此時圓心并未在參考坐標系正中,因此需計算XY軸需補正的量,計算結束后得到新的X、Y、Z軸需運動的距離,再一次XYZ軸聯動,同時打開磁鐵通道吸取目標工件,運動到放料位釋放工件。
基于機器視覺的三維運動裝置定位抓取系統以“PC機+CCD+運動控制卡”為主要硬件,以LabVIEW作為開發語言,開發效率高,可大大減少開發時間,而且調試比較方便,可以使運動系統的控制更加方便和快捷。以PC機作為上位機,運用LabVIEW進行程序設計實現對軸運動的位置、加速度、速度等參數進行設定,完成人機界面管理、信息顯示和預處理;運動控制卡作為下位機是運動控制的核心,用以接收來自PC機(LabVIEW)的控制命令并進行實時處理,實現運動控制;用CCD相機輔助尋找目標工件,降低了因定位誤差而造成的運動控制系統不能正確完成任務,視覺的引入相當于外部的閉環控制機制,保證運動控制系統能自動補償由于位置變化而帶來的誤差。
[1] 運動控制--未來先進“智能制造”的核心[EB/OL].http://www.robot-china.com/zhuanti/show-1042.html.
[2] 賀昌勇,張厚江,祖漢松.基于虛擬儀器運動控制技術的現狀與發展趨勢[J].林業機械與木工設備,2014, (2):9-12.
[3] 梁永忠.基于LabVIEW的多軸運動控制器應用研究[D].廣東: 廣東工業大學,2010.
[4] Galil_DMC-18×2使用手冊[EB/OL], http://www.power-land.com/download.aspx?nid=46.
[5] ICM-1900ID說明書[EB/OL], http://wenku.baidu.com/link?url=d3ey3pZs9XN_XusSB7PyTLD_Oh4LLdHyEmU1WPS X9PC3RDvLQ4JsGIRoKuTY5S4VuQF16erZE1U0Rt6TQqkvhT zjx9qGULqM_gL40PpZ-Le.
[6] 陳樹學,劉萱編著. LabVIEW寶典[M].北京:電子工業出版社,2011.
[7] 王健,陳洪斌,周國忠,安濤.改進的Brenner圖像清晰度評價算法[J].光子學報,2012,41(7):855-858.
A positioning and grabbing system by three-dimensional motion device based on machine vision
CHEN Fei, WANG Fei, LIU Lei
TP27
:A
:1009-0134(2017)08-0025-04
2017-04-23
陳飛(1978 -),女,浙江鄞縣人,副教授,碩士,研究方向為計算機先進控制技術與先進檢測技術。