水下自主航行器避障方法、装置、计算机设备和存储介质

未命名 08-15 阅读:149 评论:0


1.本技术涉及海洋工程技术领域,特别是涉及一种水下自主航行器避障方法、装置、计算机设备和存储介质。


背景技术:

2.水下自主航行器(autonomous underwater vehicle,auv)是开展海洋勘察与科学考察的重要设备,它凭借着机动性强、无人员伤亡风险、适应能力与生存能力高、制造与维护成本低等诸多优点,被广泛应用于多种水下任务中。由于海洋环境复杂多变,充满各种障碍物,在auv的行进过程中,保证auv不与障碍物发生碰撞十分重要。
3.传统技术中,通常采用路径搜索法、人工势场法或智能仿生学算法进行auv的自主避障,但是,上述方法的避障能力较差。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高水下自主航行器的避障能力的水下自主航行器避障方法、装置、计算机设备和存储介质。
5.第一方面,本技术提供了一种水下自主航行器避障方法。该方法包括:确定该水下自主航行器auv的当前时刻的第一避障状态空间向量;该第一避障状态空间向量包括该auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及该auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据该第一避障状态空间向量,确定该auv的当前时刻的第一动作向量;该目标策略是根据预设策略和奖励函数确定的;根据该第一动作向量,向该目标区域移动,以执行该auv的避障任务。
6.在其中一个实施例中,该确定该第一障碍物状态空间向量,包括:若该障碍物处于auv探测范围内,则根据当前时刻的该障碍物对应的第一量测信息、上一时刻的该障碍物的初始障碍物状态空间向量,确定该第一障碍物状态空间向量;若该障碍物不处于auv探测范围内,则根据上一时刻的该障碍物的初始障碍物状态空间向量,确定该第一障碍物状态空间向量。
7.在其中一个实施例中,该若该障碍物处于auv探测范围内,则根据当前时刻的该障碍物对应的第一量测信息、上一时刻的该障碍物的初始障碍物状态空间向量,确定该第一障碍物状态空间向量,包括:根据该初始障碍物状态空间向量对应的第一协方差矩阵和该障碍物对应的噪声,确定该障碍物对应的滤波增益;基于该第一量测信息、该滤波增益和该初始障碍物状态空间向量,确定该第一障碍物状态空间向量。
8.在其中一个实施例中,该方法还包括:利用该滤波增益更新该第一协方差矩阵,得到该第一障碍物状态空间向量对应的
第二协方差矩阵,并返回执行根据该第二协方差矩阵和该障碍物对应的噪声,确定该障碍物对应的新滤波增益,并基于该当前时刻的该障碍物对应的第二量测信息、该新滤波增益和该第一障碍物状态空间向量,确定下一时刻该障碍物的障碍物状态空间向量的步骤。
9.在其中一个实施例中,该若该障碍物不处于auv探测范围内,则根据上一时刻的该障碍物的初始障碍物状态空间向量,确定该第一障碍物状态空间向量,包括:根据该初始障碍物状态空间向量对应的第一协方差矩阵和该障碍物对应的噪声,确定该障碍物对应的滤波增益;基于该滤波增益和该初始障碍物状态空间向量,确定该第一障碍物状态空间向量。
10.在其中一个实施例中,该奖励函数包括到达奖励函数、碰撞惩罚函数、靠近目标奖励函数、靠近障碍物惩罚函数和脱离集群惩罚函数中至少一项;该到达奖励函数用于表征该auv与该目标区域的第一距离,与第一奖励值之间的关系的函数;该碰撞惩罚函数用于表征该auv与该障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;该靠近目标奖励函数用于表征上一时刻的该auv与该目标区域的距离与当前时刻的该auv与该目标区域的距离的第一差值,与第二奖励值之间的关系的函数;该靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;该脱离集群惩罚函数用于表征该auv与该其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
11.在其中一个实施例中,该方法还包括:根据该auv与该目标区域的第一距离,利用该到达奖励函数确定该第一距离对应的第一奖励值;根据该auv与该障碍物的第二距离,利用该碰撞惩罚函数确定该第二距离对应的第一惩罚值;根据该上一时刻的该auv与该目标区域的距离与该当前时刻的该auv与该目标区域的距离的第一差值,利用该靠近目标奖励函数确定该第一差值对应的第二奖励值;根据该auv与该障碍物的距离与第一预设距离阈值的第二差值,利用该靠近障碍物惩罚函数确定该第二差值对应的第二惩罚值;根据该auv与该其他auv之间的距离与第二预设距离阈值的第三差值,利用该脱离集群惩罚函数确定该第三差值对应的第三惩罚值;根据该第一避障状态空间向量、该第一奖励值、该第一惩罚值、该第二奖励值、该第二惩罚值和该第三惩罚值,确定auv的当前时刻的第一动作向量。
12.第二方面,本技术还提供了一种水下自主航行器避障装置。该装置包括:第一确定模块,用于确定该水下自主航行器auv的当前时刻的第一避障状态空间向量;该第一避障状态空间向量包括该auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及该auv期望到达的目标区域的目标区域状态空间向量;第二确定模块,用于利用目标策略根据该第一避障状态空间向量,确定该auv的下
一时刻的第二动作向量;该目标策略是根据预设策略和奖励函数确定的;执行模块,用于根据该第二动作向量,向该目标区域移动,以执行该auv的避障任务。
13.第三方面,本技术还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以上方法的步骤。
14.第四方面,本技术还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上方法的步骤。
15.第五方面,本技术还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上方法的步骤。
16.上述水下自主航行器避障方法、装置、计算机设备和存储介质,确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行auv的避障任务。传统技术中,通过在障碍物附近区域产生虚拟的斥力势场,对auv产生斥力作用,以目标点为中心生成虚拟的引力势场,对auv产生引力作用,通过计算合力控制auv运动,避开环境中的障碍物最终抵达目标点,但是容易陷入局部最优,导致避障能力较差。而本技术实施例中,通过确定第一避障状态空间向量,并利用根据预设策略和奖励函数训练得到的目标策略确定第一动作向量,并根据第一动作向量向目标区域移动,以学习训练的方式为auv提供了路径导航,执行auv的避障任务,能够提高auv的避障能力。
附图说明
17.图1为本技术实施例提供的一种水下自主航行器避障方法的流程示意图;图2为本技术实施例提供的一种大地坐标系和随体坐标系的示例图;图3为本技术实施例提供的一种maddpg算法的示例图之一;图4为本技术实施例提供的一种maddpg算法的示例图之二;图5为本技术实施例提供的一种第一障碍物状态空间向量确定方法的流程示意图之一;图6为本技术实施例提供的一种第一障碍物状态空间向量确定方法的流程示意图之二;图7为本技术实施例提供的一种第二障碍物状态空间向量确定方法的流程示意图;图8为本技术实施例提供的一种水下自主航行器避障装置的结构框图;图9为本技术实施例提供的一种计算机设备的内部结构图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
19.传统技术中,通常利用传统路径搜索方法、基于人工势场的方法以及智能仿生学算法进行智能体的避障,例如进行水下自主航行器避障的避障。
20.传统路径搜索方法是基于已建立的环境模型,然后按照一定策略在所给的起点与终点之间搜索出最优路径的方法。其中最主流的算法包括快速步进方法等。其特点为过程简单,易于实现,但同时也存在着处理速度慢、可行性相对较差等问题。
21.基于人工势场的方法的思想是通过在障碍物附近区域产生虚拟的斥力势场,对auv产生斥力作用,以目标点为中心生成虚拟的引力势场,对auv产生引力作用,通过计算合力控制auv运动,避开环境中的障碍物最终抵达目标点。人工势场法的优势在于方法简单、效率高,但也面临着容易陷入局部最优、目标不可达以及实时避障能力较弱等问题。
22.由于传统路径搜索算法存在着路径优化效果差、处理速度慢等问题。因此针对更加复杂的环境,采用智能仿生学路径搜索算法效率较高,其中,常用的算法包括蚁群优化算法、粒子群优化算法、遗传算法等,但智能算法也存在收敛速度慢,计算时间长以及易陷入局部最优等问题。
23.在传统避障方法中,上述问题的产生通常由于以下几个原因:(1)对水下因素考虑不周全,由于auv水下环境工作于水下环境中,因此需在环境建模时考虑水下环境的差异性,包括海流影响下的auv动力学模型、水下定位问题、水下通信局限性、探测局限性等。(2)对障碍物的建模较简单,且多数算法只针对于静态障碍物,然而实际情况下,水下环境及其复杂,既有礁石等静态障碍物,也有鱼群、其它航行器等动态障碍物,因此auv对动态障碍物的躲避同样是重要的问题。(3)存在中心化的情况:当前研究中,针对多auv的编队避障算法多数基于领航者-跟随者编队控制算法,其中领航者auv在算法中起到决定性的作用。由于auv之间通过水声通讯传递信息,其稳定性不能得到保证,因此基于多auv集群智能的避障算法不应过度依赖于其中的某一个auv,而应该尽可能采用分布式的结构,以增加系统的鲁棒性。因此不适宜使用传统的领航者-跟随者方法进行编队控制避障。(4)auv之间的协同性不足,针对多auv 避障的问题,在多数算法中,每个auv分别探测周围的环境,并根据自身探测结果选择避障策略。这些算法没有充分利用auv之间信息交互的能力,使得auv之间不能很好的相互配合协同避障,因此不能够最大化避障效率和避障效果。
24.综上,传统技术中的避障方法的避障能力较差。为解决水下自主航行器的避障能力较差的问题,本技术实施例提供了一种水下自主航行器避障方法。
25.在一个实施例中,提供了一种水下自主航行器避障方法,参考图1,图1为本技术实施例提供的一种水下自主航行器避障方法的流程示意图,该方法包括以下步骤:s101、确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量。
26.在本技术实施例中,第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量。第一障碍物状态空间向量可以是根据上一时刻的初始障碍物状态空间向量得到当前时刻的预测障碍物状态空间向量,再利用当前时刻的障碍物的量测信息对预测障碍物状态向量进行修正得到的。auv期望到达的目标区域的目标区域状态空间向量根据实际情况进行人
工设定,也可以利用auv作为中心来标定。第一auv状态空间向量可以根据上一时刻的auv对应的动作向量、构建的在海流干扰下的auv运动模型来确定。
27.具体地,为建立对海流干扰下的auv运动模型,描述auv运动状态,即获取当前时刻的第一auv状态空间向量,首先,需要建立合适的坐标系。其中,该第一auv状态空间向量包括auv的位置信息和速度信息。依照国际水池会议(ittc)给出的建议,建立两个笛卡尔直角坐标系作为参考坐标系,参考图2,图2为本技术实施例提供的一种大地坐标系和随体坐标系的示例图,分别为大地坐标系 e-xyz和auv随体坐标系o-xyz。其中,大地坐标系的原点e可以取地球表面任意一点,坐标轴指向北,指向东,垂直于地平面指向下。地球自转与公转的影响可以被忽略,可近似认为大地坐标系e-xyz为惯性系。随体坐标系随auv一同运动,其原点o选取auv的重心,坐标轴平行于auv纵向轴线,指向前方,平行于auv横向轴线,指向右侧,垂直于xoy平面指向auv底部。
28.其次,建立海流干扰下的auv二维平面运动模型。由于在三维空间中,auv拥有六个自由度,且各个自由度之间存在强耦合,因此在三维空间中对其auv控制器进行设计是十分困难的。对于避障任务而言,通常考虑auv与障碍物在水平面之间的相对位置关系,因此对auv三维空间运动模型做出一定简化,得到二维水平面中的auv平面运动模型。
29.在二维水平面中,可以假设auv在水平面上运动,不受恢复力的作用。假设auv的舰体关于中纵剖面对称,并将随体坐标系的原点选在auv的重心处。假设auv的运动速度较慢,高于二阶的粘性类水动力通常可以忽略,只考虑一阶线性粘性类水动力的影响。同时,在海洋环境中,海流干扰对auv的运动也存在着影响。由于一般情况下,海流的流动线路及流速相对固定,并且流场的尺度远大于auv的尺度,因此可以假设海流为定常无旋的均匀流场。
30.基于上述假设条件,可由 auv 的三维空间运动模型简化得到海流干扰下 auv的二维平面运动模型如下:其中,描述了auv在二维平面中的位置坐标与艏向角,x和y表示二维平面中的位置坐标,表示艏向角;表示auv与海流的相对速度,描述了auv相对于海流沿两个坐标轴方向的速度分量及其艏摇角速度,r表示艏摇角速度,表示海洋沿两个坐标轴方向的速度分量,u、v表示auv沿两个坐标轴方向的速度分量。表示auv的控制输入,表示输入转换矩阵,表示auv的推进器推力与舵机的控制力。表示随体坐标系到大地坐标系的矩阵转换,,m表示auv的惯性系数矩阵,,表示auv的科氏力-向心力系数矩阵,其中包含类科氏力矩阵与向心力矩阵两部分,。d表示粘性类水动力矩阵,仅与auv的运动状态有关。
“”
表示连续情况,无
“”
表示离散情况。矩阵表示具体如下:
通常情况下,m为非奇异矩阵,因此平面运动模型也可以表示为:在算法仿真过程中,需要使用离散化模型,对上述模型离散化,可得到海流干扰下的auv二维平面运动模型如下:其中,表示采样间隔时间,即。t表示当前采样、t+1表示下一次采样。
31.模型中相关参数选取如下:需要说明的是,如果将第一避障状态空间向量记作,可分解为三部分,分别为自身状态(auv的第一auv状态空间向量)、观测信息(障碍物的第一障碍物状态空间向量和其他auv的状态空间向量)、目标信息(auv期望到达的目标区域的目标区域状态空间向量),由下式表示:。
32.其中,表示auv自身的状态信息,通过auv自身携带的姿态传感器获得,为auv自身的位置在x轴和在y轴的坐标、表示艏向角,表示auv沿两个方向的速度,表示艏摇角速度。表示auv观测到的障碍物以及其它auv的状态信息,通过auv携带的声呐传感器获得,有,表示某个障碍物的位置坐标、速度、以及外接圆半径。由于声呐传感器的观测距离有限,且受到观测噪声的影响,本章结合卡尔曼滤波算法获取障碍物的状态信息。表示目标区域中心的信息,,其中,为目标区域中心的坐标,表示航向误差,
为auv当前艏向角与目标当前方向之间的夹角,其计算方法为:上述信息定义在大地坐标系下,但实际情况中,auv在海洋环境中难以获得自身的定位信息,而且大地坐标系的坐标信息也不符合正常的避障逻辑,人类在避障时,将自身看作参考系的原点,依据相对位置信息进行路径规划和避障。因此将对状态空间的设计做出改进,不使用auv的位置坐标,并将auv自身看作原点进行参考系的变换,将状态中障碍物与目标点的位置坐标转化为与auv的相对位置作为其状态。
33.经过参考系的变换,状态空间发生了相应的变化,有,。其中,表示障碍物的第一障碍物状态空间向量和其他auv的状态空间向量相对于auv在x轴上的坐标,表示障碍物的第一障碍物状态空间向量和其他auv的状态空间向量相对于auv在y轴上的坐标,为目标区域相对于auv在x轴上的坐标,为目标区域相对于auv在y轴上的坐标。
34.与上述标号的取法类似,u、v表示沿两个坐标轴方向的速度分量,角标j表示障碍物的第一障碍物状态空间向量和其他auv的状态空间向量相关参数。
35.s102、利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略根据预设策略和奖励函数确定。
36.其中,预设策略根据预设奖励函数不断调整,以获得目标策略,该目标策略可以利用maddpg算法训练后得到。该目标策略是最优策略。第一动作向量为当前时刻auv要采取的下一步动作。
37.在本技术实施例中,可以利用maddpg(multi-agent deep deterministic policy gradient,多智能体深度确定性策略梯度)算法对预设策略进行训练,得到目标策略。其中,在训练的过程中奖励函数不断进行调整,以得到最优的目标策略。然后,可以利用目标策略,并根据当前时刻的第一避障状态空间向量,得到auv的当前时刻所要进行的第一动作向量。
38.即,利用目标策略根据当前时刻的第一避障状态空间向量,确定auv所要采取的下一步的动作(第一动作向量),其中,预设策略根据与环境交互的奖励函数不断调整,以获得最优策略,最优策略的学习过程可以利用maddpg算法。
39.参考图3,图3为本技术实施例提供的一种maddpg算法的示例图之一,maddpg算法是ddpg算法为适应多智能体任务的改进。maddpg算法由多个ddpg网络组成,每个智能体都有其生成者网络和评价者网络,其最大的特点为智能体的评价者网络可以获取每个智能体的信息,从全局的角度指导生成者网络进行训练。而执行时,生成者网络只使用每个智能体独立获取的局部信息选择动作,如下图所示。因此maddpg是一个集中式训练,分布式执行的多智能体强化学习算法。此外,maddpg算法优化了经验回放池,使之能够应用于多智能体的动态环境。策略优化方面,maddpg算法中,每个智能体学习多个策略,通过所有智能体策略的整体效果对策略进行优化,使得算法能够更加稳定。
40.在maddpg算法中,对于确定性策略梯度算法,有公式:其中,d为经验回放池,存储的数据为:,通过集中式训练,动作值函数可通过由下式定义的损失函数更新:可通过由下式定义的损失函数更新:其中,表示目标策略的集合,其参数为,为通过延迟的更新得到。
41.x表示当前时刻的第一避障状态空间向量,表示下一时刻的第一避障状态空间向量,a表示动作,r表示奖励值,
“’”
均表示下一时刻的情况,y表示当前动作值函数的目标值。可以看出,通过上述算法,评价者网络使用了全局信息进行学习,而生成者网络只使用局部观测信息选择动作,实现了集中式训练分布式执行的多智能体强化学习算法。
42.需要说明的是,在本技术实施例中可以采用maddpg算法进行训练,以执行auv的避障任务。因此,需要为每个auv构建一个生成者网络用于生成动作与一个评价者网络用于输出值函数。参考图4,图4为本技术实施例提供的一种maddpg算法的示例图之二,对于生成者网络,输入的是对应auv的状态,为12维向量,输出为对应auv的动作为2维向量。网络包含三个全连接层,其中前两个全连接层使用relu激活函数,输出层使用tanh激活函数。对于评价者网络,其可以使用全局信息,设auv的数目为2,则评价者网络的输入包括两个auv的状态,为24维向量,以及两个auv的动作,为4维向量。评价者网络的输出为动作值函数,用以评估当前的状态动作对的价值。网络包含四个全连接层,其中前三个全连接层均使用relu激活函数。
43.其中,每个auv的动作空间,即auv的生成者网络的输出,为一个2维向量。可转化为第二章auv二维平面运动模型中的输入中的auv的推进器推力与舵机控制力,再代入到平面运动模型中,可计算出auv的状态变化。设auv网络输出的动作向量,auv控制输入。由于生成者网络的激活层使用tanh激活函数,因此有。而对auv控制输入,有,。因此,需对生成者网络的输出y做如下转换:在评估和执行的的过程中,可以直接使用生成者网络的输出作为最优策略,转换
为auv的控制输入。而在训练的过程中,需要首先考虑探索潜在的更优策略,平衡探索与利用的关系,以获得更好的训练效果。需要注意的是,在探索潜在的更优策略的过程,也需要将选择的动作的范围控制在[-1,1]之间,再通过上述的转换关系转换为auv的控制输入。需要说明的是,是推进器推力,是舵机控制力,对应的y[0]、y[1]是网络的直接输出,和为线性转换关系。
[0044]
s103、根据第一动作向量,向目标区域移动,以执行auv的避障任务。
[0045]
具体地,auv可以根据第一动作向量,向目标区域进行移动。auv根据第一动作向量移动后会产生新的状态向量,可以使用已经建立的海流干扰下的auv运动模型得到下一时刻auv的状态。同时,根据第一障碍物状态空间向量得到下一时刻的预测障碍物状态空间向量,再利用下一时刻的障碍物的量测信息对下一时刻的预测障碍物状态空间向量进行修正,得到下一时刻的第二障碍物空间向量。由此,可以根据下一时刻的第二障碍物空间向量、下一时刻auv的状态以及通过传感器测得的下一时刻的目标区域状态空间向量,得到新的动作向量。因此,auv可以根据新的动作向量向目标区域进行移动,再执行上述相同的步骤,以到达目标区域,完成了auv的避障任务。
[0046]
需要说明的是,在确定auv下一步所要执行的动作向量前,可以利用算法、添加高斯噪声、添加ou噪声算法中的至少一种,以解决强化学习的训练过程中,动作的选择策略也会对训练效果造成很大的影响,需要在探索潜在的更优策略与利用已知信息选择当前最优动作之间找到一个平衡点的问题。优选的,为添加高斯噪声、添加ou(ornstein uhlenbeck,奥恩斯坦-乌伦贝克)噪声算法。具体地,算法中,代表一个较小的概率,在选择动作时,auv有的概率以贪心策略选择动作,即选择当前情况下回报最高的动作另外有的概率随机选择动作进行探索。因此,auv在多数情况下会选择回报最高的动作,在少数情况下会通过随机选择动作探索环境。然而,算法主要适用于离散动作空间的问题,在动作空间连续的情况下,不能取得很好的效果。添加高斯噪声算法中,在当前动作选择策略的基础上,添加均值为零的高斯噪声,进行的探索学习。并且随着训练的进行,逐渐减小高斯噪声的方差大小,提高训练数据的质量。在添加ou噪声算法中,在当前动作选择策略的基础上,添加ou噪声,进行探索学习。ou噪声由ou过程中采样获得,ou过程是一个具有马尔可夫性的随机过程。ou过程是一个均值回归,当状态偏离时,下一步会向均值靠近。因此可以利用这个特性使得智能体在一定范围内进行探索,同时也保证学习的效率。
[0047]
上述水下自主航行器避障方法中,确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行auv的避障任务。传统技术中,通过在障碍物附近区域产生虚拟的斥力势场,对auv产生斥力作用,以目标点为中心生成虚拟的引力势场,对auv产生引力作用,通过计算合力控制auv运动,避开环境中的障碍物最终抵达目标点,但是容易陷入局部最优,导致避障能力较差。而本技术实施例中,通
过确定第一避障状态空间向量,并利用根据预设策略和奖励函数训练得到的目标策略确定第一动作向量,并根据第一动作向量向目标区域移动,以学习训练的方式为auv提供了路径导航,执行auv的避障任务,能够提高auv的避障能力。
[0048]
在一个实施例中,本实施例涉及的是如何确定第一障碍物状态空间向量的一种可能的实现方式,在上述实施例的基础上,上述s101包括:方案一、若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0049]
其中,障碍物对应的第一量测信息可以是auv的传感器获取的,该第一量测信息受到了量测噪声的影响,该传感器可以包括声呐传感器等,本技术实施例对传感器不做限制。障碍物的初始障碍物状态空间向量可以是预测的障碍物状态空间向量。
[0050]
在本技术实施例中,如果障碍物处于auv探测范围内,则auv的传感器可以获取当前时刻的第一量测信息,可以根据第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,并利用预设滤波算法得到当前时刻的第一障碍物状态空间向量。其中,预设滤波算法可以是卡尔曼滤波算法。
[0051]
需要说明的是,依照常见的障碍物运动特性,当时间间隔较小时,可以假设障碍物速度只发生轻微变动,障碍物近似做匀速直线运动。因此,可以选择建立二维空间中障碍物的匀速直线运动模型,并且加入高斯噪声,作为障碍物运动过程中受到的随机扰动的影响,可以表示障碍物的加速度。考虑二维平面内的动态障碍物,障碍物状态空间向量可以表示为:障碍物离散时间下的匀速直线运动模型可以由下式表示:障碍物离散时间下的匀速直线运动模型可以由下式表示:其中,x表示障碍物状态空间向量,x表示障碍物的x轴坐标,y表示障碍物的y轴坐标,表示障碍物的速度在x轴方向的分量,表示障碍物的速度在y轴方向的分量,表示在当前时刻的障碍物第一状态空间向量,表示在下一时刻的障碍物第二状态空间向量,表示状态转移矩阵,表示状态噪声(高斯噪声),服从高斯分布,表示当前时刻状态与下一时刻状态的采样间隔时间。
[0052]
多数auv使用声呐作为传感器获取障碍物信息,通过auv上布置的声呐阵列,可对周围环境进行量测,获取邻近区域内的障碍物量测信息。当前多数研究假设传感器可以获取到准确的障碍物量测信息,但在实际情况中,传感器到的信息会受到量测噪声的影响,产生一定的误差。通过在传感器量测信息中添加高斯噪声的方式,可以建立对于障碍物的不完美感知模型,以模拟auv实际的障碍物量测信息的场景。可以用表示为:


