基于象限法的多水面无人艇覆盖式协同搜索方法及系统与流程

文档序号:20770812发布日期:2020-05-19 20:16阅读:352来源:国知局
基于象限法的多水面无人艇覆盖式协同搜索方法及系统与流程

本发明属于多艇协同控制领域,特别涉及一种多无人艇协同搜索过程中的象限式协同搜索方法,即利用象限法将待搜索区域分为四个小的区域并分配给无人艇进行搜索。



背景技术:

无人艇(unmannedsurfacevehicle,usv)作为一种轻型、高速的无人船舶,具有无人化、运动灵活、智能化、成本较低等特点,使其在军用和民用方面,具有重要的应用价值。然而在复杂的动态环境中,单个无人艇由于自身性能的限制,可能无法处理诸多不确定的危险,因而无法完成复杂的任务。而多个无人艇通过协同合作,不仅可以克服单个无人艇平台的功能限制,还具备更好的机动性能,更高的工作效率和更大的工作范围。因此研究多水面无人艇协同机制是无人艇研究的重要方向。



技术实现要素:

本发明的目的在于提供一种基于象限法的多水面无人艇覆盖式协同搜索策略,用于实现大面积或繁忙水域快速勘测,提高勘测效率及准确性,使多无人艇协同进行水域探测,从多角度采集数据,可有效减少探测时间,增加效率,完成对水域的快速探测。

本发明的目的是这样实现的:一种基于象限法的多水面无人艇覆盖式协同搜索方法,将若干无人艇编队,将不同级别无人艇分配到不同的搜索象限水面,对四个象限的待搜索区域进行单无人艇路径规划,无人艇协同执行水域搜索。

进一步的,具体方法如下:

(1)无人艇编队为倒v型直行行驶,无人艇之间的间隔为2d,启动搜索时,根据领导者无人艇的位置确定坐标原点、x轴和y轴,建立坐标系,划分四个象限;并将整个搜索区域设定为边长为l和b的任务区域;

(2)领导者无人艇继续沿y轴直行行驶,对其左右距离各为d米的范围内进行搜索,并最终停靠在上边界的中点位置处,坐标为(0,l/2);

(3)领导者无人艇左侧的次级领导者无人艇继续沿直线(-2d,0)直行行驶2d的距离,左拐进入第二象限执行区域内搜索,最后停靠在搜索区域上边界最左侧的位置处,坐标为(-b/2,l/2);

(4)领导者无人艇右侧的次级领导者无人艇继续沿直线(2d,0)直行行驶2d的距离,右拐进入第一象限执行区域内搜索,最后停靠在搜索区域上边界最右侧的位置处,坐标为(b/2,l/2);

(5)左侧的次级领导者无人艇左侧的跟随者无人艇继续沿直线(-4d,0)直行行驶2d的距离,左拐进入第三象限执行区域内搜索,当对该象限搜索结束后,左侧的跟随者无人艇沿着接受指令前的航行路线继续直行,经过第二象限后最后停在左侧的领导者无人艇和左侧的次级领导者无人艇的中间位置处,坐标为(-b/4,l/2);

(6)右侧的次级领导者无人艇右侧的跟随者无人艇继续沿直线(4d,0)直行行驶2d的距离,右拐进入第四象限执行区域内搜索,当对该象限搜索结束后,右侧的跟随者无人艇沿着接受指令前的航行路线继续直行,经过第一象限后最后停在右侧的领导者无人艇和右侧的次级领导者无人艇的中间位置处,坐标为(b/4,l/2)。

进一步的,次级领导者无人艇和/或跟随者无人艇单独航行完成各自区域的搜索任务时,采用基于栅格法的全覆盖路径规划算法确定搜索路径进行航行。

进一步的,基于栅格法的全覆盖路径规划算法:

1)初始化无人艇的状态,设置参数c;

2)确定此刻位置附近有无空闲单元,没有则到步骤3);有到步骤4);

3)确定环境中无人艇是否还有没走过的栅格,如果还有未走过的栅格说明无人艇进入了死胡同,利用a*算法逃离;如果所有的栅格都走过了,那么全覆盖结束;

4)利用栅格活性值确定无人艇下一步的移动位置,并将此刻的位置标记为已遍历,回到步骤2)。

进一步的,利用栅格活性值确定无人艇下一步的移动位置的方法:

位置活性值是对每一个栅格进行赋值,由式(1.1)来对位置活性值wx实行赋值;

方向活性值让无人艇根据当前栅格状态自由选择前进路线,方向活性值wy用公式(1.2)表示:

δθj表示为:

θj是当前位置无人艇的航向角,θc是前一位置无人艇的航向角;分别为地图上无人艇的当前位置、前一时刻和下一时刻的位置坐标;δθj∈[0,π],若δθj=0,则无人艇继续直线前行,无人艇不需要转向,损耗的能量最少;若δθj=π,则无人艇往相反方向前进,无人艇转向角度最大,损耗的能量最多;

