APP下载

基于神经网络PID的气垫船转艏角速度保持控制研究

2018-03-26魏健雄万舟

软件导刊 2018年3期
关键词:神经网络

魏健雄 万舟

摘要:为解决全垫升气垫船受风和惯性力影响较大,容易产生侧漂,其转艏角速度较常规船舶难于控制的问题,建立了全垫升气垫船的平面运动模型。设计了神经网络PID控制器,利用BP神经网络具有的任意非线性表达能力,通过对系统性能的学习,实现具有最佳组合的PID控制。对气垫船的转艏角速度控制进行仿真,并与常规PID控制效果进行对比,结果表明,在全垫升气垫船受风力干扰的情况下,神经网络PID控制器相比常规PID控制器在克服风力干扰方面控制效果更好。

关键词关键词:全垫升气垫船;转艏角速度;神经网络;风力干扰

DOIDOI:10.11907/rjdk.172512

中图分类号:TP301

文献标识码:A文章编号文章编号:16727800(2018)003001805

英文摘要Abstract:For solving the problem that the air cushion vehicle is easy to be affected by wind and inertia force, and it is easy to have large side drift, so the keeping of its angular velocity is difficult to control. In order to improve the heading maneuver of Air Cushion Vehicle, the Yawing Angular Velocity Keeping Control must be used frequently, established the air cushion vehicle motion model, and the design of PIDneural network controller based on BP neural network with arbitrary nonlinear expression ability, the system can achieve the best combination of learning. The control of the angular velocity of air cushion vehicle is simulated by the model, and the results are compared with those of the conventional PID control.The simulation results show that the air cushion vehicle in the case of wind disturbance, PIDneural network controller of the yawing angular velocity control, control effect in overcoming the wind disturbance compared with the conventional PID controller has better effect.

英文關键词Key Words:air cushion vehicle; yawing angular velocity; neural network; wind disturbance

0引言

气垫船是一种高性能船舶,其结构与其它船舶有很大不同,它由气垫压力承担船体重量,采用空气螺旋桨推进,具有水陆两栖能力,可在草地、沼泽地带、多石滩河面、浅水和冰雪海面航行,在军用和民用领域应用广泛。全垫升气垫船没有常规排水船的水下螺旋桨、舵等水下器件,不能通过水下器件产生回转向心力,而是通过空气舵产生回转力。全垫升气垫船在回转运动中,由于侧向水阻力很小,而且航速高,很容易受风和惯性力影响,其转艏角速度很难保持在相对稳定的水平,影响航行安全。

随着现代控制理论及技术的发展,许多先进控制算法成功应用到全垫升气垫船的航迹向控制[14]和升沉运动控制中[5],但是在转艏角速度控制中应用较少。针对经典PID控制参数不能在线调整的缺陷,为改善全垫升气垫船的操纵水平,使气垫船在回转运动中转艏角速度保持在相对稳定水平,设计了一种基于BP神经网络的PID控制算法,利用BP神经网络具有的任意非线性表达能力,通过对系统性能的学习,实现具有最佳组合的PID控制[69]。

1全垫升气垫船运动模型

为建立全垫升气垫船的三自由度平面运动数学模型,作如下假设:①气垫船为刚体;②船体左右对称;③船所在的水域流速为零。

图1所示为船体坐标系xOy及北东坐标系ξEζ,其中ξ指北东坐标系的北, ζ指北东坐标系的东,ψ为艏向角,以ξ轴至x轴顺时针旋转为正。x轴指向船艏,y轴指向右舷,E和O为各自坐标系的原点且处于同一水平高度,各坐标轴都与水面平行。

u、v分别是船速V在x轴和y轴上的分量,V和x轴间的夹角β为气垫船漂角,x轴至船速V顺时针方向为正。基于上述坐标系,建立全垫升气垫船平面运动模型:

m(-vr)=Fx

m(+ur)=Fy

Iz=Mz(1)

