劉子豪,樊留群,張 昱,劉 放
(1. 同濟(jì)大學(xué) 中德學(xué)院,上海 201804;2. 沈陽(yáng)機(jī)床上海研究院,上海 200433)
機(jī)器人視覺(jué)廣泛應(yīng)用于工業(yè)領(lǐng)域,主要集中在電子行業(yè)、半導(dǎo)體行業(yè)、航天、測(cè)量等行業(yè),并取得了很多成就。目前單目視覺(jué)方面已經(jīng)發(fā)展相當(dāng)成熟,在許多工業(yè)生產(chǎn)線上都早已投入實(shí)際使用。主要應(yīng)用有諸如破損檢測(cè)、條形碼讀取等。
由于單目視覺(jué)的二維局限性,雙目視覺(jué)已經(jīng)逐漸成為機(jī)器人視覺(jué)的熱點(diǎn)領(lǐng)域。其研究在國(guó)外起步較早,麻省理工學(xué)院計(jì)算機(jī)系的研究者們[1]提出了一種基于雙目幀圖像和運(yùn)動(dòng)融合的目標(biāo)深度探測(cè)系統(tǒng),能夠充分利用雙目立體視覺(jué)傳感器產(chǎn)生的目標(biāo)深度信息,對(duì)高速運(yùn)動(dòng)的目標(biāo)進(jìn)行分割,實(shí)時(shí)性較好[2]。希臘的Sotiris Malassiotis 和Michael G.Strinzis[3]利用已有的模板研究柔性制造生產(chǎn)線上的三維孔的在線監(jiān)測(cè)問(wèn)題,研究出了機(jī)器人的視覺(jué)定位系統(tǒng),達(dá)到了要求的精度,實(shí)現(xiàn)了較好的在線監(jiān)測(cè)效果[4]。
國(guó)內(nèi)方面,雖然我國(guó)機(jī)器人技術(shù)較于國(guó)外起步較晚,但是發(fā)展速度較快。王士峰將機(jī)器視覺(jué)應(yīng)用到車(chē)輪的檢測(cè)中,建立了基于機(jī)器視覺(jué)的車(chē)輪圖像處理與分析系統(tǒng),為機(jī)器視覺(jué)識(shí)別車(chē)輪打下了基礎(chǔ)[5]。中國(guó)科學(xué)院自動(dòng)化研究所也在對(duì)基于高速視覺(jué)的機(jī)器人打乒乓球、基于視覺(jué)的焊縫跟蹤、服務(wù)機(jī)器人的視覺(jué)定位、顯微視覺(jué)下的精密裝配等方面的問(wèn)題進(jìn)行研究。
以上研究均證明了雙目視覺(jué)在機(jī)器人視覺(jué)應(yīng)用的可行性,但所使用的雙目攝像機(jī)實(shí)際上是兩臺(tái)單獨(dú)單目相機(jī)的組合,因此需要進(jìn)行相機(jī)內(nèi)外參數(shù)的設(shè)定以及相機(jī)標(biāo)定等精度要求高的準(zhǔn)備工作,加大了整個(gè)系統(tǒng)開(kāi)發(fā)的難度。本課題通過(guò)使用在出廠時(shí)就已嚴(yán)格標(biāo)定好的雙目相機(jī)作為圖像獲取和處理的工具,大大簡(jiǎn)化了這方面的準(zhǔn)備工作并保證了采集精度,通過(guò)基于顏色的辨識(shí)方式,結(jié)合對(duì)Triclops SDK、PC SDK 的二次開(kāi)發(fā),以ABB機(jī)器人控制軟件Robotstudio 作為后臺(tái)程序,實(shí)現(xiàn)了從相機(jī)到PC,從PC 到機(jī)器人互聯(lián)的控制系統(tǒng),并通過(guò)研究以公共點(diǎn)為基礎(chǔ)的七參數(shù)法,采用標(biāo)定件的方式實(shí)現(xiàn)了相機(jī)-機(jī)器人坐標(biāo)系的標(biāo)定,該標(biāo)定方法受人為因素影響較小,精度較高,最后通過(guò)實(shí)驗(yàn)總結(jié)公共點(diǎn)選取的結(jié)論,表明了系統(tǒng)的可行性及有效性。
為了要實(shí)現(xiàn)機(jī)器人對(duì)物體的辨識(shí),必然會(huì)涉及到相機(jī)到機(jī)器人坐標(biāo)系的標(biāo)定問(wèn)題,即如何將以雙目相機(jī)為基準(zhǔn)的物體三維坐標(biāo)轉(zhuǎn)化為以機(jī)器人基座為基準(zhǔn)的坐標(biāo)變換問(wèn)題。
如圖1 所示,常用標(biāo)定方法是通過(guò)測(cè)量,建立目標(biāo)坐標(biāo)系、相機(jī)坐標(biāo)系、機(jī)器人基坐標(biāo)系以及末端執(zhí)行器坐標(biāo)系之間的坐標(biāo)映射關(guān)系,直接通過(guò)坐標(biāo)變換計(jì)算出目標(biāo)對(duì)象的坐標(biāo):,t—工具坐標(biāo)系;B—機(jī)器人基坐標(biāo)系;C—相機(jī)坐標(biāo)系;T—目標(biāo)坐標(biāo)系[6]。
其中相機(jī)與目標(biāo)坐標(biāo)系的轉(zhuǎn)換關(guān)系可由立體視覺(jué)視差原理求得,機(jī)器人基坐標(biāo)系與末端執(zhí)行器坐標(biāo)系的轉(zhuǎn)換關(guān)系可通過(guò)求由機(jī)器人逆解的方式求得。目前大多機(jī)器人視覺(jué)系統(tǒng)均是通過(guò)此種方法來(lái)完成標(biāo)定。
結(jié)合本課題的實(shí)際情況,采取通過(guò)獲取雙目相機(jī)與機(jī)器人基坐標(biāo)系之間,已知公共點(diǎn)的坐標(biāo)數(shù)據(jù),反推出坐標(biāo)映射的關(guān)系,來(lái)得到目標(biāo)對(duì)象坐標(biāo)的標(biāo)定方法。坐標(biāo)映射關(guān)系矩陣由7 個(gè)未知參數(shù)組成,因此稱(chēng)為七參數(shù)法。
圖1 機(jī)器人視覺(jué)系統(tǒng)坐標(biāo)系Fig.1 Coordinate system of robot vision system
對(duì)于三維坐標(biāo)而言,至少需要三個(gè)公共已知點(diǎn),得到在兩個(gè)不同空間直角坐標(biāo)系中的六對(duì)三維坐標(biāo)值,才能推算出這七個(gè)未知參數(shù)。七參數(shù)模型如下:
其中△X、△Y、△Z 為坐標(biāo)平移量,εx、εy、εz 為坐標(biāo)軸之間的旋轉(zhuǎn)角度,又稱(chēng)歐拉角,m 為尺度因子。在本課題中,將如圖2 左所示的標(biāo)定件安裝于機(jī)器人末端法蘭盤(pán)中心,并將標(biāo)定件中心作為待測(cè)公共點(diǎn)。通過(guò)開(kāi)發(fā)的系統(tǒng)可分別讀取基于機(jī)器人基坐標(biāo)系和雙目相機(jī)坐標(biāo)系下公共點(diǎn)的坐標(biāo)值,大大減小了人為的影響因素,為機(jī)器人精確定位提供了保障。
在七參數(shù)法中,公共點(diǎn)的選取直接影響著坐標(biāo)轉(zhuǎn)換的精度。因此為了高效、準(zhǔn)確地得到七參數(shù)的數(shù)據(jù),了解一些公共點(diǎn)的選取技巧是必要的。
圖2 右為公共點(diǎn)分布的平面示意圖。選取其中的一系列點(diǎn)作為公共點(diǎn),觀察坐標(biāo)轉(zhuǎn)換的精度并得出結(jié)論如表1 所示。
圖2 標(biāo)定件與公共點(diǎn)分布示意圖Fig.2 Schematic diagram of calibration piece and common points
表1 不同公共點(diǎn)分布情況下轉(zhuǎn)換精度測(cè)試Tab.1Transformationaccuracytestunderdifferent distributioncircumstancesofcommonpoints
由此可以得出選取公共點(diǎn)的一些結(jié)論:①公共點(diǎn)共線時(shí),只有在共線方向上的待測(cè)點(diǎn)轉(zhuǎn)換精度能夠保證,偏離軸線距離越大,則精度越低;②待測(cè)點(diǎn)距離公共點(diǎn)越近,則轉(zhuǎn)換精度越高;③公共點(diǎn)分布均勻,轉(zhuǎn)換精度較高且穩(wěn)定。因此選取公共點(diǎn)時(shí)應(yīng)注意要盡量在工作范圍內(nèi)選取,并且使其均勻分布,避免3 點(diǎn)共線的情況發(fā)生。
七參數(shù)法中,至少需要3 個(gè)公共點(diǎn)才能完成轉(zhuǎn)換矩陣的運(yùn)算。如果公共點(diǎn)的數(shù)量大于3 個(gè),則需要進(jìn)行誤差校正。這里采用最小二乘法進(jìn)行數(shù)學(xué)優(yōu)化。引入坐標(biāo)修正量Vx,Vy,Vz,則有:
則誤差方程為:
方程式可化簡(jiǎn)為:
最終求得七參數(shù)的解:
如圖3 所示,整個(gè)系統(tǒng)完成了對(duì)工件的辨識(shí)、坐標(biāo)轉(zhuǎn)換及機(jī)器人的控制任務(wù)。主要由3 部分組成,雙目相機(jī)負(fù)責(zé)圖像的采集。PC 端負(fù)責(zé)對(duì)圖像數(shù)據(jù)處理、工件辨識(shí)、計(jì)算坐標(biāo)、傳遞坐標(biāo)及機(jī)器人控制,其中工件辨識(shí)通過(guò)對(duì)顏色的判斷來(lái)實(shí)現(xiàn),具有旋轉(zhuǎn)、平移、尺度等不變性,可靠性較好。機(jī)器人端負(fù)責(zé)對(duì)工件進(jìn)一步的操作。具體連接如圖1 所示,雙目相機(jī)與PC 端通過(guò)IEEE 1394a 火線進(jìn)行連接,接口是基于Visual Studio 通過(guò)Triclops 開(kāi)發(fā)包用C++語(yǔ)言進(jìn)行二次開(kāi)發(fā)的。PC 端與機(jī)器人通過(guò)網(wǎng)線連接,接口是以Robotstudio 為后臺(tái)程序,基于Visual Studio 通過(guò)PC SDK,用C# 語(yǔ)言進(jìn)行二次開(kāi)發(fā)的。
圖像獲取設(shè)備采用Point Grey 生產(chǎn)的Bumblebee2 雙目相機(jī)。在幀率20 FPS 時(shí),分辨率為80 萬(wàn)像素。通訊方式采用了IEEE 1394a 火線接口,支持即插即用,速度可達(dá)400 Mbps。相機(jī)的主要優(yōu)勢(shì)在于,一是相機(jī)出廠的時(shí)候已經(jīng)進(jìn)行過(guò)了標(biāo)定,免去研究者前期對(duì)雙目相機(jī)內(nèi)、外參數(shù)設(shè)定的麻煩;二是配有Flycapture 和Triclops兩大開(kāi)發(fā)包,內(nèi)部含有低通濾波、校正、邊緣檢測(cè)、立體匹配、檢驗(yàn)及亞像素差值等圖像預(yù)處理和立體處理的功能,在深度計(jì)算上具有良好的精度。
機(jī)器人采用ABB IRB 4600D 型機(jī)器人,其工作范圍為2.05m,手臂載荷20kg。編程語(yǔ)言為RAPID 語(yǔ)言,類(lèi)似于高級(jí)語(yǔ)言編程,與VB和C 語(yǔ)言相近,配套的Robotstudio 軟件是一款機(jī)器人編程與仿真工具,可以用來(lái)模擬優(yōu)化現(xiàn)有的機(jī)器人程序,也可以用于遠(yuǎn)程維護(hù)和故障排除。另外,ABB 公司也為用戶(hù)提供了PC SDK 接口,用戶(hù)通過(guò)Visual Studio 來(lái)對(duì)PC SDK 進(jìn)行二次開(kāi)發(fā),以Robotstudio 作為后臺(tái)程序,來(lái)達(dá)到控制機(jī)器人的目的。
圖3 機(jī)器人視覺(jué)系統(tǒng)Fig.3 Robot vision system
表2 測(cè)試結(jié)果Tab.2Testresults
開(kāi)發(fā)的系統(tǒng)界面如圖4 所示。Scan 功能完成了對(duì)于機(jī)器人端的檢索。Input Data 通過(guò)相機(jī)獲取標(biāo)識(shí)點(diǎn)的坐標(biāo)系。Obtain Coordinate Data、Obtain and Process Data 及Rectify Coordinate完成了機(jī)器人坐標(biāo)系和相機(jī)坐標(biāo)系的標(biāo)定工作。7-Parameter-Method 七參數(shù)法實(shí)現(xiàn)了坐標(biāo)轉(zhuǎn)換。Obtain p20 Data 與Write to p20 將最終的轉(zhuǎn)換結(jié)果輸入至機(jī)器人程序中(p20 為目標(biāo)物體在機(jī)器人坐標(biāo)系下的坐標(biāo)值)。
圖5 為在Robotstudio 下的仿真結(jié)果,成功地將p20 點(diǎn)的數(shù)據(jù)傳輸進(jìn)了RAPID 程序中。機(jī)器人便會(huì)按照新的坐標(biāo)數(shù)值來(lái)執(zhí)行動(dòng)作。
表2、3 為最終實(shí)驗(yàn)的結(jié)果。其中前三組坐標(biāo)為機(jī)器人大范圍運(yùn)動(dòng)下得到的結(jié)果數(shù)據(jù),第四到六組坐標(biāo)為機(jī)器人小范圍運(yùn)動(dòng)下得到的數(shù)據(jù)。進(jìn)一步根據(jù)最小二乘法校正誤差,測(cè)得最后三組坐標(biāo)數(shù)據(jù),誤差精度可以達(dá)到0.1 毫米級(jí)??梢詽M(mǎn)足實(shí)驗(yàn)要求。
圖4 系統(tǒng)操作界面Fig.4 Operating interface of the system
圖5 測(cè)試結(jié)果Fig.5 Test results
表3 誤差結(jié)果Tab.3 Errorresults
結(jié)合之前的實(shí)驗(yàn),可以總結(jié)出以下幾種坐標(biāo)轉(zhuǎn)換的結(jié)論:①公共點(diǎn)的個(gè)數(shù)以3-5 個(gè)為宜。公共點(diǎn)應(yīng)均勻的分布在測(cè)區(qū)內(nèi),并且待測(cè)點(diǎn)也最好再公共點(diǎn)范圍內(nèi)[7];②當(dāng)公共點(diǎn)多于5 個(gè)時(shí),可以將公共點(diǎn)中的源坐標(biāo)逐一代入轉(zhuǎn)換方程進(jìn)行計(jì)算,將結(jié)果與公共點(diǎn)中的目標(biāo)坐標(biāo)進(jìn)行比較,并使誤差較大的點(diǎn)不再作為公共點(diǎn);③每三個(gè)公共點(diǎn)不宜在一條直線上;④待測(cè)點(diǎn)離公共點(diǎn)越近,則轉(zhuǎn)換精度越高。公共點(diǎn)越均勻分布,轉(zhuǎn)換的精度越能夠保證。同時(shí)實(shí)驗(yàn)得出的結(jié)論也驗(yàn)證了本文中關(guān)于公共點(diǎn)選取的分析結(jié)果。
如今越來(lái)越多的機(jī)器人被引入進(jìn)了工業(yè)自動(dòng)化中,機(jī)器人視覺(jué)也越來(lái)越受到重視。目前主流機(jī)器人視覺(jué)應(yīng)用均以單目相機(jī)為基礎(chǔ),通過(guò)拍照對(duì)比等方式,實(shí)現(xiàn)諸如條形碼讀取、壞點(diǎn)檢測(cè)等功能。然而單目相機(jī)具有二維平面的局限性,無(wú)法采集三維物體的信息,從而限制了其應(yīng)用。本課題采用了雙目相機(jī)配合機(jī)器人,建立雙目相機(jī)到PC 端,PC 端到機(jī)器人端的2 個(gè)接口,利用七參數(shù)坐標(biāo)變換法得以快速準(zhǔn)確地得到目標(biāo)物體坐標(biāo),總結(jié)了公共點(diǎn)選取的結(jié)論,完成了機(jī)器人的視覺(jué)定位與操控的集成,起到了拋磚引玉的作用。
[1]Fang Y., Masaki I., Horn B. Depth-Based Target Segmentation for Intelligent Vehicles:Fusion of Radar and Binocular Stereo[J].IEEE Trans.on Intelligent transportation Systems,2002,3.
[2]劉曉坤.基于視覺(jué)的機(jī)械臂控制技術(shù)研究[D]. 哈爾濱:哈爾濱工程大學(xué),2013,2.
[3]Sotiris Malassiotis, Michael G.Strintzis. Stereo vision system for precision dimensional inspection of 3D holes[J].Machine Vision and Applications,2003,10.
[4]禹靜.基于機(jī)器視覺(jué)的懸鏈線上吊鉤的識(shí)別研究[D].濟(jì)南:濟(jì)南大學(xué),2012.
[5]王士峰.基于機(jī)器視覺(jué)的車(chē)輪圖像處理與分析[D].濟(jì)南:濟(jì)南大學(xué),2011.
[6]宋彩霞.臂-手系統(tǒng)的運(yùn)動(dòng)控制及穩(wěn)定抓取研究[D].湖南:湖南大學(xué),2013.
[7]趙寶鋒,張雪,蔣廷臣.坐標(biāo)轉(zhuǎn)換模型及公共點(diǎn)選取對(duì)轉(zhuǎn)換成果精度的影響[J].淮海工學(xué)院學(xué)報(bào),2009,4.