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

基于负载约束的多无人船任务分配方法与流程

2021-11-09 23:20:00 来源:中国专利 TAG:


1.本发明涉及一种多无人船任务分配方法,尤其涉及一种基于负载约束的多无人船任务分配方法,属于无人船任务规划领域。


背景技术:

2.随着人类对水域资源的不断探索,无人航行领域也逐渐得到了迅速发展。无人船自身具有低成本、高灵活性等特点,在海域执行危险任务时能够很大程度减少人员伤亡、降低成本损耗,因此被广泛应用于执行复杂且重复的海面任务。由于水面环境复杂多变,且存在一些障碍物影响,导致无人船的发展程度较为缓慢,尤其是在多无人船的协同领域。除此之外,单艘无人船的航行能力并不能满足实际任务执行的需求,多无人船的协作规划已成为重要的发展趋势,未来多无人船将更加广泛应用于科研探索、搜索救援、水下测绘、安防巡逻等多领域海面任务执行场景。现存的一大挑战就是水面岛屿和大型障碍物的分布位置会影响任务分配结果,增大无人船所需要航行路径。此外,无人船自身负载能力也很大程度限制了无人船执行的任务量,这通常可以看作是无人船自身的负载约束。因此,从障碍物角度和无人船自身负载能力研究多无人船任务分配能够很大程度提高任务执行效率,在真实环境中具有重要研究价值。
3.多无人船的任务分配是无人船任务执行的首要前提,可以简化为任务委派阶段、任务执行阶段。根据环境信息及自身负载约束,任务委派阶段可以将多个任务分配给不同的无人船。随后在任务执行阶段,依据任务委派结果优化各艘无人船的任务执行序列。分配过程通常发生在任务委派阶段,这一阶段可以看作为机器学习中的聚类模型。任务执行阶段从数学模型角度考虑,可以简化为旅行商问题,即在给定的大量的任务位置集合中找到最短的执行序列。任务执行阶段的计算过程可以用于验证任务委派结果有效性。
4.目前,水域环境下多无人船任务分配方法研究较少,通常仅考虑无障碍水域环境下的任务分配。多无人船的任务执行过程并不能有效规避障碍物区域。此外,无人船本身的负载能力通常被忽略,不符合真实环境中的需求。这些缺陷无疑会造成多无人船的任务分配结果较差、任务执行效率低等多种问题。


技术实现要素:

5.针对基于负载约束的多无人船任务分配问题,本发明基于一种多无人船任务分配结构,公开一种基于负载约束的多无人船任务分配方法,这种方法能够在障碍物环境下为多无人船提供满足约束条件下的任务分配方案。
6.单艘无人船的负载约束通常可以用这艘无人船可以执行的最大任务量表示,在本发明中负载量和任务量对应,即无人船的最大负载量表示无人船可执行的最大任务量。本发明能够满足岛屿障碍物环境和自身约束前提下,将多个重复单类型任务分配到多艘无人船,提高无人船的协同任务执行能力。
7.本发明的具体包括以下步骤:
8.步骤1:环境信息的预处理及位置信息的获取;
9.针对某一水域,存在一定数量的任务需要被执行;获取此水域的地图,将地图二值化,使用
‘0’

