两输入单输出的模糊控制器

思考题:建立两输入单输出的模糊控制器(系统同上),其中一个输入是反馈值与设定的期望值之间的误差,另一输入为反馈值与设定的期望值之间的变化,调整量化因子和比例因子改变控制系统性能。

评价指标:最大偏差(最大超调) 尽量小(在作业中标出其值),控制时间 (过渡时间)尽量短(在作业中标出其值),余差(静差或残差)(在作业中标出其值)尽量小,达到稳定、快速、准确的控制的目的。

===========================================================

===========================================================

1.打开matlab,在命令行窗口中输入fuzzy,回车,弹出窗口

2.依次点击Edit-Add variable-input,新建输入,然后给两个输入改名为E和EC(也可以不改名)

3.双击这个红框,弹出窗口

4.先依次点击Edit-Remove All MFs, 然后Edit-Add MFs,填入7,点击OK

5.单击左上方的E,修改Range和Display Range,单击右上方图中每条线修改名字NB,NM,NS直至PB(也可以不改)

6.为EC和U做同样操作

7.关闭窗口,单击中间标有mamdani字样的白框,通过选择E,EC和U的值并点击Add rule加入规则,一共49条

8. 关闭,保存, 假设保存为‘myf49.fis’,然后在matlab命令行中输入myFLC=readfis(‘myf49.fis’),回车

9. 在命令行中输入simulink,回车,然后新建Blank Model

10. 在主面板或者view中找到Library Browser,点击

11. 分别搜索step,add,gain,derivative,mux,fuzzy logic controller,transfer fcn,transport delay,scope加入其中,并连线

12. 双击add,将其改为+-,双击gain改为相应的2和0.75。双击transfer fcn,修改分母,修改后可能不能正常显示,将图形放大即可。双击fuzzy logic controller输入刚才的myf49.fis,注意引号。

transfer fcn:

fuzzy logic controller:

13.将时长调至30,点击绿色箭头运行

14.双击scope,可观察到波形

  • 5
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
假设有一辆小车需要控制其速度和转向角度,采用双输入输出模糊控制,控制输入个模糊量:速度偏差和角度偏差,输出一个控制量:转向角度。 1. 设定输入变量的模糊集合 速度偏差(e):NB(负大),NM(负),NS(负小),ZO(零),PS(正小),PM(正),PB(正大) 角度偏差(d):NB(负大),NM(负),NS(负小),ZO(零),PS(正小),PM(正),PB(正大) 2. 设定输出变量的模糊集合 转向角度(a):NB(极左),NM(左),NS(稍左),ZO(),PS(稍右),PM(右),PB(极右) 3. 设定控制规则 共设定49条规则,如下所示(以NM为例): e/d NB NM NS ZO PS PM PB NB PB PB PM PM PM PM PM NM PB PM PM PM PM PM ZO NS PM PM PM PM PM ZO NS ZO PM PM PM ZO NS NS NM PS PM PM ZO NS NM NM NB PM PM ZO NS NM NB NB NB PB ZO NS NM NB NB NB NB 其,PB表示正大,PM表示正,PS表示正小,ZO表示零,NS表示负小,NM表示负,NB表示负大。 4. 模糊推理 输入速度偏差为PS、角度偏差为NM,则根据控制规则得到以下输出: a = (0.2 × PS + 0.4 × PM + 0.3 × ZO + 0.1 × NS) + (0.3 × PM + 0.7 × ZO) = 0.06PS + 0.31PM + 0.39ZO + 0.16NS 5. 解模糊化 采用心平均法进行解模糊化,得到输出转向角度为0.39 × (-20) + 0.31 × (-10) + 0.16 × 0 + 0.06 × 10 + 0.08 × 20 = -10.2度。 因此,根据当前的速度偏差和角度偏差,控制将小车的转向角度控制为-10.2度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值