文档库 最新最全的文档下载
当前位置:文档库 › 模糊控制算法c程序

模糊控制算法c程序

模糊控制算法c程序
模糊控制算法c程序

由于项目需要,需要模糊控制算法,之前此类知识为0,经过半个多月的研究,终于有的小进展。开始想从强大的互联网上搜点c代码来研究下,结果搜遍所有搜索引擎都搜不到,以下本人从修改的模糊控制代码,经过自己修改后可在vc6.0,运行!输入e表示输出误差,ec表示误差变化率,经过测试具有很好的控制效果,对于非线性系统和数学模型难以建立的系统来说有更好的控制效果!现将其公开供大家学习研究!

#include

#include"math.h"

#define PMAX 100

#define PMIN -100

#define DMAX 100

#define DMIN -100

#define FMAX 100 /*语言值的满幅值*/

int PFF[4]={0,12,24,48};

/*输入量D语言值特征点*/

int DFF[4]={0,16,32,64};

/*输出量U语言值特征点*/

int UFF[7]={0,15,30,45,60,75,90};

/*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/

/*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */

int rule[7][7]={

//误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差

{-6,-6,-6,-5,-5,-5,-4,}, // -3

{-5,-4,-4,-3,-2,-2,-1,}, // -2

{-4,-3,-2,-1, 0, 1, 2,}, // -1

{-4,-3,-1, 0, 1, 3, 4,}, // 0

{-2,-1, 0, 1, 2, 3, 4,}, // 1

{ 1, 2, 2, 3, 4, 4, 5,}, // 2

{ 4, 5, 5, 5, 6, 6, 6}}; // 3

/**********************************************************/

int Fuzzy(int P,int D) /*模糊运算引擎*/

