基于模糊神经网络的一级倒立摆控制系统设计

更新时间:2024-04-20 17:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

分类号:TP273.4 U D C:D10621-408-(2008) 1615-0 密 级:公 开 编 号:2004024016

成都信息工程学院

学位论文

基于模糊神经网络的一级倒立摆控制系统设计

论文作者姓名: 申请学位专业: 申请学位类别: 指导教师姓名(职称): 论文提交日期:

王 飞 自动化 工学学士 张秀芳(讲师) 2008年06月02日

基于模糊神经网络的一级倒立摆控制系统设计

摘 要

倒立摆是一个典型的快速、多变量、非线性、本质不稳定系统,对倒立摆系统的研究在理论上和方法上具有深远的意义。对倒立摆的研究可以归结为对非线性、多变量、不稳定系统的研究。

本文首先叙述了对倒立摆系统稳定性研究的意义,概述了倒立摆的研究现状,并介绍了当前已有的稳定倒立摆的各种控制方法。然后在总结归纳模糊控制和神经网络控制的基础上给出了模糊逻辑和神经网络控制相融合的优点,介绍了模糊神经网络的基本知识,分析了模糊神经网络结构。论文以模糊控制理论为基础,采用了模糊控制中Mamdani模糊推理系统,对倒立摆的各个变量进行控制,并且采用了自适应神经网络对模糊控制规则进行了训练,并在此基础上设计出模糊神经网络控制器。最后,在现有倒立摆实物系统中进行了直线单级倒立摆的实时控制,并对相应结果进行了分析。实验结果证明,模糊神经网络模型控制精度高,收敛性好,对倒立摆有良好控制效果。

关键词:倒立摆;模糊控制;神经网络;自适应

Design of an Inverted Pendulum Control System Based on Fuzzy

Neural Network

Abstract

Inverted pendulum is a typical model of multi-variable, nonlinear, essentially unsteady system, and researching stability of inverted pendulum system has the profound meaning in theory and methodology. The research on inverted pendulum can be diverted to the research on nonlinear, multi-variable and unsteady system.

In this article, first of all, analyze the meaning of researching the inverted pendulum system, give a summary on the research actuality of inverted pendulum, and introduce many control ways on making inverted pendulum system steady. Based on the summary of fuzzy control theory and neural network control theory, the merit of combination fuzzy logic control with neural network control is presented. Then introduce the essential definitions, analyze the structure of fuzzy neural network. The article is based on the fuzzy control theory, it controls all the variables in the inverted pendulum with the use of Mamdani FIS and use adaptive neural network to exercise fuzzy control rules, and give a design method for fuzzy neural network system controller. At last, use the structure chart of the system to control the inverted pendulum system. The experiment result proves that FNNC has higher precision, better astringency and it has much better control effect for inverted pendulum.

Key words:Inverted Pendulum; Fuzzy control; Neural network; Adaptive

目 录

论文总页数:41页

1 引言 .................................................................................. 1 1.1 倒立摆系统研究的目的和意义 ........................................................ 1 1.2 倒立摆系统研究的历史与现状 ........................................................ 1 1.3 倒立摆的控制方法 .................................................................. 2 1.4 本论文的工作任务及设计思路 ........................................................ 2 2 一级倒立摆系统的数学模型 .............................................................. 3 2.1 倒立摆组成概述 .................................................................... 3 2.2 一级倒立摆的牛顿—欧拉方法建模 .................................................... 4 2.2.1 微方程的推导 .................................................................. 4 2.2.2 传递函数 ...................................................................... 6 2.2.3 状态空间方程 .................................................................. 6 2.3 系统可控性的分析 .................................................................. 9 2.4 系统阶跃响应分析 ................................................................. 10 2.5 本章小结 ......................................................................... 10 3 模糊控制与神经网络理论基础 ........................................................... 11 3.1 模糊控制理论 ..................................................................... 11 3.1.1 模糊集合及其运算 ............................................................. 11 3.1.2 模糊关系 ..................................................................... 12 3.1.3 模糊控制 ..................................................................... 13 3.1.4 模糊控制的特点 ............................................................... 13 3.2 神经网络理论 ..................................................................... 14 3.2.1 神经网络基础——单神经元模型 ................................................. 14 3.2.2 神经网络基本结构 ............................................................. 15 3.2.3 神经网络的学习 ............................................................... 16 3.2.4 神经网络控制 ................................................................. 17 3.2.5 神经网络控制特点 ............................................................. 18 3.3 模糊神经网络 ..................................................................... 18 3.4 本章小结 ......................................................................... 18 4 模糊神经网络控制器的设计与仿真 ....................................................... 19 4.1 神经网络实现模糊控制的基本原理 ................................................... 19 4.2 直线一级倒立摆模糊神经网络控制器的设计 ........................................... 21

4.2.1 模糊控制系统的设计 ........................................................... 22 4.2.2 模糊控制规则的神经网络训练 ................................................... 26 4.3 倒立摆神经网络控制器的MATLAB仿真 ................................................ 30 4.3.1 MATLAB与Simulink简介........................................................ 30 4.3.2 直线一级倒立摆仿真实验 ....................................................... 31 4.4 本章小结 ......................................................................... 33 5倒立摆系统的实时控制 ................................................................. 34 5.1倒立摆实物系统介绍 ............................................................... 34 5.2 实时控制结果及分析 ............................................................... 35 5.3 本章小结 ......................................................................... 37 结 论 ............................................................................... 37 参考文献 ............................................................................... 39 致 谢 ............................................................................... 40 声 明 ............................................................................... 41

1 引言

1.1 倒立摆系统研究的目的和意义

在稳定性控制问题上,倒立摆既具有普遍性又具有典型性。它是本质不稳定系统的典型代表,对它的研究成果可以应用到许多应用领域。倒立摆系统可以用多种理论和方法来实现其稳定控制,如PID、自适应、智能控制、模糊控制以及人工神经元网络等都能在倒立摆系统控制上得以实现。而且当一种新的控制理论和方法提出以后,都可以考虑通过倒立摆装置来验证其正确性和实用性。

倒立摆系统在控制系统研究中受到普遍重视,倒立摆系统已被公认为自动控制理论中的典型试验设备,也是控制理论在教学和研究中必不可少的典型物理模型。通过对倒立摆系统的研究,不仅可以解决控制中的理论问题,还能将控制理论所涉及的几个基础学科——力学、数学、控制理论(含计算机)、模糊控制和神经网络有机地结合起来,在倒立摆系统中进行综合应用。

在控制理论发展的过程中,某一理论的正确性及其在实际应用中的可行性需要一个按其理论设计的控制器去控制一个典型对象来验证这一理论,倒立摆就是这样一个典型被控对象。作为一个受控装置,它成本低廉、结构简单、形象直观、便于实现模拟和数字两者不同的方式的控制。作为一个本质不稳定的被控对象,只有采取行之有效的控制方法,才能使之稳定。对倒立摆系统进行控制,其稳定效果非常明了,可以通过摆动角度位移和稳定时间直接度量,控制效果的好坏一目了然。理论是工程的先导,对倒立摆的研究不仅有着极其深刻的理论意义,还有重要的工程背景,空间飞行器、磁悬浮和各类伺服云台的数学模型,都和倒立摆的数学模型有着很大的相似性,其它如海上钻井平台的稳定控制、火箭姿态控制、飞机安全着陆等都属于这类问题。因此对倒立摆机理的研究具有重要的理论和实际意义。

1.2 倒立摆系统研究的历史与现状

国外对一级倒立摆的研究从六十年代开始。Cannon等人在1966年首次实现了对一级倒立摆的稳定控制,Smith等人于1975年也完成了对一级倒立摆的稳定控制,采用的方法是最优控制和状态重构。对二级倒立摆的研究从七十年代开始。1972年Sturgen等人采用模拟的方法完成了对二级倒立摆的稳定控制,1978年,Furuta等人采用小型计算机实现了对二级倒立摆的稳定控制,1980年,他们又完成了二级倒立摆在倾斜轨道上的稳定控制。

国内对倒立摆系统的研究工作是从八十年代开始的。1982年,西安交通大学完成了二级倒立摆系统的研制和控制,采用了最优控制和降维观测器,以模拟电路实现。1983年,国防科技大学完成了一级倒立摆系统的研制和控制。1987年,上海机械学院完成了一、二级倒立摆系统的研制,采用微机实现控制,并且

