張會(huì)華
(唐山工業(yè)職業(yè)技術(shù)學(xué)院自動(dòng)化工程學(xué)院 河北省唐山市 063299)
新時(shí)期下,工業(yè)機(jī)器人是機(jī)電一體化產(chǎn)品的典范,在工業(yè)、農(nóng)業(yè)、航空航天等領(lǐng)域內(nèi)均有廣泛應(yīng)用。在機(jī)器人學(xué)、計(jì)算機(jī)及圖像處理技術(shù)等快速發(fā)展的背景下,機(jī)器視覺功能實(shí)現(xiàn)情況得到了廣泛關(guān)注,機(jī)器人視覺系統(tǒng)為一個(gè)重要的研究方向。機(jī)器視覺是工業(yè)機(jī)器人捕獲環(huán)境信息的主要形式,其能顯著提升工業(yè)機(jī)器人的識(shí)別定位及多機(jī)寫作能力,使工業(yè)機(jī)器人工作過程更具靈活性。工業(yè)機(jī)器人基于視覺系統(tǒng)精準(zhǔn)獲得圖像相關(guān)信息,快速計(jì)算出目標(biāo)物體的幾何參數(shù)與位姿,這是機(jī)器視覺在工業(yè)機(jī)器人技術(shù)內(nèi)的主要運(yùn)用形式。
虛擬仿真是上個(gè)世紀(jì)80 年代JaronLamer 首次提出虛擬仿真的概念,其又被叫做“虛擬現(xiàn)實(shí)技術(shù)”,屬于一門綜合性學(xué)科,將人工智能、計(jì)算機(jī)圖形、計(jì)算機(jī)仿真技術(shù)聚集為一體。簡單的說,虛擬仿真就是運(yùn)用計(jì)算機(jī)技術(shù)構(gòu)建虛擬環(huán)境,運(yùn)用模擬的形式科學(xué)調(diào)動(dòng)用戶視覺、嗅覺、觸覺及聽覺等,實(shí)現(xiàn)真正意義上的人機(jī)交互,使用戶有身臨其境的沉浸感。虛擬現(xiàn)實(shí)技術(shù)主要包括如下幾種:
(1)桌面虛擬現(xiàn)實(shí):這類技術(shù)在人們的學(xué)習(xí)、工作領(lǐng)域已經(jīng)有廣泛應(yīng)用,選擇計(jì)算機(jī)桌面作為媒介建立用戶與虛擬世界之間的連接關(guān)系,用戶僅需簡單操作鼠標(biāo)、鍵盤等就能達(dá)到人機(jī)交互。
(2)沉浸式的虛擬現(xiàn)實(shí):多用在體感游戲等娛樂項(xiàng)目內(nèi),用戶利用頭盔、眼鏡等裝置創(chuàng)造一個(gè)封閉式虛擬環(huán)境,采用操控手柄或本體動(dòng)作去實(shí)現(xiàn)人機(jī)交互,以上過程中用戶主觀上能產(chǎn)生較好的沉浸感。
(3)增強(qiáng)現(xiàn)實(shí)型虛擬現(xiàn)實(shí):該種技術(shù)最大的特點(diǎn)是有機(jī)結(jié)合虛擬世界與現(xiàn)實(shí)世界,建設(shè)出半虛擬、半真實(shí)的環(huán)境可以順利、真實(shí)的詮釋現(xiàn)實(shí)世界很難通過常規(guī)方式表達(dá)的信息,進(jìn)而協(xié)助人們更好的處置不同事物之間的復(fù)雜關(guān)系。
(4)分布式虛擬現(xiàn)實(shí):該項(xiàng)技術(shù)運(yùn)用互聯(lián)網(wǎng)把眾多用戶統(tǒng)一至同一個(gè)虛擬情景內(nèi),在該環(huán)境內(nèi)用戶可以協(xié)同執(zhí)行某項(xiàng)任務(wù),有益于提升模擬處理效果。
視覺系統(tǒng)是當(dāng)今社會(huì)中的重要研究領(lǐng)域之一,既往國內(nèi)外專家學(xué)者在大量研究中期許運(yùn)用人工形式模擬出個(gè)體視覺。伴隨相關(guān)研究深度的不斷拓展,機(jī)器視覺得到了較好的發(fā)展,且其于計(jì)算機(jī)仿真情景下成功的實(shí)現(xiàn)了個(gè)體的局部視覺功能。機(jī)器視覺把視頻及圖像數(shù)據(jù)作為原始數(shù)據(jù)開展相應(yīng)的研究工作,提取、解析圖像及視頻信息。攝像機(jī)捕獲圖像過程中,一般會(huì)摻雜各種噪聲與干擾,故而要對(duì)相關(guān)圖像加以處理。圖像處理不僅能增強(qiáng)圖像的實(shí)用信息,優(yōu)化圖像外觀品質(zhì),還能為計(jì)算機(jī)分析創(chuàng)造便利條件。一個(gè)完整的圖像處理過程主要由圖像的預(yù)處理、分割、分析等構(gòu)成。
機(jī)器視覺與機(jī)器人科技之間存在著密切關(guān)聯(lián)性,伴隨機(jī)器視覺應(yīng)用范疇的拓展,工業(yè)機(jī)器人視覺系統(tǒng)被公認(rèn)成機(jī)器人研發(fā)領(lǐng)域的一個(gè)重要趨向,相應(yīng)的研究工作持續(xù)進(jìn)行。目前,機(jī)器視覺用在制造、產(chǎn)品檢測和物流等領(lǐng)域內(nèi)凸顯出極大的現(xiàn)實(shí)價(jià)值,其最大的特點(diǎn)是能在不適合人工作業(yè)或人類視覺很難符合要求的場景下將人類視覺取而代之,提升實(shí)際生產(chǎn)效率及自動(dòng)化水平。
開展本課題研究的宗旨是執(zhí)行好機(jī)器人視覺系統(tǒng)設(shè)計(jì)研發(fā)任務(wù),合理運(yùn)用該系統(tǒng),幫助機(jī)器人順利、有效的發(fā)揮物件自動(dòng)化抓取功能,技術(shù)關(guān)鍵點(diǎn)包括:
(1)攝像機(jī)的標(biāo)定:依照攝像機(jī)標(biāo)定的內(nèi)、外參數(shù)設(shè)定情況計(jì)算出兩個(gè)攝像機(jī)在方位上建立的關(guān)系。
(2)手眼標(biāo)定的精度:主要是運(yùn)算機(jī)器人對(duì)工件設(shè)置的抓取坐標(biāo)。
(3)預(yù)處理圖像及提獲邊界輪廓:在掌握成像過程原理的基礎(chǔ)上,規(guī)范的執(zhí)行圖像預(yù)處理方法的使用過程,專研圖像強(qiáng)化和邊緣輪廓提取各自對(duì)應(yīng)的方法,篩選出適宜的圖像預(yù)處理手段,便于后續(xù)模板匹配的識(shí)別與定位工作。
(4)多目標(biāo)的識(shí)別:實(shí)質(zhì)上就是在數(shù)個(gè)目標(biāo)物體內(nèi)能快速、精準(zhǔn)確定出需要抓取物體所處方位坐標(biāo)。
視覺系統(tǒng)研究中,本課題設(shè)計(jì)了其功能實(shí)現(xiàn)的整體方案,技術(shù)流程見圖1。
圖1: 技術(shù)流程圖
2.2.1 結(jié)構(gòu)的選用
視覺系統(tǒng)作為工業(yè)機(jī)器人使用過程中感知環(huán)境的載體,能輔助增強(qiáng)機(jī)器人的感知及決策能力。結(jié)合運(yùn)行原理的差異,可以對(duì)系統(tǒng)做出不同的分類,結(jié)合攝像機(jī)數(shù)量的差異,可以被分成單目、雙目及多目視覺系統(tǒng);參照現(xiàn)實(shí)需求,安裝攝像機(jī)的方位也有差別,可以把視覺系統(tǒng)分成Eye-in-Hand 式、Eye-to-Hand 式。
本文主要研究的是機(jī)器人對(duì)目標(biāo)物的辨識(shí)與定位抓取功能,綜合多方面因素后決定選用雙目視覺系統(tǒng),現(xiàn)場運(yùn)動(dòng)過程要數(shù)次采集圖像,運(yùn)用Eye-to-Hand 式系統(tǒng)無法實(shí)時(shí)追蹤目標(biāo)物的狀態(tài),易形成視覺盲點(diǎn),且機(jī)器人運(yùn)動(dòng)時(shí)可能會(huì)遮擋攝像機(jī)的局部視覺范疇,以致被采集圖像形成較大的定位偏差,降低機(jī)器人定位抓取的精準(zhǔn)度,故而運(yùn)用 Eye-in-Hand 式手眼系統(tǒng)。
2.2.2 圖像處理軟件
運(yùn)用了Halcon 機(jī)器視覺軟件,提供完整、標(biāo)準(zhǔn)化的Machine Vision 功能。且可以把代碼譯成C++、C#、VisualBasic 的源代碼,達(dá)到了Halcon 與C++、C#等的聯(lián)合式編程,進(jìn)而在其他系統(tǒng)內(nèi)取得更好的集成效果,具備較好的跨平臺(tái)移植性能。
Halcon 機(jī)器視覺軟件對(duì)初學(xué)者表現(xiàn)得很友好,能提供九百多個(gè)算法的例程作參照,協(xié)助他們?cè)谳^短時(shí)間內(nèi)入門,顯著提升了進(jìn)階速度。和其他視覺軟件相比,Halcon 軟件的優(yōu)勢主要集中在如下幾點(diǎn):
(1)快速性:對(duì)算子的自動(dòng)并行化過程提供了穩(wěn)定的支持作用,模板匹配快速,只需零點(diǎn)幾毫秒;
(2)精準(zhǔn)性:在該軟件的協(xié)助下,能顯著提升攝像機(jī)標(biāo)定、三維測量的精準(zhǔn)度;
(3)魯棒性:Halcon 軟件憑借自身強(qiáng)大的功能得以運(yùn)于各個(gè)行業(yè),處理了很多極具挑戰(zhàn)性的問題,例如基于機(jī)器人的智能水果采摘、海底探測等。二維碼辨識(shí)、模板匹配的魯棒性的水平也很高;
(4)綜合性:主要表現(xiàn)在該軟件能對(duì)外提供全面的三維技術(shù),比如多維度立體視覺、三維匹配、透視轉(zhuǎn)換、Depth from focus 等。
3.1.1 圖像的數(shù)字化
為了能運(yùn)用計(jì)算機(jī)進(jìn)行處理,需要運(yùn)用離散化的數(shù)據(jù)結(jié)構(gòu)去表示圖像。數(shù)字化過程主要由采樣與量化兩部分構(gòu)成。運(yùn)用采樣確定出圖像的空間分辨率,量化圖像的幅度分辨率具體值。運(yùn)用矩陣的形式去闡釋數(shù)字圖像,為了使計(jì)算過程更加精簡,處理數(shù)字圖像時(shí)經(jīng)常把灰度圖像轉(zhuǎn)變成二值圖像進(jìn)行處置,通常用鏈碼表二值圖像和圖像邊界的輪廓。
當(dāng)前八方向鏈碼是常用的鏈碼形式,各個(gè)方向是十進(jìn)制的0 ~7,與之相對(duì)應(yīng)的二進(jìn)制編碼是000 ~111(圖2)。
圖2: 八方向鏈碼
3.1.2 圖像像素之間的關(guān)系
(1)像素的鄰域:結(jié)合對(duì)點(diǎn)的鄰近像素定義上的差異,可以獲得不同形式的鄰域,4-鄰域,對(duì)角鄰域與8-鄰域是像素鄰域。受篇幅限制,本文僅對(duì)4-鄰域N4 進(jìn)行分析,其由點(diǎn)p 的水平方向(左、右)和垂直方向(上、下)共計(jì)四個(gè)鄰近像素構(gòu)成,四個(gè)鄰近像素的坐標(biāo)依次是(x-1,y),(x+1,y),(x,y-1),(x,y+1)。運(yùn)用r 表示p 的4 各鄰域像素。
(2)像素的連通性:只有明確兩個(gè)不同像素之間是否形成相鄰關(guān)系及其之間的灰度值是否符合設(shè)計(jì)條件時(shí),方能判斷出兩個(gè)像素是否實(shí)現(xiàn)了連通。4-連接,8-連接與M-連接(混合連接)是常用的連接形式。本文如下對(duì)混合連接開展分析:如果兩像素取值符合r 在N(p)或在N(p)內(nèi),且N(p)∩N(p)是空集時(shí),可以將其叫作M-連接。如圖3 所示,r 在在N(p)內(nèi),N(p)包括標(biāo)是abcd 的四個(gè)像素,N(r)包括標(biāo)對(duì)應(yīng)的是cdef 像素,N(p)∩N(p)包括標(biāo)是cd 像素。嘉定V={1},在圖3(b)內(nèi),N(p)∩N(p)是空集;圖3(c)內(nèi),N(p)∩N(p)是1。
圖3: 混合連接說明圖
頻率域增強(qiáng)采用調(diào)整圖像內(nèi)不同頻率分量的形式去強(qiáng)化圖像。低通濾波方法最大的作用使濾掉噪聲并降低邊緣劇變程度。高通濾波主要用于濾除圖像的低頻分量,進(jìn)而確保圖像的高頻部分能順利通過,這種方法對(duì)圖像能起到較好的銳化作用。帶通濾波準(zhǔn)許某一頻率范疇的信號(hào)通過,對(duì)其他頻率范疇中信號(hào)通行行為起到阻礙作用,如果設(shè)置的頻率上限為無窮時(shí),帶通濾波就會(huì)轉(zhuǎn)變成低通濾波。
(1)基于閾值的分割算法:結(jié)合圖像內(nèi)目標(biāo)和背景灰度值的差異進(jìn)行分割。實(shí)踐中先要確定好一個(gè)閾值,隨后對(duì)比圖像內(nèi)所有像素的灰度值和該閾值,最后達(dá)到分割圖像的目的。
(2)基于邊緣的分割算法:結(jié)合圖像目標(biāo)和背景特性的不同開展分割工作,利用邊緣檢測算子精準(zhǔn)的探尋到圖像邊緣,隨后執(zhí)行分割過程。Robert、Aplacian、Sobel 算子等均是常見的邊緣檢測算子。
(3)基于區(qū)域的分割算法:基本思想是運(yùn)用圖像屬性(灰度、紋理、外形等),篩選出最顯著地屬性,在此基礎(chǔ)上對(duì)圖像做分區(qū)處理,利用該特征分割不同的小區(qū)域。
選擇歐德吉(ODG)工業(yè)機(jī)器人本體作為實(shí)驗(yàn)平臺(tái),型號(hào)JLRB20。安裝攝像機(jī)時(shí),要確保建成的兩個(gè)立體圖像有較大的交疊區(qū),結(jié)合目標(biāo)物體的形態(tài)合理設(shè)計(jì)立體視覺系統(tǒng)的安裝方法。嚴(yán)格按照技術(shù)規(guī)范組裝攝像機(jī),選擇鋁合金型材作為制造材料,在機(jī)器人尾端組裝機(jī)械結(jié)構(gòu),這種設(shè)施較好的滿足了視覺系統(tǒng)內(nèi)對(duì)攝像機(jī)方位及姿態(tài)調(diào)整的需求,且穩(wěn)定性較高。配置運(yùn)用的是Gig E 系列CCD 工業(yè)攝像機(jī),像素200 萬,其分辨率2448*2048,幀率10fps。建議選用景深較大的鏡頭,便于完成對(duì)焦,本文運(yùn)用了兩個(gè)焦距為是8mm,型號(hào) computer 普通鏡頭。
基于Halcon 軟件執(zhí)行視覺處理算法的程序編寫任務(wù),HDevelop 輸出C++代碼,基于Visual Studio2015 程序創(chuàng)立用戶界面。選擇Visual Studio2015 開發(fā)環(huán)境作為開發(fā)平臺(tái),利用其生成MFC 程序界面。
4.3.1 定位抓取實(shí)驗(yàn)平臺(tái)
參照硬件平臺(tái)構(gòu)建及軟件配置的實(shí)際情況,綜合既有實(shí)驗(yàn)條件,建設(shè)出的實(shí)驗(yàn)平臺(tái)見圖4。
圖4: 實(shí)驗(yàn)平臺(tái)
實(shí)驗(yàn)探究中選擇機(jī)器人礎(chǔ)坐標(biāo)系作為參考坐標(biāo)系,掌握工件的像素坐標(biāo)后,將手眼標(biāo)定結(jié)果轉(zhuǎn)變成基坐標(biāo)系下工件的三維數(shù)據(jù),然后控制執(zhí)行器進(jìn)行定位抓取。機(jī)器人對(duì)各目標(biāo)工件的抓取功能的位姿坐標(biāo)見表1。
表1: 機(jī)器人抓取坐標(biāo)
4.3.2 分析目標(biāo)物的定位抓取結(jié)果
運(yùn)用機(jī)器人機(jī)械手選定的目標(biāo)工件分別開展定位抓取實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果見表2。
表2: 工件抓取結(jié)果統(tǒng)計(jì)
分析以上所得實(shí)驗(yàn)結(jié)果,機(jī)器人抓取三種工件的綜合誤差最大為5.52mm。對(duì)于工件的定位誤差情況本課題研究中設(shè)計(jì)了容錯(cuò)性,鑒于工業(yè)領(lǐng)域內(nèi)常用工件幾何特征的的量級(jí)多集中在數(shù)十毫米上下的實(shí)際情況,所以初步認(rèn)為本實(shí)驗(yàn)中形成的誤差量符合設(shè)計(jì)要求。針對(duì)機(jī)器人位姿誤差產(chǎn)生的影響不做分析,此時(shí)定位誤差的成因主要包括:
(1)攝像機(jī)的標(biāo)定誤差:具體是在標(biāo)定處理攝像機(jī)環(huán)節(jié)中,工作人員在適當(dāng)時(shí)機(jī)標(biāo)定結(jié)果,經(jīng)重投影誤差法分析判斷以后認(rèn)定誤差較小,滿足設(shè)計(jì)精度要求。實(shí)驗(yàn)研究張運(yùn)用的鏡性能較好,據(jù)此判斷攝像機(jī)標(biāo)定結(jié)果給定位誤差帶來的影響較小。
(2)模板匹配識(shí)別定位的誤差:視覺系統(tǒng)的左、右攝像機(jī)采集到的圖形信息有差別,那么容易形成辨識(shí)至目標(biāo)工件的幾何外形有差異的情況,直接影響機(jī)器人抓取工件時(shí)定位的精準(zhǔn)性。為規(guī)避以上狀況,本實(shí)驗(yàn)規(guī)劃并使用了改良的模板匹配法,利用其取得的模板匹配效果較好,有助于減少其給工件定位誤差帶來的影響。
總之,機(jī)器人視覺系統(tǒng)能較精準(zhǔn)的獲得目標(biāo)工件的三維立體化位姿坐標(biāo),實(shí)現(xiàn)了在線動(dòng)態(tài)化的定位抓取目標(biāo)工件。在梯度模板匹配算法的協(xié)助下成功匹配工件,針對(duì)處理后所得的坐標(biāo)結(jié)果及時(shí)將其輸入給工業(yè)機(jī)器人,精準(zhǔn)調(diào)控機(jī)械手的動(dòng)作發(fā)生過程,成功抓取物件,在不同類型、多個(gè)目標(biāo)工件抓取及定位領(lǐng)域均體現(xiàn)出良好效能,定位精準(zhǔn)度高,滿足工業(yè)實(shí)際發(fā)展要求,值得推廣。