一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于神经网络船舶拖曳作业PID航向控制方法与流程

2022-02-22 22:58:25 来源:中国专利 TAG:

一种基于神经网络船舶拖曳作业pid航向控制方法
技术领域
1.本发明属于船舶控制技术领域,尤其是一种基于神经网络船舶拖曳作业pid航向控制方法。


背景技术:

2.由于海洋工程的发展,海上拖曳作业十分频繁。诸如拖曳声纳进行水声监测、拖曳无人艇进行航行、拖曳无动力海上平台至指定位置等。在拖曳过程中,拖体会通过绳索对拖船产生力的作用,从而对拖船的运动状态产生影响。
3.拖曳过程中拖体对船舶运动的影响非常复杂,绳索长度、航速、旋转速度都会影响绳索受力,且不同因素间的影响具有较强的耦合性。船体在航行过程中,受到拖体的影响,不可避免地会偏离预定航线(轨迹),为了使船舶保持在预定的航向上航行,必须随时对船舶航行方向进行修正。目前,现有的对于单船的控制方法,很难较全面的考虑拖体的影响,无法实现拖曳过程中的船舶高精度航向控制。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提出一种基于神经网络船舶拖曳作业pid航向控制方法,能够实现拖曳作业过程船舶航向精确控制。
5.本发明解决其技术问题是采取以下技术方案实现的:
6.一种基于神经网络船舶拖曳作业pid航向控制方法,包括以下步骤:
7.步骤1、确定包括输入层、输出层和隐含层节点数的bp神经网络;
8.步骤2、将航向偏差、旋转角速度、航速和拖绳长度四个参数作为神经网络的输入参数;
9.步骤3、进行神经网络运算,计算得到pid算法的三个参数;
10.步骤4、将船体航向偏差和船体航向偏差增量作为pid算法的输入,根据步骤3得到的三个参数计算船体控制转矩的增量,进而控制船体的航向;
11.步骤5、根据bp网络的误差逆向传递算法,调整各层连接权值;
12.步骤6、返回步骤2,在线调整pid参数。
13.而且,所述步骤1中bp神经网络的输入层为:
[0014][0015]
其中,i=1、2、3、4,e为船体航向偏差;ω为船体旋转角速度;ω为船体旋转角速度;v为船体速度;l为船体与拖体之间的拖绳长度;
[0016]
隐含层的输入为:
[0017]
[0018]
其中,j=1、2、3、4、5,为隐含层的权值系数,u为输入层,v为隐含层
[0019]
隐含层激发函数为s型函数:
[0020]
f(x)=(e
x-e-x
)/(e
x
e-x
)
[0021]
隐含层输出为:
[0022][0023]
输出层的输入:
[0024][0025]
其中,m=1、2、3,r为输出层;
[0026]
输出层的激发函数为s型函数:
[0027]
g(x)=1/(1 e-x
)
[0028]
神经网络的输出为:
[0029][0030]
其中,
[0031]
而且,所述步骤3中pid算法为:
[0032]
δu(k)=k
p
(e(k)-e(k-1)) ki(e(k) kd(e(k)-2e(k-1) e(k-2))
[0033]
其中,δu为控制转矩的增量,e(k)为k时刻船体航向偏差,e(k-1)为k-1时刻船体航向偏差,e(k-2)为k-2时刻船体航向偏差,通过k时刻船体航向偏差e(k)和船体航向偏差增量δe计算,k
p
,ki和kd为pid算法的三个参数。
[0034]
而且,所述步骤5的具体实现方法为:根据输出值与期望值之间的偏差,采用梯度下降法对神经网络连接权值进行修正:
[0035]
设定性能指标函数:
[0036]
j(k)=(θd(k)-θ(k))2[0037]
其中,θd为目标航向,θ为输出航向;
[0038]
更新后的输出层权值系数为:
[0039][0040]
其中,η为学习效率,e(k)为k时刻船体航向偏差,θ(k)为船体的输出航向,u(k)为船体的输入转矩,m=1、2、3,r为输出层,e(k-1)为k-1时刻船体航向偏差,e(k-2)为k-2时刻船体航向偏差,g(x)为输入层的激发函数,为神经网络的输出层的输入,为神经网络的隐含层输出,
[0041]
更新后的隐含层权值系数为:
[0042][0043]
其中,其中,f'(x)为s型函数的倒数,为神经网络的隐含层输入,为神经网络的输入层。
[0044]
本发明的优点和积极效果是:
[0045]
本发明通过构建bp神经网络,考虑拖体对船舶运动的影响,将船舶航向偏差、旋转角速度、航速和拖绳长度作为神经网络的输入参数,能够反应不同旋转角速度、航速和拖绳长度条件下拖体对船舶运动的影响,通过神经网络的训练,得到合适的pid控制参数,对船体进行更高精度的航向控制,同时对神经网络连接权值进行修正,不断调整pid控制参数,实现拖曳作业过程船体的高精度航向控制。
附图说明
[0046]
图1为本发明结构框图;
[0047]
图2为本发明bp神经网络结构图。
具体实施方式
[0048]
以下结合附图对本发明做进一步详述。
[0049]
一种基于神经网络船舶拖曳作业pid航向控制方法,如图1所示,包括以下步骤:
[0050]
步骤1、确定包括输入层、输出层和隐含层节点数的bp神经网络。
[0051]
如图2所示,bp神经网络包括一层输入层、一层隐含层和一层输出层,其中输入层包含四个节点,隐含层包含五个节点,输出层包含三个节点,输出层节点对应pid控制的k
p
,ki,kd三个参数,给出各层加权系数的初值,选定学习速率。
[0052]
步骤2、将航向偏差、旋转角速度、航速和拖绳长度四个参数作为神经网络的输入参数。
[0053]
网络的输入层为:
[0054][0055]
其中,i=1、2、3、4,e为船体航向偏差;ω为船体旋转角速度;ω为船体旋转角速度;v为船体速度;l为船体与拖体之间的拖绳长度;
[0056]
隐含层的输入为:
[0057][0058]
其中,j=1、2、3、4、5,为隐含层的权值系数,u为输入层,v为隐含层
[0059]
隐含层激发函数为s型函数:
[0060]
f(x)=(e
x-e-x
)/(e
x
e-x
)
[0061]
隐含层输出为:
[0062][0063]
输出层的输入:
[0064][0065]
其中,m=1、2、3,r为输出层;
[0066]
输出层的激发函数为s型函数:
[0067]
g(x)=1/(1 e-x
)
[0068]
神经网络的输出为:
[0069][0070]
其中,
[0071]
步骤3、进行神经网络运算,计算得到pid算法的三个参数。
[0072]
步骤4、将船体航向偏差和船体航向偏差增量作为pid算法的输入,根据步骤3得到的三个参数计算船体控制转矩的增量,进而控制船体的航向。
[0073]
其中pid算法为:
[0074]
δu(k)=k
p
(e(k)-e(k-1)) ki(e(k) kd(e(k)-2e(k-1) e(k-2))
[0075]
其中,δu为控制转矩的增量,e(k)为k时刻船体航向偏差,e(k-1)为k-1时刻船体航向偏差,e(k-2)为k-2时刻船体航向偏差,通过k时刻船体航向偏差e(k)和船体航向偏差增量δe计算,k
p
,ki和kd为pid算法的三个参数。
[0076]
步骤5、根据bp网络的误差逆向传递算法,调整各层连接权值。
[0077]
本步骤逇具体实现方法为:根据输出值与期望值之间的偏差,采用梯度下降法对神经网络连接权值进行修正。
[0078]
设定性能指标函数:
[0079]
j(k)=(θd(k)-θ(k))2[0080]
其中,θd为目标航向,θ为输出航向;
[0081]
神经网络输出层权值系数的优化学习算法为:
[0082][0083][0084]
其中,式等号右端的各项分别简化为:
[0085]
第一项:
[0086]
第二项:无法直接得到,由于船体的输出航向θ(k)对输入转矩u(k)的响应是单调的,可近似用符号函数sgn(k)表示。
[0087]
第三项:
[0088][0089]
第四项:
[0090]
第五项:
[0091]
得到:
[0092][0093]
更新后的输出层权值系数为:
[0094][0095]
其中,η为学习效率。
[0096]
同理可得隐含层权值的修正量为:
[0097][0098]
则更新后的隐含层权值系数为:
[0099][0100]
步骤6、返回步骤2,在线调整pid参数。
[0101]
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献