‘1’
值分别表示有障碍区域和可行区域,二值图像用bw表示;
10.任务位置信息事先已知,表示为t
i
∈t={t1,t2,

,t
d
},其中i=1,2,...,d,共有d个任务需要被执行,t为任务位置集合,任务分布在二维平面的水域。
11.步骤2:使用二值图像构建通信连接距离模型;
12.计算通信连接概率:
[0013][0014]
其中,表示i和j两个节点间通信连接概率,当其小于一个确定阈值时,表明两个节点间的通信连接失败;γ为通信连接阈值;σ2是噪声功率;d
ij
是点i和j之间的欧式距离;α是传播损失参数;c是天线增益;p是信号功率;
[0015]
用表示节点i和节点j间的通信成功率的权值:
[0016][0017]
其中,k
sp
是控制输出曲线斜率的增长的参数,μ
p
是可建立通信连接成功率的阈值;
[0018]
由此通信连接距离为:
[0019][0020]
其中,d
i,j
为节点i和节点j间的欧式距离。
[0021]
步骤3:利用步骤2构建的通信连接距离模型将任务委派给多艘无人船;
[0022]
任务委派阶段视为机器学习中的聚类过程,这个过程将任务位置集合t划分为一定数据量簇,每个簇中包含的任务需要单独一艘无人船执行,这个过程发生在任务委派阶段;
[0023]
采用改进的agglomerative算法,对任务位置集合t中的任务完成聚类,具体是在计算过程中,将步骤2中的通信连接距离模型代替传统的距离模型,表示在二值图像中不同任务位置间的关系;
[0024]
最终产生的聚类结果即为任务委派结果;其中,每一个簇中包含的任务被一艘无人船执行;至此,成功的将任务位置集合t中包含的任务委派给多艘无人船。
[0025]
步骤4:使用som算法优化各艘无人船的任务执行序列;
[0026]
通过步骤3的计算结果,最终产生多个簇;
[0027]
对于每个簇中包含的任务,任务被执行的过程视为旅行商问题,使用som算法求解旅行商问题;
[0028]
旅行商问题的求解的过程视为优化无人船任务执行序列的过程,这一过程发生在任务执行阶段。
[0029]
本发明的有益效果:本发明不仅考虑到实际环境的障碍物影响,又满足各艘无人船自身负载约束,避免了不同无人船之间任务分配量不平衡,能够有效应对多种任务分配
场景,从多方面提高任务执行效率。
附图说明
[0030]
图1是多无人船任务分配结构;
[0031]
图2是仿真地图环境;
[0032]
图3是60个任务在二值图像上的分布位置;
[0033]
图4是传统agglomerative算法针对4个簇的聚类模型;
[0034]
图5是som算法流程图;
[0035]
图6是负载约束为15时的任务分配结果;
[0036]
图7是负载约束为20时的任务分配结果;
[0037]
图8是负载约束为25时的任务分配结果。
具体实施方式
[0038]
本发明公开的一种基于负载约束的多无人船任务分配方法,将任务分配分为任务委派阶段和任务执行阶段,包括以下步骤:
[0039]
步骤1:环境信息的预处理及位置信息的获取。
[0040]
针对某一水域,存在一定数量的任务需要被执行。获取此水域的地图,将地图二值化,使用
‘0’

‘1’
值分别表示有障碍区域和可行区域,二值图像用bw表示。
[0041]
任务位置信息事先已知,可以表示为t
i
∈t={t1,t2,

,t
d
},其中i=1,2,...,d,共有d个任务需要被执行,t为任务位置集合,任务分布在二维平面的水域。
[0042]
步骤2:使用二值图像构建通信连接距离模型。
[0043]
通常欧式距离常用于衡量两个任务间的位置关系,然而对于障碍物环境下欧式距离并不适用。因此,本发明使用二值图像构建任意两点间的通信连接距离模型,表示任意两个任务间的位置关系。通信连接距离模型的构建过程如下。
[0044]
给出通信连接成功概率的计算公式为:
[0045][0046]
其中,表示i和j两个节点间通信连接概率,当其小于一个确定阈值时,表明两个节点间的通信连接失败;γ为通信连接阈值;σ2是噪声功率;d
ij
是点i和j之间的欧式距离;α是传播损失参数;c是天线增益;p是信号功率。
[0047]
设terrain
arg
为二值图像bw中障碍物对传播损失参数α的影响,计算公式如下:
[0048]
terrain
arg
=n
obs
·
w
tp
[0049]
n
obs
代表二值图像bw中障碍物占据像素点的数量;w
tp
代表二值图像bw中障碍物位置权重,反映障碍物像素在信号路径中影响程度。
[0050]
障碍物所占权重能够影响传播损失函数α参数,构建权重关系公式如下:
[0051][0052]
其中,k
sa
和μ
α
是sigmoid函数定义输出曲线形状的参数,α0是无障碍物环境下传播
损失函数;a为sigmoid函数的最大值。
[0053]
通常通信成功率小于一定阈值认定为连接不稳定或不能构建通信。因此需要构建逻辑函数,用表示节点i和节点j间的通信成功率的权值,计算公式如下:
[0054][0055]
其中,k
sp
是控制输出曲线(sigmoid函数)斜率的增长的参数,其值应该最大限度减少区间的不明显区域;μ
p
是可建立通信连接成功率的阈值。
[0056]
任意两点的通信连接距离可以用这两点间的直线路径在二值图像bw中所占的权重terrain
arg
计算,并将权重转化为这两点间的通信连接成功概率p
sr
。因此,通信连接距离公式为:
[0057][0058]
其中,d
i,j
为节点i和节点j间的欧式距离。
[0059]
上述构建过程即为通信连接距离模型。
[0060]
步骤3:利用步骤2构建的通信连接距离模型将任务委派给多艘无人船。
[0061]
任务委派阶段通常可以视为机器学习中的聚类过程,这个过程将任务位置集合t划分为一定数据量簇,每个簇中包含的任务需要单独一艘无人船执行,这个过程发生在任务委派阶段。
[0062]
本发明对agglomerative算法改进,对任务位置集合t中的任务完成聚类。在计算过程中,将步骤2中的通信连接距离模型代替传统的距离模型,表示在二值图像中不同任务位置间的关系。改进后的agglomerative算法的具体过程如下。
[0063]

