陳 爽,張 橋
(江西理工大學(xué) 機(jī)電工程學(xué)院,贛州 341000)
工業(yè)機(jī)器人是一種具有很高的重復(fù)精度的多關(guān)節(jié)機(jī)械臂,通常采用D-H法來計(jì)算機(jī)器人末端位姿。機(jī)器人廠家一般以設(shè)計(jì)參數(shù)作為機(jī)器人的D-H參數(shù),造成機(jī)器人末端位姿存在偏差。對(duì)機(jī)器人進(jìn)行標(biāo)定是提高精度最實(shí)用的方法,通常包括建模、測(cè)量、識(shí)別和補(bǔ)償四個(gè)步驟[1~3]。
國內(nèi)外眾多學(xué)者對(duì)機(jī)器人的標(biāo)定方法開展了相關(guān)研究工作,最直接的方式值采用高精度測(cè)量儀來標(biāo)定,如任永杰等人[4]采用軸線測(cè)量法測(cè)量出各關(guān)節(jié)軸線扭轉(zhuǎn)角后,再使用激光跟蹤儀對(duì)D-H參數(shù)中其它誤差進(jìn)行標(biāo)定使IRB2400機(jī)器人定位誤差平均值從0.8776降低到0.1878。杜亮等人[5]利用激光跟蹤儀對(duì)機(jī)器人末端位姿進(jìn)行測(cè)量,再通過剔除D-H法中不可辨識(shí)的參數(shù)建立誤差模型,對(duì)機(jī)器人進(jìn)行辨識(shí)和補(bǔ)償,使機(jī)器人定位誤差平均值從2.5350降低到0.3582。戚禎祥等人[6]提出了基于機(jī)器人位置矢量誤差模型的標(biāo)定方法,使用激光跟蹤儀跟蹤機(jī)器人末端,利用廣義矩陣計(jì)算出機(jī)器人末端誤差向量的最小二乘解,對(duì)六關(guān)節(jié)工業(yè)機(jī)器人進(jìn)行了標(biāo)定,使機(jī)器人定位誤差平均值從1.1677降低到0.2509。這種類型的標(biāo)定方法需要較為昂貴的標(biāo)定設(shè)備以及熟練的操作人員;近年來,由于光學(xué)測(cè)量技術(shù)的發(fā)展,立體視覺標(biāo)定[7,8]方法也正在興起。采用視覺系統(tǒng)進(jìn)行標(biāo)定在原理上和前者基本一致但相對(duì)于前者來說降低了大量成本。為了降低標(biāo)定成本以及操作難度,許多學(xué)者開始研究機(jī)器人的自標(biāo)定算法。張鐵等人[9]利用修正D-H模型,推導(dǎo)出基于空間兩點(diǎn)間的距離誤差模型,經(jīng)過標(biāo)定后,機(jī)器人精度提高兩倍以上。胥素芳等人[10]通過對(duì)機(jī)器人控制模型和誤差模型進(jìn)行獨(dú)立建模,采用空間絕對(duì)距離對(duì)機(jī)器人進(jìn)行自標(biāo)定,使機(jī)器人絕對(duì)精度提高了十幾倍。Ahmed Joubair等人[11]通過機(jī)器人探測(cè)靶球的球面來擬合靶球球心,再以擬合的三個(gè)靶球絕對(duì)距離誤差的最小二乘解來標(biāo)定機(jī)器人參數(shù)誤差。
本文以六自由度焊接機(jī)器人為研究對(duì)象,設(shè)計(jì)了一個(gè)如圖1所示的標(biāo)定平臺(tái),標(biāo)定錐固定在標(biāo)定板上,兩個(gè)標(biāo)定錐頂尖之間的距離是固定的,并且能夠精確測(cè)量。標(biāo)定板可以繞球鉸中心進(jìn)行旋轉(zhuǎn),使標(biāo)定錐達(dá)到不同的位置并夾緊。從機(jī)器人的設(shè)計(jì)參數(shù)出發(fā),建立D-H模型,通過機(jī)器人末端執(zhí)行器去探測(cè)該標(biāo)定平臺(tái)上的兩個(gè)標(biāo)定點(diǎn)之間的距離,通過探測(cè)點(diǎn)之間的理論關(guān)節(jié)角與實(shí)際關(guān)節(jié)角之間的映射來建立參數(shù)誤差模型,參數(shù)除關(guān)節(jié)角之外的D-H參數(shù)進(jìn)行識(shí)別,再對(duì)其進(jìn)行補(bǔ)償,使模型中的參數(shù)更接近于實(shí)際參數(shù),進(jìn)而提高機(jī)器人的定位精度。
圖1 標(biāo)定平臺(tái)
為了保證工業(yè)機(jī)器人控制算法的穩(wěn)定性以及快速性,各工業(yè)機(jī)器人廠家生產(chǎn)的控制器中預(yù)制的機(jī)器人模型均采用D-H模型。本文依舊采用D-H法對(duì)工業(yè)機(jī)器人進(jìn)行建模分析。
D-H法規(guī)定,機(jī)器人相鄰關(guān)節(jié)的坐標(biāo)變換由連桿轉(zhuǎn)角αi、連桿長度ai、連桿偏距di以及關(guān)節(jié)角θi表示。從關(guān)節(jié)i-1到關(guān)節(jié)i之間的坐標(biāo)變換為:
對(duì)應(yīng)矩陣形式為:
機(jī)器人末端工具位姿便可由此計(jì)算得出:
由D-H法確定的機(jī)器人連桿間參數(shù)誤差矩陣為:
由于機(jī)器人減速器存在背隙,皮帶等存在變形以及齒輪傳動(dòng)存在齒隙等,各關(guān)節(jié)的雙向回零精度存在較大誤差,采用智能算法進(jìn)行迭代標(biāo)定不僅極大增加了標(biāo)定計(jì)算量,而且優(yōu)化過程處于震蕩的不穩(wěn)定過程[12],并且各機(jī)器人生產(chǎn)廠家會(huì)在機(jī)器人各關(guān)節(jié)角零點(diǎn)設(shè)置零點(diǎn)標(biāo)志,包括對(duì)零點(diǎn)開標(biāo)定槽以及設(shè)計(jì)零點(diǎn)標(biāo)定裝置[13,14],采用硬接觸等方式精確標(biāo)定關(guān)節(jié)角零點(diǎn),本文以已經(jīng)標(biāo)定過零點(diǎn)的機(jī)器人為研究對(duì)象,故在此不再對(duì)關(guān)節(jié)角零點(diǎn)進(jìn)行標(biāo)定,將標(biāo)定空間從24維減少至18維,于是有:
將式(7)展開并略去高階項(xiàng),得
以向量p表示點(diǎn)在基坐標(biāo)系中的位置,向量形式表示為p=[x,y,z]T,則空間點(diǎn)m、n之間的距離可以表示為:
機(jī)器人的位姿矩陣T中第四列第一至三行分別表示末端的x、y、z坐標(biāo)值,所以機(jī)器人末端探測(cè)的兩點(diǎn)間的距離誤差為:
在理想情況下,人工操作機(jī)器人探測(cè)的點(diǎn)m,n之間的距離應(yīng)與其理論距離相等,即edmn=0,但由于機(jī)器人模型誤差、扭轉(zhuǎn)角誤差以及受力變形等各項(xiàng)誤差未予考慮,造成edmn≠0。因此,本文采用PSO算法對(duì)該模型進(jìn)行尋優(yōu)。
表1 艾利特EI66-A140的設(shè)計(jì)D-H參數(shù)
本文以艾利特EI66-A140焊接機(jī)器人為研究對(duì)象,該機(jī)器人D-H參數(shù)以及各關(guān)節(jié)坐標(biāo)系分別如表1以及圖2所示。
圖2 艾利特EI66-A140關(guān)節(jié)坐標(biāo)系
由于末端執(zhí)行器的結(jié)構(gòu)是自行設(shè)計(jì)的,其形位公差都能夠直接保證,即式(4)已知。并且,為了達(dá)到操作簡便以及擺脫高精度測(cè)量儀的束縛,標(biāo)定過程未對(duì)機(jī)器人姿態(tài)進(jìn)行考慮。本文中,只采用位置誤差對(duì)機(jī)器人18個(gè)D-H參數(shù)進(jìn)行標(biāo)定。
考慮誤差的D-H參數(shù)如表3所示。
表3 考慮誤差的D-H參數(shù)
標(biāo)定過程中,兩個(gè)標(biāo)定錐頂尖剛性固定在標(biāo)定板上,標(biāo)定板通過球鉸與工作臺(tái)連接,改變板的方向,兩個(gè)標(biāo)定錐的空間位置發(fā)生改變,但兩個(gè)標(biāo)定錐的距離不變。
探測(cè)誤差為:
其中,d12(meas)為兩標(biāo)定錐頂尖之間的測(cè)量距離。
PSO(Particle Swarm Optimization)算法是Kennedy,J.和Eberhart,R等根據(jù)鳥類捕食行為中通過群體中個(gè)體之間的協(xié)作和信息共享來尋找最優(yōu)解的遠(yuǎn)離開發(fā)的智能算法[15]。PSO算法優(yōu)化模型中的參數(shù)大多已預(yù)制,需要用戶調(diào)節(jié)的參數(shù)較少,優(yōu)化過程易于實(shí)現(xiàn)。除此之外,PSO算法不要求優(yōu)化函數(shù)的連續(xù)性以及其他性質(zhì),適用性極廣,對(duì)多變量、高度非線性、不連續(xù)及不可微的情況更加具有其優(yōu)勢(shì),本文將其應(yīng)用于六關(guān)節(jié)機(jī)器人參數(shù)識(shí)別過程。
利用PSO迭代算法對(duì)表3中所示的18個(gè)參數(shù)的誤差值進(jìn)行計(jì)算,使式(12)中探測(cè)誤差最小。每次迭代時(shí)更新向量Δdij,當(dāng)連續(xù)兩次迭代之間達(dá)到所需的閾值均方根誤差(RMS)時(shí)停止該過程,c使機(jī)器人的D-H參數(shù)從設(shè)計(jì)值向?qū)嶋H值逼近,步驟如下:
根據(jù)D-H法可知,六關(guān)節(jié)機(jī)器人共有24個(gè)參數(shù),本文對(duì)除關(guān)節(jié)角之外的18個(gè)參數(shù)進(jìn)行標(biāo)定,粒子群算法的搜索空間有18維,以實(shí)際參數(shù)與設(shè)計(jì)參數(shù)的偏差作為標(biāo)定對(duì)象,記為:
在粒子群進(jìn)行搜索的過程中,需要對(duì)搜索方向進(jìn)行判別,即采用適應(yīng)度函數(shù)來表征搜索方向的優(yōu)劣性,以機(jī)器人探測(cè)的兩點(diǎn)間距離誤差的倒數(shù)作為本算法的適應(yīng)度函數(shù)。
式中,di為標(biāo)定平臺(tái)為i方向時(shí)機(jī)器人探測(cè)后擬合的兩個(gè)標(biāo)定錐之間的距離,dm為兩個(gè)標(biāo)定錐頂尖的測(cè)量距離。
在搜索過程中,粒子會(huì)不斷遷移,每次遷移之間的遷移可以用粒子速度來表示:
式中,vi(k+1)為粒子i在第k+1次遷移時(shí)的速度;pi為粒子i的局部最優(yōu)值,G為粒子i的全局最優(yōu)值;xi(k)為粒子i在第k次遷移的位置;γ1r和γ2r分別為控制局部最優(yōu)和全局最優(yōu)速度因子。
第i次迭代時(shí),粒子群位置為:
當(dāng)粒子群達(dá)到預(yù)設(shè)的遷移次數(shù)或者相鄰迭代目標(biāo)函數(shù)達(dá)到設(shè)定值終止迭代,并輸出最優(yōu)位置以及最優(yōu)目標(biāo)值。
通過圖3所示艾利特EI66-A140機(jī)器人末端錐尖探測(cè)標(biāo)定平臺(tái)錐尖,并記錄每組關(guān)節(jié)角,再使用PSO算法對(duì)其進(jìn)行辨識(shí),設(shè)定種群數(shù)量為50,遷移最大速度為10%,收斂精度為1e-5,最大迭代次數(shù)為2000次,MATLAB進(jìn)行誤差參數(shù)辨識(shí)過程如圖4所示,經(jīng)過150次左右迭代后,目標(biāo)值不再減小,程序輸出最優(yōu)解。
圖3 自標(biāo)定現(xiàn)場(chǎng)
圖4 PSO誤差參數(shù)辨識(shí)圖
D-H參數(shù)誤差辨識(shí)結(jié)果如表3所示。
表3 D-H誤差參數(shù)表
對(duì)機(jī)器人D-H參數(shù)進(jìn)行補(bǔ)償后,將靶鏡安裝在機(jī)器人末端,再使用激光跟蹤儀分別對(duì)機(jī)器人運(yùn)動(dòng)范圍內(nèi)20個(gè)隨機(jī)點(diǎn)位置精度進(jìn)行評(píng)估,測(cè)量過程如圖5所示,結(jié)果如表4所示。
圖5 測(cè)量現(xiàn)場(chǎng)
表4 誤差分析
標(biāo)定前后絕對(duì)位置偏差如圖5所示。
圖5 標(biāo)定前后位置偏差圖
通過表4、圖5可以看出,采用PSO算法迭代標(biāo)定后的機(jī)器人末端位置精度顯著提高。標(biāo)定后位置精度提高了10倍以上,均方根誤差相較于標(biāo)定前有數(shù)量級(jí)上的提升,說明機(jī)器人標(biāo)定后,各項(xiàng)誤差與機(jī)器人實(shí)際誤差高度一致,從而保障了機(jī)器人工作過程的精確性。
本文提出了一種提高多關(guān)節(jié)串聯(lián)機(jī)器人絕對(duì)精度的標(biāo)定方法,該方法測(cè)量過程簡單,并且不需要依賴高精度測(cè)量設(shè)備,有利于生產(chǎn)現(xiàn)場(chǎng)以及長時(shí)間運(yùn)行的機(jī)器人校準(zhǔn)的普及化。本文從D-H參數(shù)法出發(fā),推導(dǎo)出了D-H誤差參數(shù)與機(jī)器人末端誤差的映射關(guān)系,再轉(zhuǎn)化為D-H誤差參數(shù)與空間中兩點(diǎn)間絕對(duì)距離的映射關(guān)系,最后采用PSO算法對(duì)該標(biāo)定模型進(jìn)行尋優(yōu)。
實(shí)驗(yàn)證明,相較于傳統(tǒng)標(biāo)定方法,本文所述方法具有計(jì)算量小,收斂速度快等特點(diǎn),并且不依賴于高精度測(cè)量設(shè)備。誤差補(bǔ)償后機(jī)器人末端絕對(duì)誤差均值以及方差均大幅降低,能夠滿足機(jī)器人實(shí)際使用要求。