一级倒立摆神经网络控制.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一级倒立摆神经网络控制

一、神经网络控制基本原理 1、神经网络控制理论基本概念 人工神经网络是由大量简单单元以及这些单元的分层组织大规模并行联结而成的一种网络,它力图像一般生物神经系统一样处理事物,实现人脑的某些功能。人工神经网络可以忽略过程或系统的具体物理参数,根据系统的运行或实验数据,建立输入和输出状态之间的非线性映射关系。半个多世纪以来,它在非线性系统、优化组合、模式识别等领域得到了广泛应用。神经网络具有如下特点: 1)具有自适应能力 它主要是根据所提供的数据,通过学习和训练,找出输入和输出间的内在联系,从而求得问题的解答,而不是依靠对问题的先验知识和规则,因而它具有很好的适应性。 2)具有泛化能力 泛化即用较少的样本进行训练,使网络能在给定的区域内达到要求的精度;或者说是用较少的样本进行训练,使网络对未经训练的数据也能给出合适的输出。同样它能够处理那些有噪声或不完全的数据,从而显示了很好的容错能力。对于许多实际问题来说,泛化能力是非常有用的,因为现实世界所获得的数据常常受到噪声的污染或残缺不全。 3)非线性映射能力 现实的问题是非常复杂的,各个因数之间互相影响,呈现出复杂的非线性关系。神经元网络为处理这些问题提供了有用的工具。 4)高度并行处理 神经网络处理是高度并行的,因此用硬件实现的神经网络的处理速度可远远高于通常计算机的处理速度。与常规的计算机程序相比较,神经网络主要基于所测量的数据对系统进行建模、估计和逼近,它可以应用于如分类、预测及模式识别等众多方面。如函数映射是功能建模的一个典型例子。和传统的计算机网络相比,神经网络主要用于那些几乎没有规则,数据不完全或多约束优化问题。例如用神经网络来控制一个工业过程便是这样一个例子。对于这种情况很难定义规则,历史数据很多且充满噪声,准确地计算是毫无必要的。某些情况下神经网络会存在严重的缺点。当所给数据不充分或存在不可学习的映射关系时,神经网络可能找不到满意的解。其次有时很难估计神经网络给出的结果。数据网络中的连接权系数是千万次训练后的结果,对它们的意义很难给出明确的解释。它们对于输出结果的影响也是非常复杂的。神经网络的训练很慢,而且有时需要付出严重的代价。这一方面是由于需要收集、分析和处理大量的训练数据,同时还需要相当的经验来选择合适的参数。 神经网络在实际应用时执行时间也是需要加以检验的。执行时间取决于连接权的个数,它大体和节点数的平方成正比。因此网络节点的少许增加可能引起执行时间的很大增长。人工神经网络BP算法网络模型由几层组成,各个层次之间的神经元相互连接,同一层内的各个神经元互不连接。 2、 BP算法 神经网络BP网络,是一种有隐含层的多层前馈网络,系统的解决了多层网络中隐含单元连接权的学习问题。BP学习算法的基本原理是梯度最速下降法,他的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出与期望输出值的误差均方值为最小。网络学习过程是一种误差边向后传播边修正权系数的过程。 BP算法特征可以描述如下: 1)工作信号正向传播:输入信号从输入层经隐含层,传向输出层,在输出端产生输出信号,这是工作信号的正向传播。在信号的向前传递过程中网络的权值是固定不变的,每一个神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转向误差信号的反向传播。 2)误差信号反向传播:网络的实际输出与期望输出之间的差值即为误差信号,误差信号由输出端开始逐层向前传播,这是误差信号的反向传播。在误差信号反向传播的过程中,网络的权值由误差反馈进行调节。通过权值的不断修正使网络的实际输出更接近期望输出。 二、一级倒立摆的神经网络控制 系统状态空间方程为: 输出方程 用MATLAB将状态方程转化成传递函数: A=[0 1 0 0;0 -0.0883 0.6293 0;0 0 0 1;0 -0.2357 27.8285 0]; B=[0;0.8832;0;2.3566]; C=[1 0 0 0;0 0 1 0]; D=[0;0]; [num,den]=ss2tf(A,B,C,D,1); [num,den]=ss2tf(A,B,C,D,1) num = 0 -0.0000 0.8832 -0.0000 -23.0951 0 -0.0000 2.3566 -0.0001 0 den = 1.0000 0.0883 -27.8285 -2.3089 0 1、样本选取 在matlab下输入slcp打开倒立摆控制模块,得到Fismatrix,然后在mfedit下导入,将其导入。通过views下rule选项打开图2-1。 图 2-1 采

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档