其中,m为气垫船质量,Fx为船体纵向所受合力,Fy为船体横向所受合力,Iz为气垫船通过其重心的铅垂线转动惯量,Mz为气垫船的转艏力矩,r为船的转艏角速度。上述合力及力矩的表达式为:

Fx=Fxa+Fxh+Fxp+FxR

Fy=Fya+Fyh+Fyp+FyR

Mz=Mza+Mzh+Mzp+MzR (2)

下标α表示空气动力,R表示空气舵力,通过船模风洞试验得到。h表示水动力,通过水池拖拽试验和船模空气动力扣除试验得到。p表示空气螺旋桨推进力,通过选桨及单桨试验、推力影响等试验得到[1011]。北东坐标系与船体坐标系之间的转换关系为:

=ucosψ-vsinψ

=usinψ+vcosψ

=r(3)

式(3)组成了全垫升气垫船完整的操纵运动微分方程组,通过解算作用在船体上的力和力矩,得到全垫升气垫船的实时运动状况。

2风对全垫升气垫船操作的影响

2.1海风模型

为了建立接近真实航行环境的海风模型,通过von Karman谱对海风进行仿真[12],主风向风速谱为:

Su(ω)=42Lux[1+(2cω(Lux/))2]5/6(4)

Lux为标度参数,为纵向平均风速,c=4.206 5为常数,2为纵向风变化范围,根据式(4)可建立主风向脉动风速:

uw(t)=∫∞0cos(ωt+ε)2Su(ω)dω(5)

式(5)中,ω为风速的圆频率,随机相位ε为在[0,2π]上均匀分布的随机变量。仿真过程中,根据风速谱函数曲线,利用频率等分法,在有意义频率区间(ωmin,ωmax)内使用式(5)的离散形式:

uw(t)=∑Ki=1cos(ωit+εi)2Su(ωi)Δω(6)

式(6)中,K为频率等分数,ωi为频率点,εi分布同ε。根据主风向风速谱与侧风向风速谱具有湍流同性的特点,可得两者关系:

Sv(ω)=12Su(ω)-ωdSu(ω)dω(7)

具体形式为:

Sv(ω)=22Lux[1+83(2cn(Lux/))2][1+(2cω(Lux/))2]11/6(8)

同理可得侧风向脉动风速为:

vw(t)=∑Ki=1cos(ωit+εi)2Sv(ωi)Δω(9)

进而得到脉动风速:

Vw(t)=u2w(t)+v2w(t)(10)

脉动风向角为:

βw(t)=tan-1(uw(t)/vw(t))+βw0(11)

式(11)中,βw0为主风向角。

对绝对风速平均值为10m/s、绝对风向平均值为45°的脉动风仿真,仿真试验结果如图2所示。

2.3操舵回转实验与分析

操舵回转性能是检验全垫升气垫船模型正确性的重要指标[13]。本文设全垫升气垫船初始航速为15m/s,初始艏向为0°,固定螺距角,分别设置不同方向平均风速为5m/s的脉动风,然后操相同舵角进行回转仿真实验。在不同主风向的脉动风作用下,气垫船操舵回转运动轨迹如图3所示。

由于存在风力干扰,全垫升气垫船所受到的相对风速、风向会随着航速、航向发生变化,因此气垫船不能进入定常回转状态。逆风时,作用在空气舵上的相对风速较大,产生的舵力较大,可使全垫升气垫船更快地回转,顺风时情况刚好相反。因此,在环境风作用下,全垫升气垫船的航速、转艏角速度等都呈周期性变化,其运动轨迹为螺旋线型,与常规水面船相比,风对其操纵性影响较大。

3神经网络PID控制器设计

3.1神经网络参数选择

神经网络PID控制器原理如图4所示, r为期望输出,在本气垫船转艏角速度保持控制系统中,即为给定的转艏角速度,PID控制器就是常规的比例积分微分控制,u为控制器输出,y为气垫船的实际转艏角速度。

