高貫斌, 謝 佩, 劉 飛, 那 靖
(昆明理工大學 機電工程學院,云南 昆明 650500)
關節臂式坐標測量機(Articulated Arm Coordinate Measuring Machines,AACMM)是一種采用旋轉角度為測量基準的便攜式三坐標測量設備,與測量軟件結合可以進行長度、角度、平面度、同軸度、圓度等幾何特征的測量[1]。關節臂式坐標測量機具有通用性強、測量范圍大以及方便現場測量等優點,在汽車制造、模具設計、零件檢測、設備維護等領域得到應用[2]。與傳統三坐標測量機相比,關節臂式坐標測量機的精度較低,限制了其在高精度領域的應用。因此,如何進一步提高關節臂式坐標測量機的測量精度一直是本領域的研究熱點。
引起關節臂式坐標測量機誤差的因素可分為靜態因素和動態因素。靜態因素主要是由運動學參數誤差引起的,可采用運動學標定的方法解決[3-5]。因為工業機器人與關節臂式坐標測量機結構類似,所以二者的運動學標定方法相似且主要集中于建模、測量、參數辨識和誤差補償方面。
運動學參數辨識的研究主要集中于引入智能搜索算法、構建適當的辨識策略以快速準確地求解運動學誤差方程。Cholmin 等[6]提出了一種小生境混沌優化算法(Niche Chaotic Optimization Algorithm)并運用到關節臂式坐標測量機的運動學標定中,有效地降低了均方根偏差。Chen等[7]將改進甲蟲算法應用到KR500L340-2 型工業機器人進行運動學參數辨識中,在完成參數誤差補償后KR500L340-2 的位置誤差平均值從2.95 mm 減小到0.20 mm。另外,內點法[8]、L-M算法[9]和改進教學-模擬退火算法[10]等也被應用于關節式機器人的參數辨識之中。然而,關節臂式坐標測量機的運動學參數數量多,構成的參數辨識矩陣維度高,使得智能優化算法的求解效率低且易陷入局部最優[11]。
運動學建模方面主要致力于使得關節臂式坐標測量機的運動學模型變得完整、非冗余且連續。Benciolini 等[12]提出了基于四元數的關節臂坐標測量機運動學新模型用以避免D-H 模型平行關節不連續的問題。馮旭剛等[13]將廣義幾何誤差模型運用到關節臂式坐標測量機運動學建模當中,克服了D-H 模型不連續和無法包含靜態柔性誤差的問題,有效地提升了關節臂式坐標測量機的測量精度。此外,MCPC 模型[14]、POE 模型[15]和多傳感器坐標測量機參數模型[16]等也被應用于關節式機器人的運動學建模之中。其中POE 只需要兩個參考坐標系(工具坐標系和基礎坐標系)就可表達出機械臂末端執行器工具坐標系相對于其基礎坐標系的位姿,但是,POE 仍然無法擺脫參數冗余和計算量大的問題[17]。
為了求解關節臂式坐標測量機或機器人的運動學參數誤差方程,通常需要準確測量末端位姿信息或進行有效物理約束。可用于關節臂式坐標測量機末端位置測量的儀器主要有激光跟蹤儀、光學動捕系統、相機[18]等。但是,激光跟蹤儀價格高昂且需要特定的夾持裝置對關節臂式坐標測量機進行固定,在實際應用中不現實且操作繁瑣,動捕系統布置周期長且所需空間大,相機的測量精度通常是達不到0.1 mm 從而無法滿足測量精度要求。目前,工業現場主要采用錐孔約束測頭進行關節臂式坐標測量機自標定的方法,無需外部測量儀器,便于在現場應用。但是傳統自標定采用的是單點重復標定方法,單點重復標定只能將角度參數準確辨識出來,長度參數存在等比例縮放的問題,需要借助精密測量設備對部分長度參數進行測量并在辨識中進行固定。為此提出一種基于單點和空間距離的復合自標定方法完成運動學標定,用以彌補傳統自標定方法的不足。
關節臂式坐標測量機受重力、軸系晃動、關節回轉不均勻等動態因素影響而產生的誤差稱為殘余誤差,殘余誤差無法通過運動學標定消除。目前,關節臂式坐標測量機殘差補償方法可分為兩大類,第一類是研究殘差特性,建立殘差與測量構型等變量的關聯模型,進行殘差預測和補償;第二類不尋求建立模型,而是基于神經網絡,根據測頭位置或關節轉角進行殘差預測和補償。
Hamana 等[19]分析了局部關節撓度帶來的誤差,基于測量姿態進行了殘差補償建模補償。許鈾等[20]分析了多關節測量系統關節角度與末端執行器殘差之間的關系,并建立了殘差數據庫以修正系統誤差。高群等[21]提出一種基于多項式模型的單點測量殘差校正方法,研究了圓柱坐標系中關節旋轉角度與殘差之間的關系,建立的多項式誤差補償模型,并補償了關節臂式坐標測量機的殘差。
Zhao 等[22]提出了一種使用LM 算法進行運動學誤差標定,然后使用由思維進化算法優化的反向傳播神經網絡進行非運動學誤差補償的方法。類似地,工業機器人的殘差補償方法對關節臂式坐標測量機也存在借鑒意義。Zhao 等[23]使用激光跟蹤儀大規模測量不同構型下末端位姿信息,以關節轉角為輸入、實際位姿誤差為輸出,建立了一種基于深度神經網絡殘差補償模型,以KUKA 工業機器人為實驗對象完成了殘余誤差補償實驗,使得機器人的最大誤差由1.96 mm 減小到0.22 mm。Nguyen 等[24]在運動學標定的基礎上設計了一個三層的人工神經網絡用于擬合1到3 關節與機器人殘余誤差之間的非線性關系,完成PUMA560 型工業機器人非幾何誤差補償模型的建立,補償后機器人的誤差從4.065 4 mm下降到0.336 8 mm。
綜上所述,殘差建模的方法為了構建補償模型方便,通常在第5 關節坐標系中建立殘差補償模型,需通過變換才能得到基坐標系下的殘差補償值,在轉換的過程中難免會引入轉換誤差,從而影響補償效果。基于神經網絡的“黑箱”式殘差補償方法,需要工作空間采集大量數據用于訓練網絡,才能保證殘差補償泛化性,但是,關節臂式坐標測量機通常具有6 個或者7 個關節,這么高的維度下需要的數據是海量的,而且測頭的三維空間位置坐標的準確值測量也非常困難。
針對上述問題,本文通過構建測量構型與殘差的關系,提出一種在測頭坐標系的基于復合標定和極限學習機的關節臂式坐標測量機殘差補償方法,其數據量需求少、效率和精度高,本文的主要貢獻和創新點總結如下:
(1)針對關節臂式坐標測量機標定中長度參數具有等比例縮放現象,辨識出來的長度參數不準確的問題,提出一種依次進行角度參數辨識、長度參數辨識和長度參數等比例縮放的復合辨識方法,完成了七自由度關節臂式坐標測量機的運動學標定。
(2)通過對標定后關節臂式坐標測量機殘余誤差分布圖譜分析,發現殘余誤差與測量構型參數之間存在密切關系,通過基坐標系原點、第四關節坐標系原點和第六關節坐標系原點構建了以測量擺角、仰角、距離和轉角為變量的測量構型,由于測量構型與殘余誤差存在高階非線性關系,本文采用極限學習機(Extreme Learning Machine, ELM)建立殘余誤差補償模型,對殘余誤差進行補償。
(3)利用本文提出的復合參數辨識和殘余誤差補償方法對關節臂式坐標測量機進行了標定和補償實驗,結果證明了本文所提模型及方法可有效提高關節臂式坐標測量機的精度。
本文以某通用型7 自由度關節臂式坐標測量機作為測試對象,如圖1 所示,其由基座、2 個連桿、7 個旋轉關節和測頭組成。

