張 寧,張德權,葉 楠
(河北工業大學機械工程學院,天津 300401)
工業機器人廣泛應用于汽車、芯片、飛機等自動化生產線中,定位精度作為工業機器人重要的性能指標,直接影響其加工件和裝配件的質量。定位精度可分為重復定位精度和絕對定位精度,工業機器人通常具有較高的重復定位精度,但其絕對定位精度比較差[1]。為了高效地驅動工業機器人完成復雜的動作,通常采用離線編程的方式。離線編程是指通過指定工業機器人末端執行器的空間位置來控制工業機器人進行運動,這種控制方式依賴于工業機器人的絕對定位精度。為了提高工業機器人的絕對定位精度,研究者們提出了多種工業機器人定位誤差的補償方法。傳統的工業機器人定位誤差補償方法通過運動學參數標定來實現,基本原理是在機器人工作空間中測量幾個點的位置誤差,依據誤差數據確定機器人運動學參數誤差并改變機器人運動學模型,其中最常用的工業機器人運動學模型是D-H模型[2]。運動學參數標定法在一定程度上可以提升工業機器人的定位精度,但是該方法存在著一些明顯的缺陷。首先,工業機器人位置誤差不僅受運動學參數誤差影響,而且受負載、溫度和重力分布等因素的影響,要建立反映工業機器人實際運動的模型較困難;其次,要在工業機器人非開源系統中更改運動學參數操作不易且代價較高[3]。
近年來,通過代理模型進行誤差補償的方法逐漸受到研究者的重視,該方法將工業機器人視為一個黑盒子,只考慮名義位置和實際位置誤差間的映射關系。Cai等[4]采用基于位置誤差相似性的普通克里金方法校準離線編程機器人,并通過實驗證明了該方法的有效性;Chen等[5]將位置誤差相似性原理和誤差相關性原理相結合,利用Co-kriging方法估計機器人3個方向的位置誤差;Yuan等[6]建立基于極限學習機的位置誤差預測模型對位置誤差進行預測和補償,通過實驗驗證了該方法的有效性。代理模型方法可以考慮到幾何因素和非幾何因素的影響[3]。常見的代理模型包括響應面方法[7-8],徑向基網絡[9-10],人工神經網絡[11]和克里金方法[12-13]等。代理模型的精度越高,誤差補償效果越好。響應面是一種全局回歸技術,局部精度較差;克里金模型和人工神經網絡模型可獲得較好的局部精度但是由于模型訓練參數過多,訓練過程太耗費時間[14]。
針對上述模型存在的問題,本文提出一種基于粒子群優化的徑向基神經網絡模型擬合工業機器人名義位置和實際位置誤差間的映射關系,構建工業機器人定位誤差場,通過預偏移指令位置的方式進行誤差補償。模型訓練時間明顯縮短,同時擁有較好的局部精度。最后,通過數值算例驗證了所提方法具有較高的精確性和工程實用性。
徑向基函數(Radial Basis Function,RBF)是在1985 年由Powell 提出的一種多維空間插值技術。受到大腦神經元局部響應特征的啟發,Broomhead首次將徑向基函數引入神經網絡。徑向基神經網絡是一種3層前向神經網絡,由輸入層、隱含層和輸出層組成。徑向基神經網絡的主要特征是隱含層的激活函數為徑向基函數。通用的徑向基神經網絡結構如圖1 所示,xi、hi、yi為分別為輸入層節點、隱含層節點、輸出層節點,m為輸入向量的維數,n為隱含層節點個數,與樣本點個數相等,j為輸出向量的維數。

圖1 徑向基神經網絡結構Fig.1 The structure of radial basis function neural network
徑向基神經網絡用一系列基函數的加權線性組合來近似復雜的黑盒子問題,本文中神經網絡的輸入節點為工業機器人末端執行器的名義坐標位置,即pi=(xi,yi,zi),輸出節點為末端執行器不同坐標方向的位置誤差ex(pi),ey(pi)和ez(pi)。因此,對于工業機器人末端執行器的某待求解點的名義位置pk=(xk,yk,zk),該點的位置誤差可表示為
式中:n為樣本點個數;ex(pk),ey(pk)和ez(pk)為名義位置pk對應3 個坐標方向的位置誤差;h(‖pk-pi‖)為第i個隱含層節點的基函數,常見的基函數形式如表1 所示,假設d為兩點之間的歐拉距離,c為徑向基函數的形參數;ωi1,ωi2和ωi3為隱含層與輸出層節點之間的權值。