采用的神经网络NN是一个三层BP网络,其结构如图5所示,有3个输入节点、5个隐含层节点、3个输出节点。输入节点对应所选系统的运动状态量,为气垫船转艏角速度控制系统不同时刻的输入量和输出量,要进行归一化处理[14]。输入节点个数取决于被控系统的复杂程度,选用3个输入节点,分别为3个不同时刻的转艏角速度误差。输出节点分别对应PID控制器的3个可调参数Kp、Ki和Kd。隐含层节点个数根据经验公式,选择使用5个隐含層节点[15]。由于Kp、Ki、Kd不能为负值,所以输出层神经元的变换函数取非负的Sigmoid函数,而隐含层神经元的活化函数可取双曲正切函数。

O(1)j=xk-j=e(k-j)j=0,1,2(14)

网络隐含层的输入输出为:

net(2)i(k)=∑2j=0w(2)ijO(1)j(k)-θ(2)i(15)

O(2)i(k)=f[net(2)i(k)]i=0,1…q-1(16)

ω(2)ij为隐含层加权系数,θ(2)i为隐含层阈值,上标(1)、(2)、(3)分别代表输入层、隐含层、输出层,f(x)为双曲正切函数,即:

f(x)=tanh(x)=(ex-e-x)/(ex+e-x)(17)

网络输出层3个节点的输入、输出分别为:

net(3)l(k)=∑q-1i=0w(3)liO(2)i(k)-θ(3)l(18)

O(3)l(k)=g[net(3)l(k)]l=0,1,2(19)

O(3)0(k)=KpO(3)1(k)=KiO(3)2(k)=Kd(20)

ω(3)li为输出层加权系数,θ(3)l为输出层阈值,输出层神经元活化函数取非负的Sigmoid函数:

g(x)=1/(ex+e-x)(21)

3.2神经网络权系数调整

性能指标函数为:

E(k)=12[r(k+1)-y(k+1)]2=12e2(k+1)(22)

按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一个使搜索快速收敛至全局极小的惯性项,则有

Δw(3)li(k+1)=-ηE(k+1)w(3)li+γΔw(3)li(k)(23)

η为学习率,γ为惯性系数。而

E(k+1)w(3)li=E(k+1)y(k+1)·y(k+1)u(k)·

u(k)O(3)l(k)·O(3)l(k)net(3)l(k)·net(3)l(k)w(3)li(24)

这里需要用到变量y(k+1)/u(u)。由于y(k+1)/(k)未知,所以近似用符号函数sgn[y(k+1)/u(k)]来取代,由此带来计算不精确的影响可通过调整学习速率η加以补偿[16]。

由式(18)、(19)、(20)得:

u(k)O(3)0=e(k)-e(k-1)u(k)O(3)1=e(k)

u(k)O(3)2=e(k)-2e(k-1)+e(k-2) (25)

这样,可得BP神经网络输出层加权系数计算公式为:

Δw(3)li(k+1)=ηδ(3)lO(2)i(k)+γΔw(3)li(k)(26)

δ(3)l=e(k+1)·sgn[y(k+1)u(k)]·δu(k)O(3)l(k)·g[net(3)l(k)]l=0,1,2(27)

同理可得隐含层加权系数计算公式为:

Δw(2)ij(k+1)=ηδ(2)iO(1)j(k)+γΔw(2)li(k)(28)

δ(2)i=f[net(2)i(k)]∑2l=0δ(3)lw(3)li(k)

i=0,1,2…q-1(29)

4实验与分析

4.1转艏角速度保持控制仿真

分别使用设计的神经网络PID以及传统PID控制器进行气垫船转艏角速度保持控制仿真。仿真时,设定气垫船初始状态艏向角为0°,转艏角速度为0°/s,航速为15m/s,转艏角速度期望值为2°/s。整个仿真过程中保持左右螺距角相同且始终不变,仅通过改变舵角实现气垫船转艏角速度控制。分别设定环境为无风,以及主风向角为45°,平均风速分别为5m/s、10m/s的脉动风,仿真结果如图6、图7、图8所示。

