朱嘉齊,李 勇,馮旭剛
(1.安徽工業大學電氣與信息工程學院,安徽馬鞍山243032;2.馬鞍山鋼鐵股份有限公司熱電總廠,安徽馬鞍山243002)
柔性臂坐標測量機是一種非笛卡爾式的測量系統,通常在大型加工現場對復雜零部件進行幾何尺寸的快速測量[1-3],具有體積小、靈活性高、可操作性強、環境要求低、測量范圍廣等優點,但由于其串聯式連桿機構,測量機的測量誤差會被累積并放大[4],導致最終的精度較低,與傳統的正交式坐標測量機性能相比還存在一定差距.
目前,柔性臂測量機的誤差補償主要針對結構參數誤差或角度誤差等靜態誤差,由機械加工精度、裝配誤差、使用磨損等因素造成[5],通常利用智能尋優算法或借助更高精度的測量儀器對測量機的部件進行實驗來減少誤差,例如:Santolaria使用一維球列作為標準件[6],采用Levenberg-Marquarat 法(最小二乘法)對Faro的柔性臂坐標測量機進行了標定;Joubair 和Bonev[7]運用具有4個互相垂直的平面的標準立方體確定運動學參數.
隨著現代精密加工和高精度測試的發展,測量機的靜態誤差比例在總誤差中逐漸降低.而溫度變化造成的熱變形誤差卻無法消除,因此熱變形誤差對精密儀器的影響顯著提升,成為測量機的主要誤差源之一,目前對熱變形誤差的研究集中于外部環境溫度的影響[8],對于內熱的補償研究較少.
針對測量機的內熱對測量精度的影響,在環境溫度不變的情況下,本文對測量機主要部件的溫度變化進行實時監測,通過BP神經網絡建立熱誤差補償模型,結合模擬退火算法加快收斂速度,對測量結果進行補償.
關節臂式坐標測量機是仿人手臂的六自由度非正交坐標測量機,由基座、測量臂和測頭通過旋轉關節串聯連接構成[9],每個關節都裝有角度傳感器,末端坐標以角度為基準,其結構如圖1所示.

圖1 柔性臂坐標測量機的結構圖
柔性臂測量機的經典數學模型是D-H(Denavit-Hartenberg)模型,運用坐標變換矩陣描述兩個相鄰坐標系的關系,相鄰坐標系的齊次變換通過旋轉Rot 和平移Trans 得到,因此坐標系(xi-1,yi-1,zi-1)轉換到坐標系(xi,yi,zi)的變換矩陣Ai為:

式中θi是關節旋轉角,li是桿件的長度,di是桿件偏移量,αi是桿件扭轉角度.
基于D-H模型的坐標系統如圖2所示.

圖2 基于D-H模型的柔性臂坐標測量機的坐標系統簡圖
由于第7 個坐標系是以測頭為中心,設測頭中心在第6 坐標系下的坐標為(Bx,By,Bz),因此相對于第6坐標系的轉換矩陣為[Bx,By,Bz,1]T,則末端測頭相對于基座坐標系的坐標表示如公式(2):

由于柔性臂測量機由多種材料構成,膨脹系數不同,溫度對測量機不同位置的參數影響也不同,因此在測量機的熱源處如基座、測量臂、3個軸向旋轉關節和實驗空間內放置溫度傳感器進行實時監測.測量機的熱變形誤差由外熱和內熱造成.外熱為外部環境對測量機的影響,包括工作環境溫度和人體接觸溫度.內熱為儀器自身的導線、角度傳感器、采集電路等元件工作時以及關節摩擦造成的發熱,根據文獻[8]可知,環境溫度不變時運行坐標測量機并監測各個位置的溫度場變化,測量機上7 處溫度監測點的溫度均有不同程度的上升,說明了內熱對測量機的溫度產生影響.
當環境溫度不變時,隨著內熱源導致的溫度變化,測量機的各個部件受熱脹冷縮影響,造成桿件的長度、桿件偏移量等結構參數發生變化,實際參數與上述模型內的理論參數不一致造成誤差.根據文獻[2]可知,保持環境溫度不變的情況下運行測量機,對測量機的主要部件進行溫度監測,每隔一定時間測量標準桿的長度并與標準值進行比較,實驗表明測量誤差隨溫度上升而增加,最終達到0.1 mm 左右,因此可知內熱對測量機的精度有較大的影響.
BP神經網絡是解決非線性問題的主要方法,對各種信息具有優秀的綜合處理能力,可以看成是一種從輸入到輸出的高度非線性映射,因此本文采用BP神經網絡對坐標測量機的熱變形誤差進行建模.
神經網絡模型為3 層,根據上述分析可知,7 個監測點的溫度是影響測量機精度的重要因素,因此輸入層為7個節點;輸出層為1個節點,為測量誤差;隱含層的節點數根據嘗試確定為2×7+1=15. 因此采用的BP 神經網絡的結構為7-17-1,模型的結構如圖3所示.