表1 徑向基函數類型Tab.1 Type of radial basis function
以x方向為例,介紹徑向基網絡訓練過程,對于一組樣本點p=[p1,p2,…,pnT],徑向基函數的通用表達形式如下
式中:ex(pk)為樣本點p對應的x方向位置誤差;h(p)為p對應的徑向基矩陣,ω1=[ω11,…,ωi1,…,ωn1]T。將樣本點代入式(2)中,
式(3)的矩陣形式為
由于H是一個非奇異的矩陣,故式(4)有唯一解ω1=H-1ex,代入式(2)得
根據式(5),即可求得末端執行器每個位置對應的x坐標方向位置誤差,剩余2個坐標方向的誤差求解與上述方法一致。
對于一般工程問題而言,獲得訓練樣本需要大量時間,因此通常采用交叉驗證方法[15]進行模型精度驗證。工業機器人定位精度問題獲取樣本較易,直接通過額外添加樣本點來驗證模型的精度,并優化形參數c,該優化問題轉換為數學表達式為
式中:k為所需額外樣本點個數;e(pk)和分別為pk處的實際位置誤差和預測位置誤差。
上述最小化問題為全局優化問題,采用全局粒子群優化尋找最優的形參數c。粒子群優化算法源自對鳥類捕食行為的研究,由于帶有慣性權重的粒子群算法,能夠保證較好的全局收斂效果,故本文采用此方法,其進化過程為:
式中:c1和c2為學習因子;r1和r2為[0,1]范圍內的均勻隨機數;i= 1,2,…,N,N為粒子個數;j= 1,2,…,D,D為搜索空間維數;vij為粒子的速度;xij為當前迭代中的粒子;pij存儲第i個粒子目前搜索到的最優位置,即個體極值;pgi存儲整個粒子群目前搜索到的最優位置,即全局極值;w為慣性權重,表示在多大程度上保留原來的速度。目前采用較多的是動態慣性權重,表達式為
式中:Tmax表示最大進化代數;wmax和wmin分別表示最大和最小慣性權重;t表示當前迭代次數;一般,取wmax=0.9,wmin=0.4。
采用以下3種評估方式評估模型的精度:均方根誤差(RMSE),最大絕對誤差(MAX)和多重相關系數(R2)。定義如下:
式中:n表示用于評估模型精度的樣本點的數量;yi表示樣本點處響應的真實值;yˉ表示其平均值;y^ 表示樣本點處響應的估計值。RMSE用來評估模型的全局精度,其值越小,模型的全局精度越高;MAX用來評估模型的局部精度,其值越小模型的局部精度越高;R2用于評價預測值和真實值的線性依賴程度,取值小于1,此值越接近于1 表示預測結果越準確,當R2的值為1 時表示預測結果完全準確。
通常對機器人進行誤差補償的方式有兩種:一種是在關節空間進行補償;另一種是在笛卡爾空間進行補償。本文采用第二種方法進行補償,補償方法如圖2 所示。圖2中,p為機器人名義位置,將它輸入機器人控制器后反解出各關節轉角θi(i=1,2,…,n,n為工業機器人關節數),但是由于機器人運動學參數存在誤差,機器人并未達到名義位置p,而是到達了位置p+Δp。為了補償運動學參數引起的誤差,通過附加算法給工業機器人名義位置一個預偏置-Δp′,名義位置替換為p-Δp′,此時控制器反解出的關節轉角變為θi-Δθi,用此轉角進行驅動時,預偏置-Δp′與運動學參數誤差引起的偏差Δp互相抵消,使工業機器人的定位精度得到提高。但在實際操作時,預偏置-Δp′很難直接求得,考慮用Δp代替-Δp′。當兩點之間的距離很接近時,位置誤差也會很接近,故此時用Δp代替-Δp′產生的誤差|Δp-Δp′|可以忽略不計。

圖2 工業機器人誤差補償原理Fig.2 Error compensation principle of industrial robot
在實際補償實驗中,通過拉丁超立方采樣方法在工業機器人某工作空間中生成一組位置點,記錄并輸入工業機器人控制器中,利用激光跟蹤儀等測量儀器測量末端執行器的實際位置。計算目標位置和名義位置之間的誤差,即3個坐標方向的位置誤差。以3個方向的名義位置和位置誤差作為徑向基神經網絡的訓練樣本以訓練神經網絡,通過徑向基神經網絡可以構建名義位置與位置誤差的映射關系。對某個名義位置p,利用徑向基神經網絡都可求得其對應的位置誤差Δp。由此可以建立在該工作空間中工業機器人的定位誤差場。通過定位誤差場,該工作空間中每個目標點位置誤差都可求得。得知目標點位置誤差后,即可在機器人示教器中直接修改指令位置,縮小實際位置誤差。徑向基神經網絡誤差補償方法的算法流程圖如圖3所示。