将位置活性值和方向活性值包含在栅格活性值fj之内:

式中:pj代表无人艇下一个前进地点;c是权值常数,0<c<1;k是与此刻栅格pc相邻的栅格个数。

进一步的,利用a*算法逃离死区,通过维护一个open链表和一个closed链表来搜索目标节点,对于给定的起始节点s和目标节点e,算法步骤如下:

step1:将起始节点s放入closed链表中,s周围的栅格放入open链表中;

step2:在open链表中搜索权值f最小的栅格v为下一个节点,将其在open链表中删除,并且将其放入closed链表中;

setp3:对栅格v周围的四个节点进行搜索判断是否为目标,如果是目标节点,根据它的前向指针生成最优路径,程序结束;否则将这些节点加入到open链表中,转到step2,如果搜索完所有的open链表,仍然没有找到目标节点,则转到step4;

step4:输出没有可达的路径。

本发明还涉及一种基于象限法的多水面无人艇覆盖式协同搜索系统,包括协同搜索控制中心、协同搜索响应者,协同搜索控制中心是领导者无人艇,协同搜索响应者包括次级领导者无人艇和跟随者无人艇;协同搜索控制中心将整个待探测区域设定为横向距离为b、纵向距离为l的面积,由协同搜索控制中心确定坐标系的原点、x轴与y轴,将整个搜索区域分为四个象限的待搜索区域,并下达搜索指令给协同搜索响应者;对四个象限的待搜索区域进行单无人艇的路径规划;无人艇根据规划的搜索路径进行水域搜索。

有益效果:多个无人艇通过协同合作,不仅可以克服单个无人艇平台的功能限制,还具备更好的机动性能,更高的工作效率和更大的工作范围。现有的多无人艇协同搜索策略,任务区域分配方法较为复杂,路径规划算法精度不足,而且协同搜索过程中一般未考虑单无人艇的避障与逃离死区等问题。利用基于象限法的覆盖式协同搜索策略,可以简化任务区域的分配过程,单无人艇的路径规划算法可有效实现整个区域的全覆盖,并且解决了单无人艇的避障与进入死区等问题,因此可以提高多无人艇协同搜索的效率。

附图说明

图1是基于象限法的多水面无人艇覆盖式协同搜索策略示意图。

图2是基于象限法的多水面无人艇覆盖式协同搜索策略多艇协同搜索结束示意图。

图3是将一个区域用栅格表示的示意图。

图4是将栅格赋值之后的示意图。

图5是方向活性值的示意图。

图6是基于栅格法的全覆盖路径规划算法流程图。

具体实施方式

下面结合附图举例对本发明做详细的描述:

一种基于象限法的多水面无人艇覆盖式协同搜索策略,包括协同搜索控制中心:领导者无人艇;协同搜索响应者:次级领导者无人艇和跟随者无人艇;协同搜索控制中心将整个待探测区域设定为横向距离为b、纵向距离为l的面积,确定坐标系的原点、x轴与y轴,以此将整个搜索区域分为四个小的待搜索区域,并下达搜索指令给协同搜索响应者;对四个象限的待搜索区域进行单无人艇的路径规划;无人艇根据规划的搜索路径进行水域搜索。多个无人艇通过协同合作进行区域覆盖,不仅可以克服单个无人艇平台的功能限制,还具备更好的机动性能,更高的工作效率和更大的工作范围。现根据图1对本发明的搜索方法做详细说明如下:

(1)当编队以倒v型运动到某一位置时,操作者对领导者无人艇发布协同搜索任务,领导者无人艇对任务进行解读后,将任务分别下达给次级领导者无人艇和跟随者无人艇;

(2)依据领导者无人艇的位置为坐标原点,其继续直行方向为y轴,与直行方向(y轴)垂直的方向为x轴建立坐标系,并将其附近区域分割为四个象限,整个搜索区域设定y向距离为l,x向距离为b,且无人艇之间的间隔为2d;

(3)领导者无人艇将继续直线行驶,对其左右距离各为d米的范围进行搜索,并最终停靠在上边界的中点位置即(0,l/2)处;

(4)领导者无人艇左侧的次级领导者无人艇继续直线行驶2d的距离,之后左拐进入第二象限,通过单无人艇的路径规划方式进行区域搜索,最终停靠在搜索区域上边界最左侧的位置,即(-b/2,l/2)处;

(5)距离领导者无人艇右侧的次级领导者无人艇继续直行2d距离,之后右拐进入第一象限执行区域搜索,最后停靠在上边界最右侧即(b/2,l/2)的位置;

(6)距离领导者无人艇较远的左侧跟随者无人艇直线行驶2d距离后左拐进入第三象限,执行搜索任务,当整个象限搜索结束后,跟随者无人艇继续沿着接受指令前的航行路线继续直行,经过第二象限后最终停在距离领导者无人艇和左侧次级领导者中间的位置,即(-b/4,l/2)处;

