基于BP神经网络PID的交叉耦合轮廓控制研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于BP神经网络PID的交叉耦合轮廓控制研究
刘洪珍;夏链;田晓青;韩江
【摘要】文章以基于直线电机的数控机床X-Y平台为实验平台,进行轮廓误差控制技术的研究,设计了BP神经网络交叉耦合控制(back propagation neural network cross-coupling control,BPNN-CCC)器.在交叉耦合控制(cross-coupling control,CCC)的基础上,分析了BP神经网络的理论,并与PID控制相结合,设计了BP神经网络PID控制器,将其应用在单轴控制与CCC上,在Matlab中搭建了BPNN-CCC的仿真模型.实验结果表明,该控制器有效减小了系统的轮廓误差,并体现了自学习、自适应的能力.%The contour error control technology based on a X-Y platform of CNC machines driven by linear motors is researched and a back propagation neural network cross-coupling controller is de-signed .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 er-ror of the system effectively ,and has self-learning and adaptive abilities .
【期刊名称】《合肥工业大学学报(自然科学版)》
【年(卷),期】2017(040)010
【总页数】5页(P1303-1307)
【关键词】直线电机;轮廓误差;交叉耦合;PID控制;BP神经网络
【作者】刘洪珍;夏链;田晓青;韩江
【作者单位】合肥工业大学机械工程学院,安徽合肥 230009;合肥工业大学机械工
程学院,安徽合肥 230009;合肥工业大学机械工程学院,安徽合肥 230009;合肥工业大学机械工程学院,安徽合肥 230009
【正文语种】中文
【中图分类】TP273.2
随着科学技术的不断发展,数控机床追求更高的效率和更高的精度,为满足这一要求,必然需要高速、高精度的直线运动。
直线电机作为直驱技术的一种,革除了中间环节,减少了传动系统滞后带来的跟踪误差和传动件弹性变形引起的传动误差,提高了
整个闭环控制系统的动态响应性能[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]可简化为:
m=Kfiq-Bv-FL
其中,L为电感;iq为q轴电流;Rs为初级(动子)绕组等效电阻;Ke为电机反电动势系数;v为初级线速度;uq为q轴电压;τ为永磁体极距;ψf为永磁体励磁基波磁链;m 为电机的初级质量;Kf为电机电磁推力系数;B为黏滞摩擦系数,黏滞摩擦系数与电机的运行速度等参数相关[7],由于直线电机采用滑轨支撑,黏滞摩擦力比较小[8],在本文中不作为研究重点,为简化仿真模型,本文将黏滞摩擦系数设为定值;FL为外部负载阻力。
X轴、Y轴直线电机部分参数见表1所列。
PID控制在传统控制方法中是最有代表性的,应用也最为广泛。
以X轴为例,直线电机伺服控制系统的位置环采用PID控制,电流环采用PI控制,速度环采用P控制,根据PID控制原理,参照表1中的电机参数,可以搭建单轴伺服系统的模型,如图1所示。
其中,图1a为直线电机驱动系统模型,封装在图1b的“PMLSM-X”子模块中,图1b即为单轴伺服系统模型;In1、Out1分别为输入、输出信号。
2.1 轮廓误差建模
任意轨迹的轮廓误差模型如图2所示,采用了圆弧近似逼近的方法。
其中,θ为期望轨迹的切线与X轴方向的夹角;P*为某时刻的期望位置;P(Xo,Yo)为期望轨迹对应的曲率中心坐标;P(Xa,Ya)为同一时刻的实际位置;ε为轮廓误差。
系统的轮廓误差可近似表示为:
(3)式根据泰勒公式展开并化简,可得轮廓误差的近似结果为:
CX=sin θ-EX/2ρ,
CY=cos θ-EX/2ρ
2.2 交叉耦合控制器设计
交叉耦合控制器示意图如图3所示,其中虚线部分即为交叉耦合控制器,它由3个部分组成:① 轮廓误差计算模型,实时计算轮廓误差;② 控制策略,将轮廓误差转换为相应的控制量;③ 轮廓误差补偿分配模型,将轮廓误差补偿的控制量依照一定的关系分配给各个单轴的控制器。
图3中,EX、EY分别为X轴、Y轴的跟踪误差;ε为轮廓误差;u为误差补偿控制量;uX、uY分别为X轴、Y轴所分配的控制量。
CCC的轮廓误差模型采用轮廓误差通用计算公式(4)式。
交叉耦合控制器大多采用PID控制算法。
轮廓误差补偿的分配方式[9]常用的有3种,分别是等系数分配、比例误差分配和任意比例分配,其中比例误差分配方式避免了任意比例分配计算量大的负担,与等系数分配相比又有一定的灵活性。
比例误差分配方式下,控制补偿量分配到X轴、Y轴的比例关系为:
因为直线电机省去了中间传动的环节,在运行中容易受到各种干扰,而且CCC系统是时变的,在这2类情况下的PID控制器的控制效果往往不太理想,所以本文针对单轴控制和CCC,提出了BP神经网络PID控制算法。
神经网络作为先进的智能控制方法的一种,具有十分强大的自学习、自适应能力,BP 神经网络是目前应用最广泛的神经网络模型之一[10]。
将BP神经网络与PID控制
相结合,因为可以传承PID控制的优势,吸收BP神经网络的优点,还可以消除PID控制的局限性。
3.1 BP神经网络
3层M-H-K型BP神经网络的结构如图4所示,其中,输入层节点数为M,隐含层节
点数为H,输出层节点数为K。
BP神经网络的学习算法采用均方误差代价函数,即
其中,ek(n)为误差信号。
学习的过程为:每次输入一个样本之后,将网络的实际输出
与期望输出进行比较,利用该算法对网络的参数(即突触权值)做出调整,实现均方误
差的最小化。
经过计算可得,隐含层神经元h的突触权值调整的迭代校正公式为:
输出层神经元k的突触权值调整的迭代校正公式为:
其中,变量的右上角标0、1、2分别代表输入层、隐含层、输出层;变量的右下标m、h、k分别代表输入层、隐含层、输出层的某一神经元;ω为突触权值;η为学习率;δ为局域梯度;O为输入层的输出;α为动量因子;φ为激活函数;v为诱导局部域;x为输入信号;y为输出信号;n为采样点。
3.2 BP神经网络PID控制器
BP神经网络PID控制器由2个部分[11]组成:① PID控制,实现对被控对象的闭环
控制,KP、KI、KD 3个参数依靠在线调整;② BP神经网络,网络的输出层状态对应PID控制的3个参数,网络通过自学习进行突触权值的调整,即实现3个参数的实时调整。
不同于传统PID控制器,BP神经网络PID控制器内部结构相对比较复杂,不
能直接用传递函数[12]来表示,在Matlab中,简单应用不能搭建其模型,因此本文引
入S函数搭建的BP神经网络PID控制器的仿真模型如图5所示。
4.1 控制仿真模型
根据交叉耦合控制器的设计原理,结合上文中的单轴伺服系统模型,在Matlab中搭
建实验平台CCC的仿真模型,如图6所示。
从图6可以看出,交叉耦合控制器的3个组成部分为“ε calculation”子模块(即轮廓误差计算模型)、“CCC”子模块(即控制策略,采用PID控制)、“u distribution”子模块,即轮廓误差补偿分配模型。
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轴的输入信号分别为:
由此可以得到非耦合控制、CCC、BPNN-CCC 3种控制方式下的轮廓误差,分别
如图7所示。
为了比较3种控制方式的控制效果,将轮廓误差的数据进行总结,结果见表2所列。
从表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、KD 3个参数的
变化曲线如图8所示。
从图8可以看出,3个参数在不断地进行调节,验证了神经网
络自学习的能力,体现了BP神经网络PID控制方法自适应外部环境变化的能力,这
也正是其优于常规PID控制的独特之处。
本文针对基于直线电机的数控机床,以交叉布置的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 motor X-Y table[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.。