APP下载

基于模糊神经网络PID的无人艇航向控制器研究

2023-05-05周晨光寿康力朱国栋

关键词:航向传递函数控制算法

王 伟, 王 勇, 周晨光, 张 晔, 寿康力, 朱国栋

(合肥工业大学 机械工程学院,安徽 合肥 230009)

0 引 言

科技发展使无人艇在军事和民用领域的应用日益广泛[1]。航向控制器的设计是无人艇实现完全自主航行和智能控制的核心,经典比例、积分和微分(proportional integral derivative,PID)控制器在早期船舶航向控制中应用广泛,但经典PID控制器在抗干扰能力、稳定性及精度等方面难以满足日益复杂的军用和民用任务要求[2]。

近年来,国内外研究学者对无人艇的航向控制进行了大量研究,并取得了一定的成果。文献[3]将扩展的卡尔曼滤波法应用在级联结构形式的模块化非线性航向控制系统中;文献[4]通过建立PID航向控制算法的KP、KI、KD初始值计算模型,实现了对模糊自整定PID航向控制算法的优化;文献[5]采用机理建模的方法建立了无人艇三自由度运动模型,针对无人艇的航向控制问题设计了鲁棒PID滑模控制器;文献[6]采用基于局部控制网络的非线性自动驾驶技术来解决无人艇的控制问题。上述研究多数偏重于理论分析,而面向实际应用的无人艇控制方法与可靠性研究仍不充分。

本文将模糊控制的非线性控制作用和神经网络的自学习、自适应特点结合起来,设计一种模糊神经网络PID控制器,以提高无人艇的航向控制精度,并通过仿真及实验对设计的控制器进行验证。

1 无人艇的数学模型

航向控制器设计的关键是建立准确的无人艇实际运动模型。考虑到无人艇的大惯性、大时滞特点,将其运动模型简化为二阶野本传递函数模型[7],即

(1)

其中:K′为回转性指数;T0为应舵指数。

无人艇用舵机来控制船舶转向,进而改变航向[8]。一般将舵机系统看作一个一阶惯性过程[9],传递函数为:

(2)

其中:δ为实际舵角;δE为目标舵角;TE为舵机时间常数。

2 模糊神经网络PID控制器

2.1 模糊神经网络PID控制器原理

本文所设计的模糊神经网络PID控制器原理如图1所示,主要由3个部分[10]组成:

(1) 传统PID控制器。对被控对象进行在线闭环控制。

(2) 模糊处理模块。针对系统的状态变量做模糊化和归一化处理,具有鲁棒性和非线性控制作用。

(3) 神经网络模块。神经网络具有自学习能力,可以对输入数据样本集进行学习分类以在线调整隶属函数。

控制器特点是将神经网络的自学习能力应用于模糊算法中,使得模糊算法的各步骤如模糊化变量、模糊推理及清晰化变量融于神经网络的各层,从而实时调整网络权值和隶属函数,最后输出PID控制器的最优参数。

图1 模糊神经网络PID控制器原理图

2.2 PID控制器

本文采用增量式PID控制算法,即

u(k)=u(k-1)+KP[e(k)-e(k-1)]+

KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]

(3)

其中:u(k)、u(k-1)分别为第k次、第k-1次采样周期的输出值;e(k)、e(k-1)分别为第k次、第k-1次采样周期的输入偏差;KP、KI、KD分别为比例、积分、微分系数。

2.3 模糊神经网络PID结构

根据无人艇航向控制器的实时性要求,本文设计的模糊神经网络分为5层,结构如图2所示。

图2 模糊神经网络结构

各层的具体算法步骤[11]如下:

(1) 确定输入层。该层节点数N1=2,取航向角的偏差值e和偏差变化率ec作为输入变量,输出为:

(4)

(2) 计算隶属函数。将输入变量的模糊论域都设置为[-6,6],并分割为7个模糊集合,分别为NB、NM、NS、ZO、PS、PM、PB,因此该层节点数N2=14,选用高斯函数作为隶属函数,输出为:

(5)

(3) 确定模糊规则。该层的节点数N3=49,每个节点对应一条模糊规则,则每条规则的适应度为:

(6)

(4) 归一化计算。第4层节点数N4同样为49个,目的是实现归一化,即

(7)

(5) 确定输出层。输出层共有3个输出量,分别表示PID控制器的比例、积分、微分系数,即

(8)

由上可知,可以调整的参数有连接权值wkl、隶属函数的中心值cij和宽度σij。本文采用反向传播(back propagation,BP)神经网络训练给定的学习样本,设置最大迭代次数为5 000次,期望误差为0.005,以此来优化wkl、cij和σij。

3 系统仿真及结果分析