圖1 某通用型7 自由度關節臂式坐標測量機Fig.1 7-DoF articulated arm coordinate measuring machine
2.1.1 運動學正解
本文采用D-H 方法對關節臂式坐標測量機進行運動學建模,D-H 法中定義了四個參數,分別是關節長度、桿件長度,桿件扭轉角和關節轉角。其中四個參數的定義如下[25]:
關節長度ai-1:沿xi軸上zi-1與zi之間的距離;
桿件長度di:沿zi-1軸上xi-1與xi之間的距離;
桿件扭轉角αi-1:從zi-1到zi繞xi軸旋轉的旋轉角度,繞xi逆時針轉向為正;
關節轉角θi:從xi-1到xi繞zi-1軸旋轉的旋轉角度,繞zi-1逆時針轉向為正。
根據D-H 法建立得到關節臂式坐標測量機的坐標系統,如圖2 所示。

圖2 關節臂式坐標測量機坐標系統Fig.2 Coordinate systems of the AACMM
每個關節坐標系有4 個運動學參數,測頭有3個參數,則七自由度關節臂式坐標測量機共有31個運動學參數。對關節臂式坐標測量機的結構進行初始測量可得這些參數的初始值,如表1所示。

表1 運動學參數初始測量值Tab.1 Nominal value of kinematic parameter
完成關節臂式坐標測量機的運動學建模后,通過平移和旋轉可以得到坐標系{xi-1,yi-1,zi-1}到{xi,yi,zi}的齊次變換矩陣Ti-1,i:
通過依次右乘相鄰關節坐標系變換矩陣,可得到第7 關節坐標系在基坐標系下的位姿矩陣:
將T0,7右乘齊次化測頭偏置向量(lx,ly,lz,1)T,可得到測頭在基座坐標系下的齊次坐標(x,y,z,1):
2.1.2 運動學誤差建模
通常可以將關節臂式坐標測量機的測頭固定于一錐孔中,以保持測頭球心位置不變,通過改變各關節轉角,獲得一系列的關節轉角數據,利用這些數據通過式(3)計算出的測頭坐標值理論上應該是相同的[26],但由于運動學參數存在誤差的原因,實際上計算得到的測頭坐標值并不相同,測頭坐標的重復性誤差反映了運動學參數的誤差。因此,可以將測頭在某一錐孔點的重復誤差作為目標函數,通過最優化方法對運動學參數進行辨識。
測頭的單點重復誤差ΔP主要由運動學參數誤差(Δdi,Δαi-1,Δai-1,Δθi0,Δlx,Δly,Δlz)所決定,其中Δdi為桿件長度誤差、Δai-1為關節長度誤差、Δαi-1為桿件扭轉角誤差、Δθi0為關節轉角零位誤差、(Δlx,Δly,Δlz)為測頭偏置誤差。這些偏差通常足夠小,因此可以用微分運動原理建立運動學誤差模型,即:
進一步寫成矩陣形式:
其中,PN表示測頭的名義坐標值,Δk是參數誤差矢量,,i=1,2,3,…,7,表示單點測量時測頭的平均坐標值,即:
Jk是雅克比矩陣:
基于剛體微分法建立的誤差模型是一個線性方程組,若有N組末端測頭坐標值和關節轉角數據,則由式(5)可得:
為求得運動學參數誤差向量Δk,可將式(8)轉化為最小二乘問題,即:
由于采用單點標定的方法缺少距離信息,僅能夠辨識出運動學參數中的角度參數(Δαi-1,Δθi0),而長度參數(Δdi,Δai-1,Δlx,Δly,Δlz)難以被準確辨識出來。針對上述問題,Cheng 等[27]提出了一種對長度參數進行等比例放縮的方法對長度參數進行標定。此方法對長度參數進行等比例放縮,只會影響長度測量結果,并不會影響關節臂式坐標測量機的單點精度。如果利用兩個錐孔距離提供的長度信息,則可以辨識長度參數。若只考慮長度參數誤差,根據式(5)可知位置1 處和位置2 處的誤差分別為:
兩個位置的距離誤差為:
令JL=Jk1-Jk2,則有:
為求得長度參數誤差向量ΔkL,將式(12)轉化為最小二乘問題,即:
上述方法能夠對運動學參數中的長度參數進行辨識。完成長度參數辨識、提升單點測量精度后,再采用等比例放縮法可以進一步提升長度測量精度。因此,本文采用角度參數辨識、長度參數辨識和長度參數放縮三種方法分步進行的策略對運動學參數進行辨識,流程如圖3 所示。