第 1 页 共 41 页

完成了二级倒立摆在倾斜轨道上的控制。1993年,北京航空航天大学自控系张明廉等人设计了一级倒立摆仿人控制器,并通过PC-286等设备稳定了一级倒立摆,且具有良好的鲁棒性。

90年代后期,北京师范大学李洪兴教授提出了变论域自适应模糊控制的思想,这种思想体现了模糊控制的数学本质。2001年9月19日,李洪兴教授采用变论域自适应模糊控制成功地实现了三级倒立摆实物系统的实时控制,具有很好的稳定性、鲁棒性和定位功能。2002年8月11日,李洪兴教授领导的实验室又成功地实现了四级倒立摆实物系统控制,这无疑填补了一项世界领域内的空白。这种方法为控制理论的发展开辟了新的途径。

1.3 倒立摆的控制方法

单级倒立摆系统的控制对象是一个单输入(力)和四输出(角度、角速度、位移和速度)的非最小相位系统,应用经典控制理论中解决单输入多输出系统的控制方法。首先对系统进行力学分析,应用牛顿第二定律,建立小车在水平方向运动和摆杆运动的方程,并进行线性化和拉氏变换,得出传递函数,从而得到倒立摆的状态空间方程。

倒立摆系统以其自身的不稳定性为系统的平衡提出了难题,也因此成为自动控制实验中验证控制算法优劣的极好的实验装置。常见倒立摆的控制方法有:

1.PID控制。通过对倒立摆系统的机理分析,建立倒立摆的动力学模型,使用状态空间理论推导其非线性模型,并在平衡点处进行线性化得到倒立摆系统的状态方程和输出方程,从而设计出PID控制器实现其控制;

2.状态反馈控制。通过对倒立摆系统的分析和建模,使用状态空间理论推导出状态方程和输出方程,应用状态反馈和Kalman滤波相结合的方法,实现对倒立摆的控制;

3.神经网络控制:神经网络能够任意充分地逼近复杂的非线性关系,能够学习与适应严重不确定性系统的动态特性,所有定量或者定性的信息都等势分布储存于网络内的各种神经元,故有很强的鲁棒性和容错性。

4.自适应控制:采用设计出自适应控制器的方法对倒立摆进行控制。 5.模糊控制:首先确定基本语言值,接着确定语言值的隶属函数,在隶属函数建立后,就可以建立模糊控制规则。完成了上述步骤后,就基本上建立了倒立摆系统的模糊控制器。

除了上述一些控制方式外,还可以采取将几种控制算法相结合的方法,例如模糊自适应控制、模糊神经网络控制、分散鲁棒自适应控制等。

1.4 本论文的工作任务及设计思路

工作任务:将模糊控制、神经网络控制相结合,设计模糊神经网络控制器,

第 2 页 共 41 页

应用Simulink仿真后,在固高公司生产的直线单级倒立摆系统GLIP2001上进行实时控制。主要包括以下几个内容:

1.直线一级倒立摆的数学模型的建立与分析; 2.模糊神经网络控制器原理及设计方法;

3.在MATLAB平台上进行数学仿真,检测控制结果; 4.采用设计好的控制器对一级倒立摆实物系统进行实时控制。

设计思路:建立一个能容纳模糊信息的神经网络,并让其学习包含在常规模糊控制器的规则集中,再用训练后的神经网络代替模糊关系矩阵,并以此构成模糊推理的核心。根据神经网络的并行运行机制,当被控对象的实际输出值与给定输入值有偏差时,模糊神经控制器就以极快的速度产生控制响应。另外,通过神经网络训练的样本可构造和发展模糊控制规则,可以发现优化输入输出隶属函数,通过与先进的学习方法相结合使系统具有较快的收敛速度。

2 一级倒立摆系统的数学模型

2.1 倒立摆组成概述

先来介绍下现有深圳固高GLIP2001一级倒立摆系统的组成: 1.在有限长的轨道L上做直线运动的小车;

2.与小车铰接在一起,并能在包含L的平面内绕O点转动的摆; 3.驱动小车的直流力矩电机和转轮、钢丝等传动部分;

4.使倒立摆稳定在垂直向上的平衡位置,且使小车稳定在轨道中心位置的控制器。

系统包括计算机、运动控制卡、伺服机构、倒立摆本体和光电码盘几大部分,组成了一个闭环系统。光电码盘1将小车的位移、速度信号反馈给伺服驱动器和运动控制卡,摆杆的位置、速度信号由光电码盘2反馈回控制卡。计算机从运动控制卡中读取实时数据,确定控制决策(小车向哪个方向移动、移动速度、加速度等),并由运动控制卡来实现该控制决策,产生相应的控制量,使电机转动,带动小车运动,保持摆杆平衡。

图2.1 倒立摆系统原理图

通过对倒立摆系统的控制系统结构以及控制目标的分析可以看出,在该系统

第 3 页 共 41 页

中,倒立摆摆杆的长度和质量均可以变化;暂态时,倒立摆的角度以及小车的位置可以设定为任意值;在控制过程中,被控量既有倒立摆摆杆的角度,又有小车的位移,并且两者之间存在彼此的联系,如摆杆偏向右侧,则小车向右运动,而当小车向右运动超过某一范围后,摆杆又开始向左偏移,为了保持摆杆的平衡,小车也随之向左运动。如此反复直到摆杆和小车都回到指定位置并保持平衡;而相应的控制量却只有一个作用力u。因此,在整个倒立摆系统中,控制量和被控量之间很难用一个线性的传递函数或者状态方程进行精确地描述。所以可以认为倒立摆系统具有非线性、时变、多变量耦合的特性。

2.2 一级倒立摆的牛顿—欧拉方法建模

对于倒立摆系统,由于其本身是自不稳定的系统,实验建模存在一定困难。但是经过小心的假设忽略掉一些次要的因素后,倒立摆系统就是一个典型的运动的刚体系统,可以在惯性坐标系内应用经典力学理论建立系统的动力学方程。

2.2.1 微方程的推导

在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统[3],如图2.2所示。

图2.2 直线一级倒立摆系统

可以做如下假设:

M 小车质量:1.096kg

m 摆杆质量:0.109kg b 小车摩擦系数:0.1N/m/sec

l 摆杆转动轴心到杆质心的长度:0.25m

I 摆杆惯量:0.0034kgm2 F 加在小车上的力

? 摆杆与垂直向上方向的夹角

? 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下) T 采样频率

图2.3是系统中小车和摆杆的受力分析图。其中N和P为小车和摆杆相互作用力的水平和垂直方向的分量。图2.4是摆杆的隔离受力图。

第 4 页 共 41 页

x 小车位置

注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而

矢量方向如图所示,图示方向为矢量正方向。

图2.3 小车隔离受力图 图2.4 摆杆隔离受力图

分析小车水平方向所受的合力,可以得到以下方程:

??F?bx??N (2-1) M? x由摆杆水平方向的受力进行分析可以得到下面的等式:

d2 N?m2(x?lsin ?) (2-2)

dt??cos??ml??2sin? (2-3)??ml?即: N?m? x把这个等式代入(2-1)中,就可以得到系统的第一个运动方程:

??cos??ml??2sin??F (2-4)??bx??ml?(M?m)?x

为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:

