基于改进粒子群算法的多机器人区域覆盖方法技术

技术编号:31483931 阅读:15 留言:0更新日期:2021-12-18 12:18
本发明专利技术提供一种基于改进粒子群算法的多机器人区域覆盖方法,通过对待覆盖区域建立坐标系,根据n台探测范围不同的机器人,各机器人i在全局坐标系中的位置构成向量,为迭代初始位置,然后利用改进粒子群算法求解点云,在粒子群算法的迭代过程中,考虑不同机器人的探测范围,进行速度和位置更新,直至获得最大程度覆盖目标区域的机器人的位置集合;该种基于改进粒子群算法的应用于多机器人区域覆盖方法,相对于现有方法,能够用于多种不同探测范围的机器人在已知区域内覆盖,有效提高实际覆盖区域和覆盖率,使得生成的目标点云更好的实现对区域的覆盖,能够生成最大程度覆盖区域的机器人位置集合。人位置集合。人位置集合。

【技术实现步骤摘要】
基于改进粒子群算法的多机器人区域覆盖方法


[0001]本专利技术涉及一种基于改进粒子群算法的多机器人区域覆盖方法,属于机器人


技术介绍

[0002]目前,相对多机器人其他方面的研究,多机器人覆盖的研究成果较少,但是,多机器人覆盖在许多领域具有重要的现实应用价值,如清扫、搜救、耕种等。此外,它还可看作是多机器人系统研究热点问题的集中平台,相关问题的解决具有普遍的意义。
[0003]粒子群算法(Particle Swarm Optimization,PSO)最早是由Eberhart和Kennedy于1995年提出,是一种仿生算法,源于对鸟群觅食行为的研究。一群鸟随机搜索食物,区域中只存在一块食物,所有鸟都不知道食物在哪,但是他们知道当前的位置离食物多远。用一种粒子来模拟上述的鸟类个体,每个粒子可视为N维搜索空间中的一个搜索个体,粒子的当前位置即为对应优化问题的一个候选解,粒子的飞行过程即为该个体的搜索过程.粒子的飞行速度可根据粒子历史最优位置和种群历史最优位置进行动态调整.粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子单独搜寻的最优解叫做个体极值,粒子群中最优的个体极值作为当前全局最优解。不断迭代,更新速度和位置。最终得到满足终止条件的最优解。
[0004]但是,现有的粒子群算法通常基于探测范围相同的情况下进行研究,未考虑到不同机器人的探测范围的不同,生成点云的覆盖范围一致,如图1所示,导致在使用多种不同机器人时,覆盖区域和覆盖率较低的问题。
[0005]上述问题是在多机器人区域覆盖过程中应当予以考虑并解决的问题。

技术实现思路

[0006]本专利技术的目的是提供一种基于改进粒子群算法的多机器人区域覆盖方法解决现有技术中存在的在使用多种不同机器人时,未考虑到不同机器人的探测范围的不同,使得覆盖区域和覆盖率较低问题。
[0007]本专利技术的技术解决方案是:
[0008]一种基于改进粒子群算法的多机器人区域覆盖方法,包括:
[0009]对待覆盖区域建立坐标系,根据n台探测范围不同的机器人,各机器人i在全局坐标系中的位置构成向量,为迭代初始位置,然后利用改进粒子群算法求解点云,在粒子群算法的迭代过程中,考虑不同机器人的探测范围,进行速度和位置更新,直至获得最大程度覆盖目标区域的机器人的位置集合。
[0010]进一步地,具体包括以下步骤,
[0011]S1、将形状和面积已知的区域作为待覆盖区域D,根据待覆盖区域D建立坐标系;
[0012]S2、根据n台探测范围不同的机器人,各机器人i在全局坐标系中的位置(x
i
,y
i
)构成向量:P={x1,y1,x2,y2,

,x
i
,y
i


,x
n
,y
n
},为迭代初始位置;
[0013]S3、设定约束条件,各机器人的位置p
i
(x
i
,y
i
)应在待覆盖区域D内,故其坐标范围在待覆盖区域D内,即:
[0014]S4、将待覆盖区域D进行栅格化处理,划分成m个正方形栅格,该栅格大小应小于各机器人的最小覆盖半径,标记每个栅格的中心点为c
j
,其中j=1,2,...m当c
j
被任何一个机器人覆盖时,认为此栅格被覆盖,即记m
c
为被覆盖的栅格数目;
[0015]S5、初始化粒子群,设置最大迭代次数、目标函数和粒子的最大速度,位置信息为整个目标空间,在速度区间上随机初始化速度,机器人群规模为n,每个机器人随机初始化一个运行速度,初始化迭代次数k;
[0016]S6、定义适应度函数;个体极值为每个机器人找到的最优解,从这些最优解找到一个全局值,叫做本次全局最优解,与历史全局最优比较,进行更新;
[0017]S7、更新速度和位置的公式:
[0018]V
id
=ωV
id
+C1random(0,1)(P
id

X
id

R
i
)+C2random(0,1)(P
gd

X
id

R
i
)
[0019]X
id
=X
id
+V
id
[0020]其中,ω为惯性因子其值为负数,较大时,全局寻优能力强,较小时,全局寻优能力弱,局部寻优能力强;通过调整ω的大小,对全局寻优性能和局部寻优性能进行调整;C1和C2为加速常数,C1为每个机器人的个体学习因子,C2为每个机器人的社会学习因子;取C1=C2∈[0,4];random(0,1)表示区间[0,1]上的随机数,P
id
表示第i个机器人的个体极值的第d维,P
gd
表示全局最优解的第d维,R
i
为第i个机器人的探测范围;
[0021]S8、判断迭代次数k是否达到最大迭代次数或待覆盖区域D的未覆盖率R
u
满足最小界限即满足目标函数终止算法,如是,则得到最大程度覆盖待覆盖区域的点云E={v
i
|i=1,2,

,n},其中v
i
的位置为p
i
'(x
i
,y
i
),根据点云部署机器人,实现对目标区域的覆盖;如否,迭代次数k=k+1,返回步骤S6。
[0022]进一步地,步骤S1中,将待覆盖区域D放在所建立坐标系的第一象限。
[0023]进一步地,步骤S4中,使用体型最大的机器人的长,作为正方形栅格的边长l。
[0024]进一步地,步骤S5中,目标函数为:R
u
=0,其中R
u
为待覆盖区域的未覆盖率。
[0025]进一步地,步骤S6中,定义适应度函数为:g=1

