对于pid整定,sisotool的可视化效果更强,但是规定了系统反馈的样子。而response optimization则是完全根据系统的输出值进行调整的。
首先,要使用Check Step Response Characteristics和response optimization必须要有变量。不然它们调什么参数呢?先参考上一篇论文,定义好系统的变量。在simulink中定义和使用变量
注意这一步应该在打开response optimization之前完成,否则变量不会更新进去。当然也有别的方法,懒得写了。总之这样是最简单的。
前提准备
我现在要对这样一个系统进行调优
系统传递函数是transfer fcn1中的那一坨。注意,要调哪一个参数,就把Check Step Response Characteristics模块连在它上面。比如我这里要调的就是这个系统唯一的输出参数。
PID里面要调整的参数写成变量的形式
如果你现在闲着无聊,只是想看一下现在的系统的阶跃响应曲线长啥样,不调整。就把Check Step Response Characteristics模块comment out。
注意,如果要开始用response optimization调参了,就要把其uncomment回来!!
好啦,进入正题
第一步
双击Check Step Response Characteristics模块,打开参数设计页面,调好参数(也可以先不在这一步调整)
要是看不懂这些参数啥意思就评论,要么就先跳过这一步。无所谓的
第二步
点击右下角的response optimization,进入参数调优页面。可以看到红色框中自动载入了我们在一开始设置的变量。(还不会的去看这一篇在simulink中定义和使用变量)
第三步
调的时候要看图的嘛,在这个data to plot里面选择。把图画出来
点击了之后就会出现第一步设置的东东
第一步跳过的,或者想要重新改的,在黄色的部分点击右键,选择edit可以重新编辑
第四步
选择哪些是需要进行优化的参数。选择design variables set,并点击new,新建
第五步
选择要进行优化的参数,比如我选择的是kp ki kd,然后点击这个向左的箭头,放到左边的框中。
min和max分别可以设置其最大值和最小值,scale是一个变化的比例,不懂就不要调
全部设置好以后,点击ok,可以看到这里不再是non,而是designVars了
第六步
options可以设置一些细节的参数。主要是精度的设置。全部设计好以后,点击optimize就会自动开始调优了
进阶:系统参数变化
如果系统本身的参数不是一个定值,在这里进行设置。
比如我认为这里的a1和a2都是会变化的,就把这两个变量拖到左边。uncertain values那里可以设置其变化的范围。