[0053]
其中,o表示被量测障碍物的实际状态,即其实际位置或者速度,表示量测过程中传感器的量测噪声,服从高斯分布,表示auv对障碍物状态的量测结果,即,障碍物对应的量测信息。
[0054]
方案二、若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0055]
具体地,如果障碍物不处于auv探测范围内,则auv的传感器无法获取当前时刻的第一量测信息,则可以根据上一时刻的障碍物的初始障碍物状态空间向量,并利用预设滤波算法得到当前时刻的第一障碍物状态空间向量。其中,预设滤波算法可以是卡尔曼滤波算法。
[0056]
本实施例中,若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量,若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。由于考虑到了障碍物相对于auv探测范围内的情况,针对不同情况给出不同的应对策略,能够提高障碍物状态空间向量估计的准确性。
[0057]
在一个实施例中,图5为本技术实施例提供的一种第一障碍物状态空间向量确定方法的流程示意图之一,本实施例涉及的是若障碍物处于auv探测范围内,则如何根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量的一种可能的实现方式,在上述实施例的基础上,上述方案一包括:s501、根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益。
[0058]
其中,初始障碍物状态空间向量对应的第一协方差矩阵,可以表示对障碍物预测的不确定性。障碍物对应的噪声可以包括障碍物运动过程中的过程噪声。
[0059]
具体地,可以根据初始障碍物状态空间向量对应的第一协方差矩阵、障碍物的状态转移矩阵、障碍物运动过程中的过程噪声、系统的量测矩阵,确定第一量测信息的不确定性,再根据第一量测信息的不确定性可以得到障碍物对应的滤波增益。
[0060]
s502、基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0061]
具体地,可以先根据初始障碍物状态空间向量确定当前时刻的障碍物状态空间向量,再根据当前时刻的障碍物状态空间向量、第一量测信息、滤波增益,确定第一障碍物状态空间向量。其中,第一障碍物状态空间向量是当前时刻的障碍物状态空间向量的最优估计。
[0062]
例如,可以将时间离散化,障碍物状态空间向量的方程可以通过如下理论模型公式表示:第一量测信息通过如下理论模型公式表示:
其中,与可以分别用于表示理论模型下的障碍物在上一时刻与当前时刻的状态空间向量,表示当前时刻的传感器对障碍物的量测信息,即,当前时刻的第一量测信息。a为障碍物的状态转移矩阵,上一时刻的障碍物运动过程中的过程噪声,h表示系统的量测矩阵,表示系统的量测噪声。过程噪声与量测噪声均服从高斯分布,过程噪声v(k)的协方差用q表示,量测噪声w(k)的协方差用r表示。
[0063]
具体计算时,在已知上一时刻的初始障碍物状态空间向量的情况下,根据上述理论模型公式,可以利用下述预测公式预测当前时刻的第一障碍物状态空间向量,以得到接近于上述标准模型公式中真实值的预测值:其中,表示上一时刻的初始障碍物状态空间向量;表示当前时刻的预测障碍物状态空间向量,是根据上一时刻的初始障碍物状态空间向量,对当前时刻的第一障碍物状态空间向量进行初步预测,需要说明的是,还需要利用障碍物的第一量测信息对当前时刻的预测障碍物状态空间向量进行修正,以得到当前时刻的第一障碍物状态空间向量。同时,可以利用下述公式计算在当前时刻的第一障碍物状态空间向量对应的协方差矩阵,即,当前时刻的第一障碍物状态空间向量的不确定性。
[0064]
其中,表示上一时刻的初始障碍物状态空间向量对应的第一协方差矩阵,a表示障碍物的状态转移矩阵,表示障碍物的状态转移矩阵的转置,q表示障碍物对应的噪声的协方差(过程噪声v(k)协方差),v(k)表示当前时刻的障碍物运动过程中的过程噪声。
[0065]
再通过量测矩阵计算得到量测信息对应的协方差矩阵s(k)表示当前时刻的第一量测信息的不确定性:滤波增益为:可由下式计算得到当前时刻的障碍物状态空间向量的最优估计,即,第一障碍物状态空间向量,当前时刻的第一障碍物状态空间向量可以通过以下公式确定:其中,h表示系统的量测矩阵,表示系统的量测矩阵的转置,r表示量测噪声w(k)的协方差。
[0066]
本实施例中,根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应
的噪声,确定障碍物对应的滤波增益,基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。通过最小化均方误差实现对障碍物状态空间向量的最优估计,即,首先对障碍物状态空间向量进行了预测,再通过第一量测信息对障碍物状态空间向量进行校正,以得到当前时刻的障碍物状态空间向量的最优估计,即第一障碍物状态空间向量。通过多次循环,可以递归得到每一时刻对障碍物状态空间向量的最优估计。在量测信息存在噪声的情况下,使得避障算法能够得到更加准确的障碍物状态空间向量作为输入,从而提高提高了auv的避障能力。
[0067]
可选的,利用滤波增益更新第一协方差矩阵,得到第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。
[0068]
具体地,可以首先确定滤波增益、滤波增益的逆矩阵与量测信息对应的协方差矩阵的乘积结果,再确定该乘积结果与第一协方差矩阵的差值,将该差值作为第一障碍物状态空间向量对应的第二协方差矩阵。
[0069]
接上述举例,第一协方差矩阵可由以下公式进行更新,以得到第一障碍物状态空间向量对应的第二协方差矩阵:其中,表示下一时刻的障碍物状态空间对应的协方差矩阵。
[0070]
其次,在得到第一障碍物状态空间向量对应的第二协方差矩阵之后,返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。由于协方差矩阵在不断更新,使得避障算法能够得到更加准确的障碍物状态空间向量作为输入,从而提高了auv的避障能力。
[0071]
在一个实施例中,图6为本技术实施例提供的一种第一障碍物状态空间向量确定方法的流程示意图之二,本实施例涉及的是若障碍物不处于auv探测范围内,则如何根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量的一种可能的实现方式,在上述实施例的基础上,上述方案二包括:s601、根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益。
[0072]
具体地,可以根据初始障碍物状态空间向量对应的第一协方差矩阵、障碍物的状态转移矩阵、障碍物运动过程中的过程噪声、系统的量测矩阵,确定第一量测信息的不确定性,再根据第一量测信息的不确定性可以得到障碍物对应的滤波增益。
[0073]
s602、基于滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0074]
具体地,可以先根据初始障碍物状态空间向量确定当前时刻的障碍物状态空间向量,再根据当前时刻的障碍物状态空间向量、滤波增益,确定第一障碍物状态空间向量。其中,第一障碍物状态空间向量是当前时刻的障碍物状态空间向量的最优估计。
[0075]
本实施例中,根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益,基于滤波增益和初始障碍物状态空间向量,确定第一
障碍物状态空间向量,能够提高auv的避障能力。
[0076]
在一个实施例中,奖励函数包括到达奖励函数、碰撞惩罚函数、靠近目标奖励函数、靠近障碍物惩罚函数和脱离集群惩罚函数中至少一项;到达奖励函数用于表征auv与目标区域的第一距离,与第一奖励值之间的关系的函数;碰撞惩罚函数用于表征auv与障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;靠近目标奖励函数用于表征上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,与第二奖励值之间的关系的函数;靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;脱离集群惩罚函数用于表征auv与其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
[0077]
可选的,图7为本技术实施例提供的一种第二障碍物状态空间向量确定方法的流程示意图,本实施例涉及的是如何确定第一动作向量的一种可能的实现方式,在上述实施例的基础上,方法还包括:s701、根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值。
[0078]
具体地,可以计算auv与目标区域的第一距离,可以利用到达奖励函数确定第一距离对应的第一奖励值。如果该第一距离等于第一预设距离,该第一预设距离可以是0,则可以认为auv到达目标区域,,即,第一奖励值为1;如果该第一距离大于第一预设距离,则可以认为auv还未到达目标区域,,即,第一奖励值为0。
[0079]
s702、根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值。
[0080]
具体地,可以计算auv与障碍物的第二距离,可以利用碰撞惩罚函数确定第二距离对应的第一惩罚值。如果该第二距离等于第二预设距离,该第二预设距离可以是0,则可以认为auv与障碍物发生碰撞,,即,第一惩罚值为-1;如果该第二距离大于第二预设距离,则可以认为auv还未碰撞障碍物,,即,第一惩罚值为0。
[0081]
s703、根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值。
[0082]
具体地,可以计算上一时刻的auv与目标区域的距离,与,当前时刻的auv与目标区域的距离的第一差值,可以利用靠近目标奖励函数和修正函数对第一差值进行修正,得到第一差值对应的第二奖励函数;其中,修正可以是将第一差值与预设修正系数相乘,得到修正后的第一差值。还可以利用靠近目标奖励函数将第一差值作为第二奖励值。
[0083]
例如,当auv靠近目标区域时,auv可以获得第二奖励值,具体公式如下:其中,表示目标区域的x轴坐标,表示目标区域的y轴坐标,表
示auv的x轴坐标,表示auv的y轴坐标,表示上一时刻的auv与目标区域的距离,表示当前时刻的auv与目标区域的距离。
[0084]
s704、根据auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值。
[0085]
具体地,可以计算auv与障碍物的距离与第一预设距离阈值的第二差值,可以利用靠近障碍物惩罚函数和修正函数对第二差值进行修正,得到第二差值对应的第二惩罚函数;其中,修正可以是将第二差值与预设修正系数相乘,得到修正后的第二差值。还可以直接利用靠近障碍物惩罚函数将第二差值作为第二惩罚值。
[0086]
例如,为避免auv与障碍物发生碰撞,当auv靠近障碍物时,auv会获得第二惩罚值,具体公式如下:其中,表示第二惩罚值,表示第一预设距离阈值,表示auv与障碍物的距离,表示障碍物的x轴坐标,表示障碍物的y轴坐标,表示auv的x轴坐标,表示auv的y轴坐标。
[0087]
s705、根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值。
[0088]
具体地,可以计算auv与其他auv之间的距离与第二预设距离阈值的第三差值,可以利用脱离集群惩罚函数和修正函数对第三差值进行修正,得到第三差值对应的第三惩罚函数;其中,修正可以是将第三差值与预设修正系数相乘,得到修正后的第三差值。还可以直接利用脱离集群惩罚函数将第三差值作为第三惩罚值。
[0089]
例如,当多个auv组成集群完成协作任务时,应该保持该协作任务的整体性,因此,当auv与其他auv距离过远时,该auv会获得第三惩罚值,具体公式如下:其中,表示第三惩罚值,表示auv与其他auv之间的距离,表示该auv的x轴坐标,其他auv的x轴坐标,表示该auv的y轴坐标,表示其他auv的y轴坐标,表示第二预设距离阈值。
[0090]
s706、根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩
罚值和第三惩罚值,确定auv的当前时刻的第一动作向量。
[0091]
具体地,可以将第一奖励值、第一惩罚值、第二奖励值、第二惩罚值和第三惩罚值求和,得到总奖励值,根据前一时刻的初始避障状态空间向量和总奖励值,并利用预设算法进行训练,可以得到当前时刻的auv的第一动作向量,即,可以得到auv的下一步动作。
[0092]
例如,预设算法可以是上述实施例中的maddpg算法,总奖励值可以通过如下公式获得:本实施例中,根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值,根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值,根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值,根据auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值,根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值,最后根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩罚值和第三惩罚值,确定auv的第一动作向量。由于考虑到了各个场景下的auv航行情况来设计多种奖励函数,利用多种奖励函数进行训练,实时控制auv的航行路线,提高了auv避障的能力。
[0093]
可选的,在获取障碍物信息时,如果考虑到所有的障碍物的情况,会出现如下问题:(1)状态空间的维度会随着障碍物数量的变化而变化,当障碍物数量改变时,状态空间的维度也随之改变,原有的神经网络的将不再适用,因此使得auv 在训练完成后,只能应用于特定障碍物数目的避障场景,适用性较差。
[0094]
(2)当障碍物数量较大时,状态空间的维度也会随之增加,神经网络的规模也会大幅增加,极大的影响训练效率。
[0095]
因此,考虑到对于某一个auv而言,远处的障碍物对该auv行动策略的影响较小,对于障碍物的选择,可以使用k近邻法。k为预先设定的常数,代表auv在auv对应的状态空间中,只考虑与auv距离最近的k个障碍物的状态信息,有此时,状态空间的维度即可固定,也可以避免神经网络规模过大的问题。特别的,当k=1时,auv 只考虑与其距离最近的障碍物的状态信息,状态空间进一步简化,即,最近邻法。其中,表示第n个障碍物。
[0096]
在一个最详细的实施例中,可以将深度强化学习算法与卡尔曼滤波算法结合,主体使用maddpg算法及其网络结构。为贴近海洋实际情况,引入海流干扰下的auv的运动模型、动态障碍物模型、不完美感知模型,针对不完美感知模型,引入卡尔曼滤波算法获取对障碍物状态信息的最优估计。在此基础上,给出了强化学习的状态空间、动作空间与奖励函数。仿真结果表明,本技术实施例提供的方法能够为auv提供正确的避障策略,成功的完成避障任务。其中,maddpg算法具有集中式训练,分布式执行的特点,在发挥集群智能优势的同时又保证了算法的鲁棒性。
[0097]
对于本技术提出的方法进行验证,可以使用python进行仿真实验。仿真实验基于300的二维未知环境模型进行。动态障碍物的数量、大小、初始位置与初始速度均在一定范围内随机生成。auv的数量设为2,auv的外接圆半径设置为5m。auv的起点坐标设置为(0,0)与(0,50),目标点坐标设置为(300,300),目标范围半径为50m,即当auv与目标点的欧式距离小于50m时,认为auv到达目标区域,完成任务。回报的折扣率,目标网络的更新速率。对于深度神经网络的训练,其中设置生成者网络的学习率为0.0001,使用adam优化器进行训练,而评价者网络的学习率设置为0.001,同样采用adam优化器。总共进行500轮训练,训练的批处理大小设置为1000,经验回放池的容量设置为100000。为使本技术实施例提供的水下自主航行器避障避障方法可以适用于不同的环境模型,每轮训练均随机重置障碍物信息,因此奖励函数的值会一定程度上受到随机的障碍物信息的影响。为了减小这种随机性导致的奖励函数曲线不稳定,仿真实验中使用每十轮训练的奖励平均值画出训练曲线。
[0098]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0099]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的水下自主航行器避障方法的水下自主航行器避障装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个水下自主航行器避障装置实施例中的具体限定可以参见上文中对于水下自主航行器避障方法的限定,在此不再赘述。
[0100]
在一个实施例中,提供了一种水下自主航行器避障装置,图8为本技术实施例提供的一种水下自主航行器避障装置的结构框图,水下自主航行器避障装置800包括第一确定模块801、第二确定模块802和执行模块803,具体地:第一确定模块801,用于确定水下自主航行器auv当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量。
[0101]
第二确定模块802,用于利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的。
[0102]
执行模块803,用于根据第一动作向量,向目标区域移动,以执行auv的避障任务。
[0103]
在一个实施例中,第一确定模块801包括:第一确定子模块,用于若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0104]
第二确定子模块,用于若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0105]
在一个实施例中,第一确定子模块包括:第一确定单元,用于根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍
物对应的噪声,确定障碍物对应的滤波增益。
[0106]
第二确定单元,用于基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0107]
在一个实施例中,水下自主航行器避障装置800还包括:第三确定模块,用于利用滤波增益更新第一协方差矩阵,得到第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。
[0108]
在一个实施例中,第二确定子模块包括:第三确定单元,用于根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益。
[0109]
第四确定单元,用于基于滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0110]
在一个实施例中,奖励函数包括到达奖励函数、碰撞惩罚函数、靠近目标奖励函数、靠近障碍物惩罚函数和脱离集群惩罚函数中至少一项;到达奖励函数用于表征auv与目标区域的第一距离,与第一奖励值之间的关系的函数;碰撞惩罚函数用于表征auv与障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;靠近目标奖励函数用于表征上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,与第二奖励值之间的关系的函数;靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;脱离集群惩罚函数用于表征auv与其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
[0111]
在一个实施例中,水下自主航行器避障装置800具体用于根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值;根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值;根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值;根据auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值;根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值;根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩罚值和第三惩罚值,确定auv的当前时刻的第一动作向量。
[0112]
上述水下自主航行器避障装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0113]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储
有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种水下自主航行器避障方法。
[0114]
本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0115]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行auv的避障任务。
[0116]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量;若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0117]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0118]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:利用滤波增益更新第一协方差矩阵,得到第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0120]
在一个实施例中,处理器执行计算机程序时还实现到达奖励函数用于表征auv与目标区域的第一距离,与第一奖励值之间的关系的函数;碰撞惩罚函数用于表征auv与障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;靠近目标奖励函数用于表征上一时刻的auv与目标区域的距离与当前时刻的auv
与目标区域的距离的第一差值,与第二奖励值之间的关系的函数;靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;脱离集群惩罚函数用于表征auv与其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
[0121]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值;根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值;根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值;根据auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值;根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值;根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩罚值和第三惩罚值,确定auv的当前时刻的第一动作向量。
[0122]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行auv的避障任务。
[0123]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量;若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0124]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0125]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用滤波增益更新第一协方差矩阵,得到第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤
波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。
[0126]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0127]
在一个实施例中,计算机程序被处理器执行时还实现到达奖励函数用于表征auv与目标区域的第一距离,与第一奖励值之间的关系的函数;碰撞惩罚函数用于表征auv与障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;靠近目标奖励函数用于表征上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,与第二奖励值之间的关系的函数;靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;脱离集群惩罚函数用于表征auv与其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
[0128]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值;根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值;根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值;auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值;根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值;根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩罚值和第三惩罚值,确定auv的当前时刻的第一动作向量。
[0129]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:确定水下自主航行器auv的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定auv的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行auv的避障任务。
[0130]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若障碍物处于auv探测范围内,则根据当前时刻的障碍物对应的第一量测信息、上
一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量;若障碍物不处于auv探测范围内,则根据上一时刻的障碍物的初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0131]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于第一量测信息、滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0132]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:利用滤波增益更新第一协方差矩阵,得到第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据第二协方差矩阵和障碍物对应的噪声,确定障碍物对应的新滤波增益,并基于当前时刻的障碍物对应的第二量测信息、新滤波增益和第一障碍物状态空间向量,确定下一时刻障碍物的障碍物状态空间向量的步骤。
[0133]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据初始障碍物状态空间向量对应的第一协方差矩阵和障碍物对应的噪声,确定障碍物对应的滤波增益;基于滤波增益和初始障碍物状态空间向量,确定第一障碍物状态空间向量。
[0134]
在一个实施例中,计算机程序被处理器执行时还实现到达奖励函数用于表征auv与目标区域的第一距离,与第一奖励值之间的关系的函数;碰撞惩罚函数用于表征auv与障碍物或其他auv的第二距离,与第一惩罚值之间的关系的函数;靠近目标奖励函数用于表征上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,与第二奖励值之间的关系的函数;靠近障碍物惩罚函数用于表征auv与障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;脱离集群惩罚函数用于表征auv与其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。
[0135]
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据auv与目标区域的第一距离,利用到达奖励函数确定第一距离对应的第一奖励值;根据auv与障碍物的第二距离,利用碰撞惩罚函数确定第二距离对应的第一惩罚值;根据上一时刻的auv与目标区域的距离与当前时刻的auv与目标区域的距离的第一差值,利用靠近目标奖励函数确定第一差值对应的第二奖励值;auv与障碍物的距离与第一预设距离阈值的第二差值,利用靠近障碍物惩罚函数确定第二差值对应的第二惩罚值;根据auv与其他auv之间的距离与第二预设距离阈值的第三差值,利用脱离集群惩罚函数确定第三差值对应的第三惩罚值;根据第一避障状态空间向量、第一奖励值、第一惩罚值、第二奖励值、第二惩罚值
和第三惩罚值,确定auv的当前时刻的第一动作向量。
[0136]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random accessmemory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0137]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0138]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种水下自主航行器避障方法,其特征在于,所述方法包括:确定所述水下自主航行器auv的当前时刻的第一避障状态空间向量;所述第一避障状态空间向量包括所述auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及所述auv期望到达的目标区域的目标区域状态空间向量;利用目标策略根据所述第一避障状态空间向量,确定所述auv的当前时刻的第一动作向量;所述目标策略是根据预设策略和奖励函数确定的;根据所述第一动作向量,向所述目标区域移动,以执行所述auv的避障任务。2.根据权利要求1所述的方法,其特征在于,所述确定所述第一障碍物状态空间向量,包括:若所述障碍物处于auv探测范围内,则根据当前时刻的所述障碍物对应的第一量测信息、上一时刻的所述障碍物的初始障碍物状态空间向量,确定所述第一障碍物状态空间向量;若所述障碍物不处于auv探测范围内,则根据上一时刻的所述障碍物的初始障碍物状态空间向量,确定所述第一障碍物状态空间向量。3.根据权利要求2所述的方法,其特征在于,所述若所述障碍物处于auv探测范围内,则根据当前时刻的所述障碍物对应的第一量测信息、上一时刻的所述障碍物的初始障碍物状态空间向量,确定所述第一障碍物状态空间向量,包括:根据所述初始障碍物状态空间向量对应的第一协方差矩阵和所述障碍物对应的噪声,确定所述障碍物对应的滤波增益;基于所述第一量测信息、所述滤波增益和所述初始障碍物状态空间向量,确定所述第一障碍物状态空间向量。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:利用所述滤波增益更新所述第一协方差矩阵,得到所述第一障碍物状态空间向量对应的第二协方差矩阵,并返回执行根据所述第二协方差矩阵和所述障碍物对应的噪声,确定所述障碍物对应的新滤波增益,并基于所述当前时刻的所述障碍物对应的第二量测信息、所述新滤波增益和所述第一障碍物状态空间向量,确定下一时刻所述障碍物的障碍物状态空间向量的步骤。5.根据权利要求2所述的方法,其特征在于,所述若所述障碍物不处于auv探测范围内,则根据上一时刻的所述障碍物的初始障碍物状态空间向量,确定所述第一障碍物状态空间向量,包括:根据所述初始障碍物状态空间向量对应的第一协方差矩阵和所述障碍物对应的噪声,确定所述障碍物对应的滤波增益;基于所述滤波增益和所述初始障碍物状态空间向量,确定所述第一障碍物状态空间向量。6.根据权利要求1所述的方法,其特征在于,所述奖励函数包括到达奖励函数、碰撞惩罚函数、靠近目标奖励函数、靠近障碍物惩罚函数和脱离集群惩罚函数中至少一项;所述到达奖励函数用于表征所述auv与所述目标区域的第一距离,与第一奖励值之间的关系的函数;所述碰撞惩罚函数用于表征所述auv与所述障碍物或其他auv的第二距离,与第一惩罚
值之间的关系的函数;所述靠近目标奖励函数用于表征上一时刻的所述auv与所述目标区域的距离与当前时刻的所述auv与所述目标区域的距离的第一差值,与第二奖励值之间的关系的函数;所述靠近障碍物惩罚函数用于表征所述auv与所述障碍物的距离与第一预设距离阈值的第二差值,与第二惩罚值之间的关系的函数;所述脱离集群惩罚函数用于表征所述auv与所述其他auv之间的距离与第二预设距离阈值的第三差值,与第三惩罚值之间的关系的函数。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:根据所述auv与所述目标区域的第一距离,利用所述到达奖励函数确定所述第一距离对应的第一奖励值;根据所述auv与所述障碍物的第二距离,利用所述碰撞惩罚函数确定所述第二距离对应的第一惩罚值;根据所述上一时刻的所述auv与所述目标区域的距离与所述当前时刻的所述auv与所述目标区域的距离的第一差值,利用所述靠近目标奖励函数确定所述第一差值对应的第二奖励值;根据所述auv与所述障碍物的距离与第一预设距离阈值的第二差值,利用所述靠近障碍物惩罚函数确定所述第二差值对应的第二惩罚值;根据所述auv与所述其他auv之间的距离与第二预设距离阈值的第三差值,利用所述脱离集群惩罚函数确定所述第三差值对应的第三惩罚值;根据所述第一避障状态空间向量、所述第一奖励值、所述第一惩罚值、所述第二奖励值、所述第二惩罚值和所述第三惩罚值,确定所述auv的当前时刻的第一动作向量。8.一种水下自主航行器避障装置,其特征在于,所述装置包括:第一确定模块,用于确定所述水下自主航行器auv的当前时刻的第一避障状态空间向量;所述第一避障状态空间向量包括所述auv的第一auv状态空间向量、障碍物的第一障碍物状态空间向量以及所述auv期望到达的目标区域的目标区域状态空间向量;第二确定模块,用于利用目标策略根据所述第一避障状态空间向量,确定所述auv的下一时刻的第二动作向量;所述目标策略是根据预设策略和奖励函数确定的;执行模块,用于根据所述第二动作向量,向所述目标区域移动,以执行所述auv的避障任务。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及一种水下自主航行器避障方法、装置、计算机设备和存储介质。确定水下自主航行器AUV的当前时刻的第一避障状态空间向量;第一避障状态空间向量包括AUV的第一AUV状态空间向量、障碍物的第一障碍物状态空间向量以及AUV期望到达的目标区域的目标区域状态空间向量;利用目标策略根据第一避障状态空间向量,确定AUV的当前时刻的第一动作向量;目标策略是根据预设策略和奖励函数确定的;根据第一动作向量,向目标区域移动,以执行AUV的避障任务。采用本方法能够提高AUV的避障能力。务。采用本方法能够提高AUV的避障能力。务。采用本方法能够提高AUV的避障能力。


技术研发人员:任勇 侯向往 王香赫 杜军 王景璟 陈健瑞
受保护的技术使用者:清华大学
技术研发日:2023.07.13
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