本发明涉及海洋工程无人艇控制技术领域,尤其是涉及一种基于虚拟艇自适应规划的欠驱动无人艇编队智能控制方法。
背景技术:
在开发利用海洋方面,无人艇作为海上最为典型的无人智能平台系统,引起了国家的高度重视。无人艇具有吃水浅、速度快、机动性强等优点,可大量应用于海洋科研、海洋开发、海洋环境监测、海洋权益维护等军事和民用任务中。
随着环境的复杂化和任务的多样化,单无人艇不仅需要在自身的能力范围内独自执行任务,还需要与其它无人艇联合完成任务,无人艇编队技术逐渐受到广泛关注。无人艇编队是指具有保持固定或临时队形能力的无人艇集群。相比于单无人艇作业,通过保持预设队形,无人艇群具有更大的作业范围、更强的容错能力以及更高的资源利用率,对于完成水上任务具有重要意义。
虽然无人艇编队的思想很直观,但在实际工程中实现无人艇编队面临诸多挑战,涉及到无人艇群环境感知、自主导航、避碰避障、任务实时规划、队形控制等一系列问题。目前国内在欠驱动无人艇编队队形控制方面研究的局限性主要体现在如下两个方面:
其一,体现在曲线路径场景应用方面。目前关于欠驱动无人艇编队队形控制的绝大部分研究在大地坐标系下展开,所获得的队形为绝对队形,无法满足曲线路径任务下的编队巡航需求;使用绝对队形进行编队的另一弊端是队形设置时存在过顶问题,即无法实现跟随艇与领导艇在同一竖直直线下的队形保持。如何实现在曲线路径场景下进行有效编队同时避免队形设置时的过顶问题亟需解决。
其二,体现在算法工程化实现方面。随着控制方法的智能化发展,出现了很多欠驱动无人艇编队的智能控制方法,特别是基于神经网络的编队控制方法,可有效解决无人艇模型不确定以及外界环境扰动问题。但这些基于神经网路的编队智能控制方法在工程化实现过程中都存在维数灾问题,即随着神经网络隐含层节点数目的增多,在线学习参数也越来越多,从而导致在线学习时间过长,难以满足工程实时性需求。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于虚拟艇自适应规划的欠驱动无人艇编队智能控制方法。
本发明的目的可以通过以下技术方案来实现:
一种基于虚拟艇自适应规划的欠驱动无人艇编队智能控制方法,包括以下步骤:
1)设定队形并进行参数初始化;
2)采集领导艇的位置坐标(xl,yl)和艏向角ψl,进行滤波后传输给跟随艇;
3)根据队形以及领导艇的位置坐标和艏向角信息实时获取跟随艇在编队中的参考位置(xr,yr)和参考运动姿态ψr;
4)引入虚拟艇并进行实时自适应规划获取跟随艇的参考航迹;
5)采用rbf神经网络和最小参数学习算法组合策略对学习参数进行在线训练,生成智能编队控制信号,包括跟随艇的主机转速nf和舵角命令信号δf。
所述的步骤1)具体包括以下步骤:
设定跟随艇与领导艇间的队形,包括相对距离ρ和跟随艇相对于领导艇前进方向的夹角λ,并设置跟随艇的自适应参数初值
所述的步骤3)中,获取跟随艇在编队中的参考位置(xr,yr)和参考运动姿态ψr的计算式为:
ηr(k)=ηl(k)+r(ψl(k))l
ηr=[xr,yr,ψr]t
l=[ρcosλ,ρsinλ,0]t
其中,ηr(k)为当前时刻跟随艇的参考位置向量,ηl(k)为当前时刻领导艇的参考位置向量,r(ψl(k))为旋转矩阵,l为与队形参数有关的中间向量,ψl(k)为当前时刻领导艇的艏向角。
所述的步骤4)具体包括以下步骤:
41)计算当前时刻k的虚拟艇自适应参数值
42)生成当前时刻的虚拟艇前进速度命令uv(k)、侧向速度命令vv(k)和转首角速度命令rv(k)。
所述的步骤41)中,自适应参数值
e(k)=ηr(k)-ηv(k)
ηr=[xr,yr,ψr]t
ηv=[xv,yv,ψv]t
其中,
所述的步骤42)中,虚拟艇前进速度命令uv(k)、侧向速度命令vv(k)和转首角速度命令rv(k)的计算公式为:
νv(k)=[uv(k),vv(k),rv(k)]t
其中,ke为可调控制参数矩阵,rt(ψv(k))为旋转矩阵。
所述的步骤5)具体包括以下步骤:
51)计算当前时刻k的虚拟控制量αu(k)和αr(k);
52)在线训练并存储学习参数
所述的步骤51)中,虚拟控制量αu(k)和αr(k)的计算式为:
ψd=[1-sign(xe)]sign(ye)π/2+arctan(ye/xe)
x=x-x
ye=yv-y
ψe=ψd-ψ
其中,kze和kψe均为可调控制参数,(x,y)为跟随艇位置坐标,(xe,ye)为跟随艇跟踪位置误差坐标,ψd为跟随艇相对于虚拟艇的方向角,ze为跟随艇跟踪距离误差。
所述的步骤52)中,学习参数
ie=i-αi
其中,ie表示跟随艇的速度跟踪误差,si(·)=[s1(·),…,sl(·)]t为高斯基函数向量,且满足
所述的智能编队控制信号的计算公式为:
其中,ku和kr均为可调控制参数。
与现有技术相比,本发明具有以下优点:
一、本发明不同于在大地坐标系下直接驱动跟随艇跟踪领导艇实现编队,在领导艇船体坐标系下引入虚拟艇自适应规划,可在曲线路径任务下实现欠驱动无人艇编队,同时可避免队形设置时的过顶问题。
二、跟随艇只需获得领导艇的位置坐标和艏向角信息便可实现队形保持;
三、跟随艇只需在线训练2个学习参数便可保证无人艇编队系统的鲁棒性能,简单便捷,实时性强。
附图说明
图1为本发明中虚拟艇自适应规划策略基本原理图。
图2为本发明中欠驱动无人艇编队智能控制逻辑结构示意图。
图3为本发明中欠驱动无人艇编队智能控制方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1-3所示,本发明提供一种基于虚拟艇自适应规划的欠驱动无人艇编队智能控制方法,该方法中的计算在无人艇的控制单元中通过软件实现,控制单元可以是工控机或小型的嵌入式系统。以电驱无人艇群为例,该方法的执行过程包括以下5个具体实施步骤。
步骤1:设定队形并初始化参数。根据无人艇群的任务需求设定跟随艇与领导艇间的队形,包括相对距离ρ和跟随艇相对于领导艇前进方向的夹角λ;同时设置虚拟艇自适应参数的初始值
步骤2:领导艇位置、艏向角信息的采集、滤波和传输。对领导艇的gps信息(质心位置)和电子罗盘信息(艏向)进行采样,经模拟量输入通道传输信号后滤波,经a/d转换后获得数字量输入信号。对无人艇群采用wifi组网通信技术,将滤波后的数据传输给跟随艇。滤波过程对具体的方法并无限制,可采用最常用的卡尔曼滤波方法或者最小二乘法。
步骤3:跟随艇编队参考位置姿态的实时计算。根据步骤1中的预设队形ρ、λ和步骤2中经滤波、传输得到的领导艇位置、艏向角信息ηl=[xl,yl,ψl]t,跟随艇实时计算其在编队中的参考位置(xr,yr)和参考运动姿态ψr,计算公式为:
ηr(k)=ηl(k)+r(ψl(k))l。
其中,ηr为跟随艇参考位置向量,ηr=[xr,yr,ψr]t,l为与编队队形有关的中间向量,l=[ρcosλ,ρsinλ,0]t,r(ψl(k))为如下旋转矩阵:
步骤4:虚拟艇实时自适应规划。根据虚拟艇的数学模型采用自适应算法实时规划虚拟艇的位置和运动姿态,控制虚拟艇跟踪跟随艇在编队中的参考位置和参考运动姿态。其中,虚拟艇自适应规划算法具体为:
(1)计算并存储当前时刻的虚拟艇自适应参数值
其中:
(2)生成当前时刻的虚拟艇前进速度命令uv(k)、侧向速度命令vv(k)和转首角速度命令rv(k),其计算公式为:
其中:νv=[uv,vv,rv]t,ke为可调控制参数矩阵,r(ψv(k))为如下旋转矩阵:
步骤5:跟随艇智能编队控制命令生成。通过rbf神经网络和最小参数学习算法组合策略在线训练学习参数
(1)计算并存储当前时刻的虚拟控制量αu(k)和αr(k),其计算公式为:
其中:ψd=[1-sign(xe)]sign(ye)π/2+arctan(ye/xe),ψd(k)为当前时刻跟随艇相对于虚拟艇的方向角,xe=xv-x,ye=yv-y,(xe,ye)为跟随艇跟踪位置误差坐标,(x,y)为跟随艇的位置坐标,
(2)在线训练并存储学习参数
其中:ie(k)表示当前时刻跟随艇的速度跟踪误差,ie=i-αi,αi为虚拟控制量,
(3)生成智能编队控制信号nf(k)和δf(k),其计算公式为:
其中:ku和kr均为可调控制参数。