d2s) P?mg?m2(lco?(2-5)

dt??sin??ml??2cos? P?mg??ml?(2-6)

力矩平衡方程如下:

?? (2-7) ?Plsin??Nlcos??I?

合并这两个方程,约去P和N,得到第二个运动方程:

???mglsin?co????ml?xs (2-8) (I?ml2)?

设?????(?是摆杆与垂直向上方向之间的夹角),假设?与1(单位是弧度)相比很小,即???1,则可以进行近似处理:sin????,(cos???1,

dt2)?0。d?第 5 页 共 41 页

用u来代表被控对象的输入力F,线性化后两个运动方程如下:

???mgl??ml??(I?ml2)??x ? (2-9)

????bx??ml??ux?(M?m)?2.2.2 传递函数

对式(2-9)进行拉普拉斯变换,得到:

222??(I?ml)?(s)s?mgl?(s)?mlX(s)s ? (2-10) ??(M?m)X(s)s2?bX(s)s2?ml?(s)s2?U(s)注意:推导传递函数时假设初始条件为0。

由于输出为角度?,求解方程组的第一个方程,可以得到:

X(s)?[(I?ml2)gml?s2]?(s) 或 ?(s)X(s)?mls2(I?ml2)s2?mg l 如果令v??x?,则有:

?(s)mlV(s)?(I?ml2)s2?mg l 把上式代入方程组的第二个方程,得到:

(M?m)[(I?ml2)?gs]?(s)s2?b[(I?ml2)ml?gs2]?(s)s?ml?(s)s2ml?U(s)整理后得到传递函数:

ml2?(s)qsU(s)?s4?b(I?ml2) 3(M?m)mgl2bmglqs?qs?qs其中 q?[(M?m)(I?ml2)?(ml)2] 2.2.3 状态空间方程 设系统状态空间方程为:

X??AX?Buy?CX?Du 方程组对?x?,???解代数方程,得到解如下: 第 6 页 共 41 页

2-11) 2-12) 2-13) 2-14)

2-15) 2-16)

