袁道香
摘要: Basler相機在 delta 機器人抓放中的應用中,basler 相機作為機器人的眼睛引導機器人快速抓放目標物體。從相機實時拍攝的圖像中通過 PC 中的 DA4 圖像處理軟件能夠識別當前目標物體在機器人坐標系下的坐標、種類、角度信息。由于外部環(huán)境中光照不均勻,造成圖像中的目標物體不一致,首先需對圖像進行預處理,使得相機在識別目標物體中具有較高的魯棒性;其次,通過模板匹配方法查找目標物體;然后,通過模板查找的結(jié)果為整理數(shù)據(jù),按照 twincat 規(guī)定的格式發(fā)送相適應的的數(shù)據(jù);最后,建立 PC 與 twincat 通訊。結(jié)果顯示,能夠快速識別目標物體,并給出坐標、角度、屬性參數(shù),定位精度在 2mm 之內(nèi)。
Abstract: In the application of camera basler in robot delta, the camera act as eyes of robot need to pick and set objects quickly. By using an image processing software DA4, coordinates, types and angles of the object can be distinguished under the robot coordinate system from real-time images of the camera. Due to uneven illumination in the external environment, the object cannot be identified easily in images. Firstly, pre-processing should be taken to make the camera to get a high robustness in the recognition; secondly, by using template matching method, the object can be recognized; then sorting date from the results of the template search and sending the compatible data according to the prescribed format of twincat; finally, establishing a communication between PC and twincat. The results show that the camera can recognize the object quickly, at the same time, the coordinates, angles and attribute parameters can be given, and it is worth mentioning that the positioning accuracy can be controlled within 2mm.
關(guān)鍵詞: basler;相機;相機標定;目標識別;Delta;機器人
Key words: basler;camera;camera calibration;target recognition;Delta;robot
中圖分類號:TP242 文獻標識碼:A 文章編號:1006-4311(2016)32-0156-04
0 引言
在 Delta 機器人快速抓取的運用中,作為機器人的眼睛——相機扮演了重要的角色。運用于Delta機器人中的相機可分為智能相機和普通工業(yè)相機?;赑C的普通工業(yè)相機的開發(fā)周期相對較長,但是成本比智能相機低。智能相機內(nèi)部集成了控制器可獨立運行,同時,它的開發(fā)周期短,不需要編程,但是它的成本比較高。對于圖像處理的軟件有很多,現(xiàn)在比較流行的基于PC的圖像處理軟件有美國Cognex公司的VisionPro,德國Halcon公司的 Halcon,加拿大Matrox公司的MIL等,其中MIL新推出的流程圖控制使得對相機的開發(fā)又不太需要高級語言進行編程縮短了開發(fā)周期,同時它擁有豐富的圖像處理庫。
故本文將基于MIL軟件對相機進行開發(fā),通過分析使得PC能夠正確輸出目標物體的坐標、角度和屬性,指引delta機器人快速抓取運動中的目標物體。
1 系統(tǒng)架構(gòu)
基于普通相機的在Delta中的應用,整個系統(tǒng)的整體框架如圖 1 所示。其中PC與相機通過TCP/IP通訊,PC和控制器和驅(qū)動器之間的通訊遵循 EtherCAT協(xié)議。
本項目采用Balser公司的acA系列產(chǎn)品,型號為 acA1300-30gm。主要參數(shù)如下:分辨率:1280像素×960像素,彩色/黑白:黑白,接口:Gigabit Ethernet千兆網(wǎng)(GigE),曝光控制:可通過軟件觸發(fā)和外部硬件觸發(fā),感光芯片為 CCD,靶面尺寸:1/3 inch。PC 的處理器為:處理器也直接影響圖像分析處理的速度。
對于Delta機器人快速抓取目標物體放到指定位置,精度要求比較高,小于2mm,這就對相機的要求比較高?,F(xiàn)采用的相機為130萬像素,鏡頭為富士能12.5mm的鏡頭,皮帶距離鏡頭的垂直距離為550mm,此環(huán)境下,相機的視野為158mm*149mm,則可以估算出一個像素的代表的實際距離為158/1280=0.123mm<2mm,滿足抓取要求。
為了能夠快速識別移動中的目標物體且縮短開發(fā)時間,采用了Matrox Design Assistant對圖像進行分析,此軟件以流程圖的形式建立工程,基本不需要編寫額外的代碼,同時軟件還提供了HMI操作界面,可根據(jù)實際需要,添加顯示內(nèi)容,如處理時間,凸顯圖像目標,坐標顯示等。此外軟件中包含了相機標定等功能,還有圖像處理的功能,如圖像分割,特征提取,形態(tài)學,模板匹配等,方便開發(fā)。
2 流程編輯
流程編輯之前首先要對相機進行設置。如配置相機的觸發(fā)方式,曝光時間等。此設置可使用Matrox中的 Intellicam進行配置,配置后的文件為Digitizer Configuration File(DCF)文件,由于相機針對移動的目標定位,故文中對相機的配置為:曝光時間0.4ms。
2.1 圖像預處理
在實際情況下,光源因角度的原因造成光分布不均勻,造成同一目標物體在相機視眼范圍內(nèi)不同地方下灰度值不一樣,結(jié)果對后續(xù)模板匹配 (patternmatching)的查找效率有影響,可以利用圖像處理將圖像進行二值化處理,低于設定的閾值為0,高于設定的閾值為255。處理之后的圖像具有更高的對比度,有利于目標定位,節(jié)省時間。通過對比圖2,圖3可以看出處理后,目標與背景的差異明顯優(yōu)于圖2的狀態(tài),有利于目標定位。
2.2 相機標定
相機標定指的是將圖像中的像素坐標映射為機器人坐標系下的坐標,可以用f(.)表示。由于相機中的鏡頭垂直安裝于皮帶平面,根據(jù)相機成像原理,類似于小孔成像原理[1],這樣像平面的坐標同待測平面坐標(世界坐標)的映射為線性關(guān)系,這樣大大簡化了標定過程,如圖 4 所示。
現(xiàn)采用4點標定,將相機的像素坐標和機器人坐標建立映射關(guān)系。假設圖像的像素坐標(ui,vi),對應的機器手坐標設為(xi,yi)其中i表示第i個點,i=1,2…4。這種映射關(guān)系為式(1):
對于標定可采用DA4中的Calibration功能塊,提供了多種標定方法,如scale,listofpoints,listpointsfromarray,Grid。本文選用listofpoints方法,輸入4個圖像的像素坐標和圖像4點對應的機器手坐標,利用該功能塊即可生成標定文件(.mca),將標定文件加載的Camera,即完成了相機的標定。
2.3 目標識別
對于機器視覺引導Delta機器人快速抓放目標物體,需要相機識別目標物體的位置和方向。按目標識別可以分為模板匹配和特征匹配。
模板匹配的方法基于灰度值,將圖像中的每個像素點與模板進行比較,計算量大,比較適合沒有旋轉(zhuǎn)方向或者角度較小的目標物體[2]。
特征匹配法可基于被檢測目標與模板的特征相比較, 比如邊緣、輪廓等特征,充分利用了模板的信息,降低了計算量并且在對外界干擾有一定的魯棒性[3]。
對于模板匹配DA4提供了功能塊Patternmatching,基于特征匹配DA4提供了Modelfinder。雖然查找的原理不同,但使用方法相似。首先定義模板,模板可定義多個,下文將只有一個模板定位為單屬性,將兩個模板定義為雙屬性。之后對模板進行編輯,編輯的內(nèi)容包括定義查找數(shù)量,接受程度,覆蓋程度,修改目標的坐標,定義查找角度范圍,搜索區(qū)域等。具體參數(shù)的意義如下:
查找數(shù)量:在選定的查找區(qū)域內(nèi)查找目標物體的最多數(shù)量,可根據(jù)視野的大小內(nèi)的數(shù)量確定產(chǎn)品的個數(shù)。
接受程度:若查找目標與模板匹配的相似程度,可根據(jù)實際情況下修改此值使得目標物體被查找且沒有錯誤目標為宜。
覆蓋程度:指一個物體被遮擋了一部分仍認為它是目標物體。
修改目標的坐標:定義模板的坐標可能不是要目標中心點,手動修改此值。
角度定位:角度的輸出需和機器人坐標系方向一致, x軸偏向y軸方向為正,否者為負,查找范圍根據(jù)實際情況設定,一般為-180°~180°。若不能滿足情況,可對角度變量進行修改,修改語句如if語句。
搜索區(qū)域:若視野范圍過大,可通過縮小搜索區(qū)域提高效率, 減少查找時間。為了區(qū)別模板匹配和特征查找這兩個模塊的區(qū)別, 進行了多次試驗, 如表 1,表 2 所示。
其中,總處理時間是指程序運行一次的時間。從表 1,表 2 中可以得出第一:patternmatching 處理角度沒有變化時,比如固定 0 度,它的總處理時間明顯小于modelfinder 的處理時間。第二:角度越小,兩個模塊的處理時間都變得更短。第三:對于雜亂無序的目標物體,角度覆蓋 360 °范圍,modelfinder 處理時間比較短。第四:若目標物體只是平移的變化,角度固定或較小的變化,則Patternmatching 的處理時間比較短。
2.4 通訊
相機通過交換機和工控機相連, 將每一次觸發(fā)得到的圖像在工控機中的搭建好圖像軟件進行處理,得到目標物體的坐標和角度等信息需要發(fā)送到 Twincat 系統(tǒng)中,此通訊采用 TCP/IP 協(xié)議。
3 流程圖及 HMI 顯示
設計流程:
①首先建立 PC 與 Twincat 的 TCP/IP 通訊;
②設置相機,觸發(fā)方式為硬件觸發(fā),曝光時間,加載標定文件等;
③圖像預處理,通過閾值處理將圖像處理成二值化圖像,方便后續(xù)模板匹配查找;
④模板匹配,在模板匹配內(nèi)可設置查找數(shù)量,指定被檢測物的接受程度,角度查找范圍,模板的中心等;
⑤數(shù)據(jù)處理, 由于模板查找輸出的值都是整形, 而 TCP/IP 的是字符串通訊,故需要將數(shù)值型轉(zhuǎn)化為字符串。又由于 Twincat 解析數(shù)據(jù)按照一定的位數(shù),故發(fā)送的時候需按固定位數(shù);
⑥判斷通訊是否一直存在,若斷開則重新執(zhí)行程序,這樣操作可以方便。
Twincat 隨時連接。調(diào)試時,可以單步操作,實時監(jiān)測需要確定的變量是否正確,如不正確則需修改參數(shù),比如網(wǎng)絡 IP 地址,相機源圖像的獲取方式等。正確之后,進行下一步調(diào)試。等待程序離線調(diào)好后,可聯(lián)機運行。
3.1 流程圖
設計流程圖如圖5所示。
3.2 HMI 顯示
圖6是聯(lián)機運行的界面,在 DA4 中可以方便的將流程圖中的變量顯示出來,給操作者清晰的認識。右邊顯示的是和兩模板目標匹配的圖形,此查找方法是基于模板邊緣查找,并給出基于邊緣查找目標的坐標。左邊顯示處理時間和發(fā)送的給 Delta 機器人的數(shù)據(jù),數(shù)據(jù)包括每個目標物體屬性位 0 或 1,目標的坐標 x,y,angle 各 7 位屬性。
4 結(jié)論
本文使用 DA4 搭建的系統(tǒng)能夠快速辨別運動中的目標物體的位置和方向,并向機器人發(fā)送正確的數(shù)據(jù),引導機器人快速抓取目標物體。以其中一次實驗為例,圖像處理時間為 88ms,定位精度在 2mm 以下,能夠適應 Delta 機器人快速處理要求。同智能相機比較,能夠達到相同的精度,并且成本降低,適合本系統(tǒng)的運用。
參考文獻:
[1]Steger, C., Ulrich, M.,Wiedemann,C.著.機器視覺算法與應用[M].揚少榮,等譯.北京:清華大學出版社,2008,11.
[2]Nixon,M.S. AGUADO,A.S.著.特征提取與圖像處理[M].李實英,等譯.北京:電子工業(yè)出版社,2010,10.
[3] Matrox Design Assistant 4.0 User Guide.