圖3 復合標定法流程Fig.3 Flow chart of compound calibration method
運動學標定能消除靜態因素引起的誤差,然而想要進一步提高關節臂式坐標測量機的測量精度及穩定性則需要進行非運動學標定,消除動態因素引起的殘差。影響關節臂式坐標測量機測量精度的動態因素主要集中在第2 關節到第6關節之間[28],因此,本文著重分析了2 到6 關節之間的動態因素對測量精度的影響。
關節臂式坐標測量機的連桿和關節部分的質量并不是均勻分布,且測量構型的變動會導致關節臂式坐標測量機的重心發生變化,所以無法對重心位置進行準確地數學建模。同樣地,也沒有確定的數學模型能對回轉不均勻和軸系晃動誤差等動態因素進行嚴格描述。但與這些動態因素密切相關的關節臂式坐標測量機的測量構型卻是可以用數學建模的方法得到。因此,關節臂式坐標測量機受動態因素的影響的問題可以轉化為殘差與其測量構型之間的關系問題。
在使用關節臂式坐標測量機進行測量時,一旦第1 關節、第2 關節和6 關節的轉角確定,則第4 關節在空間的位置也就確定了下來,即測量構型確定了。反之,每次測量,只要基坐標系原點和測頭位置確定,最后只需要確定第4 關節的位置就能使得關節臂式坐標測量機的測量構型確定。因此,關節臂式坐標測量機的測量構型可以由基坐標原點位置、第4 關節坐標系原點位置和測頭位置決定。
對于任意測量任務來說,只要基坐標系和第六關節坐標系位置固定,進行擺臂測量時第4 關節在測量空間中構成近似于圓形的軌跡(如圖4),本文將其稱之為構型圓。

