劉洪珍, 夏 鏈, 田曉青, 韓 江
(合肥工業大學 機械工程學院,安徽 合肥 230009)
基于BP神經網絡PID的交叉耦合輪廓控制研究
劉洪珍, 夏 鏈, 田曉青, 韓 江
(合肥工業大學 機械工程學院,安徽 合肥 230009)
文章以基于直線電機的數控機床X-Y平臺為實驗平臺,進行輪廓誤差控制技術的研究,設計了BP神經網絡交叉耦合控制(back propagation neural network cross-coupling control, BPNN-CCC)器。在交叉耦合控制(cross-coupling control,CCC)的基礎上,分析了BP神經網絡的理論,并與PID控制相結合,設計了BP神經網絡PID控制器,將其應用在單軸控制與CCC上,在Matlab中搭建了BPNN-CCC的仿真模型。實驗結果表明,該控制器有效減小了系統的輪廓誤差,并體現了自學習、自適應的能力。
直線電機;輪廓誤差;交叉耦合;PID控制;BP神經網絡
隨著科學技術的不斷發展,數控機床追求更高的效率和更高的精度,為滿足這一要求,必然需要高速、高精度的直線運動。直線電機作為直驅技術的一種,革除了中間環節,減少了傳動系統滯后帶來的跟蹤誤差和傳動件彈性變形引起的傳動誤差,提高了整個閉環控制系統的動態響應性能[1],正是由于它不可比擬的速度和精度方面的優勢,直線電機正在逐步取代傳統的“旋轉電機+滾珠絲杠”結構,應用于數控機床的直線運動軸。對于數控機床而言,在運行過程中會產生跟蹤和輪廓2種誤差。跟蹤誤差是每個單軸的運動產生的,輪廓誤差是多軸聯動產生的,這2種誤差尤其是輪廓誤差直接影響機床的輪廓加工精度以及進給速度。
對于輪廓誤差的控制,國內外的眾多學者做了很多研究。文獻[2]提出了一種改進的交叉耦合迭代學習控制,使用線性時變濾波器在短時間內提供高頻控制以適應輪廓軌跡的快速變化,并在試驗平臺上取得了很好的效果;文獻[3]提出了一種基于神經網絡的交叉耦合控制(cross-coupling control,CCC)算法,通過啟發式學習神經網絡實時調整增益系數,實驗證明該方案控制效果優于傳統的CCC;文獻[4]提出了一種結合CCC和PID/PI+VFC/AFC控制的方案,降低了X-Y平臺的同步誤差;文獻[5]提出了單軸采用模糊神經網絡滑模控制,消除抖振,再結合雙軸的CCC,減小系統的輪廓誤差。
本文針對直線電機驅動的數控機床X-Y平臺,對其輪廓誤差的控制技術進行研究,以單軸的PID控制和多軸的CCC為基礎,引入BP神經網絡理論,提出BP神經網絡交叉耦合控制(back propagation neural network cross-coupling control, BPNN-CCC)的方法,可以更有效地控制系統的輪廓誤差,并具有一定的自學習、自適應能力。
本文的研究對象為交叉布置的直線電機X-Y平臺,旨在控制輪廓誤差、提高輪廓精度,因此離不開單軸伺服系統控制這個基礎。
直線電機多采用矢量控制的方法,根據矢量控制的基本原理,采用d軸電流id=0的控制策略,永磁同步直線電機的數學模型[6]可簡化為:

(1)

(2)
其中,L為電感;iq為q軸電流;Rs為初級(動子)繞組等效電阻;Ke為電機反電動勢系數;v為初級線速度;uq為q軸電壓;τ為永磁體極距;ψf為永磁體勵磁基波磁鏈;m為電機的初級質量;Kf為電機電磁推力系數;B為黏滯摩擦系數,黏滯摩擦系數與電機的運行速度等參數相關[7],由于直線電機采用滑軌支撐,黏滯摩擦力比較小[8],在本文中不作為研究重點,為簡化仿真模型,本文將黏滯摩擦系數設為定值;FL為外部負載阻力。
X軸、Y軸直線電機部分參數見表1所列。

表1 直線電機參數
PID控制在傳統控制方法中是最有代表性的,應用也最為廣泛。以X軸為例,直線電機伺服控制系統的位置環采用PID控制,電流環采用PI控制,速度環采用P控制,根據PID控制原理,參照表1中的電機參數,可以搭建單軸伺服系統的模型,如圖1所示。
其中,圖1a為直線電機驅動系統模型,封裝在圖1b的“PMLSM-X”子模塊中,圖1b即為單軸伺服系統模型;In1、Out1分別為輸入、輸出信號。

