李博文,張曉輝,何 煦,羅 敬
(1.中國科學院長春光學精密機械與物理研究所,吉林 長春 130033;2.中國科學院大學,北京 100049)
隨著綜合國力的不斷提升,我國航天事業(yè)取得巨大成就。研制出的大型精密光學儀器的型號不斷增多,對航天產(chǎn)品的裝配精度也提出了更嚴格的要求。這些儀器往往具有重量大、精度高、調(diào)整過程復雜等特點。目前,產(chǎn)品的裝配任務主要依靠人工操作,裝配周期、精度及可靠性與操作人員的經(jīng)驗有較大的關(guān)系[1]。因此,將大型工業(yè)機器人引入航天制造領域,發(fā)展高精度的自動化裝配技術(shù),實現(xiàn)智能化與數(shù)字化,是解決航天產(chǎn)品高精度裝配困難問題的有效途徑。
產(chǎn)品的可靠性主要由裝配過程中各部件的定位精度來確定。其中重復定位精度與絕對定位精度又是機器人定位精度的兩大構(gòu)成。不同型號的機器人在重復定位精度上均可以達到較高水平,控制在0.1mm以內(nèi),而絕對定位精度一般都在1mm以上[2],無法精確完成各項任務。為了提高機器人的性能及定位準確性,眾多學者對不同型號的機器人進行了研究,提出了多種標定方法。文獻[3]基于D-H模型建立了機器人的末端位置誤差方程,并利用最小二乘法進行求解,有效實現(xiàn)了機器人的標定;文獻[4]在最小二乘法辨識出誤差模型中真實關(guān)節(jié)角的基礎上,利用圓周法對機器人進行二次誤差補償。以上基于模型的標定方法大多建立在D-H運動學基礎上,且僅考慮了部分因素的影響,建立的誤差模型并不完善。在使用最小二乘法求解參數(shù)時可能存在病態(tài)矩陣,導致部分參數(shù)無法辨識,當相鄰關(guān)節(jié)平行時也可能產(chǎn)生奇異問題。同時他們的標定對象均為負載小于200kg的機器人,由于大型工業(yè)機器人具有重量較大,臂展較長等特點,運動學參數(shù)的微小偏差會引起末端定位產(chǎn)生較大誤差[5],這些方法難以對大尺寸高負載的工業(yè)機器人具備通用性。因此,有必要考慮更多影響定位精度的誤差因素,建立更完善的誤差模型并改進辨識算法,對航天領域的大型工業(yè)機器人進行標定。
針對以上問題,提出了一種適用于大型工業(yè)機器人的運動學標定及精度補償方法。綜合考慮了運動學參數(shù)、坐標系變換、靶球安裝等多項誤差影響因素,基于改進的D-H(MD-H)建模方法建立了含34個幾何誤差參數(shù)的機器人標定模型。并將L-M算法與最小二乘法相結(jié)合,進行有限次迭代完成參數(shù)辨識并補償。最后根據(jù)國標對位置準確度的評定標準開展實驗,驗證了算法的有效性和準確性。
標定是能夠提高機器人絕對定位精度的有效方式?;谶\動學模型的標定方法,大致可以分為4個步驟[6]:(1)建立合理描述機器人定位誤差的標定模型;(2)設計測量方案,準確測定機械臂法蘭末端的實際位姿;(3)選用合適的算法進行計算,得到誤差模型中的各項幾何參數(shù);(4)根據(jù)計算參數(shù)進行修正與補償,實現(xiàn)機器人絕對定位精度的提高。
機器人標定的首要工作是建立合理的運動學模型。其中DH建模法是最常用的建模方法之一,它的優(yōu)點是將齊次變換矩陣分解為與連桿相關(guān)的變換或與關(guān)節(jié)相關(guān)的變換,為具體的編程和數(shù)值求解帶來便利。
確定D-H參數(shù)的經(jīng)典方法是為每一個關(guān)節(jié)或連桿創(chuàng)建相應的參考坐標系,每一個坐標系都有嚴格的約束,必須先確定對應的z軸和x軸方向,再根據(jù)右手定則即可得到y(tǒng)軸方向。
D-H建模法定義了四個參數(shù)來描述相鄰兩個關(guān)節(jié)坐標系之間的轉(zhuǎn)換關(guān)系,然而當兩關(guān)節(jié)達到平行狀態(tài)時,會產(chǎn)生一定缺陷:這些參數(shù)并不能表示關(guān)節(jié)坐標系下繞y軸旋轉(zhuǎn)的角度。因此采用MD-H方法來建立機器人運動學誤差模型,定義了一個新的參數(shù)β來表示y軸旋轉(zhuǎn)角,可以有效解決相鄰兩關(guān)節(jié)平行時產(chǎn)生奇異現(xiàn)象的問題。于是,機器人相鄰兩關(guān)節(jié)的齊次坐標變換矩陣可定義為:
式中:di,θi,ai,αi,βi—第i個關(guān)節(jié)的連桿偏置、關(guān)節(jié)轉(zhuǎn)角、關(guān)節(jié)長度、連桿扭角以及y軸扭角。
圖2 機器人MD-H坐標系Fig.2 Robot MD-H Coordinate System
標定選取的工業(yè)機器人型號為KUKA KR1000 Titan,最大負載超1000kg,最大臂展3m 以上,是世界上最大的工業(yè)機器人之一,在汽車行業(yè)、建筑材料工業(yè)及智能制造領域得到廣泛使用,其幾何結(jié)構(gòu),如圖3所示。
圖3 機器人幾何結(jié)構(gòu)Fig.3 Robot Geometrical Structure
結(jié)合機器人相關(guān)幾何結(jié)構(gòu)及坐標系建立規(guī)則,確定MD-H參數(shù),如表1所示。
表1 機器人MD-H參數(shù)表Tab.1 The Table of Robot MD-H Parameters
表2 機器人和激光跟蹤儀的主要參數(shù)Tab.2 The Main Parameters of Robot and Laser Tracker
在MATLAB 中進行仿真,結(jié)合Robotics Toolbox 工具箱和Link函數(shù)得到運動學仿真模型,如圖4所示。驗證了MD-H參數(shù)的合理性。
圖4 KUKA機器人仿真模型Fig.4 KUKA Robot Simulation Model
圖5 最小二乘法迭代運算流程圖Fig.5 The Flow Diagram by Iterative Least Square Method
外部多種影響均可導致工業(yè)機器人的定位精度產(chǎn)生誤差,其中運動學參數(shù)誤差占最大比重。將MD-H模型中的運動學參數(shù)實際測定值與理論值相比較,得到的偏移量定義為運動學參數(shù)誤差。
在具體測量時,由于機器人末端位姿難以直接測定,可以將激光跟蹤儀自帶的靶球通過磁性底座固定于轉(zhuǎn)接板上,再將轉(zhuǎn)接板連接在機器人末端法蘭盤上。這相當于在末端新引入了新的平行連桿7,而且機器人末端與連桿7之間只存在平移關(guān)系[7]。但是也不可避免地引入了新的靶球安裝誤差,記作tx、ty、tz。連桿6和7之間的轉(zhuǎn)換關(guān)系表示為
為實現(xiàn)機器人末端定位誤差的準確測定,首先應得到機器人基坐標系與測量坐標系之間的變換關(guān)系,將不同坐標下的數(shù)據(jù)進行統(tǒng)一。由于在擬合坐標系的過程中,不可避免地會引入測量誤差和計算誤差等,造成了最終轉(zhuǎn)換結(jié)果存在微小的偏差,我們用Tr表示:
六軸機械臂可建立6個連桿坐標系,每個坐標系有4個待辨識的D-H參數(shù),由于只有二、三關(guān)節(jié)之間可能存在平行關(guān)系,所以引入旋轉(zhuǎn)參數(shù)β2,同時末端靶球在x、y、z方向上共存在3項安裝誤差,記作tx、ty、tz,從跟蹤儀坐標系到機器人末端坐標系的變換矩陣引入了旋轉(zhuǎn)誤差δx、δy、δz和平移誤差dx、dy、dz各3項,共計34項幾何參數(shù)誤差。
針對KUKA大型工業(yè)機器人,引入末端法蘭工作系到工具坐標系的齊次變換矩陣[8],將六軸對應的關(guān)節(jié)坐標系產(chǎn)生的誤差傳遞至機器人世界坐標系,得到機器人法蘭末端在這兩種坐標系下的變換關(guān)系為:
根據(jù)微分變換法,存在ΔTi使得:
對運動學方程進行全微分,可得機器人末端法蘭的位置誤差近似為:
結(jié)合式(5)和式(6)可計算:
ΔTi為每個關(guān)節(jié)誤差引起的微分變換矩陣,根據(jù)微分運動學原理可得:
式中:[δx,δy,δz]、[dx,dy,dz]—姿態(tài)誤差和位置誤差向量。
聯(lián)立式(7)和式(8)可得到在關(guān)節(jié)坐標系下,每個關(guān)節(jié)臂的運動學參數(shù)誤差,表示為:
式(9)描述了連桿參數(shù)誤差到其連桿坐標系微分誤差的線性模型,前三行元素表示位置矢量變化,后三行元素表示姿態(tài)矢量變化。
最后計算出連桿坐標系下產(chǎn)生的各項誤差傳遞到末端法蘭坐標系下的誤差總和為:
機器人位姿由位置和姿態(tài)組成,其中位置產(chǎn)生的偏差比姿態(tài)偏差更直接影響到定位精度。并且位置坐標信息易于測量獲取,同時當機器人的位置精度提高時,其末端的姿態(tài)精度也會相應提高。因此,在之后的研究中都只對位置誤差進行分析,暫不分析姿態(tài)誤差。
將機器人末端的實際測定位置PR與理論計算位置Pn之間的差值定義為末端位置誤差,并記作:
機器人法蘭末端到靶球之間的平移變換,在x、y、z方向上共產(chǎn)生3項平移誤差Δtx、Δty、Δtz,基坐標系到機器人坐標系的變換引入了旋轉(zhuǎn)誤差δx、δy、δz和平移誤差dx、dy、dz,考慮到上述誤差及運動學參數(shù)誤差Δdi,Δθi,Δai,Δαi,Δβi都足夠小,因此可以采用矩陣微分法來建立和分析機器人末端的位置誤差模型:
寫成矩陣形式為:
式中:ΔP=(Δx,Δy,Δz)T;Jk—誤差矩陣;Δq—待求解的誤差參數(shù)矢量,包含34個幾何參數(shù)。
目前參數(shù)辨識的最常用方法是最小二乘法[9],該方法目的是尋找使理論位置和實際位置之間誤差達到最小化的最優(yōu)解。通過計算將得到的最優(yōu)解代入到原始數(shù)據(jù)中,對機器人的運動軌跡進行修正與補償。因為所求的方程有34個未知數(shù),所以至少需要選取12個位置坐標用于標定,并結(jié)合最小二乘法進行擬合求解:
式中:en—n組實際位置誤差ΔP的集合,若雅可比矩陣中存在冗余參數(shù),則會導致誤差模型中的部分數(shù)據(jù)難以準確辨識,誤差補償就可能產(chǎn)生偏差,因此引入L-M算法完善最小二乘算法,改進后的求解公式可寫成:
式中:μ—權(quán)系數(shù),初始值一般取0.001。
在實際計算過程中,最小二乘法常結(jié)合迭代運算來使用。因此,采用改進的最小二乘法辨識出幾何參數(shù)誤差,并補償?shù)竭\動學參數(shù)初始值中,通過不斷調(diào)整權(quán)系數(shù)的值,進行有限次迭代,使末端位置誤差不斷靠近真實值,直到最終偏差滿足精度要求[10]。即為改進的迭代最小二乘法,可以使工業(yè)機器人的定位精度更為準確。
標定過程中,以KUKA公司生產(chǎn)的KR1000 Titan大型機器人為研究對象,借助Leica公司的激光跟蹤儀AT-960進行測量,搭建機器人參數(shù)辨識和標定試驗平臺。
實驗開始前先確定數(shù)據(jù)采集次數(shù)為兩次,每次各50 個點。其中第一次用于機器人的參數(shù)誤差辨識實驗,另一次在參數(shù)辨識后采集,通過對標定前后KUKA大型工業(yè)機器人的定位精度進行分析對比,驗證誤差補償效果的有效性。
首先在機器人末端安裝靶球作為位姿檢測點,如圖6所示?;诩す飧檭x在SA軟件中建立機器人的基坐標系,然后在機器人的運動空間范圍內(nèi)隨機選擇50個點作為理論參考位姿,使用示教器移動機器人各關(guān)節(jié)分別運行到這些點,記錄機器人末端靶球的位置信息和機器人在該位置時的關(guān)節(jié)角信息。對測得的50組數(shù)據(jù)用改進的最小二乘法進行參數(shù)辨識,計算出誤差參數(shù)并補償?shù)娇刂破髦?,最后再次測得相同指令的50組數(shù)據(jù),對補償前后機器人的定位精度進行比較,驗證參數(shù)補償?shù)男Ч八惴ū孀R的有效性。
圖6 實驗現(xiàn)場圖Fig.6 The Experiment Site
應用前文所述的辨識算法,將激光跟蹤儀測量的相關(guān)數(shù)據(jù)進行整理后代入建立的誤差模型中,運用算法在MATLAB 中對誤差參數(shù)進行辨識,多次迭代后得到相關(guān)誤差參數(shù),如表3所示。
表3 辨識出的KUKA機器人誤差參數(shù)Tab.3 The Error Parameters of KUKA Robot Identified
為了驗證標定方法是否使KUKA工業(yè)機器人的絕對定位精度得到提高,在辨識出相關(guān)參數(shù)誤差后進行誤差補償后,再次控制機器人分別運動到相同的目標點,記錄新的測量數(shù)據(jù),對50個新的實測點進行數(shù)據(jù)處理,得到標定前后機器人的xyz三個坐標軸方向的位置誤差,如圖7所示。通過圖7可以看出三個坐標軸方向的定位誤差均有明顯降低的趨勢,將平均誤差值和最大誤差值作為反映定位精度的相關(guān)指標,對實驗數(shù)據(jù)進一步分析,得到標定前后的定位誤差,如表4所示。
表4 標定前后的誤差對比Tab.4 Error Comparison Before and After Calibration
圖7 標定前后X、Y、Z方向的誤差圖Fig.7 Error Diagram in X、Y、Z Direction
標定后,最大誤差由2.557mm下降到0.973mm,下降了61.9%;平均誤差由1.122mm 下降到0.340mm,下降了69.7%。x軸方向上,最大誤差下降了58.6%,平均誤差下降了62.7%;y軸方向上,最大誤差下降了54.6%,平均誤差下降了71.9%;z軸方向上,最大誤差下降了72.3%,平均誤差下降了78.6%。因此可以看出標定后無論是最大誤差還是平均誤差都有了明顯降低,經(jīng)過參數(shù)誤差補償?shù)哪P湍軌蚋訙蚀_描述機器人末端的位置。
為進一步驗證運動學標定及精度補償方法的有效性,根據(jù)國標GB/T12642-2013定義的測量方法,開展進一步驗證實驗。位置準確度作為衡量機器人絕對定位精度指標之一,指的是機器人從相同方向接近目標指令位置和實到位置平均值之間的偏差[11],計算方法如下:
首先,選擇一個空間測量平面,在平面上按照國標規(guī)定確定5個位姿測量點,控制機器人按P5→P4→P3→P2→P1的順序循環(huán)運動30次,采用激光跟蹤儀依次測量每個實驗點的實際位置,計算出標定前5個點對應的絕對定位精度,然后根據(jù)辨識出的參數(shù)誤差進行誤差補償,再次控制機器人沿著相同軌跡繼續(xù)進行30次往返運動,計算標定后的5個實驗點的絕對定位精度[11];得到這5個實驗點標定前后xyz方向位置偏差及位置準確度,如圖8所示。
圖8 標定前后位置準確度對比圖Fig.8 Position Accuracy Before and After Calibration
從圖中不難看出,對機器人進行誤差補償后,這五點中最大的位置準確度由2.36mm 優(yōu)化至0.28mm;提高了88.1%,平均準確度由2.85mm 優(yōu)化至0.38mm,提高了86.7%。綜上所述,基于MD-H模型的運動學標定及精度補償方法適用于航天領域的大型工業(yè)機器人,機器人的各項定位精度指標均得到明顯提高。
以KUKA KR1000 Titan為研究對象,提出了適用于航天領域自動化裝配的大型工業(yè)機器人標定與精度補償方法。首先引入MD-H建模方法解決了傳統(tǒng)模型的缺陷,綜合考慮運動學參數(shù)、坐標系轉(zhuǎn)換誤差、靶球安裝誤差等多項誤差因素對絕對定位精度的影響,建立了更為完善的誤差模型;然后采用L-M算法與最小二乘相結(jié)合,計算出誤差模型中的各項參數(shù),對機器人進行修正與補償。實驗數(shù)據(jù)顯示:該方法可降低定位誤差最高達61.9%,平均定位誤差也大幅減少了69.7%。最后根據(jù)國家標準選取5個空間點,測量標定前后的位置準確度,最大準確度提高了88.1%,平均準確度提高了86.7%,進一步證明了標定方法的可行性。最終結(jié)果表明:該方法不僅能準確計算出標定模型中的各項參數(shù),精度補償取得顯著效果,同時具備一定通用性,對大型工業(yè)機器人的標定及精度補償具有重要意義。
大型工業(yè)機器人標定是一項比較復雜的工作,影響其絕對定位精度的因素還有很多,精度的提升有待誤差模型的進一步完善。同時在后續(xù)的研究中應關(guān)注姿態(tài)測量與補償,使其更好地滿足航天領域的產(chǎn)品裝配精度要求。