于嘉龍,彭寶營*,侯明鵬,楊慶東
(1.北京信息科技大學(xué)機電工程學(xué)院,北京 100192;2.北京機科國創(chuàng)輕量化科學(xué)研究院有限公司,北京 100084)
永磁同步直線電機(permanent magnet synchronous linear motor,PMLSM)由于取消了中間傳動環(huán)節(jié)直接產(chǎn)生直線運動,而具有高速、高精度、響應(yīng)快、無反向間隙等優(yōu)點,近年來得到越來越廣泛的應(yīng)用[1-3]。在永磁同步直線電機眾多參數(shù)中,位置誤差是衡量定位精度高低的重要指標(biāo)。永磁同步直線電機廣泛應(yīng)用在高精度位置伺服系統(tǒng)中。在高速高精度的加工場合中,傳統(tǒng)的機械傳動方式已經(jīng)無法滿足當(dāng)前高精度的要求,永磁同步直線電機具有高速的反應(yīng)能力,是高速高精度進給系統(tǒng)的理想選擇。但是,永磁同步直線電機沒有傳動機構(gòu),直線電機在進行高精度運動時會受到安裝和外部干擾以及推力擾動的影響,會產(chǎn)生位置精度不準(zhǔn)確,造成位置誤差,影響高精度運動[4]。
近年來,中外學(xué)者的研究主要集中于位置誤差對永磁同步直線電機的影響和位置誤差的補償方式。Yoshida等[5]提出了一種補償圓柱型直線電機中霍爾元件線性位置傳感器位置誤差的新方法。補償?shù)奶卣魇窃诔醪綔y試中以恒定速度驅(qū)動動子時經(jīng)過濾波的位置信號處理。Liu等[6]提出了一種基于濾波器和HFI(high frequency injection)系統(tǒng)中磁飽和交叉耦合的設(shè)計簡單的直線電動機在線補償方法。何良辰等[7]針對直線電機在運轉(zhuǎn)過程中受到定位力擾動影響的問題,提出一種基于遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的電機定位力辨識方法。該方法利用由加速度計得到的直線鐵芯電機的定位力數(shù)據(jù),通過人工神經(jīng)網(wǎng)絡(luò)進行建模,同時應(yīng)用遺傳算法對整個神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,完成對直線電機的定位力辨識。劉洪珍[8]針對數(shù)控機床中基于直線電機的工作臺,利用神經(jīng)網(wǎng)絡(luò)建立直線電機輪廓誤差模型,對影響輪廓精度的因素進行了分析與實驗驗證?,F(xiàn)有研究大都是在理論層面分析誤差的原因,然后通過補償?shù)姆椒▉頊p小誤差。而就如何實際預(yù)測位置誤差的研究很少,現(xiàn)就如何準(zhǔn)確預(yù)測永磁同步直線電機的變載荷位置誤差進行相關(guān)的研究。
基于上述問題,提出使用遺傳算法優(yōu)化支持向量機建立永磁同步直線電機變載荷位置誤差的預(yù)測模型,使用實驗平臺采集出來的數(shù)據(jù)進行訓(xùn)練,以正弦波信號的指令位置、指令速度和電流作為模型的輸入,以三角波信號的位置誤差作為模型的輸出。利用遺傳算法優(yōu)化支持向量機,可以避免支持向量機模型的訓(xùn)練時間長、收斂速度較慢的問題,提高模型的魯棒性和穩(wěn)定性,已經(jīng)被廣泛應(yīng)用于非線性預(yù)測中,并取得了良好的效果[9-11]。因此這里采用遺傳算法優(yōu)化支持向量機能夠更好地尋找支持向量機的參數(shù)C和g,從而獲得更準(zhǔn)確的直線電機變載荷進給位置誤差預(yù)測模型。
支持向量機(support vector machine,SVM)回歸算法是一種基于統(tǒng)計學(xué)習(xí)理論的函數(shù)逼近算法,是在分類支持向量機算法的基礎(chǔ)上發(fā)展過來的,原理與支持向量機相似。支持向量機屬于有導(dǎo)師的學(xué)習(xí)方式。支持向量機使用交叉驗證網(wǎng)格法搜索的方法來尋找最佳支持向量機的參數(shù)懲罰因子C和核參數(shù)g[12-14]。
支持向量機建立永磁同步直線電機變載荷位置誤差預(yù)測模型的基本思想是將實驗所測的指令位置、指令速度和電流的數(shù)值變換到一個高維的特征空間后作為自變量,位置誤差作為因變量。
對于直線電機給定了訓(xùn)練數(shù)據(jù)集(x1,y1),(x2,y2)。設(shè)SVR函數(shù)為
f(x)=ωφ(x)+b
(1)
式(1)中,ω∈Rn,b為權(quán)值;b∈R,為閾值;φ為將Rn空間的輸入數(shù)據(jù)映射到高維空間的映射函數(shù),設(shè)函數(shù)為
(2)
通過尋找最優(yōu)ω、b在公式中固定不變的情況下最小化置信范圍,得到的最優(yōu)化問題為
(3)
s.t.yi-ωφ(xi)-b≤ξ+ξi
(4)
(5)
(6)
式(3)~式(6)的優(yōu)化問題可通過引入拉格朗日函數(shù)將其轉(zhuǎn)化為對偶問題,通過解對偶得到式(1)的解:
(7)
因為永磁同步直線電機預(yù)測模型只有三個變量需要確定,高斯徑向基函數(shù)構(gòu)造的支持向量機訓(xùn)練參數(shù)相對較少,容易確定參數(shù),因而核函數(shù)采用高斯徑向基函數(shù),即:
(8)
在GA-SVM直線電機變載荷位置誤差建模過程中,誤差懲罰因子C、不敏感損失函數(shù)ξ和高斯徑向基函數(shù)的參數(shù)σ對支持向量機(SVM)算法模型的精度預(yù)測有重要的影響。
通過理論分析,發(fā)現(xiàn)支持向量機在訓(xùn)練的過程中懲罰因子C和核參數(shù)g對支持向量機的泛化性能有很大的影響,所以需要調(diào)節(jié)這兩個參數(shù)以改善支持向量機的泛化性能。
遺傳算法優(yōu)化支持向量機的基本思想就是首先通過遺傳算法選擇、交叉和編譯并進行算法迭代,尋找并輸出最優(yōu)個體,按照編碼規(guī)則進行解碼,產(chǎn)生支持向量機的初始權(quán)值和閾值。然后將遺傳算法優(yōu)化得到的初始權(quán)值和閾值賦值給支持向量機,在進行網(wǎng)絡(luò)的訓(xùn)練,最后可實現(xiàn)仿真預(yù)測[15-17]。遺傳算法優(yōu)化支持向量機參數(shù)的算法的流程如圖1所示。
圖1 遺傳算法優(yōu)化支持向量機流程Fig.1 Genetic algorithm optimization support vector machine flow chart
支持向量機模型構(gòu)建完之后,使用遺傳算法按照圖1的流程對支持向量機的懲罰因子C和核參數(shù)g進行優(yōu)化。兼顧運行時間和預(yù)測準(zhǔn)確性,使用遺傳算法優(yōu)化支持向量機參數(shù),遺傳算法的參數(shù)如表1 所示。
表1 遺傳算法主要參數(shù)Table 1 Main parameters of genetic algorithm
永磁同步直線電機變載荷位置誤差數(shù)據(jù)采集平臺包括控制系統(tǒng)、運動系統(tǒng)和采集系統(tǒng),控制系統(tǒng)包括工業(yè)控制柜、PMAC(programmable multi-axis controller)運動控制器、伺服驅(qū)動器、上位機、數(shù)據(jù)總線;運動系統(tǒng)包括PSN型功率放大器、永磁同步直線電機、固定支座、加載裝置;采集系統(tǒng)包括光柵尺、數(shù)據(jù)采集卡。
永磁同步直線電機變載荷位置誤差實驗裝置主要硬件名稱如表2所示。
表2 實驗裝置硬件型號Table 2 Main experimental device hardware model
通過上位機中PMAC自帶的PEWIN32PRO軟件進行運動指令的發(fā)送,將運動指令通過控制器的A/D轉(zhuǎn)換發(fā)送到直線電機中,從而實現(xiàn)直線電機的運動。同時反饋檢測元件將檢測到的數(shù)據(jù)傳送到上位機,PEWIN32PRO軟件對數(shù)據(jù)進行分析研究從而實現(xiàn)實時誤差的補償。直線電機貼有光柵尺,用于檢測直線電機的位置精度。
光柵尺測量獲得直線位移信號,通過反饋裝置傳輸?shù)焦た貦C中作為實時反饋信號。實驗數(shù)據(jù)采集平臺控制流程如圖2所示。
圖2 實驗采集平臺控制流程Fig.2 Experimental acquisition platform control flow chart
其中,PMAC運動控制器是用來接收上位機的指令,并將控制指令通過伺服驅(qū)動器傳給直線電機,通過數(shù)據(jù)采集卡、光柵尺來測量直線電機的位置并將數(shù)據(jù)傳送上位 機進行分析和研究。用此方法來實現(xiàn)對直線電機的位置以及速度控制。還可以運用PMAC運動控制器自帶的軟件對直線電機進行PID整定以及對速度、位置、加速度等數(shù)據(jù)的采集與分析。
對永磁直線電機動子部分加上各種一定質(zhì)量的負(fù)載,測定直線電機在不同負(fù)載和速度下的位置誤差情況?,F(xiàn)在將負(fù)載逐一加到力矩電機的轉(zhuǎn)子部分,然后在運行直線電機,采集出來各種情況的多組數(shù)據(jù),如圖3所示為永磁同步直線電機變載荷位置誤差實驗平臺設(shè)備圖。實驗中通過滑輪和纜繩增加配重的方法為直線電機加載,實驗中的載荷有1、5、10、15、20 kg總共5種載荷,對于每種載荷的位置都進行了數(shù)據(jù)的采集。將各種情況的數(shù)據(jù)采集出來之后進行后期的數(shù)據(jù)處理,即把每一種情況的數(shù)據(jù)拿出50組數(shù)據(jù)進行匯總,使得在MATLAB軟件擬合的訓(xùn)練集中包含各種負(fù)載數(shù)據(jù),以達到更精確的訓(xùn)練模型。在MATLAB軟件擬合的測試集的數(shù)據(jù)是將采集出來的數(shù)據(jù)隨機的拿出60組,這種隨機是確保在每一種情況下都有部分?jǐn)?shù)據(jù)。
圖3 實驗采集平臺設(shè)備圖Fig.3 Experimental acquisition platform equipment diagram
根據(jù)1.1節(jié)所述,可以建立支持向量機模型,首先先將試驗所采集的數(shù)值通過式(3)變化到一個高維特征空間,變化完成之后,通過式(3)~式(6)求解出式(1)的最優(yōu)解,將求解出的最優(yōu)解在代入到支持向量機模型進行訓(xùn)練即可。
遺傳算法采用圖1所示流程不斷地調(diào)節(jié)支持向量機的懲罰因子C和核參數(shù)g,使其能夠充分發(fā)揮巡游的能力。首先進行數(shù)據(jù)的提取和預(yù)處理,然后利用gaSVMcgForClass函數(shù)對直線電機數(shù)據(jù)及進行SVM最佳參數(shù)的尋優(yōu),最終的適應(yīng)度曲線如圖4所示。
圖4 利用GA尋找的最佳參數(shù)的適應(yīng)度(準(zhǔn)確度)曲線Fig.4 The fitness (accuracy) curve of the best parameters found by GA
由圖4可知,利用遺傳算法訓(xùn)練得到的最優(yōu)參數(shù)懲罰因子為C=8.663 1,核參數(shù)為g=4.492 1。
因為本文直接采集出來的數(shù)據(jù)范圍比較大,可能導(dǎo)致模型的訓(xùn)練時間長,運行速度比較慢,所以在開始預(yù)測之前,要將數(shù)據(jù)進行歸一化處理。將三個影響直線電機位置誤差的數(shù)據(jù)和要輸出的數(shù)據(jù)取[-1,1]之間的連續(xù)數(shù)值。歸一化的處理公式為
Y=2(xi-xmax)/(xmax-xmin)-1
(9)
式(9)中,xmax是一組數(shù)據(jù)中的最大值;xmin是一組數(shù)據(jù)中的最小值;xi是當(dāng)前值;Y為歸一化之后的數(shù)據(jù)。
建立了GA-SVM預(yù)測模型,該模型以直線電機位置誤差的各因素為輸入,位置誤差為輸出。訓(xùn)練樣本為直線電機平臺實時采集的40組正弦波行走方式產(chǎn)生的運行數(shù)據(jù),然后采用10組三角波行走方式產(chǎn)生的運行數(shù)據(jù)來驗證模型的精確性。
建立了模型之后,經(jīng)過MATALB軟件進行預(yù)測,對直線電機變載荷進給位置誤差模型進行仿真計算。
如圖5所示為直線電機變載荷位置誤差預(yù)測模型的遺傳算法進化過程。從圖5中可以看出,從第20代尋找到的最優(yōu)個體函數(shù)值比較接近平均函數(shù)值,到第70代到達目標(biāo)值,目標(biāo)值為0.386 2。
圖5 遺傳算法優(yōu)化過程Fig.5 Genetic algorithm optimization process diagram
為了測試遺傳算法優(yōu)化支持向量機直線電機變載荷位置誤差預(yù)測結(jié)果的優(yōu)越性,選擇基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型、基于Elman神經(jīng)網(wǎng)絡(luò)的預(yù)測模型與基于GA-SVM神經(jīng)網(wǎng)絡(luò)的預(yù)測模型進行對比,分別統(tǒng)計它們對永磁直線電機的預(yù)測精度,并從中抽取6組預(yù)測精度,結(jié)果如圖6所示。
圖6 與其他模型的位置誤差預(yù)測精度對比Fig.6 Compares the accuracy of position error prediction with other models
從圖6可以看出,相對于其他直線電機變載荷位置誤差預(yù)測模型,遺傳算法優(yōu)化支持向量機神經(jīng)網(wǎng)絡(luò)具有較好的位置誤差預(yù)測效果。從中抽取6組運行時間對比如圖7所示,相對于其他神經(jīng)網(wǎng)絡(luò)預(yù)測模型,遺傳算法優(yōu)化支持向量機神經(jīng)網(wǎng)絡(luò)具有較好的預(yù)測效果,克服對比模型過擬合、誤差大的缺陷,同時在實驗過程中發(fā)現(xiàn)遺傳算法優(yōu)化支持向量機神經(jīng)網(wǎng)絡(luò)明顯也要比其他的位置誤差預(yù)測模型運行時間要快,明顯提高了直線電機位置誤差的預(yù)測效率。遺傳算法優(yōu)化支持向量機模型不需要計算網(wǎng)絡(luò)連接權(quán)值等參數(shù),所用時間短,且網(wǎng)絡(luò)結(jié)構(gòu)直接由數(shù)據(jù)樣本決定,對網(wǎng)絡(luò)訓(xùn)練影響不大,因此遺傳算法優(yōu)化支持向量機變載荷預(yù)測模型的工作時間可以滿足高速高精度場合的要求。
圖7 與其他位置誤差預(yù)測模型的預(yù)測運行時間對比Fig.7 Comparison of predicted run time with other position error prediction models
圖8 未經(jīng)GA優(yōu)化的SVM直線電機預(yù)測模型Fig.8 SVM linear motor prediction model without GA optimization
本文有10組預(yù)測數(shù)據(jù)進行預(yù)測,其中只拿出一組典型的預(yù)測結(jié)果在圖8和圖9進行顯示。圖8是未經(jīng)遺傳算法優(yōu)化支持向量機的直線電機預(yù)測位置誤差圖。加上遺傳算法優(yōu)化之后,仍然采用上一個模型使用的訓(xùn)練集和測試集,最終的預(yù)測結(jié)果如圖9所示。
圖9 經(jīng)GA優(yōu)化的SVM直線電機預(yù)測模型Fig.9 GA-optimized SVM linear motor prediction model
從圖8可以看出,未經(jīng)過遺傳算法優(yōu)化支持向量機的直線電機預(yù)測模型的最大殘余誤差是0.237 5 μm,經(jīng)計算最大相對誤差是1.703 8 μm,均方差為0.279 6 μm。而從圖9可以看出,經(jīng)過遺傳算法優(yōu)化支持向量機的直線電機預(yù)測模型的最大殘余誤差是0.179 1 μm,經(jīng)計算最大相對誤差是1.030 1 μm,均方差為0.186 3 μm。由此可知GA-SVM神經(jīng)網(wǎng)絡(luò)能夠快速有效的預(yù)測出直線電機變載荷位置誤差,提高了永磁同步直線電機變載荷位置誤差的預(yù)測效率。
位置誤差作為衡量高精度系統(tǒng)的主要指標(biāo),對運動系統(tǒng)乃至整個永磁同步直線電機組都有著重大影響。準(zhǔn)確快速地預(yù)測位置誤差,能夠?qū)C械加工平臺的穩(wěn)定運行起到推動作用。本文提出的遺傳算法優(yōu)化支持向量機的設(shè)計方法,通過永磁同步直線電機實驗平臺采集數(shù)據(jù)生成訓(xùn)練樣本和測試樣本,構(gòu)成了具有優(yōu)化參數(shù)功能的支持向量機的預(yù)測模型,并與傳統(tǒng)的BP模型和Elman模型進行對比。通過預(yù)測結(jié)果表明:
(1)使用遺傳算法優(yōu)化支持向量機神經(jīng)網(wǎng)絡(luò)的運行時間要低于傳統(tǒng)的BP模型和Elman模型的運行時間。
(2)使用遺傳算法優(yōu)化支持向量機神經(jīng)網(wǎng)絡(luò)的精度要高于未使用遺傳算法優(yōu)化的支持向量機。
因此,對永磁同步電機變載荷位置誤差的預(yù)測能夠在一定程度上對整個直線電機系統(tǒng)的運行起到一定的指導(dǎo)意義。