( ( ( ( (??x??x?2222?I(ml)bmgl(I?ml)?????xx???u222?I(M?m)?MmlI(M?m)|MmlI(M?m)?Mml? ? (2-17)

????????mlbmgl(M?m)ml????x???u??222?I(M?m)?MmlI(M?m)?MmlI(M?m)?Mml?整理后得到系统的状态空间方程:

?0?x???0?????x???????0???????????0?1?(I?ml2)bI(M?m)?Mml20?mlbI(M?m)?Mml20mgl2I(M?m)?Mml20mgl(M?m)I(M?m)|Mml220?0??2x?????I?ml0????2??xI(M?m)?Mml????u ??1?????0?ml?????0????2????I(M?m)?Mml???x????0?x??1000??x????u (2-18) y????? ???????0010?????0???????由(2-9)的第一个方程为:

???mgl??ml?? (I?ml2)?x对于质量均匀分布的摆杆有:

1 I?ml2

3于是可以得到:

1???mgl??ml?? (ml2?ml2)?x3化简得到:

???3g??3?? (2-19) ? x4l4l?,u???,?,??则有: 设X?x,xx?????0?x?0????x? ?????0????????0?????1000003g04l0??x??0??x??1?0???????1??????0?u ???3????0???????4l?第 7 页 共 41 页

?x?????x??1000??x?u (2-20) y????? ?????0010??????????实际系统的模型参数如下:

M 小车质量 1.096Kg m 摆杆质量 0.109Kg b 小车摩擦系数 0.1N/m/sec l 摆杆转动轴心到杆质心的长度 0.25m I 摆杆惯量 0.0034kg*m2 将系统的结构参数代入, 可以得到系统的实际模型。 摆杆角度和小车位移的传递函数:

?(s)0.0272s2X(s)?50.01021s225?0.2670 5 摆杆角度和小车加速度之间的传递函数为:

?(s)0.02725V(s)?0.01021s225?0.2670 5 摆杆角度和小车所受外界作用力的传递函数:

?(s)2.35655sU(s)?s3?0.0883167s2?27.916s9?2.3094 2 以外界作用力作为输入的系统状态方程:

???x????0100???x??0 ??x?0?0.08831670.6293170???x??0.883167??????????0001???????????????0?0.23565527.82850???????0?u ???????2.35655??? y???x??1000??x??x???0???????0010??????u ?????0???????以小车加速度作为输入的系统状态方程:

???x??0100????x???0000??001??x??0???x??????1??u

????????0????????0029.40???????0????????3??第 8 页 共 41 页

2-21) 2-22) 2-23) 2-24) ( ( (

(?x????0?x??1000??x????u (2-25)y????? ?????????0010???0???????2.3 系统可控性的分析

对于连续时间系统:

??AX?BuXy?CX?Du (2-26)

系统状态完全可控的条件为:当且仅当向量组B,AB,??,An?1B是线性无关的,或n阶矩阵[B AB ?An?1B]的秩为n。

系统的输出可控性的条件为:

[CD?CAB?CA2B???CAn?1B?D] (2-27) 应用以上原理对系统进行可控性分析:

?0?0A???0??0?0??1? B????0????3??1C???0?0?D????0?10?000??001??029.40?0 (2-28)

000?010??将该矩阵代入上式,并在MATLAB中计算: clear

A = [0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 29.4 0]; B = [0 1 0 3]; C = [1 0 0 0; 0 1 0 0]; D = [0 0];

cona1 = [B A*B A^2*B A^3*B];

cona2 = [C*B C*A*B C*A^2*B C*A^3*B D]; rank(cona1)

第 9 页 共 41 页

rank(cona2) 可以得到: ans = 4 ans = 2

可以看出,系统的状态完全可控性矩阵的秩等于系统的状态变量维数,系统的输出完全可控性矩阵的秩等于系统输出向量y的维数,所以系统可控,因此可以对系统进行控制器的设计,使系统稳定。

2.4 系统阶跃响应分析

上面已经得到系统的状态方程,先对其进行阶跃响应分析,在MATLAB中键入以下命令:

clear;

A = [0 1 0 0; 0 0 0 0; 0 0 0 1; 0 0 29.4 0]; B = [0 1 0 3]’; C = [1 0 0 0; 0 1 0 0]; D = [0 0]’; Step(A,B,C,D) 可以得到:

图2.5 直线单极倒立摆单位阶跃响应仿真

可以看出,在单位阶跃响应作用下,小车位置和摆杆角度都是发散的。

2.5 本章小结

本章中首先介绍了一级倒立摆系统的组成及工作原理;其次根据牛顿力学方法对一级倒立摆整个系统进行了分析,列写系统的动力学方程,并对其进行了简化处理,这样就得到了传递函数形式的一级倒立摆数学模型;最后,在MATLAB平台上对倒立摆系统的进行了稳定性和可控性的分析。得出结论:倒立摆是一个

第 10 页 共 41 页

图3.4 多层结构

图3.4所示的多层结构神经网络还有多种变化。如在同一层内的神经元可以相连,或部分相连。输出层也可以有部分神经元反馈至隐层。从仿生学角度来说,多层结构神经网络更接近人脑结构。如视觉系统中,神经元就是具有层次结构的。输入信号经输入层后,进入中间层,经处理后,才进入输出层,最后产生响应。

Kolgmogrov定理:隐含层神经元数目为2n+1的三层神经网络可以任意精度实现连续映射F:[0,1]n?Rn?Rm (n是输入神经元个数,m为输出神经元个数)。

在实际应用中,往往己知A?[0,1]n中的若干样本,而不知其映射关系F,或者无法找出F的显示表达式,通过修正网络各个连接权值得到在最小二乘准则下的函数映射。

3.2.3 神经网络的学习

一般来说,神经网络的结构是相对固定的,但其功能上却可以多种多样,这是通过变化神经网络内部权值得到的。给定某一任务,如何调整神经网络的权值,这就是神经网络学习要解决的问题。

神经网络的学习大致分为两类:无监督学习和有监督学习。无监督学习又称自组织学习,其主要作用有两个,其一是数据压缩,输入数据经无监督学习后,维数减少,而信息损失则可以不大。其二是简化数据表示。这使得我们可用较简单的算法来解决问题。无监督学习只要求提供输入,而输出是学习过程自行产生。

有监督学习主要作用是实现给定的映射关系。有监督学习要求提供输入及相应的输出(样本和期望),神经网络经过学习来实现这种输入输出映射关系。多层感知器的误差反向传播学习算法,是有监督学习典范之一。

从另一角度看,神经网络学习解决的是状态动力学的问题。即网络中不同神

第 16 页 共 41 页

经元的状态变化情况。它可以是从整个神经网络的角度考虑问题;也可以是只考虑神经元的局部状态变化。在神经网络中,不同神经元是通过连接权值进行相互作用的,学习过程也就是权值的调整过程。

神经元是神经网络的基本单元。神经元可能处于兴奋状态,也可能处于非兴奋状态。处于不同状态的两个神经元,其相互作用也是不同的,最基本的学习规则是从神经元的状态开始的,值得一提的是Hebb规则。Hebb规则是神经元学习最原始的规则,其具体表现形式为:在神经网络中,当两个相互连接的神经元,同时被激活时,则其连接权值得到加强,其余情况,连接权值不变。

3.2.4 神经网络控制

神经网络控制的研究始于20世纪60年代,1960年,Widrow和Hoff首先把神经网络用于控制系统。Kilmer和McCulloch提出了KMB神经网络模型,并在“阿波罗”登月计划中应用,取得了良好的效果。70年代神经网络研究处于低谷,所以神经网络控制没有再发展。从80年代后期开始,神经网络控制开始受到重视,但大多数集中在自适应控制方法上。目前,神经网络控制正朝着智能控制深度的方向发展。

在智能控制系统中,最重要的有两点。一点是和知识基有关的推理机型,另一点是随环境变化的适应能力。一般而言。推理是以符号为元素执行的,而客观世界中的信号是数值,为了理解过程的状态。需要实施数值数据到符号数据的映射,这就要把数值数据进行分类。

另外,对过程的控制需要自适应控制器。神经网络的分类功能和学习能力使得它可以有效地用于智能控制系统。

神经网络控制的结构和种类划分,根据不同的观点可以有不同的形式, 目前尚无统一的分类标准。如果从它与传统控制和智能控制两大门类的结合上考虑,可将神经网络控制原则上分为两大类:

1.基于神经网络的智能控制

它是指只有神经网络单独进行控制或由神经网络同其它智能控制方式相融合的控制的统称,前者称为神经控制,后者称为神经智能控制。如神经网络直接反馈控制,神经网络专家系统控制,神经网络模糊逻辑控制,神经网络滑模控制,神经网络自适应控制等。

2.基于传统控制理论的神经控制

基于传统控制理论的神经控制是指将神经网络作为控制系统中的一个或几个部分,用以充当辨识器、对象模型、控制器、估计器,或进行优化计算等。如神经网络逆控制,神经网络自适应控制,神经内模控制,神经预测控制,神经自校正控制等。

第 17 页 共 41 页

3.2.5 神经网络控制特点

由于非线性系统的多样性与复杂性,至今还未确立通用的非线性控制系统设计理论。一些传统的方法如相平面法,线性化法和描述函数法不足以解决所有的非线性问题。而神经网络具有处理非线性的能力,从控制理论的观点来看这一点很有意义。

神经网络自身的一些优良特点,使其在自动控制中发挥着举足轻重的作用: 1.神经网络在精确模型的各种控制结构中充当对象的模型; 2.在反馈控制系统中直接充当控制器的作用;

3.在传统控制系统中起优化计算作用,有自我学习功能;

4.在与其它智能控制方法和优化算法,如模糊控制、专家控制及遗传算法等相融合中,为其提供非参数化对象模型、优化参数、推理模型及故障诊断等。

3.3 模糊神经网络

模糊控制技术和神经网络技术同属于人工智能技术,各自具备对方恰恰不具备的优缺点,具有互补性。模糊控制具备处理模糊语言信息的能力,可以模拟人类智慧进行判断和决策。但是模糊控制不具备学习功能,而神经网络恰恰相反。它具备学习功能,但不能处理和描述模糊信息。因此,将两者结合起来,使模糊控制具备学习功能,使人工神经网络具备处理模糊信息功能,进行判断和决策,这是模糊神经网络控制的基本出发点。在过去十年中,模糊逻辑和神经网络已在理论和应用方面获得独立发展。然而,近年来,已把注意力集中到模糊逻辑与神经网络的集成上,以期克服各自的缺点。我们已分别讨论过模糊逻辑和神经网络的特性,在此,我们对它们进行比较于表3.1。

表3.1 模糊系统与神经网络比较 技术 知识获取 不确定性 推理方法 适应能力 模糊系统 人类专家(交互) 定量与定性(决策) 启发式搜索(低速) 低 神经网络 采样数据集合(算法) 定量(感知) 并行计算(高速) 很高(调整连接权值) 要使一个系统能够更像人类一样处理认知的不确定性,可以把模糊逻辑与神经网络集成起来,形成一个新的研究领域,即模糊神经网络(FNN)。实现这种组合的方法基本上分为两种。第一种方法在于寻求模糊推理算法与神经网络示例之间的功能映射,而第二种方法却力图找到一种从模糊推理系统到一类神经网络的结构映射。

3.4 本章小结

本章简要介绍了模糊控制和神经网络的基本理论,以及它们各自的特点,在

第 18 页 共 41 页

此基础上提出了将二者结合,构造模糊神经网络控制系统,在下一章中将重点介绍模糊神经网络控制器的设计思想和方法。

4 模糊神经网络控制器的设计与仿真

4.1 神经网络实现模糊控制的基本原理

用神经网络实现模糊控制的主导思想是建立一个能容纳模糊信息的神经网络,并让其学习包含在常规模糊控制器的规则集中,再用训练后的神经网络代替模糊关系矩阵,并以此构成模糊推理的核心。根据神经网络的并行运行机制,当被控对象的实际输出值与给定输入值有偏差时,模糊神经控制器就以极快的速度产生控制响应。另外,通过神经网络训练的样本可构造和发展模糊控制规则,可以发现优化输入输出隶属函数,通过与先进的学习方法相结合使系统具有较快的收敛速度[2]。

设计模糊控制器一般需要三步:首先,选取合适的语言变量,将精确输入量模糊化;其次,构造模糊控制规则表确定输出量对应的模糊关系;最后,依据某一准则进行模糊判决,将输出的控制量反模糊化后作用于被控对象。那么用神经网络实现模糊逻辑系统也要围绕这三步进行。

1.神经网络实现模糊隶属函数

一般的模糊控制器在获取模糊规则及调整隶属度函数参数时有困难。而在神经网络实现的模糊控制系统中,可将己有的经验作为神经网络学习的样本,然后根据控制性能指标对神经网络权重进行训练,直接自动生成隶属函数。

2.神经网络记忆模糊规则

神经网络具有分布存储和容错性,用神经网络存储模糊控制规则是一种合理自然的选择。对于模糊逻辑控制器,当控制经验增加时,计算量将随之增加。而神经网络的经验知识是通过训练网络的权重得到记忆的,整个训练过程可以离线进行,或直接复制性能良好的网络权重。

3.神经网络实现模糊逻辑推理

模糊逻辑推理相当于对一种输入输出关系的映射,而神经元又能映射任意的函数关系,所以可用来实现模糊推理。用神经网络实现模糊逻辑推理,可大大改善和提高模糊逻辑推理的自适应能力。另外模糊化与反模糊化也可用神经元网络实现,于是整个模糊控制便可用人工神经网络表示,同时使模糊控制器具有了本身没有的特点,如计算量与经验知识的多少无关,允许包含少量错误的经验,可进行并行分布计算等。

神经网络实现的模糊控制器具有多种不同的形式,采用不同的神经元网络,便会使模糊推理的方式及系统结构有差异。无论形式如何,它们的基本原理大致相同。

第 19 页 共 41 页

假设模糊系统有n个输入X1,X2,?Xn,输出为y,其模糊控制规则表示如下: Ri: If X1?Ai1 AND X2?Ai2 ? AND Xn?Ain, then y?Bi (4-1)

其中i=1, 2, ?, n; n是模糊规则数。Ai1和Ai2分别是X1和X2的模糊集合,每条模糊语句对应的模糊关系为:

Ri?Ai1?Ai2??Ain?Bi?min(Ai1,Ai2,?Ain,Bi) i?1,2,?,n (4-2)

整个系统总控制规则对应模糊关系R为:

R??Ri?maxR (1,R2,?,Rn) (4-3)

i?1n经反模糊化后得到模糊控制器输出量为:

nn???? y?[??(yi)?yi]/??(yi) (4-4)

i?1i?1用神经网络来实现这一模糊控制器如下图4.1所示:

图4.1 模糊神经网络一般结构

该网络是将上述模糊系统表达成基于联结主义的形式。方便起见,假设有3个输入变量,1个输出变量。输入、输出变量均划分为3个模糊子集。

定义4.1 Iik为第k层第i个神经元的输入,Oik为第k层第i个神经元的输出,

kwij为第k-1层的第i个节点与第k层的第j个节点连接网络权值,mk、?k为隶属函

数的均值和方差。整个网络的输入输出映射关系如下:

第一层为输入层:

Oi1?Ii1?xi, i=1, 2, 3 (4-5)

第二层为模糊化层:

21Oi (4-6) Ii2?wij

第 20 页 共 41 页

Oi2?exp[?(I2j?mj?j)2],j?1,2,3,?,9(使用高斯型隶属函数) (4-7)

第三层为模糊条件层:

2O Ik3??w3(4-8) jkj

Ok3?Ik3,k=1,2, ?,27 (假设全连接)

第四层为模糊判决层:

4Ok3 (4-9) Ii4??wki

(Ii4), k=1, 2, 3 Ok4?min1,第五层为去模糊化层:

5 I5??wik Oi4??m1?1O14 (4-10)

11 O?5I5??O1141

网络中,除第五层外,各层的联结权值均为1。

这一标准的模糊神经网络能很好的实现模糊推理,但当控制经验增加时,计算量将随之增加。从网络结构图中可以看出,第三层的节点数会随输入变量个数的增加而以指数形式急剧增长。如果网络的输入输出数增加,总共需要调节的参数就会成倍增长,导致计算量增大网络运行速度降低,网络初始化困难,这些缺陷直接影响到网络的学习速度和收敛性。

在常规的模糊神经网络的设计中,在模糊规则确定的情况下,模糊控制系统的性能由模糊变量各子集的隶属度函数来决定。关于模糊变量的隶属函数以及参数的正确选取,这是一个多参数的寻优问题,在一般情况下,无法获得全局最优。而神经网络权值的求取,即网络的训练问题,神经网络由于控制系统,通常采用多层前向神经网络模型而且采用BP算法训练,由于BP算法采用梯度法难免出现局部极小问题。如何弥补模糊控制、神经网络的缺陷,成为人们关心的问题。

随着神经网络、模糊控制和进化计算在控制中的应用,我们可以采用基于遗传算法优化模糊神经网络参数。基于遗传算法,我们不需要控制对象的输入输出数据集,撇开基于神经网络需要数据集的麻烦,同时结合模糊控制,可以说,采用遗传算法优化倒立摆的模糊神经网络控制器参数理论上说是可行的。

4.2 直线一级倒立摆模糊神经网络控制器的设计

倒立摆模型一直是控制领域中研究的重点,本章采用了模糊控制和神经网络相结合的方式建立了倒立摆的模型,其中模糊控制系统采取的是Mamdani系统,

第 21 页 共 41 页

而神经网络采用的是GARIC自适应模糊神经网络,最后利用MATLAB仿真来验证算法的有效性。

4.2.1 模糊控制系统的设计

模糊控制系统与其他数字控制系统一样,由控制器、输入输出接口、执行机构、被控对象和测量装置这五个基本环节组成。这五个环节都与模糊控制器的设计有关。下面依次介绍设计模糊控制器的几个步骤:

1.模糊控制器的结构设计

所谓模糊控制器的结构设计,就是确定模糊控制器的输入输出变量。在本文

?以的倒立摆模型中,存在着倒立摆的角度?、角速度??、小车的位移x、速度x?及施加在小车上的控制力F等变量,因此在模糊控制算法中,采用?、??、x、x来作为输入量,而控制力F则作为输出量。因此模糊控制器的结构采用了多输入—单输出(MISO)的结构。

2.模糊语言变量的确定

要想建立模糊规则,首先就是要确定各个输入和输出的语言变量。模糊控制器的语言变量是指其输入变量和输出变量,它们是以自然语言形式而不是以数值形式给出的变量,因此有“模糊”之称.模糊控制规则是以“如果—那么”的形式来进行描述的,其中描述输入输出变量的语言词汇的集合称为这些变量的词集。在选取语言变量值时,既要考虑到控制规则的灵活与细致性,又要兼顾其简单易行的要求。这些量的大小按通常的语言,分为大、中、小和零四个等级,再在其前加上正负修饰或者一些语气词,这样就构成了语言变量值。本文中的各个输入输出变量的模糊子集划分如下:

倒立摆角度?: {负大,零,正大,很小},即{NB,ZO,PB,VS}

倒立摆角速度??:{负大,零,正大,很小},即{NB,ZO,PB,VS} 小车位移x: {负大,正大},即{NB,PB}

?: {负大,负小,正小,正大},即{NB,NS,PS,PB} 小车速度x控制力F: {负大,负中,负小,负很小,零,正很小,正小,正中,正大},即{NB,NM,NS,NV S,ZO,PV S,PS,PM,PB}

3.模糊语言变量的隶属度函数的确定

确定隶属度函数目前还没有一套成熟且行之有效的方法,大多数系统的确定方法还停留在经验和实验的基础上的。通常的确定方法是初步确定粗略的隶属函数,然后通过自主“学习”和不断实践来修正和完善,从而达到主观和客观的统一。目前确定隶属度函数的方法大致有以下几种:(1)主观经验法,当论域是离散时,根据主观认识或个人经验,直接或间接给出元素隶属度的具体值,由此确定隶属函数。具体方法包括专家评分法、因素加权法和二元排序法等;(2)

第 22 页 共 41 页

分析推理法,当论域连续时,根据问题的性质,应用一定的分析与推理,决定选用某些典型函数作为隶属函数;(3)调查统计法,以调查统计结果所得出的经验曲线作为隶属函数曲线,根据曲线找出相应的函数表达式。

?10abcu

图4.2 三角形隶属函数的可调参数

隶属函数类型主要有三角形、梯形和高斯型等,本文采用的是三角形隶属度函数。三角形隶属函数如图4.2所示,它主要有a,b,c三个参数,c是三角形的中心坐标,a和b分别是c点左边和右边的宽度。当a或b为?时,它实际上就变成了梯形隶属函数。图中的模糊集合A的隶属度为:

?I?x?cb,x?[c,c?b]? A?x???I?x?ca, x?[c?a,c] (4-11)

?其他0,?

倒立摆的各个变量的隶属函数参数如表4.1所示:

表4.1 倒立摆各变量隶属函数参数

变量 模糊集合 PB1 c b a 0.3 0.3 变量 模糊集合 PB PM PS PVS NB NM F NS NVS ZO c b a 20 5 ? ? ? ZO1 NB1 VS1 PB2 0 0.3 -0.3 -0.3 10 5 6 5 4 5 1 1 1 -20 ? 0.3 ? 0 0.05 -0.05 1 1 ? 5 ?? ZO2 NB2 VS2 0 1 1 -1 -10 6 5 -5 5 4 -1 1 1 0 1 1 ? 1 ? ? 0 0.1 0.1 0.5 0.5 -0.5 x PB3 NB3 PB4 ? 0.5 ? 1 1 1 -1 ? xNB4 PS4 NS4 0 0.01 1 0 1 0.01 第 23 页 共 41 页

4.模糊控制规则和模糊关系的确定

模糊控制算法的控制规则是基于手动控制策略,而手动控制策略又是人们通过学习、实验以及长期经验积累而逐渐形成的,存储在操作者头脑中的一种技术知识集合。手动控制过程一般是通过对被控对象(过程)的一些观测,操作者再根据己有的经验和技术知识进行一些综合分析并做出控制决策,调整加到被控对象的控制作用,从而使系统达到预期目标。手动控制的作用同自动控制系统中的控制器的作用是基本相同的,所不同的是手动控制策略是基于操作经验和技术知识,而控制器的控制决策是基于某种控制算法的数值运算。利用模糊集合理论和语言变量的概念,可以把语言归纳的手动控制策略上升为数值运算,采用微机完成这个任务,从而代替人的手动控制,实现所谓的模糊自动控制。

利用语言归纳手动控制策略的过程,实际上就是建立模糊控制器的控制规则的过程。由于本文着重于控制算法的设计与研究,没有考虑到测定倒立摆信号的传感器的位置优化问题以及传感器本身的性能问题。为了减少控制规则的条数,将对倒立摆系统的控制划分为对摆角度的控制和对小车位置的控制这两部分,在其下各设置规则库A和规则库B。由于对摆的角度制的精度高于对小车位置的控制,所以对摆的角度、角速度定义的模糊子集要多一些,规则库A中设置的规则也相应多一些,设想首先在规则A控制下取得平衡,再在平衡的基础上用规则库B控制向零点位置(导轨中心位置)慢慢地一边平衡一边移动,在实际控制中,这两组规则是循环交替使用的。下面以一系列“If-then”的模糊条件语句来描述模糊控制规则。

规则库A:摆的期望值是角度为0,角速度为0: 1.If (? is PB1) and (?? is PB2) then F is PB 2.If (? is PB1) and (?? is ZO2) then F is PM 3.If (? is PB1) and (?? is NB2) then F is ZO 4.If (? is ZO1) and (?? is PB2) then F is PS 5.If (? is ZO1) and (?? is ZO2) then F is ZO 6.If (? is ZO1) and (?? is NB2) then F is NS 7.If (? is NB1) and (?? is PB2) then F is ZO 8.If (? is NB1) and (?? is ZO2) then F is NM 9.If (? is NB1) and (?? is NB2) then F is NB

规则库B:小车的期望值是位置为0,速度为0:

? is PB4)10.If (? is VS1) and (?? is VS2) and (x is PB3) and (x then F is PS.

? is PS4)11.If (? is VS1) and (?? is VS2) and (x is PB3) and (x

第 24 页 共 41 页

then F is PVS

? is NB4)12.If (? is VS1) and (?? is VS2) and (x is NB3) and (x then F is NS.

? is NS4)13.If (? is VS1) and (?? is VS2) and (x is NB3) and (x then F is NVS.

从两个规则库一看即知,规则库A根据负反馈的原则,实现对摆直立的控制,规则库B采用正反馈的原则实现对小车的控制。规则库B之所以没有采用直观易懂的负反馈原则控制小车在原点停下来的原因在于控制摆不倒是首要的控制任务。当小车在导轨的右端向右移动,并且出于摆直立的考虑,需要给小车一个向右的力。如果硬性改小这个力,甚至改变它的方向,小车的运行趋势肯定无法满足摆直立的要求,必将导致摆的倒下。改用正反馈原则控制后,将加大这个力,使控制很快进人超调阶段。出于摆直立的考虑,自然而然需要给小车一个向左的力。这表现为给系统一个强有力的扰动,既然是扰动,就不能任何时候参与控制,否则会使超调过量,得不偿失,所以有时是规则库A控制系统,有时是A、B两个规则库控制系统。这两个规则库之间无优先级。由于在解模糊化处理过程中,采用了重心法,因此要把这13条规则自然而然的融为一个整体。当然采用模糊控制规则表的方法可以更方便地查看规则。表4.2所示的就是倒立摆系统的模糊控制规则表。

表4.2 模糊控制规则表

序号 1 2 3 4 5 6 7 8 9 10 11 12 13 ? PB1 PB1 PB1 ZO1 ZO1 ZO1 NB1 NB1 NB1 VS1 VS1 VS1 VS1 ?? PB2 ZO2 NB2 PB2 ZO2 NB2 PB2 ZO2 NB2 VS2 VS2 VS2 VS2 x PB3 PB3 NB3 NB3 ? x PB4 PS4 NB4 NS4 F PB PM ZO PS ZO NS ZO NM NB PS PVS NS NVS 5.输出信息的解模糊化处理

第 25 页 共 41 页

由于前面计算出的控制量是一个模糊子集,它反映的是控制语言的不同取值的一种组合。但对被控制对象只能施加一个控制量,就需要从模糊子集中判决出一个控制量,这个过程就称为去模糊化处理,也称为模糊判决。由通常有最大隶属度法、重心法和加权平均法。本文采用了重心法,因为重心法具有更平滑的输出推理控制,即对于输入信号的微小变化,其推理的最终输出一般也会发生一定的变化,且这种变化比较平滑。重心法是取模糊隶属度函数曲线与横坐标围成面积的重心为模糊推理最终输出值,即:

e?(e)de? e? (4-12)

??(e)deEE4.2.2 模糊控制规则的神经网络训练

欲要建立如表4.2的控制规则表,需要的计算量比较大,特别是当规则表比较大时。当对象发生某些变化,又得重新进行计算。因此本文利用人工神经网络来训练学习并建立控制表。本文采用的模糊自适应方案是利用GARIC系统进行再励学习。GARIC(generalized approximate reasoning-based intelligent control)系统,是由Berenji和Khedkar提出,在此系统中,没有教师信号,而系统只通过获得行为结果的“好”或“坏”、“成功”或“失败”一类的评价信息来实现学习,这种利用评价信息来改善行为的学习方法就称为再励学习或强化学习。

图4.3 GARIC的系统结构

GARIC的系统结构如图4.3所示,图中,P是被控对象,x是P的状态矢量,

r是出错信号,也称外部再励信号,只有在出错时r才为-1,其它时候都为0,f是加到P上的控制量,控制的目标是使r出现的概率尽可能小。控制系统中有三个单元,它们的功能如下:

AEN(Action Evaluation Network):这是一个普通的三层前馈型神经网络,它根据系统状态矢量x来评价系统的运行状况,产生对错误信号r的预报值v,

?(内部再励信号)。 再根据r和v来产生奖罚信号rASN(Action Selection Network):这是一个五层模糊神经网络,它根据系统的状态矢量产生建议的控制量f,ASN中包含控制规则集,反映人的操作经验。

第 26 页 共 41 页

SAM(stochastic action modifier):它是一种随机搜索算法,根据建议的控

?来产生一个最好的控制f?施加给被控对象。 制f和奖罚信号rGARIC具有自学习和自适应的能力,它在实时控制的过程中,根据内部再励

?修正AEN网络的权系数和ASN模糊神经网络的隶属函数参数,以使错误的信号r概率减小。

1.AEN网络设计

AEN网络是一个普通的三层前馈网络,其结构如图4.4所示。

图4.4 AEN网络的结构

在图4.4中,第一层为输入层,第二层为隐含层,第三层为输出层,aij代表第一、二层间的权系数矩阵,bi代表第一、三层间的权矢量,cj代表第二、三层间的权矢量。

(1)输入层:该层有5个结点,分别代表了倒立摆的角度?,角速度??,小

?,另外还设了一个偏置量x0。 车的位移x,小车的速度x(2)隐含层:隐含层一共设置了5个结点,输入层和隐含层之间的权系数为

aij,i?0,1,2,3,4j?1,2,3,4,5,每个结点内做以下运算:

yj(t,t?1)?g[?aij(t)xi(t?1)] (4-13)

i?04 g(s)?1 (4-14)

1?exp?(s)(3)输出层:该层只有一个结点,输出是状态评价信号v,该结点接受来自第二层和第一层的输入信号,做线性处理,有:

v(t,t?1)??bi(t)xi(t?1)??cj(t)yj(t,t?1) (4-15)

i?0j?145?,由状态评价信号v和外部再励信号r来产生: 内部再励信号r第 27 页 共 41 页

0初始状态???(t?1)??rr(t?1)?v(t,t) 错误状态 (4-16)

?r(t?1)??v(t,t?1)?v(t,t)正常状态?其中0???1是折扣率,r(t?1)是t?1时刻的出错信号,若出错,其值为-1,否则其值为0。v(t,t)是利用t时刻的权系数和t时刻的状态量对r的预报值,在这里取折扣v(t,t?1)是利用t时刻的权系数和t?1时刻的状态量对r的预报值。率??0.9。

该网络的权系数的修正采用一种奖罚的方案。若内部再励信号为正,则权值被奖励,它的修改方向是使它在总和中的贡献增加。若内部再励信号为负,则权值被惩罚,它的修改方向是使它在总和中的贡献减小。所以,第一、三层之间的权值bi(i?0,1,2,3,4)和第二、三层之间的权值cj(j?1,2,3,4,5)分别采用下列算法学习:

?(t?1)xi(t) (4-17) bi(t?1)?bi(t)???r ?(t?1)yj(t,t) (4-18) cj(t?1)?cj(t)???r

第一、二层之间的权系数aij采用了一种改进的BP算法来学习,算法如下:

?(t?1)yi(t,t)(1?yi(t,t))sgn(ci(t))xj(t) (4-19) aij(t?1)?aij(t)?bijr

上面三式中,学习率??0.3。 2.ASN网络设计

ASN是一个五层模糊神经网络,其结构如图4.5所示,它其实就相当于一个模糊控制器。

图4.5 ASN网络的结构示意图

ASN网络由输入层、模糊化层、规则层、解模糊层和输出层组成。 (1)输入层:在输入层设置了4个结点,输入系统的状态变量x1,x2,x3和

?四个变量,这一层不作处理,第一、二层间x4,它们分别代表了?,??,x,x的权系数为1。

第 28 页 共 41 页

(2)模糊化层:此层对每个输入变量定义模糊集合,对x定义2个模糊集合,

?各定义4个模糊集合,一共是14个模糊集合,因此该层一共有14而对?,??,和x个结点,采用的是三角形梯形的隶属度函数。

(3)规则层:模糊控制规则的一般形式是:

ll if x1?A1l and x2?A2 and ? and xn?An then f?Bl (4-20) Rl:其中l是规则数,该层的每个结点代表一条模糊规则,一共是13个结点,为了便于应用BP算法,在这里提出了一种“软最小”算子?l:

4 ?l??A(x)exp[?KA(x)]liiliii?1?exp[?KAi?1n (4-21)

LI(xi)]其中,K为控制算子“软硬”程度的参数,本处K取值为1。

(4)解模糊层:该层的结点数等于输出变量f的模糊集合数。该层的输入是规则的激活度?l,则第l条规则的输出是Bl?1(?l),当隶属度函数为三角形时,有:

Bl?1(?l)?c?0.5(b?1)(l??l) (4-22) (5)输出层:该层只有一个结点,它的输入来自于规则层的每个结点(?l)和解模糊层的每个结点(Bl?1(?l)),输出f由下式求出:

f???lB(?L)?1Li?19??i?19l (4-23)

训练ASN网络时,用P代表所有被调整参数组成的矢量,包括所有输入和输出变量的隶属函数参数,学习的目标是使v最大。采用下式进行训练:

?(t) ?P??s(t)r?v?f (4-24) ?f?P?v?f和的算法如下: ?f?P式中??0.001为学习率,s(t)称为“摄动因子”,

?vv(t)?v(t?1) (4-25) ??ff(t)?f(t?1)9?Bl?1(?l)?f???l

?Pi?1?P??i?19l (4-26)

?Bl?1(?l)?l (4-27) ?c第 29 页 共 41 页

?Bl?1(?l)1 ??(1??l) (4-28)

?a2?Bl?1(?l)1 ?(1??l) (4-29)

?b23.SAM算法设计

?来产生随机控制量f',f'的概率密度函它根据建议的控制量f和奖罚信号r数为:

p(f')?(f'?m)2 exp[] (4-30)22?2??1?(t?1)]。 其中m?f(t),??exp[?r另外,还将f正规化,即: s(t)?f'(t)?f(t) (4-31)

exp[?r(t?l)]s(t)用于ASN网络学习时的学习率的自适应调整。

综上所述,AEN网络的结构为N3[5,5,1],模糊神经网络即ASN网络的结构为

N5[4,14,13,9,1]。失败的条件设为??12?或者x?3m。训练由初始状态开始,失

败后重新由初始状态开始训练直至成功。

4.3 倒立摆神经网络控制器的MATLAB仿真

本论文对倒立摆的控制和模糊神经网络控制器的设计都是在MATLAB6.5环境下,用MATLAB语言进行仿真、控制的。MATLAB是集科学计算、结果可视化和编程于一身,能够方便地进行科学计算和大量工程计算的数学软件。目前,它已成为世界上应用最为广泛的工程计算软件之一[5]。

4.3.1 MATLAB与Simulink简介

MATLAB是Math Works公司推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需要简单的列出数学表达式,其结果便以数值或图形方式显示出来,特别是包括了被称作Toolbox(工具箱)的各类应用问题的求解工具,这使得它成为全世界各行各业的专业人员所“钟爱”的万能工具[7]。

Simulink是MATLAB中的一个用来对动态系统进行建模仿真和分析的软件包,它支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。它为图形用户接口提供动态系统的结构方块图模型。Simulink包含一

第 30 页 共 41 页

个庞大的模块库,用户可以通过鼠标点击和拖拉模块既快速又方便地对系统进行建模仿真,而不必编写任何程序代码。它还能让你在同一屏幕上进行仿真、资料显示和输出波形。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。SIMULINK包含有SINKS(输入方式)、SOURCE(输入源)、LINEAR(线性环节)、NONLINEAR(非线性环节)、CONNECTIONS(连接与接口)和EXTRA(其他环节)子模型库,而且每个子模型库中包含有相应的功能模块。用户也可以定制和创建用户自己的模块[4]。

4.3.2 直线一级倒立摆仿真实验 1.确定模糊控制器的输入输出

本设计采用Mamdani模糊模型,输入为倒立摆的角度?、角速度??、小车的

?,输出为施加在小车上的控制力F,解模糊采用重心法。在位移x、速度xMATLAB Command Window中输入fuzzy即可打开FIS Editor来设计新的FIS文件。如图4.6所示。

图4.6 FIS Editor编辑界面

2.确定各输入及输出的隶属度函数

本设计的四个输入和一个输出均采用三角形隶属函数,双击每个输入和输出模块,即可进入Membership Function Editor(隶属度函数编辑器),其设计界面如图4.7所示。首先设定五个模糊变量的论域初值,?的论域为[-0.78,0.78],

?的论域为[-2,2],F的论域为 ??的论域为[-2,2],x的论域为[-3,3],x[-20,20]。输入、输出的论域以及量化因子、比例因子会在神经网络训练后自行调整。

第 31 页 共 41 页

图4.7 隶属度函数的编辑界面

3.设计模糊控制规则

在FIS Editor界面下点击Edit/Rules来添加或修改控制规则,如图4.8所示。

图4.8 控制规则的编辑界面

4.仿真系统框图的设计

设计仿真系统框图如图4.9所示,图中state-space为倒立摆数学模型,FNNC为所设计的模糊神经网络控制器,Step为阶跃信号发生器。Scope为示波器。

第 32 页 共 41 页

图4.9 Simulink仿真系统框图

双击State-space模块,将第二章推导出的状态空间方程参数代入相应位置:

图4.10 倒立摆数学模型参数设置

5.仿真结果及分析

程序运行后,双击Scope,可观察系统阶跃响应仿真曲线如图4.11:

图4.11 系统阶跃响应曲线

可见,本文所设计的模糊神经网络控制器对倒立摆系统控制的仿真结果非常理想,具有较快的上升时间,较小的超调量,控制效果良好。

4.4 本章小结

第 33 页 共 41 页

在这一章里首先介绍了模糊神经网络控制器的设计思想,然后采用了模糊控制和神经网络相结合的方式建立了控制器模型,其中模糊控制系统采取的是Mamdani系统,而神经网络采用的是GARIC自适应模糊神经网络,最后利用MATLAB仿真来验证算法的有效性。结果表明,本文所设计的模糊神经网络控制器对倒立摆系统控制效果良好。在下一章中将进行直线一级倒立摆的实时控制实验。

5倒立摆系统的实时控制

5.1倒立摆实物系统介绍

本实验所用的倒立摆是固高公司生产的GLIP2001单级倒立摆系统[3],它包括倒立摆本体、电控箱及运动控制卡和PC机组成的控制平台等三大部分。

倒立摆本体主要由以下几部分组成:底座;驱动用交流伺服电机;同步带;带轮;滑竿、滑套;滑台、摆杆;角编码器;限位开关。

图5.1 直线一级倒立摆实物

电控箱内安装有如下主要部件:交流伺服驱动器;I/O接口板;开关电源;开关、指示灯等电气元件。

控制平台主要由以下部分组成:与IBM PC/AT机兼容的PC机,带PCI/ISA总线插槽;GT400-SV-PCI、GM400运动控制卡;GT400-SV-PCI、GM40运动控制卡用户接口软件;演示实验软件。

实时控制软件采用了MATLAB/Simulink的实时工具箱RTW(Real-Time Workshop)实现控制任务,运行在Windows操作系统基础上,专用的实时内核代替Windows操作系统接管了实时控制任务。内核任务执行的最小周期是1ms,大大地提高了系统控制的实时性,完全可以满足Windows下较高的实时性控制要求而不用担心Windows本身的实时性问题。

第 34 页 共 41 页

5.2 实时控制结果及分析

倒立摆实物系统实时控制框图如图5.2所示。设置MATLAB/Simulink的实时工具箱RTW(Real-Time Workshop)的参数,使其与外部设备连接。图中的Swing为固高公司自带的起摆模块,FNNC为本文中所设计的模糊神经网络控制器模块。daolibai为倒立摆模型,由仿真图可以看到倒立摆实时控制的位移、速度、角度和角速度作为模糊神经网络控制器的四个输入,通过示波器Scope可以观察到仿真后角度和位移的波形图。

图5.2 模糊神经网络控制器的实物系统框图

确定设备接线无误后,按照下面的步骤进行操作: 1.将小车推到正中位置,并使摆杆处于下垂静止状态; 2.点击“4.点击“

”编译程序; ”连接程序;

3.打开电控箱电源; 5.点击“”运行程序; 6.双击“Scope”观察波形。

实时控制曲线如图5.3~5.5所示。可见倒立摆系统起摆时小车以导轨中点位置为中心左右移动,甩动摆杆。慢慢增加控制力使小车带动摆杆甩到更高位置,直至摆杆成倒立竖直状态。图中摆杆角度曲线非常平滑,可见摆杆所受外界干扰(不包括强制干扰)非常小。而小车位移曲线就很不平滑,可见小车所受外界干扰很大,特别是摩擦力所带来的干扰,因此应该给小车导轨除尘,并上润滑油。

第 35 页 共 41 页

图5.3 倒立摆起摆的时候的图像(上为位移变化图像,下为角度变化图像,下同)

图5.4 倒立摆起摆和稳摆衔接时的图像

图5.5 倒立摆稳摆时的图像

用手拨动摆杆施加干扰,系统识别后,产生相应的控制力由电机带动小车运

第 36 页 共 41 页

动来抵消摆杆角度的变化,使系统平衡。由图5.6可知,倒立摆系统在控制范围内施加强制干扰,系统能够迅速恢复平衡状态,摆杆角度很小的变化都会引起小车较大的变化。所加干扰越大系统恢复平衡时间越长,在控制范围内所加的干扰一般恢复时间只有0.5s~2s。说明所设计的模糊神经网络控制器具有一定的抗扰动能力,对倒立摆实物系统稳摆控制效果良好。

图5.6 倒立摆系统在扰动作用下的变化图像

5.3 本章小结

本章首先对实验所用到倒立摆实验平台GLIP2001系统进行简要介绍,给出了倒立摆神经网络控制的系统图,然后进行了倒立摆的实时控制实验,并对示波器中的各个变量的仿真波形进行了分析。实验证明,本文所设计的模糊神经网络控制器对直线一级倒立摆的稳摆控制有着良好的控制效果。

结 论

模糊控制技术和神经网络技术同属于人工智能技术,各自具备对方恰恰不具备的优缺点,具有明显的互补性。模糊控制具备处理模糊语言信息的能力,可以模拟人类智慧进行判断和决策。但是模糊控制不具备学习功能,而神经网络恰恰相反。它具备学习功能,但不能处理和描述模糊信息。因此,将两者结合起来,使模糊控制具备学习功能,使人工神经网络具各处理模糊信息功能,进行判断和决策,这是模糊神经网络控制的基本出发点。

本文在分析了模糊控制和神经网络控制的优缺点基础上,将两者相结合讨论,建立模糊神经网络控制系统模型,对倒立摆系统建立了Mamdani型模糊推理系统,确定了输入输出的隶属度函数,并且采用自适应神经网络的再励学习的理论,对模糊控制规则进行了训练。通过在Simulink应用于固高公司的直线一级倒立摆稳摆控制中,结果证明,此结构对直线一级倒立摆的稳摆控制有良好的效果。

第 37 页 共 41 页

本文的主要研究成果如下:

1.采用了牛顿定律以及力矩平衡方程,建立了单级倒立摆系统的模型,并最终得到了系统的状态空间表达式。

2.介绍了模糊控制和神经网络的基础理论,并对建立模糊神经网络控制模型的方法和步骤进行了详细的阐述。

3.完成了模糊神经网络控制器的设计,对倒立摆系统建立了Mamdani型模糊推理系统,建立了输入输出的隶属度函数,并且采用自适应神经网络的再励学习的理论,对模糊控制规则进行训练。

4.在Simulink中进行了模糊神经网络控制器控制倒立摆的仿真实验,结果表明,本文所设计的模糊神经网络控制器对倒立摆稳摆有良好的控制效果,并且具有一定的抗干扰能力。

5.最后在固高倒立摆实验平台GLIP2001系统上进行了倒立摆的实时控制实验,并对示波器中的各个变量的仿真波形进行了分析。实验证明,本文所设计的模糊神经网络控制器对直线一级倒立摆的稳摆控制有着良好的控制效果。

目前模糊逻辑和神经网络的结合技术还处于摸索阶段,还有相当大的发展空间。经过这一段时间对模糊神经网络的研究,发现有如下方面还有待进一步的深入研究:

1. 模糊推理和神经网络的有效结合方式。不但要克服模糊推理和神经网络各自的缺点,还要保证各自的优点得到充分的发挥;

2. 更加有效的训练算法。因为工业中的实时性要求较高,所以只有较快的收敛速度才能使得模糊神经网络真正具备条件在智能控制工业中得到应用。

3. 初始样本数据与专家经验和推理规则之间的相互关系。因为在实际情况中,有时只能得到训练样本,有时只能得到专家经验和推理规则,所以如果能够将训练样本和专家经验相互揉合,则会使模糊神经网络的应用得到进一步的拓宽。

第 38 页 共 41 页

参考文献

[1] 李士勇.模糊控制?神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,1998.2

[2] 项伍,陈元春,刘新铭.基于模糊神经网络的倒立摆控制系统[J].计算机应用与软件,2006,23(10):68—70

[3] 固高科技公司.倒立摆和自动控制原理实验指导书[M].深圳:固高科技有限公司,2002.8 [4] 姚俊,马松辉.Simulink建模与仿真[M].西安:西安电子科技大学出版社,2002

[5] 飞思科技产品研发中心.MATLAB6.5辅助神经网络分析与设计[M].北京:电子工业出版社,2003 [6] 胡寿松主编.自动控制原理第四版[M].长沙:国防科技大学出版社,2002 [7] 吴晓莉等.MATLAB辅助模糊系统设计[M].西安:西安电子科技大学出版社,2002.8 [8] 戴葵.神经网络实现技术[M].长沙:国防科技大学出版社,1998 [9] 李国勇.智能控制与MATLAB实现[M].北京:电子工业出版社,2005.

[10] 吕开东.倒立摆系统设计及神经元控制研究[D].哈尔滨:哈尔滨工程大学[硕士论文],2006. [11] Wang L X. Adaptive fuzzy systems and control-design and stability analysis [M]. New Jersey:Prentice Hall, 1994

[12] Wang L X. Stable adaptive fuzzy control of nonlinear systems [J].IEEE Trans on Fuzzy Systems, 1993,1(10):146-155

第 39 页 共 41 页

致 谢

本文是在张秀芳老师的热情关心和悉心指导下完成的,张老师高尚的品德,渊博的知识、严谨的治学态度、诲人不倦的师者风范,不仅在毕业设计过程中令我受益匪浅,更是我一生学习的榜样!在此谨向张老师

致以最诚挚和最衷心的感谢!

其次,衷心的感谢实验室的张江林老师和胡志秋老师在进行倒立摆仿真及实物控制实验时对我的指导和帮助,他们无私的帮助和严谨务实的学术风范,是我一步步顺利完成实验的保证。

最后,向在百忙之中评审本文的各位专家、老师表示衷心的感谢!

作者简介:

姓 名: 王 飞 性别:男 出生年月: 1986-3-1 民族:汉 E-mail: sxdtwww@163.com

第 40 页 共 41 页

声 明

本论文的工作是 2008年3月至2008年6月在成都信息工程学院控制工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。

关于学位论文使用权和研究成果知识产权的说明:

本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。

(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。

除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明!

作者签名: 2008年06月04日

第 41 页 共 41 页

声 明

本论文的工作是 2008年3月至2008年6月在成都信息工程学院控制工程系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使用过的材料。除非另有说明,本文的工作是原始性工作。

关于学位论文使用权和研究成果知识产权的说明:

本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。

(5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。

除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信息工程学院。 特此声明!

作者签名: 2008年06月04日

第 41 页 共 41 页

本文来源:https://www.bwwdw.com/article/natp.html

Top