由于博主非自动化相关专业学生,如有疏漏以及谬误还请不吝赐教。感谢~
由于常见的是二阶系统,所以本文以二阶系统为例,展开分析。
专家PID控制原理
PID专家控制的实质是,基于受控对象和控制规律的各种知识,无需知道被控对象的精确模型,利用专家经验来设计PID参数。
- 专家PID控制是一种直接型专家控制器。
对典型的二阶系统单位阶跃响应过程作如下分析。
专家控制系统一般不需要知道被控对象的精确模型,是基于受控对象和控制规律的各种知识,利用在该领域的专家经验来制定决策。因此我们无需建立这个控制系统的模型和传递函数。
- 上面说了我们不需要做什么,那我们需要做什么?以及怎么做?
对于这个问题,我们首先需要分析对于“典型的二阶系统”我们掌握的知识、经验或规律。
无论采取什么样的算法来控制系统,最主要的目的是使系统的误差足够小。大误差要对应强的控制来矫正,小误差对应弱的控制作用。当经过控制后误差小到我们设定的范围,我们就保持当前的控制作用即可,使系统保持稳定,并改善对于稳定状态的性能指标。
根据以上分析,我们需要首先知道“典型的二阶系统”的误差变化曲线是什么样子的。
典型的二阶系统单位阶跃响应误差曲线如图所示。
图中的区域可以分为以下两类:
- 误差的绝对值在减小 (图中曲线白色部分)
- 误差的绝对值在增大 (图中阴影部分)
根据我们的经验,误差及其变化是我们实时控制算法的依据。
我们以PID的误差及其变化为依据,按照下述步骤设计我们的专家PID控制器:
- 引入一些定义
同时定义2个常数:并且 - 根据误差及其变化,专家PID可以分为如下5种情况
(1) 当时
说明误差的绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出应按最大(小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。同时需要避免超调。(此时,相当于实施开环控制)
(2)当或时
说明误差在朝绝对值增大的方向变化或者误差保持不变
此时如果,说明误差也较大,考虑由控制器实施较强的控制作用,以达到扭转误差绝对值朝减小的方向变化,并迅速减少误差的绝对值,控制器的输出为
Note:上述公式为增量式PID算法,我们还加上了来增强控制作用。
如果此时,说明尽管误差朝绝对值增大的方向变化,但是误差绝对值本身并不大,考虑由控制器实施一般的控制作用,只要扭转误差的变化趋势,使其朝误差绝对值减小方向变化,控制器输出为:
对比上面缺少了系数。
[注意](3)(4)的3个条件中,前两个是逻辑与的关系,其整体与最后的e(k)=0是逻辑或的关系,请勿对这段描述理解错。(文章中条件中的逗号是同时满足的意思)
应用举例
求三阶传递函数的阶跃响应
其中,对象采样时间为1ms。
在仿真过程中取0.001。程序中的五条规则和控制算法中的5种情况相对应。
采用Z变换进行离散化,经过Z变换离散化后的对象为:
专家PID控制
代码参考文末附录资料。
对比试验:常规PID控制
Reference
https://wenku.baidu.com/view/3b505c86a200a6c30c22590102020740be1ecd83.html