CN115309146A - 一种面向区域监测的多机器人遍历方法 - Google Patents
一种面向区域监测的多机器人遍历方法 Download PDFInfo
- Publication number
- CN115309146A CN115309146A CN202210760559.9A CN202210760559A CN115309146A CN 115309146 A CN115309146 A CN 115309146A CN 202210760559 A CN202210760559 A CN 202210760559A CN 115309146 A CN115309146 A CN 115309146A
- Authority
- CN
- China
- Prior art keywords
- path
- point
- area
- grid
- sampling points
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012544 monitoring process Methods 0.000 title claims abstract description 27
- 238000005070 sampling Methods 0.000 claims abstract description 178
- 230000000295 complement effect Effects 0.000 claims abstract description 11
- 238000000354 decomposition reaction Methods 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000004888 barrier function Effects 0.000 claims description 5
- 241000283690 Bos taurus Species 0.000 claims description 4
- 238000009313 farming Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000001413 cellular effect Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005309 stochastic process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
Abstract
本发明公开了面向区域监测的多机器人遍历方法,其包括:基于目标区域的栅格地图,对采样点进行初始化部署以及舍弃采样点覆盖空洞修复的再部署;再部署的步骤包括:确定任意舍弃点xi覆盖区域边界Lcover;将Lcover内部到最近已部署采样点的距离大于rmax的自由栅格和边界栅格编号为fi;在编号为fi的栅格a中,若存在有编号不为fi且未被标记的相邻栅格,则对栅格a进行标记;将Lcover内部相邻的标记栅格组成对应采样点xi的覆盖空洞的边界集合Borderi={Bi1,Bi2,...Bij...,Bin},做Bij的最小外接圆C,若圆心O(x,y)所在的栅格为自由栅格,将其添加至补充采样点中,否则,将Bij中距离O(x,y)最近的栅格作为补充采样点,完成Bij的再部署;控制多机器人遍历初始化部署和再部署的采样点。
Description
技术领域
本发明属于机器人智能控制领域,更具体地,涉及一种面向区域监测的多机器人遍历方法。
背景技术
区域监测的目的为感知、建模和跟踪目标区域内感兴趣的物理、生物和化学量。无线传感器网络是进行区域监测的传统工具。虽然相比以往的手工测量有了一定的进步,但其只提供固定的监测点,无法适应环境的变化,且对于较大的区域,往往需要大量的传感器节点,提高了系统成本。随着多机器人技术的不断发展,多个移动机器人搭载传感器组成的移动传感器网络解决了这个问题。
在区域监测问题中,由于只能通过对部分离散位置的采样测量来对未被测量的其他位置进行回归预测,所以如何提高预测精度是一个关键的问题。在传感器精度和预测模型确定的情况下,采样点的数量与位置决定了预测的精度,而冗余的采样点又将增加任务执行的时间。因此,需要对采样点的部署进行优化。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种面向区域监测的多机器人遍历方法,其目的在于优化采样点的部署,以在保证预测精度的前提下,最小化多机器人系统完成采样所需的时间。
为实现上述目的,按照本发明的一个方面,提供了一种面向区域监测的多机器人遍历方法,包括:
步骤S1:确定采样半径rmax;
步骤S2:基于目标区域的栅格地图,对采样点进行初始化部署,舍弃落入障碍物及目标区域外的采样点Xobs,形成初始采样点集Xinit;
步骤S3:完成所有采样点xi∈Xobs覆盖空洞的再部署,形成补充采样点集,Xextra对于每个采样点进行再部署的步骤包括:
步骤S31:确定xi覆盖区域边界Lcover,Lcover上各栅格满足到xi的距离不大于rmax且至少一个相邻栅格到xi的距离大于rmax;将Lcover内部到最近采样点x′∈Xinit U Xextra的距离大于rmax的自由栅格和边界栅格编号为fi;在编号为fi的栅格a中,若存在有编号不为fi且未被标记的相邻栅格,则对栅格a进行标记;将Lcover内部相邻的标记栅格组成对应采样点xi的覆盖空洞的边界集合Borderi={Bi1,Bi2,...Bij...,Bin},n≥1,其中,Bij表示采样点xi的第j个覆盖空洞的边界;
步骤S32:做Bij的最小外接圆C,若圆心O(x,y)所在的栅格为自由栅格,则将栅格xnew=O(x,y)添加至补充采样点集Xextra中,否则,将Bij中距离O(x,y)最近的自由栅格xnew=O′(x,y)加入到Xextra中,完成Bij的再部署;在完成边界集合Borderi的再部署后,判断是否存在Bij的最小外接圆C的圆心所在栅格不为自由栅格,若是,则返回步骤S31,若否,则表示完成对采样点xi覆盖空洞的再部署;
步骤S4:控制多机器人遍历初始采样点和补充采样点Xinit∪Xextra。
在其中一个实施例中,对采样点进行初始化部署的方法包括:
采用正三角形的模式进行采样点的部署,每个采样点的覆盖边界将目标区域分割为蜂窝网络状的图形。
在其中一个实施例中,对栅格a进行标记的方法为将栅格a的编号乘以负数变为负编号,将具有负编号的栅格作为标记栅格,当具有正编号的栅格作为未标记的栅格。
在其中一个实施例中,步骤S4包括:
步骤S41:对地图进行预处理,向左右两侧扩展每个障碍物的边界,使得[UL,OL)和[UL,OR]内的初始采样点列数均可以被N整除,其中,N+1为机器人的数量,UL为目标区域的左边界,OL和OR分别为障碍物扩展后的左边界和右边界;
步骤S42:使用牛耕分解法对预处理后的地图进行纵向分解得到多个子区域,除最右侧子区域外,每个子区域的初始采样点的列数均可被N整除;
步骤S43:当最右侧子区域中的初始采样点的列数大于N时,则将最右侧子区域分别为左侧区域和右侧区域,其中,左侧区域中的初始采样点的列数能被N整除,右侧区域中的初始采样点的列数小于N;
步骤S44:将子区域横向分解为边界区域Cborder和内部区域Cinside,内部区域满足不包含补充采样点且初始采样点的列数可被N整除和初始采样点的行数为偶数三个条件,否则为边界区域;
步骤S45:规划遍历路径,对于内部区域,控制N个机器人组成机器人编队进行遍历,对于边界区域,控制1个机器人进行遍历,根据采样结果对未被采样的其他位置进行高斯回归预测。
在其中一个实施例中,在步骤S44中一个子区域分为一个Cinside和位于Cinside上方的上边界区域和位于Cinside下方的下边界区域;
步骤S44包括:
先初步确定上边界区域的顶端为Ruu、上边界区域的初始底端为Rud,下边界区域的初始顶端为Rdu、下边界区域的底端为Rdd;
再将Rud向下平移至第一个含有初始采样点的行作为Cinside的上边界Riu,将Rdu向上平移至第一个含有初始采样点的行作为Cinside的下边界Rid,且Rid与Riu之间含有偶数行初始采样点,上边界区域的上下范围更新为[Ruu,Riu-1],下边界区域的上下范围更新为[Rid+1,Rdu],其中,Riu-1表示朝顶端方向上移一行,Rid+1表示朝底端方向下移一行。
在其中一个实施例中,对于边界区域的遍历方法包括:
步骤S451:将每个边界区域Cborder纵向分解为多个单元的集合C={C1,C2,...Cj...,CNc},Cj为第j单元,Nc为当前边界区域的初始采样点的列数,每个单元仅包含一列初始采样点;
步骤S452:对于每一个j<Nc,规划pathj1和pathj2,pathj1表示以cju为起点,以c(j+1)u为终点,遍历了Cju和C(j+1)u中所有采样点的最短路径,pathj2表示以cjd为起点,以c(j+1)d为终点,遍历了Cjd和C(j+1)d中所有采样点的最短路径,cju和cjd分别为Cj单元最顶部和最底部的初始采样点,Cju表示Cj中纵坐标大于cju的采样点的集合,Cjd表示Cj中纵坐标小于cjd的采样点的集合;
步骤S453:对于j=1和j=Nc,按照纵坐标从大到小的方向规划pathj3,按照纵坐标从小到大的方向规划pathj4,pathj3表示以cju为起点,遍历了Cj中cju以下所有采样点的路径,pathj4表示以cjd为起点,遍历了Cj中cjd以上所有采样点的路径;纵坐标由地图底部到顶部逐渐增大;
步骤S454:对于每一个1<j<Nc,规划以cju为起点、cjd为终点,遍历Cj中所有初始采样点的直线路径pathj5;
步骤S455:通过pathj1到pathj5的不同组合形成了以Cborder的四个角作为起始点、遍历Cborder中所有采样点的子区域内路径Pathi1到Pathi4。
在其中一个实施例中,若Nc为偶数,则以左上角为起点的路径Pathi1为以为起始路径方向、以为结束路径方向连成的之字形路径,以左下角为起点的路径Pathi2为以为起始路径方向、以为结束路径方向连成的之字形路径,以右上角为起点的路径以右下角为起点的路径其中,表示与Path路径相同、反向相反;
若Nc为奇数,则以左上角为起点的路径Pathi1为以为起始路径方向、以为结束路径方向连成的之字形路径,以左下角为起点的路径Pathi2为以为起始路径方向、以为结束路径方向连成的之字形路径,以右上角为起点的路径以右下角为起点的路径
在其中一个实施例中,针对所有边界区域Cborder,通过动态规划方法规划出每个边界区域Cborder的内部遍历路径起点和子区域的访问顺序,从而得到边界区域的遍历路径;
针对所有内部区域Cinside,通过动态规划方法规划出每个内部区域Cinside的内部遍历路径起点和子区域的访问顺序,从而得到内部区域的遍历路径。
其中,g(k,l,i,q)表示出发于子区域k的角点l,遍历子区域i内所有目标点,并结束于角点q的路径长度,k为在路径序列中在子区域i之前的子区域,(0,0)表示仓库x0,Pathiq1表示子区域i内部遍历路径的起点;g(k,l,i,q)的计算方式:
其中,d(a,b)表示a和b之间的最短路径长度,skl1表示区域k内以角点l为起点的遍历路径的第一个点,表示区域i内以角点q为起点的遍历路径的最后一个点,表示区域i内以角点q为起点的遍历路径的第m个点,ni表示区域i内遍历路径上采样点的数量,表示以角点q为起点的单元i内采样点遍历路径。
在其中一个实施例中,在规划两点之间的路径时,若两点之间的直线路径与障碍物冲突,使用A*算法对两点之间的路径进行规划。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
由于目标区域内存在障碍物,在进行初始化部署时,部分采样点因为落在了障碍物区域而被舍弃,导致出现了覆盖空洞。除此之外,落在目标区域之外的采样点也会被舍弃,同样也会导致覆盖空洞的出现。覆盖空洞对整体的预测精度有着直接影响,覆盖空洞内的预测精度无法保证,因此需要采取措施对其进行修复。在本申请中,对于采样点的部署分为两个阶段,初始化部署阶段和对覆盖空洞进行修复的再部署阶段,其中,初始化部署阶段可以采用常规方法部署初始采样点阵列,在再部署阶段,对每一个舍弃的采样点所导致的覆盖空洞进行修复,其中,先选定一个舍弃的采样点并确定覆盖空洞,然后再通过外接圆确定修复空洞的补充采样点,以此完成所有覆盖空洞的修复。初始化部署阶段的初始采样点和再部署阶段的补充采样点共同形成采样点的部署方案,由此可以消除目标区域内的覆盖空洞,从而保证对整个目标区域的预测结果的精度,同时减少了所需的采样点的数量。
附图说明
图1为一实施例的面向区域监测的多机器人遍历方法的步骤流程图;
图2为一实施例的控制多机器人遍历采样点的步骤流程图;
图3为一实施例的规划边界区域遍历路径的步骤流程图;
图4为一实施例的环境栅格地图的示意图;
图5为一实施例的初始化部署的部署模式示意图;
图6为一实施例的初始化部署后的采样点及覆盖区域示意图;
图7为一实施例的覆盖空洞示意图;
图8为一实施例的覆盖空洞修复后的采样点及覆盖区域示意图;
图9(a)为一实施例的扩展障碍物边界的示意图;
图9(b)为一实施例的对地图进行纵向分解的示意图;
图9(c)为一实施例的分解最右侧子区域的意图;
图9(d)为一实施例的对子区域进行横向分解的示意图;
图10为一实施例的横向分解界限示意图;
图11为一实施例的内部区域中的目标点示意图;
图12(a)为一实施例的一边界区域中以左上角为起点的遍历路径示意图;
图12(b)为一实施例的一边界区域中以左下角为起点的遍历路径示意图;
图13为一实施例的遍历内部区域的编队形状示意图;
图14为一实施例的标量场真值分布图;
图15为一实施例的采样点位置和机器人路径图;
图16为一实施例的标量场预测值分布图;
图17为一实施例的标量场预测误差分布图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示为一实施例中的面向区域监测的多机器人遍历方法,其包括:
步骤S100:确定采样半径rmax。
其中,采样半径即为机器人位于采样点时所覆盖范围的半径,单个采样点的覆盖区域为以该采样点为圆心、以rmax为半径的圆盘。
具体的,可以根据高斯核函数计算保证预测精度的最大采样半径rmax:
其中,l、σ0为已知的高斯核函数(RBF)的超参数。ω2为传感器测量噪声的方差,Δ为对预测误差的容忍阈值。
步骤S200:基于目标区域的栅格地图,对采样点进行初始化部署,舍弃落入障碍物及目标区域外的采样点Xobs,形成初始采样点Xinit。
先建立目标区域的栅格地图。
在一实施例中,使用栅格法建立环境的栅格地图,使用1表示完全被障碍物占用的栅格,称其为障碍栅格,使用0表示没有被障碍物占用的栅格,称其为自由栅格,使用2表示部分被障碍物占用的栅格,称其为边界栅格。使用该种方法对环境的建模结果如图4所示,图中灰色区域表示障碍物。
然后,初始化部署采样点,将初始化部署的采样点组成的集合称之为初始采样点集Xinit。
初始化部署阶段的目的是使用均匀分布的采样点对目标监测区域进行确定性部署,采样点组成某种形式的网格以最小化采样点的数量。通过初始化部署,相邻的多个采样点形成了固定的形状,在最小化重复覆盖区域的同时,也为使用机器人编队进行采样提供了方便。根据网格的形状,圆盘覆盖模式可分为三种:正三角形、正方形和正六边形等,相邻圆盘之间的圆心距越长,重复覆盖区域的面积就越小。
在本实施例中,采用正三角形的部署模式,覆盖相同大小的面积,正三角形部署所需要的采样点的数量为正方形部署的0.87倍,为正六边形部署的0.66倍。若使用正三角形部署模式,相邻圆盘的圆心距为每个采样点所负责覆盖的区域为一个正六边形,目标区域被分割为蜂窝网络状的图形,如图5所示。
具体的,采用正三角形的部署模式,按照从上到下、从左到右的方向,进行采样点的部署,如图5所示。在栅格地图中,奇数行采样点的第一个采样点距左边界的距离为偶数行采样点的第一个采样点距离左边界的距离为处于不同列的两个相邻采样点之间的横向距离为纵向距离为 表示向下取整,res表示栅格的边长,距离均以栅格数来表示。假设栅格地图有Nr行、Nc列,采样点共有Na行、第b行有Nb个采样点,那么则有:
步骤S300:完成所有采样点xi∈Xobs覆盖空洞的再部署。
为了方便描述,首先定义一些变量。定义记覆盖空洞为H,障碍物为obs,初始化部署阶段被舍弃的采样点为Xobs,以Xobs为圆心、rmax为半径的圆盘为Qobs,初始采样点集合为Xinit,通过再部署补充的采样点组成的集合为补充采样点集合Xextra,已部署的所有采样点为X=Xinit I Xextra,已被覆盖的区域为Qcover,则有覆盖空洞如图7所示,其中阴影区域为H,白色区域为Qcover,黑色区域为obs。
对于每一个被舍弃的采样点Xobs,进行再部署的过程包括:
步骤S310:在栅格地图中确定覆盖空洞。
步骤S320:进行再部署以对覆盖空洞进行修复。
其中,步骤S310具体包括:
步骤S311:确定由xi覆盖的区域的边界Lcover,Lcover上的每一个栅格都满足两个条件:
条件1:Lcover上的每一个栅格到xi的距离不大于rmax;
条件2:Lcover上的每一个栅格至少存在一个相邻栅格到xi的距离大于rmax。
步骤S312:将Lcover内部到最近采样点x′∈Xinit U Xextra的距离大于rmax的自由栅格和边界栅格编号为fi。
其中,x′为已部署采样点中最近的采样点,已部署采样点包括初始部署的初始采样点Xinit和再部署中已经添加的补充采样点Xextra。对于Lcover以内的任意栅格a,若其为自由或边界栅格,且到最近的x′∈Xinit U Xextra的距离大于rmax,将栅格a的编号设为fi。若不存在该类栅格,则表示不存在覆盖空洞,方法结束。fi为采样点xi的编号。
步骤S313:在编号为fi的栅格a中,若存在有编号不为fi且未被标记的相邻栅格,则对栅格a进行标记。
具体的,对于Lcover以内的任意编号为fi的栅格a,若其上下左右相邻的编号为不等于fi且未被标记,将栅格a进行标记,具体标记方法是在标记之前编号全为正数,标记时将编号乘以-1作为新的编号。
步骤S314:将Lcover内部相邻的标记栅格组成对应采样点xi的覆盖空洞的边界集合Borderi={Bi1,Bi2,...Bij...,Bin},n≥1,其中,Bij表示采样点xi的第j个覆盖空洞的边界。
具体,一个采样点可能对应有多个覆盖空洞,当标记栅格为编号为负的栅格,寻找Lcover以内的所有编号小于0的栅格,相邻的栅格组成了对应采样点xi的覆盖空洞的边界集合Borderi={Bi1,Bi2,...Bij...,Bin}。
其中,步骤S320包括:
步骤S321:做Bij的最小外接圆C,若圆心O(x,y)所在的栅格为自由栅格,则将栅格xnew=O(x,y)添加至Xextra中,否则,将Bij中距离O(x,y)最近的栅格xnew=O′(x,y)加入到Xextra中,完成Bij的再部署。
记Bij为xi所导致的第j个覆盖空洞,Bij为对应于Hij的覆盖边界,首先做Bij的最小外接圆C,C的圆心和半径分别为O(x,y)和r。由于Hij为Qobs与Obs和Qcover的差,所以r≤rmax。然后对O(x,y)的栅格属性进行判断,若其为自由栅格,将xnew=O(x,y)加入到Xextra中,完成对空洞Hij的修复。否则,寻找Bij中距离O(x,y)最近的栅格O′(x,y)作为新的采样点部署位置,将xnew=O′(x,y)加入到Xextra中。
步骤S322:在完成边界集合Borderi的再部署后,判断是否存在Bij的最小外接圆C的圆心所在栅格不为自由栅格,若是,则返回步骤S310,若否,则表示完成对采样点xi覆盖空洞的再部署。
完成再部署的采样点分布及覆盖区域如图8所示,其中三角形代表了补充采样点。
步骤S400:控制多机器人遍历初始采样点和补充采样点Xinit∪Xextra。
在完成采样点的部署之后,根据上文所部署的采样点规划遍历路径,便可以控制机器人遍历各采样点。在使用多个机器人进行区域监测时,通常的方式为将目标区域被分为多个子区域,每个机器人执行子区域内的监测任务。此种方式将多机器人系统视作多个机器人的简单叠加,没有发挥出多机器人系统的优势。若将多机器人组成编队来对目标区域进行监测,通过机器人之间的协作,可以使得系统具有更强的鲁棒性和更复杂的功能。
在一实施例中,如图2所示,步骤S400包括以下子步骤:
步骤S410:对地图进行预处理,向左右两侧扩展每个障碍物的边界,使得[UL,OL)和[UL,OR]内的初始采样点列数均可以被N整除,其中,N+1为机器人的数量,UL为目标区域的左边界,OL和OR分别为障碍物扩展后的左边界和右边界。
如图9(a)所示,对地图进行预处理。记目标区域的左右边界分别为UL和UR,障碍物的左右边界分别为OL和OR,向两侧扩展障碍物的边界,使得[UL,OL)和[UL,OR]内的Nc均可以被N整除,Nc为对应区域内的输出采样点的列数。
步骤S420:使用牛耕分解法对预处理后的地图进行纵向分解得到多个子区域,除最右侧子区域外,每个子区域的初始采样点的列数均可被N整除。
如图9(b)所示,使用原始牛耕分解法(Boustrophedon Cell Decomposition,BCD)对处理之后的地图进行纵向分解。对于已经进行处理的障碍物,使用BCD法进行分解,分解之后的结果,除最右边的子区域以外,每个子区域Celli的Nc均可被N整除。
步骤S430:当最右侧子区域中的初始采样点的列数大于N时,则将最右侧子区域分别为左侧区域和右侧区域,其中,左侧区域中的初始采样点的列数能被N整除,右侧区域中的初始采样点的列数小于N。
如图9(c)所示,将地图恢复为处理前的形状,随后对最右边的子区域的Nc进行判断,若其大于N,将其纵向分割为两个子区域:左侧区域的Nc可被N整除,右侧的Nc小于N。
步骤S440:将子区域横向分解为包含补充采样点的边界区域Cborder和不含补充采样点的内部区域Cinside。内部区域满足不包含补充采样点、初始采样点的列数可被N整除,且初始采样点的行数为偶数三个条件,否则即为边界区域。
如图9(d)所示,将子区域横向分解为边界区域Cborder(阴影部分)和内部区域Cinside(白色部分)。
在这一步中,如图10所示,每个子区域Celli原则上可以分为两个Cborder和一个Cinside。记子区域Celli的上边界区域的顶端为Ruu、上边界区域的底端为Rud、下边界区域的顶端为Rdu、下边界区域的底端为Rdd,则Cinside的上边界Riu为从Rud向下第一个含有初始采样点的行,下边界Rid为从Rdu向上第一个含有初始采样点的行,且Rid与Riu之间含有偶数行初始采样点。两个边界区域的上下范围分别为[Ruu,Riu-1]和[Rid+1,Rdu]。若Ruu>Riu-1或Rid+1>Rdu,则对应的边界区域不存在;而若Rid<Riu,则对应的内部区域不存在。
步骤S450:规划遍历路径,对于内部区域,控制N个机器人组成机器人编队进行遍历,对于边界区域,控制1个机器人进行遍历,根据采样结果对未被采样的其他位置进行高斯回归预测。
由于内部区域的初始采样点的列数能够被N整除,因此,可以控制N个机器人联合遍历,对于边界区域,由于其列数小于N,因此,只控制1个机器人进行遍历。
多机器人系统通过对目标点的遍历完成对采样点的遍历。在边界区域中,采样点即为目标点;在内部区域中,目标点为N个相邻采样点的质心。在一实施例中,内部区域中的目标点的示意图如图11所示。
通过步骤S450,实现了控制多机器人系统对所有采样点进行遍历采样的目的。在内部区域中,使用多个机器人组成编队进行遍历,通过机器人之间的协作,可以降低对于单个机器人的要求,降低系统的成本;同时也可通过多源数据融合来提高预测精度。
在一实施例中,如图3所示,步骤S450包括以下子步骤:
具体的,将边界区域Cborder纵向分解为多个单元的集合每个单元仅包含一列初始采样点。假设Cj单元所含初始采样点的横坐标为xj,则Cj的范围为j=2,3,L,Nc-1。C1单元的左边界为Cborder的左边界,单元的右边界为Cborder的右边界。
步骤S452:对于每一个j<Nc,规划pathj1和pathj2,pathj1表示以cju为起点,以c(j+1)u为终点,遍历了Cju和C(j+1)u中所有采样点的最短路径,pathj2表示以cjd为起点,以c(j+1)d为终点,遍历了Cjd和C(j+1)d中所有采样点的最短路径,cju和cjd分别为Cj单元最顶部和最底部的初始采样点,Cju表示Cj中纵坐标大于cju的采样点的集合,Cjd表示Cj中纵坐标小于cjd的采样点的集合。
具体的,对于所有j<Nc,规划pathj1和pathj2。pathj1表示以cju为起点,以c(j+1)u为终点,遍历了Cju和C(j+1)u中所有采样点的最短路径。pathj2表示以cjd为起点,以c(j+1)d为终点,遍历了Cjd和C(j+1)d中所有采样点的最短路径。cju为Cj单元最顶部的初始采样点,cjd为最底部的初始采样点,若该单元无初始采样点,则cju和cjd为Cj中横坐标最靠近单元中心的采样点。Cju表示Cj中纵坐标大于cju的采样点的集合,即Cju={c|y(c)>y(cju)且c∈Cj}。Cjd表示Cj中纵坐标小于cjd的采样点的集合,即Cjd={c|y(c)<y(cjd)且c∈Cj}。函数f1基于动态规划法规划最短路径。
步骤S453:对于j=1和j=Nc,按照纵坐标从大到小的方向规划pathj3,按照纵坐标从小到大的方向规划pathj4,pathj3表示以cju为起点,遍历了Cj中cju以下所有采样点的路径,pathj4表示以cjd为起点,遍历了Cj中cjd以上所有采样点的路径。纵坐标由地图的底部到顶部逐渐增大。
具体的,对于首尾单元,根据纵坐标,按照从上至下的方向规划pathj3,按照从下至上的方向规划pathj4。pathj3表示以cju为起点,遍历了Cj中cju以下所有采样点的路径,pathj4表示以cjd为起点,遍历了Cj中cjd以上所有采样点的路径。
步骤S454:对于每一个1<j<Nc,规划以cju为起点、cjd为终点,遍历Cj中所有初始采样点的直线路径pathj5。
对于非首尾单元,规划以cju为起点,cjd为终点,遍历Cj中所有初始采样点的直线路径pathj5。
步骤S455:通过pathj1到pathj5的不同组合形成了以Cborder的四个角作为起始点、遍历Cborder中所有采样点的子区域内路径Pathi1到Pathi4。
其中,若Nc为偶数,则以左上角为起点的路径Pathi1为以为起始路径方向、以为结束路径方向连成的之字形路径,以左下角为起点的路径Pathi2为以为起始路径方向、以为结束路径方向连成的之字形路径,以右上角为起点的路径以右下角为起点的路径其中,表示与Path路径相同、反向相反。边界区域备选内部遍历路径规划算法如下:
如图12(a)所示为一实施例中,对某个子区域,以其左上角为起点规划的Pathi1,图12(b)所示则为以左下角为起点规划的Pathi2。其中圆形点为初始采样点,三角形点为补充采样点,虚线表示了单元的分割。
在一实施例中,当为每个边界区域规划出路径Pathi1到Pathi4后,还包括:
步骤SS456:基于所有边界区域Cborder的路径Pathi1到Pathi4,通过动态规划方法规划出每个边界区域Cborder的内部遍历路径起点和子区域的访问顺序,从而得到每个边界区域Cborder的遍历路径。
同样,对于所有的内部区域Cinside,也可以通过动态规划方法规划出每个内部区域Cinside的内部遍历路径起点和子区域的访问顺序,从而得到内部区域的遍历路径。
具体的,使用动态规划方法通过最小化来规划遍历所有的某类子区域的路径。D(T,i,q)为从仓库出发,遍历T中所有子单元中的目标点并结束于子区域i的角点q的最短路径,其中i∈T,且表示目标子单元的子集。D(T,i,q)的计算方式为:
当T只包括一个子单元时,D(T,i,q)等于g(0,0,i,q),g(k,l,i,q)表示从出发于子区域k的角点l,遍历子区域i内的每一个目标点,并结束于角点q的路径长度。(0,0)表示仓库x0,g(k,l,i,q)可以由f(i,q)得到:其中当时,D(T,i,ciq)为无穷大。d(x,y)为从位置x到位置y的路径长度。在计算d(x,y)时,首先判断x到y的直线路径是否会产生碰撞。若未发生碰撞,d(x,y)即为x到y的直线距离,否则使用A*算法来规划从x到y的路径来得到d(x,y)。当T中包含多个子区域时,D(T,i,q)等于D(T-{i},k,l)+g(k,l,i,q)的最小值,其中子区域k为在路径序列中在i之前的子区域,l为子单元k的退出点。
其中,g(k,l,i,q)由如下的方式计算:
步骤SS456中子区域入口和访问顺序优化算法的伪代码如下,其中,minPath为返回的子区域遍历路径,minDis为返回的minPath的长度。算法使用H来保存D对应的路径。算法的输入为子区域的集合和其对应的子区域的备选内部遍历路径,子区域的集合为边界区域或内部区域的集合;输出则为遍历子区域内所有目标点的路径及其长度。
在规划路径之后,控制N个机器人形成编队沿着内部区域遍历路径进行采样,控制1个机器人沿着边界区域遍历路径进行采样,根据采样结果对未被采样的其他位置进行高斯回归预测。在传统技术中,在使用多个机器人进行区域监测时,通常的方式为将目标区域被分为多个子区域,每个机器人执行子区域内的监测任务。此种方式将多机器人系统视作多个机器人的简单叠加,没有发挥出多机器人系统的优势。而本申请中,将多机器人组成编队来对目标区域进行监测,通过机器人之间的协作,可以使得系统具有更强的鲁棒性和更复杂的功能。
以下,以一具体的实施例进行说明。
用一个五个机器人组成的机器人系统为例说明该面向区域检测的多机器人编队遍历路径规划算法的效果。五个机器人中,四个机器人组成图13所示的机器人编队,对内部区域进行遍历,一个机器人对边界区域进行遍历,仓库的坐标为场地的正中央:(20,20)。在一个40m×40m的环境中,使用圆形嵌入算法生成了一个在2000×2000网格上的空间随机过程,使用双线性插值法来得到网格点之间的场值,将该值作为待监测标量场f的真实值,l和σ0的值分别为6和10,f的最大值和最小值分别为39和0。如图14所示,机器人在采样点p∈i2处的测量值为f(p+εp)+εs,为定位误差,为传感测量误差。长度尺度l和信号方差σ0在生成空间随机过程时手动给出。在获得在各个采样点的测量值以后,根据这些测量值通过高斯回归对其他位置的值进行预测。高斯回归操作通过Matlab提供的GPML工具箱来实现。所进行的各步骤则均由Python语言在linux环境下实现。
令Δ为f的最大值与最小值的差的10%,即得Δ=3.9,则计算出的rmax为1.19。采样点部署位置和机器人的路径如图15所示。
实验的预测结果则如图16所示,真实值和预测值之间的差则如图17所示。可以观测到最大误差为0.33,小于Δ=3.9,满足预先规定的精度要求。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向区域监测的多机器人遍历方法,其特征在于,包括:
步骤S1:确定采样半径rmax;
步骤S2:基于目标区域的栅格地图,对采样点进行初始化部署,舍弃落入障碍物及目标区域外的采样点Xobs,形成初始采样点集Xinit;
步骤S3:完成所有采样点xi∈Xobs覆盖空洞的再部署,形成补充采样点集,Xextra对于每个采样点进行再部署的步骤包括:
步骤S31:确定xi覆盖区域边界Lcover,Lcover上各栅格满足到xi的距离不大于rmax且至少一个相邻栅格到xi的距离大于rmax;将Lcover内部到最近采样点x′∈XinitUXextra的距离大于rmax的自由栅格和边界栅格编号为fi;在编号为fi的栅格a中,若存在有编号不为fi且未被标记的相邻栅格,则对栅格a进行标记;将Lcover内部相邻的标记栅格组成对应采样点xi的覆盖空洞的边界集合Borderi={Bi1,Bi2,...Bij...,Bin},n≥1,其中,Bij表示采样点xi的第j个覆盖空洞的边界;
步骤S32:做Bij的最小外接圆C,若圆心O(x,y)所在的栅格为自由栅格,则将栅格xnew=O(x,y)添加至补充采样点集Xextra中,否则,将Bij中距离O(x,y)最近的自由栅格xnew=O′(x,y)加入到Xextra中,完成Bij的再部署;在完成边界集合Borderi的再部署后,判断是否存在Bij的最小外接圆C的圆心所在栅格不为自由栅格,若是,则返回步骤S31,若否,则表示完成对采样点xi覆盖空洞的再部署;
步骤S4:控制多机器人遍历初始采样点和补充采样点Xinit∪Xextra。
2.如权利要求1所述的面向区域监测的多机器人遍历方法,其特征在于,对采样点进行初始化部署的方法包括:
采用正三角形的模式进行采样点的部署,每个采样点的覆盖边界将目标区域分割为蜂窝网络状的图形。
3.如权利要求1所述的面向区域监测的多机器人遍历方法,其特征在于,对栅格a进行标记的方法为将栅格a的编号乘以负数变为负编号,将具有负编号的栅格作为标记栅格,当具有正编号的栅格作为未标记的栅格。
4.如权利要求1所述的面向区域监测的多机器人遍历方法,其特征在于,步骤S4包括:
步骤S41:对地图进行预处理,向左右两侧扩展每个障碍物的边界,使得[UL,OL)和[UL,OR]内的初始采样点列数均可以被N整除,其中,N+1为机器人的数量,UL为目标区域的左边界,OL和OR分别为障碍物扩展后的左边界和右边界;
步骤S42:使用牛耕分解法对预处理后的地图进行纵向分解得到多个子区域,除最右侧子区域外,每个子区域的初始采样点的列数均可被N整除;
步骤S43:当最右侧子区域中的初始采样点的列数大于N时,则将最右侧子区域分为左侧区域和右侧区域,其中,左侧区域中的初始采样点的列数能被N整除,右侧区域中的初始采样点的列数小于N;
步骤S44:将子区域横向分解为边界区域Cborder和内部区域Cinside,内部区域满足不包含补充采样点且初始采样点的列数可被N整除和初始采样点的行数为偶数三个条件,否则为边界区域;
步骤S45:规划遍历路径,对于内部区域,控制N个机器人组成机器人编队进行遍历,对于边界区域,控制1个机器人进行遍历,根据采样结果对未被采样的其他位置进行高斯回归预测。
5.如权利要求4所述的面向区域监测的多机器人遍历方法,其特征在于,在步骤S44中一个子区域分为一个Cinside和位于Cinside上方的上边界区域和位于Cinside下方的下边界区域;
步骤S44包括:
先初步确定上边界区域的顶端为Ruu、上边界区域的初始底端为Rud,下边界区域的初始顶端为Rdu、下边界区域的底端为Rdd;
再将Rud向下平移至第一个含有初始采样点的行作为Cinside的上边界Riu,将Rdu向上平移至第一个含有初始采样点的行作为Cinside的下边界Rid,且Rid与Riu之间含有偶数行初始采样点,上边界区域的上下范围更新为[Ruu,Riu-1],下边界区域的上下范围更新为[Rid+1,Rdu],其中,Riu-1表示朝顶端方向上移一行,Rid+1表示朝底端方向下移一行。
6.如权利要求4所述的面向区域监测的多机器人遍历方法,其特征在于,对于边界区域的遍历方法包括:
步骤S452:对于每一个j<Nc,规划pathj1和pathj2,pathj1表示以cju为起点,以c(j+1)u为终点,遍历了Cju和C(j+1)u中所有采样点的最短路径,pathj2表示以cjd为起点,以c(j+1)d为终点,遍历了Cjd和C(j+1)d中所有采样点的最短路径,cju和cjd分别为Cj单元最顶部和最底部的初始采样点,Cju表示Cj中纵坐标大于cju的采样点的集合,Cjd表示Cj中纵坐标小于cjd的采样点的集合;
步骤S453:对于j=1和j=Nc,按照纵坐标从大到小的方向规划pathj3,按照纵坐标从小到大的方向规划pathj4,pathj3表示以cju为起点,遍历了Cj中cju以下所有采样点的路径,pathj4表示以cjd为起点,遍历了Cj中cjd以上所有采样点的路径;纵坐标由地图底部到顶部逐渐增大;
步骤S454:对于每一个1<j<Nc,规划以cju为起点、cjd为终点,遍历Cj中所有初始采样点的直线路径pathj5;
步骤S455:通过pathj1到pathj5的不同组合形成了以Cborder的四个角作为起始点、遍历Cborder中所有采样点的子区域内路径Pathi1到Pathi4。
8.如权利要求4所述的面向区域监测的多机器人遍历方法,其特征在于,针对所有边界区域Cborder,通过动态规划方法规划出每个边界区域Cborder的内部遍历路径起点和子区域的访问顺序,从而得到边界区域的遍历路径;
针对所有内部区域Cinside,通过动态规划方法规划出每个内部区域Cinside的内部遍历路径起点和子区域的访问顺序,从而得到内部区域的遍历路径。
其中,g(k,l,i,q)表示出发于子区域k的角点l,遍历子区域i内所有目标点,并结束于角点q的路径长度,k为在路径序列中在子区域i之前的子区域,(0,0)表示仓库x0,Pathiq1表示子区域i内部遍历路径的起点;
g(k,l,i,q)的计算方式:
10.如权利要求6或9所述的面向区域监测的多机器人遍历方法,其特征在于,在规划两点之间的路径时,若两点之间的直线路径与障碍物冲突,使用A*算法对两点之间的路径进行规划。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760559.9A CN115309146B (zh) | 2022-06-29 | 一种面向区域监测的多机器人遍历方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760559.9A CN115309146B (zh) | 2022-06-29 | 一种面向区域监测的多机器人遍历方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115309146A true CN115309146A (zh) | 2022-11-08 |
CN115309146B CN115309146B (zh) | 2024-04-26 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050097306A (ko) * | 2004-04-01 | 2005-10-07 | 재단법인서울대학교산학협력재단 | 확장된 충돌 지도를 이용한 다개체 로봇의 충돌 회피 방법및 그 방법을 기록한 컴퓨터로 판독 가능한 기록 매체 |
WO2018120489A1 (zh) * | 2016-12-29 | 2018-07-05 | 珠海市一微半导体有限公司 | 一种智能机器人的路径规划方法 |
CN112327862A (zh) * | 2020-11-16 | 2021-02-05 | 北京理工大学 | 一种不确定环境下多机器人协同搜索的路径规划方法 |
CN114089765A (zh) * | 2021-11-22 | 2022-02-25 | 江苏科技大学 | 一种面向城市绿地的割草机器人遍历路径规划方法 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050097306A (ko) * | 2004-04-01 | 2005-10-07 | 재단법인서울대학교산학협력재단 | 확장된 충돌 지도를 이용한 다개체 로봇의 충돌 회피 방법및 그 방법을 기록한 컴퓨터로 판독 가능한 기록 매체 |
WO2018120489A1 (zh) * | 2016-12-29 | 2018-07-05 | 珠海市一微半导体有限公司 | 一种智能机器人的路径规划方法 |
CN112327862A (zh) * | 2020-11-16 | 2021-02-05 | 北京理工大学 | 一种不确定环境下多机器人协同搜索的路径规划方法 |
CN114089765A (zh) * | 2021-11-22 | 2022-02-25 | 江苏科技大学 | 一种面向城市绿地的割草机器人遍历路径规划方法 |
Non-Patent Citations (2)
Title |
---|
MING ZHANG等: "An Improved Multi-robot Distributed Formation Tracking Control Based on Sensor Self-calibration: System Design and Experimental Study", RESTRICTIONS APPLY, 14 May 2022 (2022-05-14) * |
张铭: "面向区域监测的多机器人系统的编队与遍历研究", 万方, 25 July 2023 (2023-07-25) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Smith et al. | Distributed inference-based multi-robot exploration | |
Sotnik et al. | Some features of route planning as the basis in a mobile robot | |
Hardouin et al. | Next-Best-View planning for surface reconstruction of large-scale 3D environments with multiple UAVs | |
CN113110522A (zh) | 一种基于复合式边界检测的机器人自主探索方法 | |
CN114119920A (zh) | 三维点云地图构建方法、系统 | |
CN114442625B (zh) | 基于多策略联合控制智能体的环境地图构建方法及装置 | |
Lian et al. | Improved coding landmark-based visual sensor position measurement and planning strategy for multiwarehouse automated guided vehicle | |
CN115309146A (zh) | 一种面向区域监测的多机器人遍历方法 | |
CN115309146B (zh) | 一种面向区域监测的多机器人遍历方法 | |
Zhang et al. | Game tree search for minimizing detectability and maximizing visibility | |
Meystel | Multiresolutional architectures for autonomous systems with incomplete and inadequate knowledge representation | |
Xu et al. | A cell potential and motion pattern driven multi-robot coverage path planning algorithm | |
US4905144A (en) | High speed path optimization co-processor | |
CN101256402B (zh) | 一种数控加工路线的确定方法、系统及数控设备 | |
Vonásek et al. | Techniques for modeling simulation environments for modular robotics | |
Giannopoulou et al. | Machine learning approach for biological pattern based shell structures | |
CN117268403B (zh) | 基于优化部署传感技术的改进式gbnn动态路径规划方法 | |
Ryu et al. | Local map-based exploration for mobile robots | |
Liu et al. | Estimated path information gain-based robot exploration under perceptual uncertainty | |
Korotka et al. | THE USE OF FUZZY CLUSTERING FOR BUILDING A KNOWLEDGE BASE IN THE PROBLEMS OF PREDICTING THE DURABILITY OF CORRODING STRUCTURES | |
CN113239438B (zh) | 一种在bim模型中的快速排布点位方法 | |
CN112729326B (zh) | 运动智能体轨迹规划方法、装置、存储介质和电子设备 | |
Saska et al. | Bringing reality to evolution of modular robots: bio-inspired techniques for building a simulation environment in the SYMBRION project | |
Wang et al. | Certainty grids method in robot perception and navigation | |
Hannoun et al. | Issues in adaptive mesh refinement implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |