这是我建立的simulink模糊PID控制模型:
由于不想手动来调这几个值(量化因子和比例因子),就用了智能算法PSO粒子群算法来迭代分析得到最优适应度值最好的五个参数值。
下面两张图是采用这个思路跑仿真3天跑出来的结果:
现在有三个问题:
第一:模糊控制器的两输入(E、Ec)三输出(K▲p、K▲i、K▲d)论域范围和隶属度函数怎么确定?我的理解是量化因子E误差为输入值与反馈值最大误差的范围为它的论域范围,同理Ec误差变化率就相当于位移之于加速度;比例因子K▲p论域范围为输出Kp的乘积变化范围,K▲i、K▲d同理;隶属度函数就完全随缘,我用的是一篇论文的相类似的隶属度函数。
仿真的时候matlab命令行会有warning,输入E和Ec总是会超过设定的E、Ec的论域范围(这里没有截到图),当时我尝试过增大E和Ec的论域范围,但都会有稍微超出一点点大小的值而出现warning,因为不是错误error也就能顺利跑完仿真。这一个问题有没有什么解决办法?
下图是我设置的论域范围和隶属度函数:
第二:如何根据具体物理试验设置特定的模糊规则?我看论文别人都说这个看经验,有没有什么书籍专门介绍了这方面的内容没有?单独对模糊PID来说。
下图为我建立的模糊规则控制表(论文截图):
第三:PSO寻优这五个值的寻找范围怎么确定?单独对PSO寻优来说
从第三张图五个值得迭代优化曲线可以看出来,Kui、Kec到后面就到达了设置的寻优极限边界,这肯定是不对的。难道只能仿真一次看曲线有没有到达极限边界然后在matlab里面调大边界值范围吗?但是我这一次仿真就要3天,这效率是不是太低了。
如果有相关研究方向的大佬欢迎在评论区讨论,这对我之后的研究很重要!如果成功解决了,孩子也就能顺利毕业了!555