一种无人艇航速与航向控制方法与流程

文档序号:12593968阅读:1099来源:国知局
本发明涉及的是一种无人艇动态控制方法,具体地说是一种无人艇的航速航向控制方法。
背景技术
:无人艇是一种能在海洋环境下自主航行,并能完成各种任务的小型水面运动平台。无人艇根据所完成任务的要求,可采用不同的模块,安装不同的传感器和执行装置,其指定任务也具有多样性。目前,人们对于无人艇的关注程度日渐提高,其在海洋中的运动控制方面也越来越重要。当无人艇在海洋中进行某种作业时,通常要对其航速与航向进行控制。由于海洋环境复杂多变,所以有必要对在不断变化的海洋环境力作用下的无人艇的航速航向控制进行深入研究。目前国内外文献中从未出现过与本发明的方法相类似的无人艇航速航向控制。技术实现要素:本发明的目的是一种在复杂的海洋环境下可进行无人艇航速航向控制的无人艇航速与航向控制方法。本发明的目的是这样实现的:步骤1结合无人艇的运动模型,采用自适应非线性卡尔曼滤波器,滤去高频干扰,得到无人艇的航速和航向信息;步骤2.将由自适应非线性卡尔曼滤波器所估计的最优化无人艇的航速航向信息与期望的位置信息进行比较,得到偏差信息;步骤3.将偏差信息送入神经网络PID控制器,神经网络PID控制器的输出控制无人艇的推力装置;所述神经网络PID控制器具体包括:以无人艇的航速航向信息为3个输入节点,输出节点分别对应神经网络PID控制器的三个可调参数KP、KI和KD,输出层神经元的变换函数取非负的Sigmoid函数、隐含层神经元的活化函数取正负对称的Sigmoid函数,BP神经网络PID控制器NN的输入为oj(1)=xk-j=e(k-j)(j=0,1,...,M-1)oM(1)≡1]]>神经网络PID控制器的隐含层输入输出为neti(2)(k)=Σj=0Mwij(2)oj(1)(k)oi(2)(k)=f[neti(2)(k)](i=0,1,...Q-1)oQ(2)(k)≡1]]>式中:-----隐含层加权平均数-----阈值,f[·]-----活化函数,f[·]=tanh(x)上角标(1)、(2)、(3)表示输入层、隐含层、输出层;最后,网络的输出层的输入输出为netl(3)=Σi=0Qwli(3)oi(2)(k)ol(3)(k)=g[netl3(k)](l=0,1,2)o0(3)(k)=KPo1(3)(k)=KIo2(3)(k)=KD]]>式中:-----输出层加权系数-----阈值,g[·]-----活化函数,g[·]=tanh(x)取性能指标函数为J=12[r(k+1)-y(k+1)]2=12e2(k+1)]]>依一阶梯度法即最速下降法修正网络的加权系数,即按J对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局极小的惯性项,则式中:η-----学习速率α----惯性系数未知,近似用符号函数取代,通过调整学习速率η来补偿,求得因此得BP神经网络NN输出层的加权系数计算公式为得隐含层加权系数的计算公式为Δwij(2)(k+1)=ηδi(2)oj(1)(k)+αΔwij(2)(k)δi(2)=f′[neti(2)(k)]Σl=02δl(3)wli(3)(k)(i=0,1,...,Q-1)]]>式中:f′[x]=[1-f2(x)]/2g′[x]=g(x)[1-g(x)]。本发明提供了一种在复杂的海洋环境下可进行无人艇航速航向控制,从而保证无人艇可以控制其航速和航向的方法。本发明的主要技术手段包括:结合无人艇的运动模型,利用非线性卡尔曼滤波原理,采用自适应非线性卡尔曼滤波器,滤去高频干扰,并获得无人艇的航速和航向信息。将获得的无人艇的位置信息与期望的位置信息进行比较,得到偏差信息。将偏差信息送入神经网络PID控制器,控制无人艇的推力装置,使无人艇达到期望的航速和航向,达到无人艇航速航向控制的目的。本方法实施的有益效果为:1.非线性卡尔曼滤波算法在实际执行过程中,采用累加和的形式来保存信息的平方和,这样不需要保存所有时刻的测量值和信息值,也不会增加运算的负担,使算法简单可行。而且只需用当前时刻及以前时刻的信息值来计算γ,不需利用整个过程的信息值,还可以实时调整γ值和系统噪声方差,满足实时性的要求。该方法基于信息的系统噪声方差估计方法和卡尔曼滤波器相结合,可大大的改善滤波性能。该方法还可以有效地解决由于系统噪声统计特性不准确所造成的估计精度低和滤波发散问题,且不增加计算量和存储量。2.神经网络吸取了生物神经网络的大多好处,它具有很高的并行性,非线性的整体的能力,还有很好的的容错性和发散记忆能力,并且具有有效的自适应能力,自学习能力。神经网络PID控制算法借助神经网络的自学习,自组织能力,可实现PID参数的在线自整定和优化,避免了人工整定PID参数的繁琐工作;同时该算法不要求被控对象的精确数学模型;具有良好的控制效果;同时在合理选择隐含层和输出层激活函数的情况下,算法具有很强的泛化能力。附图说明图1为无人艇航速航向控制方法的控制原理图。具体实施方式下面结合附图举例对本发明做详细描述。步骤1.结合无人艇的运动模型,利用非线性卡尔曼滤波原理,采用非线性卡尔曼滤波器,滤去高频干扰,并获得无人艇的航速航向信息。将由自适应非线性卡尔曼滤波器所估计的最优化无人艇的航速航向信息送入自适应非线性卡尔曼滤波器。滤波器采用自适应非线性卡尔曼滤波算法得到当前时刻无人艇的航速航向预测值,结合无人艇当前时刻航速航向信息的预测值和测量值,可以得到当前时刻航速航向信息的最优化估计值。在无人艇的航速航向信息不断更新的过程中,系统的噪声协方差也在随之更新,使得算法可以循环的进行下去。步骤2.将由自适应非线性卡尔曼滤波器所估计出的最优化的的无人艇的航速航向信息与期望的位置信息进行比较,得到偏差信息。步骤3.将偏差信息送入神经网络PID控制器,控制无人艇的推力装置,使无人艇达到期望航速航向,达到航速航向控制的目的。本发明选用3个输入节点,分别为无人艇的三个位置信息。输出节点分别对应神经网络PID控制器的三个可调参数KP、KI和KD。由于KP、KI、KD不能为负值,所以输出层神经元的变换函数取非负的Sigmoid函数,而隐含层神经元的活化函数可取正负对称的Sigmoid函数。由图可见,BP神经网络NN的输入为oj(1)=xk-j=e(k-j)(j=0,1,...,M-1)oM(1)≡1]]>网络的隐含层输入输出为neti(2)(k)=Σj=0Mwij(2)oj(1)(k)oi(2)(k)=f[neti(2)(k)](i=0,1,...Q-1)oQ(2)(k)≡1]]>式中:-----隐含层加权平均数-----阈值,f[·]-----活化函数,f[·]=tanh(x)上角标(1)、(2)、(3)表示输入层、隐含层、输出层。最后,网络的输出层的输入输出为netl(3)=Σi=0Qwli(3)oi(2)(k)ol(3)(k)=g[netl3(k)](l=0,1,2)o0(3)(k)=KPo1(3)(k)=KIo2(3)(k)=KD]]>式中:-----输出层加权系数-----阈值,g[·]-----活化函数,g[·]=tanh(x)取性能指标函数为J=12[r(k+1)-y(k+1)]2=12e2(k+1)]]>依一阶梯度法即最速下降法修正网络的加权系数,即按J对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局极小的惯性项,则有式中:η-----学习速率α----惯性系数由于未知,所以近似用符号函数取代,由此带来的计算不精确的影响可以通过调整学习速率η来补偿。可以求得因此可得BP神经网络NN输出层的加权系数计算公式为依据上述推算办法,可得隐含层加权系数的计算公式为Δwij(2)(k+1)=ηδi(2)oj(1)(k)+αΔwij(2)(k)δi(2)=f′[neti(2)(k)]Σl=02δl(3)wli(3)(k)(i=0,1,...,Q-1)]]>式中:f′[x]=[1-f2(x)]/2g′[x]=g(x)[1-g(x)]。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1