上海大学毕业设计(论文)
判断是否找到了最优参数或者次最优参数。如果系统输出不满足控制要求或者没有达到GA的终止条件,GA算法模块将通过GA算法的遗传操作产生新种群;反之,则系统找到一组最优参数。
5.3 基于GA算法参数调整的PID控制系统的仿真
基于GA算法参数调整的PID控制系统中的核心组成部分PID控制器和GA算法在前面的章节已经详细介绍过了,这里就不再重复。本节将沿用2.4.2节
G?s??400s?50s2增量PID控制算法中提到的作为被控对象模型,对基于GA算法
参数调整的PID控制系统进行仿真,以验证GA算法调整PID参数的有效性和优越性。
5.3.1 基于GA算法参数调整的PID控制系统的具体实现
1、PID控制器的设计
这里采用数字PID控制器,积分和微分项需要离散化处理,在仿真中,积
k分项由
T?e?j?j?0e(k)?e(k?1)替代,微分项由
T替代,采样时间取1ms。
下面图5.3给出了数字PID控制器的程序框图。
46
上海大学毕业设计(论文)
为了适应实际生产的需要,防止因控制量改变过大而引起难以预料的事故,在PID控制器中,还可以利用if函数将控制量限制在一定的范围内。
2、被控对象模型的设计
由于控制器是数字PID,连续的时间模型需要转换成离散的时间模型,这
4002一过程使用c2d函数可以轻易实现。s?50s经c2d函数转换成的离散传递函数
0.0001967z?0.0001935为
z?1.951z?0.95122。离散传递函数分子系数num、分母系数den的获取
4002可由tfdata函数实现。则被控对象s?50s离散化为:
yout(k)??den(2)*yout(k?1)?den(3)*yout(k?2)?num(2)*u(k?1)?num(3)*u(k?2)
3、GA算法模块的设计
47
上海大学毕业设计(论文)
1)确定算法的运行参数
根据第三章介绍的内容取算法的参数如下:种群规模为30,交叉概率为0.6,变异概率选为0.01,采用最大迭代次数G作为终止条件,取为100。 2)确定参数的取值范围和编码
kp参数的取值范围为[1,20],ki、kd参数的取值范围为[0,1]。
为方便起见,本节仿真采用二进制编码方式。设置参数的精度为0.0001,故每个参数对应的编码长度为14,个体的编码长度为14*11=154。 3)选取初始种群
采用遗传工具箱函数crtbp随机产生初始种群。 2) 确定遗传策略
对于遗传操作,分别选取轮盘赌选择法、单点交叉和点变异。 4)适应度函数的设计
为获取满意的过渡过程动态特性,采用误差绝对值时间积分性能指标作为参数选择的目标函数。为防止控制量过大,在目标函数中加入控制输入的平方项。选用下式作为参数选取的最优指标
J???0(0.999|e(t)|?0.001u(t))dt?2tu2
t e(t)为系统偏差,u(t)为PID控制器输出,u为上升时间。
为避免超调了,采用惩罚功能,一旦产生超调,将超调量作为最优指标的一项,此时最优指标为
ife(t)?0J???0(0.999|e(t)|?0.001u(t)?100|e(t)|)dt?2tu2
J值越小,对应的PID参数越优良。但是,由于GA算法用于求解最大值问题,所以需要对J做一个简单变形,从而得到算法的适应度函数:
GA算法的工作流程可由图5.4来表示。
f?1J 48
上海大学毕业设计(论文)
5.3.2 仿真研究与结果分析
为了充分验证GA算法调整的PID控制系统参数的有效性,本小节分别在基于经验法和GA法的PID控制器的作用进行了一系列仿真实验,并给出了相应的仿真结果和对比分析。
基于经验法时,选取在2.4.2 增量式PID控制算法中试凑得到的经验参数
kp=1.8,i=0.001,
kkd=0.001作为PID参数。而在基于GA算法时,GA算法模
kp块经迭代找到的最优参数为=19.9963,i=0.2531,
kkd=0.0320。
基于经验法的PID控制阶跃响应在第二章的图2.6已经给出。基于遗传算法的PID控制阶跃响应如图5.5所示。
49
上海大学毕业设计(论文)
基于经验法得到的PID参数对应的性能指标J=63.6509,而基于GA算法的最佳J=24.0144。下图5.6给出了基于GA的PID控制系统J的优化过程。
50