圖4 第4 關節在空間中的軌跡Fig.4 Track of the 4th joint in the measurement space
圖4 表明,無論采用哪種測量構型進行測量,第4 關節一定落在對應的構型圓上,只是在構型圓上的位置和構型圓的半徑有所不同。因此,關節臂式坐標測量機的測量構型可由第4 關節所在的構型圓及其在構型圓上的位置決定。
首先分析第4 關節在任意構型圓上位置有相關聯的因素。定義基坐標系原點、第4 關節坐標系原點和第6 關節坐標系原點組成的平面為D1,令基平面為D0,則如圖5 所示,第4 關節在構型圓上的位置與D1和D0的夾角ω有關。

圖5 測量擺角ω 示意圖Fig.5 Diagram of measuring swing angle ω
擺角ω可以由D1與D0對應的法向量之間的夾角表示。D0的法向量V0可表示為V0=[0,0,z]。其中z表示測頭在Z軸方向的坐標值。D1的法向量V1可以表示為:
其中:P4i表示第4 關節在基坐標系下的坐標值,是齊次變換矩陣T0,4的第4 列的1~3 行;P6i表示第6 關節在基坐標系下的坐標值,是齊次變換矩陣T0,6的第4 列的1~3 行:
完成法向量V0和V1的求取后即可根據空間向量夾角公式求得擺角ω:
上述擺角ω表示了第4 關節在任意構型圓上的位置,接下來需要進一步分析第4 關節具體位于哪一構型圓上。第4 關節具體在哪一構型圓上的問題實際就是分析構型圓的半徑和哪些因素有關。如圖6 所示,基坐標系到第6 關節的連線與基平面之間的夾角和第6 關節坐標原點與基坐標原點之間的連線長度決定了第4 關節到基座的距離。第4 關節到基座的距離一旦固定,那么構型圓的半徑也就隨之確定。令第6 關節坐標原點到基坐標原點的連線與基平面之間的夾角為仰角vmc,定義第6 關節坐標原點與基坐標原點之間的連線長度為長度Lmc,而構型半徑的大小可由仰角vmc和長度Lmc所決定。

圖6 構型圓位置和半徑示意圖Fig.6 Diagram of the position and radius of the configuration circle
vmc實際是P6i與基平面法向量V0之間的夾角,同樣根據空間向量夾角公式,得到仰角vmc的表達式:
Lmc實際就是第6 關節坐標原點到基坐標系原點的歐氏距離:
雖然測頭部分(第6 關節到測頭)和第1 關節的動態因素可以忽略,但是它們轉動會對殘差值造成一定的影響。為了得到較為精確的殘差補償模型,下面依次分析第1 關節和測頭部分對殘余誤差值的影響。如圖7 所示,當測量構型固定時,將測頭與基坐標系原點的連線投影到XY平面中,連線會隨著第1 關節的轉動與X軸成不同大小的夾角θr(本文稱之為轉角)。轉角θr的改變則會使得同一測量構型下X和Y方向的殘差值發生改變,但本質上是構型圓在空間中的位置發生了變化,從而使得第4 關節的位置發生改變。因此,在構建測量構型參數時應當將θr考慮進去,θr可以用以下公式求得:

