陳 濤,劉 娣,喬貴方,周霆威,田榮佳
(南京工程學(xué)院自動(dòng)化學(xué)院,南京 211167)
隨著機(jī)器人技術(shù)的快速發(fā)展,機(jī)器人在人類生活中占據(jù)了越來越重要的角色[1]。相比于單機(jī)器人系統(tǒng),多機(jī)器人系統(tǒng)在協(xié)同搬運(yùn)得到了越來越多的學(xué)者關(guān)注。其中,分布式編隊(duì)、多機(jī)器人建圖導(dǎo)航等問題都是多機(jī)器人系統(tǒng)的研究熱點(diǎn)[2-4]。定位技術(shù)是多機(jī)器人系統(tǒng)協(xié)同作業(yè)的關(guān)鍵技術(shù)之一。目前,多機(jī)器人定位系統(tǒng)可以分為絕對(duì)定位系統(tǒng)與相對(duì)定位系統(tǒng)[5]。其中,絕對(duì)定位系統(tǒng)主要包含基于多視覺傳感器的運(yùn)動(dòng)捕捉系統(tǒng)、WiFi定位、北斗或全球定位系統(tǒng)等[6-7],此類系統(tǒng)是將機(jī)器人的位姿表達(dá)在固定的參考坐標(biāo)系下。而相對(duì)定位系統(tǒng)主要包含慣性導(dǎo)航、航跡推算等,該系統(tǒng)是以機(jī)器人的初始狀態(tài)作為參考計(jì)算相應(yīng)的位姿。
劉冉等[8]提出一種基于超寬帶(ultra-wide band,UWB)融合里程計(jì)的多機(jī)器人定位方法,該方法的平均定位誤差為0.312 m。吳玉秀等[9]提出一種基于聲音的多機(jī)器人定位方法,每個(gè)機(jī)器人通過檢測與發(fā)聲機(jī)器人之間的相對(duì)位置,該系統(tǒng)的平均定位誤差為0.16 m。廖志涵等[10]提出一種基于標(biāo)簽的室內(nèi)機(jī)器人全局定位系統(tǒng),該系統(tǒng)將AprilTag標(biāo)簽粘貼在天花板上作為參考錨點(diǎn),移動(dòng)機(jī)器人通過單目攝像頭實(shí)現(xiàn)全局定位,該系統(tǒng)的平均定位精度為0.1 m,但該系統(tǒng)檢測范圍受限于AprilTag標(biāo)簽的檢測視角,因此需要在工作場景中布置大量的標(biāo)簽。但基于視覺的定位系統(tǒng)具有相對(duì)較高的定位精度。
因此,本文通過結(jié)合AprilTag標(biāo)簽與多面體結(jié)構(gòu),設(shè)計(jì)一種正十二面體AprilTag靶標(biāo),通過該靶標(biāo)裝置既能夠有效地降低單目視覺定位系統(tǒng)檢測誤差的同時(shí),又能夠擴(kuò)展定位系統(tǒng)的檢測范圍。
AprilTag標(biāo)簽廣泛應(yīng)用于AR、機(jī)器人、視覺校準(zhǔn)等領(lǐng)域[11-12],其標(biāo)簽形式如圖1所示。該標(biāo)簽?zāi)軌驅(qū)崟r(shí)計(jì)算其與相機(jī)間的相對(duì)位姿,在識(shí)別過程中主要包含AprilTag標(biāo)簽預(yù)處理、四邊形檢測、編碼與解碼、位姿解算。AprilTag標(biāo)簽有不同的家族,其對(duì)應(yīng)的標(biāo)簽點(diǎn)陣各不相同,如圖1所示的Tag36h11標(biāo)簽,該二維碼邊長為8個(gè)黑邊,其中的有效編碼區(qū)域是除去外部黑邊的6*6的部分,該部分區(qū)域有黑有白,黑的區(qū)域被編為1,白的區(qū)域被編為0,從而得到36位的二進(jìn)制編碼。該二進(jìn)制編碼還包含其對(duì)應(yīng)的ID信息。最后,根據(jù)標(biāo)簽已知的4個(gè)頂點(diǎn)坐標(biāo)即可求出相對(duì)于原始坐標(biāo)的單線性變換矩陣,分解該矩陣就可求出旋轉(zhuǎn)變換向量以及平移變換向量。
圖1 Tag36h11標(biāo)簽
AprilTag標(biāo)簽具有檢測位姿范圍有限和檢測精度較低等問題。為解決該問題,本文提出了一種將AprilTag標(biāo)簽與正十二面體相結(jié)合的立體靶標(biāo)識(shí)別裝置,如圖2a所示。正十二面體相較于其他正多面體既可以保證單點(diǎn)位姿下AprilTag標(biāo)簽識(shí)別的數(shù)量,又可以保證AprilTag標(biāo)簽的有效識(shí)別。該立體靶標(biāo)識(shí)別裝置在正十二面體的表面分別粘貼AprilTag標(biāo)簽,當(dāng)機(jī)器人與視覺傳感器之間的相對(duì)位姿變化較大時(shí),正十二面體表面的AprilTag標(biāo)簽仍能夠被視覺傳感器檢測到,從而擴(kuò)大了位姿測量范圍。除此以外,由于在同一角度下,視覺傳感器能夠檢測2個(gè)以上的AprilTag標(biāo)簽,通過正十二面體表面之間的位姿轉(zhuǎn)換約束,可以提升AprilTag的相對(duì)位姿檢測精度。
(a) 正十二面體AprilTag靶標(biāo) (b) AprilTag坐標(biāo)系轉(zhuǎn)換
如圖2b所示,選擇正十二面體的其中一面的中心為原點(diǎn)構(gòu)建正十二面體的參考坐標(biāo)系,將其他11個(gè)面的AprilTag標(biāo)簽引入正十二面體坐標(biāo)系中,根據(jù)正十二面體的面與面之間的空間位置關(guān)系,分別計(jì)算得到貼在正十二面體上的其他11個(gè)面的AprilTag標(biāo)簽在正十二面體坐標(biāo)系下的相對(duì)位姿Trefi(i=1,2,…,11)。
本文利用常規(guī)的AprilTag標(biāo)簽識(shí)別算法對(duì)視覺傳感器視角范圍的正十二面體AprilTag靶標(biāo)表面的AprilTag標(biāo)簽進(jìn)行位姿檢測,當(dāng)前視圖中AprilTag標(biāo)簽在視覺傳感器坐標(biāo)系下的位姿矩陣Ti,其對(duì)應(yīng)的相對(duì)位姿矩陣為Trefi,那么通過第i個(gè)AprilTag標(biāo)簽可以計(jì)算得到在視覺傳感器坐標(biāo)系下的正十二面體的空間位姿矩陣T:
(1)
由于每個(gè)視圖中可以檢測出多個(gè)AprilTag標(biāo)簽,將以上得到空間位姿矩陣T的均值作為正十二面體在視覺傳感器坐標(biāo)系下的空間位姿矩陣Tf。
(2)
式中:n為視覺傳感器每一幀檢測到的AprilTag標(biāo)簽數(shù)量。
由于正十二面體AprilTag靶標(biāo)與被測物體的空間相對(duì)位姿轉(zhuǎn)換關(guān)系已知,記為Trefk,則被測物體在視覺傳感器坐標(biāo)系下的位姿矩陣Trefc為:
Trefc=TfTref-1k
(3)
為了驗(yàn)證正十二面體AprilTag靶標(biāo)位姿檢測算法,本文利用Staubli TX60工業(yè)機(jī)器人搭建了位姿精度檢測實(shí)驗(yàn)平臺(tái),如圖3所示。Staubli TX60工業(yè)機(jī)器人的重復(fù)定位精度為±0.02 mm,絕對(duì)定位精度為±0.3 mm,可以作為實(shí)驗(yàn)中標(biāo)簽與靶標(biāo)的位姿真值。實(shí)驗(yàn)中以Staubli TX60工業(yè)機(jī)器人的反饋位姿作為檢測位姿的真值。AprilTag標(biāo)簽識(shí)別算法運(yùn)行在Ubuntu18.04系統(tǒng)和ROS環(huán)境下。本文采用Intel RealSense D435i視覺傳感器,其分辨率為1280*720。將單個(gè)AprilTag標(biāo)簽和正十二面體AprilTag靶標(biāo)通過轉(zhuǎn)接板分別安裝在Staubli TX60工業(yè)機(jī)器人的末端法蘭盤上,視覺傳感器與末端法蘭盤之間的測量距離保持在1 m左右。本文的實(shí)驗(yàn)數(shù)據(jù)均在MATLAB軟件中處理。
(a) 單個(gè)AprilTag標(biāo)簽位姿檢測 (b) 與正十二面體AprilTag靶標(biāo)位姿檢測
為提升位姿檢測精度,本文利用MATLAB Calibration Tools工具箱對(duì)視覺傳感器進(jìn)行標(biāo)定。相機(jī)標(biāo)定獲取的棋盤格標(biāo)定板圖像如圖4所示,棋盤格標(biāo)定板的網(wǎng)格大小為27 mm×27 mm。圖5是視覺傳感器在不同角度拍攝的40張棋盤格標(biāo)定板的投影圖像。為提升標(biāo)定精度,對(duì)平均像素誤差較大的圖片進(jìn)行剔除,最后剩余25張圖片,標(biāo)定后的視覺傳感器的平均像素誤差如圖6所示。
圖4 標(biāo)定過程中拍攝到的棋盤格
圖5 標(biāo)定過程中棋盤格的投影圖6 剔除平均像素誤差較大圖片后的相機(jī)標(biāo)定誤差
標(biāo)定后可得到視覺傳感器的內(nèi)參矩陣與畸變向量分別如式(4)與式(5)所示。
(4)
式中:fx和fy為視覺傳感器在x和y方向上的焦距,cx和cy為視覺傳感器像素坐標(biāo)系中心原點(diǎn)在x和y方向上的平移。
P=[k1k2p1p2]=[0.0695 -0.0932 0 0]
(5)
式中:k1和k2為視覺傳感器的徑向畸變系數(shù),p1和p2為視覺傳感器的切向畸變系數(shù)。
AprilTag標(biāo)簽與ArUco標(biāo)簽都是常用的位姿檢測標(biāo)記,本文通過實(shí)驗(yàn)對(duì)比兩者的定位精度,實(shí)驗(yàn)中將兩者分別固定在Staubli TX60工業(yè)機(jī)器人的末端法蘭上,并沿著機(jī)器人基座標(biāo)系的x軸、y軸及z軸以10 mm間距分別移動(dòng)6次,相機(jī)距離標(biāo)簽300 mm的位置分別測量3個(gè)軸方向上的6個(gè)位姿點(diǎn),從而求取各個(gè)軸上的5個(gè)相對(duì)位置誤差。實(shí)驗(yàn)結(jié)果如表1所示,從表1中可以看出Apriltag標(biāo)簽的綜合定位精度優(yōu)于ArUco標(biāo)簽,因此,本文選擇AprilTag標(biāo)簽作為正十二面體靶標(biāo)標(biāo)記。
表1 AprilTag標(biāo)簽與ArUco標(biāo)簽相對(duì)位置誤差 (mm)
再通過實(shí)驗(yàn)對(duì)不同大小的AprilTag標(biāo)簽進(jìn)行位姿識(shí)別精度的驗(yàn)證。將不同大小的標(biāo)簽固定在Staubli TX60工業(yè)機(jī)器人的末端法蘭盤上,控制機(jī)器人沿著基座標(biāo)系的x軸方向(朝著視覺傳感器)以50 mm距離遞進(jìn)移動(dòng)6次,分別測量這6個(gè)位姿點(diǎn),從而求取位姿相對(duì)誤差。實(shí)驗(yàn)中AprilTag標(biāo)簽的尺寸分別取30×30 mm,50×50 mm,70×70 mm,90×90 mm,110×110 mm。實(shí)驗(yàn)結(jié)果如圖7和圖8所示,從圖中可以出,無論是相對(duì)位置誤差還是相對(duì)姿態(tài)誤差,AprilTag標(biāo)簽越大,所檢測出來的位姿精度都會(huì)有所提升,并且誤差的波動(dòng)也會(huì)越來越小。
(a) 標(biāo)簽x軸相對(duì)姿態(tài) (b) 標(biāo)簽y軸相對(duì)姿態(tài)
圖7 不同大小AprilTag標(biāo)簽相對(duì)位置誤差
(c) 標(biāo)簽z軸相對(duì)姿態(tài)
為進(jìn)一步確定AprilTag標(biāo)簽的尺寸,表2中計(jì)算出位姿誤差的均值。從表2中看出AprilTag標(biāo)簽的尺寸在90×90 mm時(shí),相對(duì)位置誤差約為2 mm,相對(duì)姿態(tài)誤差約為1°,相對(duì)位姿誤差趨于平穩(wěn)。
表2 不同大小AprilTag標(biāo)簽平均相對(duì)位姿誤差
本文利用3D打印機(jī)制作正十二面體AprilTag靶標(biāo),選取AprilTag標(biāo)簽的大小為30×30 mm,將每個(gè)面所對(duì)應(yīng)的AprilTag標(biāo)簽貼在正十二面體表面上,最后將正十二面體AprilTag靶標(biāo)通過連接件固定在Staubli TX60工業(yè)機(jī)器人的末端法蘭上,所搭建的實(shí)驗(yàn)場景如圖3b所示。分別控制Staubli TX60工業(yè)機(jī)器人的末端法蘭沿著其基座標(biāo)系的x軸、y軸、z軸的方向以50 mm間距移動(dòng)6次,分別測量在這3個(gè)軸方向上的6個(gè)位姿點(diǎn),從而求取各個(gè)軸上的5個(gè)相對(duì)位姿誤差。
經(jīng)過實(shí)驗(yàn)得到的各個(gè)軸方向上的相對(duì)位姿誤差如圖9與圖10所示。從實(shí)驗(yàn)結(jié)果中可以看出正十二面體AprilTag靶標(biāo)的相對(duì)位姿檢測精度明顯優(yōu)于單個(gè)AprilTag標(biāo)簽位姿檢測精度。
(a) 正12面體x軸上相對(duì)位置 (b) 正12面體y軸上相對(duì)位置
(c) 正12面體z軸上相對(duì)位置
(a) 正12面體x軸上相對(duì)姿態(tài) (b) 正12面體y軸上相對(duì)姿態(tài)
(c) 正12面體z軸上相對(duì)姿態(tài)
將正十二面體AprilTag靶標(biāo)檢測出來的相對(duì)位姿誤差求取相應(yīng)的均值,計(jì)算結(jié)果如表3所示。從表中可以看出,正十二面體AprilTag靶標(biāo)在3個(gè)軸方向上的相對(duì)位置誤差都在0.7 mm之內(nèi),相對(duì)姿態(tài)誤差均在0.5°之內(nèi)。與30×30 mm尺寸的單個(gè)AprilTag標(biāo)簽相比較,其相對(duì)位置誤差減少了約83.6%,同時(shí)在3個(gè)軸向上的相對(duì)姿態(tài)誤差分別減少了約95.2%、94.6%、89.1%。
表3 正十二面體AprilTag靶標(biāo)平均相對(duì)位姿誤差
綜上所述,通過以上實(shí)驗(yàn)結(jié)果驗(yàn)證了本文提出的正十二面體AprilTag靶標(biāo)的位姿檢測精度相較于單AprilTag標(biāo)簽位姿識(shí)別精度有顯著提升,能夠較好地適用于多機(jī)器人系統(tǒng)的定位。
本文針對(duì)多機(jī)器人的全局定位系統(tǒng)展開研究,提出設(shè)計(jì)了一種基于Apriltag標(biāo)簽和正多面體的正十二面體AprilTag靶標(biāo),并通過視覺傳感器檢測該靶標(biāo)的相對(duì)空間位姿。該靶標(biāo)裝置既擴(kuò)展了檢測視角范圍,又進(jìn)一步地提升了空間位姿定位精度。本文通過搭建實(shí)驗(yàn)平臺(tái)進(jìn)行了正十二面體AprilTag靶標(biāo)的檢測精度,實(shí)驗(yàn)結(jié)果表明,本文提出的正十二面體AprilTag靶標(biāo)的相對(duì)位姿檢測精度明顯優(yōu)于單個(gè)AprilTag標(biāo)簽位姿檢測精度。當(dāng)采用相同尺寸的AprilTag標(biāo)簽時(shí),相對(duì)位置誤差降低了約83.6%,同時(shí)在3個(gè)軸向上的相對(duì)姿態(tài)誤差分別減少了約95.2%、94.6%、89.1%。從而證明了本文提出的正十二面體AprilTag靶標(biāo)能夠較好地應(yīng)用于多機(jī)器人系統(tǒng)中。