{

int U; /*偏差,偏差微分以及输出值的精确量*/ unsigned int PF[2],DF[2],UF[4]; /*偏差,偏差微分以及输出值的隶属度*/

int Pn,Dn,Un[4];

long temp1,temp2;

/*隶属度的确定*/

/*根据PD的指定语言值获得有效隶属度*/

if(P>-PFF[3] && P

{

if(P<=-PFF[2])

{

Pn=-2;

PF[0]=FMAX*((float)(-PFF[2]-P)/(PFF[3]-PFF[2]));

}

else if(P<=-PFF[1])

{

Pn=-1;

PF[0]=FMAX*((float)(-PFF[1]-P)/(PFF[2]-PFF[1]));

}

else if(P<=PFF[0])

{

Pn=0;

PF[0]=FMAX*((float)(-PFF[0]-P)/(PFF[1]-PFF[0]));

}

else if(P<=PFF[1])

{

Pn=1; PF[0]=FMAX*((float)(PFF[1]-P)/(PFF[1]-PFF[0]));

}

else if(P<=PFF[2])

{

Pn=2; PF[0]=FMAX*((float)(PFF[2]-P)/(PFF[2]-PFF[1]));

}

else if(P<=PFF[3])

{

Pn=3; PF[0]=FMAX*((float)(PFF[3]-P)/(PFF[3]-PFF[2]));

}

}

else if(P<=-PFF[3])

{

Pn=-2; PF[0]=FMAX;

}

else if(P>=PFF[3])

{

Pn=3; PF[0]=0;

}

PF[1]=FMAX-PF[0];

if(D>-DFF[3] && D

{

if(D<=-DFF[2])

{

Dn=-2;DF[0]=FMAX*((float)(-DFF[2]-D)/(DFF[3]-DFF[2])); }

else if(D<=-DFF[1])

{

Dn=-1;

DF[0]=FMAX*((float)(-DFF[1]-D)/(DFF[2]-DFF[1]));

}

else if(D<=DFF[0])

{

Dn=0;

DF[0]=FMAX*((float)(-DFF[0]-D)/(DFF[1]-DFF[0]));

}

else if(D<=DFF[1])

{

Dn=1;

DF[0]=FMAX*((float)(DFF[1]-D)/(DFF[1]-DFF[0]));

}

else if(D<=DFF[2])

{

Dn=2; DF[0]=FMAX*((float)(DFF[2]-D)/(DFF[2]-DFF[1]));

}

else if(D<=DFF[3])

{

Dn=3; DF[0]=FMAX*((float)(DFF[3]-D)/(DFF[3]-DFF[2]));

}

}

else if(D<=-DFF[3])

{

Dn=-2;

DF[0]=FMAX;

}

else if(D>=DFF[3])

{

Dn=3;

DF[0]=0;

}

DF[1]=FMAX-DF[0];

/*使用误差范围优化后的规则表rule[7][7]*/

/*输出值使用13个隶属函数,中心值由UFF[7]指定*/

/*一般都是四个规则有效*/

Un[0]=rule[Pn-1+3][Dn-1+3];

Un[1]=rule[Pn+3][Dn-1+3];

Un[2]=rule[Pn-1+3][Dn+3];

Un[3]=rule[Pn+3][Dn+3];

if(PF[0]<=DF[0])

UF[0]=PF[0];

else

UF[0]=DF[0];

if(PF[1]<=DF[0])

UF[1]=PF[1];

else

UF[1]=DF[0];

if(PF[0]<=DF[1])

UF[2]=PF[0];

else

UF[2]=DF[1];

if(PF[1]<=DF[1])

UF[3]=PF[1];

else

UF[3]=DF[1];

/*同隶属函数输出语言值求大*/

if(Un[0]==Un[1])

{

if(UF[0]>UF[1])

UF[1]=0;

else

UF[0]=0;

}

if(Un[0]==Un[2])

{

if(UF[0]>UF[2])

UF[2]=0;

else

UF[0]=0;

}

if(Un[0]==Un[3])

{

if(UF[0]>UF[3])

UF[3]=0;

else

UF[0]=0;

}

if(Un[1]==Un[2])

{

if(UF[1]>UF[2])

UF[2]=0;

else

UF[1]=0;

}

if(Un[1]==Un[3])

{

if(UF[1]>UF[3])

UF[3]=0;

else

UF[1]=0;

}

if(Un[2]==Un[3])

{

if(UF[2]>UF[3])

UF[3]=0;

else

UF[2]=0;

}

/*重心法反模糊*/

/*Un[]原值为输出隶属函数标号,转换为隶属函数值*/

if(Un[0]>=0)

Un[0]=UFF[Un[0]];

else

Un[0]=-UFF[-Un[0]];

if(Un[1]>=0)

Un[1]=UFF[Un[1]];

else

Un[1]=-UFF[-Un[1]];

if(Un[2]>=0)

Un[2]=UFF[Un[2]];

else

Un[2]=-UFF[-Un[2]];

if(Un[3]>=0)

Un[3]=UFF[Un[3]];

else

Un[3]=-UFF[-Un[3]];

temp1=UF[0]*Un[0]+UF[1]*Un[1]+UF[2]*Un[2]+UF[3]*Un[3]; temp2=UF[0]+UF[1]+UF[2]+UF[3];

U=temp1/temp2;

return U;

}

void main()

{

int a=0,e,ec;

/*int nowpoint,p1,p2=1;

FILE *in,*out;

in=fopen("in.txt","r");

out=fopen("out.txt","w");*/

//while(!feof(in))

while(1)

{

//fscanf(in,"%d",&nowpoint);

//p1=nowpoint;

//e=0-nowpoint;

//ec= p1-p2;

printf("请输入e:");

scanf("%d",&e);

printf("请输入ec:");

scanf("%d",&ec);

a=Fuzzy(e,ec);

//fprintf(out,"%d ",a);

//printf("%d: ",p1);

printf("e: %d ec: %d ",e,ec); printf("a: %d \n",a);

//p2=p1;

}

//fclose(in);

//fclose(out);

}

基于模糊控制的智能车寻迹算法研究

基于模糊控制的智能车寻迹算法研究 摘要:与传统的自动控制相比,模糊控制不用建立在被控对象准确的数学模型的基础上。这一特点在非常适用于实际运用中影响因素很多、结构十分复杂系统。其系统有易于接受,设计简单,维护方便,而且比常规控制系统稳定性好,鲁棒性高等特点。因其与本设计实际条件相似,所以选其做智能小车的寻迹算法研究。 关键词智能小车;模糊控制;寻迹算法 ABSTRACT Compared with the traditional automatic control,fuzzy control without based on a accurate mathematical model of controlled object. This feature is suitable for the systems which have many influencing factors and a very complex structure in the practical application. There are many feature in this system:such as easy to accept, the design is simple, convenient maintenance, more stability and robustness than conventional control system,and so on. Because it is similar to the actual conditions of our design, so we choose it for the smart car tracing algorithm. KEY WORDS smart car;fuzzy control;tracing algorithm

模糊控制详细讲解实例

一、速度控制算法: 首先定义速度偏差-50 km/h ≤e (k )≤50km/h ,-20≤ec (i )= e (k )- e (k-1)≤20,阀值e swith =10km/h 设计思想:油门控制采用增量式PID 控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。 选择规则: e (k )<0 ① e (k )>- e swith and throttlr_1≠0 选择油门控制 ② 否则:先将油门控制量置0,再选择刹车控制 0

C实现模糊控制算法

由于项目需要,需要模糊控制算法,之前此类知识为0,经过半个多月的研究,终于有的小进展。开始想从强大的互联网上搜点c代码来研究下,结果搜遍所有搜索引擎都搜不到,以下本人从修改的模糊控制代码,经过自己修改后可在 vc6.0,运行!输入e表示输出误差,ec表示误差变化率,经过测试具有很好的控制效果,对于非线性系统和数学模型难以建立的系统来说有更好的控制效果!现将其公开供大家学习研究! #include #include"math.h" #define PMAX 100 #define PMIN -100 #define DMAX 100 #define DMIN -100 #define FMAX 100 /*语言值的满幅值*/ int PFF[4]={0,12,24,48}; /*输入量D语言值特征点*/ int DFF[4]={0,16,32,64}; /*输出量U语言值特征点*/ int UFF[7]={0,15,30,45,60,75,90}; /*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/ /*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */ int rule[7][7]={ //误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差 {-6,-6,-6,-5,-5,-5,-4,}, // -3 {-5,-4,-4,-3,-2,-2,-1,}, // -2 {-4,-3,-2,-1, 0, 1, 2,}, // -1 {-4,-3,-1, 0, 1, 3, 4,}, // 0 {-2,-1, 0, 1, 2, 3, 4,}, // 1 { 1, 2, 2, 3, 4, 4, 5,}, // 2 { 4, 5, 5, 5, 6, 6, 6}}; // 3 /**********************************************************/ int Fuzzy(int P,int D) /*模糊运算引擎*/ { int U; /*偏差,偏差微分以及输出值的精确量*/ unsigned int PF[2],DF[2],UF[4]; /*偏差,偏差微分以及输出值的隶属度*/ int Pn,Dn,Un[4]; long temp1,temp2; /*隶属度的确定*/ /*根据PD的指定语言值获得有效隶属度*/

模糊控制算法的研究

模糊控制算法的研究 0842812128夏中宇 模糊控制概述 “模糊”是人类感知万物,获取知识,思维推理,决策实施的重要特征。“模糊”比“清晰”所拥有的信息容量更大,内涵更丰富,更符合客观世界。 在日常生活中,人们的思维中有许多模糊的概念,如大、小、冷、热等,都没有明确的内涵和外延,只能用模糊集合来描述。人们常用的经验规则都是用模糊条件语句表达,例如,当我们拧开水阀往水桶里注水时,有这样的经验:桶里没水或水较少时,应开大水阀;桶里水较多时,应将水阀关小些;当水桶里水快满时,则应把阀门关得很小;而水桶里水满时应迅速关掉水阀。其中,“较少”、“较多”、“小一些”、“很小”等,这些表示水位和控制阀门动作的概念都具有模糊性。即有经验的操作人员的控制规则具有相当的模糊性。模糊控制就是利用计算机模拟人的思维方式,按照人的操作规则进行控制,实现人的控制经验。 模糊控制理论是由美国著名的学者加利福尼亚大学教授Zadeh·L·A于1965年首先提出,它以模糊数学为基础,用语言规则表示方法和先进的计算机技术,由模糊推理进行决策的一种高级控制策略。 1974年,英国伦敦大学教授Mamdani·E·H研制成功第一个模糊控制器,充分展示了模糊技术的应用前景。 模糊控制概况 模糊逻辑控制(Fuzzy Logic Control)简称模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。1965年,美国的L.A.Zadeh 创立了模糊集合论;1973年他给出了模糊逻辑控制的定义和相关的定理。1974年,英国的E.H.Mamdani首先用模糊控制语句组成模糊控制器,并把它应用于锅炉和蒸汽机的控制,在实验室获得成功。这一开拓性的工作标志着模糊控制论的诞生。 模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制的一大特点是既具有系统化的理论,又有着大量实际应用背景。模糊控制的发展最初在西方遇到了较大的阻力;然而在东方尤其是在日本,却得到了迅速而广泛的推广应用。近20多年来,模糊控制不论从理论上还是技术上都有了长足的进步,成为自动控制领域中一个非常活跃而又硕果累累的分支。其典型应用的例子涉及生产和生活的许多方面,例如在家用电器设备中有模糊洗衣机、空调、微波炉、吸尘器、照相机和摄录机等;在工业控制领域中有水净化处理、发酵过程、化学反应釜、水泥窑炉等的模糊控制;在专用系统和其它方面有地铁靠站停车、汽车驾驶、电梯、自动扶梯、蒸汽引擎以及机器人的模糊控制等。 模糊控制的基本理论 所谓模糊控制,就是在控制方法上应用模糊集理论、模糊语言变量及模糊逻辑推理的知识来模拟人的模糊思维方法,用计算机实现与操作者相同的控制。该理论以模糊集合、模糊语言变量和模糊逻辑为基础,用比较简单的数学形式直接将人的判断、思维过程表达出来,从而逐渐得到了广泛应用。应用领域包括图像识别、自动机理论、语言研究、控制论以及信号处理等方面。在自动控制领域,以模糊集理论为基础发展起来的模糊控制为将人的控制经验及推理过程纳入自动控制提供了一条便捷途径。 1.知识库

基于模糊控制的速度跟踪控制问题(C语言以及MATLAB仿真实现)

基于模糊控制的速度控制 ——地面智能移动车辆速度控制系统问题描述 利用模糊控制的方法解决速度跟踪问题,即已知期望速度(desire speed),控制油门(throttle output)和刹车(brake output)来跟踪该速度。已知输入:车速和发动机转速(值可观测)。欲控制刹车和油门电压(同一时刻只有一个量起作用)。 算法思想 模糊控制器是一语言控制器,使得操作人员易于使用自然语言进行人机对话。模糊控制器是一种容易控制、掌握的较理想的非线性控制器,具有较佳的适应性及强健性(Robustness)、较佳的容错性(Fault Tolerance)。利用控制法则来描述系统变量间的关系。不用数值而用语言式的模糊变量来描述系统,模糊控制器不必对被控制对象建立完整的数学模式。 Figure 1模糊控制器的结构图 模糊控制的优点: (1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。 (2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。 (3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 (4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。 简化系统设计的复杂性,特别适用于非线性、时变、模型不完全的系统上。 模糊控制的缺点

模糊控制详细讲解实例之欧阳歌谷创作

一、速度控制算法: 欧阳歌谷(2021.02.01) 首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec(i)=e(k)-e(k-1)≤20,阀值eswith=10km/h 设计思想:油门控制采用增量式PID控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。 选择规则: e(k)<0 ①e(k)>-eswith and throttlr_1≠0 选择油门控制 ②否则:先将油门控制量置0,再选择刹车控制 0

E/EC和U取相同的隶属度函数即: 说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,图像略 实际EC和E输入值若超出论域范围,则取相应的端点值。 3.模糊控制规则 由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表: 表1:E/EC和U语言值隶属度向量表 设置模糊规则库如下表: 表2:模糊规则表 3.模糊推理 由模糊规则表3可以知道输入E与EC和输出U的模糊关系,这里我取两个例子做模糊推理如下: if (E is NB) and (EC is NM) then (U is PB) 那么他的模糊关系子矩阵为:

模糊控制的应用

模糊控制的应用 学院实验学院 专业电子信息工程 姓名 指导教师黄静 日期 2011 年 9 月 20 日

在自动控制中,包括经典理论和现代控制理论中有一个共同的特点,即控制器的综合设计都要建立在被控对象准确的数学模型(如微分方程等)的基础上,但是在实际工业生产中,很多系统的影响因素很多,十分复杂。建立精确的数学模型特别困难,甚至是不可能的。这种情况下,模糊控制的诞生就显得意义重大,模糊控制不用建立数学模型,根据实际系统的输入输出的结果数据,参考现场操作人员的运行经验,就可对系统进行实时控制。模糊控制实际上是一种非线性控制,从属于智能控制的范畴。现代控制系统中的的控制能方便地解决工业领域常见的非线性、时变、在滞后、强耦合、变结构、结束条件苛刻等复杂问题。可编程控制器以其高可靠性、编程方便、耐恶劣环境、功能强大等特性很好地解决了工业控制领域普遍关心的可靠、安全、灵活、方便、经济等问题,这两者的结合,可在实际工程中广泛应用。 所谓模糊控制,其定义是是以模糊数学作为理论基础,以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的一种控制。模糊控制具有以下突出特点: (1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现 场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用 (2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对 那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。 (3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易 导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 (4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控 制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。(5)模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱, 尤其适合于非线性、时变及纯滞后系统的控制。 由于有着诸多优点,模糊理论在控制领域得到了广泛应用。下面我们就以下示例介绍模糊控制在实际中的应用: 电机调速控制系统见图1,模糊控制器的输入变量为实际转速与转速给定值 ,输出变量为电机的电压变化量u。图2为电机调试之间的差值e及其变化率e c 输出结果,其横坐标为时间轴,纵坐标为转速。当设定转速为2 000r/s时,电机能很快稳定运行于2 000r/s;当设定转速下降到1 000r/s时,转速又很快下降到1 000r/s稳定运行。 图1

离散化 Pid 模糊控制算法

论文标题: 设计PID ,离散化,模糊化控制器 PID 控制器设计 一 PID 控制的基本原理和常用形式及数学模型 具有比例-积分-微分控制规律的控制器,称PID 控制器。这种组合具有三种基本规律各自的特点,其运动方程为: dt t de dt t e t e t m K K K K K d p t i p p )()()()(0 ++=? 相应的传递函数为: ???? ??++=S S s K K K d i p c 1)(D S S S K K K d i p 12++? = 二 数字控制器的连续化设计步骤 假想的连续控制系统的框图

1 设计假想的连续控制器D(s) 由于人们对连续系统的设计方法比较熟悉,对由上图的假想连续控制系统进行设计,如利用连续系统的频率的特性法,根轨迹法等设计出假想的连续控制器D(S)。 2 选择采样周期T 香农采样定理给出了从采样信号到恢复连续信号的最低采样频率。在计算机控制系统中,完成信号恢复功能一般有零阶保持器H(s)来实现。零阶保持器的传递函数为 3将D(S)离散化为D(Z) 将连续控制器D(S)离散化为数字控制器D(Z)的方法很多,如双线性变换法,后向差分法,前向差分法,冲击响应不变法,零极点匹配法,零阶保持法。 双线性变换法 然后D(S)就可以转化离散的D(Z) 三Matlab仿真实验 直接试探法求PID 根据这个框图,求出该传递函数的P=0.35 I=0 D=0

根据 ???? ??++=S S s K K K d i p c 1)(D D (Z )=0.35 T=0.01 数字连续话PID 控制器设计MA TLAB 仿真框图 实验结果 没有经过调节的结果为

非线性系统模糊控制算法研究

非线性系统模糊控制算法研究 摘要:随着社会科技的进步,系统自动化越来越强,而要强化系统的自动化,就需要对系统控制进行深入的研究。系统控制是我国目前科学研究的一个重要方向,通过基本结构的建立和仿真实验,控制分析的深度会有明显的增加。在系统控制当中,非线性系统的模糊控制是一项重要的内容,通过对此中控制的算法进行分析和研究,可以提供非线性系统模糊控制的有效性。该文就非线性系统控制算法进行研究,旨在分析此系统算法的应用优势,从而强化其在实践中的应用水平。 关键词:非线性系统模糊控制算法研究 中图分类号:TP273.4 文献标识码:A 文章编号:1672-3791(2017)04(c)-0196-02 在控制研究中,比较典型的基于受控对象精确模型的控制是古典控制和状态空间模型控制。在实际研究中发现,除去受控对象比较精确的控制外,还存在比较复杂的控制,这种控制的受控对象不明确,所以数学模型的建立相对困难。为了对这种控制进行有效的利用,采用模糊控制算法进行数学模型的建立是主要的方法。因此,积极的对非线性系统模糊控制算法进行研究意义重大。

1 模糊控制的数学描述 模糊控制是控制研究中的重要类别,这种控制不仅是一种实时控制,而且不依赖于受控对象的精确模型,所以说它是一种打破了传统束缚的新型计算机控制。此种控制的产生为解决更加复杂的计算机问题带来了全新的方法。从特征上来看,此种方法对于模型的要求比较低,而且在实际利用中的计算非常简便,控制性能也比较优良。该文在非线性系统中进行模糊控制算法的研究,为了使得研究简便,利用了一个非线性系统的式子: 在这个式子当中,u表示的是输入量,而y则表示输出量,整个式子代表是就是工程实际当中难于建模的一大类复杂受控对象。根据这个式子,确定合适的参考轨迹,控制公式便可以得到书写。 2 模糊控制的算法原理 模糊控制的算法原理是研究的重点内容,在实际分析的过程中主要包括了四个方面:第一是进行非线性系统的模糊模型建立,然后对其进行规范化,使其转变为参数辨识问题。比如在考虑一个SISO非线性系统的时候,将系统的输入空间和输出空间按照精度进行分别的量化,那么系统的特性便会转变为一个特定的公式,整个公式反应了系统的条件,也构成了系统的模糊模型。第二是对模型的在线递推进行修正。为了使得整个控制测算更加的精确,利用全新的信息结

模糊控制算法研究报告

《智能控制》 课程设计报告 专业:自动化 班级:学号: 学生: 时间:13年12月30日~13年1月3日 ―――――――以下指导教师填写――――― 分项成绩:出勤设计报告 总成绩: 指导教师:

设计报告要求和成绩评定 1 报告容 设计任务书(设计计划),正文,参考资料。 设计任务书(设计计划)由学生所在系安排指导教师编写,容包括设计地点、时间、安排和设计容和要求等。 正文容一般包括:(1)设计简述(设计时间、设计地点,设计方式等);(2)设计容叙述;(3)设计成品(图纸、表格或计算结果等);(4)设计小结和建议。 参考资料包括参考书和现场技术资料等。 2 书写用纸 A4复印纸;封面、设计任务书要求双面打印。 3 书写要求 正文容手工双面或单面书写,字迹清楚,每页20行左右,每行30字左右,排列整齐;页码居中写在页面下方;纸面上下左右4侧边距均为2厘米。 公式单占一行居中书写;插图要有图号和图题,图号和图题书写在插图下方;表格要有表号和表题,表号和表题在表格上方书写;物理量单位和符号、参考文献引用和书写以及图纸绘制要符合有关标准规定;有关细节可参考我院《毕业设计成品规》。 4 装订 装订顺序:封面,设计任务书,正文及参考资料,封底;左边为装订边,三钉装订,中间钉反向装订。 5 成绩评定 设计成绩一般由出勤(10分)、报告书写规性及成品质量(50分)、考核(40分)三部分成绩合成后折合为优秀(90-100分)、良好(80-89分)、中(70-79分)、及格(60-69分)或不及格(60分以下)。设计考核可采取笔试、机试或其它合适的方式;不参加考核或不交报告者成绩为零分。

模糊控制器设计的基本方法

第5章 模糊控制器设计的基本方法 5.1 模糊控制器的结构设计 结构设计:确定输入、输出变量的个数(几入几出)。 5.2 模糊控制规则设计 1. 语言变量词集 {}PB PM PS O NS NM NB ,,,,,, 2. 确立模糊集隶属函数(赋值表) 3. 建立模糊控制规则,几种基本语句形式: 若A 则B c R A B A E =?+? 若A 则B 否则C c R A B A C =?+? 若A 或B 且C 或D 则E ()()R A B E C D E =+?+????????? 4. 建立控制规则表 5.3 模糊化方法及解模糊化方法 模糊化方法 1. 将[]b a ,内精确量离散化为[]n n +-,内的模糊量 2. 将其区间精确量x 模糊化为一个单点集,即0)(,1)(==x x μμ 模糊推理及非模糊化方法 1. MIN-MAX ——重心法 11112222n 00R and R and R and and '? n n n A B C A B C A B C x y c →→→→= 三步曲: 取最小 1111'()()()()c A o B o C z x y z μμμμ=∧∧ 取最大 12''''()()()()n c c c c z z z z μμμμ=∨∨∨ 2. 最大隶属度法 例: 10.3 0.80.5 0.511234 5 C =+----- +++,选3-=*u

20.30.80.40.21101234 5 C =+ +++ + ,选 5.12 21=+=*u 5.4 论域、量化因子及比例因子选择 论域:模糊变量的取值范围 基本论域:精确量的取值范围 误差量化因子:e e x n k /= 比例因子:e y k u u /= 误差变化量化因子:c c x m k /= 5.5 模糊控制算法的流程 m j n i C u B EC A E ij j i ,,2,1;,,2,1 then then if ===== 其中 i A 、 j B 、ij C 是定义在误差、误差变化和控制量论域X 、Y 、Z 上的模糊集合,则该语句所表示的模糊关系为 j i ij j i C B A R ,??= m j n i j i C B A R z y x z y x ij j i ===== ,1 ,1)()()(),,(μμμ μ 根据模糊推理合成规则可得:R B A U )(?= Y y X x B A R U y x z y x z ∈∈=)()(),,()(μμμμ 设论域{}{}{}l m n z z z Z y y y x x x X ,,,,,,,Y ,,,,212121 ===,则X ,Y ,Z 上的模糊集合分别为一个n ,m 和l 元的模糊向量,而描述控制规则的模糊关系R 为一个m n ?行l 列矩阵。 由i x 及i y 可算出ij u ,对所有X ,Y 中元素所有组合全部计算出相应的控制量变化值,可写成矩阵()ij n m u ?,制成的表即为查询表或称为模糊控制表。 * 模糊控制器设计举例(二维模糊控制器) 1. 结构设计:二维模糊控制器,即二输入一输出。 2. 模糊控制规则:共21条语句,其中第一条规则为 t h e n o r and or if :1 PB u NM NB EC NM NB E R === 3. 对模糊变量E ,EC ,u 赋值(见教材中的表)

选取一个模糊控制的实例讲解

选取一个模糊控制的实例讲解,有文章,有仿真,有详细的推导过程。 一.实验题目:基于模糊控制系统的单级倒立摆 二.实验目的与要求: 倒立摆是联结在小车上的杆,通过小车的运动能保持竖立不倒的一种装置,它是一个典型的非线性、快速、多变量和自然不稳定系统,但是我们可以通过对它施加一定的控制使其稳定。对它的研究在理论上和方法上都有其重要意义。倒立摆的研究不仅要追求增加摆的级数,而且更重要的是如何发展现有的控制方法。同时, 它和火箭的姿态控制以及步行机器 人的稳定控制有很多相似之处,由此研究产生的理论和方法对一般工业过程也有广泛用途。 本文研究了倒立摆的控制机理,用Lagrange 方法推导了一级倒立摆的数学模型,这为研究多级和其它类型的倒立摆甚至更高层次的控制策略奠定了一个良好的基础。对系统进行了稳定性、可控性分析,得出倒立摆系统是一个开环不稳定但可控的系统的结论。 本文主要研究用极点配置、最优控制和模糊控制方法对倒立摆进行稳定控制。最优控制方法是基于状态反馈,但能实现输出指标最优的一种控制方法,方法和参数调节较简单,有着广泛的应用。模糊控制有不依赖于数学模型、适用于非线性系统等优点,所以本文尝试了用模糊控制对倒立摆进行控制,以将先进的控制方法用于实际中。 同时,对倒立摆系统的研究也将遵循从建模到仿真到实控,软硬件结合的系统的控制流程。在这过程中,借助数学工具Matlab7及仿真软件Simulink,作了大量的仿真研究工作,仿真结果表明系统能跟踪输入,并具有较好的抗干扰性。最后对实验室的倒立摆装置进行了软、硬件的调试,获得了较好的控制效果。 三.实验步骤: 1.一级倒立摆系统模型的建立 在忽略了空气阻力、各种摩擦之后(这也是为了保证Lagrange 方程的建立),可 将一级倒立摆系统抽象为由小车和匀质杆组成的系统,本系统设定如下: 小车质量M;摆杆质量m,长为l;小车在x 轴上移动;摆与竖直方向夹角为θ,规定正方向如图所示;加在小车x 轴上的力为F;

模糊控制的基本原理

模糊控制的基本原理 模糊控制是以模糊集合理论、模糊语言及模糊逻辑为基础的控制,它是 模糊数学在控制系统中的应用,是一种非线性智能控制。 模糊控制是利用人的知识对控制对象进行控制的一种方法,通常用“if条件,then结果”的形式来表现,所以又通俗地称为语言控制。一般用于无法以 严密的数学表示的控制对象模型,即可利用人(熟练专家)的经验和知识来很好 地控制。因此,利用人的智力,模糊地进行系统控制的方法就是模糊控制。模 糊控制的基本原理如图所示: 模糊控制系统原理框图 它的核心部分为模糊控制器。模糊控制器的控制规律由计算机的程序实现,实现一步模糊控制算法的过程是:微机采样获取被控制量的精确值,然后将此量与给定值比较得到误差信号E;一般选误差信号E作为模糊控制器的一个输入量,把E的精确量进行模糊量化变成模糊量,误差E的模糊量可用相应的模糊语言表示;从而得到误差E的模糊语言集合的一个子集e(e实际上是一个模糊向量); 再由e和模糊控制规则R(模糊关系)根据推理的合成规则进行模糊决策,得到模糊控制量u为: 式中u为一个模糊量;为了对被控对象施加精确的控制,还需要将模糊量u 进行非模糊化处理转换为精确量:得到精确数字量后,经数模转换变为精确的模拟量送给执行机构,对被控对象进行一步控制;然后,进行第二次采样,完成第二步控制……。这样循环下去,就实现了被控对象的模糊控制。 模糊控制(Fuzzy Control)是以模糊集合理论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制。模糊控制同常规的控制方案相比,主要特点有: (1)模糊控制只要求掌握现场操作人员或有关专家的经验、知识或操作数据,不需要建立过程的数学模型,所以适用于不易获得精确数学模型的被控过程,或结构参数不很清楚等场合。 (2)模糊控制是一种语言变量控制器,其控制规则只用语言变量的形式定性的表达,不用传递函数与状态方程,只要对人们的经验加以总结,进而从中提炼出规则,直接给出语言变量,再应用推理方法进行观察与控制。 (3)系统的鲁棒性强,尤其适用于时变、非线性、时延系统的控制。 (4)从不同的观点出发,可以设计不同的目标函数,其语言控制规则分别是独立的,但是整个系统的设计可得到总体的协调控制。 它是处理推理系统和控制系统中不精确和不确定性问题的一种有效方法,同时也构成了智能控制的重要组成部分。 模糊控制器的组成框图主要分为三部分:精确量的模糊化,规则库模糊推理,

二阶系统模糊控制算法研究

机电工程学院 课程设计报告 课程 题目二阶系统模糊控制算法的研究 专业电气工程及其自动化 姓名 指导教师 学期 2015-2016

二阶系统的模糊控制算法的研究 学生 指导老师: 摘要:模糊控制是以模糊数学为基础发展的,为一些无法建立数学模型或者数学模型相当粗糙的系统提供的一种非线性的控制方法。对于这些系统,模糊控制可以得到比较满意的控制效果,并且能够解决一些无法通过传统方法解决的问题。本文利用 MATLAB模糊控制工具箱设计的模糊控制器来控制一个二阶系统,由给定的控制器的输入和输出变量,输入和输出变量的隶属函数,分析了输入和输出变量之间的关系,设计了模糊控制规则库,并通过 SIMULINK仿真将模糊控制方法与经典的PID控制方法进行对比,分析仿真结果,探讨模糊控制器的隶属函数,控制规则,以及量化因子和比例因子在模糊控制中所起到的作用。 关键字:模糊控制;MATLAB;SIMULINK;PID

Research of fuzzy control algorithm of second order systems Undergraduate: Supervisor: Abstract:Fuzzy control, which is based on the fuzzy mathematics, is a new way of nonlinearity control system in which the mathematical model is unable established or the mathematical model is very rough. For these systems, fuzzy control offers users a satisfied control result, and settles down some problems which cannot be solved by traditional methods. This paper aims to introduce how to use a fuzzy controller which is based on the MATLAB fuzzy control toolbox to control a second-order system. In order to fulfill this target, the author firstly defines the input variables, output variables and their membership functions. Then, the author analyzes the relationship between the input variables and output variables, and designs the fuzzy control rule bank. Finally, the author makes a difference between the methods of the classic PID control and the fuzzy control by SIMULINK. Membership function of fuzzy controller, control rules, and the function of quantizes and scale factor in the fuzzy control process are also discussed in this paper. Key words: MATLAB; Fuzzy control; PID;SIMULINK simulation

模糊控制器设计的基本方法

第5章 模糊控制器设计的基本方法 5.1 模糊控制器的结构设计 结构设计:确定输入、输出变量的个数(几入几出)。 5.2 模糊控制规则设计 1. 语言变量词集 {}PB PM PS O NS NM NB ,,,,,, 2. 确立模糊集隶属函数(赋值表) 3. 建立模糊控制规则,几种基本语句形式: 若A %则B % c R A B A E =?+?%%%% 若A %则B %否则C % c R A B A C =?+?%%%%% 若A %或B %且C %或D %则E ()()R A B E C D E =+?+?????????g %%%% % 4. 建立控制规则表 5.3 模糊化方法及解模糊化方法 模糊化方法 1. 将[]b a ,内精确量离散化为[]n n +-,内的模糊量 2. 将其区间精确量x 模糊化为一个单点集,即0)(,1)(==x x μμ 模糊推理及非模糊化方法 1. MIN-MAX ——重心法 三步曲: 取最小 1111'()()()()c A o B o C z x y z μμμμ=∧∧ 取最大 12''''()()()()n c c c c z z z z μμμμ=∨∨∨L 2. 最大隶属度法 例: 10.30.80.50.5112345C =+-----% +++,选3-=*u

20.30.80.40.211012345C =+% ++++,选5.1221=+=*u 5.4 论域、量化因子及比例因子选择 论域:模糊变量的取值范围 基本论域:精确量的取值范围 误差量化因子:e e x n k /= 比例因子:e y k u u /= 误差变化量化因子:c c x m k /= 5.5 模糊控制算法的流程 其中 i A 、 j B 、ij C 是定义在误差、误差变化和控制量论域X 、Y 、Z 上的模糊集合,则该语句所表示的模糊关系为 根据模糊推理合成规则可得:R B A U ο)(?= 设论域{}{}{}l m n z z z Z y y y x x x X ,,,,,,,Y ,,,,212121ΛΛΛ===,则X ,Y ,Z 上的模糊集合分别为一个n ,m 和l 元的模糊向量,而描述控制规则的模糊关系R 为一个m n ?行l 列矩阵。 由i x 及i y 可算出ij u ,对所有X ,Y 中元素所有组合全部计算出相应的控制量变化值,可写成矩阵()ij n m u ?,制成的表即为查询表或称为模糊控制表。 * 模糊控制器设计举例(二维模糊控制器) 1. 结构设计:二维模糊控制器,即二输入一输出。 2. 模糊控制规则:共21条语句,其中第一条规则为 3. 对模糊变量E ,EC ,u 赋值(见教材中的表) 4. 建立模糊控制表: 注意:对于e 和ec 隶属函数数值取量化等级上为1,其余为0,这样可简化

基于模糊控制算法的温度控制系统的设计(DOC)

本科生毕业论文(设计) 调研报告 题目:基于模糊控制算法的 温度控制系统的设计学生姓名: 学号: 专业班级: 指导教师: 完成时间:年月日

基于模糊控制算法的温度控制系统的设计 一、主要目标任务: 综合运用所学知识,如《模拟电子技术》、《数字电子技术》、《自动控制原理》、《微机原理》、《单片机原理与应用》,设计一个基于模糊控制算法的温度控制系统。 1)对以前所学知识进行系统的复习,全面的综合并将其联贯。 2)学会了独立的分析和解决问题和进行相关社会调查的能力 3)学会了查阅文献的方法和培养查阅文献的良好习惯。 4)提高专业相关外文的阅读、翻译能力。提高专业英语水平。 5)提高编写程序的水平,优化软件结构。提高电脑绘图水平。 二、技术性能指标: 1)温度控制在0~100度(水温),误差为±0.5。C。 2)恒温控制。 3)LED实时显示系统温度。并通过键盘输入给定温度 三、简要工作原理 以AT89C51单片机为模糊控制器,结合温度传感变送器,A/D转换器、LED显示器、静态电子开关等,设计出一个基于模糊控制算法的温度控制系统。 在系统中,温度传感变送器获得温度的感应电压,转变成1~5V的标准电压信号,再由A/D转换器转换成数字信号进入单片机内部。单片机将给定电压的A/D转换结果与测量电压的结果相比较,得出偏差量。然后跟据模糊控制算法得出控制量。在执行器中由开关频率较高的静态电子开关完成,采用模拟的PWM控制方法,改变同一个周期中电子开关的闭合时间。 从而调节加热开关的导通时间,以达到控制效果的目的。 四、课题文献综述 1、《动力锅炉燃烧系统的模糊控制策略》 1)作者:刘向杰、柴天佑、刘红波 2)摘要:基于模糊控制策略给出了锅炉系统新的控制方法。工业锅炉的主要动态包括非线性、非最小相位特征、不稳定性、时滞和负荷干扰,采 用传统控制方法难以实施有效的控制。运用GPE(Gausian partition with evenly spaced midpoints)模糊控制系统对锅炉对象的主汽压进行研究和 实时控制,模糊控制器能够克服许多干扰因素,产生良好的控制效果, 最后给出了模糊控制同传统方法的比较结果。 3)模糊控制器的应用 本文的线性推理规则表示:IF error is Ej and rate is Rj THEN output is U(i+j)。Ei代表着一个误差模糊,Rj代表一个误差变化率模糊集,U(i+j)代表着一个输出量模糊集。 4)实施结果 上述控制策略用于现场实际对象,尽管现场运行存在很大的干扰,主