圖7 第一關節對殘差的影響Fig.7 Effect of first joint on residual value
下面分析測頭部分旋轉會對殘差值的影響,如圖8 所示,當關節臂式測量機的測量構型確定后,測頭部分可以繞第6 關節進行旋轉形成圓形軌跡,本文稱之為測頭圓。由于測頭部分的動態因素忽略不計,所以真實的測頭圓和名義上的測頭圓半徑相同,且測頭在測頭圓上的位置相同。

圖8 測頭部分在空間中形成的軌跡Fig.8 Circular track formed by probe in moving space
為了分析測頭部分旋轉會對殘差值的影響,下面將測頭圓投影到XZ平面進行分析。如圖9所示當測頭部分繞6 軸旋轉時,測頭圓的圓心與測頭的連線與X軸形成夾角θp。θp的大小不同可能會對殘差值產生影響,故需要分析θp與殘差值之間的數學關系。為了便于分析,令Lp為測頭圓的半徑、Lrz為兩個測頭圓之間Z方向的圓心距、Lrx為兩個測頭圓之間X方向的圓心距。根據幾何關系可以求得X,Z方向上殘差值的表達式為:

圖9 測頭圓對殘差值的影響Fig.9 Impacts of probe circle on residual value
從式(20)可知,Z和X方向上的殘差值實際上只與兩測頭圓之間的圓心距有關(Y方向同理)、與θp無關,而圓心距只與測量構型有關。因此可知測頭部分繞第6 關節的旋轉不會對殘差值產生影響。
基于上述分析,本文最終以ω,vmc,Lmc和θr四個參數來描述關節臂式坐標測量機的測量構型。測量構型參數(ω,vmc,Lmc,θr)與關節臂式坐標測量機殘余誤差之間的關系如圖10 所示。

圖10 測量構型參數與殘差Fig.10 Relationship between configuration parameters and residuals
下面通過殘差分布圖譜來分析測量構型參數與殘差之間的關系。利用錐孔采集多擺角單點數據,可以計算得到相應的測量構型參數和殘差,繪制殘差分布圖譜如圖11~圖13 所示。可以看出2 個測量構型參數和殘差之間存在明顯的規律,其形成了一個二維曲面,但其與現有的可用函數描述的曲面均不相同,因此,很難通過數學建模的方法對其進行描述,需要找到一種合適的方式將測量構型參數和殘差的非線性關系擬合出來,才能通過測量構型參數對殘差值進行預測并補償到測頭坐標上,完成殘差補償。

圖11 仰角和擺角與殘差的關系Fig.11 Relationship of the elevation angle, swing angle and residual

