专家系统PID

本文的pdf文件:link

一、问题重述

       控制一个三阶传递函数的阶跃响应:
G p ( s ) = 523500 / ( s 3 + 87.35 s 2 + 10470 s ) G_p (s)=523500/(s^3+87.35s^2+10470s) Gp(s)=523500/(s3+87.35s2+10470s)
       其中对象采样时间为1ms,采用专家PID设计控制器,在仿真的过程中,采样时间为0.001s,程序中的五条规则与控制算法的五种情况相对应。
       (1)编程实现上述系统的阶跃响应,画出输出波形
       (2)编程实现传统PID对上述系统的矫正结果(设置十组参数)
       (3)编程实现专家PID对上述系统的矫正结果

二、原理分析

2.1 系统函数

       根据三阶系统的传递函数,可以得到其图像,由于计算机中不存在真实连续的图像,所以设置采样间隔为0.001s,并得到系统函数图像。
在这里插入图片描述

2.2 阶跃响应

2.2.1单位阶跃函数

在这里插入图片描述
       其函数图像如图所示:
在这里插入图片描述

2.1.2 系统的阶跃响应

       阶跃响应是指系统在阶跃信号的作用下所产生的响应。根据matlab中的函数“step”,可以求解得到系统的阶跃响应。
在这里插入图片描述

2.2 传统PID

2.2.1 PID应用及特点

       PID控制是一种结构简单、稳定好、工作可靠、调整方便的方法,主要应用在被控对象的结构和参数不能完全掌握,或者得不到精确的数学模型时,控制理论的其它技术难以采用,系统控制器的结构和参数必须依靠经验和现场调试来确定的情况。

2.2.2 相关术语介绍

       反馈:系统的输出成为输入的部分,反过来作用于系统本身,从而影响系统的输出,反馈分正反馈和负反馈。
       开环:输入信号决定输出,输出不会影响系统输入。
       闭环:输出信号会被用来作为输入的一部分(反馈),输出影响系统的输入。

2.2.3 PID控制算法原理

       PID(proportion integration differentiation)是指比例,积分,微分控制。当得到系统的输出后,将输出经过比例,积分,微分3种运算方式,叠加到输入中,从而控制系统的行为,其运行流程如下图所示。
在这里插入图片描述
1、比例控制算法
       比例控制,假设一种情况下,需要系统一直保持一种状态,而初始状态下,该状态并未达到系统规定的状态,这时,当前时刻和目标状态之间存在一个误差error,这时需要外力来改变这个状态,以此来达到目标状态,设改变量为u,则比例控制指的是u和误差error成正比,即
u = k p ∗ e r r o r u=k_p*error u=kperror
       假设我们需要对一个系统进行控制,使得其最终状态保持在stata=1,初始情况下state=0.2.
       首先,假设一旦达到某个状态,系统就会一直维持该状态。根据上述的比例控制算法,假设 k p k_p kp取0.5,error为0.8,那么t=1时(表示第一次对系统施加控制),那么 u = 0.5 ∗ 0.8 = 0.4 u=0.5*0.8=0.4 u=0.50.8=0.4,所以这一次会使状态在0.2的基础上增加0.4,达到0.6。接着,t=2时刻(第2次施加控制),当前状态是0.6,所以error是0.4。 u = 0.5 ∗ 0.4 = 0.2 u=0.5*0.4=0.2 u=0.50.4=0.2,会再次上升0.2,达到0.8。如此这么循环下去,就是比例控制算法的运行方法。
       但是,比例控制存在着一些不足,其中一点就是稳态误差,如上述的例子,根据 k p k_p kp取值不同,系统最后都会达到1,只不过 k p k_p kp大了到达的快, k p k_p kp小了到达的慢一些,不会有稳态误差。但是,考虑另外一种情况,假设系统在减小误差的过程中,还存在增大误差的情况,假设每次改变状态时,系统都会减少0.1,仍然假设 k p k_p kp取0.5,那么会存在着某种情况,假设经过几次控制后,当前状态到0.8时,系统将不再变化,因为,系统为0.8,则误差error=0.2. 所以每次改变系统的量为 u = 0.5 ∗ 0.2 = 0.1 u=0.5*0.2=0.1 u=0.50.2=0.1,同时,每次系统又会减少0.1增加与减小相等,系统将不再变化。目标是1,但是最后系统达到0.8就不再变化了,且系统已经达到稳定,由此产生的误差就是稳态误差。
2、积分控制算法
       积分控制算法,该分量和误差的积分是正比关系。所以,比例+积分控制算法为:
