智能控制导论 # 专家控制实例 - 专家PID控制

时间:2024-04-04 10:51:57

由于博主非自动化相关专业学生,如有疏漏以及谬误还请不吝赐教。感谢~


由于常见的是二阶系统,所以本文以二阶系统为例,展开分析。


专家PID控制原理

PID专家控制的实质是,基于受控对象和控制规律的各种知识,无需知道被控对象的精确模型,利用专家经验来设计PID参数。

  • 专家PID控制是一种直接型专家控制器。

对典型的二阶系统单位阶跃响应过程作如下分析。

专家控制系统一般不需要知道被控对象的精确模型,是基于受控对象和控制规律的各种知识,利用在该领域的专家经验来制定决策。因此我们无需建立这个控制系统的模型和传递函数。

  • 上面说了我们不需要做什么,那我们需要做什么?以及怎么做?

对于这个问题,我们首先需要分析对于“典型的二阶系统”我们掌握的知识、经验或规律。

无论采取什么样的算法来控制系统,最主要的目的是使系统的误差足够小。大误差要对应强的控制来矫正,小误差对应弱的控制作用。当经过控制后误差小到我们设定的范围,我们就保持当前的控制作用即可,使系统保持稳定,并改善对于稳定状态的性能指标。
根据以上分析,我们需要首先知道“典型的二阶系统”的误差变化曲线是什么样子的。

典型的二阶系统单位阶跃响应误差曲线如图所示。
智能控制导论 # 专家控制实例 - 专家PID控制
图中的区域可以分为以下两类:

  1. 误差的绝对值在减小 (图中曲线白色部分)
  2. 误差的绝对值在增大 (图中阴影部分)

根据我们的经验,误差及其变化是我们实时控制算法的依据。
我们以PID的误差及其变化为依据,按照下述步骤设计我们的专家PID控制器:

  1. 引入一些定义
    智能控制导论 # 专家控制实例 - 专家PID控制
    同时定义2个常数:M1,M2M_1,M_2并且M1>M2>=0M_1>M_2>=0
  2. 根据误差及其变化,专家PID可以分为如下5种情况
    (1) 当e(k)>M1|e(k)|>M_1
    说明误差的绝对值已经很大。不论误差变化趋势如何,都应考虑控制器的输出应按最大(小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。同时需要避免超调。(此时,相当于实施开环控制)
    (2)当e(k)Δe(k)>0e(k)\Delta{e(k)}>0Δe(k)=0\Delta{e(k)}=0
    说明误差在朝绝对值增大的方向变化或者误差保持不变
    此时如果e(k)>=M2|e(k)|>= M_2,说明误差也较大,考虑由控制器实施较强的控制作用,以达到扭转误差绝对值朝减小的方向变化,并迅速减少误差的绝对值,控制器的输出为
    u(k)=u(k1)+k1{kp[e(k)e(k1)]+kie(k)+kd[e(k)2e(k1)+e(k2)]}u(k)=u(k-1)+k_1\{k_p[e(k)-e(k-1)]+k_ie(k)+k_d[e(k)-2e(k-1)+e(k-2)]\}
    Note:上述公式为增量式PID算法,我们还加上了k1k_1来增强控制作用。
    如果此时e(k)<M2|e(k)|<M_2,说明尽管误差朝绝对值增大的方向变化,但是误差绝对值本身并不大,考虑由控制器实施一般的控制作用,只要扭转误差的变化趋势,使其朝误差绝对值减小方向变化,控制器输出为:
    u(k)=u(k1)+kp[e(k)e(k1)]+kie(k)+kd[e(k)2e(k1)+e(k2)]u(k)=u(k-1)+k_p[e(k)-e(k-1)]+k_ie(k)+k_d[e(k)-2e(k-1)+e(k-2)]
    对比上面缺少了k1k_1系数。
    智能控制导论 # 专家控制实例 - 专家PID控制
    智能控制导论 # 专家控制实例 - 专家PID控制
    智能控制导论 # 专家控制实例 - 专家PID控制
    [注意](3)(4)的3个条件中,前两个是逻辑与的关系,其整体与最后的e(k)=0是逻辑或的关系,请勿对这段描述理解错。(文章中条件中的逗号是同时满足的意思)

应用举例

求三阶传递函数的阶跃响应
Gp(s)=523500s3+87.35s2+10470sG_p(s)=\frac{523500}{s^3+87.35s^2+10470s}
其中,对象采样时间为1ms。


在仿真过程中ϵ\epsilon取0.001。程序中的五条规则和控制算法中的5种情况相对应。
采用Z变换进行离散化,经过Z变换离散化后的对象为:
y(k)=den(2)y(k1)den(3)y(k2)den(4)y(k3)+num(2)u(k1)+num(3)u(k2)+num(4)u(k3)y(k)=-den(2)y(k-1)-den(3)y(k-2)-den(4)y(k-3)+num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)

专家PID控制
智能控制导论 # 专家控制实例 - 专家PID控制
代码参考文末附录资料。

对比试验:常规PID控制
智能控制导论 # 专家控制实例 - 专家PID控制


Reference

https://wenku.baidu.com/view/3b505c86a200a6c30c22590102020740be1ecd83.html