您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > PID参数优化和前馈控制
1现代工程控制理论实验报告学生姓名:任课老师:学号:班级:2目录实验十一PID参数优化和前馈控制...........................................................................31、PID参数优化...................................................................................................31.1实验目的................................................................................................31.2PID优化方法.........................................................................................32前馈控制...........................................................................................................172.1实验原理...............................................................................................172.2实验步骤及内容...................................................................................192.3实验结论...............................................................................................263、实验中遇到的问题........................................................................................273.1PSO优化结果问题...............................................................................273.2如何寻找一个函数分析系统仿真过程中的扰动对系统输出的影响程度?..........................................................................................................303实验十一PID参数优化和前馈控制本次实验分为PID控制器的参数优化和前馈控制器分析两个部分。1、PID参数优化1.1实验目的PID控制器是控制领域中最为经典、应用最为广泛的一种控制器,但是现如今PID参数的选择方法仍然没有一个广泛认同的标准。本次实验通过实例讲解一种较为基本的PID参数选择方法,以供大家参考。1.2PID优化方法PID参数选择主要分为两个部分,经验寻找和精准筛选。1.2.1经验寻找在已知对象传递函数的条件下,寻找控制器参数的第一步的是经验寻找,即利用经验公式大致确定PID三个参数的大致范围。设PID控制器的形式为1(1)pdikTSTS,确定kp、Ti、Td参数的经验公式如下:4(1)对于传递函数为(1)nKTs的系统选择PI控制器,10.3pknk,0.5iTnT。(2)对于传函为snke(1+Ts)的系统可以选择Zn法选择PID控制系数。Zn法的表格如下。Zn法pKiTdTPTk0PI0.9Tk3.30PID1.2Tk20.5至于纯迟延系统PID控制器的参数选择方法在实验十二继续阐述,在此不再累赘。例:针对传递函数为22(1+80s)的对象设计PI控制器,使系统最终能够稳定下来,且超调量小于5%,稳定时间小于500s。解:根据经验公式可以大致确定一组PI系数使系统能够稳定下来。对应的程序如下。5得到kp=0.8333,Ti=80。对应的控制器的传递函数为0.01040.8333s,在相应的控制器的作用下系统的输出曲线如下。从图像中可以观察到,经验公式得到的控制器虽然能使系统稳定下来,但输出品质却无法令人满意。因此需要优化控制器的参数,进行精确寻找。1.2.2精确寻找经验法得到的控制器参数仅仅能够使系统稳定下来,但系统的品质往往并不是特别令人满意,因此需要进一步寻找更精确的控制器参数。010020030040050060070080090000.20.40.60.811.21.4经验公式得到的PI控制器下的输出ts=448,Mp=26.1816,FAI=0.92257,tr=128,tp=200,ys=0.997026尽管精确寻找的算法很多,但这些算法的方向都一样的,即是在粗略PID参数附近利用各种方法搜寻使目标函数取最小值的kp、Ti和Td。因此这一步的关键在于目标函数的确定和搜寻方法的选择。1.2.2.1目标函数目标函数用来衡量搜寻当中控制器参数的满意程度,它对于系统辨识或PID参数优化问题极为重要,直接影响最终的辨识或优化效果。但目前并没有成型的理论可以系统地阐述什么样的条件下选用什么样的目标函数,只能通过经验来确定。对于PID参数优化问题,常用的目标函数有以下这么4个。21fedt、2||fetdt、23fetdt、224fetdt为了便于写程序,将其写成累加的形式分别为。22222231234||,,fedtfiedtfiedtfiedt,其中t=i*dt,e=r-y(i)。e表示整个系统输入值和输出值得差。目标函数即是建立一个衡量系统品质的标准。目标函数的值越小,相应的系统输出的控制品质越好。这四种目标函数的侧重点又各有所不同。1f更注重于系统的准确性,对系统的快速性没有直接的要求。一般来说,由1f筛选出来的控制器超调量最小,但稳定时间往往并不是特别理想。72f是在1f的基础上加上了对快速性的考虑,由2f筛选出来的控制器往往比1f得到的控制器在快速性上更胜一筹。而类似的3f、4f也是在系统品质上有所侧重。经过不同的目标函数得到的控制器的各项品质多多少少是有所不同。但不管怎样,通过选择合适的目标函数总能让我们找到符合要求的最优的PID控制器。4种目标函数对应的程序如下。Q=0;ifeType==1%21fedtfori=1:lpe=r-y(i);Q=Q+e*e*dt;endendifeType==2%2||fetdtfori=1:lpe=r-y(i);Q=Q+i*dt*dt*abs(e);endendifeType==3%23fetdtfori=1:lpe=r-y(i);Q=Q+i*dt*dt*e*e;endendifeType==4%224fetdtfori=1:lpe=r-y(i);Q=Q+i*dt*i*dt*dt*e*e;8endend此外,为了保证控制品质满足响应的要求(如超调量小于5%)还要对各项品质加入上限和惩罚因子。一但某项品质超过上限,则惩罚因子就开始起作用。惩罚因子是一个很大的数,当这一项起作用后目标函数的值会显著增大。惩罚因子的加入形式也是有讲究的。直接在目标函数上加入一个很大的数是无法表示不同系统品质的“越限程度”。因此需要在惩罚因子上乘上一个比例系数。形似如10EMPMP10||EMP,其中EMP是超调量的上限,MP是实际输出的超调量。对超调量、稳定时间加入上限的程序如下。1.2.2.2搜寻方法搜寻方法有很多种,在此以穷举法、随机搜索、以及PSO算法为例详细介绍。91.2.2.2.1穷举法利用经验公式得到PID控制器的粗略参数后,在其附近能够确定各项参数的一个范围。之后选择合适的步长,在这个范围内寻优。每次得到一组控制器的参数后,可以得到一个目标函数的返回值。要记录下使目标函数值最小的控制器参数作为最优解。继续上例,利用穷举法寻找控制器的最优参数,程序如下。%穷举法PID参数优化clc;clearall;closeall;[kp,Ti]=first;kpmin=0.6*kp;kpmax=3*kp;Timin=Ti;Timax=3*Ti;step_kp=0.1*kp;step_Ti=0.1*Ti;e=10^10;kp_b=kpmin;Ti_b=Timin;to=clock;forkp_find=kpmin:step_kp:kpmaxforTi_find=Timin:step_Ti:Timax[ec,ym,tm]=fangzhen(kp_find,Ti_find);ifecee=ec;kp_b=kp_find;Ti_b=Ti_find;y_f=ym;end10endendtime1=etime(clock,to)kp_bTi_b得到的kp=1.25,Ti=224,对应的控制器的传递函数为0.00558s1.25+。对应的系统输出曲线为。1.2.2.2.2随机搜索随机搜索也是一种搜寻PID参数的简单方法。相比较穷举法那种不遗漏的筛选方法,随机搜索的方式会快很多。随机法主要利用了概率论的思想。假设每个点都可能是最优点,那么没必要搜索所有的点。只要随机的搜取最够多的点即有很大可能找到想要的最优解,这样可大大缩短仿真时间。010020030040050060070080090000.20.40.60.811.21.4利用穷举法得到的最优的控制器作用下的系统输出kp=1.25Ti=224ts=384,Mp=4.5852,FAI=1,tr=128,tp=168,ys=0.99264利用经验公式得到的最优的控制器作用下的系统输出kp=0.83333Ti=80ts=448,Mp=26.1816,FAI=0.92257,tr=128,tp=200,ys=0.9970211随机搜索对应的程序如下。%随机搜索clc;clearall;closeall;[kp,Ti]=first;kpmin=0.6*kp;kpmax=3*kp;Timin=Ti;Timax=3*Ti;Ti_b=Timin;kp_b=kpmin;e=10^10;kp_b=kpmin;Ti_b=Timin;to=clock;fori=1:1000kp_find=kpmin+(kpmax-kpmin)*rand();Ti_find=Timin+(Timax-Timin)*rand();[ec,ym,tm]=fangzhen(kp_find,Ti_find);ifecee=ec;kp_b=kp_find;Ti_b=Ti_find;endendtime1=etime(clock,to)kp_bTi_b利用随机搜索对PID参数进行优化得到的系统输出曲线如下。121.2.2.2.3PSO算法粒子群优化(PSO)属于群体智能算法,可以大大缩短优化时间。PSO算法利用了生物学中的群体行为。个体为了寻优,它的前进速度就应该由三个外力决定:自己过去最好的、整个群体当前最好的以及自己现在的运动趋势。由这些合力可以确定它的前进方向,使它不再盲目,因此不必要像穷举法那样将任何位置都走过,或者像随机法那样没有目的仅凭随机的寻找最优值。PSO算法的流程如下。010020030040050060070080090000.20.40.60.811.21.4利用随机搜索法得到的最优的控制器作用下的系统输出kp=1.1848Ti=204.3434ts=376,Mp=4.9536,FAI=1,tr=136,tp=176,ys=0.99478利用经验公式得到的最优的控制器作用下的系统输出kp=0.83333Ti=80ts=448,Mp=26.1816,FAI=0.92257,tr=128,tp=200,ys=0.9970213继续上例,通过PSO
本文标题:PID参数优化和前馈控制
链接地址:https://www.777doc.com/doc-5068746 .html