初始过程设定最终聚类数或设定负载约束值为n
max

[0064]

将每个任务单独视为一个簇,计算所有簇的簇间距离,生成一个相似性邻接矩阵m,邻接矩阵m中的各个元素用a
ij
表示,其中i,j∈[1,m],m为当前簇的总数量。
[0065]

在邻接矩阵m中搜索最小值,并判断这个值对应的两个簇的总样本数是否小于负载约束值n
max
。若小于则合并这两个簇,反之在邻接矩阵m中将搜索到的最小值设为最大值inf,并在重新搜索邻接矩阵m。
[0066]

统计任务数小于负载约束值n
max
的簇,计算这些簇的簇间距离,更新邻接矩阵m。
[0067]

重复上述步骤3和步骤4,直到达到满足最终设定聚类数或没有可以合并的簇。
[0068]
最终产生的聚类结果即为任务委派结果。其中,每一个簇中包含的任务被一艘无人船执行。至此,成功的将任务位置集合t中包含的任务委派给多艘无人船。
[0069]
步骤4:使用som算法优化各艘无人船的任务执行序列。
[0070]
通过步骤3的计算结果,最终产生k个簇,用c
j
表示;其中j∈[1,2,...,k]。对于每个簇中包含的任务,任务被执行的过程可以视为旅行商问题,旅行商问题的求解的过程可以视为优化无人船任务执行序列的过程,这一过程发生在任务执行阶段。
[0071]
本发明将使用som算法解决旅行商问题,优化过程如下:
[0072]

初始过程:指定神经元个数n
neuron
,进行随机初始化。设定迭代次数n。
[0073]

竞争过程:在输入空间随机挑选一个任务。使用欧式距离,找到距离任务最近的
神经元。
[0074]

合作过程:获胜的神经元位于合作神经元的拓扑领域中心,对于一个获胜神经元需要更新它的领域内的神经元。一种典型的领域更新函数为高斯函数:
[0075][0076]
其中,h
j,i
表示获胜神经元i为中心的拓扑领域,d
j,i
表示神经元i和兴奋神经元j的欧式距离,σ表示获胜神经元的影响范围。
[0077]

更新过程:在迭代过程中,高斯分布方差减少,学习率参数η随着迭代次数n不断增加而下降。学习率参数η的计算公式:
[0078][0079]
其中,η0为学习率参数的初始值,τ是som算法的一个时间常数。
[0080]