圖1 單軸伺服系統模型
2.1 輪廓誤差建模
任意軌跡的輪廓誤差模型如圖2所示,采用了圓弧近似逼近的方法。其中,θ為期望軌跡的切線與X軸方向的夾角;P*為某時刻的期望位置;P(Xo,Yo)為期望軌跡對應的曲率中心坐標;P(Xa,Ya)為同一時刻的實際位置;ε為輪廓誤差。

圖2 任意軌跡的輪廓誤差模型
系統的輪廓誤差可近似表示為:

(3)
(3)式根據泰勒公式展開并化簡,可得輪廓誤差的近似結果為:
ε=-EXCX+EYCY
(4)
CX=sinθ-EX/2ρ,
CY=cosθ-EX/2ρ
(5)
2.2 交叉耦合控制器設計
交叉耦合控制器示意圖如圖3所示,其中虛線部分即為交叉耦合控制器,它由3個部分組成:① 輪廓誤差計算模型,實時計算輪廓誤差;② 控制策略,將輪廓誤差轉換為相應的控制量;③ 輪廓誤差補償分配模型,將輪廓誤差補償的控制量依照一定的關系分配給各個單軸的控制器。
圖3中,EX、EY分別為X軸、Y軸的跟蹤誤差;ε為輪廓誤差;u為誤差補償控制量;uX、uY分別為X軸、Y軸所分配的控制量。CCC的輪廓誤差模型采用輪廓誤差通用計算公式(4)式。交叉耦合控制器大多采用PID控制算法。
輪廓誤差補償的分配方式[9]常用的有3種,分別是等系數分配、比例誤差分配和任意比例分配,其中比例誤差分配方式避免了任意比例分配計算量大的負擔,與等系數分配相比又有一定的靈活性。比例誤差分配方式下,控制補償量分配到X軸、Y軸的比例關系為:
uX=uCX,uY=uCY
(6)

圖3 交叉耦合控制器示意圖
因為直線電機省去了中間傳動的環節,在運行中容易受到各種干擾,而且CCC系統是時變的,在這2類情況下的PID控制器的控制效果往往不太理想,所以本文針對單軸控制和CCC,提出了BP神經網絡PID控制算法。
神經網絡作為先進的智能控制方法的一種,具有十分強大的自學習、自適應能力,BP神經網絡是目前應用最廣泛的神經網絡模型之一[10]。將BP神經網絡與PID控制相結合,因為可以傳承PID控制的優勢,吸收BP神經網絡的優點,還可以消除PID控制的局限性。
3.1BP神經網絡
3層M-H-K型BP神經網絡的結構如圖4所示,其中,輸入層節點數為M,隱含層節點數為H,輸出層節點數為K。

圖4 3層BP神經網絡結構圖
BP神經網絡的學習算法采用均方誤差代價函數,即
(7)
其中,ek(n)為誤差信號。學習的過程為:每次輸入一個樣本之后,將網絡的實際輸出與期望輸出進行比較,利用該算法對網絡的參數(即突觸權值)做出調整,實現均方誤差的最小化。
經過計算可得,隱含層神經元h的突觸權值調整的迭代校正公式為:
(8)
(9)
輸出層神經元k的突觸權值調整的迭代校正公式為:
(10)

(11)
其中,變量的右上角標0、1、2分別代表輸入層、隱含層、輸出層;變量的右下標m、h、k分別代表輸入層、隱含層、輸出層的某一神經元;ω為突觸權值;η為學習率;δ為局域梯度;O為輸入層的輸出;α為動量因子;φ為激活函數;v為誘導局部域;x為輸入信號;y為輸出信號;n為采樣點。
3.2BP神經網絡PID控制器
BP神經網絡PID控制器由2個部分[11]組成:① PID控制,實現對被控對象的閉環控制,KP、KI、KD3個參數依靠在線調整;② BP神經網絡,網絡的輸出層狀態對應PID控制的3個參數,網絡通過自學習進行突觸權值的調整,即實現3個參數的實時調整。不同于傳統PID控制器,BP神經網絡PID控制器內部結構相對比較復雜,不能直接用傳遞函數[12]來表示,在Matlab中,簡單應用不能搭建其模型,因此本文引入S函數搭建的BP神經網絡PID控制器的仿真模型如圖5所示。

圖5 BP神經網絡PID控制器仿真模型
4.1 控制仿真模型
根據交叉耦合控制器的設計原理,結合上文中的單軸伺服系統模型,在Matlab中搭建實驗平臺CCC的仿真模型,如圖6所示。