u = k p ∗ e r r o r + k i ∗ ∫ e r r o r u=k_p*error+k_i*∫error u=kperror+kierror
       还是用上面的例子来说明,第一次的误差error是0.8,第二次的误差是0.4,至此,误差的积分(离散情况下积分其实就是做累加), ∫ e r r o r = 0.8 + 0.4 = 1.2 ∫error=0.8+0.4=1.2 error=0.8+0.4=1.2. 这个时候的控制量,除了比例的那一部分,还有一部分就是一个系数ki乘以这个积分项。由于这个积分项会将前面若干次的误差进行累计,所以可以很好的消除稳态误差,假设在仅有比例项的情况下,系统卡在稳态误差了,即上例中的0.8,由于加入了积分项的存在,会让输入增大,从而使得系统可以大于0.8,渐渐到达目标的1.0。
3、微分控制算法
       微分就是error的差值,就是t时刻和t-1时刻error的差,即
u = k d ∗ ( e r r o r ( t ) − e r r o r ( t − 1 ) ) u=kd*(error(t)-error(t-1)) u=kderrorterrort1
       其中的kd是一个系数项。可以看到,error越来越小,所以这个微分控制项一定是负数,在控制中加入一个负数项。
       切换到上面例子,就是当发现系统快要接近1的时候,加入微分项,可以防止系统加到超过1的高度,减少控制过程中的震荡
4、PID控制
U ( t ) = k p ( e r r o r ( t ) + 1 / t 1 ∫ [ e r r o r ( t ) d t + ( T D d e r r o r ( t ) ) / d t ) ] U(t)=k_p (error(t)+1/t_1 ∫[error(t)dt+(T_D derror(t))/dt)] U(t)=kp(error(t)+1/t1[error(t)dt+(TDderror(t))/dt)]
       括号内第一项是比例项,第二项是积分项,第三项是微分项,前面仅仅是一个系数。很多情况下,仅仅需要在离散的时候使用,则控制可以化为
在这里插入图片描述
       每一项前面都有系数,将这些系数进行统一,即:
在这里插入图片描述

2.3 专家系统PID

2.3.1 专家系统

       专家系统是一个智能计算机程序,含有大量专家水平的知识和经验,能模拟人类专家的思维过程,求解困难问题。实际生活中,存在许多无法用数学模型或计算解决的问题,专家一般根据自己丰富的知识和经验进行推理从而解决问题。而专家系统正是模仿这一特点设计的。
在这里插入图片描述
专家系统的分类:
1,直接型专家系统
在这里插入图片描述
       直接专家控制器用于取代常规控制器,直接控制生产过程或被控对象,具有模拟延伸,扩展操作工人智能的功能。该控制器的任务和功能相对比较简单,但是需要在线,实时控制。
2,间接型专家系统
在这里插入图片描述
       用于和常规控制器相结合,组成对生产过程或被控对象进行简介控制的智能控制系统。

同一般的计算机应用系统相比,专家系统具有如下特点:
       (1)从处理的问题性质看,专家系统善于解决那些不确定性的,非结构化的,没有算法解或虽有算法解但是在现有的机器上无法实施的困难问题。
       (2)从处理问题的方法看,专家系统则是靠知识和推理来解决问题,所以,专家系统是基于知识的智能问题求解系统。

专家系统的特征
       (1)具有专家水平的知识:必须表示专家的技能和高度的技巧以及足够的鲁棒性。系统的鲁棒性是指不管数据正确与否,都能够得到正确的结论或者指出错误。
       (2)能进行有效的推理:能够运用专家的经验和知识进行搜索、推理。
       (3)具有透明性:在推理时,不仅能够得到答案,而且还能给出推理的依据。
       (4)具有灵活性:知识的更新和扩充灵活方便。
       (5)复杂性:人类的知识可以定性或定量的表示,专家系统经常表现为定性推理和定量计算的混合形式,比较复杂。
在这里插入图片描述
       专家系统是一个具有大量专门知识与经验的程序系统,根据某个领域的专家提供的知识和经验进行推理和判断,模拟人类专家的决策过程。

2.3.2 专家系统的开发步骤

1,问题识别阶段
       知识工程师和专家确定问题的重要特点,抓住问题各主要方面的特征。
2,概念化阶段
       主要任务是揭示描述问题所需的关键概念,关系和控制机制,子任务,策略和有关问题求解的约束。
3,形式化阶段
       把概念化阶段概括出来的关键概念,子问题和信息特征形式化的表示出来。
4,实现阶段
       把形式化知识变成计算机的软体,即要实现知识库,推理机,人机接口和解释系统。
5,测试阶段
       通过运行实例评价原型系统以及用于实现它的表达形式,从而发现知识库和推理机制的缺陷。

2.3.3 控制过程

       PID专家控制的实质是,基于受控对象和控制规律的各种知识,无需知道被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直接型专家控制器。
       典型的二阶系统单位阶跃响应误差曲线如图所示:
在这里插入图片描述
       专家整定PID控制系统
在这里插入图片描述
       具体控制过程
在这里插入图片描述
       流程图如图所示:
在这里插入图片描述

三、结果求解

3.1 传统PID矫正

在这里插入图片描述
       由上述公式可知,传统PID控制需要自行设定其参数,分别为 k p k_p kp K i K_i Ki K d K_d Kd,每个参数都对结果有影响,所以采用控制变量法,分别分析独立参数变化时系统阶跃响应的矫正结果。

3.1.1 k p k_p kp改变, K i K_i Ki K d K_d Kd保持不变

       设置 k p k_p kp=[0.2,0.25,0.3,0.35],分别得到其对系统的矫正,如图所示:
在这里插入图片描述
       其中蓝色代表输入,红色代表输出,绿色代表误差曲线,可以看到,随着 k p k_p kp的增大,误差逐渐减小,例如当 k p k_p kp=0.2时,误差会超过0.5,但是当 k p k_p kp=0.35时,误会超过,且最终达到的稳态与目标状态更加接近。

3.1.2 K i K_i Ki改变, k p k_p kp K d K_d Kd保持不变

       设置 K i K_i Ki=[0.1,0.15,0.2,0.25],分别得到其对系统的矫正,如图所示:
在这里插入图片描述
       其中蓝色代表输入,红色代表输出,绿色代表误差曲线.

3.1.3 K d K_d Kd改变, k p k_p kp K i K_i Ki保持不变

       设置 K d K_d Kd=[0,0.001,0.005,0.01],分别得到其对系统的矫正,如图所示:
在这里插入图片描述
       其中蓝色代表输入,红色代表输出,绿色代表误差曲线.

3.2 专家系统PID矫正

       使用专家系统对上述系统进行矫正,结果如图:
在这里插入图片描述

四、结果分析

       对比上述两种不同的控制方法,我们可以得到其分别对于系统阶跃响应的矫正,根据图像可知,在传统PID中,矫正过程的持续时间过长,且不同的参数对于结果的影响也比较大,但是针对参数的设置,并未有有效的方法,只能不断的试错,以此达到比较好的控制结果,而且该系统一旦设置很难迁移,在其他场景下就需要另外选择参数。而专家系统PID是根据专家知识来得到的,具有可扩展性。

自动化 控制方向的25篇经典文章 List: [1].NYQUIST, H., "Regeneration theory," Bell Syst. Tech. J., vol. 11, 1932, pp.126-147 [2].BLACK, H.S., "Stabilized feedback amplifiers," Bell Syst. Tech. J., vol. 14, 1934, pp.1-18 [3].BODE, H.W., "Relations between attenuation and phase in feedback amplifier design," Bell Syst. Tech. J., vol. 19, pp. 421-454, 1940 [4].WIENER, N., "The linear filter for a single time series - Chapter III", from: Extrapolation, Interpolation, and Smoothing of Stationary Time Series, pp. 81-103, 1949 [5].EVANS, W. R., "Control system synthesis by root locus method," Trans. Amer. Institute of Electrical Engineers, 69, pp. 66-69, 1950 [6].BELLMAN, R., "The structure of dynamic programming processes," Chapter 3 of "Dynamic Programming,“ Princeton University Press, Princeton NJ 1957, pp. 81-89 [7].PONTRYAGIN, L.S., "Optimal control processes," Uspekhi Mat. Nauk, USSR, Vol. 14, 1959, pp. 3-20.(English translation: Amer. Math. Society Trans., Series 2, vol. 18, 1961, pp. 321-329.) [8].KALMAN, R.E. "Contributions to the theory of optimal control," Bol. Soc. Mat. Mexicana, vol. 5, 1960,pp. 102-119 [9].KALMAN, R.E. "A new approach to linear filtering and prediction problems," Trans. ASME (J. Basic Engineering), vol. 82D, no.1, March 1960, pp. 35-45 [10].FELDBAUM, A.A., "Dual control theory, Parts I and II", Automation and Remote Control, Vol. 21, No. 9, April 1961, pp. 874-880 and Vol. 21, No. 11, May 1961, pp. 1033-1039. (Russian originals dated September1960, 1240-1249 and November 1960, pp. 1453-1464) [11].POPOV, V.M., "Absolute stability of nonlinear systems of automatic control," Auto. Remote Control, vol. 22, No. 8, February 1962, pp. 857-875. (Russian original dated August 1961, pp. 961-979) [12].BRYSON, A.E. and DENHAM, W.F., "A steepest-ascent method for solving optimum programming problems," Trans. ASME. J. Appl. Mechanics, June 1962, pp. 247-257 [13].YAKUBOVICH, V.A., "Solution of certain matrix equations appearing in automatic control," DAN (Doklady Akade
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值