4.2控制结果对比分析

比较图6、图7、图8的转艏角速度保持控制仿真曲线,发现神经网络PID控制下的收敛速度较快,对气垫船转艏角速度控制效果好。PID控制器在无环境风情况下,基本能满足转艏角速度控制要求,但在有脉动风干扰时稳态误差较大。神经网络PID控制器具有自学习、自适应能力,无论在无风还是有环境风干扰的状况下,都能基本保持转艏角速度稳定,相对期望值的偏移总体小于传统PID控制算法,抗干扰能力更强,是较优良的控制算法。

5结语

全垫升气垫船由于结构的特殊性,其转艏角速度相比常规排水船难于控制。本文设计了神经网络PID控制器,对全垫升气垫船的转艏角速度保持控制进行了仿真,并与常规PID控制的效果进行了对比。实验结果显示,在气垫船受到环境风干扰时,神经网络PID控制器在克服干扰方面比常规PID控制效果更好。

参考文献参考文献:

[1]刘振业,刘伟,付明玉,等.基于模糊自适应ADRC的全垫升气垫船航向控制[J].信息与控制,2011,40(6):747752.

[2]胡妍妍.气垫船特有操纵装置在航向控制中的应用研究[D].哈尔滨:哈尔滨工程大学,2011.

[3]WANG C L, ZHANG H Y, FU M Y. Motion control of an amphibious hovercraft based on fuzzy weighting[C] .International Conference on Communication Technology.IEEE,2013:10061011.

[4]刘振业,刘伟,付明玉,等.神经网络自抗扰全垫升气垫船航迹控制[J].哈尔滨工程大学学报,2012,33(3):283288.

[5]刘伟,陈光祥.全垫升气垫船垫升压力控制[J].自动化技术与应 用,2014,33(10):2025.

[6]WANG F Z, YU Q X. Speedregulation system of PMLSM based on BP neural network PID control[J]. Advanced Materials Research,2012.

[7]OHNISHI Y, KITAGAWA H, MORI S, et al. Design of neural networks based FRIT PID controllers and its applications[J]. Ifac Proceedings Volumes,2013,46(11):355359.

[8]汪先兵,費树岷,徐清扬,等.BP神经网络PID控制的永磁真空开关储能电容恒流充电特性分析[J].电工技术学报,2015,30(10):212218.

[9]刘宁,王晓强,任慧龙,等.全垫升气垫船在波浪中运动的非线性理论研究[J].华中科技大学学报:自然科学版,2014,42(4):9195.

[10]王成龙,付明玉,边信黔,等.全垫升气垫船四自由度运动仿真[J].计算机仿真,2009,26(7):278281.

[11]付明玉,王元慧,王成龙.海洋运载器运动建模[M].哈尔滨:哈尔滨工程大学出版社,2017.

[12]李木国,褚晓安,刘于之,等.开放式风速控制系统的研制[J].计算机测量与控制,2015,23(9):30263028.

[13]田园,杨承恩.基于ANFIS的舵阻横摇系统[J].南京航空航天大学学报,2006,38(7):112115.

[14]赵光辉.几种非线性控制算法的比较及过程控制实验测试[D].青岛:中国石油大学(华东),2010.

[15]田国钰,黄海洋.神经网络中隐含层的确定[J].信息技术,2010(10):7981.

[16]王玲芝,王忠民.动态调整学习速率的BP改进算法[J].计算机应用,2009,29(7):18941896.

责任编辑(责任编辑:杜能钢)

猜你喜欢

神经网络
基于递归模糊神经网络的风电平滑控制策略
BP神经网络在路标识别上的应用研究
神经网络抑制无线通信干扰探究
基于Alexnet神经网络的物体识别研究
基于BP神经网络的旋转血泵生理控制
基于神经网络MRAS的速度辨识仿真研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源