重复
②‑④
过程,直到达到迭代次数。
[0081]
利用上述过程可以得到无人船的最优任务执行序列,即为最终无人船的任务执行序列。对步骤3的聚类结果中所有簇中包含的任务进行上述优化过程,可以获得所有无人船的任务执行序列。
[0082]
为了更好的验证本发明的实际价值,下面通过在仿真环境下的任务位置分布情况,对本发明进一步说明。一张500
×
500像素的二值图像将用于仿真。通过不同负载约束在二值图像下的分配结果,证明本发明能够解决负载约束的多无人船任务分配问题,证明本发明对实际问题具有可行性和有效性。
[0083]
本实施例基于图1的多无人船任务分配结构,将任务解耦为任务委派阶段和任务执行阶段两部分。
[0084]
包括以下步骤:
[0085]
步骤1:环境信息的预处理及位置信息的获取。
[0086]
二值图像如图2所示,图中存在两处岛屿障碍物区域。
[0087]
在图2中随机生成60个任务样本,分布情况如图3所示,每个“x”代表任务所在位置,任务分布在二维平面的水域。
[0088]
步骤2:使用二值图像构建通信连接距离模型。
[0089]
初始化过程需要设定通信相关参数,以及通信成功阈值等参数。针对图3中的仿真场景,本实施例对通信参数设置值如下表1所示。
[0090]
表1通信参数值
[0091][0092]
步骤3:利用步骤2构建的通信连接距离模型将任务委派给多艘无人船。
[0093]
基于二值图像bw,在负载约束值为15、20和25时,agglomerative算法被使用,图4
为这种算法的聚类过程。
[0094]
本发明提出了一种各个簇间距离的计算方法。将两个样本合并为一个新的簇,通过这个簇的质心位置到最远的样本间的距离定义相似度。其计算公式如下:
[0095][0096]
其中,z表示两个簇c1和c2中所有任务合并后的簇,表示合并后的簇z的质心,表示质心位置到当前簇中各个任务间的通信连接距离。
[0097]
改进后的agglomerative算法中邻接矩阵m计算过程如表2所示。
[0098]
表2簇间距离计算方法
[0099]
[0100][0101]
在表2中,obstacle obstruction generation算法能够计算二值图像bw两个节点i和j间的障碍的权重参数terrain
arg
。计算公式如下:
[0102][0103]
节点i到节点j间的路径可以用bresenham算法计算。bresenham算法被用于计算在二值图像bw中任意两个位置间的像素数量。其中,n
obs
表示i节点到j节点间的直线路径上的障碍物像素数。terrain为障碍物像素在路径上的下标集合。row和col分别为二值图像bw宽和高的像素值。
[0104]
comp为计算两个节点间的通信连接距离。当p
sr
≤ε时,其值inf表示无穷大。ε表示成功连接概率阈值。d(
·

·
)为欧式距离计算公式。返回值comp
max
为两个簇的簇间距离。
[0105]
步骤4:使用som算法优化各艘无人船的任务执行序列。
[0106]
当使用som算法去解决旅行商问题,需要输入一系列位置的向量,即分配给各艘无人船的任务位置。输出神经元w是通过一个特殊的拓扑结构组成。此时,一个环形拓扑结构被输出,形成一个封闭的环形路径,算法的具体流程图如图5所示。
[0107]
基于步骤3聚类结果,将每个簇的任务委派一艘无人船去执行。在负载约束为15、20和25时,使用som算法优化,各艘无人船的任务执行序列如图6、图7和图8所示,图中每个环路代表一艘无人船的任务执行序列。各艘无人船的任务执行数如下表所示。
[0108]
表3不同负载约束下各艘无人船需要执行的任务数
[0109][0110]
由图6、7和8可知,在给定负载约束下,各艘无人船被分配的任务量都不超过负载值,在三种负载约束下都具有良好的表现,理想路径能够规避岛屿障碍区域。
[0111]
但图6的usv3和图7的usv5存在部分路径与障碍物相交,这是由于本发明主要研究任务分配,为理想路径。当路径与障碍物发生重写时需要消除任何碰撞风险,一些路径规划算法如蚁群、a*等也能有效解决此类问题。此外,本发明给出的方法在路径和障碍物相交部分为近距离绕行一侧,大大节省障碍物绕行成本。
[0112]
本发明提出了一种基于负载约束的多无人船任务分配方法,使用解耦的方式,将任务分配分为任务委派和任务执行两个阶段并分别计算。这种方法弥补现有任务分配算法的缺点,不仅可以依据不同环境选择合适的无人船委派数量,还能够提高了分配结果的稳定性,避免不同无人船之间的任务分配不平衡,从而达到提高任务执行效率。
[0113]
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改
或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
再多了解一些

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

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

相关文献