楊厚易
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010)
視覺引導(dǎo)技術(shù)通過在機(jī)器人的控制環(huán)中加入視覺信息,使得機(jī)器人對(duì)環(huán)境有一定的感知能力,并通過視覺獲取工作軌跡,引導(dǎo)機(jī)器人按照視覺給定的位姿工作。機(jī)器人視覺引導(dǎo)的優(yōu)勢(shì)主要體現(xiàn)在:(1)良好的適應(yīng)性。對(duì)于同一生產(chǎn)線上不同拓?fù)浣Y(jié)構(gòu)的工件,可通過視覺獲取不同工件的位姿信息,實(shí)現(xiàn)一機(jī)多工件操作。由于視覺信息的引入,也可較少地考慮工裝過程中的工件誤差,降低了系統(tǒng)加工成本。(2)非結(jié)構(gòu)化環(huán)境的自動(dòng)化。視覺引導(dǎo)通過引入視覺信息,使得機(jī)器人能夠認(rèn)知環(huán)境,收集環(huán)境信息并處理,達(dá)到工作環(huán)境的穩(wěn)定和認(rèn)知,使得機(jī)器人在未知環(huán)境中也能進(jìn)行生產(chǎn)作業(yè)任務(wù)。
視覺引導(dǎo)技術(shù)可通過是否需要進(jìn)行手眼標(biāo)定來進(jìn)行粗略的分類,對(duì)于需要進(jìn)行手眼標(biāo)定的視覺引導(dǎo)系統(tǒng),其主要采用基于位置的視覺引導(dǎo)控制系統(tǒng)(PBVS)。PBVS系統(tǒng)中間變量傳遞的都是位姿信息,通過位姿信息在系統(tǒng)運(yùn)動(dòng)鏈中的傳遞與轉(zhuǎn)換來控制機(jī)器人的運(yùn)動(dòng)軌跡。由于傳遞的是不同參考系下的位姿信息,坐標(biāo)系之間位置關(guān)系的標(biāo)定就顯得尤為重要,這就要求高精度的機(jī)器人手眼標(biāo)定。
無標(biāo)定的視覺引導(dǎo)系統(tǒng)主要采用基于圖像的視覺引導(dǎo)控制系統(tǒng)(IBVS),IBVS系統(tǒng)通過建立圖像空間與機(jī)器人空間之間的圖像雅可比矩陣來控制機(jī)器人運(yùn)動(dòng),其最大的優(yōu)勢(shì)在于只需要進(jìn)行弱標(biāo)定[1]甚至無標(biāo)定[2]。而這種控制方法非常依賴對(duì)圖像特征的提取,在工業(yè)應(yīng)用中,大部分的工件并沒有非常明顯的特征,即使有明顯的特征,視覺系統(tǒng)要對(duì)這些特征進(jìn)行穩(wěn)定的提取需要穩(wěn)定的光源和高質(zhì)量的相機(jī)。這種控制結(jié)構(gòu)不依賴高精度的控制模型標(biāo)定,但其控制過程中所面臨的特征提取和穩(wěn)定性等一系列關(guān)鍵問題使得無標(biāo)定視覺控制系統(tǒng)在目前工業(yè)中很少得到應(yīng)用,有學(xué)者針對(duì)無標(biāo)定視覺引導(dǎo)技術(shù)的發(fā)展和前景進(jìn)行了深入的分析和展望[3]。
本文針對(duì)工業(yè)應(yīng)用較多的PBVS系統(tǒng),在HALCON平臺(tái)下使用線性標(biāo)定法實(shí)現(xiàn)了固定相機(jī)結(jié)構(gòu)下6DOF機(jī)器人手眼標(biāo)定。通過對(duì)標(biāo)定結(jié)果的反演,針對(duì)標(biāo)定過程中圖像數(shù)量和相機(jī)模型對(duì)手眼標(biāo)定精度的影響進(jìn)行了分析。
手眼標(biāo)定是PBVS控制系統(tǒng)中極為關(guān)鍵的一環(huán),對(duì)模型的標(biāo)定精確度會(huì)直接影響機(jī)器人的作業(yè)準(zhǔn)確度。PBVS系統(tǒng)中,根據(jù)視覺結(jié)構(gòu)可分為移動(dòng)相機(jī)結(jié)構(gòu)(Moving Camera)和固定相機(jī)結(jié)構(gòu)(Stationary Camera)。移動(dòng)相機(jī)結(jié)構(gòu)是將相機(jī)安裝在機(jī)器人的本體上同機(jī)器人之間剛性連接,相機(jī)隨著機(jī)器人手部的運(yùn)動(dòng)而運(yùn)動(dòng)。對(duì)于這種視覺結(jié)構(gòu),手眼標(biāo)定的目的是計(jì)算機(jī)器人工具坐標(biāo)系與相機(jī)坐標(biāo)系之間的關(guān)系。對(duì)于固定相機(jī)的視覺結(jié)構(gòu),相機(jī)安裝在環(huán)境中的某一個(gè)位置,相對(duì)于機(jī)器人的基坐標(biāo)保持固定。在這種視覺結(jié)構(gòu)下手眼標(biāo)定的目的則是確定相機(jī)坐標(biāo)系與機(jī)器人基坐標(biāo)系之間的旋轉(zhuǎn)位移關(guān)系。學(xué)者們對(duì)機(jī)器人的手眼標(biāo)定方法進(jìn)行了廣泛而深入的研究,早在19世紀(jì)80年代,文獻(xiàn)[4]就提出了稱為Tasi兩步法的經(jīng)典手眼標(biāo)定方法,通過將手眼位姿矩陣的旋轉(zhuǎn)和平移兩個(gè)部分進(jìn)行分解,先求解轉(zhuǎn)動(dòng)部分,然后正交化旋轉(zhuǎn)部分再求平移部分。在Tasi之后,Zhuang Hanqi[5]將機(jī)器人手眼轉(zhuǎn)換部分與執(zhí)行器進(jìn)行整體建模,用于機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)校準(zhǔn)。文獻(xiàn)[6]利用光流場(chǎng)的法向?qū)?shù),采用兩個(gè)微小平移來計(jì)算光軸方向,然后通過兩個(gè)旋轉(zhuǎn)計(jì)算平移部分。隨著學(xué)者們的深入研究,各種高效的手眼標(biāo)定方法也被相繼提出[7-9],通過學(xué)者們對(duì)手眼標(biāo)定的大量研究,PBVS控制系統(tǒng)在工業(yè)的各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。
HALCON是由德國(guó)MVTec公司推出的一套標(biāo)準(zhǔn)的機(jī)器視覺庫(kù),集成了大量視覺算法,為手眼機(jī)器人的手眼標(biāo)定提供了極大的便利。本文采用了線性手眼標(biāo)定法,該方法默認(rèn)相機(jī)是沒有畸變的,即沒有相機(jī)畸變的非線性影響。因此在進(jìn)行手眼標(biāo)定之前必須進(jìn)行相機(jī)標(biāo)定,獲取相機(jī)內(nèi)參數(shù)據(jù),對(duì)圖片進(jìn)行畸變矯正。
(1)
(2)
(3)
A=XB
(4)
(5)
該手眼標(biāo)定方法就是線性標(biāo)定法,也就是在默認(rèn)相機(jī)沒有畸變的情況下進(jìn)行。為了取得較高的手眼標(biāo)定精度,在使用HALCON進(jìn)行手眼標(biāo)定之前,必須進(jìn)行相機(jī)標(biāo)定。HALCON也為相機(jī)標(biāo)定提供了快捷的方法,在HALCON的標(biāo)定助手中,可以選擇精度較低的線性相機(jī)模型(Division),該種方法只能處理徑向畸變;也可以使用精度較高的多項(xiàng)式模型,多項(xiàng)式模型下的標(biāo)定精度更高,且能夠?qū)η邢蚧冇幸欢ǖ难a(bǔ)償作用。對(duì)于手眼標(biāo)定來說,可以采用更高精度的多項(xiàng)式模型來進(jìn)行相機(jī)標(biāo)定,提高手眼標(biāo)定的精度。
對(duì)于不同的機(jī)器人,其采用的位姿表示法略有不同。絕大部分機(jī)器人的位姿表示法都以基坐標(biāo)作為參考坐標(biāo)系,位姿表示中的位置量沒有什么區(qū)別,但姿態(tài)量的表示卻略有不同。主要分為XYZ歐拉角、ZYX歐拉角和ZYZ歐拉角。以ZYX歐拉角為例,ZYX歐拉角姿態(tài)表示法首先將坐標(biāo)系B與一個(gè)已知的參考坐標(biāo)系A(chǔ)重合,將B坐標(biāo)系繞著B坐標(biāo)系的Z軸旋轉(zhuǎn)α角,然后再繞變化后的坐標(biāo)系B的Y軸旋轉(zhuǎn)β角,最后繞又一次變化后的坐標(biāo)系B的X軸旋轉(zhuǎn)γ角。這種表示法中,每次都是繞運(yùn)動(dòng)坐標(biāo)系B的各軸旋轉(zhuǎn),每次旋轉(zhuǎn)所繞的軸的方位取決于上次的旋轉(zhuǎn)。B相對(duì)于A的最終姿態(tài)可表示為(下標(biāo)有撇號(hào)表示使用了歐拉角描述旋轉(zhuǎn)):
(6)
(7)
(8)
(9)
HALCON中的算子只支持RPY(固定軸)位姿表示法,RPY位姿表示法與歐拉角表示法的不同在于,RPY表示法中每次的旋轉(zhuǎn)運(yùn)動(dòng)都是在固定(不運(yùn)動(dòng))參考坐標(biāo)系中確定的。在這種姿態(tài)表示法下,讓B坐標(biāo)系繞著固定參考坐標(biāo)系A(chǔ)的X軸旋轉(zhuǎn)γ角,再繞著固定坐標(biāo)系A(chǔ)的Y軸旋轉(zhuǎn)β角,最后繞固定坐標(biāo)系A(chǔ)的Z軸旋轉(zhuǎn)α角。B相對(duì)于A的最終位姿可表示為:
(10)
其中的旋轉(zhuǎn)矩陣和歐拉表示法中的旋轉(zhuǎn)矩陣相同,通過旋轉(zhuǎn)矩陣的乘積結(jié)果來看,式(6)和式(10)的結(jié)果是等價(jià)的??梢娙卫@固定軸旋轉(zhuǎn)的最終位姿與以相反順序三次繞運(yùn)動(dòng)坐標(biāo)軸旋轉(zhuǎn)的最終位姿相同,即ZYX歐拉角表示法等價(jià)于XYZ RPY角表示法。
在HALCON為每張圖片匹配相應(yīng)的機(jī)器人位姿數(shù)據(jù)時(shí),首先要確認(rèn)機(jī)器人所使用的參考坐標(biāo)系和姿態(tài)表示法。如果機(jī)器人使用的是歐拉姿態(tài)表示法,在進(jìn)行手眼標(biāo)定時(shí)需要將姿態(tài)數(shù)據(jù)處理為RPY角的形式。
(11)
通過對(duì)標(biāo)定結(jié)果的反演,可以直觀地觀察到手眼標(biāo)定的精確度。
實(shí)驗(yàn)使用了六自由度Kinova輕量型仿生機(jī)械臂和XB3相機(jī),軟件平臺(tái)使用了HALCON13。標(biāo)定板采用HALCON推薦使用的49圓標(biāo)定板,尺寸為200 mm×200 mm。XB3相機(jī)的分辨率為1 280×960,焦距為3.8 mm,相機(jī)放置在機(jī)械臂的正前方約1 m的位置。標(biāo)定板被粘貼到了一塊亞力克板之上,亞力克板堅(jiān)硬且輕盈,Kinova機(jī)械臂末端抓手可將其牢牢地抓穩(wěn),保證標(biāo)定板不會(huì)在移動(dòng)的過程中和工具坐標(biāo)系發(fā)生相對(duì)位移。在進(jìn)行手眼標(biāo)定之前,XB3相機(jī)已經(jīng)通過多項(xiàng)式相機(jī)模型進(jìn)行了畸變校正。Kinova機(jī)械臂的工具坐標(biāo)系位姿信息可以通過官方配套的DevelopmentCenter軟件進(jìn)行實(shí)時(shí)查看,需要特別注意的是,Kinova機(jī)械臂的姿態(tài)表示法為ZYX RPY角表示法,在調(diào)用HALCON算子制作機(jī)械臂姿態(tài)文件時(shí)要進(jìn)行標(biāo)識(shí),告知HALCON關(guān)于機(jī)械臂的姿態(tài)表示方法。
通過使用HALCON進(jìn)行手眼標(biāo)定后對(duì)標(biāo)定結(jié)果進(jìn)行反演,在15張圖片的情況下,結(jié)果如圖1所示。從圖1可以直觀地看到,通過多項(xiàng)式相機(jī)模型進(jìn)行鏡頭畸變矯正以后,標(biāo)定的誤差極小,通過對(duì)變量窗口中的數(shù)據(jù)進(jìn)行對(duì)比,在圖像坐標(biāo)系中的位置最大誤差為3.923 mm,均方誤差為3.143 mm,角度最大誤差為1.889°,均方誤差為1.356°。
圖1 反演后的結(jié)果(左:標(biāo)定時(shí)提取的坐標(biāo)信息;右:反演計(jì)算的坐標(biāo)信息)
通過采集多組包含不同數(shù)量的帶有標(biāo)定板的圖片集(不同圖片集中圖像不重復(fù)),對(duì)反演計(jì)算出的圖像坐標(biāo)中的位置量和姿態(tài)量進(jìn)行統(tǒng)計(jì)處理,繪制出了圖2和圖3的誤差曲線圖。從圖2和圖3中可以看到,使用更為精確的多項(xiàng)式攝像機(jī)模型能夠提高手眼標(biāo)定的準(zhǔn)確度,在圖片數(shù)量較少時(shí),使用精確的攝像機(jī)模型可以降低位置誤差和角度誤差。當(dāng)圖片數(shù)量較多時(shí),兩種攝像機(jī)模型下的位置誤差和角度誤差都呈上升趨勢(shì)。多項(xiàng)式模型誤差曲線上升得較為緩慢,但使用線性模型的情況下,誤差上升的趨勢(shì)明顯,這是由于線性模型對(duì)鏡頭畸變的修復(fù)能力有限,當(dāng)圖片數(shù)量增多時(shí),會(huì)有更多的高維空間的數(shù)據(jù)點(diǎn)參與線性擬合過程。隨著圖片的增多,鏡頭畸變的影響越發(fā)明顯。
圖2 位置誤差曲線
圖3 角度誤差曲線
當(dāng)使用同樣的攝像機(jī)模型時(shí),在拍攝圖片數(shù)量不足時(shí)誤差較大。隨著圖片數(shù)量的增多,誤差會(huì)達(dá)到最低,而當(dāng)圖片數(shù)量過多時(shí),誤差又開始增加,這也是由相機(jī)的畸變?cè)斐傻???傻贸鼋Y(jié)論,對(duì)于6DOF的Kinova機(jī)械臂,手眼標(biāo)定采集的圖像數(shù)在15~20張為宜。
本文通過HALCON平臺(tái)提供的豐富的機(jī)器視覺算子實(shí)現(xiàn)了6DOF機(jī)械臂的手眼標(biāo)定,闡述了線性標(biāo)定的原理。實(shí)驗(yàn)標(biāo)定精度達(dá)到了毫米級(jí),可以滿足生產(chǎn)線上一般工件的抓取任務(wù)進(jìn)度要求。研究了不同圖像數(shù)量和不同相機(jī)模型對(duì)手眼標(biāo)定的精度影響。實(shí)驗(yàn)證明對(duì)于6DOF的機(jī)器人采集15~20張用于手眼標(biāo)定的圖片可以達(dá)到較好的標(biāo)定精度,采用更高精度的攝像機(jī)模型消除相機(jī)的畸變影響可以提高手眼標(biāo)定的精度。
[1] Wang Ying, Zhang Guanlu, Lang Haoxiang, et al. A modified image-based visual servo controller with hybrid camera configuration for robust robotic grasping[J]. Robotics & Autonomous Systems, 2014, 62(10):1398-1407.
[2] Cai Caixia, SOMANI N, NAIR S, et al. Uncalibrated stereo visual servoing for manipulators using virtual impedance control[C]. International Conference on Control Automation Robotics & Vision. IEEE, 2015:1888-1893.
[3] 陶波, 龔澤宇, 丁漢. 機(jī)器人無標(biāo)定視覺伺服控制研究進(jìn)展[J]. 力學(xué)學(xué)報(bào), 2016, 48(4):767-783.
[4] TSAI R Y, LENZ R K. A new technique for fully autonomous and efficient 3D robotics hand/eye calibration[J]. IEEE Transactions on Robotics & Automation, 1989, 5(3):345-358.
[5] Zhuang Hanqi, ROTH Z S, SUDHAKAR R. Simultaneous robot/world and tool/flange calibration by solving homogeneous transformation equations of the form AX=YB[J]. IEEE Transactions on Robotics & Automation, 1994,10(4):549-554.
[6] MALM H, HEYDEN A. Simplified intrinsic camera calibration and hand-eye calibration for robot vision[C]. IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2003:1037-1043.
[7]王君臣,王田苗,楊艷,等. 非線性最優(yōu)機(jī)器人手眼標(biāo)定[J]. 西安交通大學(xué)學(xué)報(bào), 2011, 45(9):15-20.
[8]HELLER J, HENRION D, PAJDLA T. Hand-eye and robot-world calibration by global polynomial optimization[C]. IEEE International Conference on Robotics and Automation. arXiv, 2014:3157-3164.
[9] Mo Yuda, Zou Xiangjun, Ye Min, et al. Hand-eye calibration method based on sylvester equation deformation for lychee harvesting robot[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(4):47-54.