基于PSO优化Fuzzy-PID精量灌溉控制系统设计
2019-03-21周建平
李 嵩,周建平,许 燕
(新疆大学机械工程学院,乌鲁木齐 830047)
我国是一个农业大国,绝大部分水资源用于农业灌溉,传统的粗放管理方式导致水资源大量浪费;同时,我国也是世界上第一化肥消费大国,由于施肥方式不恰当,导致国内化肥的平均利用率为30%左右[1]。为了提高水肥的利用率,急需一种智能化精量水肥灌溉系统,通过智能算法来提高水肥控制精度。
精量水肥灌溉技术是将灌溉和施肥一起进行,彻底颠覆传统的灌溉和施肥方式,选择可溶性或液体肥料,通过水肥配比机配兑成作物生长所需的肥液,然后随水一起通过管道系统输送到作物根系,可以有效的节水、节肥,提高水肥利用率,实现作物增质增产[2]。由于大棚灌溉环境存在非线性、时变性和滞后性等问题,精确数学模型难以建立,并且传统PID控制精度达不到要求;而模糊控制是一种非线性控制,根据专家知识和操作人员经验可以制定有效的控制策略,但其抗干扰能力欠佳,并且控制误差较大[3]。基于传统控制方法和模糊控制方法的优点,进行PSO优化Fuzzy-PID控制,通过对Ke、Kec(量化因子)和Kp、Ki、Kd(比例因子)寻优,可以有效解决传统PID控制和模糊PID控制的不足,并在SIMULINK图形仿真环境下进行仿真试验,证明其具有更优越的动态响应性能和控制效果。
1 系统总体设计方案
精量水肥灌溉控制系统能够根据作物生长所需求的营养水分,实现按量灌溉、定时灌溉、手动和自动灌溉以及远程控制等功能,实现用最少的水肥量获得最大的纯收益,真正意义上实现传统农业向现代智慧农业的转变。系统总体设计方案如图1所示。
图1 系统总体设计框架
系统包括:STM32F103单片机核心控制板;触摸显示屏采用广州大彩组态串口屏;A/D采样模块和D/A输出模块;传感器;电磁阀等。
2 精量水肥灌溉机
针对大棚环境所搭建精量水肥灌溉机,能够通过手动和自动控制实现水肥的定时、定量灌溉,并成功应用于新疆西山大棚和塔城额敏县农场。该精量水肥灌溉机结构图和实物图如图2所示。
图2 精量水肥灌溉机结构图
其工作原理:针对大棚灌溉环境,由土壤温湿度传感器、空气温湿度传感器以及EC、pH传感器来获取农作物水肥状态,通过首部控制器对水肥需求情况下达指令,打开电磁阀门进行灌溉[4]。该灌溉机根据专家知识系统配兑农作物所需营养液浓度,从而实现精量灌溉。
3 精量配比灌溉控制策略
3.1 PID控制
PID控制器是一种线性控制器[5],其原理框图见图3。
图3 PID控制原理框图
其控制偏差e(t)由给定值yd(t)与实际输出值y(t)构成:
e(t)=yd(t)-y(t)
(1)
PID的控制规律为:
(2)
式中:Kp为比例系数;Ki为积分系数;Kd为微分系数。
针对一个非线性、时变性和滞后性的大棚灌溉系统,虽然传统PID控制结构简单、工作稳定可靠,但Kp、Ki、Kd三个参数难以整定,不能满足控制系统的需求[5]。
3.2 Fuzzy-PID控制
Fuzzy-PID控制器由模糊控制器和PID控制器两大部分组成,其基本原理框图如图4所示。该Fuzzy-PID控制器的输入量误差e和误差变换率ec经过模糊化和模糊推理后得出模糊控制器的输出值,PID控制器会对参数Kp、Ki、Kd进行调节,最终实现对系统的控制[6]。
图4 Fuzzy-PID基本原理框图
其中,PID控制器的Kp、Ki、Kd、e和ec5个参数的关系如下[7]:
(1)当|e|较大时,为了提高系统的响应速度和调节精度,且避免系统产生过大的超调量,应适当加大Kp,同时减小Ki、Kd,常取Ki=0。
(2)当|e|处于中等大小时,适当减小Kp来减小系统的超调量,同时为了提高系统的调节精度和消除稳态误差,应适当增大Ki。
(3)当|e|较小时,选取较大的Kp和Ki,使系统保持稳定;同时选取适当的Kd对偏差变化进行提前预报,抑制偏差向任何方向变化,使系统不会在平衡点出现振荡。
根据控制系统的精度要求,对偏差和偏差率的量化等级采用7段式模糊论域,记作{-3、-2、-1、0、1、2、3}。对于大棚控制对象,把水肥流量的误差e和误差变化率ec作为输入量,修正参数ΔKp、ΔKi、ΔKd作为输出量。其中, 5个参数的模糊集定义为{负大、负中、负小、零、正小、正中、正大},表示为{NB、NM、NS、ZO、PS、PM、PB},论域的范围定义为{-3,3},隶属度函数采用形状简单、计算方便、灵敏度较强的三角形隶属度函数曲线,e、ec的隶属度函数如图5、图6所示。根据专家知识和操作人员经验,得出输出参数Kp、Ki、Kd整定的模糊控制表,如表1~3所示。
根据PID参数整定规则,得到自调整PID三个参数的修正公式:
Kp=Kp0+ΔKp,Ki=Ki0+ΔKi,Kd=Kd0+ΔKd
式中:Kp0、Ki0、Kd0为整定前参数;Kp、Ki、Kd为整定后参数。
Fuzzy-PID控制是一种非线性控制方式,不需要建立精确数学模型,根据专家知识或操作人员经验制定合适的控制策略,响应速度快,但控制误差大。
图5 误差e的隶属度函数
图6 误差变化率ec的隶属度函数
表1 ΔKp模糊控制规则
表2 ΔKi模糊控制规则
表3 ΔKd模糊控制规则
3.3 PSO优化Fuzzy-PID
3.3.1 基本粒子群优化算法
粒子群优化(PSO)算法是一种经典的群智能算法,由初始化、适应度计算、极值更新、位置和速度更新4部分构成,该算法是受生物界鸟群觅食原理启发而提出的优化算法,即最优解的一种方法[8]。
假设在一个N维空间区域中搜索,其中种群中每个粒子的位置可表示为xi=(xi1,xi2,…,xin),(i=1,2,…,n),即优化问题的一个可能的解;其速度表示为vi=(vi1,vi2,…,vin)(i=1,2,…,n)。种群中的每个粒子可以根据以下公式来更新速度和位置:
(3)
(4)
式中:ω、k为惯性权重和迭代次数;c1、c2为局部加速常数和全局加速常数;r1、r2为[0,1]区间内均匀分布随机数;Pij为粒子i个体最优位置;Pgj为整个粒子群全局最优位置,j=1,2,…,N。
3.3.2 PSO优化Fuzzy-PID控制
Fuzzy-PID控制是根据专家知识或操作人员的经验制定合适的控制策略,这样会因为过于依赖专家知识和操作人员经验无法满足特殊条件下的抗干扰能力,同时控制误差较大,降低了其自适应能力,为了弥补模糊控制算法存在的不足,本文提出了一种基于PSO优化Fuzzy-PID控制算法,其原理图如图7所示。
图7 PSO优化模糊PID控制器原理框图
通过粒子群算法对模糊控制器的Ke、Kec(量化因子)和Kp、Ki、Kd(比例因子)寻优,以积分性能指标(ITAE)作为寻优目标[9]。其中,采用ITAE指标可以保证系统的快速响应性、超调量、调节时间以及稳态误差等[10]。ITAE是时间乘以误差绝对值积分的性能指标,即:
该PSO优化Fuzzy-PID控制流程图如图8所示。
图8 PSO优化Fuzzy-PID控制流程图
4 实验分析验证
4.1 仿真分析
文中的粒子群算法仿真是通过MATLAB中的M函数实现的。将粒子群算法应用到Fuzzy-PID控制器参数优化中要将算法的M函数转化为S函数,并将其封装为以e、ec为输入,Kp、Ki、Kd为输出的子系统,如图9所示。
图9 粒子群算法S-Function
为了验证PSO优化Fuzzy-PID控制的优越性,对其在SIMULINK图形仿真环境下进行仿真试验,建立常规PID和Fuzzy Logic Controller模型,并把建好的模糊逻辑(.fis文件)添加到模型中,同时借助SIMULINK图形仿真环境中的模块库建立PSO优化Fuzzy-PID控制模型,并对模型进行封装。其中,对于大棚水肥灌溉流量的控制,采用阶跃输入信号进行PID、Fuzzy-PID和PSO优化Fuzzy-PID控制仿真试验。仿真试验结果如图10所示。
图10 MATLAB 仿真曲线图
根据MATLAB仿真曲线图,对性能进行分析,得到控制系统的主要性能指标如表4所示。从仿真曲线图和性能指标得出:PSO优化Fuzzy-PID控制系统与传统PID控制相比,上升时间减少了4.10 s,超调量降低了14.57%,调节时间减少了27.4 s;相比于Fuzzy-PID控制,上升时间减少了4.30 s,超调量降低了0.37%,调节时间减少了20 s。表明采用PSO优化Fuzzy-PID精量灌溉控制系统具有更好的控制效果和鲁棒性。
表4 主要性能指标
4.2 系统验证
对于搭建的精量水肥灌溉机,加入PSO优化Fuzzy-PID控制算法进行水肥配比实验。其中,设置水路流量为1 000 mL,肥路流量为50 mL,得到的水肥配比效果如图11所示。
图11 水肥配比效果
实验结果表明:采用PSO优化Fuzzy-PID控制使得系统在4 s左右达到水肥的预设配比值,配比精度高,响应快。
5 结 语
(1)针对大棚灌溉控制系统,搭建了精量水肥灌溉机,并对PSO优化Fuzzy-PID控制算法进行了研究,结果表明采用该算法能够有效解决传统PID控制不确定性、非线性和滞后性,也解决了Fuzzy-PID控制过于依赖专家知识和操作人员经验以及控制误差较大的问题,验证了该算法具有很好的控制效果和鲁棒性。
(2)该灌溉系统能够精准地控制水肥比例,实现精准灌溉,同时完成N、P、K和微量元素的配比灌溉,提高了水肥利用率,具有很好的推广应用价值。