陳天炎,韓澤明
(1.福建船政交通職業(yè)學(xué)院 軌道交通學(xué)院,福建 福州 350007;2.福建理工大學(xué) 交通工程學(xué)院,福建 福州 350108)
定位精度是影響工業(yè)機(jī)器人性能的重要因素,人們需要經(jīng)常對(duì)工業(yè)機(jī)器人進(jìn)行標(biāo)定,以提高機(jī)器人的定位精度來(lái)滿足工業(yè)生產(chǎn)上的需要.但是由于機(jī)器人零部件的加工制造誤差、裝配誤差、關(guān)節(jié)磨損和傳動(dòng)誤差等的影響,機(jī)器人的絕對(duì)定位精度較低,限制了機(jī)器人在高精度領(lǐng)域的應(yīng)用幅度與深度.因此,對(duì)工業(yè)機(jī)器人的絕對(duì)定位精度做進(jìn)一步的研究,具有極為關(guān)鍵的現(xiàn)實(shí)價(jià)值與意義.
機(jī)器人在運(yùn)動(dòng)過(guò)程中工具中心點(diǎn)(TCP)的位置和姿態(tài)是通過(guò)運(yùn)動(dòng)學(xué)數(shù)學(xué)模型嚴(yán)密計(jì)算得到的,運(yùn)動(dòng)學(xué)模型中含有機(jī)器人所有連桿結(jié)構(gòu)尺寸和關(guān)節(jié)運(yùn)動(dòng)參數(shù),這些參數(shù)的計(jì)算取值與機(jī)器人實(shí)際參數(shù)值之間存在誤差,導(dǎo)致計(jì)算結(jié)果與實(shí)際位姿二者之間存在一定的誤差.現(xiàn)階段在實(shí)踐層面上有如下兩種方法用于實(shí)現(xiàn)對(duì)末端絕對(duì)定位精度的提升.1)借助高精度加工設(shè)備,并加強(qiáng)與先進(jìn)裝配的配合,據(jù)此規(guī)避與降低機(jī)器人出廠時(shí)的內(nèi)部誤差;2)應(yīng)用更優(yōu)量的測(cè)量工具和方法,對(duì)機(jī)器人的結(jié)構(gòu)參數(shù)進(jìn)行辨識(shí)、分析與校正,此種方法為機(jī)器人標(biāo)定方法[1].從成本出發(fā),第二種方法實(shí)現(xiàn)與普及的成本更為低廉;實(shí)際效果上,機(jī)器人標(biāo)定方法可以更好地補(bǔ)償與補(bǔ)救由于機(jī)器人的磨損或者結(jié)構(gòu)變形等情況引致的精度降低情況[2].綜合來(lái)看,現(xiàn)階段應(yīng)用機(jī)器人標(biāo)定方法具有更強(qiáng)的可行性,也是現(xiàn)階段學(xué)術(shù)界的主要研究?jī)?nèi)容與方向[3-4].
Judd 等[5]在對(duì)機(jī)器人標(biāo)定方法的研究中發(fā)現(xiàn),絕對(duì)定位誤差的主要原因在于機(jī)器人運(yùn)動(dòng)學(xué)模型在參數(shù)上出現(xiàn)了誤差傳導(dǎo).因此,現(xiàn)階段有關(guān)于機(jī)器人標(biāo)定技術(shù)的研究重點(diǎn)在于辨識(shí)機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)的誤差[6-7].需要指出的是,當(dāng)前關(guān)于運(yùn)動(dòng)學(xué)參數(shù)誤差造成機(jī)器人絕對(duì)定位精度降低的研究中,通常是假定機(jī)器人基坐標(biāo)系和法蘭坐標(biāo)系是已知或者是可以直接測(cè)量的.實(shí)踐中絕大部分的機(jī)器人法蘭坐標(biāo)系和機(jī)器人基坐標(biāo)系是“隱藏”的,無(wú)法直接測(cè)量得到,需要通過(guò)特殊的測(cè)量和計(jì)算方法才能獲得[8].文獻(xiàn)[9]使用FARO ARM 測(cè)量臂對(duì)機(jī)器人進(jìn)行標(biāo)定,使用四元素法獲取機(jī)器人基坐標(biāo)系.文獻(xiàn)[10]用激光跟蹤儀對(duì)機(jī)器人進(jìn)行標(biāo)定,針對(duì)IRB2400機(jī)器人特定的結(jié)構(gòu),控制軸1和軸2旋轉(zhuǎn),以及測(cè)量底座平面來(lái)確定機(jī)器人基坐標(biāo)系,使用激光跟蹤儀配套軟件實(shí)現(xiàn)坐標(biāo)變換.在現(xiàn)有機(jī)器人標(biāo)定測(cè)量過(guò)程中,基本都忽略測(cè)量得到的機(jī)器人基坐標(biāo)系和法蘭坐標(biāo)系的位姿誤差,而這也是機(jī)器人位姿誤差模型的重要組成部分,應(yīng)當(dāng)在機(jī)器人標(biāo)定過(guò)程中給予一并考慮.
機(jī)器人位置誤差模型或位姿誤差模型均可實(shí)現(xiàn)對(duì)機(jī)器人的標(biāo)定.由于大部分測(cè)量設(shè)備都能實(shí)現(xiàn)對(duì)機(jī)器人末端位置的測(cè)量,相對(duì)而言位置誤差模型適用的測(cè)量設(shè)備更加廣泛(如三坐標(biāo)測(cè)量機(jī)、6或7軸測(cè)量臂、激光跟蹤儀(配靶球即可)),更具備通用性.為提升機(jī)器人的絕對(duì)定位精度,針對(duì)如下兩種誤差:1)機(jī)器人隱藏的法蘭坐標(biāo)系和機(jī)器人基坐標(biāo)系的測(cè)量誤差;2)機(jī)器人運(yùn)動(dòng)學(xué)模型參數(shù)誤差.將這兩種誤差予以統(tǒng)一,將其確定為絕對(duì)定位誤差來(lái)源,并且基于此進(jìn)行建模,提出一種相對(duì)通用的測(cè)量方法,給出參數(shù)誤差辨識(shí)與補(bǔ)償算法.
Denavit等[11]于1955年推出的一種具有較好通用性與普適性的4參數(shù)DH模型,是目前使用最廣的機(jī)器人運(yùn)動(dòng)學(xué)模型.在實(shí)際應(yīng)用中發(fā)現(xiàn),存在于軸關(guān)節(jié)之上的某種微小偏差極有可能在DH模型之上反映為一種數(shù)值畸變,這也可以理解為參數(shù)數(shù)值不連續(xù).針對(duì)這一問(wèn)題,Hayati[12]提出了修正后的MDH模型,通過(guò)在y軸上增添了一項(xiàng)旋轉(zhuǎn)參數(shù)改善模型表現(xiàn),使得原有的4參數(shù)模型,變?yōu)?參數(shù)模型.即
式(1)中:θi、di、ai、αi分別表示連桿i的關(guān)節(jié)轉(zhuǎn)角、關(guān)節(jié)偏置、連桿長(zhǎng)度、連桿扭角.關(guān)節(jié)βi僅存在相鄰軸平行的情況下,其他的情況直接將βi=0帶入式(1).
根據(jù)式(1)可以得到一般N自由度機(jī)器人的運(yùn)動(dòng)學(xué)模型.即
機(jī)器人標(biāo)定一般要借助各種有效的測(cè)量手段與方式,盡可能地獲取在其基坐標(biāo)系下的機(jī)器人末端的位姿誤差.實(shí)際機(jī)器人末端法蘭坐標(biāo)系和基坐標(biāo)系是隱藏的,需要構(gòu)建與測(cè)量結(jié)果直接相關(guān)的測(cè)量坐標(biāo)系.因此,將測(cè)量?jī)x的實(shí)際測(cè)量位置定義為檢測(cè)中心點(diǎn)(DCP),并且將DCP 確定為構(gòu)建坐標(biāo)的原點(diǎn),據(jù)此來(lái)構(gòu)建研究所需要的測(cè)量坐標(biāo)系.因此在對(duì)機(jī)器人末端位姿進(jìn)行測(cè)量時(shí),需要得到機(jī)器人DCP 坐標(biāo)系相對(duì)于法蘭坐標(biāo)系出現(xiàn)的位置變換情況、機(jī)器人基坐標(biāo)系相對(duì)于測(cè)量?jī)x坐標(biāo)系出現(xiàn)的位置變換,從而得到DCP 坐標(biāo)系在測(cè)量?jī)x坐標(biāo)系下的位姿模型,如圖1 所示.標(biāo)定的首要步驟就在于構(gòu)建DCP 坐標(biāo)系的位置模型.
圖1 DCP坐標(biāo)系位置模型
構(gòu)建模型的關(guān)鍵在于基于測(cè)量辨識(shí)與獲得機(jī)器人末端的實(shí)際位姿誤差,但機(jī)器人末端法蘭坐標(biāo)系一般情況下是“隱藏”的,無(wú)法直接通過(guò)測(cè)量設(shè)備測(cè)量得到.使用測(cè)量設(shè)備實(shí)際測(cè)量的位置相對(duì)于法蘭坐標(biāo)系存在一定偏移量(如圖2所示).
圖2 實(shí)際測(cè)量點(diǎn)與法蘭坐標(biāo)系
式中:D表示DCP;L表示測(cè)量?jī)x器實(shí)測(cè)點(diǎn)DCP.
假設(shè)機(jī)器人在某個(gè)狀態(tài)下法蘭坐標(biāo)系位置為O,控制機(jī)器人末端位置不變,只改變姿態(tài),通過(guò)對(duì)多個(gè)點(diǎn)進(jìn)行測(cè)量,即可以借助于對(duì)球心的擬合,據(jù)此可以獲取O點(diǎn)位置坐標(biāo).從理論層面分析,擬合空間之中的4 個(gè)非共面點(diǎn),就可以獲取球心坐標(biāo).因此,首先假設(shè)球心坐標(biāo)為(a,b,c),半徑為R,并且將這4 個(gè)測(cè)量點(diǎn)的坐標(biāo)設(shè)定為(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4).據(jù)此得到方程組為
通過(guò)求解式(4)得到法蘭坐標(biāo)系的原點(diǎn)位置,后續(xù)需要進(jìn)一步導(dǎo)出法蘭坐標(biāo)系姿態(tài).若可以確保機(jī)器人控制器在TCP 坐標(biāo)系下,其運(yùn)動(dòng)方向是沿著確定的法蘭坐標(biāo)系的x,y,z三軸.那么就可以在控制器每一次的運(yùn)動(dòng)進(jìn)程之中,提取出2 個(gè)以上的點(diǎn),由此來(lái)表述并確定其坐標(biāo)軸方向,然后獲取法蘭坐標(biāo)系的x,y,z軸在測(cè)量?jī)x坐標(biāo)系下的矢量n,o,a,并且最終得到位姿矩陣,即
據(jù)此可以計(jì)算得到由機(jī)器人末端法蘭坐標(biāo)系到設(shè)定的DCP點(diǎn)之間的位姿變換,即
從實(shí)踐層面分析,在實(shí)際測(cè)量機(jī)器人末端位姿的過(guò)程中,所獲取到的數(shù)據(jù)是較之于測(cè)量?jī)x器自身所處的坐標(biāo)系來(lái)進(jìn)行討論的.因此,為確保所獲取到的實(shí)際位姿與名義位姿具有可比性,需要將二者統(tǒng)一至同一個(gè)坐標(biāo)系之中.
具體來(lái)看,可以將機(jī)器人末端法蘭坐標(biāo)系名義位置和姿態(tài)用PN和RN來(lái)呈現(xiàn),測(cè)量?jī)x測(cè)量得到的某點(diǎn)的實(shí)際位姿用PC來(lái)表示.并且將前提條件設(shè)定為不考慮DCP坐標(biāo)系姿態(tài),基于此,可以基于空間幾何變換,得到下述的變換關(guān)系
式中:T、R分別表示測(cè)量?jī)x坐標(biāo)系到機(jī)器人基坐標(biāo)系的旋轉(zhuǎn)變換和平移變換;E表示3×3的單位矩陣;PL為法蘭坐標(biāo)系到DCP點(diǎn)的位置變換,上標(biāo)N為“Nominal”縮寫,表示名義值(下同).
式(9)中,共計(jì)有12個(gè)未知數(shù),因此,需要獲取到最少4個(gè)點(diǎn)的位置.實(shí)際上,為了減少誤差所使用的位置數(shù)遠(yuǎn)多于4組,這就使得式(9)成為了超定方程組.令
則超定方程組用矩陣可表示為
式中:A為TNL元素組成的系數(shù)矩陣;B為測(cè)量值PC組成的矩陣.
應(yīng)用最小二乘法來(lái)對(duì)式(11)進(jìn)行求解,得
據(jù)此可以得到測(cè)量?jī)x坐標(biāo)系與機(jī)器人基坐標(biāo)系之間的變換關(guān)系X.這樣可以將測(cè)量到的末端位姿和控制器中顯示的末端位姿予以統(tǒng)一.
在計(jì)算機(jī)器人基坐標(biāo)系時(shí)使用的機(jī)器人末端位置是直接從示教器中讀取的,這與機(jī)器人實(shí)際位置存在偏差,因此計(jì)算所得的機(jī)器人基坐標(biāo)系相對(duì)于測(cè)量?jī)x坐標(biāo)系的位置也存在偏差.同樣,在測(cè)量和計(jì)算DCP 位置時(shí),由于測(cè)量擾動(dòng)的影響,計(jì)算得到的DCP 位置也存在一定的誤差.將通過(guò)模型計(jì)算得到的DCP 位置和機(jī)器人基坐標(biāo)系位置分別定義為名義DCP 和名義基坐標(biāo)系,如圖3 所示.DCP的名義位置與實(shí)際位置產(chǎn)生一定誤差的影響要素主要有運(yùn)動(dòng)學(xué)參數(shù)誤差、基坐標(biāo)系位置誤差,以及DCP坐標(biāo)系位置誤差.
實(shí)踐中,由于機(jī)器人的磨損變形是絕對(duì)存在的,因此各連桿參數(shù)始終存在誤差,使得運(yùn)動(dòng)學(xué)模型參數(shù)在名義值和實(shí)際值上也將出現(xiàn)偏差.整體來(lái)說(shuō),影響到機(jī)器人末端位姿的參數(shù)誤差主要有
其中:Δβi僅在相鄰軸呈現(xiàn)平行狀態(tài).如若不然,則確定Δβi=0.
此外,可以將機(jī)器人基坐標(biāo)系到末端法蘭坐標(biāo)系之間的實(shí)際變換關(guān)系表述如下
式中:R表示Rot,旋轉(zhuǎn)變換;T表示Trans,平移變換.
機(jī)器人基坐標(biāo)系誤差可以基于式(13)計(jì)算得到的名義位姿矩陣呈現(xiàn),即
式(14)中用來(lái)呈現(xiàn)姿態(tài)與位置的參數(shù)共計(jì)有12個(gè),為了降低需要辨識(shí)與測(cè)量的參數(shù)數(shù)量,將其改寫為一個(gè)平移變換和三個(gè)旋轉(zhuǎn)變換組合成的一個(gè)6參數(shù)模型,即
機(jī)器人基坐標(biāo)系的參數(shù)誤差就可以表述為[Δxc,Δyc,Δzc,Δθxc,Δθyc,Δθzc].
式中:上標(biāo)R為“Real”縮寫,表示實(shí)際值.
假定機(jī)器人DCP坐標(biāo)系相對(duì)于機(jī)器人末端法蘭坐標(biāo)系的位姿變換矩陣為,并參考前文中機(jī)器人基坐標(biāo)系誤差的推導(dǎo)方法,可以獲取到機(jī)器人末端法蘭坐標(biāo)系跟DCP 實(shí)際坐標(biāo)系二者之間的變換模型,即
并且在確定了3個(gè)位姿模型的基礎(chǔ)之上,將其進(jìn)一步整合,可以構(gòu)建在測(cè)量?jī)x坐標(biāo)系下的DCP實(shí)際位姿模型,將這一變換矩陣表述如下
式中:R表示DCP坐標(biāo)系在測(cè)量?jī)x坐標(biāo)系下呈現(xiàn)的姿態(tài);P則代表的是DCP坐標(biāo)系在測(cè)量?jī)x坐標(biāo)系下呈現(xiàn)的位置.
DCP的實(shí)際位姿可以表示為
影響DCP位姿精度的參數(shù)誤差為
位置誤差模型相對(duì)而言更具備通用性,因此忽略DCP姿態(tài)誤差,設(shè)參數(shù)誤差集合為Δq,結(jié)合式(19),DCP的實(shí)際位置模型可以表示為
據(jù)此,可以將DCP位置誤差與模型之中的各參數(shù)誤差之間所具有的數(shù)學(xué)關(guān)系表述為
式(21)中位姿誤差和各參數(shù)誤差呈非線性關(guān)系,直接求解難度較大.從偏微分角度分析,對(duì)于含有n個(gè)參數(shù)誤差的模型,式(21)可以寫成
式(22)可以簡(jiǎn)化為
式中:ε表示DCP位置誤差;Δq表示標(biāo)定模型所有的參數(shù)誤差;M表示誤差系數(shù)矩陣.
文件得到了機(jī)器人DCP 位置誤差模型:ε=MΔq.其中ε可以測(cè)量獲取,而M代表的是誤差系數(shù)矩陣,M是經(jīng)由誤差模型進(jìn)行推導(dǎo)得到,Δq是需要求解的參數(shù)誤差.由此可知,為獲取參數(shù)誤差的解,僅需要將ε代入至DCP 位置誤差模型中,計(jì)算Δq.但是考慮到實(shí)踐中不可避免地存在機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)冗余,對(duì)Δq的求解準(zhǔn)確性與精度產(chǎn)生直接影響.因此,設(shè)定代表機(jī)器人連桿坐標(biāo)系{i}到連桿坐標(biāo)系{i+1}的齊次變換,在只考慮位姿變換時(shí),可以把β≈0直接帶入式(1),得到
根據(jù)機(jī)器人微分運(yùn)動(dòng)學(xué),結(jié)合式(23)可以得到連桿坐標(biāo)系{i}和連桿坐標(biāo)系{i+1}之間的微分變換關(guān)系[14],即
假設(shè)機(jī)器人的自由度數(shù)為N,將式(26)的兩邊均乘以,確保兩個(gè)坐標(biāo)系之中的微分誤差都可以實(shí)現(xiàn)向機(jī)器人末端的轉(zhuǎn)換.由此可得
由式(27)可知,連桿坐標(biāo)系{i}的微分誤差dzi和δzi對(duì)末端造成的影響可以由連桿坐標(biāo)系{i+1}的微分誤差來(lái)呈現(xiàn).這說(shuō)明連桿坐標(biāo)系{i}與連桿坐標(biāo)系{i+1}各自的微分誤差dzi和δzi具有相關(guān)性,存在冗余性.將測(cè)量?jī)x坐標(biāo)系到機(jī)器人基坐標(biāo)系的變換模型參數(shù)中dz和δz確定為冗余參數(shù).則有
觀察式(28)可知,Gi中變量只有a和α.針對(duì)a和α取不同值,得到表1.
表1 機(jī)器人運(yùn)動(dòng)學(xué)參數(shù)冗余性辨識(shí)
如前文所述,機(jī)器人DCP 的位置及姿態(tài)的微分誤差模型表述為
去掉Δq中的冗余性參數(shù),可以辨識(shí)參數(shù)的數(shù)目N,由此可以確定,Mp、Mδ均為3×N的系數(shù)矩陣.實(shí)踐中,為了規(guī)避誤差對(duì)求解精度的干擾,需要借助大量的數(shù)據(jù)對(duì)模型進(jìn)行擬合.具體來(lái)看,設(shè)定實(shí)踐中共計(jì)測(cè)量得到K組(K>N/3)機(jī)器人位置數(shù)據(jù),可以獲取到方程組為
式(30)是一個(gè)超定方程組,可以使用最小二乘法求解,由此可得
式中:M+表示系數(shù)矩陣M的廣義逆.
大部分機(jī)器人控制器生產(chǎn)廠家不會(huì)對(duì)修改權(quán)限授權(quán),僅可以調(diào)整關(guān)節(jié)角度θ.處于不同位姿的機(jī)器人,其運(yùn)動(dòng)學(xué)參數(shù)d、a、α、β的誤差,各自對(duì)機(jī)器人的位姿誤差具有差異化的影響.因此,使用牛頓迭代法逐步調(diào)整各關(guān)節(jié)的角度θ,從而實(shí)現(xiàn)對(duì)運(yùn)動(dòng)學(xué)參數(shù)誤差導(dǎo)致的機(jī)器人末端的位姿偏差的補(bǔ)償.假設(shè)機(jī)器人目標(biāo)位姿為TN,將Δdi,Δai,Δαi,Δβi代入模型求得TR,再將名義位置與實(shí)際位姿的差對(duì)各關(guān)節(jié)角求偏導(dǎo),可得
由式(32)可求得各關(guān)節(jié)實(shí)際轉(zhuǎn)角,再通過(guò)關(guān)節(jié)實(shí)際轉(zhuǎn)角求得應(yīng)該給定的指令位置,使機(jī)器人達(dá)到實(shí)際位置.
為促進(jìn)機(jī)器人產(chǎn)業(yè)的發(fā)展,擴(kuò)大機(jī)器人在高精度領(lǐng)域的應(yīng)用,對(duì)機(jī)器人精度的提升方法進(jìn)行研究.首先從實(shí)際測(cè)量角度出發(fā),建立DCP 坐標(biāo)系,并給出相對(duì)通用的DCP 坐標(biāo)系和機(jī)器人基坐標(biāo)系的測(cè)量方法,建立完整的誤差模型;然后利用微分運(yùn)動(dòng)學(xué)建立微分誤差模型,得到誤差辨識(shí)方程,并且具體分析誤差模型之中存在的冗余性參數(shù)誤差,明確提出對(duì)冗余性參數(shù)誤差進(jìn)行辨識(shí)的可行方法;最后提出了對(duì)參數(shù)誤差進(jìn)行補(bǔ)償?shù)木唧w方法.研究工作對(duì)機(jī)器人工作精度提升有一定的研究意義.