自主探索建图目标选取方法及系统与流程

文档序号:31713161发布日期:2022-10-04 20:24阅读:136来源:国知局
自主探索建图目标选取方法及系统与流程

1.本发明涉及人工智能领域,具体地,涉及一种自主探索建图目标选取方法及系统。


背景技术:

2.随着室内机器人的普及,机器人的使用量越来越大,一台机器人部署需要1~2天的时间,其中slam建图约占三分之一的时间。如果现场人员在梯控安装、电话控制器安装的同时,机器能自主探索建图,最后由现场人员再查漏就可以。这样能大大减少部署时间和现场人员的工作量。
3.专利文献cn108983777b(申请号:cn201810809704.1)公开了一种自适应前沿探索目标点选取的自主探索与避障方法,首先通过激光扫描仪扫描信息解释可通行区域选择的原理;其次通过基于自适应前沿探索目标点选取原理,选择适应当前时刻机器人位姿处的探索阈值,根据探索阈值及评价函数选择最优的探索目标点,考虑机器人在运动至探索目标点的过程中可能出现动态障碍物的情况,采用最小二乘法拟合动态障碍物的运动轨迹,判断机器人与障碍物的相对关系,再根据自适应前沿探索目标点选取原则,选择有效的探索目标点;最后,通过查询探索目标点的数据集,有效避免重复探索和漏探索的可能,确保探索的地图的完整性。但该发明没有综合考虑了各种因素,策略适应环境能力弱。


技术实现要素:

