唐艷慧,任 宏,劉巧元,姜金辰,王 帥,孫海江
(中國科學(xué)院長春光學(xué)精密機(jī)械與物理研究所,長春 130033)
視覺測量技術(shù)根據(jù)相機(jī)獲取視覺測量的信息從而對目標(biāo)的位置和姿態(tài)進(jìn)行測量。通過相機(jī)獲得目標(biāo)圖像生成匹配的像對,再利用目標(biāo)在相機(jī)左右目的視差及模型參數(shù)反推其在三維坐標(biāo)及位姿。相機(jī)和雙目模型就是對上述過程的數(shù)學(xué)描述。在執(zhí)行空間操作任務(wù)時(shí),首先需要獲取的就是目標(biāo)航天器與服務(wù)航天器的相對位姿和運(yùn)動(dòng)等信息。視覺測量精度有精度高、隱蔽性強(qiáng)、體積小、設(shè)備相對簡單、成本低等優(yōu)勢,成為首選測量方法。機(jī)器視覺因具有靈活性被廣泛應(yīng)用在各種控制系統(tǒng)中,而視覺位姿測量作為核心的視覺技術(shù)得到廣泛關(guān)注。
近些年,航測相機(jī)在航天航空任務(wù)中占有核心地位,相機(jī)性能指標(biāo)直接影響獲取信息的準(zhǔn)確性。在航測相機(jī)研制過程中需要對其內(nèi)外參進(jìn)行嚴(yán)格校準(zhǔn),測試相機(jī)精度從而實(shí)現(xiàn)精確定位[1]。位姿測量精度是相機(jī)重要指標(biāo)之一?,F(xiàn)有的精度測試方法多為單點(diǎn)測量,不僅慢且覆蓋面小。精度測試的指標(biāo)應(yīng)在使用前進(jìn)行嚴(yán)格檢測,保證其達(dá)到設(shè)計(jì)要求[2-3],為后續(xù)執(zhí)行任務(wù)做好保障工作。本實(shí)驗(yàn)提供了自動(dòng)化位姿測量相機(jī)精度測試平臺,克服現(xiàn)有的精度測試問題,可以多點(diǎn),多位移,多角度,全視場進(jìn)行精度測試。且可以調(diào)節(jié)目標(biāo)運(yùn)動(dòng)速度同時(shí)進(jìn)行視覺捕捉實(shí)驗(yàn)。為今后同類型的平臺提供參考價(jià)值。
隨著航天、航空事業(yè)發(fā)展,機(jī)械臂成為無人機(jī)或輔助航天員出艙工作的重要設(shè)備,位姿測量手眼相機(jī)作為機(jī)械臂視覺引導(dǎo),視覺伺服的重要組成部分[4-6],根據(jù)實(shí)際需求設(shè)計(jì)了手眼相機(jī)自動(dòng)化精度測試系統(tǒng)。視覺模塊如圖1所示。
圖1 視覺模塊示意圖
工業(yè)機(jī)器人選用不確定度為15μm的IRB-2600型號的ABB工業(yè)機(jī)器人,通過上位機(jī)指令控制機(jī)械臂運(yùn)動(dòng),手眼相機(jī)實(shí)際應(yīng)用如圖2所示。通過上位機(jī)機(jī)械臂與相機(jī)采集的位姿互相通信,從而達(dá)到自動(dòng)化測試的效果。
圖2 手眼相機(jī)實(shí)物
雙目立體視覺是基于三角原理進(jìn)行三維信息的獲取,基于視差原理的一種方法。該過程可以模擬人眼的立體感知過程。目標(biāo)是求出三維空間中目標(biāo)物體相對于相機(jī)坐標(biāo)系的三維坐標(biāo),用來進(jìn)行后續(xù)的坐標(biāo)變化以及機(jī)械手控制。
圖3所示為雙目立體視覺系統(tǒng)三維模型圖,相機(jī)左右目的投影中心連線的距離為基線,用B表示。相機(jī)左右目同時(shí)觀看物體P時(shí)在相機(jī)的成像點(diǎn)分別為(pleft=Xleft,Yleft);(pright=Xright,Yright)。將相機(jī)放置同一平面上,成像點(diǎn)P的Y軸坐標(biāo)是相同的,故Yleft=Xleft=Y。由三角關(guān)系可以得到如下關(guān)系式:
圖3 雙目立體視覺系統(tǒng)三維模型
視差被定義在相同點(diǎn)相機(jī)左右目X軸向的偏差,即:
通過上式即可求出空間中任意一點(diǎn)三維空間中的坐標(biāo)。
張正友相機(jī)標(biāo)定方法選用棋盤格作為相機(jī)的標(biāo)定板。在標(biāo)定的過程中,假定標(biāo)定棋盤格所在的平面為世界坐標(biāo)系中Zw=0的平面上,將棋盤格上的某個(gè)角點(diǎn)設(shè)置為原點(diǎn),理論上只要知道棋盤格每一個(gè)格子占據(jù)的尺寸,就能得出所有棋盤格內(nèi)角點(diǎn)的世界坐標(biāo)。同時(shí)棋盤格內(nèi)角點(diǎn)的像素坐標(biāo)可以通過圖像處理的方法計(jì)算得出,從而借助于平面單應(yīng)性、非線性優(yōu)化等理論求解出相機(jī)的內(nèi)外參數(shù),相機(jī)標(biāo)定后得到了內(nèi)參和外參進(jìn)而得到了物點(diǎn)和像點(diǎn)間的映射關(guān)系,所得參數(shù)如表1所示。表中參數(shù)A表示相機(jī)的內(nèi)部參數(shù)矩陣;fx、fy為像平面中的有效焦距,u0、v0為圖像的主點(diǎn)坐標(biāo),γ為相機(jī)的坐標(biāo)軸之間的不垂直因子;k1、k2、k3、p1、p2為徑向、切向畸變參數(shù);矩陣R和矩陣T為相機(jī)的旋轉(zhuǎn)矩陣和平移變量,表示相機(jī)左目坐標(biāo)系轉(zhuǎn)換到相機(jī)右目坐標(biāo)系的旋轉(zhuǎn)矩陣和平移向量。
表1 相機(jī)標(biāo)定的參數(shù)
本質(zhì)上來說雙目立體視覺,是相機(jī)左目和右目再看同一個(gè)目標(biāo)點(diǎn)時(shí),連接探測器上的像點(diǎn)和相機(jī)投影中心進(jìn)行反投影,兩條光纖的交點(diǎn)位置實(shí)際就是目標(biāo)的位置。
機(jī)械臂運(yùn)動(dòng)的姿態(tài)一般是XYZ三軸旋轉(zhuǎn)方向,歐拉旋轉(zhuǎn)變化矩陣是由3個(gè)非交換的旋轉(zhuǎn)矩陣相乘計(jì)算,旋轉(zhuǎn)次序不同共分為12種不同類型的歐拉角。該機(jī)械臂末端執(zhí)行器坐標(biāo)系與基座的坐標(biāo)系轉(zhuǎn)換的歐拉角順序?yàn)閆YX型,轉(zhuǎn)換的關(guān)系用旋轉(zhuǎn)矩陣R zyx(α,β,γ)表示,轉(zhuǎn)換示意圖如圖4所示。
圖4 歐拉角旋轉(zhuǎn)示意圖
圖4所示為機(jī)械臂末端執(zhí)行器坐標(biāo)系先繞著z軸旋轉(zhuǎn)α角,再繞y軸旋轉(zhuǎn)β角,最后繞x軸旋轉(zhuǎn)γ角,得到了基座的坐標(biāo)系,轉(zhuǎn)換公式為:
由式(3)可計(jì)算出機(jī)械臂末端執(zhí)行器坐標(biāo)系和基座坐標(biāo)系旋轉(zhuǎn)矩陣的結(jié)果:
通過式(4)可知手眼相機(jī)標(biāo)定前需要知道機(jī)器人坐標(biāo)系旋轉(zhuǎn)矩陣的旋轉(zhuǎn)順序。
坐標(biāo)系轉(zhuǎn)換關(guān)系如圖5所示。坐標(biāo)系轉(zhuǎn)換用4×4矩陣描述,歐拉角采用ZYX順序,即旋轉(zhuǎn)矩陣R=rotz×roty×rotx。箭頭指向標(biāo)識源坐標(biāo)系與目的坐標(biāo)系,X為法蘭坐標(biāo)系和目標(biāo)外部基準(zhǔn)坐標(biāo)系轉(zhuǎn)換關(guān)系,T1為關(guān)節(jié)測量臂測量目標(biāo)及其工裝外部基準(zhǔn)轉(zhuǎn)換關(guān)系,T2為相機(jī)外參,相機(jī)與相機(jī)外部基準(zhǔn)轉(zhuǎn)換關(guān)系,T3(n)為相機(jī)輸出位姿,T4(0)為初始相機(jī)外部基準(zhǔn)坐標(biāo)系與目標(biāo)外部基準(zhǔn)坐標(biāo)系轉(zhuǎn)換關(guān)系,T4(n)為相機(jī)外部基準(zhǔn)坐標(biāo)系與位移后目標(biāo)外部基準(zhǔn)坐標(biāo)系轉(zhuǎn)換關(guān)系,T3'(n)為通過下式解算出相機(jī)測量目標(biāo)位姿真值。
圖5 手眼相機(jī)關(guān)系轉(zhuǎn)換
以初始點(diǎn)為外部基準(zhǔn),運(yùn)用Matlab隨機(jī)生成ABB運(yùn)動(dòng)軌跡,軌跡文件記錄軌跡點(diǎn)與初始點(diǎn)六自由度偏差A(yù)(n),上位機(jī)控制機(jī)械臂逐點(diǎn)運(yùn)動(dòng)并記錄輸出位姿T3作為測量值,外參T2作為已知量,根據(jù)下式子求解T3'(n);
在vs2017作為上位機(jī)軟件開發(fā)平臺,結(jié)合C++與其他的庫函數(shù)進(jìn)行控制程序的二次開發(fā),界面如圖6所示。運(yùn)用張正友標(biāo)定法選用5×5的圓點(diǎn)標(biāo)定板作為校準(zhǔn)物體,選用圓形標(biāo)定板是因?yàn)閳A的確定相對精準(zhǔn),可以使用圓外圍的像素減少了圖像噪聲的影響。標(biāo)定板上25個(gè)已知特征點(diǎn)如圖7所示,可以采用最小二乘法求解降低誤差的影響。本實(shí)驗(yàn)搭建了自動(dòng)化標(biāo)定平臺,將機(jī)械臂末端法蘭上采集的標(biāo)定板圖像輸入到上位機(jī)軟件中進(jìn)行計(jì)算,由圖所示可以獲得相機(jī)的內(nèi)參數(shù)和外參數(shù),為后續(xù)精度測試提供保障工作。
圖6 標(biāo)定MFC界面
圖7 標(biāo)定板
手眼相機(jī)測量精度前的標(biāo)定的本質(zhì)是AX=XB的求解過程,在實(shí)際的應(yīng)用中,A和B都會不可避免的存在誤差。對于本文研究的手眼系統(tǒng),A的誤差表示機(jī)械臂的相對運(yùn)動(dòng)誤差,B的誤差表示相機(jī)運(yùn)動(dòng)的估計(jì)誤差,影響手眼相機(jī)標(biāo)定方法的精度。所搭建的手眼相機(jī)自動(dòng)化標(biāo)定平臺測試精度結(jié)果如表2所示,RMS表示均方根,公式不再贅述。
表2 雙目精度測試結(jié)果
為驗(yàn)證標(biāo)定的精度,將標(biāo)定的結(jié)果代入相機(jī)模型進(jìn)行誤差分析得到了如圖8~9的誤差分布曲線。
圖8 雙目平移誤差
圖9 雙目角度誤差
圖10 雙目測試點(diǎn)三維分布(綠色點(diǎn)不超差、紅色點(diǎn)超差)
手眼相機(jī)自動(dòng)化精度測量存在不確定誤差,由于關(guān)節(jié)測量臂定位誤差23μm,工業(yè)機(jī)器人重復(fù)定位誤差15μm,在標(biāo)定過程中標(biāo)定板不可避免會存在1個(gè)像素的誤差。因此用不確定度μc來評估系統(tǒng)誤差,由下式各個(gè)不確定度分量合成,μ1表示關(guān)節(jié)測量臂誤差,μ2表示機(jī)械臂誤差:
由式(6)可算自動(dòng)化平臺的不確定度誤差約為27.5μm,由此可知自動(dòng)化測試平臺的精度高,試驗(yàn)的重復(fù)性良好,滿足了測量精度的要求,滿足實(shí)際的使用需求。
本文根據(jù)機(jī)器視覺高精度應(yīng)用要求,在實(shí)際應(yīng)用的手眼相機(jī)中,搭建了一套自動(dòng)化精度測試平臺,開發(fā)出兼顧精度和低人力成本的雙目自動(dòng)化精度測量平臺,從實(shí)驗(yàn)中對位姿測量精度進(jìn)行驗(yàn)證,對手眼相機(jī)系統(tǒng)進(jìn)行標(biāo)定試驗(yàn)并驗(yàn)證視覺定位的精度分析,實(shí)驗(yàn)結(jié)果表明,在此平臺下手眼相機(jī)系統(tǒng)定位精度達(dá)到了27.5μm,且解放雙手,通過上位機(jī)之間的相互通訊減少人為操作,此平臺具有較高精度及穩(wěn)定性,滿足實(shí)際航空航天的應(yīng)用需求,具有很大的實(shí)際使用價(jià)值。