版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
仅供个人参考仅供个人参考不得用于商业用途不得用于商业用途仅供个人参考不得用于商业用途基于智能控制算法的二级倒立摆控制器设计第一章绪论倒立摆系统是一个典型的多变量、非线性、强耦合的自然不稳定系统。最近几年一直是控制领域研究的热点。对倒立摆系统的研究不仅具有很重要的理论意义,而且在研究双足机器人直立行走,火箭发射过程的姿态调整和直升机飞行控制领域中也有指导性的现实意义。本文围绕二级直线倒立摆系统,设计模糊控制器和神经网络控制器对二级倒立摆实现稳定控制。实物控制的成功进一步证明了本文所设计的控制器具有很好的稳定性和抗干扰性。主要研究工作如下:1)建立了二级倒立摆系统的数学模型,对倒立摆系统进行定性分析。证明了倒立摆系统开环是不稳定的,但在平衡点是可控的。同时,从相对可控度方面指出了二级倒立摆的相对可控度要比一级倒立摆小很多,更难以控制。2)二级倒立摆的模糊控制器设计。因为二级倒立摆的状态方程中有6个状态变量,所以模糊控制器的设计要求更高,要求它的输入维数不能太高,避免产生“规则爆炸”的问题。规则必须有效而且完整。为此,基于LQR最优二次理论,得出反馈矩阵,并以此构造出了降维矩阵,把状态变量进行有效的合并。最后,设计出了二级倒立摆的稳定模糊控制器,经过实物实验,成功的实现二级倒立摆的稳定控制。证明了本文所设计的二级倒立摆稳定模糊控制器的有效性。3)二级倒立摆的神经网络控制器基于实时控制时的样本数据,设计了BP网络,通过matlab对网络进行了训练,实验证明训练好的神经网络控制器有很强的适应性和抗干扰性能。4)二级倒立摆实物调试完成了对二级倒立摆实物的模糊控制和神经网络控制1.1倒立摆系统研究的意义倒立摆系统的研究涉及到机器人技术、控制理论、计算机控制等多个领域,其本身是一个绝对不稳定、高阶次、多变量、强耦合的非线性系统,作为一个典型的控制对象一直以来受到不少专家学者的关注与研究。人们试图通过倒立摆这样的一个典型对象,检验新的控制方法是否有较强的处理多变量、非线性和绝对不稳定系统的能力,从而从中找到最优秀的控制方法。倒立摆系统作为控制理论研究中的一个比较理想的实验手段,为自动控制理论的教学、试验和科研构建了一个良好的试验平台,以用来检验某种控制理论或方法的典型方案,促进了控制系统新理论、新思想的发展。由于控制理论的广泛应用,由此系统研究产生的方法和技术将在半导体及精密仪器加工、机器人控制技术、人工智能、导弹拦截控制系统、卫星飞行中的姿态控制和一般工业应用等方面具有广阔的利用开发前景。所以说,倒立摆系统的研究不仅具有深刻的理论意义,而且具有深远的现实价值。1.2倒立摆的控制算法多少年来,国内外不少专家学者对倒立摆进行了大量的研究,人们试图寻找不同的控制方法实现对倒立摆的控制。用经典控制理论的频域法设计非最小相位系统的控制器并不需要十分精确的对象数学模型,因为只要控制器使系统具有充分大的相位裕量,就能获得系统的参数很宽范围内的稳定性。一级倒立摆系统的控制对象是一个单输入(外力)两输出(角度和位移)的系统。根据对系统的力学分析,应用牛顿第二定律,建立小车在水平方向运动和摆杆旋转运动的方程,并经过线性化、拉氏变换后得出传递函数,从而得到零、极点分布情况,根据使闭环系统能稳定工作的思想设计控制器。为此,需要引入适当的反馈,使闭环系统特征方程的根都位于左平面上。但是,由于经典控制理论本身的局限性,它只能用来控制一级倒立摆,对于复杂的二级、三级倒立摆却无能为力。用现代控制理论控制倒立摆的平衡,主要是用状态反馈来实现的。状态反馈控制是通过对倒立摆物理模型的分析,建立倒立摆的数学模型,再用状态空间理论推出状态方程和输出方程,然后利用状态反馈和kalman滤波相结合的方法,实现对倒立摆的控制。目前主要有三种状态反馈的方法来设计倒立摆控制器,即极点配置调节器的方法、LQR最优调节器的方法和LQY最优调节器的方法,试验表明,用这三种方法不仅对一级倒立摆可以成功的控制,二级倒立摆的控制效果也不错。1976年,Mori等人首先将倒立摆系统在平衡态局部邻域内线性化,然后利用状态空间方法设计出比例微分控制器,控制单级倒立摆取得了很好效果。模糊控制理论控制倒立摆是智能控制算法中研究较多的一种。根据模糊控制理论所设计出来的控制器是一种非线性控制器,对非线性系统具有很好的控制效果。模糊控制是采用模糊化、模糊推理、解模糊等运算的模糊控制方法,其主要工作是模糊控制器的设计。关键点在于模糊规则的制定。由于倒立摆是一个多变量、非线性、不稳定、强耦合的复杂系统,尽管理论上的一级、二级倒立摆数学模型已经推导出来,但其数学模型很难精确的反映实际系统,所以经典控制理论和现代控制理论的方法控制倒立摆都不是特别理想。目前,很多国内外学者对倒立摆的研究集中在智能控制领域。1996年,张乃尧等采用模糊双闭环控制方案成功的实现对一级倒立摆的稳定控制。1997年,,具有系统结构简单对硬件依赖小的特点。神经网络控制理论也是一种智能控制算法。它能够任意充分的逼近复杂的非线性关系,NN学习能够学习和适应严重不确定性系统的动态特性,所有定量与定性的信息都等势分布贮于网络内的各种神经元,故有很强的鲁棒性和容错性。用神经网络方法来实现倒立摆的平衡控制,迄今已经取得了不少成果。1983年Barto等人设计了两个单层神经网络,采用AHC(AdaptiveHeuristicCritic)学习算法实现了状态离散化的倒立摆控制。1989年,Anderson进一步用两个双层神经网络和AHC方法实现了状态未离散化的倒立摆平衡控制。Peng通过将状态离散化成为162个区域,用Lookup表示Q值的方法实现了基于Q学习算法的倒立摆平衡控制。将Q学习算法和BP神经网络有效结合,实现了状态未离散化的倒立摆的模型学习控制。智能控制理论中还包括拟人控制算法、变结构控制算法等。不同的算法的结合使得控制力更加强大。1994年,北京航空航天大学张民廉教授将人工智能与自动控制理论相结合,提出“拟人智能控制理论”,实现了用单电机控制三级倒立摆实物。北京示范大学李洪兴教授采用变论域自适应模糊控制理论研究四级倒立摆的控制问题,成功实现了四级倒立摆实物系统控制。1.3论文主要工作本论文的主要工作是研究了二级直线倒立摆系统的模糊控制和神经网络控制问题。分别设计出了二级倒立摆的模糊稳定控制器和神经网络控制器。用Matlab和Simulink对模糊控制系统和神经网络系统进行了仿真研究,然后通过调试实现了倒立摆实物系统的控制。具体内容如下:(1)初步了解目前倒立摆的研究现状以及研究热点,认识到了随着控制理论的不断发展和完善,智能控制器越来越受到专家学者的关注。(2)具体介绍了倒立摆的种类以及它自身的一些特点,掌握了倒立摆控制系统的软硬件配置。(3)详细论述了二级倒立摆的数学建模,推导出它的微分方程,以及线性化后的状态方程,并且分析倒立摆系统的可控性及其可控性指数。(4)认真理解了模糊控制理论的原理及其模糊控制器的设计步骤,对模糊控制算法有了很深的认识。(5)针对二级倒立摆系统,讨论了倒立摆系统的模糊控制方法。以LQR理论为基础,把状态方程中的状态变量进行有机的整合,降低模糊控制器的输入维数。同时,根据得到的数据推算出模糊控制器的模糊规则,并设计出模糊稳定控制器。通过仿真以及后期调试,最后成功的把二级倒立摆实物稳定在倒立平衡位置。从而验证了所设计控制器的有效性。(6)介绍了神经网络的基础理论,分析了把神经网络用于控制二级倒立摆系统的可行性。详细介绍了二级倒立摆神经网络控制器的设计和实现,完成了实物的调试。(7)对论文的工作进行总结。第二章倒立摆系统2.1倒立摆分类倒立摆按结构来分,有以下类型:(1)直线倒立摆系列直线倒立摆是在直线运动模块上装有摆体组件,直线运动模块有一个自由度,小车可以沿导轨水平运动,在小车上装载不同的摆体组件,可以组成很多类别的倒立摆,直线柔性倒立摆和一般直线倒立摆的不同之处在于,柔性倒立摆有两个可以沿导轨滑动的小车,并且在主动小车和从动小车之间增加了一个弹簧,作为柔性关节。(2)环形倒立摆系列环形倒立摆是在圆周运动模块上装有摆体组件,圆周运动模块有一个自由度,可以围绕齿轮中心做圆周运动,在运动手臂末端装有摆体组件,根据摆体组件的级数和串连或并联的方式,可以组成很多形式的倒立摆。(3)平面倒立摆系列平面倒立摆是在可以做平面运动的运动模块上装有摆杆组件,平面运动模块主要有两类:一类是XY运动平台,另一类是两自由度SCARA机械臂。按倒立摆的级数来分:有一级倒立摆、两级倒立摆、三级倒立摆和四级倒立摆,一级倒立摆常用于控制理论的基础实验,多级倒立摆常用于控制算法的研究,倒立摆的级数越高,其控制难度更大,目前,可以实现的倒立摆控制最高为四级倒立摆。2.2倒立摆的特性虽然倒立摆的形式和结构各异,但所有的倒立摆都具有以下的特性:(1)非线性倒立摆是一个典型的非线性复杂系统,为了方便研究,可以通过线性化得到系统的近似模型,线性化处理后再进行控制。也可以利用非线性控制理论对其进行控制。倒立摆的非线性控制正成为一个研究的热点。(2)不确定性倒立摆的主要误差来自于模型误差,机械传动间隙以及各种阻力。实际控制中一般通过减少各种误差来降低不确定性,如通过施加预紧力减少皮带或齿轮的传动误差,利用滚珠轴承减少摩擦阻力等不确定因素。(3)耦合性倒立摆的各级摆杆之间,以及和运动模块之间都有很强的祸合关系,在倒立摆的控制中一般都在平衡点附近进行解耦计算,忽略一些次要的耦合量。(4)开环不稳定性倒立摆的平衡状态只有两个,即在竖直向上的状态和竖垂直向下的状态。其中垂直向上为绝对不稳定的平衡点,垂直向下为稳定的平衡点。(5)约束限制由于机构的限制,如运动模块行程限制,电机力矩限制等。为了制造方便和降低成本,倒立摆的结构尺寸和电机功率都尽量要求最小,行程限制对倒立摆的摆起影响尤为突出,容易出现小车的撞边现象。2.3倒立摆控制系统本文中研究的被控对象是固高公司的型号为GLIP2001的直线倒立摆控制系统,主要包括倒立摆系统(倒立摆本体)、电控箱及由运动控制卡和PC机组成的控制平台三大部分,如图2.1所示。图2.1直线倒立摆硬件组成示意图直线倒立摆控制系统硬件包括计算机、运动控制卡、伺服系统、倒立摆和光电码盘反馈测量元件等几大部分,组成一个闭环系统,如图2.2所示。图2.2直线二级倒立摆组成框图光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,下面一节摆杆(和小车相连)的角度、角速度信号由光电码盘2反馈回控制卡和伺服驱动器,上面一节摆杆的角度和角速度信号则由光电码盘3反馈。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持两节摆杆的平衡。(1)倒立摆本体(系统)图2.3直线倒立摆本体结构图2.3所示为直线二级倒立摆的实物图。二级倒立摆装置由沿导轨运动的小车和通过转轴固定在小车上的摆体组成。在轨道一端装有用来测量小车位移的光电编码器。摆体与小车之间、摆体与摆体之间由转轴连接,并在连接处分别装有一个光电编码器,分别用来测量一级摆和二级摆的角度。两根摆杆可以绕各自的转轴在水平导轨所在的铅垂面内自由转动,而小车则由交流伺服电机驱动,通过皮带轮在同步传动带的带动下在水平导轨上左右运动,从而使倒立摆稳定在竖直向上的位置,完成对倒立摆的稳定控制。倒立摆系统的主要硬件设备如下。1.编码器旋转编码器是一种角位移传感器,它分为光电式、接触式和电磁感应式三种,其中光电式脉冲编码器是闭环控制系统中最常用的位置传感器。图2.4光电编码器原理示意图旋转编码器有增量编码器和绝对编码器两种,图2.4为光电式增量编码器示意图,它由发光元件、光电码盘、光敏元件和信号处理电路组成。当码盘随工作轴一起转动时,光源透过光电码盘上的光栏板形成忽明忽暗的光信号,光敏元件把光信号转化成电信号,然后通过信号处理电路的整形、放大、分频、记数、译码后输出。为了测量出转向,使光栏板的两个狭缝比码盘两个狭缝距离小1/4节距,这样两个光敏元件的输出信号就相差n/2相位,将输出信号送入鉴向电路,即可判断码盘的旋转方向。光电式增量编码器的测量精度取决于它所能分辨的最小角度a(分辨角、分辨率),而这与码盘圆周内所分狭缝的线数有关。其中n为编码器线数。由于光电式脉冲编码盘每转过一个分辨角就发出一个脉冲信号,因此,根据脉冲数目可得出工作轴的回转角度,由传动比换算出直线位移距离;根据脉冲频率可得工作轴的转速;根据光栏板上两条狭缝中信号的相位先后,可判断光电码盘的正、反转。由于光电编码器输出的检测信号是数字信号,因此可以直接进入计算机进行处理,不需放大和转换等过程,使用非常方便,因此应用越来越广泛。对于线数为n的编码器,设信号采集卡倍频数为m,则有角度换算关系为:式中∅为编码器轴转角;N为编码器读数2.交流伺服电机交流伺服电机没有电刷和换向器,不需维护,也没有产生火花的危险。驱动电路复杂,价格高。按结构分为同步电机和异步电机,转子是由永磁体构成的为同步电机,转子是由绕组形成的电磁铁构成的为异步电机。控制方式分为电压控制和频率控制两种方式,异步电机通常采用电压控制方式。电机型号:MSMA022A1G—额定输出功率(RATEDOUTPUT)0.2KW,额定频率(RATEDFREQ)200HZ,额定转速(RATEDREV.)3000r/min。(2)电控箱电控箱主要完成驱动和转接的功能,内安装有如下硬件:交流伺服驱动器(如图2.5(a)所示)、I/O接口板(运动控制器的端子板)(如图2-5(b)所示)、直流电源、开关、指示灯等电器元件。(a)松下交流伺服电机驱动器(b)I/O接口板图2.5交流伺服驱动器交流伺服电机驱动器型号为:MSDA023A1A—表示适用于小惯量电机,额定输入电压:100-115V,额定电流:1.0A,电机额定输出为30W,增量式旋转编码器(脉冲数2400P/r、分辨率17bits、引出线11线)。(3)运动控制器运动控制器的型号种类有很多,它以IBM-PC及其兼容机为主机,提供了标准的ISA总线(PC104)和PCI总线两个系列的产品。固高直线倒立摆采用的是GT系列的运动控制器,它采用高性能的DSP和FPGA技术。基于DSP技术的运动控制器,可以同步控制四个运动轴,实现多轴协调运动。其核心由数字信号处理器ADSP2181和FPGA组成,可以实现高性能的控制计算;运动方式可为单轴点位运动、直线/圆弧插补、速度控制等;网络接口可为以太网、RS232或RS422/485,适合标准ISA,PC104和PCI总线;控制电机可以是伺服或步进电机;控制方式可为闭环或开环控制,其控制周期用户可调,看门狗实时监控DSP工作状态;输出方式采用模拟量输出或脉冲输出,模拟量输出-10V~+10V,脉冲量输出最高输出1MHz,同时设置跟随误差极限、加速度极限及控制输出极限。MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,它在许多科学领域中称为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。RTW(Real-TimeWorkshop)是MathWork系列软件的重要组成部分。RTW与MATLAB其它组成软件的无缝连接,既满足了设计者在系统概念与方案设计等方面的需求,也为系统的技术实现或完成不同功能的系统实时操作实验提供了方便,并且为并行工程的实现创造了一个良好的环境。RTW是MATLAB图形建模和仿真环境Simulink的一个重要的补充功能模块,提供了一个实时的开发环境—从系统设计到硬件实现的直接途径。使用RTW进行实时硬件的设计,用户可以缩短开发周期,降低成本。RTW可以将模型自动转换为代码,在硬件上运行动态系统的模型,同时还支持基于模型的调试。RTW十分适用于加速仿真过程、形成完善的实时仿真解决途径和生成产品级嵌入式实时应用程序。在MATLAB下实现硬件在回路实时仿真,一般可以通过两种渠道来完成。第一种方式是WINDOWS方式实时仿真。如图2.6表示,是在MATLAB环境中调用硬件系统关于接口的动态链接文件,使硬件设备能够和基于WINDOWS操作系统的MATLAB进行数据交换,然后在通过软件的编制将这些数据集成到Simulink中。第二种方式是MATLAB实时内核方式,如图2.7所示,是利用MATLAB的实时工具箱RTW进行硬件在回路仿真,通过目标链接的方式和Simulink联系在一起,通过单独的实时内核的方式驱动外部硬件设备,完成系统实时控制。图2.6WINDOWS方式图2.7MATLAB实时内核方式对于第一种方式,理论上能够完成硬件在回路仿真的任务,而且目前大多数外部设备制造商都向客户提供其产品基于WINDOWS平台的驱动程序,实现起来并不复杂。但是由于WINDOWS操作系统任务执行频率不够高,并不能保证应用程序在实时情况下运行,因为其不能保证程序在必要时比其它进程抢先。关于第二种方式,采用MATLAB的实时工具箱RTW(Real-TimeWorkshop)实现控制任务,专用的实时内核代替WINDOWS操作系统接管了实时控制任务,内核任务执行的最小周期是1ms,大大地提高了系统的实时性。对于实时控制像倒立摆这样对实时性要求非常之高的对象而言,能否达到控制效果是个问题。在WINDOWS平台上进行实时仿真实验,如果实验效果不太理想,很难说明到底是因为算法结构或参数设计不当的原因还是因为该平台实时性达不到要求的原因。所以采用第二种方式,专用的实时内核代替Windows操作系统接管了实时控制任务。硬件环境:IBM兼容微机(含两个PCI插槽);基本运行配置:CPUPIII,1G、内存128M、固高运动控制器;软件环境:实控软件可工作在Windows2000和WindowsXP等操作系统环境下,系统运行时需要MATLAB6.5,MATLAB/Simulink5.0、MATLAB/Real-TimeWorkshop,MATLAB/Real-TimeWindowsTarget以及VisualC/C++等软件支持。Real-TimeWindowsTarget是RTW的附加产品,可将Intel80x86/Pentiurn计算机或PC兼容机转变为一个实时系统,既作为主机又作为目标机,而且支持许多类型的I/O设备板卡(包括ISA和PCI两种类型)。用户只需要安装相关的软件、一个编译器和I/O设备板卡,就可将一个PC机用作实时系统并通过I/O设备与外部设备进行连接。而且内核任务执行的最小周期是alms,可以满足倒立摆的实时性控制的要求。第三章倒立摆系统建模及其定性分析为了研究倒立摆系统的稳定控制问题,首先需要建立倒立摆的数学模型。这是对该系统进行仿真的必要前提。系统建模可以分为两种:实验建模和机理建模。实验建模就是通过在研究对象上加上一系列的研究者事先确定的输入信号,激励研究对象并通过传感器检测其输出,应用数学手段建立起系统的输入输出关系。这里面包括输入信号的设计选取,输出信号的精确检测,数学算法的研究等等内容。机理建模就是在了解研究对象的运动规律基础上,通过物理、化学的知识和数学手段建立起系统内部的输入输出状态关系。3.1直线二级倒立摆的数学模型考虑到牛顿力学建模需要对许多微分方程进行处理,在进行二级倒立摆建模时,大量微分方程的运算会使建模变得很复杂,所以本文采用分析力学中的Lagrange方程建模。二级倒立摆的模型如图3.1所示。图3.1直线二级倒立摆模型首先,对该系统做如下假设:1)小车、一级摆杆和二级摆杆都是刚体。2)皮带轮与同步带之间无相对滑动,且同步带不会拉伸变长。3)小车与导轨之间的摩擦力与小车速度成正比。4)各级摆杆与转轴间的转动摩擦力矩与摆杆的角速度成正比。本次控制系统采用的二级倒立摆各物理参数取值如表3.1所示:表3.1直线二级倒立摆系统参数符号含义实际系统参数M小车质量1.32KGm1下摆杆质量0.04KGm2上摆杆质量0.132KGm3质量块质量0.208KGθ1下摆摆杆与垂直向上方向的夹角θ2上摆摆杆与垂直向上方向的夹角l1下摆摆杆转动中心到摆杆质心的距离0.09ml2上摆摆杆转动中心到摆杆质心的距离0.27mF作用在小车上的外力利用Lagrange方程推导运动学方程:Lagrange方程为:(3-1)其中,L为拉格朗日算子,q为系统的广义坐标,T为系统的动能,V为系统的势能。(3-2)其中,i=1,2,3...n,fi为系统在第i个广义坐标上的外力,在二级倒立摆系统中,系统有三个广义坐标,分别为x,θ1,θ2。1)系统总动能:T=T0+T1+T2+T3其中,小车的动能:一级摆动能:二级摆动能:质量块动能:2)系统总势能:V=V0+V1+V2+V3其中,小车势能:V0=0一级摆势能:V1=m1gl1cosθ1二级摆势能:V2=m2g(2l1cosθ1+l2cosθ2)质量块势能:V3=2m3gl1cosθ1根据所得到的系统总动能T和系统总势能V,代入式(3-1)可以求出拉格朗日算子L,得:因为系统在广义坐标θ1,θ2上均无外力作用,所以以下方程组成立:(3-3)对拉格朗日算子L进行处理,得:对于方程组(3-4),关于,求解,得:=P/Q(3-5)其中,(3-6)其中,式(3-5)和式(3-6)可表示成以下形式:(3-7)(3-8)在平衡位置附近进行泰勒级数展开,并线性化,可以得到:(3-9)其中,(3-10)其中,对于二级倒立摆系统,取以下六个变量为系统的状态变量:并且取小车加速度为输入变量,即:那么,由式(3-9)和式(3-10)可以得到系统的状态空间表达式:(3-11)3.2倒立摆系统的定性分析在得到系统的数学模型后,为了进一步的了解系统性质,需要对系统的特性进行分析,最主要的是系统的稳定性、可控性和可观性。直观上,摆杆竖直向上系统是不稳定的。其稳定性分析可以用李亚普诺夫稳定性理论。对于系统在平衡点附近的稳定性可以根据前面得到的系统线性模型来分析。因为需要设计控制器来镇定系统,那么首先要考虑系统是否可控。在进行分析前,先介绍线性控制理论中几个关于可控性、可观性的判定定理。定理1(可控性判据):n阶线性定常连续系统状态完全可控,当且仅当系统的可控性矩阵:满秩,即rank(S}=n。特别的,当输入控制量u(t)为标量时,可控性矩阵s为方阵;rank(s)=n等价于S的行列式值det(S)≠0。定理2(可观性判据):n阶线性定常连续系统状态完全可观,当且仅当系统的可观性矩阵:满秩,即rank(V)=n。特别的,当输出量y(t)为标量时,可观性矩阵V为方阵:rank(V)=n等价于V的行列式值det(V)≠0。为了衡量系统控制器设计的难度,或者说衡量系统本身可控性的相对程度,一般称之为相对可控性,可通过计算可控性矩阵的奇异值b来判断。对于一个实矩阵A(m×n阶),如果可以分解为A=USV',其中U和V为分别为m×n与n×m阶正交阵,S为n×n阶对角阵,记为S=diag(a1,a2,...,ar,0,...,0)。其中,a1,a2,...,ar大于或等于零。那么al,a2,...,ar称为矩阵A的奇异值。U和V称为左右奇异阵列。定理3(相对可控性判据):线性定常连续系统,矩阵A的最小奇异值与最大奇异值的比值为系统的相对可控度,记作δ。如果δ的值越大,说明系统的相对可控度越高,对该系统就越容易控制。相反,δ越小,系统越不容易被控制。3.2.3二级倒立摆系统定性分析对二级倒立摆进行分析,使用MATLAB中的dg()命令得系统开环特征为(10.04385.0262-10.0438-5.026200)因为系统有两个根在S平面的右半平面上,所以系统是不稳定的。根据,通过MATLAB中的rank()命令可以分别求得rank(S)=6和rank(V)=6。所以,系统完全可控并且完全可观测。可以对系统进行控制器的设计,使系统稳定。根据二级倒立摆状态方程(3-11),利用MATLAB中的命令[U,S,V]=svd(A),对A矩阵进行奇异值分解,得到A矩阵的奇异值阵S。二级倒立摆的相对可控度:δ=1/102.7083=0.0097。第四章模糊控制理论模糊控制理论是美国加利福尼亚set”一文,首次提出了模糊集合的概念。用模糊集合来描述模糊事物的概念,很快被科技工作者所接受。40多年来,模糊数学及其应用发展十分迅速。1974年,英国的Mamdani首先把模糊理论应用于工业控制,取得了良好的控制效果。从此,模糊控制理论及其模糊控制系统的应用发展很快,在控制领域展现出广阔的前景。模糊控制具有如下主要特点:(1)在设计系统时不需要建立被控对象的数学模型,只要求掌握现场操作人员或者有关专家的经验、知识或者操作数据。(2)模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定性的、定量的条件语句。(3)与传统控制方法相比,模糊控制更接近于人的思维方法和推理习惯。因此,更便于现场操作人员的理解和使用,从而得到更为有效的控制规律。(4)模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。在生产实践中,存在着大量的模糊现象,对于那些无法获得数学模型或模型复杂的、非线性的、时变的或者祸合严重的系统,无论用经典控制,还是用现代控制理论的算法都很难实现控制。但是,一个熟练的操作工人或技术人员,凭借自己的经验,靠眼、耳等“传感器”的观察,经过大脑的思维判断给出控制量,可以用手动操作,达到了较好的控制效果。例如,对于一个炉温控制系统,人的控制规则是,若温度高于某一设定值,操作者就减小控制量,使之降温,并且温度越高,控制量就减得越多:反之,若温度低于该设定值,则加大控制量,使之升温,并且温度越低,控制量就增加得越多。该例中包含了大量得模糊概念,如“高于”、“低于”、“越高”、“越低”、“越多”等等。因此,操作者得观察和思维判断过程,实际上就是一个模糊化或模糊计算的过程。把人的操作经验归纳成一系列的规则,存放于计算机中,利用模糊集理论将它量化,使控制器模仿人的操作策略,这就是模糊控制器,而用模糊控制器组成的系统就是模糊控制系统。4.1模糊控制器的基本原理模糊控制器的结构如图4.1所示。控制器由4个基本部分组成,即模糊化接口、知识库、推理机、解模糊接口。图4.1模糊控制器结构图1)模糊化将输入变量的实际论域变换到相应的模糊论域,将输入数据转换成合适的语言值,fPB,PM,PS,ZO,NS,NM,NB}表示{“正大”,“正中”,“正小”,“零”,“负小”,“负中”,“负大”}。2)知识库知识库包含应用领域的知识和控制目标,它由数据和模糊语言控制规则组成如:IFEisA,ANDECisB,THENUisC,其中,E,EC是控制对象状态变量的误差量,U是对控制对象的控制变量。3)推理机推理是从一些模糊前提条件推导出某一结论。目前模糊推理方法有很多种,其中最常用的是Mamdani的max-min的合成法,具体如下。当把知识库中的Ai、Bi、Ci的空间分作X、Y、Z论域时,可以得到每条控制规则的关系:(4-1)Ri的隶属度函数为(4-2)全部控制规则所对应的模糊关系,用取并的方法得到,即(4-3)R的隶属函数为(4-4)当输入变量E,EC分别取模糊集A,B时,控制器的输出(控制量)U可根据模糊推理合成得到:(4-5)U的隶属函数为(4-6)4)解模糊解模糊的方法有重心法、最大隶属度法、中位数方法等,其中较常用的是重心法,也即控制量可由输出Ui的隶属度函数加权平均得到,计算公式为(4-7)4.2模糊控制器设计步骤模糊控制器一般是靠软件编程实现的,实现模糊控制一般设计步骤如下:(1)确定模糊控制器的输入变量和输出变量(即控制量);(2)设计模糊控制器的控制规则;(3)进行模糊化和解模糊化;(4)选择模糊控制器的输入变量及输出变量的论域,并确定模糊控制器的参数(如量化因子、比例因子);(5)编制模糊控制算法的应用程序;第五章神经网络基础理论5.1神经网络BP控制算法人工神经网络(ANN)是由大量简单单元以及这些单元的分层组织大规模并行联结而成的一种网络,它力图像一般生物神经系统一样处理事物,实现人脑的某些功能。人工神经网络可以忽略过程或系统的具体物理参数,根据系统的运行或实验数据,建立输入和输出状态之间的非线性映射关系。半个多世纪以来,它在非线性系统、优化组合、模式识别等领域得到了广泛应用。自从80年代以来,神经网络的研究出现了突破性的进展。神经网络作为揭开人脑生理机制的一个重要的手段越来越引起各行各业科学家的浓厚兴趣。神经网络的发展简史如下:时间贡献者ANN模型1943McCuiiochM--P模型1957Rosenblatt感知器(Percentron)1962Widrow自适应线性元件(Adaline)1969Minsky《Perceptrons》1972Fukushima认知机模型1974-1985Rumelhart等反传模型,B-P算法1978Grossberg自适应共振理论(ART)1980Kohonen自组织映射1982Hopfield反馈网络1985Hinton等玻尔兹曼机1986Hecht-Nielsen对传模型1988Chua-Yang细胞网络模型5.1.1神经网络特点(1)具有自适应能力它主要是根据所提供的数据,通过学习和训练,找出输入和输出间的内在联系,从而求得问题的解答,而不是依靠对问题的先验知识和规则,因而它具有很好的适应性。(2)具有泛化能力泛化即用较少的样本进行训练,使网络能在给定的区域内达到要求的精度;或者说是用较少的样本进行训练,使网络对未经训练的数据也能给出合适的输出。同样它能够处理那些有噪声或不完全的数据,从而显示了很好的容错能力。对于许多实际问题来说,泛化能力是非常有用的,因为现实世界所获得的数据常常受到噪声的污染或残缺不全。(3)非线性映射能力现实的问题是非常复杂的,各个因数之间互相影响,呈现出复杂的非线性关系。神经元网络为处理这些问题提供了有用的工具。(4)高度并行处理神经网络处理是高度并行的,因此用硬件实现的神经网络的处理速度可远远高于通常计算机的处理速度。与常规的计算机程序相比较,神经网络主要基于所测量的数据对系统进行建模、估计和逼近,它可以应用于如分类、预测及模式识别等众多方面。如函数映射是功能建模的一个典型例子。和传统的计算机网络相比,神经网络主要用于那些几乎没有规则,数据不完全或多约束优化问题。例如用神经网络来控制一个工业过程便是这样一个例子。对于这种情况很难定义规则,历史数据很多且充满噪声,准确地计算是毫无必要的。某些情况下神经网络会存在严重的缺点。当所给数据不充分或存在不可学习的映射关系时,神经网络可能找不到满意的解。其次有时很难估计神经网络给出的结果。数据网络中的连接权系数是千万次训练后的结果,对它们的意义很难给出明确的解释。它们对于输出结果的影响也是非常复杂的。神经网络的训练很慢,而且有时需要付出严重的代价。这一方面是由于需要收集、分析和处理大量的训练数据,同时还需要相当的经验来选择合适的参数。神经网络在实际应用时执行时间也是需要加以检验的。执行时间取决于连接权的个数,它大体和节点数的平方成正比。因此网络节点的少许增加可能引起执行时间的很大增长。人工神经网络BP算法网络模型由几层组成,各个层次之间的神经元相互连接,同一层内的各个神经元互不连接。5.1.2BP算法BP算法特征可以描述如下:(1)工作信号正向传播:输入信号从输入层经隐含层,传向输出层,在输出端产生输出信号,这是工作信号的正向传播。在信号的向前传递过程中网络的权值是固定不变的,每一个神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望的输出,则转向误差信号的反向传播。(2)误差信号反向传播:网络的实际输出与期望输出之间的差值即为误差信号,误差信由输出端开始逐层向前传播,这是误差信号的反向传播。在误差信号反向传播的过程中,网络的权值由误差反馈进行调节。通过权值的不断修正使网络的实际输出更接近期望输出。以含有两个隐含层的BP网络为例,如下图所示,具体介绍BP算法。BP算法基本流程图如图(5-1)所示:图5.1BP算法流程图图5.2神经网络设输入层有M个输入信号,其中任一个输入信号用m表示;第1隐层有I个神经元,其中任一神经元用i表示;第2隐层有J个神经元,其中任一神经元用j表示;输出层有P个神经元,其中任一神经元用p表示。如上图(5.2)所示。输入为;输出为加权矩阵依次为域值向量依次为;神经元的输入用u表示,激励输出用v表示,u、v的上标表示层,下标表示层中的某个神经元,如表示第一隐层的第个神经元的输入。设n为迭代次数,权值和实际输出是n的函数。由工作信号的正向传播过程可得:第一层输入:;第一层输出为:;第二层的输出为:;输出层输出为:;对于一个给定的输入X,期望输出为;输出层第p个神经元的误差信号为,定义神经元的误差能量为,则输出层所有神经元的的误差能量总和为:(5-1)误差信号从后向前传递,在反向传播过程中,逐层修改连接权值,下面计算误差信号的反向传播过程:(1)第二隐层与输出层之间的权值修正量。BP算法中权值的修正量与误差与权值的偏微分成正比.即:成正比因为(5-2)又则(5-3)设局部梯度(5-4)的修正量为上式中,是学习步长,可由式(5-4)求得,可由信号的正向传播过程求得。则下一次迭代时第二隐含层上任一节点与输出层上任一节点之间的权值为(5-5)(2)第一隐层与第二隐层之间的权值修正量:(5-6)与式(3.4)相类似,局部梯度为(5-7)因为(5-8)又则(5-9)由式(5-8)和式(5-9)得(5-10)将式(5-4)代入上式得式中可由式(5-4)求得。为第二隐层与输出层之间的任一节点之间的权值,已由式(5-5)求得。所以(5-11)则下一次迭代时,第一隐层上任一节点与第二隐层任一节点之间的权值为:(5-12)(3)与第一隐层和第二隐层间的权值修正量推导方法相同,输入层上任一节点与隐层上任一节点之间的权值修正量为(5-13)其中(5-14)式中可由式(5-9)求得。为第一隐含层与第二隐含层之间任一节点之间的权值,已经由式(5-12)求得。则下一次迭代时,输入层上任一节点与第一隐含层上任一节点之间的权值为由上面的BP算法可知影响BP算法的因素:①权系数的初值:随机选较小的值,尽量均匀覆盖权值空间,避免出现初始权值相同的情况。②学习方式:增量型学习方法效果好,累积型学习方法速度快。③激励函数:非减可微函数。可通过调节Sigmoid函数的斜率或采用其它激励单元来改善网络的学习性能。④学习速率:学习速率小,训练速度慢;学习速率大,训练速度快,可能出现振荡现象。5.2BP网络的设计要设计一个神经网络必须综合考虑各方面的因素,如网络的层数,每层的神经元的个数,层与层间的转换函数,网络的初始权值,网络学习速率的选取等。只有这些参数选择好了,才可以训练网络。下面介绍各因素的选择原则如下:(1)网络的层数增加层数主要可以更进一步地降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。一般情况下,应优先考虑增加隐含层中的神经元数。能不能仅用具有非线性激活函数的单层网络来解决问题呢?结论是:没有必要或效果不好。(2)隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐含层要简单得多。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。(3)初始权值的选取一般取初始权值在(-1,1)之间的随机数。(4)学习速率的选取学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定。小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间。(5)期望误差的选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值。这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定,因为较小的期望误差值是要靠增加隐含层的节点,以及训练时间来获得的。一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络。5.3训练神经网络的具体的步骤(1)产生数据样本集为了成功地开发出神经网络,产生数据样本集是第一步,也是十分重要和关键的一步。这里包括原始数据的收集、数据分析、变量选择和数据的预处理,只有经过这些步骤后,才能对神经网络进行有效的学习与训练。首先要在大量的原始测量数据中确定出最主要的输入模式。例如,两个输入具有很大的相关性,则只要取其中一个作为输入,这就需要对原始数据进行充分统计分析,检验他们之间的相关性。又如工业过程中可能记录了成百上千个压力、温度和流量数据。这时就需要对他们进行相关性分析,找出其中一二个最主要的量作为输入。在确定最主要的输入量后,需要进行尺度变换和预处理。尺度变换常常将他们变换到[-11]或[01]的范围。在进行尺度变换前必须先检验是否存在数据异常点(或称野点),这些点必须剔除。通过对数据的预处理分析还可以检验其是否具有周期性、固定变化趋势或其它关系。对数据进行预处理就是要使得经变化的数据对于神经网络更容易学习和训练。例如在过程控制中,采用温度的增量导数比用温度值本身更能说明问题,也更容易找出数据间的实质联系。在进行数据预处理时主要用到信号处理或特征抽取技术。如计算数据的和、差、倒数、乘幂、求根、对数、平均、滑动平均以及傅立叶变换等。甚至于神经网络本身也可以作为数据预处理的工具,为另一个神经网络准备数据。对一个复杂问题应该选择多少数据,这也是一个很关键的问题。系统得输入输出关系就包含在这些数据样本中。所以一般来说,取得的数据越多,学习和训练的结果就越能准确反映输入和输出之间的关系。但是选太多的数据将会增加收集、分析数据以及网络训练所付出的代价。当然选太少的数据将可能得不到正确的结果。事实上数据的多少取决于许多的因素,如网络的大小、网络测试的需要以及输入输出的分布等。其中网络大小最关键。通常较大的网络需要较多的训练数据。一个经验规则是:训练模式应该是连接权总数的5至10倍。在神经网络训练完成以后,需要有另外的测试数据来对网络加以验证,测试数据应该是独立的数据集合。最简单的是:将收集到的可用数据随机地分成两部分,譬如说其中的三分之二用于网络的训练,另外的三分之一用于将来的测试,随机选取的目的是为了尽量减少这两部分数据的相关性。影响数据大小的另外一个因素是输入模式和输出结果的分布,对数据进行预先加以分类可以减少所需的数据量。相反数据稀薄不均甚至互相覆盖势必要增加数据量。(2)确定网络类型和结构在训练网络之前,首先要决定所选用的网络类型。若主要用于模式分类尤其是现行可分情况,则可以选用较为简单的感知器网络;若主要用于函数估计,则可以用BP网络。实际上需要根据问题的性质和任务要求来合适的选择网络类型。一般是从已有的网络类型中选择一种比较简单的又能满足要求的网络,若新设计一个网络类型来满足问题的要求往往比较困难。在网络的类型确定后,剩下的问题就是选择网络的结构和参数。以BP网络为例,需选择网络的层数、每层的节点数、初始权值、域值、学习算法、数值修改频度、节点变换函数及参数、学习速率及其动量因子等参数。这里有些项的选择需要指导性的原则,但更多的是通过经验和试凑。对于具体问题若确定了输入和输出变量后,网络输入层和输出层的个数也便确定了。对于隐层的层数可以首先考虑只选择一个隐层。剩下的问题是如何选择隐层的节点数。其选择原则是:在能正确反映输入与输出关系的基础上,尽量选取较少的隐层节点数,而使网络尽可能简单。具体的选择可有如下两种方法:a先设置较少的节点,对网络进行训练,并测试网络的逼近误差,然后逐渐增加节点数,直到测试的误差不再有明显的减少为止。b先设置较多的节点,对网络进行训练时,并采用如下的误差代价函数:(5-15)其中E表示输出误差的平方和。引入第二项的作用相当于引入一个“遗忘”项,其目的是为使训练后的连接权系数尽量小。可以求得这时对的梯度为:(5-16)利用该梯度可以求得相应得学习算法。利用该学习算法,在训练过程中只有那些确实必要的连接权才予以保留,而那些不很必要的连接将逐渐衰减为零,最后可去掉那些联想不大的连接权和相应节点,从而得到适当规模的网络结构。(3)训练和检测最后一步是对网络进行训练和测试,在训练过程中对训练样本需要反复地使用。对所有样本数据正向运行一次并反转修改连接权一次成为一次训练。这样的训练需要反复地进行下去直至获得合适的映射结果。特别应该注意的一点是,并非训练的次数越多,越能得到正确的输入输出的映射关系。训练网络的目的在于找出蕴含在样本中数据的输入和输出之间的本质联系,从而对于未经训练的输出也能给出合适的输出,即具备泛化功能。由于所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录下来。在极端的情况下,训练后的网络可以实现相当于查表的功能。网络的功能主要由它的泛化能力来衡量,他并不是用对训练数据的拟合程度来衡量,而是要用一组独立的数据来加以测试和检验。在用测试数据进行检验时,保持实际操作时应该训练和测试交替进行,即每训练一次,同时测试数据一遍,画出均方误差随训练次数的变化曲线。如图5.3:图5.3误差随训练次数变化的曲线从误差曲线可以看出,在用测量数据进行检验时,均方误差开始逐渐减少,当训练次数再增加时,测试检验误差反而增加。误差曲线上极小点所对应得即为恰当的训练次数,若再训练就为“过度训练”了。对于网络隐层节点的个数的选择如果采用试验方法,也必须将训练和测试相结合,最终也用测试误差来衡量网络的性能。均方误差与隐层节点数也有与右图相类似的关系,因此也并不是节点数越多越好。网络的节点数对于网路的泛化能力有很大的影响。节点数太多,它倾向于记住所有的训练数据,包括噪声的影响,反而降低了泛化能力;而节点数太少,它不能拟合样本数据,因而也谈不上具有较好的泛化能力。选择节点数的原则是:选择尽量少的节点以实现尽量好的泛化能力。第六章二级倒立摆的模糊控制6.1二级倒立摆稳定控制思想二级倒立摆是一个复杂的,不稳定的高阶非线形系统。从模糊控制的角度来看,二级倒立摆与一级倒立摆的区别在于:一级倒立摆的模糊规则可以根据实际的经验来确定。只要不断完善模糊规则,控制效果就会不断提高,最终达到令人满意的要求。而二级倒立摆的困难在于:它的模糊控制规则很难确定,比如说,给定二级倒立摆的某一位置,很难确定用多大的力来使它稳定,甚至连力的方向都不能确定。即使能确定一些模糊规则,也很难确定所有的模糊规则。但是,如果模糊规则不完整,系统就有可能失控。所以,确定二级倒立摆的所有模糊规则是设计模糊控制器的关键。除此之外,从二级倒立摆的状态空间表达式中可以看到,它有六个状态变量,如果设计一个六维模糊控制器(六输入一输出),那么模糊规则会非常的复杂(甚至产生“规则爆炸”),很不利于完整模糊规则的制定。然而,如果用三组二维模糊控制器(二输入一输出)通过串行或者并行来设计控制器的话,由于控制器个数的增加,会使得控制实时性大大降低,甚至因为不能及时的输出当前控制作用力而产生失控。综上所述,要求设计一个规则少而完整,模糊控制器数量要少(最好为一个)。本文的设计思想如图6.1所示:基于LQR理论来为二级倒立摆的状态方程设计一个状态反馈矩阵K和降维矩阵G,将六个状态变量综合成两个变量,即综合误差和综合误差变化率。并通过LQR仿真,得出输入输出数据对,根据得出的数据,计算并制定出模糊规则。图6.1二级倒立摆控制器设计思想6.2反馈矩阵K和降维矩阵G的设计二级倒立摆是典型的多输入单输出系统,在式(3-25)已经得到二级倒立摆系统的线性状态方程。因此可以利用线性系统的状态信息来构造一个降维矩阵G,把二级倒立摆的六个状态变量合并成综合误差E和综合误差变化率EC。但构造降维矩阵G的关键是反馈矩阵K的设计。利用最优控制理论计算出一组可以让二级倒立摆稳定的状态反馈矩阵K:(6-1)最优控制性能指标函数为:(6-2)通过使性能指标函数式(6-1)为最小,可求得:(6-3)求解如下Ricatti方程可得到矩阵P。(6-4)性能指标函数中,矩阵Q和矩阵R这两个参数需要定义,是用来平衡系统对输入量和状态量的敏感程度的。它们对闭环系统的动态性能影响很大。在倒立摆系统中,Q,R分别用来对状态向量X和输入控制量u进行平衡加权的。一般情况下,R增加时,控制力减小,角度变化变小,跟随速度变慢。而Q中某元素增加时,其对应的状态变量的响应速度增加,其它状态变量的响应速度相对减慢。为了使得反馈矩阵K更合理,对矩阵Q,R的选取一定要尽量恰当。通过反复的测试,在实际系统的控制过程中,选取基于MATLAB强大的矩阵运算以及它丰富的内部函数,利用K=lqr(A,B,Q,R)命令通过计算,可得到状态反馈矩阵K:K=[17.3205,111.7009,-200.6791,18.6848,2.6899,-32.5784]本文应用归一化思想设计降维矩阵G。从上面的结论中得知状态矩阵K中包含六个元素,分别代表着六个状态变量的权值。根据归一化思想,每个元素均除以矩阵K的范数,为了把六个状态变量合并成两个变量,设计如式(6-5)形式的矩阵,利用状态反馈阵K构造出降维矩阵G:(6-5)其中,把所得状态反馈阵K的值代入式(6-5)得到G:最后,通过降维矩阵G把六个状态变量X综合为两个变量,称为综合误差E和综合误差变化率EC。(6-6)6.3二级倒立摆系统的模糊控制设计根据前面介绍的二级倒立摆稳定控制思想,采用融合技术设计一个线性融合函数,把多个变量融合成为综合误差E和综合误差变化率EC,这就可以使模糊控制器的设计大为简化。设计的系统结构图如下。图6-1级倒立摆模糊控制器结构首先建立二级倒立摆模糊控制系统结构,具体的隶属度,规则库,反模糊化的概念接下顺序介绍。结构图的最右侧为二级倒立摆的封装模块图,其左侧为模糊控制器内封装模糊逻辑文件RFUZZY1.fis。控制器左侧为融合函数模块和量化因子,具体数据在下文介绍。图6.2二级倒立摆模糊控制系统结构图由融合函数降维后得到E和EC作为输入量,所以只要设计一个二维模糊控制器,这就使模糊控制规则大大简化。取综合误差E和综合误差变化率EC的论域分别是X=[-33]Y=[-33],输出论域为Z=[-33]。一般说来一个语言变量的语言值越多,对事物的描述就越准确,越好。根据二级倒立摆的特点:把小车位置、速度,一摆、二摆摆角,以及一摆、二摆的角速度和控制力等语言变量的语言值都取为{“负大”,“负中”,“负小”,“零”,“正小”,“正中”,“正大”}即{NB,NM,NS,ZE,PS,PM,PB}。由于二级倒立摆系统是相对简单的非线性系统,所以不需要过细的划分,这些模糊集的隶属度函数取“三角形”隶属度函数。如下二个图为综合误差E、综合误差变化率EC、输出U的Mamdani模糊逻辑推理系统的隶属度图形。首先对系统进行采样,粗略确定输入输出论域:位置[-0.2,0.2],速度[-1,1],下摆角[-0.15,0.15],下摆角速度[-4,4]上摆角[-0.08,0.08],上摆角速度[-0.8,0.8]综上计算出误差和误差变化率的范围:E的输出范围[-36.4227,36.4227];EC的输出范围[-59.356,59.356];E的量化因子为3/36.4227=0.0824;EC的量化因子为3/59.356=0.0505;输出的比例因子为3/40=13.33待调试;图6.3误差E隶属度函数图图6.4误差变化率EC隶属度函数图图6.5输出U隶属度函数图根据输入论域和输出论域上的模糊语言变量划分,可以设计模糊推理规则:rule1:ifEisNBandECisNBthenYisNBrule2:ifEisPBandECisPMthenYisNB⋮⋮⋮⋮rule49:ifEisNSandECisPBthenYisPM把上述规则写成模糊规则表,如下表所示:表6-1模糊规则ECENBNMNSZEPSPMPBNBNBNBNBNMNMNSZENMNBNBNMNMNSZEPSNSNBNMNMNSZEPSPMZENMNSNSZEPSPMPMPSNMZEZEPSPMPMPBPMNSPSPSPMPMPBPBPBZEPMPMPMPBPBPB6.3.4反模糊化在模糊控制器结构中已经设计好了隶属度、模糊规则,根据其进行模糊推理决策出控制变量的一个模糊子集,但是它是一个模糊量,不能直接控制被控对象,还需要采取合理的方法将模糊量转化为精确量,以便最好地发挥出模糊推理结果的判决效果。针对二级倒立摆采用重心法来实现反模糊化。6.4二级倒立摆模糊控制器仿真通过上面几节的准备工作,对输入输出变量进行模糊化处理,而且模糊规则也已经写出。解模糊的步骤可以通过MATLAB仿真设置即可完成。这里采用重心法。具体搭建的仿真结构图如图6.8所示。图6.8二级倒立摆模糊控制仿真结构图二级倒立摆模糊控制器的三个量化因子也需要修正调整。最后调整结果为Ke=16,Kec=18,Ku=15。在零时刻给一个脉冲干扰量(模拟人为的给一个瞬间干扰),这里取θ2=0.01,仿真时间设置为5s,结果组图所示:图6.9二级倒立摆模糊控制仿真效果从上图中可以看出,小车在中心位置的0.003m的范围内波动,下摆在不稳定平衡点的0.01rad范围内摆动,上摆在不稳定平衡点的0.001rad范围内摆动。仿真结果表明,所设计的二级倒立摆稳定模糊控制器是非常有效的,可以很好的对上、下摆杆和小车同时进行控制。6.5二级倒立摆实物系统的模糊控制一个控制器的有效与否最终还得需要实物的验证。为此,搭建了二级倒立摆系统实物控制的结构图,如图6.13所示。图6.13二级倒立摆实物控制结构图基于二级倒立摆的实物控制图,如图6.18所示。进行实物控制仿真,得到实时响应曲线。(a)小车位置(b)上摆角度(c)下摆角度图6.18二级倒立摆仿真实时曲线通过实物控制验证,可以成功的把二级倒立摆稳定在不稳定平衡点。证明了所设计的稳定模糊控制器是非常有效的。第七章二级倒立摆的神经网络控制神经网络控制二级倒立摆主要是通过实验,收集、整理大量的输入输出控制数据对,形成一个规则库。然后训练得到一个BP神经网络控制器,Matlab仿真验证其可行性。7.1控制规则库如前所述,倒立摆的不稳定性,若想通过开环试验获取数据,抽取控制规则很困难。所以,从闭环试验中抽取一些有效的数据作为规则库,比如简单的比例、人工智能模糊控制规则等。固高倒立摆公司所给的软件分为MATLAB和Windows,DOS三个版本.其中的MATLAB版本主要为实验而用,直接运用了控制卡中的一些模块,简化了编程,而且其中有关于起摆的控制程序;而DOS版本采用了Borlandc++3.0软件进行编程,能够实现起摆和系统的平衡控制,且程序对外开放;在Window下采用C++编的程序,对系统具有较好的控制效果,运用了如PID、LQR等许多控制方法。为了获得较有效的样本,分析了各个平台下的软件:在所提供的试验平台下,经实验我们可以得到许多的样本数据。这里包括原始数据的收集、数据分析、变量选择和数据的预处理,经过这些步骤后,才能对神经网络进行有效的学习与训练。所以一般来说,取得的数据越多,网络训练越精确,学习和训练的结果就越能准确反映输入和输出之间的关系。但是选太多的数据将会增加收集、分析数据以及网络训练所付出的代价。当然选太少的数据将可能得不到正确的结果。事实上数据的多少取决于许多的因素,如网络的大小、网络测试的需要以及输入输出的分布等。事实上,只要充分反映允许控制误差范围内的足够多的规则就可以了。7.2网络模型确定在进行BP网络设计前,一般从网络层数、每层神经元数、初始值、以及学习方法等方面来考虑。理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。如前面所述的影响神经网络BP的因素有网络的层数,网络各层神经元的个数等。影响神经BP算法的因素还有学习速率、初始权值的选取、以及神经网络期望误差的选取,可以选择一个具有一个隐含层的二层网络,它的输入分别为系统的六个状态变量:小车的位置,小车的速度,上下摆的角度和上下摆的角速度。隐含层有10个神经元,输出层为一个。隐含层采用“tansig”转换函数,输出层采用线性转换函数“purelin”。如图7.1所示。图7.1神经网络结构图7.3对网络进行训练BP网络具有很强的非线性映射能力。理论已经证明:给定任意的e>0和任意L2函数向量则必存在一个三层B-P网络可在任意e平方误差精度内逼近训练后得到的BP神经网络可以记忆大量的规则,从而可以实现倒立摆的控制。7.3.1训练用到的Matlab函数首先介绍一下训练神经网络所需的重要Matlab函数(1).NEWFF函数NEWFF函数的作用是创建一个feed-forwardback-propagation网络。其调用格式主要有:net=newffnet=newff(PR,[S1,S2…SN1],{TF1,TF2…TFN1},BTF,BLF,PF)描述如下net=newff作用是用对话框的形式创建一个新的网络模型。NEWFF(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)其中各个参数的定义如下:PR-为一个Rx2的矩阵,其中包含输入的最大和最小值。Si-第i层神经元的个数,一共有N1层。TFi-第i层的转换函数,默认为'tansig'.函数还可以为其它‘logsig’,‘purelin’。BTF–BP网络的训练函数,默认值为'trainlm'.函数还可以取其他的值为‘traingd’,‘trainbfg’,‘trainbr’等.但是‘trainlm’最快。BLF–BP网络的权值和阈值学习函数,默认值为'learngdm'.函数也可以为‘learngd’。PF-性能函数,默认值为'mse'.函数也可以为‘msereg’返回一个N层的feed-forwardBP网络。举例如下:这是一个关于输入向量P逼近目标输出向量T的问题,所以我们将用一个神经网络解决这个问题:P=[012345678910];T=[01234321234];下面的函数创建了一个两层的feed-forward网络,网络的输入区间为[010]。第一层有五个神经元,其转换函数为‘tansig’;第二层有一个神经元,转换函数为‘purelin’。采用‘trainlm’训练这个网络。调用函数如下:net=newff([010],[51],{'tansig''purelin'});通过下面的程序,网络可以被仿真并且可以把输出以图形的形式显示:Y=sim(net,P);plot(P,T,P,Y,'o')设置训练步数为50,得到一个训练好的网络,输入初始向量得到仿真结果并画出图形。=50;net=train(net,P,T);Y=sim(net,P);plot(P,T,P,Y,'o')(2).train函数train函数的功能是训练一个网络。调用格式主要有:[net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)函数描述如下:train函数是根据net的训练函数和net的训练参数训练一个网络net。格式TRAIN(NET,P,T,Pi,Ai)各参数的意义叙述如下:NET–网络。P-网络的输入.T-网络的期望输出,默认值为zeros.Pi-初始输入延迟条件,默认值为zeros.Ai-初始时的层滞后条件,默认值为zeros.VV-有效向量的结构。默认值为[]TV-测试向量的结构,默认为[].返回值为:NET-网络。TR-训练的记录(epochandperf).Y-网络的输出.E-网络的误差.Pf-最终输入滞后条件。Af-最终层滞后条件。
最大训练次数
训练要求精度
学习速率
显示训练迭代过程
最大训练时间举例如下:p=[012345678];t=[00.840.910.14-0.77-0.96-0.280.660.99];plot(p,t,'o')net=newff([08],[101],{'tansig’,purelin'},'trainlm')这里newff是用来创建一个两层的反馈网络。这个网络有一个输入,其值域为[08],隐含层为10个神经元,转换函数为‘tansig’;输出为一个神经元,函数为‘purelin’;训练函数为‘trainlm’y1=sim(net,p)%网络被仿真plot(p,t,'o',p,y1,'x')%作图=50;%设置训练步数为50=0.01;%网络训练误差为0.01net=train(net,p,t);%训练这个网络y2=sim(net,p)%仿真训练后的网络plot(p,t,'o',p,y1,'x',p,y2,'*')%作图7.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南省安全员知识题库
- 《医院人力资源管理》课件
- 【大学课件】对国际贸易中文化差异的思考
- 小学硬笔书法教学课件
- 《锻鍊正确判断力》课件
- 公用事业行业十二月行业动态报告:多地25年电力交易结果发布电价靴子落地
- 单位管理制度展示选集【人力资源管理篇】十篇
- 某河滩地人工湿地工程建设项目环境评估报告书
- REITs月报:REITs二级市场震荡上行常态化发行进一步加速
- 单位管理制度收录大全【人事管理篇】十篇
- 2024年广东清远市清城区顺拓投资公司招聘笔试参考题库含答案解析
- 行政单位固定资产盘点报告
- 巴基斯坦炼铜工艺流程
- 光学焦度计的原理与应用
- 四川省巴中市2023-2024学年高二上学期期末考试物理试题【含答案解析】
- 《两小儿辩日》教学案例:培养学生的思辨能力
- 2024年广东省普通高中学业水平考试化学试卷(修改+答案)版
- 2024年小学生中华经典诵读知识竞赛参考题库500题(含答案)
- 日拱一卒行稳致远
- 培训内驱力的课件
- 管理后台策划方案
评论
0/150
提交评论