陳衛(wèi)國
摘 ?要:機(jī)器視覺技術(shù)在工業(yè)自動(dòng)化領(lǐng)域應(yīng)用廣泛,但機(jī)器視覺硬件成本較高,高校機(jī)器視覺實(shí)驗(yàn)室存在設(shè)備臺(tái)套數(shù)不夠的問題,同時(shí)要找到一種開發(fā)模式,使得機(jī)械類學(xué)生在現(xiàn)有基礎(chǔ)知識(shí)儲(chǔ)備的基礎(chǔ)上,能夠開發(fā)機(jī)器視覺項(xiàng)目。為解決這些問題,該文以物體形狀識(shí)別和尺寸測量兩個(gè)案例,詳細(xì)介紹了康耐視智能相機(jī)In-Sight視覺開發(fā)軟件中Easybuilder和電子表格兩種仿真設(shè)計(jì)方法。使用該方法可以在沒有智能相機(jī)的情況下對視覺算法進(jìn)行研究,緩解了硬件不足的問題,該設(shè)計(jì)方法不需大量編程,效果直觀、可視,應(yīng)用步驟簡明,適合機(jī)械類學(xué)生應(yīng)用。應(yīng)用該方法在SKARB-12型工業(yè)機(jī)器人工作站中完成視覺導(dǎo)引,效果良好。
關(guān)鍵詞:機(jī)器視覺 ?智能相機(jī) ?Easybuilder ?電子表格
中圖分類號(hào):TP18 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ?文章編號(hào):1672-3791(2021)02(a)-0021-04
Design of Machine Vision Simulation
CHEN Weiguo*
(Hunan University of Arts and Sciences, Changde, Hunan Province, 415000 China)
Abstract: Machine vision technology is widely used in the field of industrial automation, but the cost of machine vision hardware is relatively high. The machine vision laboratory of colleges and universities has the problem of insufficient equipment sets. At the same time, it is necessary to find a development mode that enable mechanical students to develop machine vision projects on the basis of existing basic knowledge reserves. To solve these problems, this paper uses two cases of object shape recognition and size measurement to introduce in detail the Easybuilder and spreadsheet simulation design methods in the In-Sight vision development software for Cognex smart cameras. Using this method, the visual algorithm can be researched without a smart camera, and the problem of insufficient hardware is alleviated. The design method does not require a lot of programming, the effect is intuitive and visible, the application steps are simple and it is suitable for mechanical students. This method is used to complete the visual guidance in the SKARB-12 industrial robot workstation with good results.
Key Words:Machine vision;Smart camera;Easybuilder;Spread sheet
機(jī)器視覺在工業(yè)自動(dòng)化生產(chǎn)中得到廣泛應(yīng)用[1],特別是在工業(yè)機(jī)器人應(yīng)用領(lǐng)域[2]。機(jī)器視覺系統(tǒng)成本較高,高校實(shí)驗(yàn)室機(jī)器視覺實(shí)驗(yàn)設(shè)備臺(tái)套數(shù)不夠。同時(shí),對于機(jī)械電子工程專業(yè)學(xué)生,特別是純機(jī)械類的學(xué)生來說,無論是使用halcon進(jìn)行開發(fā)[3],還是采用MATLAB開發(fā)[4],知識(shí)儲(chǔ)備均不夠。本文介紹基于康耐視智能相機(jī)和In-Sight視覺軟件的機(jī)器視覺仿真系統(tǒng)的結(jié)構(gòu),研究在Easybuilder和電子表格兩種編程方式下,形狀識(shí)別、定位及視覺系統(tǒng)與上位機(jī)通信的仿真設(shè)計(jì)方法。
1 ?機(jī)器視覺總體方案設(shè)計(jì)
機(jī)器視覺的解決方案較多[5-6],考慮到機(jī)械類學(xué)生知識(shí)體系的情況,我們選擇的機(jī)器視覺總體方案是:系統(tǒng)由康耐視ISM1403C工業(yè)智能相機(jī),6mm鏡頭,LED白色環(huán)形光源及光源控制器構(gòu)成,完成形狀識(shí)別、給出物體的中心點(diǎn)坐標(biāo)、以太網(wǎng)通信傳給ABB120機(jī)器人信息等功能,相機(jī)觸發(fā)信號(hào)和任務(wù)切換命令由ABB工業(yè)機(jī)器人發(fā)出,相機(jī)通過以太網(wǎng)接收指令。
機(jī)器視覺仿真系統(tǒng)不需要硬件,工業(yè)智能相機(jī)采用In-Sight 8402仿真相機(jī),目的是可以驗(yàn)算更多的算法,使用TCP/UDP SOCKET調(diào)試工具模擬ABB機(jī)器人接收數(shù)據(jù)和發(fā)送指令。
仿真編程使用COGNEX的In-Sight Explorer開發(fā)環(huán)境。下面分別介紹Easybuilder和電子表格兩種仿真設(shè)計(jì)方法。
2 ?Easybuilder形狀識(shí)別仿真設(shè)計(jì)
使用虛擬相機(jī)進(jìn)行仿真時(shí),圖像可以使用工業(yè)相機(jī)抓拍的圖像,也可用畫圖軟件繪制圖片,更具普遍性,我們先繪制800×600,256色圖片,圓形、三角形、長方形、六邊形各畫一張,文件保存在同一文件夾下。Easybuilder設(shè)計(jì)時(shí)按照連接、設(shè)置圖像、定位部件、檢查部件、運(yùn)行作業(yè)等步驟進(jìn)行。
2.1 選擇相機(jī)及加載圖像
2.1.1 選擇相機(jī)
在In-Sight中“系統(tǒng)”—“選項(xiàng)”—“仿真”,勾選仿真器,選擇In-Sight 8402相機(jī)模型,注意第一次使用,需完成注冊。
2.1.2 加載圖像
在應(yīng)用程序步驟中選擇“設(shè)置圖像”—“從PC加載圖像”,選擇“回放”,設(shè)置“回放文件夾”,加載后界面如圖1所示。為調(diào)試方便,設(shè)置觸發(fā)器觸發(fā)方式“手動(dòng)”,其他參數(shù)不變。
2.2 相機(jī)標(biāo)定
相機(jī)標(biāo)定的目的是建立相機(jī)坐標(biāo)系和機(jī)器人坐標(biāo)系的對應(yīng)關(guān)系,按相機(jī)校準(zhǔn)和手眼標(biāo)定兩步進(jìn)行。
2.2.1 相機(jī)校準(zhǔn)
相機(jī)校準(zhǔn)的目的是讓相機(jī)輸出的單位從像素(pixel)變?yōu)閷?shí)際尺寸(mm),具體步驟如下,實(shí)物相機(jī)校準(zhǔn)使用棋盤格,可用9點(diǎn)標(biāo)定法標(biāo)定。
(1)將標(biāo)定的圖拖入到EasyBuilder的圖像顯示區(qū),這里使用康耐視提供的CalibrationImage.bmp;
(2)選擇“校準(zhǔn)類型”—“網(wǎng)格”;
(3)點(diǎn)擊校準(zhǔn);
(4)“設(shè)置”中,“網(wǎng)格類型”選擇“方格圖案帶基準(zhǔn)”,“網(wǎng)格間距”10,“網(wǎng)格單位”mm;
(5)依次完成“姿勢”“結(jié)果”,如圖2所示。
2.2.2 手眼標(biāo)定
手眼標(biāo)定目的是建立相機(jī)坐標(biāo)和機(jī)器人坐標(biāo)的關(guān)系,由于只考慮平面坐標(biāo),因此,在使用“三點(diǎn)法”定義工業(yè)機(jī)器人工件坐標(biāo)系時(shí),選擇棋盤格的坐標(biāo)原點(diǎn)為工件坐標(biāo)系坐標(biāo)原點(diǎn),機(jī)器人工件坐標(biāo)系x、y軸的方向保持與相機(jī)坐標(biāo)系x、y軸的方向一致,這樣相機(jī)坐標(biāo)系與工業(yè)機(jī)器人工件坐標(biāo)系重合。在視覺仿真時(shí),這步可以不考慮。
2.3 定位部件
在Easybuilder中用模板匹配識(shí)別方形、六邊形、三角形和圓等不同形狀物體,在“定位部件”中,選擇“位置工具”的“PatMax圖案”算法,選擇“模型”和“搜索”,在算法的“編輯工具”中修改“工具名稱”,在算法的“設(shè)置”中,修改“合格閾值”為50,在算法的“訓(xùn)練圖像”中點(diǎn)擊“模型區(qū)域”,在圖像中設(shè)置好搜索范圍后,點(diǎn)擊“訓(xùn)練”。
方形、六邊形、三角形和圓要分別進(jìn)行模板匹配,如圖3所示。
2.4 檢查部件
形狀識(shí)別后,需要將識(shí)別結(jié)果發(fā)送給機(jī)器人。這里我們定義發(fā)送字符串,方形物體發(fā)送“方形”,以此類推。
在“檢查部件”中,添加“數(shù)學(xué)邏輯工具”中的“數(shù)學(xué)”,表達(dá)式為:
Choose(MaxI(If(三角形.通過,三角形.定位器.得分,0),If(方形.通過,方形.定位器.得分,0),If(六邊形.通過,六邊形.定位器.得分,0),If(圓形.通過,圓形.定位器.得分,0)),”三角形”,”方形”,”六邊形”,”圓形”)
2.5 通信
智能相機(jī)與機(jī)器人通過以太網(wǎng)通信,采用TCP/IP協(xié)議,通信時(shí)要求智能相機(jī)和機(jī)器人的IP地址在同一網(wǎng)段上。
智能相機(jī)發(fā)送數(shù)據(jù),選擇“通信”,選擇“添加設(shè)備”,“設(shè)備”選其他,協(xié)議選擇“TCP/IP”,點(diǎn)擊“確定”,設(shè)置“端口”為3000,設(shè)置“結(jié)束符”為字符串加回車、換行。
點(diǎn)擊“格式化輸出字符串”,點(diǎn)擊“格式字符串”,“開頭文本”編輯為“當(dāng)前的形狀是:”,點(diǎn)擊“添加”,選擇輸出數(shù)據(jù)為“數(shù)學(xué).結(jié)果”,“輸出字符串”對話框中可以看到輸出信息。
仿真時(shí),用TCP/UDP SOCKET調(diào)試工具模擬機(jī)器人接受智能相機(jī)的輸出結(jié)果,SOCKET需要?jiǎng)?chuàng)建TCP Client,端口號(hào)為3000。智能相機(jī)聯(lián)機(jī)、運(yùn)行作業(yè)后,SOCKET數(shù)據(jù)接受及提示窗口可以看到物體識(shí)別輸出信息。
2.6 子作業(yè)的建立與調(diào)用
智能相機(jī)可以建立子作業(yè),子作業(yè)建立與新建作業(yè)過程相同,文件名保存格式為1-***.job。
子作業(yè)調(diào)用過程是:admin(起始用戶名)、空(起始用戶密碼)、So0(脫機(jī))、Sj1(調(diào)用子作業(yè)1)、So1(聯(lián)機(jī))、Sw8(觸發(fā)信號(hào)),命令依次通過SOCKET的TCP客戶端發(fā)出,端口號(hào)為23。
通過以上8個(gè)步驟,完成了機(jī)器視覺物體形狀識(shí)別功能,從仿真的結(jié)果看,物體形狀識(shí)別正確,通信可靠,至此完成了智能相機(jī)Easybuilder設(shè)計(jì)。
3 ?機(jī)器視覺電子表格仿真設(shè)計(jì)
設(shè)計(jì)案例:測量不同區(qū)域內(nèi)、不同大小的圓的半徑,測量結(jié)果通過以太網(wǎng)傳輸。通過圓半徑測量的設(shè)計(jì),介紹SpreadSheet的設(shè)計(jì)方法。在電子表格設(shè)計(jì)中,將使用到DetectBlobs函數(shù)、FindCircle函數(shù)、FormatString函數(shù)、TCPDevice函數(shù)、WriteDevice函數(shù)。
3.1 初始化
SpreadSheet設(shè)計(jì)初始化部分包含智能相機(jī)選取、圖像導(dǎo)入、新建作業(yè)等,這些與Easybuilder設(shè)計(jì)基本相同,這里不再重復(fù)。
3.2 斑點(diǎn)匹配
在“選擇板”中選取“視覺工具”中的“斑點(diǎn)”,將DetectBlobs函數(shù)拖入電子表格中,點(diǎn)擊“重疊”按鈕,顯示圖像,雙擊“區(qū)域”,設(shè)置物體的尋找范圍,選擇“顏色:斑點(diǎn)”為黑,選擇“顏色:背景”為白,設(shè)置“區(qū)域大小:最小值”為10,點(diǎn)擊確定。
3.3 圓直徑測量
在“選擇板”中選取“視覺工具”中“邊”,將“FindCircle”函數(shù)拖入電子表格,在FindCircle屬性頁中,選擇“固定”,點(diǎn)擊“插入絕對引用”,“行”“列”“角度”選取“DetectBlobs函數(shù)”的“行”“col”“角度”單元格,“極性”選擇黑到白,雙擊“圓環(huán)”,調(diào)整搜索圓和斑點(diǎn)圓的大小,F(xiàn)indCircle屬性頁設(shè)置如圖4所示。
FindCircle函數(shù)設(shè)置完成后,可以看到電子表格中圓的圓心坐標(biāo)。
3.4 通信
通信的目的是將智能相機(jī)測量的半徑數(shù)據(jù)通過以太網(wǎng)傳送出去。
3.4.1 格式化字符串
在“選擇板”中選取“視覺工具”中“文本”,將“字符串”中的“FormatString”函數(shù)拖入電子表格,在FormatString屬性頁中,編輯“開通文本”為圓的半徑,編輯“結(jié)尾文本”為pixel,點(diǎn)擊“添加”,選擇電子表格中變量半徑所在的單元格,輸出結(jié)果在輸出字符串對話框中可見。
3.4.2 添加設(shè)備
在“選擇板”中選取“輸入/輸出”中“網(wǎng)絡(luò)”,將“TCPDevice”函數(shù)拖入電子表格,屬性默認(rèn)。
3.4.3 寫設(shè)備
在“選擇板”中選取“輸入/輸出”中“網(wǎng)絡(luò)”,將“WriteDevice”函數(shù)拖入電子表格其函數(shù)形式為:
WriteDevice ( EVENT , Device , Data1 , [Data2])
其中,各參數(shù)引用的絕對地址為:
(1)EVENT:@image;
(2)Device:@device;
(3)Data1:格式化字符串。
設(shè)置結(jié)果如圖5所示
3.4.4 通信測試
至此,智能相機(jī)電子表格設(shè)計(jì)已完成,Socket在每次圖像切換時(shí),接收信息,在數(shù)據(jù)接收及提示窗口可以看到“圓的半徑xxx pixel”信息。從仿真結(jié)果看,測量結(jié)果正確,通信可靠。注意仿真時(shí),相機(jī)的觸發(fā)方式設(shè)為手動(dòng)。
4 ?結(jié)語
采用Easybuilder和SpreadSheet設(shè)計(jì)方法使用In-Sight智能相機(jī)進(jìn)行機(jī)器視覺開發(fā),可解決了《機(jī)器視覺》課程實(shí)驗(yàn)設(shè)備不足的問題,采用該方法,使得機(jī)械類學(xué)生robcon機(jī)器人大賽、機(jī)械創(chuàng)新大賽、電子設(shè)計(jì)大賽中完成識(shí)別、定位、跟蹤、測量等功能。從SKARB-12型工業(yè)機(jī)器人工作站視覺實(shí)際開發(fā)使用情況看,該方法符合工業(yè)級(jí)項(xiàng)目開發(fā)需要,提高了機(jī)械類學(xué)生的核心競爭力。該機(jī)器視覺仿真設(shè)計(jì)方法在國內(nèi)高校機(jī)械類教學(xué)中,有一定的推廣價(jià)值。
參考文獻(xiàn)
[1] 張衛(wèi)芬,湯文成.基于機(jī)器視覺的物料自動(dòng)分揀系統(tǒng)研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2019(6):34-37.
[2] 黃晶晶,陶衛(wèi)軍,胡洋洋,等.一種基于視覺識(shí)別的按鈕自主操作機(jī)械手[J].南京理工大學(xué)學(xué)報(bào), 2017,41(5):616-622.
[3] 田昊,黃海龍,趙寶水.一種基于HALCON的機(jī)器視覺系統(tǒng)的標(biāo)定方法[J].遼寧工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2020,40(4):211-215,235.
[4] 董靖川,張成君,王一成,等.面向機(jī)器人智能抓取任務(wù)的視覺定位實(shí)驗(yàn)[J].實(shí)驗(yàn)技術(shù)與管理, 2020,37(3):56-59.
[5] 馬建.基于機(jī)器視覺的工件識(shí)別與定位系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計(jì)算技術(shù)研究所),2020.
[6] 李碩.六自由度工業(yè)機(jī)器人視覺定位技術(shù)研究[D].吉林化工學(xué)院,2020.