朱嘉齊,李 勇,馮旭剛
(1.安徽工業(yè)大學(xué)電氣與信息工程學(xué)院,安徽馬鞍山243032;2.馬鞍山鋼鐵股份有限公司熱電總廠,安徽馬鞍山243002)
柔性臂坐標(biāo)測(cè)量機(jī)是一種非笛卡爾式的測(cè)量系統(tǒng),通常在大型加工現(xiàn)場(chǎng)對(duì)復(fù)雜零部件進(jìn)行幾何尺寸的快速測(cè)量[1-3],具有體積小、靈活性高、可操作性強(qiáng)、環(huán)境要求低、測(cè)量范圍廣等優(yōu)點(diǎn),但由于其串聯(lián)式連桿機(jī)構(gòu),測(cè)量機(jī)的測(cè)量誤差會(huì)被累積并放大[4],導(dǎo)致最終的精度較低,與傳統(tǒng)的正交式坐標(biāo)測(cè)量機(jī)性能相比還存在一定差距.
目前,柔性臂測(cè)量機(jī)的誤差補(bǔ)償主要針對(duì)結(jié)構(gòu)參數(shù)誤差或角度誤差等靜態(tài)誤差,由機(jī)械加工精度、裝配誤差、使用磨損等因素造成[5],通常利用智能尋優(yōu)算法或借助更高精度的測(cè)量?jī)x器對(duì)測(cè)量機(jī)的部件進(jìn)行實(shí)驗(yàn)來(lái)減少誤差,例如:Santolaria使用一維球列作為標(biāo)準(zhǔn)件[6],采用Levenberg-Marquarat 法(最小二乘法)對(duì)Faro的柔性臂坐標(biāo)測(cè)量機(jī)進(jìn)行了標(biāo)定;Joubair 和Bonev[7]運(yùn)用具有4個(gè)互相垂直的平面的標(biāo)準(zhǔn)立方體確定運(yùn)動(dòng)學(xué)參數(shù).
隨著現(xiàn)代精密加工和高精度測(cè)試的發(fā)展,測(cè)量機(jī)的靜態(tài)誤差比例在總誤差中逐漸降低.而溫度變化造成的熱變形誤差卻無(wú)法消除,因此熱變形誤差對(duì)精密儀器的影響顯著提升,成為測(cè)量機(jī)的主要誤差源之一,目前對(duì)熱變形誤差的研究集中于外部環(huán)境溫度的影響[8],對(duì)于內(nèi)熱的補(bǔ)償研究較少.
針對(duì)測(cè)量機(jī)的內(nèi)熱對(duì)測(cè)量精度的影響,在環(huán)境溫度不變的情況下,本文對(duì)測(cè)量機(jī)主要部件的溫度變化進(jìn)行實(shí)時(shí)監(jiān)測(cè),通過(guò)BP神經(jīng)網(wǎng)絡(luò)建立熱誤差補(bǔ)償模型,結(jié)合模擬退火算法加快收斂速度,對(duì)測(cè)量結(jié)果進(jìn)行補(bǔ)償.
關(guān)節(jié)臂式坐標(biāo)測(cè)量機(jī)是仿人手臂的六自由度非正交坐標(biāo)測(cè)量機(jī),由基座、測(cè)量臂和測(cè)頭通過(guò)旋轉(zhuǎn)關(guān)節(jié)串聯(lián)連接構(gòu)成[9],每個(gè)關(guān)節(jié)都裝有角度傳感器,末端坐標(biāo)以角度為基準(zhǔn),其結(jié)構(gòu)如圖1所示.
圖1 柔性臂坐標(biāo)測(cè)量機(jī)的結(jié)構(gòu)圖
柔性臂測(cè)量機(jī)的經(jīng)典數(shù)學(xué)模型是D-H(Denavit-Hartenberg)模型,運(yùn)用坐標(biāo)變換矩陣描述兩個(gè)相鄰坐標(biāo)系的關(guān)系,相鄰坐標(biāo)系的齊次變換通過(guò)旋轉(zhuǎn)Rot 和平移Trans 得到,因此坐標(biāo)系(xi-1,yi-1,zi-1)轉(zhuǎn)換到坐標(biāo)系(xi,yi,zi)的變換矩陣Ai為:
式中θi是關(guān)節(jié)旋轉(zhuǎn)角,li是桿件的長(zhǎng)度,di是桿件偏移量,αi是桿件扭轉(zhuǎn)角度.
基于D-H模型的坐標(biāo)系統(tǒng)如圖2所示.
圖2 基于D-H模型的柔性臂坐標(biāo)測(cè)量機(jī)的坐標(biāo)系統(tǒng)簡(jiǎn)圖
由于第7 個(gè)坐標(biāo)系是以測(cè)頭為中心,設(shè)測(cè)頭中心在第6 坐標(biāo)系下的坐標(biāo)為(Bx,By,Bz),因此相對(duì)于第6坐標(biāo)系的轉(zhuǎn)換矩陣為[Bx,By,Bz,1]T,則末端測(cè)頭相對(duì)于基座坐標(biāo)系的坐標(biāo)表示如公式(2):
由于柔性臂測(cè)量機(jī)由多種材料構(gòu)成,膨脹系數(shù)不同,溫度對(duì)測(cè)量機(jī)不同位置的參數(shù)影響也不同,因此在測(cè)量機(jī)的熱源處如基座、測(cè)量臂、3個(gè)軸向旋轉(zhuǎn)關(guān)節(jié)和實(shí)驗(yàn)空間內(nèi)放置溫度傳感器進(jìn)行實(shí)時(shí)監(jiān)測(cè).測(cè)量機(jī)的熱變形誤差由外熱和內(nèi)熱造成.外熱為外部環(huán)境對(duì)測(cè)量機(jī)的影響,包括工作環(huán)境溫度和人體接觸溫度.內(nèi)熱為儀器自身的導(dǎo)線、角度傳感器、采集電路等元件工作時(shí)以及關(guān)節(jié)摩擦造成的發(fā)熱,根據(jù)文獻(xiàn)[8]可知,環(huán)境溫度不變時(shí)運(yùn)行坐標(biāo)測(cè)量機(jī)并監(jiān)測(cè)各個(gè)位置的溫度場(chǎng)變化,測(cè)量機(jī)上7 處溫度監(jiān)測(cè)點(diǎn)的溫度均有不同程度的上升,說(shuō)明了內(nèi)熱對(duì)測(cè)量機(jī)的溫度產(chǎn)生影響.
當(dāng)環(huán)境溫度不變時(shí),隨著內(nèi)熱源導(dǎo)致的溫度變化,測(cè)量機(jī)的各個(gè)部件受熱脹冷縮影響,造成桿件的長(zhǎng)度、桿件偏移量等結(jié)構(gòu)參數(shù)發(fā)生變化,實(shí)際參數(shù)與上述模型內(nèi)的理論參數(shù)不一致造成誤差.根據(jù)文獻(xiàn)[2]可知,保持環(huán)境溫度不變的情況下運(yùn)行測(cè)量機(jī),對(duì)測(cè)量機(jī)的主要部件進(jìn)行溫度監(jiān)測(cè),每隔一定時(shí)間測(cè)量標(biāo)準(zhǔn)桿的長(zhǎng)度并與標(biāo)準(zhǔn)值進(jìn)行比較,實(shí)驗(yàn)表明測(cè)量誤差隨溫度上升而增加,最終達(dá)到0.1 mm 左右,因此可知內(nèi)熱對(duì)測(cè)量機(jī)的精度有較大的影響.
BP神經(jīng)網(wǎng)絡(luò)是解決非線性問(wèn)題的主要方法,對(duì)各種信息具有優(yōu)秀的綜合處理能力,可以看成是一種從輸入到輸出的高度非線性映射,因此本文采用BP神經(jīng)網(wǎng)絡(luò)對(duì)坐標(biāo)測(cè)量機(jī)的熱變形誤差進(jìn)行建模.
神經(jīng)網(wǎng)絡(luò)模型為3 層,根據(jù)上述分析可知,7 個(gè)監(jiān)測(cè)點(diǎn)的溫度是影響測(cè)量機(jī)精度的重要因素,因此輸入層為7個(gè)節(jié)點(diǎn);輸出層為1個(gè)節(jié)點(diǎn),為測(cè)量誤差;隱含層的節(jié)點(diǎn)數(shù)根據(jù)嘗試確定為2×7+1=15. 因此采用的BP 神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為7-17-1,模型的結(jié)構(gòu)如圖3所示.
圖3 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖
模擬退火(Simulated Annealing,SA)是模擬統(tǒng)計(jì)物理學(xué)中的固體退火過(guò)程,共有3個(gè)過(guò)程,分別為加溫過(guò)程、等溫過(guò)程和冷卻過(guò)程,它的解題思路是先設(shè)定一個(gè)較高的初溫,對(duì)初始解隨機(jī)擾動(dòng)產(chǎn)生新解,代入能量函數(shù)判斷是否滿足Metropolis 準(zhǔn)則,隨著溫度系數(shù)的逐步使能量函數(shù)達(dá)到平衡狀態(tài);同時(shí)根據(jù)Metropolis抽樣準(zhǔn)則隨機(jī)尋找的全局最優(yōu)解.
算法步驟如下:
Step 1: 設(shè)定初始值:給定初始溫度T0,始權(quán)參數(shù)w(0)=w0,設(shè)置終止檢驗(yàn)精度e,終止溫度Tmin,馬爾可夫鏈的鏈長(zhǎng)L,令初始最優(yōu)解w?=w0,迭代次數(shù)i=0.
Step 2: 產(chǎn)生新解:另wβ=w(k)+rand×E產(chǎn)生新解,其中rand為區(qū)間[-1,1]的隨機(jī)數(shù),符合Cauchy分布.
Step 3: 求 優(yōu) 化 函 數(shù):計(jì) 算ΔE=E(wβ)-E[w(k)].
Step 4: 接受判斷:如果ΔE ≥0,計(jì)算接受概率r=exp[-E(εβ)/T ],如 果r >pp,則w(k+1)=wβ,否則w(k+1)=w(k),pp為區(qū)間[0,1]上的隨機(jī)數(shù);如果ΔE <0,則w(k+1)=wβ,w?=wβ.
Step 5: 穩(wěn)定性判別:k=k+1,如果k >L,則轉(zhuǎn)到step 5,否則轉(zhuǎn)到步驟2.
Step 6:降溫T=Ti+1=αTi,i=i+1.
Step 7: 結(jié)束判別:如果(E <e or T <Tmin),則轉(zhuǎn)到Step 8,否則轉(zhuǎn)到Step 2.
Step 8:輸出最終最優(yōu)解w*,中止算法.
BP神經(jīng)網(wǎng)絡(luò)存在收斂速度較慢、抗干擾能力弱以及容易陷入局部最小狀態(tài)等缺點(diǎn).引入模擬退火算法可加快神經(jīng)網(wǎng)絡(luò)的收斂速度并提高預(yù)測(cè)精度,模擬退火算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法的過(guò)程為:根據(jù)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)定模擬退火算法的初始值,設(shè)定一個(gè)較高的溫度,對(duì)其進(jìn)行干擾產(chǎn)生新解,將BP 網(wǎng)絡(luò)的均方根誤差作為能量函數(shù),求解能量函數(shù),判斷是否接收,循環(huán)降溫,直到滿足結(jié)束條件,輸出最終解即神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值.
針對(duì)測(cè)量機(jī)的結(jié)構(gòu)參數(shù)誤差,采用最小二乘法進(jìn)行參數(shù)辨識(shí). 為了減少環(huán)境溫度誤差的影響,室溫保持約20 ℃,其中測(cè)頭參數(shù)Bx,By為0,由中心孔保證不進(jìn)行標(biāo)定辨識(shí)后測(cè)量機(jī)結(jié)構(gòu)參數(shù)如表1所示.
表1 參數(shù)辨識(shí)后結(jié)構(gòu)參數(shù)Table 1 Structural parameters after parameter identification
設(shè)定8 個(gè)溫度檢測(cè)點(diǎn)并實(shí)時(shí)記錄,待環(huán)境溫度穩(wěn)定后,柔性臂測(cè)量機(jī)開始運(yùn)行,實(shí)驗(yàn)時(shí)間設(shè)定為200 min,對(duì)標(biāo)準(zhǔn)桿上兩錐窩點(diǎn)進(jìn)行測(cè)量并計(jì)算測(cè)量長(zhǎng)度,兩點(diǎn)間長(zhǎng)度已知為762.350 mm,每隔5 min測(cè)得10組數(shù)據(jù),共得400組數(shù)據(jù),每個(gè)單位時(shí)間內(nèi)的10組數(shù)據(jù)中9 組為訓(xùn)練樣本,1 組作為測(cè)試樣本,用以驗(yàn)證神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)效果,測(cè)量示意圖如圖4所示.
圖4 測(cè)量示意圖
環(huán)境溫度不變時(shí)測(cè)量機(jī)在5 min內(nèi)測(cè)量15組標(biāo)準(zhǔn)桿長(zhǎng)度數(shù)據(jù),參數(shù)辨識(shí)前后的長(zhǎng)度誤差如圖5 所示,參數(shù)辨識(shí)前誤差范圍在-0.136 2 mm ~0.139 6mm 之間,辨識(shí)后誤差范圍在-0.070 5 mm ~0.064 68 mm之間,長(zhǎng)度誤差得到了減少.
圖5 參數(shù)辨識(shí)前后測(cè)量誤差
為了驗(yàn)證模型有效性,在對(duì)SA-BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練使其達(dá)到結(jié)束的條件后,將40組測(cè)試樣本代入模型中進(jìn)行補(bǔ)償,對(duì)補(bǔ)償前后的測(cè)量誤差進(jìn)行比較. 熱變形誤差補(bǔ)償后的比較和分析如圖6 和表2所示.
圖6 測(cè)量示意圖
表2 補(bǔ)償前后的測(cè)量誤差
從上述圖表中可知,儀器自身發(fā)熱造成的誤差隨時(shí)間逐步增大,補(bǔ)償前最大的測(cè)量誤差為0.216 8 mm.采用SA-BP模型補(bǔ)償后,測(cè)量誤差的平均值為0.006 9 mm,減少了0.020 2 mm,精度提高了74.5%,相比BP模型補(bǔ)償后的誤差平均值0.019 8 mm,補(bǔ)償效果得到了進(jìn)一步的提升. 此外SA-BP 模型比BP模型補(bǔ)償后的標(biāo)準(zhǔn)差0.057 9 mm 更低,表明了SABP模型補(bǔ)償后的誤差更具有穩(wěn)定性.從表2的數(shù)據(jù)可知,SA-BP 模型補(bǔ)償后的誤差范圍也小于BP 模型,因此驗(yàn)證了所提算法的可靠性.
本文分析了柔性臂坐標(biāo)測(cè)量機(jī)的熱變形誤差因素,主要討論了測(cè)量機(jī)內(nèi)部發(fā)熱對(duì)測(cè)量精度的影響. 針對(duì)熱變形誤差問(wèn)題,采用BP神經(jīng)網(wǎng)絡(luò)建立誤差補(bǔ)償模型,當(dāng)外部溫度不變時(shí)測(cè)量機(jī)開始實(shí)驗(yàn),每隔一定時(shí)間測(cè)量標(biāo)準(zhǔn)件并記錄數(shù)據(jù)作為樣本,減少了標(biāo)定實(shí)驗(yàn)的復(fù)雜性,利用模擬退火算法得到神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值,避免陷入局部最優(yōu)解. 實(shí)驗(yàn)結(jié)果表明,運(yùn)用SA-BP模型補(bǔ)償后的測(cè)量誤差平均值為0.006 9 mm,標(biāo)準(zhǔn)差為0.038 9 mm,相比BP 模型補(bǔ)償后測(cè)量誤差得到了進(jìn)一步的抑制,補(bǔ)償后的效果更好.