劉洪珍, 夏 鏈, 田曉青, 韓 江
(合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)
基于BP神經(jīng)網(wǎng)絡(luò)PID的交叉耦合輪廓控制研究
劉洪珍, 夏 鏈, 田曉青, 韓 江
(合肥工業(yè)大學(xué) 機(jī)械工程學(xué)院,安徽 合肥 230009)
文章以基于直線電機(jī)的數(shù)控機(jī)床X-Y平臺為實(shí)驗(yàn)平臺,進(jìn)行輪廓誤差控制技術(shù)的研究,設(shè)計(jì)了BP神經(jīng)網(wǎng)絡(luò)交叉耦合控制(back propagation neural network cross-coupling control, BPNN-CCC)器。在交叉耦合控制(cross-coupling control,CCC)的基礎(chǔ)上,分析了BP神經(jīng)網(wǎng)絡(luò)的理論,并與PID控制相結(jié)合,設(shè)計(jì)了BP神經(jīng)網(wǎng)絡(luò)PID控制器,將其應(yīng)用在單軸控制與CCC上,在Matlab中搭建了BPNN-CCC的仿真模型。實(shí)驗(yàn)結(jié)果表明,該控制器有效減小了系統(tǒng)的輪廓誤差,并體現(xiàn)了自學(xué)習(xí)、自適應(yīng)的能力。
直線電機(jī);輪廓誤差;交叉耦合;PID控制;BP神經(jīng)網(wǎng)絡(luò)
隨著科學(xué)技術(shù)的不斷發(fā)展,數(shù)控機(jī)床追求更高的效率和更高的精度,為滿足這一要求,必然需要高速、高精度的直線運(yùn)動。直線電機(jī)作為直驅(qū)技術(shù)的一種,革除了中間環(huán)節(jié),減少了傳動系統(tǒng)滯后帶來的跟蹤誤差和傳動件彈性變形引起的傳動誤差,提高了整個閉環(huán)控制系統(tǒng)的動態(tài)響應(yīng)性能[1],正是由于它不可比擬的速度和精度方面的優(yōu)勢,直線電機(jī)正在逐步取代傳統(tǒng)的“旋轉(zhuǎn)電機(jī)+滾珠絲杠”結(jié)構(gòu),應(yīng)用于數(shù)控機(jī)床的直線運(yùn)動軸。對于數(shù)控機(jī)床而言,在運(yùn)行過程中會產(chǎn)生跟蹤和輪廓2種誤差。跟蹤誤差是每個單軸的運(yùn)動產(chǎn)生的,輪廓誤差是多軸聯(lián)動產(chǎn)生的,這2種誤差尤其是輪廓誤差直接影響機(jī)床的輪廓加工精度以及進(jìn)給速度。
對于輪廓誤差的控制,國內(nèi)外的眾多學(xué)者做了很多研究。文獻(xiàn)[2]提出了一種改進(jìn)的交叉耦合迭代學(xué)習(xí)控制,使用線性時(shí)變?yōu)V波器在短時(shí)間內(nèi)提供高頻控制以適應(yīng)輪廓軌跡的快速變化,并在試驗(yàn)平臺上取得了很好的效果;文獻(xiàn)[3]提出了一種基于神經(jīng)網(wǎng)絡(luò)的交叉耦合控制(cross-coupling control,CCC)算法,通過啟發(fā)式學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)實(shí)時(shí)調(diào)整增益系數(shù),實(shí)驗(yàn)證明該方案控制效果優(yōu)于傳統(tǒng)的CCC;文獻(xiàn)[4]提出了一種結(jié)合CCC和PID/PI+VFC/AFC控制的方案,降低了X-Y平臺的同步誤差;文獻(xiàn)[5]提出了單軸采用模糊神經(jīng)網(wǎng)絡(luò)滑??刂?消除抖振,再結(jié)合雙軸的CCC,減小系統(tǒng)的輪廓誤差。
本文針對直線電機(jī)驅(qū)動的數(shù)控機(jī)床X-Y平臺,對其輪廓誤差的控制技術(shù)進(jìn)行研究,以單軸的PID控制和多軸的CCC為基礎(chǔ),引入BP神經(jīng)網(wǎng)絡(luò)理論,提出BP神經(jīng)網(wǎng)絡(luò)交叉耦合控制(back propagation neural network cross-coupling control, BPNN-CCC)的方法,可以更有效地控制系統(tǒng)的輪廓誤差,并具有一定的自學(xué)習(xí)、自適應(yīng)能力。
本文的研究對象為交叉布置的直線電機(jī)X-Y平臺,旨在控制輪廓誤差、提高輪廓精度,因此離不開單軸伺服系統(tǒng)控制這個基礎(chǔ)。
直線電機(jī)多采用矢量控制的方法,根據(jù)矢量控制的基本原理,采用d軸電流id=0的控制策略,永磁同步直線電機(jī)的數(shù)學(xué)模型[6]可簡化為:
(1)
(2)
其中,L為電感;iq為q軸電流;Rs為初級(動子)繞組等效電阻;Ke為電機(jī)反電動勢系數(shù);v為初級線速度;uq為q軸電壓;τ為永磁體極距;ψf為永磁體勵磁基波磁鏈;m為電機(jī)的初級質(zhì)量;Kf為電機(jī)電磁推力系數(shù);B為黏滯摩擦系數(shù),黏滯摩擦系數(shù)與電機(jī)的運(yùn)行速度等參數(shù)相關(guān)[7],由于直線電機(jī)采用滑軌支撐,黏滯摩擦力比較小[8],在本文中不作為研究重點(diǎn),為簡化仿真模型,本文將黏滯摩擦系數(shù)設(shè)為定值;FL為外部負(fù)載阻力。
X軸、Y軸直線電機(jī)部分參數(shù)見表1所列。
表1 直線電機(jī)參數(shù)
PID控制在傳統(tǒng)控制方法中是最有代表性的,應(yīng)用也最為廣泛。以X軸為例,直線電機(jī)伺服控制系統(tǒng)的位置環(huán)采用PID控制,電流環(huán)采用PI控制,速度環(huán)采用P控制,根據(jù)PID控制原理,參照表1中的電機(jī)參數(shù),可以搭建單軸伺服系統(tǒng)的模型,如圖1所示。
其中,圖1a為直線電機(jī)驅(qū)動系統(tǒng)模型,封裝在圖1b的“PMLSM-X”子模塊中,圖1b即為單軸伺服系統(tǒng)模型;In1、Out1分別為輸入、輸出信號。
圖1 單軸伺服系統(tǒng)模型
2.1 輪廓誤差建模
任意軌跡的輪廓誤差模型如圖2所示,采用了圓弧近似逼近的方法。其中,θ為期望軌跡的切線與X軸方向的夾角;P*為某時(shí)刻的期望位置;P(Xo,Yo)為期望軌跡對應(yīng)的曲率中心坐標(biāo);P(Xa,Ya)為同一時(shí)刻的實(shí)際位置;ε為輪廓誤差。
圖2 任意軌跡的輪廓誤差模型
系統(tǒng)的輪廓誤差可近似表示為:
(3)
(3)式根據(jù)泰勒公式展開并化簡,可得輪廓誤差的近似結(jié)果為:
ε=-EXCX+EYCY
(4)
CX=sinθ-EX/2ρ,
CY=cosθ-EX/2ρ
(5)
2.2 交叉耦合控制器設(shè)計(jì)
交叉耦合控制器示意圖如圖3所示,其中虛線部分即為交叉耦合控制器,它由3個部分組成:① 輪廓誤差計(jì)算模型,實(shí)時(shí)計(jì)算輪廓誤差;② 控制策略,將輪廓誤差轉(zhuǎn)換為相應(yīng)的控制量;③ 輪廓誤差補(bǔ)償分配模型,將輪廓誤差補(bǔ)償?shù)目刂屏恳勒找欢ǖ年P(guān)系分配給各個單軸的控制器。
圖3中,EX、EY分別為X軸、Y軸的跟蹤誤差;ε為輪廓誤差;u為誤差補(bǔ)償控制量;uX、uY分別為X軸、Y軸所分配的控制量。CCC的輪廓誤差模型采用輪廓誤差通用計(jì)算公式(4)式。交叉耦合控制器大多采用PID控制算法。
輪廓誤差補(bǔ)償?shù)姆峙浞绞絒9]常用的有3種,分別是等系數(shù)分配、比例誤差分配和任意比例分配,其中比例誤差分配方式避免了任意比例分配計(jì)算量大的負(fù)擔(dān),與等系數(shù)分配相比又有一定的靈活性。比例誤差分配方式下,控制補(bǔ)償量分配到X軸、Y軸的比例關(guān)系為:
uX=uCX,uY=uCY
(6)
圖3 交叉耦合控制器示意圖
因?yàn)橹本€電機(jī)省去了中間傳動的環(huán)節(jié),在運(yùn)行中容易受到各種干擾,而且CCC系統(tǒng)是時(shí)變的,在這2類情況下的PID控制器的控制效果往往不太理想,所以本文針對單軸控制和CCC,提出了BP神經(jīng)網(wǎng)絡(luò)PID控制算法。
神經(jīng)網(wǎng)絡(luò)作為先進(jìn)的智能控制方法的一種,具有十分強(qiáng)大的自學(xué)習(xí)、自適應(yīng)能力,BP神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一[10]。將BP神經(jīng)網(wǎng)絡(luò)與PID控制相結(jié)合,因?yàn)榭梢詡鞒蠵ID控制的優(yōu)勢,吸收BP神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn),還可以消除PID控制的局限性。
3.1BP神經(jīng)網(wǎng)絡(luò)
3層M-H-K型BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示,其中,輸入層節(jié)點(diǎn)數(shù)為M,隱含層節(jié)點(diǎn)數(shù)為H,輸出層節(jié)點(diǎn)數(shù)為K。
圖4 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法采用均方誤差代價(jià)函數(shù),即
(7)
其中,ek(n)為誤差信號。學(xué)習(xí)的過程為:每次輸入一個樣本之后,將網(wǎng)絡(luò)的實(shí)際輸出與期望輸出進(jìn)行比較,利用該算法對網(wǎng)絡(luò)的參數(shù)(即突觸權(quán)值)做出調(diào)整,實(shí)現(xiàn)均方誤差的最小化。
經(jīng)過計(jì)算可得,隱含層神經(jīng)元h的突觸權(quán)值調(diào)整的迭代校正公式為:
(8)
(9)
輸出層神經(jīng)元k的突觸權(quán)值調(diào)整的迭代校正公式為:
(10)
(11)
其中,變量的右上角標(biāo)0、1、2分別代表輸入層、隱含層、輸出層;變量的右下標(biāo)m、h、k分別代表輸入層、隱含層、輸出層的某一神經(jīng)元;ω為突觸權(quán)值;η為學(xué)習(xí)率;δ為局域梯度;O為輸入層的輸出;α為動量因子;φ為激活函數(shù);v為誘導(dǎo)局部域;x為輸入信號;y為輸出信號;n為采樣點(diǎn)。
3.2BP神經(jīng)網(wǎng)絡(luò)PID控制器
BP神經(jīng)網(wǎng)絡(luò)PID控制器由2個部分[11]組成:① PID控制,實(shí)現(xiàn)對被控對象的閉環(huán)控制,KP、KI、KD3個參數(shù)依靠在線調(diào)整;② BP神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的輸出層狀態(tài)對應(yīng)PID控制的3個參數(shù),網(wǎng)絡(luò)通過自學(xué)習(xí)進(jìn)行突觸權(quán)值的調(diào)整,即實(shí)現(xiàn)3個參數(shù)的實(shí)時(shí)調(diào)整。不同于傳統(tǒng)PID控制器,BP神經(jīng)網(wǎng)絡(luò)PID控制器內(nèi)部結(jié)構(gòu)相對比較復(fù)雜,不能直接用傳遞函數(shù)[12]來表示,在Matlab中,簡單應(yīng)用不能搭建其模型,因此本文引入S函數(shù)搭建的BP神經(jīng)網(wǎng)絡(luò)PID控制器的仿真模型如圖5所示。
圖5 BP神經(jīng)網(wǎng)絡(luò)PID控制器仿真模型
4.1 控制仿真模型
根據(jù)交叉耦合控制器的設(shè)計(jì)原理,結(jié)合上文中的單軸伺服系統(tǒng)模型,在Matlab中搭建實(shí)驗(yàn)平臺CCC的仿真模型,如圖6所示。
圖6 交叉耦合控制仿真模型
從圖6可以看出,交叉耦合控制器的3個組成部分為“εcalculation”子模塊(即輪廓誤差計(jì)算模型)、“CCC”子模塊(即控制策略,采用PID控制)、“udistribution”子模塊,即輪廓誤差補(bǔ)償分配模型。X軸、Y軸的控制均采用PID控制。
圖6的控制模型中,若除去交叉耦合控制器,模型即為非耦合控制;若將圖4中的BP神經(jīng)網(wǎng)絡(luò)PID控制器分別應(yīng)用到X軸、Y軸和“CCC”子模塊,模型即為本文中所提出的BPNN-CCC。
4.2 仿真結(jié)果分析
假定工作條件為按順時(shí)針加工一個半徑為100 mm的整圓,運(yùn)動角頻率ω為0.1 rad/s,仿真時(shí)間為62.8 s,此時(shí)X軸、Y軸的輸入信號分別為:
Xi=100sin(ωt),Yi=100 cos(ωt)。
由此可以得到非耦合控制、CCC、BPNN-CCC 3種控制方式下的輪廓誤差,分別如圖7所示。
圖7 3種控制方法下的輪廓誤差
為了比較3種控制方式的控制效果,將輪廓誤差的數(shù)據(jù)進(jìn)行總結(jié),結(jié)果見表2所列。
表2 3種控制方法的輪廓誤差 μm
從表2可以看出,CCC與BPNN-CCC的輪廓誤差明顯小于非耦合控制,驗(yàn)證了這2種控制方法是有效的。在穩(wěn)定狀態(tài)下,BPNN-CCC的輪廓誤差小于CCC,前者僅是后者的1/2;第1次調(diào)整時(shí),CCC和BPNN-CCC的輪廓誤差相近;第2次調(diào)整時(shí),BPNN-CCC的輪廓誤差比CCC稍大。由于調(diào)整時(shí)間(共約4 s)相對于總體運(yùn)動時(shí)間很短,從總體上看,BPNN-CCC控制方法的性能優(yōu)于CCC。
BPNN-CCC控制過程中,X軸BP神經(jīng)網(wǎng)絡(luò)PID控制器KP、KI、KD3個參數(shù)的變化曲線如圖8所示。從圖8可以看出,3個參數(shù)在不斷地進(jìn)行調(diào)節(jié),驗(yàn)證了神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)的能力,體現(xiàn)了BP神經(jīng)網(wǎng)絡(luò)PID控制方法自適應(yīng)外部環(huán)境變化的能力,這也正是其優(yōu)于常規(guī)PID控制的獨(dú)特之處。
圖8 KP、KI、KD參數(shù)自適應(yīng)調(diào)整曲線
本文針對基于直線電機(jī)的數(shù)控機(jī)床,以交叉布置的X軸、Y軸為實(shí)驗(yàn)對象,在分析并建立了直線電機(jī)單軸伺服控制模型的基礎(chǔ)上,建立了任意軌跡的輪廓誤差模型,分析了交叉耦合控制器設(shè)計(jì)的原理和思路;然后,以單軸控制和CCC均常用的PID控制為基礎(chǔ),結(jié)合BP神經(jīng)網(wǎng)絡(luò)的理論,設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò)PID控制器,并在Matlab中建立其基于S函數(shù)的仿真模型;最后,在Matlab中搭建了非耦合控制、CCC和BPNN-CCC的仿真模型,實(shí)驗(yàn)驗(yàn)證了CCC和BPNN-CCC的有效性,同時(shí)對比兩者總體的控制效果,BPNN-CCC的輪廓誤差小于CCC,且表現(xiàn)出了神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)、自適應(yīng)的能力。
[1] 張剛,劉品寬,張波,等.直線電機(jī)精密運(yùn)動平臺軌跡跟蹤控制器設(shè)計(jì)[J].光學(xué)精密工程,2013,40(2):601-616.
[2] BARTON K L,BRISTOW D A,ALLEYNE A G. Design of a linear time-varying cross-coupled iterative learning controller [C]//Proceodings of the American Control Conference.[S.l.]:IEEE,2008:3914-3920.
[3] WANG G J,LEE T J.Neural-network cross-coupled control system with application on circular tracking of linear motorX-Ytable[C]//International Joint Conference on Neural Networks.[S.l.]:IEEE,1999,3:2194-2199.
[4] ZHANG G,WU J H,LIU P K,et al. Optimal cross-coupled synchronization control of a precision motion stage driven by dual linear motors[M].Heidelberg:Springer,2013:365-374.
[5] 王麗梅,左瑩瑩.基于模糊神經(jīng)網(wǎng)絡(luò)滑??刂频膞y平臺輪廓控制[J].機(jī)床與液壓,2014,42(11):23-26.
[6] 仇靜.基于PID的直線電機(jī)控制方法及實(shí)驗(yàn)研究[D].合肥:合肥工業(yè)大學(xué),2014.
[7] 杜帥,陳陽生.永磁同步電動機(jī)伺服系統(tǒng)轉(zhuǎn)動慣量辨識[J].微特電機(jī),2012,40(8):7-13.
[8] 王利.現(xiàn)代直線電機(jī)關(guān)鍵控制技術(shù)及其應(yīng)用研究[D].杭州:浙江大學(xué),2012.
[9] 許強(qiáng)強(qiáng).雙軸進(jìn)給伺服交叉耦合控制的研究[D].廣州:廣東工業(yè)大學(xué),2011.
[10] 王華強(qiáng),石亞娟,王健波.神經(jīng)網(wǎng)絡(luò)模糊PID在水輪機(jī)調(diào)速系統(tǒng)中的應(yīng)用[J].合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,35(9):1187-1191.
[11] 張澤旭.神經(jīng)網(wǎng)絡(luò)控制與MATLAB仿真[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2011.
[12] 楊藝,虎恩典.基于S函數(shù)的BP神經(jīng)網(wǎng)絡(luò)PID控制器及Simulink仿真[J].電子設(shè)計(jì)工程,2014,22(4):29-35.
Researchoncross-couplingcontourcontroltechnologybasedonBPneuralnetworkPID
LIU Hongzhen, XIA Lian, TIAN Xiaoqing, HAN Jiang
(School of Mechanical Engineering, Hefei University of Technology, Hefei 230009, China)
The contour error control technology based on aX-Yplatform of CNC machines driven by linear motors is researched and a back propagation neural network cross-coupling controller is designed. On the basis of cross-coupling control(CCC), the theory of BP neural network is analyzed. Then the BPNN-PID controller is designed by combining BPNN with PID control, which is applied to the single-axis controller and cross-coupling controller. Finally, a simulation model of BPNN-CCC is built in Matlab. The experimental results show that the BPNN-CCC controller reduces the contour error of the system effectively, and has self-learning and adaptive abilities.
linear motor; contour error; cross-coupling; PID control; back propagation(BP) neural network
2016-03-14;
2016-06-31
國家自然科學(xué)基金資助項(xiàng)目(51575154);安徽省科技攻關(guān)計(jì)劃資助項(xiàng)目(JZ2015AKKG0222)
劉洪珍(1990-),女,河北滄縣人,合肥工業(yè)大學(xué)碩士生; 夏 鏈(1964-),女,四川樂山人,博士, 合肥工業(yè)大學(xué)教授,碩士生導(dǎo)師; 韓 江(1963-),男,河南項(xiàng)城人,博士, 合肥工業(yè)大學(xué)教授,博士生導(dǎo)師.
10.3969/j.issn.1003-5060.2017.10.002
TP273.2
A
1003-5060(2017)10-1303-05
(責(zé)任編輯 胡亞敏)