圖6 交叉耦合控制仿真模型
從圖6可以看出,交叉耦合控制器的3個組成部分為“εcalculation”子模塊(即輪廓誤差計算模型)、“CCC”子模塊(即控制策略,采用PID控制)、“udistribution”子模塊,即輪廓誤差補償分配模型。X軸、Y軸的控制均采用PID控制。
圖6的控制模型中,若除去交叉耦合控制器,模型即為非耦合控制;若將圖4中的BP神經網絡PID控制器分別應用到X軸、Y軸和“CCC”子模塊,模型即為本文中所提出的BPNN-CCC。
4.2 仿真結果分析
假定工作條件為按順時針加工一個半徑為100 mm的整圓,運動角頻率ω為0.1 rad/s,仿真時間為62.8 s,此時X軸、Y軸的輸入信號分別為:
Xi=100sin(ωt),Yi=100 cos(ωt)。
由此可以得到非耦合控制、CCC、BPNN-CCC 3種控制方式下的輪廓誤差,分別如圖7所示。


圖7 3種控制方法下的輪廓誤差
為了比較3種控制方式的控制效果,將輪廓誤差的數據進行總結,結果見表2所列。

表2 3種控制方法的輪廓誤差 μm
從表2可以看出,CCC與BPNN-CCC的輪廓誤差明顯小于非耦合控制,驗證了這2種控制方法是有效的。在穩定狀態下,BPNN-CCC的輪廓誤差小于CCC,前者僅是后者的1/2;第1次調整時,CCC和BPNN-CCC的輪廓誤差相近;第2次調整時,BPNN-CCC的輪廓誤差比CCC稍大。由于調整時間(共約4 s)相對于總體運動時間很短,從總體上看,BPNN-CCC控制方法的性能優于CCC。
BPNN-CCC控制過程中,X軸BP神經網絡PID控制器KP、KI、KD3個參數的變化曲線如圖8所示。從圖8可以看出,3個參數在不斷地進行調節,驗證了神經網絡自學習的能力,體現了BP神經網絡PID控制方法自適應外部環境變化的能力,這也正是其優于常規PID控制的獨特之處。

圖8 KP、KI、KD參數自適應調整曲線
本文針對基于直線電機的數控機床,以交叉布置的X軸、Y軸為實驗對象,在分析并建立了直線電機單軸伺服控制模型的基礎上,建立了任意軌跡的輪廓誤差模型,分析了交叉耦合控制器設計的原理和思路;然后,以單軸控制和CCC均常用的PID控制為基礎,結合BP神經網絡的理論,設計BP神經網絡PID控制器,并在Matlab中建立其基于S函數的仿真模型;最后,在Matlab中搭建了非耦合控制、CCC和BPNN-CCC的仿真模型,實驗驗證了CCC和BPNN-CCC的有效性,同時對比兩者總體的控制效果,BPNN-CCC的輪廓誤差小于CCC,且表現出了神經網絡自學習、自適應的能力。
[1] 張剛,劉品寬,張波,等.直線電機精密運動平臺軌跡跟蹤控制器設計[J].光學精密工程,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] 王麗梅,左瑩瑩.基于模糊神經網絡滑模控制的xy平臺輪廓控制[J].機床與液壓,2014,42(11):23-26.
[6] 仇靜.基于PID的直線電機控制方法及實驗研究[D].合肥:合肥工業大學,2014.
[7] 杜帥,陳陽生.永磁同步電動機伺服系統轉動慣量辨識[J].微特電機,2012,40(8):7-13.
[8] 王利.現代直線電機關鍵控制技術及其應用研究[D].杭州:浙江大學,2012.
[9] 許強強.雙軸進給伺服交叉耦合控制的研究[D].廣州:廣東工業大學,2011.
[10] 王華強,石亞娟,王健波.神經網絡模糊PID在水輪機調速系統中的應用[J].合肥工業大學學報(自然科學版),2012,35(9):1187-1191.
[11] 張澤旭.神經網絡控制與MATLAB仿真[M].哈爾濱:哈爾濱工業大學出版社,2011.
[12] 楊藝,虎恩典.基于S函數的BP神經網絡PID控制器及Simulink仿真[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
國家自然科學基金資助項目(51575154);安徽省科技攻關計劃資助項目(JZ2015AKKG0222)
劉洪珍(1990-),女,河北滄縣人,合肥工業大學碩士生; 夏 鏈(1964-),女,四川樂山人,博士, 合肥工業大學教授,碩士生導師; 韓 江(1963-),男,河南項城人,博士, 合肥工業大學教授,博士生導師.
10.3969/j.issn.1003-5060.2017.10.002
TP273.2
A
1003-5060(2017)10-1303-05
(責任編輯 胡亞敏)