圖12 長度和擺角與殘差的關系Fig.12 Relationship of the length, swing angle and residual
3.1 節的分析表明測量構型與殘差(Δx,Δy,Δz)之間存在著非線性映射關系,所以尋找測量構型參數與殘差組成的非線性關系是殘差補償的關鍵。神經網絡建模可以不需要了解內部具體結構,只需要具體的輸入量和輸出量經過一定的訓練,便可準確地擬合出輸入量和輸出量之間的關系。神經網絡的基本思想是隱藏層對輸入矢量進行變換,將低維的輸入數據變換到高維空間內,使得在低維空間內的線性不可分問題在高維空間內線性可分。BP 神經網絡、RBF 神經網絡等神經網絡常用于非線性函數的擬合。但BP神經網絡和RBF 神經網絡等的學習速度通常較慢,特別是當訓練數據龐大時所消耗的時間成本高昂。極限學習機(Extreme Learning Machine,ELM)對前饋神經網絡及其反向傳播算法進行了改進,隱含層節點的權重為隨機或人為給定的,且不需要更新,學習過程僅計算輸出權重,只需要一次迭代即可完成,極大縮短了訓練所需時間,具有較好的自適應性[29]。本文采用ELM 建立殘余誤差補償模型。
將測量構型(ω,vmc,Lmc,θr)作為ELM 的輸入參數,殘差(Δx,Δy,Δz)作為輸出量,建立ELM網絡如圖14 所示。
本文通過計算機編程實現ELM 算法,用于訓練和保存ELM 網絡,ELM 網絡的具體計算步驟如下:
步驟1:確定ELM 網絡的輸入量(ω,vmc,Lmc,θr)和輸出量(Δx,Δy,Δz),設置ELM 網絡隱藏層節點數為300。
步驟2:隨機生成ELM 網絡的輸入連接權重W,權值矩陣W的元素取[-1,1]之間的隨機數。
步驟3:隨機生成ELM 網絡的隱藏層偏置矩陣b,偏置矩陣b的元素取[0,1]之間的隨機數。
步驟4:Sigmoidal 函數具有平滑易于求導的優點,可以將低維特征映射到高維非線性空間中,是神經網絡中常用的激活函數,本文確定以Sigmoidal 函數為激活函數。
步驟5:將實驗采集計算得到的ELM 網絡輸出量和輸入量帶入到模型中,可求解ELM 網絡的輸出權重β。
步驟6:將連接權重W、和偏置矩陣b和輸出權重β保存下來,即可完成ELM 網絡訓練。
步驟7:在進行測量工作時將實時計算的輸入量(ω,vmc,Lmc,θr)代入到訓練好的ELM 網絡中計算輸出量(Δx,Δy,Δz),并將其補償到坐標值即可完成殘差補償:
其中(xnew1,ynew1,znew1)表示殘差補償后的測量坐標值。ELM 的訓練流程和補償過程如圖15 所示。
單點重復精度是關節臂式坐標測量機的重復性的主要衡量指標。為了定義單點重復精度,首先定義以下幾個參數。
坐標誤差值:
坐標誤差平均值:
坐標誤差標準差σ:
其中:E代表所測數據的平均誤差大小,σ代表誤差的波動幅度,可以用E和σ組合來定義關節臂式坐標測量機的單點重復精度(Repeat Precision,RP):
根據上述推導的數學模型,編寫了關節臂式坐標測量機參數辨識和補償軟件。該軟件基于C++和QT5.12 開發平臺,具有數據采集、運動學標定和殘差補償的功能,圖16 為軟件界面截圖。利用該軟件采集了500 組關節角數據,將采集的數據導入事先寫好的標定程序中,即可辨識得出標定后的運動學參數,如表2 所示。

表2 D-H 參數標定后的值Tab.2 D-H parameter of the AACMM after identification

圖16 標定補償軟件Fig.16 Calibration compensation software
為了驗證運動學參數標定是否有效,需要采集數據進行驗證。在工作臺上采集了300 組數據進行驗證,標定前關節臂式坐標測量機分量上的誤差分布如圖17 所示;標定后關節臂式坐標測分量上的誤差分布如圖18 所示。

圖17 運動學標定前的誤差分布圖Fig.17 Error distribution before calibration

圖18 運動學標定后的誤差分布圖Fig.18 Error distribution after calibration
具體數據如表3 所示,單點坐標誤差的最大值、平均值、標準差由標定前的49.386 mm,26.498 mm,12.348 mm 下降到標定后的0.054 mm,0.021 mm,0.009 mm,表明所提復合標定法有效。

表3 復合運動學標定結果Tab.3 Compound kinematic calibration results (mm)
為了進一步驗證復合標定法在測量空間中的泛化性。在空間隨機采集了20 個點位的數據,每個點位采集300 組關節角,共計6 000 組數據。分別采用單點標定法和復合標定法標定后的模型計算重復誤差,對比結果如圖19 所示。關節臂式坐標測量機的單點坐標誤差最大值和RP 由單點標定后的0.098 mm,0.084 mm 下降到復合標定后的0.061 mm,0.055 mm,實驗結果表明復合標定法優于單點標定法,具體數據如表4所示。

表4 運動學標定效果對比Tab.4 Comparison of kinematic calibration effects(mm)

圖19 運動學標定效果對比Fig.19 Comparison of kinematic calibration effects
在800 mm 長度范圍內以40 mm 間隔,每個點位采集300 組不同測量構型下的關節角。完成數據采集后,計算相應的輸入量(ω,vmc,Lmc,θr)和輸出量(Δx,Δy,Δz)并導入ELM 模型中進行訓練。當模型訓練好后,將驗證數據集計算出的輸入量(ω,vmc,Lmc,θr)代入到訓練好的ELM 模型中計算輸出量,并補償至坐標值中即可完成殘差補償。殘差補償效果如圖20 所示,關節臂式坐標測量機的單點殘差最大值和RP 由補償前0.057 mm,0.057 mm 下降到補償后的0.028 mm,0.032 mm,表明本文所提方法是有效的,具體數據如表5 所示。

