版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文基于BP神经网络的PID控制器设计2008年6月基于BP神经网络的PID控制器设计摘要:本文提出了一种基于BP神经网络的PID控制方法,充分利用BP神经网络逼近任意连续有界非线性函数的能力,这种PID控制方法能学习和适应严重不确定系统的动态特性。文中采用三层前向网络动态BP算法,达到了在线实时控制的目的,显示了BP神经网络的PID控制方法具有很强的鲁棒性,同时也显示了神经网络在解决高度非线性和不确定系统方面的潜能。计算机仿真结果表明,基于BP神经网络的PID控制较常规的PID控制具有更好的鲁棒性和自适应性,能取得良好的控制效果。关键字:BP算法,神经网络,PID控制
ResearchonPIDControlBasedonBPNeuralNetworksAbstract:APIDcontrolbasedonBPneuralnetworks,isintroducedinthispaper,whichisusedtooptimizeandadjustthedynamicperformanceofseriouslyuncertainsystembyexploitingthenonlinearmappingcapabilityofneuralnetworks.ThedynamicBPalgorithmofthree-layernetworksrealizestheonlinereal-timecontrol,whichdisplaystherobustnessofthePIDcontrol,andthecapabilityofBPneuralnetworkstodealwithnonlinearanduncertainsystem.ThesimulationresultsshowthatthePIDcontrolbasedonBPneuralnetworksownsbetterrobustnessandself-adaptationthanthegeneralone,andthegreatperformanceofcontrolcanbeguaranteed.Keywords:BPalgorithm,neuralnetworks,PIDcontrol目录1 绪论 11.1引言 11.2国内外研究现状 11.3论文研究内容 22PID控制原理 42.1自动控制系统 42.2PID控制的原理和特点 42.3PID控制器的参数整定 52.4数字PID控制 63BP神经网络 73.1神经网络的发展历史 73.1.1神经网络产生的背景 73.1.2神经网络的发展 73.1.3神经网络的发展前景 103.1.4神经网络的意义 113.2BP神经网络的基本结构及其原理 133.2.1神经网络的基本结构 133.2.2基于BP算法的三层前向网络的PID控制方案。 133.2.3BP学习算法的改进 194基于BP神经网络的PID控制器设计 224.1总体设计 224.2MTALAB程序及仿真 234.2.1MATLAB简介 234.2.2基于BP神经网络的PID控制器的仿真程序 264.2.3仿真结果 274.2.4仿真结果分析 29结束语 30附录仿真程序 31参考文献 35致谢 37绪论1.1引言PID控制是最早发展起来的应用经典控制理论的控制策略之一,由于算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程并取得了良好的控制效果,尤其适用于建立精确数学模型的确定性控制系统。然而实际工业生产过程往往具有非线性,时变不确定性,难以建立精确的数学模型,应用常规PID控制器不能达到理想的控制效果,而且在实际生产现场中,由于受到参数整定方法繁杂的困扰,常规PID控制器参数往往整定不良,性能欠佳,对运行工况的适应性很差[1]。神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络是由大量反映非线性本质特征的神经元互相连接而成的复杂网络系统。它具有并行计算和分布式数据处理的功能,可实时处理大量数据,具有逼近任意连续有界非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。人工神经网络是由简单的处理单元所组成的大量并行分布的处理器,这种处理机具有存储和应用经验知识的自然特性,它与人脑的相似之处概括为两个方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元(突触权值)用来存储获取的知识信息[2]。BP(ErrorBackPropagationNetwork)神经网络是目前应用最为广泛和成功的神经网络之一。其基本思想是,学习过程由信号的正向传播与误差的反响传播两个过程组成。正向传播时输入样本从输入曾传入,经隐藏层依次处理后传向输出层。若输出层的实际输出与期望输出不符,则转向误差的反向传播阶段。误差的反向传播是将输出单元的误差以某种形式通过隐藏层向输入层依次反传,并将误差信号摊分给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元的权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行的。权值不断调整的过程,也就是网络的学习过程。学习过程一直进行到网络输出的误差减小到可以接受的程度,或进行到预先设定的学习次数为止。1.2国内外研究现状近来人工神经网络成为研究领域的热点,涉及到电子科学与技术、信息与通行工程、计算机科学与技术、电气工程控制科学与技术等诸多科学,其应用领域包括:建模时间、序列分析、模式识别和控制等并不断的拓展。
按照MritinT.Hagen等人的总结,神经网络在现实生活中的用用有:(1)宇宙飞船。高性能的飞行器自动驾驶、飞行轨道模拟飞行器元件错误检测器。(2)汽车行业。汽车自动驾驶系统、保险行为分析。(3)银行业。支票和其他文档阅览器贷款评估器。(4)国防领域。武器操纵控制、目标跟踪、物体识别、各种新的传感器。(5)电子领域。编码序列预测、集成电路芯片的设计、过程控制芯片、故障分析、机器视觉声音合成、非线性建模。(6)娱乐领域。动画、特效设计、市场预测。(7)金融领域。固定资产评估、贷款顾问、抵押审查公司、保证信誉度、赊账分析、有价资产贸易规划、合法资产分析、货币价格预测。(8)保险领域。政策方针评估、产品最优化。(9)制造业。生产过程控制、产品设计与分析、适时粒子分析、可视化质量检测系统、啤酒检测、焊接质量分析、纸张质量预测、计算机芯片质量分析、研磨操作分析、化学产品质量分析、机器保养分析、项目招标计划和管理化学过程系统的动态分析。(10)医药领域。乳癌细胞分析、脑电图和心点图分析、修复术设计、移植时间最优化、医院开支的削减、医疗质量的提高、急救室建议。(11)石油和天然气勘探。(12)机器人。运动轨线控制铲车机器人操纵控制器视觉系统。(14)有价证券。市场分析股票商业顾问自动债券估价。(15)电信领域。图像和数据压缩、自动信息服务、实习语音翻译、顾客付款处理系统。(16)交通领域。卡车制动器检测系统、汽车调度和路线系统。相信随着神经网络研究的进一步深入,特别是神经网络作为一种智能方式同其他科学领域更加紧密的结合,神经网络的应用前景将更加广阔[3]。1.3论文研究内容PID控制是工业过程控制中应用最广的策略之一,如何有效优化PID控制器的参数成为重点关注的问题,它直接影响控制性能,影响系统运行的安全和生产的经济效益。因此,提出进行基于BP神经网络的PID控制器设计,采用BP神经网络,实现PID控制器的参数最佳整定。通过查阅参考文献与相关论文,学习传统PID控制器的基本原理,了解BP神经网络结构,掌握其基本算法,完成一个基于BP神经网络的PID控制器的设计。通过举例,使用MATLAB仿真,分别对传统PID控制器与基于BP神经网络的PID控制器的控制效果进行比较,得出结论。
2PID控制原理2.1自动控制系统目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。自动控制系统可分为开环控制系统和闭环控制系统。开环控制系统(open-loopcontrolsystem)是指被控对象的输出(被控制量)对控制器的输出没有影响。在这种控制系统中,不依赖将被控量返送回来以形成任何闭环回路。闭环控制系统(closed-loopcontrolsystem)的特点是系统被控对象的输出(被控制量)会返送回来影响控制器的输出,形成一个或多个闭环。闭环控制系统有正反馈和负反馈,若反馈信号与系统给定值信号相反,则称为负反馈,若极性相同,则称为正反馈,一般闭环控制系统均采用负反馈,又称负反馈控制系统。闭环控制系统的例子很多。比如人就是一个具有负反馈的闭环控制系统,眼睛便是传感器,充当反馈,人体系统能通过不断的修正最后做出各种正确的动作。如果没有眼睛,就没有了反馈回路,也就成了一个开环控制系统。另例,当一台真正的全自动洗衣机具有能连续检查衣物是否洗净,并在洗净之后能自动切断电源,它就是一个闭环控制系统。阶跃响应是指将一个阶跃输入加到系统上时,系统的输出。稳态误差是指系统的响应进入稳态后,系统的期望输出与实际输出之差。控制系统的性能可以用稳、准、快三个字来描述。稳是指系统的稳定性,一个系统要能正常工作,首先必须是稳定的,从阶跃响应上看应该是收敛的;准是指控制系统的准确性、控制精度,通常用稳态误差来描述,它表示系统输出稳态值与期望值之差;快是指控制系统响应的快速性,通常用上升时间来定量描述。2.2PID控制的原理和特点在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。在模拟控制系统中,控制器最常用的控制规律是PID控制。PID的控制规律为:(2.1)式中,—比例系数;—积分时间常数;—微分时间常数[4]。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差。在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(SystemwithSteady-stateError)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性[5]。2.3PID控制器的参数整定PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)的控制度下通过公式计算得到PID控制器的参数[6]。2.4数字PID控制计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此,连续PID控制算法不能直接使用,需要采用离散化方法。当采样周期T较小时,可得到离散PID表达式:(2.2)式中,u(k)为控制器在k时刻的输出,,,T为采样周期,K为采样序号,k=1,2,…,e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。当执行机构需要的是控制量的增量时,采用增量式PID控制。利用式(2.2)用u(k)-u(k-1),并进行一些变换,可得到增量式PID控制算法:(2.3)式中,,,。3BP神经网络3.1神经网络的发展历史3.1.1神经网络产生的背景自古以来,关于人类智能本源的奥秘,一直吸引着无数哲学家和自然科学家的研究热情。生物学家、神经学家经过长期不懈的努力,通过对人脑的观察和认识,认为人脑的智能活动离不开脑的物质基础,包括它的实体结构和其中所发生的各种生物、化学、电学作用,并因此建立了神经元网络理论和神经系统结构理论,而神经元理论又是此后神经传导理论和大脑功能学说的基础。在这些理论基础之上,科学家们认为,可以从仿制人脑神经系统的结构和功能出发,研究人类智能活动和认识现象。另一方面,19世纪之前,无论是以欧氏几何和微积分为代表的经典数学,还是以牛顿力学为代表的经典物理学,从总体上说,这些经典科学都是线性科学。然而,客观世界是如此的纷繁复杂,非线性情况随处可见,人脑神经系统更是如此。复杂性和非线性是连接在一起的,因此,对非线性科学的研究也是我们认识复杂系统的关键。为了更好地认识客观世界,我们必须对非线性科学进行研究。人工神经网络作为一种非线性的、与大脑智能相似的网络模型,就这样应运而生了。所以,人工神经网络的创立不是偶然的,而是20世纪初科学技术充分发展的产物[7]。3.1.2神经网络的发展人工神经网络的研究始于40年代初。半个世纪以来,经历了兴起、高潮与萧条、高潮及稳步发展的远为曲折的道路。1943年,心理学家W.S.Mcculloch和数理逻辑学家W.Pitts提出了M-P模型,这是第一个用数理语言描述脑的信息处理过程的模型,虽然神经元的功能比较弱,但它为以后的研究工作提供了依据。1949年,心理学家D.O.Hebb提出突触联系可变的假设,根据这一假设提出的学习规律为神经网络的学习算法奠定了基础。1957年,计算机科学家Rosenblatt提出了著名的感知机模型,它的模型包含了现代计算机的一些原理,是第一个完整的人工神经网络,第一次把神经网络研究付诸工程实现。由于可应用于模式识别,联想记忆等方面,当时有上百家实验室投入此项研究,美国军方甚至认为神经网络工程应当比“原子弹工程”更重要而给予巨额资助,并在声纳信号识别等领域取得一定成绩。1960年,B.Windrow和E.Hoff提出了自适应线性单元,它可用于自适应滤波、预测和模式识别。至此,人工神经网络的研究工作进入了第一个高潮。1969年,美国著名人工智能学者M.Minsky和S.Papert编写了影响很大的Perceptron一书,从理论上证明单层感知机的能力有限,诸如不能解决异或问题,而且他们推测多层网络的感知机能力也不过如此,他们的分析恰似一瓢冷水,很多学者感到前途渺茫而纷纷改行,原先参与研究的实验室纷纷退出,在这之后近10年,神经网络研究进入了一个缓慢发展的萧条期。这期间,芬兰学者T.Kohonen提出了自组织映射理论,反映了大脑神经细胞的自组织特性、记忆方式以及神经细胞兴奋刺激的规律;美国学者S.A.Grossberg的自适应共振理论(ART);日本学者K.Fukushima提出了认知机模型;ShunIchimari则致力于神经网络有关数学理论的研究等,这些研究成果对以后的神经网络的发展产生了重要影响。美国生物物理学家J.J.Hopfield于1982年、1984年在美国科学院院刊发表的两篇文章,有力地推动了神经网络的研究,引起了研究神经网络的又一次热潮。1982年,他提出了一个新的神经网络模型-hopfield网络模型。他在这种网络模型的研究中,首次引入了网络能量函数的概念,并给出了网络稳定性的判定依据。1984年,他又提出了网络模型实现的电子电路,为神经网络的工程实现指明了方向,他的研究成果开拓了神经网络用于联想记忆的优化计算的新途径,并为神经计算机研究奠定了基础。1984年Hinton等人将模拟退火算法引入到神经网络中,提出了Boltzmann机网络模型,BM网络算法为神经网络优化计算提供了一个有效的方法。1986年,D.E.Rumelhart和J.LMcclelland提出了误差反向传播算法,成为至今为止影响很大的一种网络学习方法。1987年美国神经计算机专家R.Hecht—Nielsen提出了对向传播神经网络,该网络具有分类灵活,算法简练的优点,可用于模式分类、函数逼近、统计分析和数据压缩等领域。1988年L.Ochua等人提出了细胞神经网络模型,它在视觉初级加工上得到了广泛应用。为适应人工神经网络的发展,1987年成立了国际神经网络学会,并决定定期召开国际神经网络学术会议。1988年1月NeuralNetwork创刊。1990年3月IEEETransactiononNeuralNetwork问世。我国于1990年12月在北京召开了首届神经网络学术大会,并决定以后每年召开一次。1991年在南京成立了中国神经网络学会。IEEE与INNS联合召开的IJCNN92已在北京召开。这些为神经网络的研究和发展起了推波助澜的作用,人工神经网络步入了稳步发展的时期。90年代初,诺贝尔奖获得者Edelman提出了Darwinism模型,建立了神经网络系统理论。同年,Aihara等在前人推导和实验的基础上,给出了一个混沌神经元模型,该模型已成为一种经典的混沌神经网络模型,该模型可用于联想记忆。Wunsch在90OSA年会上提出了一种AnnualMeeting,用光电执行ART,学习过程有自适应滤波和推理功能,具有快速和稳定的学习特点。1991年,Hertz探讨了神经计算理论,对神经网络的计算复杂性分析具有重要意义;Inoue等提出用耦合的混沌振荡子作为某个神经元,构造混沌神经网络模型,为它的广泛应用前景指明了道路。1992年,Holland用模拟生物进化的方式提出了遗传算法,用来求解复杂优化问题。1993年方建安等采用遗传算法学习,研究神经网络控制器获得了一些结果。1994年Angeline等在前人进化策略理论的基础上,提出一种进化算法来建立反馈神经网络,成功地应用到模式识别,自动控制等方面;廖晓昕对细胞神经网络建立了新的数学理论和方法,得到了一系列结果。HayashlY根据动物大脑中出现的振荡现象,提出了振荡神经网络。1995年Mitra把人工神经网络与模糊逻辑理论、生物细胞学说以及概率论相结合提出了模糊神经网络,使得神经网络的研究取得了突破性进展。Jenkins等人研究光学神经网络,建立了光学二维并行互连与电子学混合的光学神经网络,它能避免网络陷入局部最小值,并最后可达到或接近最理想的解;SoleRV等提出流体神经网络,用来研究昆虫社会,机器人集体免疫系统,启发人们用混沌理论分析社会大系统。1996年,ShuaiJW等模拟人脑的自发展行为,在讨论混沌神经网络的基础上提出了自发展神经网络。1997、1998年董聪等创立和完善了广义遗传算法,解决了多层前向网络的最简拓朴构造问题和全局最优逼近问题。随着理论工作的发展,神经网络的应用研究也取得了突破性进展,涉及面非常广泛,就应用的技术领域而言有计算机视觉,语言的识别、理解与合成,优化计算,智能控制及复杂系统分析,模式识别,神经计算机研制,知识推理专家系统与人工智能。涉及的学科有神经生理学、认识科学、数理科学、心理学、信息科学、计算机科学、微电子学、光学、动力学、生物电子学等。美国、日本等国在神经网络计算机软硬件实现的开发方面也取得了显著的成绩,并逐步形成产品。在美国,神经计算机产业已获得军方的强有力支持,国防部高级研究计划局认为“神经网络是解决机器智能的唯一希望”,仅一项8年神经计算机计划就投资4亿美元。在欧洲共同体的ESPRIT计划中,就有一项特别项目:“神经网络在欧洲工业中的应用”,单是生产神经网络专用芯片这一项就投资2200万美元。据美国资料声称,日本在神经网络研究上的投资大约是美国的4倍。我国也不甘落后,自从1990年批准了南开大学的光学神经计算机等3项课题以来,国家自然科学基金与国防预研基金也都为神经网络的研究提供资助。另外,许多国际著名公司也纷纷卷入对神经网络的研究,如Intel、IBM、Siemens、HNC。神经计算机产品开始走向商用阶段,被国防、企业和科研部门选用。在举世瞩目的海湾战争中,美国空军采用了神经网络来进行决策与控制。在这种刺激和需求下,人工神经网络定会取得新的突破,迎来又一个高潮。自1958年第一个神经网络诞生以来,其理论与应用成果不胜枚举。人工神经网络是一个快速发展着的一门新兴学科,新的模型、新的理论、新的应用成果正在层出不穷地涌现出来。3.1.3神经网络的发展前景针对神经网络存在的问题和社会需求,今后发展的主要方向可分为理论研究和应用研究两个方面。利用神经生理与认识科学研究大脑思维及智能的机理、计算理论,带着问题研究理论。(1)人工神经网络提供了一种揭示智能和了解人脑工作方式的合理途径,但是由于人类起初对神经系统了解非常有限,对于自身脑结构及其活动机理的认识还十分肤浅,并且带有某种“先验”。例如,Boltzmann机引入随机扰动来避免局部极小,有其卓越之处,然而缺乏必要的脑生理学基础,毫无疑问,人工神经网络的完善与发展要结合神经科学的研究。而且,神经科学,心理学和认识科学等方面提出的一些重大问题,是向神经网络理论研究提出的新挑战,这些问题的解决有助于完善和发展神经网络理论。因此利用神经生理和认识科学研究大脑思维及智能的机理,如有新的突破,将会改变智能和机器关系的认识。(2)利用神经科学基础理论的研究成果,用数理方法探索智能水平更高的人工神经网络模型,深入研究网络的算法和性能,如神经计算、进化计算、稳定性、收敛性、计算复杂性、容错性、鲁棒性等,开发新的网络数理理论。由于神经网络的非线性,因此非线性问题的研究是神经网络理论发展的一个最大动力。特别是人们发现,脑中存在着混沌现象以来,用混沌动力学启发神经网络的研究或用神经网络产生混沌成为摆在人们面前的一个新课题,因为从生理本质角度出发是研究神经网络的根本手段。神经网络软件模拟,硬件实现的研究以及神经网络在各个科学技术领域应用的研究。由于人工神经网络可以用传统计算机模拟,也可以用集成电路芯片组成神经计算机,甚至还可以用光学的、生物芯片的方式实现,因此研制纯软件模拟,虚拟模拟和全硬件实现的电子神经网络计算机潜力巨大。如何使神经网络计算机与传统的计算机和人工智能技术相结合也是前沿课题;如何使神经网络计算机的功能向智能化发展,研制与人脑功能相似的智能计算机,如光学神经计算机,分子神经计算机,将具有十分诱人的前景。3.1.4神经网络的意义(1)神经网络打开了认识论的新领域。认识与脑的问题,长期以来一直受到人们的关注,因为它不仅是有关人的心理、意识的心理学问题,也是有关人的思维活动机制的脑科学与思维科学问题,而且直接关系到对物质与意识的哲学基本问题的回答。人工神经网络的发展使我们能够更进一步地既唯物又辩证地理解认识与脑的关系,打开认识论的新领域。人脑是一个复杂的并行系统,它具有“认知、意识、情感”等高级脑功能,用人工进行模拟,有利于加深对思维及智能的认识,已对认知和智力的本质的研究产生了极大的推动作用。在研究大脑的整体功能和复杂性方面,人工神经网络给人们带来了新的启迪。由于人脑中存在混沌现象,混沌可用来理解脑中某些不规则的活动,从而混沌动力学模型能用作人对外部世界建模的工具,可用来描述人脑的信息处理过程。混沌和智能是有关的,神经网络中引入混沌学思想有助于提示人类形象思维等方面的奥秘。人工神经网络之所以再度兴起,关键在于它反映了事物的非线性,抓住了客观世界的本质,而且它在一定程度上正面回答了智能系统如何从环境中自主学习这一最关键的问题,从认知的角度讲,所谓学习,就是对未知现象或规律的发现和归纳。由于神经网络具有高度的并行性,高度的非线性全局作用,良好的容错性与联想记忆功能以及十分强的自适应、自学习功能,而使得它成为揭示智能和了解人脑工作方式的合理途径。但是,由于认知问题的复杂性,目前,我们对于脑神经网的运行和神经细胞的内部处理机制,如信息在人脑是如何传输、存贮、加工的?记忆、联想、判断是如何形成的?大脑是否存在一个操作系统?还没有太多的认识,因此要制造人工神经网络来模仿人脑各方面的功能,还有待于人们对大脑信息处理机理认识的深化。(2)神经网络发展的推动力来源于实践、理论和问题的相互作用。随着人们社会实践范围的不断扩大,社会实践层次的不断深入,人们所接触到的自然现象也越来越丰富多彩、纷繁复杂,这就促使人们用不同的原因加以解释不同种类的自然现象,当不同种类的自然现象可以用同样的原因加以解释,这样就出现了不同学科的相互交叉、综合,人工神经网络就这样产生了。在开始阶段,由于这些理论化的网络模型比较简单,还存在许多问题,而且这些模型几乎没有得到实践的检验,因而神经网络的发展比较缓慢。随着理论研究的深入,问题逐渐地解决特别是工程上得到实现以后,如声纳识别成功,才迎来了神经网络的第一个发展高潮。可Minisky认为感知器不能解决异或问题,多层感知器也不过如此,神经网络的研究进入了低谷,这主要是因为非线性问题没得到解决。随着理论的不断丰富,实践的不断深入,现在已证明Minisky的悲观论调是错误的。今天,高度发达的科学技术逐渐揭示了非线性问题是客观世界的本质。问题、理论、实践的相互作用又迎来了人工神经网络的第二次高潮。目前人工神经网络的问题是智能水平不高,还有其它理论和实现方面的问题,这就迫使人们不断地进行理论研究,不断实践,促使神经网络不断向前发展。总之,先前的原因遇到了解释不同的新现象,促使人们提出更加普遍和精确的原因来解释。理论是基础,实践是动力,但单纯的理论和实践的作用还不能推动人工神经网络的发展,还必须有问题提出,才能吸引科学家进入研究的特定范围,引导科学家从事相关研究,从而逼近科学发现,而后实践又提出新问题,新问题又引发新的思考,促使科学家不断思考,不断完善理论。人工神经网络的发展无不体现着问题、理论和实践的辩证统一关系。(3)神经网络发展的另一推动力来源于相关学科的贡献及不同学科专家的竞争与协同。神经网络本身就是一门边缘学科,它的发展有更广阔的科学背景,亦即是众多科研成果的综合产物,控制论创始人Wiener在其巨著《控制论》中就进行了人脑神经元的研究;计算机科学家Turing就提出过B网络的设想;Prigogine提出非平衡系统的自组织理论,获得诺贝尔奖;Haken研究大量元件联合行动而产生宏观效果,非线性系统“混沌”态的提出及其研究等,都是研究如何通过元件间的相互作用建立复杂系统,类似于生物系统的自组织行为。脑科学与神经科学的进展迅速反映到人工神经网络的研究中,例如生物神经网络理论,视觉中发现的侧抑制原理,感受野概念等,为神经网络的发展起了重要的推动作用。从已提出的上百种人工神经网络模型中,涉及学科之多,令人目不暇接,其应用领域之广,令人叹为观止。不同学科专家为了在这一领域取得领先水平,存在着不同程度的竞争,所有这些有力地推动了人工神经网络的发展。人脑是一个功能十分强大、结构异常复杂的信息系统,随着信息论、控制论、生命科学,计算机科学的发展,人们越来越惊异于大脑的奇妙,至少到目前为止,人类大脑信号处理机制对人类自身来说,仍是一个黑盒子,要揭示人脑的奥秘需要神经学家、心理学家、计算机科学家、微电子学家、数学家等专家的共同努力,对人类智能行为不断深入研究,为人工神经网络发展提供丰富的理论源泉。另外,还要有哲学家的参与,通过哲学思想和自然科学多种学科的深层结合,逐步孕育出探索人类思维本质和规律的新方法,使思维科学从朦胧走向理性。而且,不同领域专家的竞争与协调同有利于问题清晰化和寻求最好的解决途径。纵观神经网络的发展历史,没有相关学科的贡献,不同学科专家的竞争与协同,神经网络就不会有今天。当然,人工神经网络在各个学科领域应用的研究反过来又推动其它学科的发展,推动自身的完善和发展[8]。3.2BP神经网络的基本结构及其原理PID控制要取得较好的控制效果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中既要相互配合又相互制约的关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用BP网络,可以建立参数,,自学习的PID控制器。基于BP神经网络的PID控制系统结构由常规的PID控制器和神经网络两部分构成。3.2.1神经网络的基本结构根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化,使输出层神经元的输出层的三个可调参数,,。通过神经网络的自学习、加权系数调整,使神经网络输出对应于某种最优控制规律下的PID控制器的参数。误差反向传播神经网络是一种有隐含层的多层前馈网络,具有M个输入节点和L个输出节点的BP神经网络可以看成是从M维欧氏空间到L维欧氏空间的非线性映射,这种映射是高度非线性的,可以逼近任意非线性的映射,从而为非线性系统的辩识提供了一种简单有效的一般性方法。以下我们以三层前向网络为例[9]。3.2.2基于BP算法的三层前向网络的PID控制方案。多层感知器使单层感知器的推广,但是它能够解决单层感知所不能解决的非线性问题。多层感知器由输入层、隐含层、输出层组成,其隐含层可以为一层或多层。输入层神经元的个数为输入信号的维数,隐含层个数以及隐节点的个数视具体情况而定,输出层神经元的个数为输出信号的维数。多层感知器同单层感知器相比较具有四个明显的特点:(1)除了输入输出层,多层感知器含有一层或者多层隐单元。隐单元从输入模式中提取更多有用的信息,使网络可以完成更复杂的东西。(2)多层感知器中每个神经元的激励函数是可微的Sigmoid函数,如(3.1)式中是第i个神经元的输入信号,是该神经元的输出信号。(3)多层感知器的多个突触使得网络更具连通性,连接域的变化或连接权值的变化都要引起连续性的变化。(4)多层感知器具有独特的学习算法,该学习算法就是著名的BP算法,所以多层感知器也常常被称之为BP网络。多层感知器所具有的这些特点,使得它具有强大的计算能力。多层感知器是目前应用最为广泛的一种神经网络[10]。BP学习过程可以描述如下:工作信号正向传播:输入信号从输入层经隐单元,传向输出层,在输出端产生输出信号,这是工作信号的正向传播。在信号的前向传输中网络的权值是固定不变的,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转入误差信号反向传播。误差信号反向传播:网络的实际输出与期望输出之间的差值即为误差信号,误差信号由输出端开始逐层向前传播,这是误差信号的反向传播。在误差信号反向传播的过程中,网络的权值由误差反馈进行调节。通过权值的不断修正使网络的实际输出更接近期望输出。本文用来控制对象的神经网络模型采用3层BP网络,其结构如图3.1所示[11]。图3.1BP神经网络结构网络输入层的输入为:j=(1,2…,M)(3.2)式中,输入变量的个数M取决于被控系统的复杂程度。网络隐含层的输入、输出为:(i=1,2…,Q)(3.3)式中,为隐含层加权系数;上角标⑴、⑵、⑶分别代表输入层、隐含层和输出层。隐层神经元活化函数取正负对称的Sigmoid函数:(3.4)网络输出层的输入输出为:(=1,2,3)(3.5)输出层输出节点分别对应三个可调参数,,。此时,输出层神经元的活化函数取非负的Sigmoid函数:(3.6)取性能指标函数为:(3.7)按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一个使搜索快速收敛全局极小的惯性项:(3.8)式中,η为学习速率;α为惯性系数。由(2.3)和(3.5),可得到:(3.9)(3.10)(3.11)从而可得到网络输出层权的学习算法为:(3.12) (l=1,2,3)(3.13)同理可得到隐含层加权系数的学习算法:(3.14)(i=1,2,Λ,Q)(3.15)式中,,。因此,基于BP神经网络的PID控制算法可归纳为:第一步设置变量和参数:(k=1,2,,N)为输入向量,或称训练样本,N为训练样本的个数。为第N次迭代时输入层与隐层I之间的权值向量。为第N次迭代时隐层I与隐层J之间的权值向量。为第N次迭代时隐层J与输出层之间的权值向量。,(k=1,2,…,N)为第,,N次迭代时网络的实际输出。为期望输出。n为迭代次数;为学习速率。第二步初始化,赋给,,各一个较小的随机非零值。第三步随机输入样本,n=0。第四步对输入样本,前向计算BP网络每层神经元的输入信号u和输出信号v,其中,p=1,2,,p)第五步由期望输出和上一步求得的实际输出计算误差,判断其是否满足要求,若满足转至第八步;不满足转至第六步。第六步判断n+1是否大于最打迭代次数,若大于转至第八步,若小于,对输入样本,反向计算每层神经元的局部梯度,其中,p=1,2…,P,j=1,2,…,J,i=1,2,…I第七步按下式计算权值修正量△w,并修正权值;n=n+1,转至第四步。j=1,2,…J;p=1,2,…,Pi=1,2,…,I;j=1,2。…,Jm=1,2,…,M;i=1,2,…I第八步判断是否学完所有的训练要本,是则结束,否则转至第三步。上述BP学习过程中,需要注意的几点:(1)BP学习时权值的初始值是很重要的。初始值过大或过小都会影响学习速度,因此权值的初始值应该选为均匀分布的小数经验值,大概为(-2。4/F,2。4/F)之间(也有人建议在(,)之间),其中F为所连单元的输入端个数。另外,为避免每一部权值的调整方向同向的(即权值同时增加或者同时减少),应将初始权值设置为随机数。(2)神经元的激励函数Sigmoid函数,如果Sigmoid函数的渐进值为+a和-a,则期望输出只能趋于+a,-a,而不能达到+a,-a。为避免学习算法不收敛,提高学习速度,应设期望输出为相应的小数。(3)用BP算法训练网络时有两种方式。一种是顺序方式,即每输入一个训练样本修改一次权值:以上给出的BP算法步骤是按顺序方式训练网络的;另一种是批处理方式,即待组成一个训练中期的全部样本都一次输入网络后,以总的平均误差能量为学习目标函数修正权值的训练方式。(3.16)为网络输入第k个训练样本时输出神经元p的误差,N为训练样本的个数。(4)顺序方式所需的临时存储空间较批处理方式小,而且随机输入样本有利于权值空间的搜索具有随机性,在一定程度上可以避免学习陷入局部最小,但是顺序方式的误差收敛条件难以建立,而批处理方式能够精确的计算出剃度向量,误差收敛条件非常简单,易于并行处理。BP学习中,学习步长值大权值的变化就大,则BP学习的收敛速度就快,但是值过大会引起震荡即网络不稳定;值小可以避免网络的不稳定,但是收敛速度就慢了。要解决这一矛盾最简单的方法就是加入动量项。要计算多层感知其德局部梯度,需要知道神经元的激励函数的导数。常用的激励函数是非线性的sigmoid函数,它有两种形式:逻辑函数,a>0;<<∞(3.17)是网络L层上神经元的输人,这个函数的幅度0≦≦1,在BP算法过程中我们用的激励函数是逻辑函数。双曲正切函数,a,b>0(3.18)a和b是常量。它对的导数为在BP算法第五步需要判断误差是否满足要求,这里的要求是:对顺序方式,误差小于我们设定的值,即︱︱<;批处理方式,每个训练周期的平均误差其变化量在0。1%到1%之间,我们就认为误差满足要求了[12]。在分类问题中,我们会碰到属于同一类的训练样本有几组,在第一步设置变量时,一般使同一类的训练样本其期望输出相同。例如设输入的训练样本有L类,L=[,…L],输入样本表示类的第k组训练样本,对应的实际输出为。3.2.3BP学习算法的改进多层前向BP网络是目前应用最多的一种神经网络形式,但它也不是非常完美的。多层前向BP网络的优点:(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;(2)网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;(3)网络具有一定的推广、概括能力。在实际应用中BP算法存在两个重要问题:收敛速度慢,目标函数存在局部极小点。因此人们提出了一些改善BP算法的方法,下面介绍些主要的改善措施:(1)加入动量项。令(3.19)为动量项,通常是正数。将式(3.19)写成以t为变量的时间序列,t由0到n。则式(3-1)可以看成是的一阶差分方程:(3.20)在BP算法中加入动量项不仅可以微调权值的修正量,也可以使学习避免陷入局部最小。推导BP算法的时候,我们都是假定学习参数不变,实际上,对于不同的,应该是不一样的,应该记作。值得一提的是,在应用BP算法时,我们可以让所有的权值可调,也可限制某些权值固定不变,此时可以设权值的学习步长为零。(2)尽可能使用顺序方式训练网络。顺序方式训练网络要比批处理方式更快,特别是在训练样本很大,而却具有重复样时,顺序方式的这一优点更为突出。值得一提的是,使用顺序方式训练网络来解决模式分类问题时,要求每一周期的训练样本其输入顺序是随机的,这样做是为了尽可能的使连续输入的样本不属于同一类。(3)选用奇函数作激励函数。当激励函数为奇函数(即时,BP算法的学习速度要快些。最常用的奇函数时双曲正切函数:(3.21)双曲正切函数有如下性质:1),。2)斜率接近单位1。在u=1时,的二阶导最大。(4)归一化输入信号。当所有训练样本的输入信号都为正值时,与第一隐层神经元相连的权值只能同时增加或同时减小,从而导致学习速度很慢。为避免出现这种情况,加快网络的学习速度,可以对输入信号进行归依化,使得所有样本的输入信号其均值接近零或与标准方差相比非常小。归依一化输入信号时需注意:1)用主分量分析法使训练样本的输入信号互不相关。2)归一化互不相关的输入信号,使得他们的方差基本相同,从而使不同权值的学习速度基本相同。使得所有样本的输入信号其均值接近零或与其标准方差相比非常小。归一化输入信号时需注意:首先,充分利用先验信息。在实际应用中很多问题可以归纳为函数逼近问题,因此样本训练网络的目的时为了获取未知的输入输出函数,学习就是找出样本中含有的有关的信息,从而推断出逼近的函数。在学习过程中可以利用的先验知识例如方差、对称性等有关的信息,从而加快学习速度、改善逼近效果。其次,调整学习步长使网络中各神经元的学习速度差不多。一般说来是输出单元的局部梯度比输入端的大,可使前者的步长小些。此外,有较多输入端的神经元其步长比有较少输入端的神经元步长小些。此外,人们还提出了许多其他措施以加快BP算法的收敛速度。其一,学习过程实际是一个最优化问题,用瞬时梯度修正权值相当与爬山法,如果用共轭梯度法或牛顿法,虽然计算复杂些,但可以改善收敛过程。另一方面可以监督学习过程看作是一个线性自适应滤波器,如果放弃简单的LMS法,而采用最小二乘(RLS)法或扩展的卡尔曼滤波算法(EKA)也可改进收敛过程[13]。
4基于BP神经网络的PID控制器设计PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用在形成控制量中相互又相互配合制约的关系,这种关系不一定是简单“线形组合”,从变化无穷的非线性组合中可以找出最佳的关系。神经网络所具有的任意非线性表示能力,可以对系统性能的学习来实现具有最佳组合的PID控制。4.1总体设计BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过神经网络自身的学习,可以找到某一最优控制律下的P、I、D参数。基于BP神经网络的PID控制系统结构如图4.1所示。控制器由两个部分组成:(1)经典的PID控制器:直接对被控对象过程闭环控制,并且三个参数、、为在线整定式;(2)神经网络NN:根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最优化。即使输出层神经元的输出状态对应于PID控制器的三个可调参数K、、,通过神经网络的自身学习,加权系数调整,从而使其稳定状态对应于最优控制律下的PID控制器参数[14]。图4.1基于BP神经网络的PID控制器(1)确定BP网络的结构,即确定输入层节点数M和隐含层节点数Q,并给出各层加权系数的初值,选定学习速率和惯性系数,此时k=1;(2)采样得到和,计算该时刻;(3)计算神经网络NN各层神经元的输入、输出,NN输出层的输出即为PID控制器的三个可调参数、、;(4)根据相关公式计算PID控制器的输出;(5)进行神经网络学习,在线调整加权系数,实现PID控制系数自适应调整;置k=1,返回(1)。4.2MTALAB程序及仿真4.2.1MATLAB简介MATLAB语言是由美国Mathworks公司推荐的计算机软件,经过多年的逐步发展与不断完善,现在已经成为国际公认的最优秀的科学技术与数学应用软件之一,其内容涉及矩阵代数、微积分、应用数学、有限元法、科学计算信号与系统神经网络、小波分析及其应用、数字图像处理、计算机图形学、电子线路电机学、自动控制与通信技术、物理力学和机械振动等方面。MATLAB除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完相同的事情简捷得多。在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。一类是数值计算型软件,如MATLAB,Xmath,Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型件,Mathematica,Maple等。这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低。MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件MATLAB。经过多年的国际竞争,MATLAB以经占据了数值软件市场的主导地位。在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRANC语言等编程语言开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。MATLAB的出现,为各国科学家开发学科软件提供了新的基础。在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科,多种工作平台的功能强大的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,MATLAB一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能[15]。MATLAB具有以下优点:(1)友好的工作平台和编程环境MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。(2)简单易用的程序语言MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。(3)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。(4)出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。(5)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱家族中有了自己的一席之地。(6)实用的程序接口和发布平台新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是他有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。(7)应用软件开发(包括用户界面)在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5[16]。4.2.2基于BP神经网络的PID控制器的仿真程序基于BP神经网络的PID控制器的仿真程序流程如图4.2所示。图4.2基于BP神经网络的PID控制器的仿真程序流程图设被控对象的近似数学模型为式中,系数是慢时变的,神经网路的结构选4-5-3,学习速率和惯性系数,加权系数初始值取区间上的随机数。输入指令信号分为两种:(1)。(2)。取S=1时为阶越跟踪,S=2时为正弦跟踪,初始权值取随机值,运行稳定后用稳定权值代替随机值。相关程序见附录。4.2.3仿真结果当输入信号为正弦信号时,跟踪曲线如图4.3所示,跟踪误差曲线如图4.4所示,参数自适应整定曲线如图4.5所示。图4.3正弦跟踪曲线(S=2)图4.4跟踪误差曲线图4.5参数自适应整定曲线4.2.4仿真结果分析由上诉例子可以看出神经网络控制能够充分逼近任何复杂的非线性系统,能够学习和适应严重不确定系统的动态特性,显示了很强的鲁棒性和容错性,同时也显示了神经网络在解决高度非线性和严重不确定系统方面的潜能。采用三层前向网络,动态BP算法,达到了在线实时控制的目的。仿真结果表明:基于BP神经网络的PID控制较常规的PI控制具有较高的控制品质。
结束语经过几个月的努力,在导师的指导下,查阅了大量的文献和期刊,论文终于完成了。在这期间,新的知识被掌握,旧的知识得到了巩固。本论文从传统PID的介绍开始,到BP神经网络,对它们的基本结构和控制算法作了介绍。重点介绍了BP网络的算法。MATLAB仿真实例可以看出BP神经网络的作用。附录仿真程序%BPbasedPIDControlclearall;closeall;xite=0.25;alfa=0.05;S=2;%SignaltypeIN=4;H=5;Out=3;%NNStructureifS==1%StepSignalwi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2596;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];wo_1=wo;wo_2=wo;wo_3=wo;endifS==2%SineSignalwi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71760.8297-1.60000.2049;-0.08580.1925-0.63460.0347;0.43580.2369-0.4564-0.1324];wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.04380.54780.86820.14460.1537;0.17160.58111.12140.50670.7370;1.00630.74281.05340.78240.6494];wo_1=wo;wo_2=wo;wo_3=wo;endx=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;Oh=zeros(H,1);%OutputfromNNmiddlelayerI=Oh;%InputtoNNmiddlelayererror_2=0;error_1=0;ts=0.001;fork=1:1:6000time(k)=k*ts;ifS==1rin(k)=1.0;elseifS==2rin(k)=sin(1*2*pi*k*ts);end%Unlinearmodela(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';forj=1:1:HOh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));%MiddleLayerendK=wo*Oh;%OutputLayerforl=1:1:OutK(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));%Gettingkp,ki,kdendkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);ifu(k)>=10%Restrictingtheoutputofcontrolleru(k)=10;endifu(k)<=-10u(k)=-10;enddyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));%Outputlayerforj=1:1:OutdK(j)=2/(exp(K(j))+exp(-K(j)))^2;endforl=1:1:Outdelta3(l)=error(k)*dyu(k)*epid(l)*dK(l);endforl=1:1:Outfori=1:1:Hd_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);endendwo=wo_1+d_wo+alfa*(wo_1-wo_2);
%Hiddenlayerfori=1:1:HdO(i)=4/(exp(I(i))+exp(-I(i)))^2;endsegma=delta3*wo;fori=1:1:Hdelta2(i)=dO(i)*segma(i);endd_wi=xite*delta2'*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%ParametersUpdateu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=yout(k);wo_3=wo_2;wo_2=wo_1;wo_1=wo;wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4);subplot(311);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');subplot(312);plot(time,ki,'g');xlabel('time(s)');ylabel('ki');subplot(313);plot(time,kd,'b');xlabel('time(s)');ylabel('kd');
参考文献[1]黄金燕,葛化敏,唐明军.基于BP神经网络的PID控制方法的研究[J].微计算机信息,26:278-280,2006.[2]刘海军,何为,贾睿.基于神经网络的结构分析方法[J].工业仪表与自动化装置,8:52-55,2002.[3]赵浪涛.BP神经网络PID控制器研究[J].兰州工业高等专科学校学报,14(2):13-17,2007.[4]魏克新,王云亮,陈志敏等.MATLAB语言与自动控制系统设计[M].北京:机械工业出版社,2004.[5]刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003.[6]高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2003.[7]张建国.基于BP神经网络的PID控制器的研究与实现[J].机电技术,2:26-33,2004.[8]舒怀林.PID神经元网络及其控制系统[M].北京:国防工业出版社,2006.[9]朱海峰,杨志刚.基于BP神经网络整定的PID控制[J].国内外机电一体会技术,1:5-8,2006.[10]陈宇峰,蔡琴.基于BP神经网络的PID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (教研室)2023届山东省德州市、烟台市高考一模生物试题 附答案
- 春季农业生产全解析
- 年产8万套台球杆及台球桌项目可行性研究报告写作模板-申批备案
- 二零二五年度城市供水管网改造承包协议3篇
- 育婴护理知识培训课件
- 美容院财务知识培训课件
- 二零二五年度工业自动化生产线能源趸购电合同范本3篇
- 中国加入世界贸易组织纪念日
- 临床低钾血症护理查房
- 二零二五年度东莞市特色离婚协议书编制合同3篇
- 第一讲 马克思主义中国化时代化新的飞跃PPT习概论2023优化版教学课件
- 便携式血糖仪管理和临床操作规范
- 学校工作总结 学校工作总结美篇标题(15篇)
- 高三后期班级管理方法
- 《Windows 网络操作系统》-教学教案
- 2023年医院招聘护士考试试题及参考答案
- 花篮拉杆悬挑架培训课件
- GB/T 7597-2007电力用油(变压器油、汽轮机油)取样方法
- 新合同会签审批表
- GA 1517-2018金银珠宝营业场所安全防范要求
- 气体状态方程课件
评论
0/150
提交评论