(7)右侧跟随者则直行2d后右拐进入第四象限,区域搜索结束后直行最终停靠在领导者无人艇和次级领导者无人艇中间的(-b/4,l/2)位置处,到此整个区域搜索完毕,完成了全覆盖,如附图2所示。

(8)除了领导者无人艇直行外,其他无人艇单独航行完成各自区域的搜索任务时,搜索路径均采用基于栅格法的全覆盖路径规划算法来进行航行,此算法可保证单无人艇在各自象限能完成全覆盖,当遇到障碍物时可有效避障,进入死区后也可及时逃离。

(9)基于栅格法的全覆盖路径规划算法包含栅格活性值和利用a*算法逃离死区两部分。栅格活性值包含位置活性值和方向活性值,位置活性值就是来确定每个栅格的状态;而方向活性值就是把握无人艇的方向,让它一直在没有探测过得地方行进。

(10)位置活性值是对每一个栅格进行赋值。附图3是一个将任务区域划分为栅格之后的状态。最中间的pc代表无人艇此刻所在的地点,附近八个栅格代表无人艇下一步大概的前行地点,黑色栅格表示有障碍物存在,灰色栅格表示无障碍物存在。凭借式(1.5)来对位置活性值wx实行赋值,附图4是根据wx赋值之后栅格状态。

(11)方向活性值主要是让无人艇根据当前栅格状态自由选择前进路线。wy用公式(1.6)进行表示:

δθj表示为:

式中:分别为地图上无人艇的当前位置、前一时刻和下一时刻的位置坐标;δθj∈[0,π],如附图5所示,若δθj=0,则无人艇继续直线前行,无人艇不需要转向,损耗的能量最少;若δθj=π,则无人艇往相反方向前进,无人艇转向角度最大,损耗的能量最多。

(12)为了实现任务区域的全遍历,我们将位置活性值和方向活性值包含在栅格活性值fj之内:

式中:pj代表无人艇下一个前进地点;c是一个权值常数,0<c<1;k是与此刻栅格pc相邻的栅格个数。凭借公式(1.7)可以表明栅格活性值既考虑了栅格的状态位置又考虑了无人艇的转向。

(13)当无人艇航行到其周围全部是障碍物或者都是无人艇已经走过的位置时,也就意味着进入了死区,此时利用a*算法摆脱该地点,无人艇可以一直进行后面的任务。

(14)a*算法是人工智能范畴内启发式特征的搜索算法,通过引入启发函数确定合适的搜索方向。启发函数为:

f(n)=g(n)+h(n)(1.8)

n为当前节点,f(n)为总的权值,表示从起始节点到当前节点n对应的总运动代价值;g(n)为从起始节点到当前节点n已花费路径的代价函数;h(n)表示从当前节点n到达目标节点的成本估计值。

a*算法是通过维护一个open链表和一个closed链表来搜索目标节点,对于给定的起始节点s和目标节点e,算法步骤如下:

step1:将起始节点s放入closed链表中,s周围的栅格放入open链表中;

step2:在open链表中搜索权值f最小的栅格v为下一个节点,将其在open链表中删除,并且将其放入closed链表中;

setp3:对v周围的四个节点进行搜索判断是否为目标,如果是目标节点,根据它的前向指针生成最优路径,程序结束;否则将这些节点加入到open链表中,转到step2。如果搜索完所有的open链表,仍然没有找到目标节点,则转到step4;

step4:输出没有可达的路径。

(15)当脱离死区后,无人艇会按照之前的栅格活性值来继续进行判断,从而明确下一步无人艇的位置。

(16)基于栅格法的全覆盖路径规划算法流程图如附图6所示,具体过程为:

1)初始化无人艇的状态,设置参数c。

2)确定此刻位置附近有无空闲单元,没有则到步骤3);有到步骤4)。

3)确定环境中无人艇是否还有没走过的栅格,如果还有未走过的栅格说明无人艇进入了死胡同,就需要利用a*算法逃离;如果所有的栅格都走过了,那么全覆盖结束。

4)利用栅格活性值确定无人艇下一步的移动位置,并将此刻的位置标记为已遍历,回到步骤2)。

(17)基于栅格法的全覆盖路径规划算法可保证单无人艇的区域搜索路径规划,而根据附图1可以看出两艘跟随者无人艇搜索区域的面积要少于次级领导者无人艇在一二象限的面积,这是因为在无人艇以倒v字形前行过程中,三四象限的一部分区域已被搜索覆盖过,那么已被覆盖过的面积为:

s=2×(1/2×4d×4d)+2×4d×(l/2-4d)=4d(l-4d)(1.9)

也就是灰色所代表的区域,即是已覆盖过区域。最终通过象限法可实现待搜索区域由多无人艇协同完成探测,达成协同搜索的目的。

以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1