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