在MATLAB软件中根据上述设计流程,搭建无人艇航向控制系统的Simulink仿真模型。为了更直观地体现出模糊神经网络PID航向控制器的优点,将常规PID、模糊PID与模糊神经网络PID置于同一仿真系统中。

所设计的无人艇传递函数和舵机传递函数分别为0.57/(2.37s2+s)和1/(3s+1);采用试凑法调节PID控制器3个参数的初始值KP、KI、KD分别为0.940 0、0.003 3、2.610 0;根据仿真系统输入与输出范围及设置的模糊论域[12],取模糊系统的量化因子ke=0.330、kec=0.004,比例因子kKP=0.300 0、kKI=0.002 5、kKD=10.000 0。控制系统的输入量为航向角的设定值,仿真取航向角为15°,输出为所控制无人艇的输出航向角,仿真结果如图3所示。

图3 仿真结果对比

根据上述仿真实验结果计算3种不同控制方式的时域性能指标,结果见表1所列。表1中调节时间上下浮动幅度为5%。

表1 仿真结果分析

从图3和表1可以看出,模糊神经网络PID方法对航向角的控制性能最好,超调量有较大程度的减少,上升时间和调节时间也有了不同程度的改善。

在实际设计中,考虑到无人艇的传递函数是通过艇长、艇宽、排水量、方形系数、尾舵面积、艇速和吃水深度等参数确定的,而这些参数在测量取值过程中难免会存在误差,从而导致真实的被控无人艇的传递函数与仿真系统的传递函数并不完全一致。为了验证本文设计的模糊神经网络PID航向控制器相较于常规PID仍具有较好的控制能力和稳定性,在仿真系统中使传递函数在一定范围内变动,所得到的航向角响应曲线如图4、图5所示。

从图4、图5可以看出,即使由于无人艇自身参数误差导致传递函数发生小范围改变,本文设计的模糊神经网络PID控制器同样具有较好的控制效果。

图4 无人艇传递函数为0.8/(2.81s2+s)航向器控制效果对比

图5 无人艇传递函数为0.45/(2.25s2+s)航向器控制效果对比

4 实验验证

为了验证模糊神经网络PID航向控制算法的优越性,在合肥工业大学斛兵塘进行无人艇水面实验。水面无人艇模型及上位机实验平台如图6所示。

无人艇控制系统由PC端的岸站监控系统和艇载控制系统2个部分组成,总体结构框图如图7所示。实验过程中为证明所设计无人艇的实用性,同时进行斛兵塘水域水质的监测。

图6 水面无人艇模型及上位机

图7 无人艇控制系统总体框图

无人艇下水实验时,通过上位机设置的起始点与目标点自动规划出一条避障路径并生成沿途路径点,无人艇分别在常规PID航向控制算法和模糊神经网络PID航向控制算法下按序沿着路径点进行自主航行。到达目标点后,对下位机在航行过程中发送的数据包进行解析,得到速度、航向角及TDS值等参数,在上位机中对这些参数进行可视化处理,结果如图8所示。

图8 无人艇自主航行测试结果

从图8可以看出无人艇的航行运动规律及区域水质分布规律。

为了更直观地对比2个不同航向控制算法的差异性,将航行过程中下位机发送的位置及航向角进行数据处理和曲线拟合,得到无人艇航行轨迹和航向角的对比结果,如图9所示。

图9 控制效果对比

由图9a可知,基于模糊神经网络PID控制算法的航行轨迹更接近于理论轨迹;由图9b可知,基于常规PID控制算法的航向角相较于理论值的标准差为17.594,而基于模糊神经网络PID控制算法的航向角相较于理论值的标准差为12.499。因此,本文提出的模糊神经网络PID控制器与常规PID控制器相比误差更小,对航向角的变化反应更为迅速,提高了无人艇的航向控制精度。

5 结 论

本文面向无人艇航向控制方法和实用性进行研究,提出了模糊神经网络PID控制算法,通过仿真与实验得到如下结论:

(1) 与常规PID控制器和模糊PID控制器相比,模糊神经网络PID控制器在超调量及调节时间等性能指标上有不同程度的改善与提升。

(2) 模糊神经网络PID控制器对传递函数的微小变动仍有较好的控制效果。

(3) 在无人艇实际应用中,模糊神经网络PID控制器反应迅速,控制精度高。

猜你喜欢

航向传递函数控制算法
知坐标,明航向
考虑几何限制的航向道模式设计
基于LabVIEW的火焰传递函数测量系统
基于ARM+FPGA的模块化同步控制算法研究
基于干扰观测器的船舶系统航向Backstepping 控制
红外成像系统的调制传递函数测试
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用
使命:引领航向与保持稳定
基于传递函数自我优化的BP网络算法改进
一种非圆旋转工件支撑装置控制算法