m
c
/m≈R
u
,其中,m
c
为被覆盖的栅格数目,m为待覆盖区域D的栅格总数量,R
u
为待覆盖区域D的未覆盖率。
[0026]本专利技术的有益效果是:该种基于改进粒子群算法的应用于多机器人区域覆盖方法,相对于现有方法,能够用于多种不同探测范围的机器人在已知区域内覆盖,有效提高实际覆盖区域和覆盖率,使得生成的目标点云更好的实现对区域的覆盖,能够生成最大程度覆盖区域的机器人位置集合。
附图说明
[0027]图1是现有粒子群算法基于探测范围相同的情况下对群机器人进行区域覆盖后的说明示意图。
[0028]图2是本专利技术实施例基于改进粒子群算法的多机器人区域覆盖方法的流程示意图。
[0029]图3是实施例基于改进粒子群算法的多机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进粒子群算法的多机器人区域覆盖方法,其特征在于,包括:对待覆盖区域建立坐标系,根据n台探测范围不同的机器人,各机器人i在全局坐标系中的位置构成向量,为迭代初始位置,然后利用改进粒子群算法求解点云,在粒子群算法的迭代过程中,考虑不同机器人的探测范围,进行速度和位置更新,直至获得最大程度覆盖目标区域的机器人的位置集合。2.如权利要求1所述的基于改进粒子群算法的多机器人区域覆盖方法,其特征在于:具体包括以下步骤,S1、将形状和面积已知的区域作为待覆盖区域D,根据待覆盖区域D建立坐标系;S2、根据n台探测范围不同的机器人,各机器人i在全局坐标系中的位置(x
i
,y
i
)构成向量:P={x1,y1,x2,y2,

,x
i
,y
i


,x
n
,y
n
}为迭代初始位置;S3、设定约束条件,各机器人的位置p
i
(x
i
,y
i
)应在待覆盖区域D内,故其坐标范围在待覆盖区域D内,即:S4、将待覆盖区域D进行栅格化处理,划分成m个正方形栅格,该栅格大小应小于各机器人的最小覆盖半径,标记每个栅格的中心点为c
j
,其中j=1,2,...,m当c
j
被任何一个机器人覆盖时,认为此栅格被覆盖,即记m
c
为被覆盖的栅格数目;S5、初始化粒子群,设置最大迭代次数、目标函数和粒子的最大速度,位置信息为整个目标空间,在速度区间上随机初始化速度,机器人群规模为n,每个机器人随机初始化一个运行速度,初始化迭代次数k;S6、定义适应度函数;个体极值为每个机器人找到的最优解,从这些最优解找到一个全局值,叫做本次全局最优解,与历史全局最优比较,进行更新;S7、更新速度和位置的公式:V
id
=ωV
id
+C1random(0,1)(P
id

X
id

R
i
)+C2random(0,1)(P
gd

X
id

...

【专利技术属性】
技术研发人员:季一木王桢发刘尚东袁猛黄乃娇陈澄
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1