表5 殘差補償結果Tab.5 Residual compensation results (mm)

圖20 殘差補償結果Fig.20 Residual compensation results
為了進一步驗證所提方法在測量空間中的泛化性。在空間采集了20 個點位的數據,每個點位300 組關節角共計6 000 組數據。
首先完成了基于ELM 測量構型修正模型(MCCM-ELM)和基于BP 測量構型修正模型(MCCM-BP)的殘差補償對比實驗。實驗結果如圖21 所示,MCCM-ELM 補償后,殘差的最大值和RP 由0.061 mm,0.055 mm 下降到0.044 mm,0.035 mm;MCCM-BP 補償后,殘差的最大值和RP 由0.061 mm,0.055 mm 下降到0.051 mm,0.043 mm,具體數據如表6 所示。實驗結果表明,在補償效果上MCCM-ELM 優于MCCMBP,并且ELM 訓練時間為0.375 s、BPNN 的訓練時間是17.874 s,所以MCCM-ELM 與MCCM-BP 相比而言具有補償效果更好、訓練效率更高的優點。

表6 不同擬合算法的殘差補償效果對比Tab.6 Comparison of residual compensation effects of different fitting algorithms(mm)

圖21 不同擬合算法的殘差補償效果Fig.21 Residual compensation effect of different fitting algorithms
完成不同擬合算法的對比實驗后,進一步完成了MCCM-ELM 和基于ELM 第五關節修正模型(FJCM-ELM)的殘差補償對比實驗。
實驗結果如圖22 所示,FJCM-ELM 在進行泛化性驗證實驗時出現了一些補償無效的點位,故MCCM-ELM 的泛化性優于FJCM-ELM,具體數據如表7 所示。綜合上面兩個對比實驗可知,MCCM-ELM 具有泛化性更好、訓練效率更高的優點。故本文最終選擇MCCM-ELM 作為殘差預測補償的模型。

表7 不同殘差補償模型的補償效果對比Tab.7 Comparison of compensation effects of different residual compensation models(mm)

圖22 不同殘差補償模型的補償效果Fig.22 Compensation effect of different residual compensation models
由于殘差補償是針對單點進行補償的,單點精度的提高只能表明重復精度的提高,下面對長度測量精度進行檢驗。使用300 mm 標準量塊作為測量對象,分別使用殘差補償前后的坐標值對其進行120 次測量,其中100 組數據用來放縮長度參數、20 組數據作為驗證集,驗證結果如圖23 所示。具體數據如表8 所示,長度測量誤差的最大值、平均值、標準差由補償前的0.137 mm,0.033 mm,0.037 mm 下降到補償后的0.074 mm,0.021 mm,0.019 mm。上述實驗結果表明本文所提方法不僅可以提高關節臂式坐標測量機的重復精度還可以提高其長度測量精度。

表8 標準量塊測量結果Tab.8 Measurement results of standard gaug e (mm)

圖23 標準量塊測量結果Fig.23 Measurement results of standard gauge
本文以7 自由度關節臂式坐標測量機為對象,分析了其測量構型對殘余誤差影響的特性。構建了以測量擺角、仰角、距離和轉角為變量的測量構型,在此基礎上提出了基于ELM 的殘差修正模型。單點精度對比測試實驗結果表明:與只進行運動學標定相比,進行殘差修正后關節臂式坐標測量機的坐標誤差最大值下降27.9%、均值下降39.1%、標準差下降36.4%。同樣地,長度測量實驗結果表明:進行殘差修正后關節臂式坐標測量機長度測量誤差的最大值下降46.0%、均值下降36.4%、標準差下降48.6%。
實驗中所用的7 自由度關節臂式坐標測量機結構和坐標變換模型具有通用性,因此所使用方法能便捷、有效地提高類似結構的關節臂式坐標測量機的單點重復精度,對關節臂式坐標測量機精度補償具有一定參考意義。