蔡 勇,秦現(xiàn)生,張雪峰,張培培,單 寧
CAI Yong1,QIN Xian-sheng1,ZHANG Xue-feng1,ZHANG Pei-pei1,SHAN Ning2
(1. 西北工業(yè)大學(xué) 機電學(xué)院,西安 710072;2. 武警工程學(xué)院 裝備運輸系,西安 710086)
全貌立體視覺測量是近幾十年發(fā)展起來的非接觸測量技術(shù),已廣泛應(yīng)用于國防、工業(yè)、建筑等工程實踐中[1]。在三維視覺測量過程中,由于攝像機視場限制或被測物內(nèi)凹導(dǎo)致的自遮擋等多種因素,通常需要從多角度或多攝像機分別采集被測物表面信息。所獲與掃描儀各實時位姿相關(guān)的三維點集合為多視點云,最終需歸一到世界坐標系下,稱多視點云對齊(registration)[2]。
目前有多種采集多視點云與對齊的方法。已有如雙經(jīng)緯儀法[3],利用兩臺經(jīng)緯儀觀測被測物表面或鄰近的控制點空間坐標,求得攝像機在不同測量位置坐標系到雙經(jīng)緯儀所在世界坐標系的轉(zhuǎn)換對齊。類似的,通過激光跟蹤儀[4]或激光設(shè)備[5]確定空間標記點坐標,精度更高。求解已知坐標的空間特征點在各圖像中不同位置來對齊局部點云,或跟蹤局部攝像機坐標系原點在世界坐標系中的坐標值,隨時向世界坐標系轉(zhuǎn)換局部攝像機所獲數(shù)據(jù)。這些方法轉(zhuǎn)換次數(shù)少,使效率與精度都較高,但都是屬于點測量,匹配點冗余少,且獲得全局點的真實坐標較為困難,拍攝角度難以控制,易遮擋。Besl提出的ICP(Iterative Closed Point)[6]及其改進算法[7]是目前一種基本對齊算法。該算法對起始狀態(tài)要求很嚴,否則易產(chǎn)生誤匹配而陷入局部極小值,每次迭代都需計算目標點集內(nèi)每個點在參考點集內(nèi)對應(yīng)點,導(dǎo)致計算量很大。此外,可以借助外部移動或轉(zhuǎn)動設(shè)備引導(dǎo)掃描,如根據(jù)精密旋轉(zhuǎn)臺或移動平臺[8]運動對齊各局部數(shù)據(jù),由于移動機構(gòu)精度高,依預(yù)定攝像機拍攝視角規(guī)劃移動路徑,令全貌測量數(shù)據(jù)完整、冗余量可控。其不足是定制的運動設(shè)備會使系統(tǒng)柔性和適應(yīng)性下降,制造成本高昂。
為了提高系統(tǒng)移動的柔性和對齊效率,提出基于通用型關(guān)節(jié)機器人引導(dǎo)掃描儀的全貌測量新方法。根據(jù)已規(guī)劃掃描路徑,利用運動學(xué)逆解求出各關(guān)節(jié)轉(zhuǎn)角范圍函數(shù)。通過兩次移動機器人所獲圖像與末端執(zhí)行器位移信息,導(dǎo)出掃描儀下三維點云數(shù)據(jù)向世界坐標系的轉(zhuǎn)換矩陣。并按圖像重疊比例給出掃描路徑中拍攝點的各關(guān)節(jié)位姿,指導(dǎo)掃描器拍攝并進行數(shù)據(jù)對齊。
設(shè)計選用全轉(zhuǎn)動關(guān)節(jié)型ABB-IBR140-M2000型機器人,具有6個自由度,所有6關(guān)節(jié)均為旋轉(zhuǎn)關(guān)節(jié)。其使用前置D-H方法對機器人進行運動學(xué)描述,各連桿坐標系位置如圖1所示。
圖1 六關(guān)節(jié)機器人各關(guān)節(jié)前置D-H方法參數(shù)
各旋轉(zhuǎn)關(guān)節(jié)Ji(i=1,2,…,6)基本參數(shù)的范圍如表1所示。
表1 前置D-H坐標系6關(guān)節(jié)機器人相鄰連桿參數(shù)
基于前置D-H方法第i個關(guān)節(jié)與相鄰的第i+1個關(guān)節(jié)坐標轉(zhuǎn)換矩陣Mii+1為:
通過各個關(guān)節(jié)的依次轉(zhuǎn)換,最終總轉(zhuǎn)換矩陣為各關(guān)節(jié)轉(zhuǎn)換矩陣的連乘:
根據(jù)Pieper準則,此類型機器人的后3個軸線交于共同的一點,可以得到其運動學(xué)逆問題(IKP)的解析封閉解。機器人構(gòu)件d4的末端點即J4,J5,J6共有交點Oe作為機器人末端位置點。機器人基礎(chǔ)坐標系在第一、二軸的交點Ow作為掃描系統(tǒng)世界坐標系原點。根據(jù)末端位置XL(xL,yL,zL)求解轉(zhuǎn)換矩陣M16,就可得到各關(guān)節(jié)轉(zhuǎn)角范圍函數(shù)。最終可解得各關(guān)節(jié)運動學(xué)逆問題結(jié)果。
對空間所占三維尺寸接近的被測物進行全貌測量時,可以利用掃描儀對其進行環(huán)形圍繞掃描。根據(jù)被測物與機器人基座距離,確定螺旋線參數(shù)方程為:
依據(jù)此參數(shù)化軌跡參數(shù)方程,機器人運動學(xué)逆解軌跡規(guī)劃運動范圍仿真如圖2所示。
圖2 依規(guī)劃軌跡掃描關(guān)節(jié)機器人逆解結(jié)果
掃描儀的三維數(shù)據(jù)獲得原理是主動結(jié)構(gòu)光測量方式之一,由投影儀投出正弦光柵圖案,兩個攝像機組成的交匯軸雙目視覺系統(tǒng)拍攝被物體表面形狀調(diào)制而扭曲的光柵圖案,經(jīng)解相算法處理圖像,獲得被測物表面三維點云[9]。掃描儀拍攝掃描三維點云中某點數(shù)據(jù)XL(xL,yL,zL)是其攝像機坐標系下數(shù)據(jù),需要轉(zhuǎn)換到機器人基座所在的世界坐標系下的Xw(xw,yw,zw) 。若求解出掃描儀坐標系下點XL與機器人末端坐標系下點Xw之間的旋轉(zhuǎn)矩陣R和平移向量t,就可以通過R與t組合的齊次轉(zhuǎn)換矩陣X將多個不同位置的掃描點云數(shù)據(jù)對齊到世界坐標系下。下面分別求解R與t。
操縱機器人,從兩個不同的空間點掃描被測物,可獲得某特征點兩個不同的掃描儀坐標系下齊次坐標Xc1(xc1,yc1,zc1,1)T,Xc2(xc2,yc2,zc2,1)T,通過標定掃描儀中的攝像機,分別獲得掃描儀在兩點之間的外參變化Rc與tc,其組合的4×4齊次轉(zhuǎn)換矩陣C滿足:
同時,末端執(zhí)行器移動前后兩點的齊次坐標Xd1(xd1,yd1,zd1,1)T,Xd2(xd2,yd2,zd2,1)T則由機器人控制器讀出并求解其間的實際旋轉(zhuǎn)Rd和平移向量Td,構(gòu)成了機器人末端執(zhí)行器4×4齊次移動矩陣D。兩點間關(guān)系為:
而掃描儀圖像點中與機器人之間的點轉(zhuǎn)換關(guān)系為:
Xc1=X.Xd1;Xc2=X.Xd2,其中X為待求的掃描儀到末端執(zhí)行器的齊次轉(zhuǎn)換矩陣。由以上及式(3)-式(4)可以推出:
其中,僅R與t未知,構(gòu)成掃描儀中攝像機坐標系到機器人末端執(zhí)行器之間的轉(zhuǎn)換矩陣。
實際求解時,操縱機器人末端執(zhí)行器移動到不同兩點1與2,可得四個關(guān)系式:
其中的Rc1、tc1、Rc2、tc2分別由兩次移動前后的3次攝像機標定所得外參數(shù)求得。Rd1、td1、Rd2、td2則由機器人移動前后控制器給出3點空間位姿參數(shù)求得。求解式(7)、(9)可得R;代入式(8)、(10)求解可得t。只要兩次移動的旋轉(zhuǎn)軸互不平行,且不是純平移運動時,由R與t構(gòu)成的轉(zhuǎn)換矩陣X是唯一確定的。
掃描系統(tǒng)固定在框架內(nèi),安裝于機器人末端執(zhí)行器上。攝像機選用Basler-piA2400黑白數(shù)字攝像機,分辨率為2448 pixel×2050 pixel,鏡頭焦距12mm,單次光柵掃描范圍在物距為120mm時,測量范圍為100mm×100mm。理論上的測量精度可達到100/2050=0.05mm。操縱機器人移動,距離過大,會使掃描儀攝像機的共同視場減小,距離過小又會使結(jié)果準確度下降。兩次移動從世界坐標點(0.05,-0.09,0.33),到1點(0.15,0.04,0.47)和2點(0.03,0.20,0.27)。
移動前后標定的三個外參數(shù)的旋轉(zhuǎn)矩陣和平移向量分別為:
控制器讀出末端執(zhí)行器旋轉(zhuǎn)矩陣與平移向量分別為:
將(7)-(10),代入上述值,求解得到的轉(zhuǎn)換矩陣X為:
考慮精度與效率因素,選擇點云重疊比例為20%。拍攝點旋轉(zhuǎn)每π/4角度進行一次拍攝,由掃描儀在各拍攝點所獲圖像求解的點云坐標經(jīng)X轉(zhuǎn)換后結(jié)果如表2所示。
單次掃描范圍約為100mm×100mm,對齊結(jié)果如圖3所示,(1)-(8)為環(huán)繞目標掃描的攝像機的局部點云數(shù)據(jù),(9)為相鄰點云拍攝中介靶標定位對齊后的數(shù)據(jù)。在Imageware軟件中檢查點云對齊處剔除奇異點后誤差最大為0.086mm。
表2 掃描儀在各拍攝點的空間坐標與姿態(tài)
圖3 各角度采集點云數(shù)據(jù)(1)-(8)及相鄰點云(6)與(7)的對齊結(jié)果(9)
在影響精度的方面,被測物經(jīng)掃描轉(zhuǎn)換為計算機模型的各個步驟都會帶入不同程度的誤差。上述最大對齊誤差即為多種誤差的綜合。經(jīng)分析發(fā)現(xiàn)主要的誤差與可能的修正方式如下:
1)點云獲取誤差:依照掃描儀自身標定結(jié)論,其精度指標最大不超過0.03mm。通過提高內(nèi)部圖像處理算法精度減少誤差,改善掃描結(jié)果。
2)點云對齊誤差:點云對齊矩陣X求解時,計算轉(zhuǎn)換矩陣存在計算舍入與量化誤差,導(dǎo)致各旋轉(zhuǎn)矩陣R正交性不一致。增加檢驗其正交性,并進行多次計算平差,可以減少轉(zhuǎn)換對齊誤差。
3)機器人運動誤差:控制器與末端執(zhí)行器之間需經(jīng)過多關(guān)節(jié)轉(zhuǎn)換,每次轉(zhuǎn)換存在累積誤差并被逐級放大。通過增加初始端關(guān)節(jié)的剛度,并進行多次標定,尋找出誤差范圍并取均方值,代入機器人控制器中以補償移動誤差。
4)掃描儀攝像機系統(tǒng)誤差與標定誤差:攝像機系統(tǒng)標定一直是難點問題,目前標定精度較高,一次標定在多次掃描中可重復(fù)。若選用更高質(zhì)量光學(xué)鏡頭,可以最大程度降低攝像機導(dǎo)入誤差。
5)其他誤差:如掃描儀投影的光柵條紋誤差;圖像采集時的環(huán)境光影響導(dǎo)致圖像邊緣提取誤差;點云后期處理誤差等。需要在操作中各個環(huán)節(jié)上控制干擾,但同時也引起了效率的下降。
在效率方面,先使用B方法進行比較:參考文獻[8]中部分設(shè)置進行掃描。利用定制的環(huán)形平臺方式。平臺導(dǎo)軌半徑340mm,調(diào)整安裝座修正掃描儀轉(zhuǎn)動半徑至120mm,通過環(huán)形平臺精確分度控制點確定掃描儀拍攝位姿,取8點環(huán)繞被測物掃描采集點云。繼續(xù)使用C方法比較:依被測物位置,使用標尺標記8處拍攝點,手工將掃描儀放置于各拍攝點采集點云,利用被測物表面密布標記點方式對齊點云,后期需要修補數(shù)據(jù)中的標記點缺失點云。將B方法與C方法結(jié)合本文所提A方法的各步驟耗時與最終精度如表3所示。可見在點云對齊精度差別不大的情況下,本文提出方法可減少大量操作時間。
表3 三種掃描方式的效率比較
提出了參數(shù)化軌跡導(dǎo)引機器人進行多視角全貌掃描新方法。確定關(guān)節(jié)機器人結(jié)構(gòu)參數(shù),對于參數(shù)化掃描路徑進行了仿真與實際運行,同時分析了掃描后的點云對齊原理,導(dǎo)出轉(zhuǎn)換矩陣。在范圍250mm×80mm×80mm被測物所在空間內(nèi),對齊精度小于0.086mm。點云數(shù)據(jù)對齊的實驗結(jié)果表明,方法操作可行,有效提高效率,為點云獲取和對齊方式提供了新的思路。
[1] 葉聲華,秦樹人.現(xiàn)代測試計量技術(shù)及儀器的發(fā)展[J].中國測試,2009,35 (02):1-7.
[2] Huber DF,Hebert M. Fully automatic registration of multiple 3D data sets[J].Image and Vision Computing,2003,21(7):637-650.
[3] 張福民,曲興華,葉聲華.大尺寸測量中多傳感器的融合[J].光學(xué)精密工程,2008,16 (07):1236-1240.
[4] 盧成靜,黃桂平,李廣云.數(shù)字攝影測量用于天線熱變形測量的精度測試[J].測繪通報,2007,(07):163-165.
[5] Mautz Rainer.Overview of Current Indoor Positioning Systems[J].Geodesy and Cartography,2009,35 (1):18-22.
[6] Besl PJ,McKay ND.A method for registration of 3-D shapes[J].IEEE Transactions on pattern analysis and machine intelligence,1992:239-256.
[7] ZinBer T,Schmidt J,Niemann H.A refined ICP algorithm for robust 3-D correspondence estimation[C].proceedings of the International Conference on Image Processing,Barcelona: IEEE,2003.695-698.
[8] 金熠,翟超,邢曉正,等.基于面陣CCD的大視場在線檢測系統(tǒng)研究[J].計量學(xué)報,2007,28(04):306-310.
[9] 張啟燦.動態(tài)過程三維面形測量技術(shù)研究[D].成都:四川大學(xué),2005.