圖3 神經網絡模型結構圖
模擬退火(Simulated Annealing,SA)是模擬統計物理學中的固體退火過程,共有3個過程,分別為加溫過程、等溫過程和冷卻過程,它的解題思路是先設定一個較高的初溫,對初始解隨機擾動產生新解,代入能量函數判斷是否滿足Metropolis 準則,隨著溫度系數的逐步使能量函數達到平衡狀態;同時根據Metropolis抽樣準則隨機尋找的全局最優解.
算法步驟如下:
Step 1: 設定初始值:給定初始溫度T0,始權參數w(0)=w0,設置終止檢驗精度e,終止溫度Tmin,馬爾可夫鏈的鏈長L,令初始最優解w?=w0,迭代次數i=0.
Step 2: 產生新解:另wβ=w(k)+rand×E產生新解,其中rand為區間[-1,1]的隨機數,符合Cauchy分布.
Step 3: 求 優 化 函 數:計 算ΔE=E(wβ)-E[w(k)].
Step 4: 接受判斷:如果ΔE ≥0,計算接受概率r=exp[-E(εβ)/T ],如 果r >pp,則w(k+1)=wβ,否則w(k+1)=w(k),pp為區間[0,1]上的隨機數;如果ΔE <0,則w(k+1)=wβ,w?=wβ.
Step 5: 穩定性判別:k=k+1,如果k >L,則轉到step 5,否則轉到步驟2.
Step 6:降溫T=Ti+1=αTi,i=i+1.
Step 7: 結束判別:如果(E <e or T <Tmin),則轉到Step 8,否則轉到Step 2.
Step 8:輸出最終最優解w*,中止算法.
BP神經網絡存在收斂速度較慢、抗干擾能力弱以及容易陷入局部最小狀態等缺點.引入模擬退火算法可加快神經網絡的收斂速度并提高預測精度,模擬退火算法優化BP神經網絡算法的過程為:根據網絡結構設定模擬退火算法的初始值,設定一個較高的溫度,對其進行干擾產生新解,將BP 網絡的均方根誤差作為能量函數,求解能量函數,判斷是否接收,循環降溫,直到滿足結束條件,輸出最終解即神經網絡的最優權值.
針對測量機的結構參數誤差,采用最小二乘法進行參數辨識. 為了減少環境溫度誤差的影響,室溫保持約20 ℃,其中測頭參數Bx,By為0,由中心孔保證不進行標定辨識后測量機結構參數如表1所示.

表1 參數辨識后結構參數Table 1 Structural parameters after parameter identification
設定8 個溫度檢測點并實時記錄,待環境溫度穩定后,柔性臂測量機開始運行,實驗時間設定為200 min,對標準桿上兩錐窩點進行測量并計算測量長度,兩點間長度已知為762.350 mm,每隔5 min測得10組數據,共得400組數據,每個單位時間內的10組數據中9 組為訓練樣本,1 組作為測試樣本,用以驗證神經網絡模型預測效果,測量示意圖如圖4所示.

圖4 測量示意圖
環境溫度不變時測量機在5 min內測量15組標準桿長度數據,參數辨識前后的長度誤差如圖5 所示,參數辨識前誤差范圍在-0.136 2 mm ~0.139 6mm 之間,辨識后誤差范圍在-0.070 5 mm ~0.064 68 mm之間,長度誤差得到了減少.

圖5 參數辨識前后測量誤差
為了驗證模型有效性,在對SA-BP神經網絡模型訓練使其達到結束的條件后,將40組測試樣本代入模型中進行補償,對補償前后的測量誤差進行比較. 熱變形誤差補償后的比較和分析如圖6 和表2所示.

圖6 測量示意圖

表2 補償前后的測量誤差
從上述圖表中可知,儀器自身發熱造成的誤差隨時間逐步增大,補償前最大的測量誤差為0.216 8 mm.采用SA-BP模型補償后,測量誤差的平均值為0.006 9 mm,減少了0.020 2 mm,精度提高了74.5%,相比BP模型補償后的誤差平均值0.019 8 mm,補償效果得到了進一步的提升. 此外SA-BP 模型比BP模型補償后的標準差0.057 9 mm 更低,表明了SABP模型補償后的誤差更具有穩定性.從表2的數據可知,SA-BP 模型補償后的誤差范圍也小于BP 模型,因此驗證了所提算法的可靠性.
本文分析了柔性臂坐標測量機的熱變形誤差因素,主要討論了測量機內部發熱對測量精度的影響. 針對熱變形誤差問題,采用BP神經網絡建立誤差補償模型,當外部溫度不變時測量機開始實驗,每隔一定時間測量標準件并記錄數據作為樣本,減少了標定實驗的復雜性,利用模擬退火算法得到神經網絡的最優權值,避免陷入局部最優解. 實驗結果表明,運用SA-BP模型補償后的測量誤差平均值為0.006 9 mm,標準差為0.038 9 mm,相比BP 模型補償后測量誤差得到了進一步的抑制,補償后的效果更好.