matlab下模糊控制器设计步骤

下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。 Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。 首先我们在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口。 下面我们都是在这样一个窗口中进行模糊控制器的设计。 1.确定模糊控制器结构:即根据具体的系统确定输入、输出量。

这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。 2.输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。 首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZO,PS,PM,PB},并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为{-3,-2,-1,0,1,2,3};然后我们为模糊语言变量选取相应的隶属度函数。

在模糊控制工具箱中,我们在Member Function Edit中即可完成这些步骤。首先我们打开Member Function Edit窗口. 然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-3 3],添加隶属函数的个数为7.

然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。

模糊控制的应用实例与分析资料讲解

模糊控制的应用实例 与分析

模糊控制的应用 学院实验学院 专业电子信息工程 姓名 指导教师 日期 2011 年 9 月 20 日

在自动控制中,包括经典理论和现代控制理论中有一个共同的特点,即控制器的综合设计都要建立在被控对象准确的数学模型(如微分方程等)的基础上,但是在实际工业生产中,很多系统的影响因素很多,十分复杂。建立精确的数学模型特别困难,甚至是不可能的。这种情况下,模糊控制的诞生就显得意义重大,模糊控制不用建立数学模型,根据实际系统的输入输出的结果数据,参考现场操作人员的运行经验,就可对系统进行实时控制。模糊控制实际上是一种非线性控制,从属于智能控制的范畴。现代控制系统中的的控制能方便地解决工业领域常见的非线性、时变、在滞后、强耦合、变结构、结束条件苛刻等复杂问题。可编程控制器以其高可靠性、编程方便、耐恶劣环境、功能强大等特性很好地解决了工业控制领域普遍关心的可靠、安全、灵活、方便、经济等问题,这两者的结合,可在实际工程中广泛应用。 所谓模糊控制,其定义是是以模糊数学作为理论基础,以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的一种控制。模糊控制具有以下突出特点: (1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是 现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用 (2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制 对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。

模糊控制算法在汽车中的应用综述

模糊控制算法在汽车中的应用综述 摘要:模糊控制应用于没有精确数学模型的对象,具有很大的优越性。随着模糊控制技术的不断发展,它 越来越广泛应用在汽车上,本文分别介绍模糊控制的原理及特点,在ABS系统、汽车巡航系统、汽车空调的使用情况,并介绍各个模糊控制系统的组成。 关键词:汽车;模糊控制;ABS系统;汽车巡航系统;汽车空调 Application of Fuzzy Control Algorithm in Motor Vehicl e ZHANG Zhen-hua (College of Aeronautical Manufacturing Engineering, Nanchang Hangkong University, Nanchang 330063,China) Abstract:Fuzzy control is applied to the object without accurate mathematical model has great superiority. With the continuous development of fuzzy control technology, it is widely used in automobile. This paper introduces the principle and characteristics of fuzzy control in ABS system, automobile cruise control system, the use of automotive air conditioning, and introduces the various components of the fuzzy control system. Key words:The car;fuzzy control;anti-lock braking system;The car cruise system;automotive air conditioning 引言 传统的常规控制方法是基于被控对象的数学模型基础上的,然而某些情况下我们难以精确地建立起被控对象的数学模型,因而难以对被控对象进行精确地控制。为此可以采用一种基于语言规则与模糊推理的高级控制策略即模糊控制对多变量、非线性、不确定的复杂系统进行有效控制。此方法在汽车的系统控制中得到有效应用。 模糊控制理论发展初期在西方遇到了很大的阻力,西方学者认为模糊控制在应用研究中意义不大。然而,在东方尤其是日本,模糊控制却得到了迅速的发展,20世纪80年代,日本的工程师用模糊控制技术首先实现了对一家电子水净化工厂的控制,又开发了仙台地铁模糊控制系统,创造了当时世界上最先进的地铁系统,而这引起了模糊控制领域的一场巨变,使得西方又开始重视模糊控制理论[1]。 早在七十年代中期,我国就开始了智能控制的研究和应用,并且取得了许多应用成果,我国是最早把模糊理论引入气象预报、地震预测和高炉冶炼控制等方面应用的国家之一。例如,在地震发生趋势预测中对模糊信息的处理在工程设计方面发展了软件理论,并求得最佳设计方案研究出许多专家系统,特别是运用模糊数学方法描述中医经验在交通网、水管网、通信网、可靠性分析方面的实际功能运用等。 随着科学技术的不断发展和进步以及人们生活水平的提高,人们在日常的生活和劳动生产中对空气环境的要求也不断提高,特别是对空气的温度、湿度、以及洁净度的要求,使空调系统的应用越来越广泛。空调控制系统涉及面广,要实现的任务复杂,它通过空调系统为建筑物的不同区域提供满足不同使用要求的环境。 在满足用户对空气环境要求的前提下,采用先进的控制策略对空调系统进行控制,达到控制要求并且节约能源成为空调控制系统的最终目标。特别是近几年来,“绿色建筑”、“环保建筑”的提出,使得对空调控制系统的控制模式的研究显

相关文档