陳啟軍,周自強,劉成菊,孫曉嫻,張 雪
(同濟大學電子與信息工程學院,上海201804)
精度是評價工業(yè)機器人性能最重要的指標之一,可以分為重復(fù)定位精度和絕對定位精度。重復(fù)定位精度衡量的是機器人空間定位的可重復(fù)性,一般由機器人的材料、制作工藝等因素決定。實際運行過程中,溫濕度變化及負載變化等對其產(chǎn)生的影響較小,在現(xiàn)有加工工藝下,機器人的重復(fù)定位精度能保持較高水準。絕對定位精度描述的是末端到達指定工作空間的準確程度。除了環(huán)境及負載等因素外,機器人的控制模型參數(shù)是否準確也是影響機器人絕對定位精度的重要因素之一。研究表明,運動學中機械參數(shù)偏差所導(dǎo)致的絕對定位誤差占系統(tǒng)總誤差的65%~95%[1]。受機械加工誤差、安裝誤差等因素影響,機器人的實際結(jié)構(gòu)參數(shù)(如機械臂長等)與理想結(jié)構(gòu)參數(shù)之間存在偏差,導(dǎo)致控制模型不準確,嚴重降低機器人的絕對精度。提高機器人絕對定位精度主要有兩種途徑:提高零部件加工精度、裝配精度;利用運動學標定技術(shù)對控制模型參數(shù)進行辨識,對末端運動偏差加以修正或補償,實現(xiàn)更高精度的絕對定位。目前大多數(shù)理論研究與工程設(shè)計圍繞著通過標定改善精度這一思路展開。實踐表明,運動學標定已經(jīng)成為有效且主要的修正機器人絕對精度的途徑。
根據(jù)標定過程中使用的系統(tǒng)信息或測量手段的不同,運動學標定有以下3類方法[2]:外部標定法、約束標定法和自標定法[3-4]。外部標定法是利用額外的高精度測量工具測量機器人末端的運動誤差,根據(jù)建立的參數(shù)辨識模型進行參數(shù)辨識。約束標定法是通過在機器人工作空間設(shè)置帶約束的示教點,使得機器人末端在這幾個示教點間運動,得到相應(yīng)的約束條件來進行運動學參數(shù)辨識。自標定法則是利用機器人自身的幾何約束條件進行機器人標定。其中,外部標定法以其易于計算和實踐的優(yōu)勢,被廣泛應(yīng)用于科研及工程現(xiàn)場。文獻[5]中將外部標定法分為4 個步驟進行:建立運動學參數(shù)辨識模型;利用外部設(shè)備對機器人末端位姿誤差進行測量;利用參數(shù)辨識模型和測量誤差進行參數(shù)辨識優(yōu)化;利用優(yōu)化結(jié)果進行精度補償。
末端位姿誤差測量是外部標定法中最為關(guān)鍵的一步。一般需要借助額外的位姿測量設(shè)備,測量機器人末端對應(yīng)的實際位姿。當前主流的測量方法可以分為以下兩類:①通過位姿約束構(gòu)成坐標空間閉環(huán)。在機器人工作空間施加形狀已知的物理約束;或設(shè)定特定的路徑軌跡,測量末端在該路徑上特定方向的偏差,建立約束方程來求解機器人運動學參數(shù)[6],該測量方法往往需要配合測量儀器使用。②使用高精度位姿測量儀器進行測量。常用的測量系統(tǒng)包括三坐標測量儀[3]、自動經(jīng)緯儀[7]和激光跟蹤儀[8]等。
為了降低測量成本和操作復(fù)雜度,越來越多的學者采用視覺的方式進行高精度測量。利用視覺進行運動學參數(shù)辨識的過程一般分為兩步[9]:相機自標定和運動學參數(shù)自標定。Zhu等[10]提出一種更適應(yīng)于工業(yè)環(huán)境的相機參數(shù)標定方案;文獻[11]證明了當目標距離相機較遠的時候單目視覺在位姿測量上的效果明顯優(yōu)于雙目視覺。除了傳統(tǒng)的視覺測量外,Wang等[12]提出了一種利用視覺并基于神經(jīng)網(wǎng)絡(luò)的方式進行位置誤差估計;Stepanova 等[13]利用RGB-D的立體相機進行末端位姿的測量;Aitor等[14]利用三個機載相機進行六足機器人的運動學測量。Andreff 等[15]討論了將視覺技術(shù)應(yīng)用于工作空間較小的并聯(lián)機器人的運動學參數(shù)標定;孫月海等[16]利用單目視覺實現(xiàn)了對Delta 機器人的零點位置標定。文獻[17]和文獻[18]對串聯(lián)工業(yè)機器人的誤差產(chǎn)生原因進行了充分的分析和建模;文獻[19]則對更為復(fù)雜的主臂并聯(lián)拓撲的混合機器人進行了運動誤差分析和標定。針對六自由度工業(yè)機器人,Wang 等[20]提出了一種兩步標定法進行運動學參數(shù)辨識,Lembono等[21]使用2D激光做測量工具進行運動學參數(shù)辨識。
本文針對當前高精度測量設(shè)備昂貴以及操作復(fù)雜等現(xiàn)狀,提出了一種基于單目視覺的位姿測量方案和分級測量方法,克服了視覺測量中測量空間小的局限,降低了相機畸變對測量精度的影響;建立了基于距離誤差的參數(shù)辨識模型,結(jié)合基于視覺的測量方法,簡化了標定流程;最后通過實驗驗證了本方案的可行性和有效性。
對運動學參數(shù)的辨識是進行運動學標定的根本任務(wù)。通過比較機器人正運動學模型計算出的理論位姿和利用測量設(shè)備測量的實際位姿之間的誤差,利用相應(yīng)的優(yōu)化算法,對運動學參數(shù)進行擬合辨識。
文獻[22]提出,一個有效的標定模型必須滿足完備性、比例性和連續(xù)性的要求。但是DH(Denavit-Hartenberg)建模方法在連續(xù)性上有著巨大的缺陷,特別是對于兩個平行的相鄰軸而言。當兩平行軸間有微小誤差,按照DH建模原則,相鄰兩軸不平行時坐標系原點建立在兩軸的公垂線上,此時兩坐標系之間的關(guān)節(jié)參數(shù)偏距di的變化對兩軸之間的夾角誤差異常敏感[23]。為解決此問題,本文采用了Samad等[24]提出的5 參數(shù)MDH(modified-DH)模型,即在DH 模型的基礎(chǔ)上增加了一個繞Y軸的扭角βi。該扭角定義為相鄰平行關(guān)節(jié)軸Zi與Zi+1與XiOiZi平面的夾角。所以MDH 模型中相鄰兩平行關(guān)節(jié)之間的變換矩陣為
式中:Trot(Z,θi)為繞Z軸旋轉(zhuǎn)θi的變換矩;Ttra(Z,di)為沿Z軸平移di的變換矩陣;Ttra(X,ai)為沿X軸平移ai的變換矩陣;Trot(X,αi)為繞X軸旋轉(zhuǎn)αi的變換矩陣;Trot(Y,βi)為繞Y軸旋轉(zhuǎn)βi的變換矩陣。
當相鄰兩關(guān)節(jié)不平行時,MDH模型與DH模型一致;當相鄰兩關(guān)節(jié)平行時,MDH 模型中關(guān)節(jié)坐標系的建立與DH 模型中關(guān)節(jié)坐標系建立方式一致,di=0時,βi是否等于0,由機械誤差決定,當相鄰兩平行關(guān)節(jié)軸有微小偏差時不為0。因此,MDH 模型能夠克服DH模型的不足。
本文研究的實體對象是伊雪松公司生產(chǎn)的EDV6007 機械臂,其 MDH 模型參數(shù)如表 1 所示,建立的關(guān)節(jié)坐標系如圖1所示。
表1 MDH模型參數(shù)理論值Tab.1 Theoretical value of MDH model parameters
圖1 EDV6007的正運動學模型Fig.1 EDV60007 kinematic model
對機器人絕對定位誤差進行測量時,往往涉及到測量坐標系和機器人基坐標系之間的坐標變換關(guān)系。一方面,這兩者之間的轉(zhuǎn)換關(guān)系往往難以精確測量;另一方面,在標定前增加測量該轉(zhuǎn)換矩陣的環(huán)節(jié)無疑加大了標定過程的復(fù)雜度與操作難度,加大了對非專業(yè)人員的要求。為了實現(xiàn)更容易操作的標定方案,在文獻[25-27]的基礎(chǔ)上,設(shè)計了一種基于位移精度的末端誤差計算模型,利用空間兩點間的距離精度來衡量機器人的絕對定位精度。這樣不僅能避免求取測量坐標系和機器人基坐標系之間轉(zhuǎn)換矩陣引起的誤差,而且能簡化整個標定流程。
根據(jù)1.1 節(jié)中建立的正運動學模型,可以得到在機器人基坐標系下,機器人末端的位置為末端坐標系到基坐標系轉(zhuǎn)換矩陣T0,e中第4列的前3項,即
如果用Pm(i,j)和PR(i,j)分別表示通過相機位姿估計測量和理想正運動學模型得到的機器人處于指令軌跡上i點和j點時末端運動的位移,則通過位移得到的理想化約束關(guān)系為
式中:P(i,j)為工作空間中第i個點到第j個點的位移;X為所有關(guān)節(jié)參數(shù)的集合。
對于機器人工作空間內(nèi)任意兩點的位移,可以建立如式(3)所示包含25 個MDH 模型關(guān)節(jié)參數(shù)的方程。在實際實驗過程中,可以設(shè)定一個中心點c,根據(jù)其他n組點到該中心點的位移誤差,建立如下方程組:
式(4)是一個超定的非線性方程組,將對機器人運動學參數(shù)辨識的過程變成了一個帶約束的非線性回歸問題。利用高斯-牛頓迭代優(yōu)化算法對該超定的非線性方程求解。每兩組指定位置之間距離誤差對應(yīng)的雅可比矩陣定義如下:
式中:ji為距離誤差對第i組關(guān)節(jié)參數(shù)的偏導(dǎo),ji=為距離誤差對 MDH 模型中引入的扭角參數(shù)β2的偏導(dǎo)
對于m組數(shù)據(jù),可以建立一個m行的雅可比辨識矩陣。
利用高斯-牛頓迭代法進行非線性回歸的參數(shù)辨識的偽代碼如表2所示。
表2 高斯牛頓迭代法的運動學參數(shù)辨識Tab.2 Gauss-Newton iterative algorithm for kinematic identification
一般而言,單目視覺測量主要通過識別黑白相間的平面標定板上的角點信息,然后利用透視N點定位算法(PnP算法)進行位姿測量。實際應(yīng)用中有眼在手(eye-in-hand)和眼在外(eye-to-hand)兩種形式。本文中由于設(shè)計了一種特殊的標定板,其體積不適合固定在機械臂上,所以采用的是眼在手的形式,也就是將相機固定在末端。
利用單目視覺測量有兩個主要缺陷:相機視野范圍過大導(dǎo)致精度下降;相機圖像畸變引起測量誤差。為了提高相機的測量精度,在實際標定過程中一般需要遵循以下準則:應(yīng)保持相機盡可能工作在較小的視野范圍;應(yīng)保持棋盤格盡可能處于圖片中間位置,以消除邊緣處畸變過大引起的巨大誤差。
這兩個準則制約著視覺測量在工作空間更大的機械臂中的應(yīng)用。相比于并聯(lián)機器人,六自由度機械臂工作空間更大,而且姿態(tài)變化也更為復(fù)雜。用于測量并聯(lián)機器人位姿的棋盤格明顯不適用于六自由度機械臂的高精度測量。為了克服這兩個問題,本文設(shè)計了一種分級測量的方案。
為了擴大機器人的活動范圍,本文將傳統(tǒng)的A4紙大小的平面標定板進行擴充,使得機械臂在不同的位姿下,不需要利用全部的平面標定板信息,只需要檢測識別視野中心畸變最小的標定板信息。設(shè)計一種特殊標志,使得每次識別到的位于視野中心的角點陣列能對應(yīng)于一個特定的位置。這種特殊標志不能影響對角點陣列的識別,同時易于識別,且有一定的抗干擾性。因此通過擴大平面標定板的方式能夠擴大機器人的活動空間,同時減小因標定板信息在圖像角落而引入相機畸變造成的測量誤差。
基于此,設(shè)計了如圖2 所示的二元編碼的棋盤格。其中有半圓符號的表示為1,沒有半圓符號的表示為0。而且該半圓符號僅分布在方格的上半部,這樣就可以有效地明確棋盤格的朝向。
圖2 二元編碼簡化示意圖Fig.2 Schematic diagram of binary coding simplification
除了保證能準確地識別到特殊標號,每個角點陣列的編號唯一性也尤為重要。該問題的數(shù)學描述為:給定四元組(M,N;m,n),其中(m<M,n<N ),通過二元編碼,使得矩陣M×N中任意的子矩陣m×n均具有不同的二維編碼。其中相機的有效范圍(m×n)可根據(jù)實際應(yīng)用場景來選取。
本文利用文獻[28]給出的由r階本原多項式生成長度為l=2r-1的偽隨機序列算法,構(gòu)造n階(不失一般性,可假定m<n)移位寄存器,獲取長度為S=2n-1 的一維編碼,并將編碼連續(xù)的N-n+1個狀態(tài)歸為一組。由于相鄰編碼之間有n-1 個編碼重復(fù),可知每組對應(yīng)的偽隨機序列長度為N,共可獲得K=S/(N-n+1)組。接著將得到的K組編碼集合進行二維拓展。從矩陣的第1 行開始,按行填充矩陣。將第i組長度為N的序列放置在第(i-1)·m+1行,并重復(fù)m行。
如圖3 所示,利用分級測量系統(tǒng)計算相機在測量坐標系中的位姿時,首先僅使用視野中心方格附近的角點陣列,利用透視N點定位算法(PnP 算法)計算出相機在該角點陣列處坐標系的位姿。
圖3 分級位移測量示意圖Fig.3 Schematic diagram of hierarchical measurement method
其次利用不同角點陣列之間僅存在相對位移的約束,利用視覺識別每個角點陣列的編碼,獲得其在平面標定板中的絕對位置,將相機的運動劃分為兩部分。利用這種方式,不僅可以始終保證每次利用的信息都是圖像中靠近中心區(qū)域的畸變小的信息,而且可以通過擴充棋盤標定板的大小,增大機器人末端的活動空間。
利用視覺測量一般得到的都是相機在測量坐標系中的位姿,但是利用正運動學模型計算得到的是機器人末端的位姿。所以,如何準確地獲得機器人末端和相機坐標系之間的轉(zhuǎn)換關(guān)系尤為重要。
當把相機利用夾具剛性固定在機器人末端,若只考慮位移誤差,則只需要獲得相機坐標系和末端之間的相對位移即可準確地用相機位置表示出末端的位置。一些學者采用了手眼標定的方案。對于標定過程,利用不精確的正運動學模型計算出手和眼的關(guān)系,并將這種關(guān)系應(yīng)用于標定運動學模型顯然是不合適的。所以本文提出了一種單軸旋轉(zhuǎn)法來測量手和眼之間的位置關(guān)系,如圖4所示。
圖4 單軸旋轉(zhuǎn)法示意圖Fig.4 Schematic diagram of single axis rotation method
將相機剛性固定在末端,單獨旋轉(zhuǎn)一個關(guān)節(jié)時,相機的軌跡必然在一個空間圓上,且該空間圓的軸線就是該旋轉(zhuǎn)軸的Z軸。利用這一性質(zhì),可以通過單獨旋轉(zhuǎn)最后的第6軸和第5軸,得到最后兩個坐標系的Z軸方程。根據(jù)DH建模規(guī)則,可以得到第6個軸處的坐標原點。而末端坐標和第6個軸的坐標只存在沿著第6個軸處坐標系Z軸的平移,由于該平移關(guān)系完全由最后一個桿長決定,而單一桿長的加工精度遠高于連桿之間的組裝精度,因此,利用最后一個連桿的桿長作為實際桿長,可以建立相機坐標和末端坐標之間的準確位移關(guān)系。即可以利用相機準確測量末端的位置。
本文使用配備普通USB攝像頭的相機,獲取的圖像分辨率為1 080 像素×1 920 像素,相機視野角度為120°,標定板為擠壓定制的亞克力板,其表面平整度能夠達到0.3 mm。相機位姿的計算是通過整個角點陣列計算的,在小范圍內(nèi)的起伏不會影響計算過程。棋盤格的打印通過高精度打印機打印,每個像素點邊長能控制在0.01 mm以下。
本文利用帶有編碼器的傳送帶(編碼器一格對應(yīng)傳送帶位移0.021 663 mm)作為測量工具,設(shè)計如下實驗進行相機測量精度驗證,如圖5 所示。將棋盤格近似垂直放置,相機固定在傳送帶上,朝向棋盤格。整個測量過程保證相機能完整識別到中心的角點陣列。實驗分三組進行,通過改變相機或棋盤格的擺放方式,使傳送帶的運動方向依次近似沿測量坐標系的X、Y和Z軸運動。每組實驗通過控制傳送帶帶動相機運動。記錄每次運動時對應(yīng)的編碼器數(shù)值和相機的圖片;通過編碼器變化值計算出相機實際運動距離作為真實距離;利用圖像處理計算得到的運動距離作為測量距離;計算兩者之間的差。
圖5 相機測量精度驗證實驗示意圖Fig.5 Schematic diagram of camera measurement accuracy verification experiment
考慮到單目測量系統(tǒng)中,相機在Z軸方向上距離標定板的距離對測量結(jié)果影響較大,通過設(shè)計兩組實驗進行驗證:改變相機和標定板之間的距離,進行多組實驗;選擇合適的距離后進行多次測量。實驗結(jié)果如圖6 所示。從圖6a 中可以看出,當相機與標定板之間的距離小于400 mm左右時,單目視覺測量系統(tǒng)的誤差均值在0.05 mm 以下。圖6b 中則是保持相機和標定板之間距離在200~400 mm(距離的最小值根據(jù)角點陣列是否全部處于圖像中選擇)之間多次測量的結(jié)果,可以看出本方案中的視覺測量誤差在該范圍內(nèi)能保持在0.05 mm 以下。因此,此視覺測量系統(tǒng)能滿足標定過程中的精度要求。
1.2節(jié)中基于距離的末端誤差函數(shù),計算方法并不是簡單地利用笛卡爾空間中距離的不變性,而是分別計算X、Y、Z三個方向的位移誤差,涉及到測量坐標系和基坐標系之間的轉(zhuǎn)換關(guān)系。本文利用水平儀(型號為DXL360S,精度為0.01°)使得標定板平面和機器人基座平面保持平行。因此可以假定機器人基坐標系和測量坐標系之間僅存在繞Z軸的旋轉(zhuǎn)和簡單的平移關(guān)系。對于本文采用的末端誤差函數(shù),可以忽略兩者之間的平移關(guān)系。本文中控制機器人分別沿著基坐標系的X軸和Y軸運動,利用視覺測量出末端在測量坐標系中的軌跡。分別對兩條軌跡利用最小二乘法進行擬合,獲得基坐標系中X軸和Y軸在測量坐標系中的表示。即獲得了兩者繞Z軸的轉(zhuǎn)角。這樣就可以準確測得末端實際運行的位移誤差。
圖6 單目視覺測量精度驗證實驗Fig.6 Monocular vision measurement accuracy verification experiment
本文選擇第1 個點作為其他點的起點(距離標定板300 mm),然后在以該點為球心的空間球(半徑為75 mm,根據(jù)3.1中實驗確定)上均勻選取94個測量點。標定前后總共94 個測量位形上位置誤差的變化情況如圖7 所示。表3 為經(jīng)過標定后運動學參數(shù)的變化值。標定前位置誤差最大值為1.837 9 mm,平均值為1.132 5 mm,誤差標準差為0.336 5;標定后位置誤差最大值為1.045 9 mm,平均值為0.528 8 mm,標準差為0.217 7 mm。
表3 MDH模型參數(shù)修正值Tab.3 Corrected value of MDH model parameters
圖7 標定前后末端位移誤差Fig.7 End displacement error before and after calibration
本文設(shè)計了一種低成本、操作簡單的單目視覺測量方案。利用分級測量方法和絕對編碼定位方法有效地擴大了利用視覺的測量空間,同時避免了由于圖片邊緣畸變引起的測量誤差;通過視覺精度測量實驗對此測量方案的有效性進行驗證,結(jié)果表明,此測量系統(tǒng)在較大的活動范圍內(nèi)能保持較高的測量精度。但是,此視覺測量系統(tǒng)操作過程中需要保證足夠的視野,使得機器人的運動空間局限在距離標定板的一定高度且近似朝向標定板的范圍內(nèi)。這種限制是進一步提高運動學參數(shù)辨識性能的關(guān)鍵阻礙。
另外,本文結(jié)合視覺測量方案和基于位置誤差的辨識模型,設(shè)計了一種針對串聯(lián)機器人的運動學參數(shù)辨識方案,具有一定的泛化性。在伊雪松EDV6007機械臂上進行的實驗結(jié)果表明,能將其位置誤差平均值從1.132 5 mm 降低到0.528 8 mm。本文提出的辨識方案使用低成本的工業(yè)相機作為測量設(shè)備,辨識過程操作要求低,后續(xù)能將相機自標定和機器人標定整合為全自動化標定系統(tǒng)。