4.针对现有技术中的缺陷,本发明的目的是提供一种自主探索建图目标选取方法及系统。
5.根据本发明提供的一种自主探索建图目标选取方法,包括:
6.步骤s1:建图程序启动并初始化地图;
7.步骤s2:提取边界,组成候选目标所在的线段列表;
8.步骤s3:提取候选目标坐标点列表,对各候选目标点评分;
9.步骤s4:选取评分最高的目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图;
10.步骤s5:切回人工模式,将机器推至遗漏区域扫全地图保存。
11.优选地,在所述步骤s1中:
12.获得第一帧激光,生成第一帧地图。
13.优选地,在所述步骤s2中:
14.提取未知区域与已知区域的边界线段,组成候选目标所在的线段列表。
15.优选地,在所述步骤s3中:
16.根据线段列表计算各自的几何中心,组成候选目标点列表;
17.对各个候选点在以下方面计算其评分:候选点所在线段的长度;候选点坐标与机器当前位置的距离;候选点附近已知区域和占用区域的占比;路径的花费。
18.优选地,根据候选点所在线段的长度计算第一分数s1,获取候选点坐在边界的长
度c,如果c小于阈值则s1得0分,如果c大于底盘直径则s1的100分
[0019][0020]
根据候选点坐标与机器当前位置的距离计算第二分数s2,候选点坐标p(x,y),机器人坐标r(x,y),计算欧式距离d;α和β为系数;
[0021][0022]
根据候选点附近已知区域和占用区域的占比计算第三分数s3,设置以目标点为圆心,半径为r的一个圆;计算该圆内区域未知区域、已知区域、占用区域各自的比重,分别记为a,b,c,设圆半径为r:
[0023]
s3=100
×
b+100
×c[0024]
根据机器人当前位置到目标点路径花费计算第四分数s4,已知机器人位置,已知目标点位置,已知先验栅格地图,使用路径规划算法计算机器人当前位置到目标点需要经过多少栅格,记栅格数量n,n越小实际行走就越短:
[0025]
s4=100/n
[0026]
得到第一分数列表,第二分数列表,第三分数列表,第四分数列表,将各个列表归一化,归一化符号记为λ,计算各目标点总分s,比例系数k
[0027]
s[i]=k*{λ(s1[i])+λ(s2[i])+λ(s3[i])+λ(s4[i])}
[0028]
根据本发明提供的一种自主探索建图目标选取系统,包括:
[0029]
模块m1:建图程序启动并初始化地图;
[0030]
模块m2:提取边界,组成候选目标所在的线段列表;
[0031]
模块m3:提取候选目标坐标点列表,对各候选目标点评分;
[0032]
模块m4:选取评分最高的目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图;
[0033]
模块m5:切回人工模式,将机器推至遗漏区域扫全地图保存。
[0034]
优选地,在所述模块m1中:
[0035]
获得第一帧激光,生成第一帧地图。
[0036]
优选地,在所述模块m2中:
[0037]
提取未知区域与已知区域的边界线段,组成候选目标所在的线段列表。
[0038]
优选地,在所述模块m3中:
[0039]
根据线段列表计算各自的几何中心,组成候选目标点列表;
[0040]
对各个候选点在以下方面计算其评分:候选点所在线段的长度;候选点坐标与机器当前位置的距离;候选点附近已知区域和占用区域的占比;路径的花费。
[0041]
优选地,根据候选点所在线段的长度计算第一分数s1,获取候选点坐在边界的长度c,如果c小于阈值则s1得0分,如果c大于底盘直径则s1的100分
[0042][0043]
根据候选点坐标与机器当前位置的距离计算第二分数s2,候选点坐标p(x,y),机
器人坐标r(x,y),计算欧式距离d;α和β为系数;
[0044][0045]
根据候选点附近已知区域和占用区域的占比计算第三分数s3,设置以目标点为圆心,半径为r的一个圆;计算该圆内区域未知区域、已知区域、占用区域各自的比重,分别记为a,b,c,设圆半径为r:
[0046]
s3=100
×
b+100
×c[0047]
根据机器人当前位置到目标点路径花费计算第四分数s4,已知机器人位置,已知目标点位置,已知先验栅格地图,使用路径规划算法计算机器人当前位置到目标点需要经过多少栅格,记栅格数量n,n越小实际行走就越短:
[0048]
s4=100/n
[0049]
得到第一分数列表,第二分数列表,第三分数列表,第四分数列表,将各个列表归一化,归一化符号记为λ,计算各目标点总分s,比例系数k
[0050]
s[i]=k*{λ(s1[i])+λ(s2[i])+λ(s3[i])+λ(s4[i])}
[0051]
与现有技术相比,本发明具有如下的有益效果:
[0052]
1、本发明利用探索模式建图有效的缓解减少了部署人员的部署时间和工作量,人工模式又弥补了探索导致的遗扫;
[0053]
2、本发明通过对目标点的各种评分,有效的解决单一策略导致的目标选取不是最优的情况,综合考虑了各种因素,策略适应环境强,增加了机器人的智能性。
附图说明
[0054]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0055]
图1为边界示意图;
[0056]
图2为本发明流程图。
具体实施方式
[0057]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
[0058]
实施例1:
[0059]
方案:
[0060]
机器人slam有两种模式,人工模式和探索模式,两种模式自由切换。人工模式就是传统的人工遥控或者直接推着机器建图,探索模式是机器人根据激光探索到环境信息,根据特定算法在已生成地图上自主选择一个目标点规划驱动机器人向前进。本方案侧重与这个目标选取算法策略。
[0061]
1.建图程序启动并初始化地图:获得第一帧激光,生成该帧地图。
[0062]
2.提取边界:提取未知区域与已知区域的边界线段,组成候选目标所在的线段列
表。
[0063]
3.提取候选目标坐标点列表:根据上一步得到的线段列表,计算各自的几何中心,组成候选目标点列表。
[0064]
4.各候选目标点评分:对各个候选点在以下几个方面计算其评分a.候选点所在线段的长度b.候选点坐标与机器当前位置的距离c.候选点附近已知区域和占用区域的占比d.路径的花费。
[0065]
5.选取最优评分目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图,以此往复。
[0066]
6.部署人员检查遗漏,切回人工模式,将机器推至遗漏区域扫全地图保存。
[0067]
根据本发明提供的一种自主探索建图目标选取方法,如图1-图2所示,包括:
[0068]
步骤s1:建图程序启动并初始化地图;
[0069]
具体地,在所述步骤s1中:
[0070]
获得第一帧激光,生成第一帧地图。
[0071]
步骤s2:提取边界,组成候选目标所在的线段列表;
[0072]
具体地,在所述步骤s2中:
[0073]
提取未知区域与已知区域的边界线段,组成候选目标所在的线段列表。
[0074]
步骤s3:提取候选目标坐标点列表,对各候选目标点评分;
[0075]
具体地,在所述步骤s3中:
[0076]
根据线段列表计算各自的几何中心,组成候选目标点列表;
[0077]
对各个候选点在以下方面计算其评分:候选点所在线段的长度;候选点坐标与机器当前位置的距离;候选点附近已知区域和占用区域的占比;路径的花费。
[0078]
具体地,根据候选点所在线段的长度计算第一分数s1,获取候选点坐在边界的长度c,如果c小于阈值则s1得0分,如果c大于底盘直径则s1的100分
[0079][0080]
根据候选点坐标与机器当前位置的距离计算第二分数s2,候选点坐标p(x,y),机器人坐标r(x,y),计算欧式距离d;α和β为系数;
[0081][0082]
根据候选点附近已知区域和占用区域的占比计算第三分数s3,设置以目标点为圆心,半径为r的一个圆;计算该圆内区域未知区域、已知区域、占用区域各自的比重,分别记为a,b,c,设圆半径为r:
[0083]
s3=100
×
b+100
×c[0084]
根据机器人当前位置到目标点路径花费计算第四分数s4,已知机器人位置,已知目标点位置,已知先验栅格地图,使用路径规划算法计算机器人当前位置到目标点需要经过多少栅格,记栅格数量n,n越小实际行走就越短:
[0085]
s4=100/n
[0086]
得到第一分数列表,第二分数列表,第三分数列表,第四分数列表,将各个列表归
一化,归一化符号记为λ,计算各目标点总分s,比例系数k
[0087]
s[i]=k*{λ(s1[i])+λ(s2[i])+λ(s3[i])+λ(s4[i])}
[0088]
步骤s4:选取评分最高的目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图;
[0089]
步骤s5:切回人工模式,将机器推至遗漏区域扫全地图保存。
[0090]
实施例2:
[0091]
实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
[0092]
本领域技术人员可以将本发明提供的一种自主探索建图目标选取方法,理解为自主探索建图目标选取系统的具体实施方式,即所述自主探索建图目标选取系统可以通过执行所述自主探索建图目标选取方法的步骤流程予以实现。
[0093]
根据本发明提供的一种自主探索建图目标选取系统,包括:
[0094]
模块m1:建图程序启动并初始化地图;
[0095]
具体地,在所述模块m1中:
[0096]
获得第一帧激光,生成第一帧地图。
[0097]
模块m2:提取边界,组成候选目标所在的线段列表;
[0098]
具体地,在所述模块m2中:
[0099]
提取未知区域与已知区域的边界线段,组成候选目标所在的线段列表。
[0100]
模块m3:提取候选目标坐标点列表,对各候选目标点评分;
[0101]
具体地,在所述模块m3中:
[0102]
根据线段列表计算各自的几何中心,组成候选目标点列表;
[0103]
对各个候选点在以下方面计算其评分:候选点所在线段的长度;候选点坐标与机器当前位置的距离;候选点附近已知区域和占用区域的占比;路径的花费。
[0104]
具体地,根据候选点所在线段的长度计算第一分数s1,获取候选点坐在边界的长度c,如果c小于阈值则s1得0分,如果c大于底盘直径则s1的100分
[0105][0106]
根据候选点坐标与机器当前位置的距离计算第二分数s2,候选点坐标p(x,y),机器人坐标r(x,y),计算欧式距离d;α和β为系数;
[0107][0108]
根据候选点附近已知区域和占用区域的占比计算第三分数s3,设置以目标点为圆心,半径为r的一个圆;计算该圆内区域未知区域、已知区域、占用区域各自的比重,分别记为a,b,c,设圆半径为r:
[0109]
s3=100
×
b+100
×c[0110]
根据机器人当前位置到目标点路径花费计算第四分数s4,已知机器人位置,已知目标点位置,已知先验栅格地图,使用路径规划算法计算机器人当前位置到目标点需要经过多少栅格,记栅格数量n,n越小实际行走就越短:
[0111]
s4=100/n
[0112]
得到第一分数列表,第二分数列表,第三分数列表,第四分数列表,将各个列表归
一化,归一化符号记为λ,计算各目标点总分s,比例系数k
[0113]
s[i]=k*{λ(s1[i])+λ(s2[i])+λ(s3[i])+λ(s4[i])}
[0114]
模块m4:选取评分最高的目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图;
[0115]
模块m5:切回人工模式,将机器推至遗漏区域扫全地图保存。
[0116]
实施例3:
[0117]
实施例3为实施例1的优选例,以更为具体地对本发明进行说明。
[0118]
实施步骤:
[0119]
1.建图程序启动并初始化地图:获得第一帧激光,生成第一帧地图。
[0120]
2.提取边界:图1边界示意图。然后利用opencv图像处理技术提取到灰色和白色的边界。
[0121]
3.提取候选目标坐标点列表。计算各个线段的几何中心点p,并获取p点在地图坐标系下的位置坐标,组成候选点列表。
[0122]
4.各候选目标点评分。
[0123]
a.根据候选点所在线段的长度计算第一分数s1。首先获取候选点坐在边界的长度c,如果c小于阈值(默认阈值为机器人底盘直径)则s1得0分,如果c大于底盘直径则s1的100分。
[0124][0125]
b.根据候选点坐标与机器当前位置的距离计算第二分数s2。候选点坐标p(x,y),机器人坐标r(x,y),计算欧式距离d。α和β为系数,α默认100,β默认0.05。
[0126][0127]
ds20m~1m100.0~95.12294245011m~10m95.1229424501~60.653065971310m~100m60.6530659713~0.673794699909
[0128]
c.根据候选点附近已知区域和占用区域的占比计算第三分数s3。机器人自主探索的一个重要原则就是确保自身定位的准确性,定位准确才能建出一个可用的地图,设置以目标点为圆心,半径为r的一个圆;计算该圆内区域未知区域、已知区域、占用区域各自的比重,分别记为a,b,c。已知区域和占用区域比重越大,定位肯定比未知区域大的情况下要好。设圆半径为r(默认2m)。
[0129]
s3=100
×
b+100
×c[0130]
d.根据机器人当前位置到目标点路径花费计算第四分数s4。虽然有些目标点离机器人欧式位置很近,但是实际上中间隔了墙或者其他障碍,需要绕很远的的距离才能到达,因此这里计算机器人当前位置到目标之间的模拟路径,已知机器人位置,已知目标点位置,已知先验栅格地图,使用a*,d*,dijkstra等路径规划算法计算机器人当前位置到目标点需要经过多少栅格,记栅格数量n,n越小实际行走就越短。
[0131]
s4=100/n
[0132]
全部计算完成,得到第一分数列表,第二分数列表,第三分数列表,第四分数列表,将各个列表归一化,归一化符号记为λ,计算各目标点总分s,比例系数k(默认取100)
[0133]
s[i]=k*{λ(s1[i])+λ(s2[i])+λ(s3[i])+λ(s4[i])}
[0134]
5.选取最优评分目标点下发路径规划器生成速度驱动机器前进,在前进的同时生成地图,以此往复。
[0135]
6.部署人员结束探索模式,切回人工模式,检查地图遗漏,将机器推至遗漏区域扫全地图保存。
[0136]
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
[0137]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1