智能汽车设计基础-软.ppt
第3章 智能汽车设计基础软件第3章 智能汽车设计基础软件在智能车系统的设计中,硬件是基础,没有一个好的硬在智能车系统的设计中,硬件是基础,没有一个好的硬件平台,软件就无法运行。对于智能车系统来说,软件的核心件平台,软件就无法运行。对于智能车系统来说,软件的核心是控制算法。而完成这些任务的编程语言有汇编语言和是控制算法。而完成这些任务的编程语言有汇编语言和C C语言。语言。软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之间软件部分是整个智能车系统的灵魂,在硬件方面各参赛队之间大同小异,真正体现各参赛队智能车的优势和最后决定比赛成大同小异,真正体现各参赛队智能车的优势和最后决定比赛成绩好坏的往往是软件部分,尤其是核心控制算法的设计。本章绩好坏的往往是软件部分,尤其是核心控制算法的设计。本章首先简要介绍软件编程中使用的汇编语言和首先简要介绍软件编程中使用的汇编语言和C C语言各自的特点,语言各自的特点,然后重点介绍核心控制算法的原理。然后重点介绍核心控制算法的原理。3.1 3.1 编程语言简介编程语言简介13.2 3.2 控制算法控制算法2 思考题思考题3第3章 智能汽车设计基础软件3.1 编程语言简介汇编语言是用符号指令书写程序的语言,是依赖于硬件汇编语言是用符号指令书写程序的语言,是依赖于硬件平台的语言,对于不同架构的平台的语言,对于不同架构的CPUCPU都会有相应的汇编指令。都会有相应的汇编指令。汇编语言可以直接操作汇编语言可以直接操作CPUCPU内部的寄存器以及各种外围设备,内部的寄存器以及各种外围设备,对于单片机启动开始运行或者对于时序要求严格的对于单片机启动开始运行或者对于时序要求严格的I/OI/O操作操作必须采用汇编语言编写,在启动开始运行时汇编语言创建系必须采用汇编语言编写,在启动开始运行时汇编语言创建系统的运行环境。统的运行环境。C C语言的特点就是可以使程序员尽量少地对硬件进行操语言的特点就是可以使程序员尽量少地对硬件进行操作,具有很强的功能性、结构性和可移植性。由于作,具有很强的功能性、结构性和可移植性。由于C C语言具语言具有语言简洁、紧凑,使用灵活、方便,运算符和数据类型丰有语言简洁、紧凑,使用灵活、方便,运算符和数据类型丰富,可以直接访问物理地址,进行位操作,能实现汇编语言富,可以直接访问物理地址,进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此的大部分功能,可以直接对硬件进行操作,因此C C语言既具语言既具有高级语言的功能,又具有汇编语言的功能,对于编写与硬有高级语言的功能,又具有汇编语言的功能,对于编写与硬件相关的应用程序而言具有明显的优势。件相关的应用程序而言具有明显的优势。3.1 编程语言简介在绝大多数场合,采用在绝大多数场合,采用C C语言编程即可完成预期语言编程即可完成预期的目的,但是对实时时钟系统、要求执行效率高的的目的,但是对实时时钟系统、要求执行效率高的系统就不适合采用系统就不适合采用C C语言编程,对这些特殊情况进语言编程,对这些特殊情况进行编程时要结合汇编语言。汇编语言具有直接和硬行编程时要结合汇编语言。汇编语言具有直接和硬件打道、执行代码的效率高等特点,可以做到件打道、执行代码的效率高等特点,可以做到C C语语言所不能做到的一些事情,例如对时钟要求很严格言所不能做到的一些事情,例如对时钟要求很严格时,使用汇编语言便成了唯一的选择。这种混合编时,使用汇编语言便成了唯一的选择。这种混合编程的方法将程的方法将C C语言和汇编语言的优点结合起来,已语言和汇编语言的优点结合起来,已经成为目前单片机开发最流行的编程方法。关于编经成为目前单片机开发最流行的编程方法。关于编程语言的详细介绍可参阅相关书籍。程语言的详细介绍可参阅相关书籍。3.2 控制算法1 3.2.1 3.2.1 PID PID控制算法控制算法2 3.2.2 3.2.2 模糊控制算法模糊控制算法3 3.2.3 3.2.3 其它智能其它智能 控制算法控制算法3.2.1 PID控制算法PIDPID(Proportional Integral Proportional Integral DifferentialDifferential)控制是比例、积分、微分控制的简)控制是比例、积分、微分控制的简称。在自动控制领域中,称。在自动控制领域中,PIDPID控制是历史最久、生控制是历史最久、生命力最强的基本控制方式。命力最强的基本控制方式。PIDPID控制器的原理是根据系统的被调量实测值控制器的原理是根据系统的被调量实测值与设定值之间的偏差,利用偏差的与设定值之间的偏差,利用偏差的比例比例、积分积分、微微分分三个环节的不同组合计算出对广义被控对象的控三个环节的不同组合计算出对广义被控对象的控制量。图制量。图3.13.1是常规是常规PIDPID控制系统的原理框图控制系统的原理框图。3.2.1 PID控制算法 图图3.1 3.1 常规常规PIDPID控制系统原理框图控制系统原理框图3.2.1 PID控制算法 其中虚线框内的部分是其中虚线框内的部分是PIDPID控制器,其输入为设定值控制器,其输入为设定值 与被调量实测值与被调量实测值 构成的控制偏差信号构成的控制偏差信号 :(3.1)(3.1)其输出为该偏差信号的比例、积分、微分的线性组合,其输出为该偏差信号的比例、积分、微分的线性组合,也即也即PIDPID控制律:控制律:(3.2)(3.2)式中,式中,为比例系数;为比例系数;为积分时间常数;为积分时间常数;为微分时为微分时间常数。间常数。3.2.1 PID控制算法 根据被控对象动态特性和控制要求的不同,根据被控对象动态特性和控制要求的不同,式式(3.2)(3.2)中还可以只包含比例和积分的中还可以只包含比例和积分的PIPI调节或者调节或者只包含比例微分的只包含比例微分的PDPD调节。下面主要讨论调节。下面主要讨论PIDPID控制控制的特点及其对控制过程的影响、数字的特点及其对控制过程的影响、数字PIDPID控制策略控制策略的实现和改进,以及数字的实现和改进,以及数字PIDPID控制系统的设计和控控制系统的设计和控制参数的整定等问题。制参数的整定等问题。3.2.1 PID控制算法1 1PIDPID控制规律的特点控制规律的特点 (1 1)比例控制器)比例控制器 比例控制器是最简单的控制器,其控制规律为比例控制器是最简单的控制器,其控制规律为 (3.3)(3.3)式中,式中,K Kp p为比例系数;为比例系数;为控制量的初值,也就是在启动为控制量的初值,也就是在启动控制系统时的控制量。图控制系统时的控制量。图3.23.2所示是比例控制器对单位阶所示是比例控制器对单位阶跃输入的阶跃响应。跃输入的阶跃响应。由图由图3.23.2可以看到,比例控制器对于偏差是及时反应可以看到,比例控制器对于偏差是及时反应的,偏差一旦产生,控制器立即产生控制作用使被控量朝的,偏差一旦产生,控制器立即产生控制作用使被控量朝着减小偏差的方向变化,控制作用的强弱取决于比例系数着减小偏差的方向变化,控制作用的强弱取决于比例系数K Kp p。3.2.1 PID控制算法 图图3.2 3.2 比例控制器的阶跃响应比例控制器的阶跃响应3.2.1 PID控制算法比例控制器虽然简单快速,但对于具有自平衡比例控制器虽然简单快速,但对于具有自平衡性(即系统阶跃响应终值为一有限值)的被控对象性(即系统阶跃响应终值为一有限值)的被控对象存在静差。加大比例系数存在静差。加大比例系数K Kp p虽然可以减小静差,但虽然可以减小静差,但当当K Kp p过大时,动态性能会变差,会引起被控量振荡,过大时,动态性能会变差,会引起被控量振荡,甚至导致闭环系统不稳定。甚至导致闭环系统不稳定。3.2.1 PID控制算法(2 2)比例积分控制器)比例积分控制器 为了消除在比例控制中存在的静差,可在比例为了消除在比例控制中存在的静差,可在比例控制的基础上加上积分控制作用,构成比例积分控制的基础上加上积分控制作用,构成比例积分PIPI控制器,其控制规律为控制器,其控制规律为 (3.4)(3.4)式中,式中,称为积分时间。图称为积分时间。图3.33.3所示为所示为PIPI控制器对单控制器对单位阶跃输入的阶跃响应。位阶跃输入的阶跃响应。3.2.1 PID控制算法 PI PI控制器对偏差的作用有两个部分:一个是按比例部控制器对偏差的作用有两个部分:一个是按比例部分的成分,另一个是带有累积的成分(即呈一定斜率变化的分的成分,另一个是带有累积的成分(即呈一定斜率变化的部分),这就是积分控制部分的作用。只要偏差存在,积分部分),这就是积分控制部分的作用。只要偏差存在,积分将起作用,将偏差累计,并对控制量产生影响,即偏差减小,将起作用,将偏差累计,并对控制量产生影响,即偏差减小,直至偏差为零,积分作用才会停止。因此,加入积分环节将直至偏差为零,积分作用才会停止。因此,加入积分环节将有助于消除系统的静差,改善系统的稳态性能。有助于消除系统的静差,改善系统的稳态性能。3.2.1 PID控制算法 图图3.3 PI3.3 PI控制器的阶跃响应控制器的阶跃响应3.2.1 PID控制算法显然,如果积分时间太大,则积分作用减弱,反之则显然,如果积分时间太大,则积分作用减弱,反之则积分作用较强。增大,将使消除静差的过程变得缓慢,但可积分作用较强。增大,将使消除静差的过程变得缓慢,但可以减小系统的超调量,提高稳定性。必须根据被控对象的特以减小系统的超调量,提高稳定性。必须根据被控对象的特性来选定,如对于管道压力、流量等滞后不大的对象,可以性来选定,如对于管道压力、流量等滞后不大的对象,可以选得小些,对温度、成分等滞后比较大的对象,可以选得大选得小些,对温度、成分等滞后比较大的对象,可以选得大些。些。3.2.1 PID控制算法(3 3)比例积分微分控制器)比例积分微分控制器 积分调节作用的加入,虽然可以消除静差,但其代价是积分调节作用的加入,虽然可以消除静差,但其代价是降低系统的响应速度。为了加快控制过程,有必要在偏差出降低系统的响应速度。为了加快控制过程,有必要在偏差出现或变化的瞬间,不但要对偏差量做出反应(即比例控制作现或变化的瞬间,不但要对偏差量做出反应(即比例控制作用),而且要对偏差量的变化做出反应,或者说按偏差变化用),而且要对偏差量的变化做出反应,或者说按偏差变化的趋势进行控制,使偏差在萌芽状态被抑制。为了达到这一的趋势进行控制,使偏差在萌芽状态被抑制。为了达到这一控制目的,可以在控制目的,可以在PIPI控制器的基础上加入微分控制作用,即控制器的基础上加入微分控制作用,即构造比例积分微分控制器(构造比例积分微分控制器(PIDPID控制器)。控制器)。PIDPID控制器的控制控制器的控制规律为规律为 (3.5)(3.5)3.2.1 PID控制算法 式中,称为微分时间。理想的式中,称为微分时间。理想的PIDPID控制器对偏差阶跃变化的响控制器对偏差阶跃变化的响应如图应如图3.43.4所示,它在偏差变化的瞬间处有一个冲激式的瞬态所示,它在偏差变化的瞬间处有一个冲激式的瞬态响应,这就是由微分环节引起的。响应,这就是由微分环节引起的。图图3.4 3.4 理想理想PIDPID控制器的阶跃响应控制器的阶跃响应3.2.1 PID控制算法由微分部分的控制作用由微分部分的控制作用 (3.6)(3.6)可见,它对偏差的任何变化都会产生控制作用,以调整可见,它对偏差的任何变化都会产生控制作用,以调整系统的输出,阻止偏差的变化。偏差变化越快,控制量就越系统的输出,阻止偏差的变化。偏差变化越快,控制量就越大,反馈校正量就越大。故微分作用的加入将有助于减少超大,反馈校正量就越大。故微分作用的加入将有助于减少超调量,克服振荡,使系统趋于稳定。微分作用可以加快系统调量,克服振荡,使系统趋于稳定。微分作用可以加快系统的动作速度,减小调整时间,改善系统的动态性能。的动作速度,减小调整时间,改善系统的动态性能。3.2.1 PID控制算法2 2数字数字PIDPID控制算法控制算法 在连续生产过程控制系统中,通常采用如图在连续生产过程控制系统中,通常采用如图3.13.1所示所示的的PIDPID控制,其对应的传递函数表达式为控制,其对应的传递函数表达式为 (3.7)(3.7)对应的控制算法表达式为对应的控制算法表达式为 (3.8)(3.8)式中,式中,为比例增益;为比例增益;为积分时间常数;为积分时间常数;为微分时间为微分时间常数;常数;为控制量;为控制量;为被控量与设定值为被控量与设定值 的偏差。的偏差。3.2.1 PID控制算法 为了便于计算机实现为了便于计算机实现PIDPID算法,必须将式算法,必须将式(3.3)(3.3)改写为离散改写为离散(采样)式,这可以将积分运算用部分和近似代替,微分运(采样)式,这可以将积分运算用部分和近似代替,微分运算用差分方程表示,即算用差分方程表示,即 (3.9 (3.9)(3.10)(3.10)式中,式中,T T为采样周期;为采样周期;k k为采样周期的序号(为采样周期的序号();和);和分别为第和第分别为第和第k k个采样周期的偏差。个采样周期的偏差。3.2.1 PID控制算法 将式将式(3.9)(3.9)和式和式(3.10)(3.10)代入式代入式(3.8)(3.8)可得相应的差分方程,可得相应的差分方程,即即 (3.11)(3.11)式中,式中,为第为第 k k 个采样时刻的控制量。如果采样周个采样时刻的控制量。如果采样周期期T T与被控对象时间常数比较相对较小,那么这种近似是合与被控对象时间常数比较相对较小,那么这种近似是合理的,并与连续控制的效果接近。理的,并与连续控制的效果接近。模拟调节器很难实现理想的微分模拟调节器很难实现理想的微分 ,而利用计算,而利用计算机可以实现式机可以实现式(3.10)(3.10)所表示的差分运算,故将式所表示的差分运算,故将式(3.11)(3.11)称为称为理想微分数字理想微分数字PIDPID控制器。基本的数字控制器。基本的数字PIDPID控制器一般具有以控制器一般具有以下两种形式的算法。下两种形式的算法。3.2.1 PID控制算法 图图3.5 3.5 位置型算法流程图位置型算法流程图3.2.1 PID控制算法 (1 1)位置型算法)位置型算法 模拟调节器的调节动作是连续的,任何瞬间的输出控制模拟调节器的调节动作是连续的,任何瞬间的输出控制量量 u u 都对应于执行机构(如调节阀)的位置。由式都对应于执行机构(如调节阀)的位置。由式(3.11)(3.11)可知,数字控制器的输出控制量可知,数字控制器的输出控制量 也和阀门位置相对应,也和阀门位置相对应,故称为位置型算式(简称位置式)。相应的算法流程图如图故称为位置型算式(简称位置式)。相应的算法流程图如图3.53.5所示。所示。由图由图3.53.5可以看出,因为积分作用是对一段时间内偏差可以看出,因为积分作用是对一段时间内偏差信号的累加,因此,利用计算机实现位置型算法不是很方便,信号的累加,因此,利用计算机实现位置型算法不是很方便,不仅需要占用较多的存储单元,而且编程也不方便,因此可不仅需要占用较多的存储单元,而且编程也不方便,因此可以采用其改进式以采用其改进式增量型算法来实现。增量型算法来实现。(2 2)增量型算法)增量型算法 根据式根据式(3.6)(3.6)不难得到第个采样周期的控制量,即不难得到第个采样周期的控制量,即 (3.12)(3.12)将式将式(3.11)(3.11)与式与式(3.12)(3.12)相减,可以得到第相减,可以得到第k k个采样时刻个采样时刻控制量的增量,即控制量的增量,即 (3.13)(3.13)式中,式中,为比例增益;为比例增益;为积分系数,为积分系数,;为微分系数,为微分系数,。3.2.1 PID控制算法 3.2.1 PID控制算法 由于式由于式(3.13)(3.13)中对应于第中对应于第k k个采样时刻阀门位置的增量,个采样时刻阀门位置的增量,故称式故称式(3.13)(3.13)为增量型算式。由此,第为增量型算式。由此,第k k个采样时刻实际控个采样时刻实际控制量为制量为 (3.14)(3.14)为了编写程序方便,将式为了编写程序方便,将式(3.13)(3.13)改写为改写为 (3.15)(3.15)式中,式中,;。3.2.1 PID控制算法 由此可见,要利用由此可见,要利用 和和 得到得到 ,只需要,只需要用到用到 ,和和 三个历史数据。在编程过程中,三个历史数据。在编程过程中,这三个历史数据可以采用平移法保存,从而可以递推使用,占用这三个历史数据可以采用平移法保存,从而可以递推使用,占用的存储单元少,编程简单,运算速度快。增量型算法的程序流程的存储单元少,编程简单,运算速度快。增量型算法的程序流程图如图图如图3.63.6所示。所示。增量型算法仅仅是在算法设计上的改进,其输出是相对于上次增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反映执行机构的位置开度。如果希望输出控制量的增量,则必须采反映执行机构的位置开度。如果希望输出控制量的增量,则必须采用具有保持位置功能的执行机构。用具有保持位置功能的执行机构。数字数字PIDPID控制器的输出控制量通常都是通过控制器的输出控制量通常都是通过D/AD/A转换器输出的,转换器输出的,在在D/AD/A转换器中将数字信号转换成模拟信号(转换器中将数字信号转换成模拟信号(4 420 mA20 mA的电流信号的电流信号或或0 05 V5 V的电压信号),然后通过放大驱动装置作用于执行机构,的电压信号),然后通过放大驱动装置作用于执行机构,信号作用的时间连续到下一个控制量到来之前。因此,信号作用的时间连续到下一个控制量到来之前。因此,D/AD/A转换器转换器具有零阶保持器的功能。具有零阶保持器的功能。3.2.1 PID控制算法图图3.6 3.6 增量型算法流程图增量型算法流程图 3.2.2 模糊控制算法模糊(模糊(FuzzyFuzzy)控制是用语言归纳操作人员的控制策略,)控制是用语言归纳操作人员的控制策略,运用语言变量和模糊集合理论形成控制算法的一种控制。运用语言变量和模糊集合理论形成控制算法的一种控制。模糊控制的最重要特征是不需要建立被控对象精确的数模糊控制的最重要特征是不需要建立被控对象精确的数学模型,只要求把现场操作人员的经验和数据总结成较学模型,只要求把现场操作人员的经验和数据总结成较完善的语言控制规则,从而能够对具有不确定性、不精完善的语言控制规则,从而能够对具有不确定性、不精确性、噪声以及非线性、时变性、时滞等特征的控制对确性、噪声以及非线性、时变性、时滞等特征的控制对象进行控制。模糊控制系统的鲁棒性强,尤其适用于非象进行控制。模糊控制系统的鲁棒性强,尤其适用于非线性、时变、滞后系统的控制。模糊控制的基本结构如线性、时变、滞后系统的控制。模糊控制的基本结构如图图3.73.7所示。所示。3.2.2 模糊控制算法图图3.73.7 模糊控制基本结构图模糊控制基本结构图3.2.2 模糊控制算法 1 1模糊控制器的输入变量与输出变量模糊控制器的输入变量与输出变量(1 1)模糊控制器的输入、输出变量)模糊控制器的输入、输出变量 模糊控制器是模仿人的一种控制。在对被控对象进行模糊控制器是模仿人的一种控制。在对被控对象进行控制的过程中,一般根据设定值与被控量的偏差、偏差变控制的过程中,一般根据设定值与被控量的偏差、偏差变化化ECEC和偏差变化的速率和偏差变化的速率ERER进行决策。人对偏差最敏感,其进行决策。人对偏差最敏感,其次是偏差的变化,再次是偏差变化的速率。因此,模糊控次是偏差的变化,再次是偏差变化的速率。因此,模糊控制器的输入变量通常取、和制器的输入变量通常取、和ECEC或者或者,EC,EC和和ERER,分别构成所,分别构成所谓一维、二维和三维模糊控制器。一维模糊控制器的动态谓一维、二维和三维模糊控制器。一维模糊控制器的动态性能不佳,通常用于一阶被控对象,二维模糊控制器的控性能不佳,通常用于一阶被控对象,二维模糊控制器的控制性能和控制复杂性都比较好,是目前广泛采用的一种形制性能和控制复杂性都比较好,是目前广泛采用的一种形式。并且,一般选择增量算法作为模糊控制器的输出变量式。并且,一般选择增量算法作为模糊控制器的输出变量。3.2.2 模糊控制算法(2 2)描述输入、输出变量的词汇)描述输入、输出变量的词汇 在模糊控制中,输入、输出变量大小是以语言形式描述的,因在模糊控制中,输入、输出变量大小是以语言形式描述的,因此要选择描述这些变量的词汇。我们的日常语言中对各种事物和变量此要选择描述这些变量的词汇。我们的日常语言中对各种事物和变量的描述,总是习惯于分为三个等级,例如,物体的大小分为大、中、的描述,总是习惯于分为三个等级,例如,物体的大小分为大、中、小;运动的速度分为快、中、慢;年龄的大小分为老、中、青。实际小;运动的速度分为快、中、慢;年龄的大小分为老、中、青。实际应用中一般都选用应用中一般都选用“大、中、小大、中、小”三个词汇来描述模糊控制器的输入、三个词汇来描述模糊控制器的输入、输出变量的状态,再加上正、负两个方向和零状态,共有输出变量的状态,再加上正、负两个方向和零状态,共有7 7个词汇,个词汇,即即 负大,负中,负小,零,正小,正中,正大负大,负中,负小,零,正小,正中,正大 一般用这些词的英文字头缩写,即一般用这些词的英文字头缩写,即 NB,NM,NS,O,PS,PM,PB NB,NM,NS,O,PS,PM,PB 一般情况下,选择上述一般情况下,选择上述7 7个词汇比较合适,但也可以多选或少选。选个词汇比较合适,但也可以多选或少选。选择较多的词汇,可以精确描述变量,提高控制精度,但会使控制规则择较多的词汇,可以精确描述变量,提高控制精度,但会使控制规则变得复杂;选择的词汇过少,则对变量的描述过于粗糙,导致控制器变得复杂;选择的词汇过少,则对变量的描述过于粗糙,导致控制器的性能变差。的性能变差。3.2.2 模糊控制算法 (3 3)变量的模糊量)变量的模糊量 某个变量变化的实际范围称为该变量的基本论域。记偏某个变量变化的实际范围称为该变量的基本论域。记偏差的基本论域为,偏差变化的基本论域为,模糊控制器的差的基本论域为,偏差变化的基本论域为,模糊控制器的输出变量(系统的控制量)的基本论域为。显然,基本论输出变量(系统的控制量)的基本论域为。显然,基本论域内的量是精确量,因而模糊控制器的输入和输出都是精域内的量是精确量,因而模糊控制器的输入和输出都是精确量,但是模糊控制算法需要模糊量。因此,输入的精确确量,但是模糊控制算法需要模糊量。因此,输入的精确量(数字量)需要转换为模糊量,这个过程称为量(数字量)需要转换为模糊量,这个过程称为“模糊化模糊化”(FuzzificationFuzzification);另一方面,模糊算法所得到的模糊);另一方面,模糊算法所得到的模糊控制量需要转换为精确的控制量,这个过程称为控制量需要转换为精确的控制量,这个过程称为“清晰化清晰化”或者或者“反模糊化反模糊化”(DefuzzificationDefuzzification)。)。比较实用的模糊化方法是将基本论域分为比较实用的模糊化方法是将基本论域分为n n个档次,即个档次,即取变量的模糊子集论域为取变量的模糊子集论域为3.2.2 模糊控制算法 从基本论域到模糊子集论域的转换公式为从基本论域到模糊子集论域的转换公式为 (3.16)(3.16)增加论域中的元素个数可以提高控制精度,但增大了增加论域中的元素个数可以提高控制精度,但增大了计算量,而且模糊控制效果的改善并不明显。一般选择模计算量,而且模糊控制效果的改善并不明显。一般选择模糊论域中所含元素的个数为模糊语言词集总数的两倍以上,糊论域中所含元素的个数为模糊语言词集总数的两倍以上,以确保各模糊集能较好地覆盖论域,避免出现失控现象。以确保各模糊集能较好地覆盖论域,避免出现失控现象。例如在选择上述例如在选择上述7 7个词汇的情况下,可选择个词汇的情况下,可选择E E和和ECEC的论域均的论域均为为 选择模糊控制器的输出变量即系统的控制量选择模糊控制器的输出变量即系统的控制量U U的论域为的论域为3.2.2 模糊控制算法 (4 4)隶属度)隶属度 为了实现模糊化,要在上述离散化了的精确量与表示为了实现模糊化,要在上述离散化了的精确量与表示模糊语言的模糊量之间建立关系,即确定论域中的每个元模糊语言的模糊量之间建立关系,即确定论域中的每个元素对各个模糊语言变量的隶属度。素对各个模糊语言变量的隶属度。隶属度是描述某个确定量隶属于某个模糊语言变量的隶属度是描述某个确定量隶属于某个模糊语言变量的程度。例如,在上述和程度。例如,在上述和ECEC的论域中,的论域中,+6+6隶属于(正大),隶属于(正大),隶属度为隶属度为1.01.0;+5+5也隶属于,但隶属度要比也隶属于,但隶属度要比+6+6差,可取为差,可取为0.80.8;+4+4隶属于的程度更小,隶属度可取为隶属于的程度更小,隶属度可取为0.40.4;显然;显然-6-60 0就不隶属于了,所以隶属度取为就不隶属于了,所以隶属度取为0 0。确定隶属度的值要根据实际问题的具体情况而定。实确定隶属度的值要根据实际问题的具体情况而定。实验研究结果表明,人进行控制活动时的模糊概念一般可以验研究结果表明,人进行控制活动时的模糊概念一般可以用正态型模糊变量描述。下面给出常用的确定模糊变量隶用正态型模糊变量描述。下面给出常用的确定模糊变量隶属度的赋值表,如表属度的赋值表,如表3.13.1、表、表3.23.2和表和表3.33.3所示。所示。3.2.2 模糊控制算法2 2建立模糊控制规则建立模糊控制规则 模糊控制是语言控制,因此要用语言归纳专家的手动模糊控制是语言控制,因此要用语言归纳专家的手动控制策略,从而建立模糊控制规则表。手动控制策略一般控制策略,从而建立模糊控制规则表。手动控制策略一般都可以用条件语句加以描述。条件语句的基本类型为都可以用条件语句加以描述。条件语句的基本类型为 if A or B and C or D then U if A or B and C or D then U3.2.2 模糊控制算法3.2.2 模糊控制算法3.2.2 模糊控制算法3.2.2 模糊控制算法 下面介绍一种根据系统输出的误差及误差的变化趋势,下面介绍一种根据系统输出的误差及误差的变化趋势,消除误差的模糊控制规则。该规则用下述消除误差的模糊控制规则。该规则用下述2121条模糊条件语条模糊条件语句来描述。句来描述。1if E=NB or NM and EC=NB or NM then U=PB1if E=NB or NM and EC=NB or NM then U=PB2if E=NB or NM and EC=NS or O then2if E=NB or NM and EC=NS or O then U=PB U=PB3if E=NB or NM and EC=PS then3if E=NB or NM and EC=PS then U=PMU=PM4if E=NB or NM and EC=PM or PB then4if E=NB or NM and EC=PM or PB then U=O U=O5if E=NS and EC=NB or NM then5if E=NS and EC=NB or NM then U=PM U=PM6if E=NS and EC=NS or O then6if E=NS and EC=NS or O then U=PM U=PM7if E=NS and EC=PS then7if E=NS and EC=PS then U=O U=O8if E=NS and EC=PM or PB then8if E=NS and EC=PM or PB then U=NS U=NS9if E=NO or PO and EC=NB or NM then U=PM9if E=NO or PO and EC=NB or NM then U=PM10if E=NO or PO and EC=NS then U=PS10if E=NO or PO and EC=NS then U=PS11if E=NO or PO and EC=O then U=O11if E=NO or PO and EC=O then U=O3.2.2 模糊控制算法12if E=NO or PO and EC=PS then U=NS12if E=NO or PO and EC=PS then U=NS13if E=NO or PO and EC=PM or PB then U=NM13if E=NO or PO and EC=PM or PB then U=NM14if E=PS and EC=NB or NM then U=PS14if E=PS and EC=NB or NM then U=PS15if E=PS and EC=NS then U=O15if E=PS and EC=NS then U=O16if E=PS and EC=O or PS then16if E=PS and EC=O or PS then U=NM U=NM17if E=PS and EC=PM or PB then U=NM17if E=PS and EC=PM or PB then U=NM18if E=PM or PB and EC=NB or NM then U=O18if E=PM or PB and EC=NB or NM then U=O19if E=PM or PB and EC=NS then U=NM19if E=PM or PB and EC=NS then U=NM20if E=PM or PB and EC=O or PS then20if E=PM or PB and EC=O or PS then U=NB U=NB21if E=PM or PB and EC=PM or PB then U=NB21if E=PM or PB and EC=PM or PB then U=NB以上以上2121条模糊条件语句可以归纳为模糊控制规则表条模糊条件语句可以归纳为模糊控制规则表3.43.4。3.2.2 模糊控制算法 3.2.2 模糊控制算法3 3模糊关系与模糊推理模糊关系与模糊推理 模糊控制规则实际上是一组多重条件语句,可以表示模糊控制规则实际上是一组多重条件语句,可以表示为从偏差论域到控制论域的模糊关系矩阵为从偏差论域到控制论域的模糊关系矩阵 ,通过偏差的,通过偏差的模糊向量模糊向量 和偏差变化的模糊向量和偏差变化的模糊向量 ,与模糊关系矩阵,与模糊关系矩阵 的合成进行模糊推理,得到控制量的模糊向量,然后采用的合成进行模糊推理,得到控制量的模糊向量,然后采用“反模糊化反模糊化”方法将模糊控制向量转换为精确量。方法将模糊控制向量转换为精确量。根据模糊集合和模糊关系理论,对于不同类型的模糊根据模糊集合和模糊关系理论,对于不同类型的模糊规则可用不同的模糊推理方法。下面仅介绍其中的对规则可用不同的模糊推理方法。下面仅介绍其中的对if A if A then Bthen B类型的模糊规则的推理。类型的模糊规则的推理。若已知输入为若已知输入为 ,则输出为,则输出为 ;若现在已知输入为;若现在已知输入为 ,则输出,则输出 用合成规则求取:用合成规则求取:(3.17)(3.17)其中模糊关系其中模糊关系 定义为定义为3.2.2 模糊控制算法 例如,已知当输入的模糊集合和输出的模糊集合分别为例如,已知当输入的模糊集合和输出的模糊集合分别为 (3.18)(3.18)(3.19)(3.19)这这里采用模糊集合的里采用模糊集合的ZadehZadeh表示法,其中表示法,其中 ,表示模表示模糊集合所对应的论域中的元素,糊集合所对应的论域中的元素,而表示相应的隶属度,而表示相应的隶属度,“”不表示分数的意思。不表示分数的意思。3.2.2 模糊控制算法 (3.20)(3.20)3.2.2 模糊控制算法则当输入则当输入 (3.21)(3.21)由下式求取,即由下式求取,即3.2.2 模糊控制算法则则 (3.22)(3.22)在上述运算中,在上述运算中,“”为取小运算,为取小运算,“”为取大运为取大运算。算。由于系统的控制规则库是由若干条规则组成的,因此由于系统的控制规则库是由若干条规则组成的,因此对于每一条推理规则都可以得到一个相应的模糊关系。对于每一条推理规则都可以得到一个相应的模糊关系。n n条规则就有条规则就有n n个模糊关系:个模糊关系:,对于整个系统,对于整个系统的全部控制规则所对应的模糊关系可对的全部控制规则所对应的模糊关系可对 n n个模糊关系个模糊关系 ()()取取“并并”操作得到,即操作得到,即 (3.23)(3.23)3.2.2 模糊控制算法 4 4模糊控制向量的模糊判决模糊控制向量的模糊判决 由上述得到的控制量是一个模糊集合,需要采用由上述得到的控制量是一个模糊集合,需要采用“反模糊化反模糊化”方法将模糊控制项转换为精确量。下面介绍两种简单实用方法将模糊控制项转换为精确量。下面介绍两种简单实用的方法。的方法。(1 1)最大隶属度法)最大隶属度法 这种方法是在模糊控制向量中,取隶属度最大的控制量作为这种方法是在模糊控制向量中,取隶属度最大的控制量作为模糊控制器的输出。例如,当得到模糊控制向量为模糊控制器的输出。例如,当得到模糊控制向量为 (3.24)(3.24)由于控制量隶属于等级由于控制量隶属于等级5 5的隶属度为最大,所以取控制量为的隶属度为最大,所以取控制量为 这种方法的优点是简单易行,缺点是完全排除了其他隶这种方法的优点是简单易行,缺点是完全排除了其他隶属度较小的控制量的影响和作用,没有充分利用取得的信息。属度较小的控制量的影响和作用,没有充分利用取得的信息。3.2.2 模糊控制算法 (2 2)加权平均判决法)加权平均判决法 为了克服最大隶属度法的缺点,可以采用加权平均判为了克服最大隶属度法的缺点,可以采用加权平均判决法,即决法,即 (3.25)(3.25)例如例如 则则3.2.2 模糊控制算法 5 5模糊控制表模糊控制表 模糊关系、模糊推理以及模糊判决的运算可以离线进模糊关系、模糊推理以及模糊判决的运算可以离线进行,最后得到模糊控制器输入量的量化等级行,最后得到模糊控制器输入量的量化等级 ,EC,EC与输出与输出量即系统控制量的量化等级之间量即系统控制量的量化等级之间 的确定关系,这种关系的确定关系,这种关系通常称为通常称为“控制表控制表”。对应于前面介绍的。对应于前面介绍的2121条控制规则的条控制规则的“控制表控制表”如表如表3.53.5所列所列。模糊控制表可以离线求出,作为文件存储在计算机中,模糊控制表可以离线求出,作为文件存储在计算机中,计算机实时控制时只要将计算机实时控制时只要将A/DA/D转换得到的偏差和偏差变化转换得到的偏差和偏差变化 ec ec 进行量化,得到相应的等级进行量化,得到相应的等级 E E 和和 EC EC,然后从文件中,然后从文件中直接查询所需采取的控制策略。直接查询所需采取的控制策略。3.2.2 模糊控制算法3.2.2 模糊控制算法6 6确定实际的控制量确定实际的控制量 显然,实际的控制量显然,实际的控制量 应为从控制表中查到的量化等级应为从控制表中查到的量化等级 乘乘以比例因子。设实际的控制量以比例因子。设实际的控制量 的变化范围为的变化范围为 a a,b b,量,量化等级为化等级为 ,则实际的控制量应,则实际的控制量应为为 若若 ,则,则 例如在上述二维模糊控制器中,当例如在上述二维模糊控制器中,当 E E 和和 EC EC 的量化等级的量化等级分别为分别为-3-3和和+