第 2期(总第 129 期)
2005年 4月
机 械 工 程 与 自 动 化
MECHANICAL ENGINEERING & AU TOMATION
No . 2
Apr .
文章编号: 1672-6413( 2005) 02-0078-03
基于 MATLAB的模糊控制系统的优化
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
与仿真
李 博, 龚晓宏
(中国航天科技集团 401 所, 陕西 西安 710025)
摘要: 介绍了利用M atlab 进行模糊控制系统设计及仿真的方法, 尤其为了改善模糊控制系统的性能, 论述了
三种主要的优化设计方法, 并将模糊逻辑工具箱与 Simulink 仿真平台有机结合, 实现了模糊控制系统的优化
设计与仿真。首先利用 Matlab6. 5 模糊逻辑工具箱图形用户界面建立模糊逻辑推理系统, 然后在Simulink5. 0
系统仿真设计平台中, 通过实例化 S 函数模板创建旨在优化模糊控制的 S 函数功能模块, 并构建模糊控制系
统框图模型, 设置系统仿真参数, 最终对系统进行动态仿真。
关键词: 模糊控制; M atlab; Simulink; S- 函数; 仿真; 优化设计
中图分类号: T P273+ . 4∶T P391. 9 文献标识码: A
收稿日期: 2005-01-22
作者简介: 李博( 1979-) ,男,湖北荆门人,在读硕士研究生,研究方向:计算机控制及软件
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
。
0 引言
常规模糊控制系统设计与仿真简单且易于实现,
但不能满足较为严格的控制要求, 为了使模糊控制系
统能够应用于更加宽泛的领域, 就有必要对其进行优
化设计和仿真。模糊控制系统的优化方法很多, 主要
有三类: 参数 (量化因子、比例因子等) 自调整、加
权因子 (控制规则) 自调整及与其它控制相结合。本
文在MAT LAB6. 5基础上, 通过 S 函数模板实例化S
函数, 将模糊逻辑工具箱和 SIMULINK 有机结合, 实
现了模糊控制系统的优化设计与仿真。
1 常规模糊控制器设计与仿真
1. 1 模糊逻辑工具箱模糊控制器设计
( 1) 在模糊推理系统 ( FIS) 编辑器中建立两个输
入 (偏差E、偏差变化率 EC) 和单个输出 ( U ) 的 FIS
结构, 模糊决策采用Mamdani型算法, 解模糊采用重
心法 ( cent roid)。
( 2) 隶属度函数编辑器中修改各输入输出隶属函
数, 图 1为输入E、EC 和输出U 的隶属度函数曲线。
图 1 输入 E、EC 和输出 U 的隶属度函数曲线
( 3)规则编辑器中添加表 1所示的模糊控制规则。
( 4) 将该模糊推理系统保存为: fismatr ix . f is。
1. 2 Simulink 建模与仿真
利用 Simulink 中的基本库和模糊逻辑工具箱模
块,建立如图 2所示的常规模糊控制系统模型框图。将
fismatrix . fis 模 糊 推 理 系 统 导 出 到 工 作 区 为
fismatrix , 并将图中模糊控制模块参数设为工作区中
的数据结构 fismatrix, 即可进行仿真。常规模糊控制
系统曲线见图 3。
2 优化模糊控制器设计与仿真
2. 1 参数自调整模糊控制器设计与仿真
采取调整参数优化时, 为使系统具有快速性和稳
定性, 可在偏差或偏差变化率较大时, 偏差比例因子
K e和偏差变化比例因子 K ec取较小值, 输出比例因子
K u取较大值; 而为使系统避免超调和快速进入稳态精
度区域, 可在偏差或偏差变化率较小时, K e 和K ec取较
大值, K u取较小值。
表 1 模糊控制规则表
U
EC
NB NS ZR PS PB
E
NB NB NB NS NS ZR
N S NB NS NS ZR ZR
ZR NS NS ZR ZR PS
PS NS ZR ZR PS PS
PB ZR ZR PS PS PB
图 2 常规模糊控制系统模型框图
图 3 常规模糊控制系统曲线
模糊推理系统的建立与前述常规系统完全相同,
系统优化与仿真仅需通过编写 S函数即可实现。
展开Simulink库中的 S-funct ion demos模块, 选
择 M-fl ie S-funct ions 下的 M 文件 S 模板, 对其进行
相应修改即可得到用户所需的 S函数。
调用模板文件作如下修改, 创建参数自调整系统
S 函数。
( 1) 修改函数名和输入:
%函数名由 sfuntmpl改为 par a
% Ke, Kec, Ku 为可设置量化、比例因子初值
function[ sy s, x0, st r, ts] =
para ( t, x , u, flag, Ke , K ec , K u)
( 2) 修改 S函数中输出函数参数:
case 3,
sys= mdlOutputs( t, x , u, Ke , Kec , K u) ;
( 3) 修改初始化例程:
%设置输出端口数
sizes. NumOutputs= 3;
%设置输入端口数
sizes. NumInputs= 2;
( 4) 修改输出例程:
function sys= mdlOutputs( t, x , u, K e, Kec, Ku )
% u( 1)、u( 2)分别为偏差 E 和偏差变化率 Ec
% sys( 1)、sys( 2)、sys( 3)分别为调整后的 Ke , K ec , K u
if abs( u( 1) ) > 0. 3�abs( u( 2) ) > 0. 1
sys( 1) = 0. 3* K e;
sys( 2) = 0. 05* K ec ;
sys( 3) = K u+ 25;
elseif abs( u( 1) ) > 0. 1�abs( u( 2) ) > 0. 05
sys( 1) = 0. 5* K e;
sys( 2) = 0. 3* K ec;
sys( 3) = K u+ 16;
else
sys( 1) = 0. 8* K e;
sys( 2) = 0. 6* K ec;
sys( 3) = K u;
end
保存S 函数为 para_ regulate. m ,创建图 4所示的
参数自调整模糊控制系统模型,将 S-Funct ion 块中 S-
Funct ion name 参数设为创建的 M 文件名, 并将 S-
Funct ion Par ameter 参数设为 S 函数中新增参数的对
图 4 参数自调整模糊控制系统模型
·79· 2005年第 2 期 李博,等: 基于 MATLAB 的模糊控制系统的优化设计与仿真
应数值, 即 K e、K ec、K u 的初值, 这样就可进行仿真,
参数自调整模糊控制系统曲线见图 5。
图 5 参数自调整模糊控制系统曲线
2. 2 因子自调整模糊控制器设计与仿真
对于二维模糊控制器, 当输入与输出的论域等级
划分相同时, 控制规则可表示为: U= - [�E+ ( 1-
�) EC] , 其中 �为偏差加权系数, �∈ ( 0, 1) , ( 1-
�) 为偏差变化率加权系数。
采取因子调整优化时, 初始控制阶段系统偏差较
大,应使偏差加权系数�较大;控制趋向稳定时系统偏
差较小, 应使偏差变化率加权系数 ( 1- �) 较大。
调用模板文件作如下修改, 创建因子自调整系统
S 函数。
( 1) 修改函数名和输入:
%函数名由 sfuntmpl改为 rulesr
% a1, a2为可切换的偏差加权系数
% er 为偏差加权系数切换临界值
function [ sys, x0, str , ts] =
rulesr ( t , x , u, flag , a1, a2, er )
( 2) 修改 S 函数中输出函数参数:
case 3,
sys= mdlOutputs ( t , x , u, a1, a2, er) ;
( 3) 修改初始化例程:
%设置输出端口数
sizes. NumOutputs= 1;
%设置输入端口数
sizes. NumInputs= 2;
( 4) 修改输出例程:
function sys= mdlOutput s( t, x , u, a1, a2, er )
% u( 1)、u( 2)分别为偏差 E 和偏差变化率 EC
% sys 为模糊推理输出 U 值
e= u( 1) ;
if e> er
sys= a1* u( 1) + ( 1- a1) * u( 2) ;
else
sys= a2* u( 1) + ( 1- a2) * u( 2) ;
end
保存S 函数为 r ule_ r egulate. m, 创建图 6所示的
因子自调整模糊控制系统模型, 设置a1、a2和 er 值, 即
可进行仿真, 因子自调整模糊控制系统曲线见图 7。
图 6 因子自调整模糊控制系统模型
图 7 因子自调整模糊控制系统曲线
2. 3 复合型模糊控制器设计与仿真
复合型模糊控制器是模糊控制器与其它控制器的高
级结合, 兼有模糊控制器和与其结合的控制器的优良特
性, 对单纯模糊控制器系统性能有较为显著的改善。
以模糊控制与PID 控制简单结合为示例, 在大偏
差范围内采用Fuzzy 控制, 小偏差范围内采用PID 控
制, 建立图8所示的Fuzzy- PID控制系统。在Sw itch
模块中设置控制切换的偏差临界值, PID模块中设置
PID参数, 即可进行仿真, Fuzzy- PID模糊控制系统
曲线见图 9。
图 8 Fuzzy- PID 控制系统
3 仿真曲线比较
通过图 3、图 5、图 7、图 9对不同优化与常规仿
真曲线比较, 可以看出模糊控制系统优化方法可行, 对
系统的控制性能改善显著。
4 结束语
(下转第 83页)
·80· 机 械 工 程 与 自 动 化 2005 年第 2 期
能完成预期的任务, 在很大程度上实现了机床联网与
数控程序的管理。
5 结论
通过实施数控机床联网, 将所有的数控程序、数
控系统参数以及 PLC 程序 ( ASCⅡ代码文件) 都备份
到计算机中, 从而保护了系统资源; 通过网络传输程
序,既保证了数据的准确性又大大地提高了工作效率,
并且通过 DNC 控制, 解决了部分系统内存太小的数
控机床不能执行较大数控程序的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
; 通过将 HUB
联接到上位 CAD网, 使CAD网中的任意一台计算机
均可以根据权限管理任意一台数控机床, 从而实现
CAD/ CAM 设计和数控加工整个过程的计算机管理。
该系统使我院基本上改变了原来的数控机床的管理模
式, 为培养先进的机械人才打下了坚实的基础。
参考文献:
[ 1] 范玉顺, 刘飞, 祁国宁 . 网络化制造系统及其应用实践
[ M ] . 北京:机械工业出版社, 2003.
[ 2] 苗雪兰, 刘瑞新, 王怀峰 . 数据库系统原理及应用教程
[ M ] . 北京:机械工业出版社, 2001.
[ 3] 求是科技,谭思亮, 邹超群,等 . V isua l C+ + 串口通信工程
开发实例导航[ M ] . 北京: 人民邮电出版社, 2003.
[ 4] 胡道远 . 计算机局域网 [ M ] . 北京: 清华大学出版社,
2001.
Project of Networked NC Tool and NC Program Administer
ZHANG Cui-xuan
( Beijing Inst itute of M achinery, Beijing 100085, Chin a)
Abstract: In order t o resolv e the tr adit ional st and - alone product ion mode w e advance a net wo rked project of NC tool. T hrough
editing pr og ram, manag ing da tabase and tr ansm itting pr og ram w e can run t he pro gr am of many NC tools and tr ansfer it by only one
computer . Then the ag ility and efficiency o f the pro cess of NC tool wer e improved.
Key words: the management o f dat aba se ; NC t oo l; NC prog ram; Net wo rk
(上接第 80页)
图 9 Fuzzy- PID 模糊控制系统曲线
模糊控制系统的优化方法很多, 本文仅仅是基于
MATLAB 论述了三种重要的优化方法。由此也可以
看出,充分利用 MAT LAB软件,使得模糊控制系统的
优化设计与仿真更为简单。
参考文献:
[ 1] 李士勇 . 模糊控制·神经控制和智能控制论[ M ] . 哈尔
滨: 哈尔滨工业大学出版社, 1996.
[ 2] 楼顺天, 胡昌华 . 基于 MATLAB 的系统分析与设计—
模糊系统 [ M ] . 西安: 西安电子科技大学出版社, 2001.
[ 3] 吴晓莉, 林哲辉 . M AT LAB 辅助模糊系统设计[ M ] . 西
安: 西安电子科技大学出版社, 2002.
[ 4] 姚俊, 马松辉 . Simulink 建模与仿真[ M ] . 西安: 西安电
子科技大学出版社, 2002.
Optimization Design and Simulation of
Fuzzy Control System Based on MATLAB
LI Bo,GONG Xiao-hong
( The 401th Ins titute of CASC, Xi’an 710025, Chin a)
Abstract: The method o f design and simula tion using Matlab is pr esented in this paper . Especially , to improve perfo rmance of fuzzy
contr ol system , thr ee kinds o f major methods o f optimization design and simulat ion o f fuzzy contr ol system are discussed, v ia
combining fuzzy log ic to olbox with Simulink seamlessly . F ir st, fuzzy lo gic infer ent ial sy st em is established by using too lbox o f fuzzy
log ic in Mat lab 6. 5. Then, in Simulink5. 0, thr ough the instance o f t he template of S-function, t he module o f S-funct ion for
optimizing fuzzy contro l and co r responding contr ol model ar e constructed, and the par ameters o f simulation ar e set . F inally , the
dynamic simulation o f the system is implemented.
Key words: fuzzy cont ro l; Matlab; Simulink; S-function; simulation; optimization design
·83· 2005年第 2 期 机 械 工 程 与 自 动 化