圖3 徑向基神經網絡誤差補償方法流程圖Fig.3 Flowchart of RBF neural network error compensation method
本文通過仿真方式驗證所提方法的實用性和準確性。首先建立工業機器人的運動學模型,Denavit-Hartenberg(D-H)矩陣描述了工業機器人系統包含位置和方向的運動學方程,D-H矩陣的具體形式如下式:
式中,αi,di,ψi和θi用來定義第i個連桿的坐標。末端執行器的位置可根據式(13)計算:
式中:n,s和a表示建立在末端執行器上的動坐標系相對于基座處固定坐標系的方向余弦;p表示末端執行器在固定坐標系下的位置坐標。
下面以KUKA KR150-2型工業機器人為例,進行誤差補償驗證。表2中給出了該工業機器人的D-H參數,根據D-H參數可建立工業機器人的運動學方程。然而,對于某一工業機器人來說,由于加工或者安裝誤差的存在,D-H參數存在誤差,根據文獻[16]識別出的參數誤差如表3所示。此處仿真實驗驗證忽略了由于重力分布,負載和溫度等因素的影響。

表2 KUKA KR150-2 型工業機器人D-H 模型參數表Tab.2 D-H model parameters of KUKA KR150-2 industrial robot

表3 預給定機器人各運動學幾何參數誤差Tab.3 The pre-given kinematic geometric parameters error of industrial robot
末端位姿可由T60=A1A2A3A4A5A6求得,為了計算統一,末端位姿矩陣設置為
通過上述機器人模型,已知末端執行器需要到達的位置,即名義位置后,根據無誤差運動學方程逆解,可求得各軸轉角,再根據有誤差的運動學方程求解末端執行器實際到達的位置,即可得到一組包括名義位置和實際位置樣本信息。本文中采用Matlab機器人工具箱求解正逆解,生成的工業機器人三維仿真模型如圖4所示。依據上述方法,可以通過機器人正逆解構造一系列樣本。首先,在機器人工作空間內選取1 m3立方體,在立方體內通過拉丁超立方采樣產生350 個末端執行器位置點,分別記錄名義位置和實際位置如表4所示;通過計算得到x,y,z3個方向的誤差,選取200 個點作為訓練樣本點,150 個點作為測試樣本點,訓練神經網絡。網絡的輸入為工業機器人末端執行器的名義位置,輸出為實際位置誤差。

表4 位置點信息(名義位置和實際位置)Tab.4 Positional point information(nominal positional and actual positional)

圖4 工業機器人仿真模型Fig.4 Simulation model of industrial robot
以樣本點為隱節點中心,訓練徑向基神經網絡,通過粒子群優化得到最優的形參數,對150個測試點進行誤差預測,預測效果如圖5 所示,圖5a),b),c)分別表示x,y,z方向預測誤差和實際誤差的對比,模型預測精度評價指標統計如表5所示。

圖5 徑向基神經網絡的預測效果Fig.5 Prediction effect of radial basis function neural network
直觀上看,預測誤差幾乎和實際誤差一致,通過表5可看出徑向基神經網絡的局部精度和全局精度都較高,預測效果最好的方向為z方向。對于不同工業機器人來說,效果最好的方向不一定是固定的。由于150 個測試點是在機器人工作空間隨機選取的,徑向基網絡在測試點的預測精度較高,因此在該工作空間的任意位置預測精度也很高。依此,可以獲得整個工作空間的誤差情況,如圖6 所示,圖6a), b), c)分別為x,y,z方向定位誤差場。工業機器人在特定工作空間中,誤差情況不存在突變,這符合位置誤差相似性原理。誤差場反映的是該工作空間的定位誤差情況,依照1.2 節中基于徑向基神經網絡的誤差補償方法對工業機器人誤差進行補償,補償前后各個方向的位置誤差如圖7所示,圖7a),b),c)分別為x,y,z方向補償前后的定位誤差對比。

圖6 沿三坐標軸方向定位誤差場Fig.6 Positional error field along three axes

圖7 補償前后各方向位置誤差對比Fig.7 Comparison of position errors in each direction before and after compensation
由圖7可看出,任一方向補償前的位置誤差均比較大,補償以后位置誤差趨近于0,這證明了本方法行之有效。從上述數據中可以計算出誤差補償前后總位置誤差,總位置誤差的計算公式為
式中:ex,ey和ez分別為x,y和z軸3個方向的位置誤差;e為總位置誤差。補償前后的總位置誤差對比如圖8 。通過3 個坐標方向的誤差補償,工業機器人的絕對定位精度得到很大的提升。對于該仿真模型而言,補償前絕對定位誤差為1.5 mm 左右,補償之后幾乎為0 mm。

圖8 補償前后總位置誤差對比Fig.8 Comparison of absolute position errors before and after comparison
本文提出一種工業機器人誤差補償的神經網絡方法,所提方法具有較好的局部精度和全局精度。在徑向基神經網絡的參數優化中,使用了粒子群優化算法,保證了徑向基神經網絡的精度。提出了工業機器人定位誤差場的概念,描述了工業機器人在某工作空間的定位誤差情況。通過仿真實驗,驗證了所提方法的有效性,很大程度上地提升了工業機器人的定位精度。在仿真實驗中,該補償方法的補償效果非常好,使工業機器人的定位誤差基本接近于0 mm,但是在實際實驗中,會有重力,溫度和負載等因素的影響,補償效果有待進一步實驗驗證。