System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及智能移动机器人,尤其涉及一种机器人建图方法、装置、机器人和存储介质。
技术介绍
1、随着机器人技术的发展,扫地机器人、拖地机器人和送餐机器人等智能移动机器人的应用愈加广泛。对于智能移动机器人来说,快速建图是一个非常重要的功能,其基本原理是通过机器人自带的传感器快速扫描现场环境,从而构建出环境地图。
2、目前,通常采用基于快速探索随机树的快速建图方法,该方法只需在待探索区域随机生成要探索的目标点,无需进行算法建模,无需对待探索区域进行几何划分,应用简单,而且还具有搜索覆盖率高和搜索范围广等优点。
3、然而,由于该方法的目标点是随机生成的,各个目标点之间没有关联性,因此机器人在探索时会来回重复行走,不能有序探索,最终导致快速建图的效率较低。
技术实现思路
1、有鉴于此,本申请实施例提供了一种机器人建图方法、装置、机器人和存储介质,能够提高机器人快速建图的效率。
2、本申请实施例的第一方面提供了一种机器人建图方法,包括:
3、获取机器人的当前位置和当前地图;
4、从当前地图的轮廓中,选取与当前位置对应的第一轮廓点;
5、若当前地图的轮廓中,从第一轮廓点至历史轮廓点的轮廓段的周边存在待拓展区域,则从历史轮廓点开始,按照第一旋转方向遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点;其中,历史轮廓点与机器人的上一位置对应,待拓展区域表示待更新为已知区域的未知区域;
6、若当前地图的轮廓中
7、在本申请实施例中,首先获取机器人的当前位置和当前地图,从当前地图的轮廓中,选取与该当前位置对应的第一轮廓点;然后,从当前地图的轮廓中,判断从第一轮廓点至与机器人的上一位置对应的历史轮廓点的轮廓段的周边是否存在待拓展区域,如果存在待拓展区域,则表示该轮廓段所在的地图区域需要拓展,也即需要控制机器人前往该区域进行探索,故此时从历史轮廓点开始,按照设定的旋转方向,遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点,如果存在第二轮廓点,则表示机器人能够选到点,因此控制机器人移动至第二轮廓点,使用第一轮廓点对历史轮廓点进行更新,并且更新当前地图,然后返回执行第一个步骤,也即按照相同的方式继续探索,直至完成快速建图。通过这样设置,能够控制机器人按照地图轮廓的引导进行有序探索,避免机器人来回重复行走,从而提高机器人快速建图的效率。
8、在本申请实施例的一种实现方式中,在从当前地图的轮廓中,选取与当前位置对应的第一轮廓点之后,还包括:
9、若当前地图的轮廓中,从第一轮廓点至历史轮廓点的轮廓段的周边不存在待拓展区域,则从第一轮廓点开始,按照第一旋转方向遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点。
10、在本申请实施例的一种实现方式中,轮廓段的周边是否存在待拓展区域通过以下方式确定:
11、从第一轮廓点开始,按照第二旋转方向遍历检测轮廓段中是否具有周边存在待拓展区域的连续多个轮廓点;其中,第二旋转方向与第一旋转方向相反;
12、若轮廓段中具有周边存在待拓展区域的连续多个轮廓点,则确定轮廓段的周边存在待拓展区域,否则确定轮廓段的周边不存在待拓展区域。
13、在本申请实施例的一种实现方式中,从历史轮廓点开始,按照第一旋转方向遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点,包括:
14、从历史轮廓点开始,按照第一旋转方向遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的连续多个轮廓点;
15、若当前地图的轮廓中具有周边存在待拓展区域的连续多个轮廓点,则从多个轮廓点中选取第二轮廓点。
16、在本申请实施例的一种实现方式中,从当前地图的轮廓中,选取与当前位置对应的第一轮廓点,包括:
17、从当前地图的轮廓中,选取包含当前位置的子轮廓;
18、从子轮廓中选取与当前位置的距离最近的点,作为第一轮廓点。
19、在本申请实施例的一种实现方式中,在控制机器人移动至第二轮廓点之前,还包括:
20、搜索第二轮廓点的各个周边位置点;
21、从各个周边位置点中,确定处于子轮廓的内部、机器人未去过且周边设定范围区域内不存在障碍物的目标位置点;
22、使用目标位置点对第二轮廓点进行更新。
23、在本申请实施例的一种实现方式中,在从当前地图的轮廓中,选取与当前位置对应的第一轮廓点之前,还包括:
24、对当前地图进行二值化处理,得到二值化地图;
25、将二值化地图的轮廓向着已知区域的方向移动设定距离,得到目标地图;
26、提取目标地图的轮廓,作为当前地图的轮廓。
27、本申请实施例的第二方面提供了一种机器人建图装置,包括:
28、位置获取模块,用于获取机器人的当前位置和当前地图;
29、轮廓点选取模块,用于从当前地图的轮廓中,选取与当前位置对应的第一轮廓点;
30、轮廓遍历模块,用于若当前地图的轮廓中,从第一轮廓点至历史轮廓点的轮廓段的周边存在待拓展区域,则从历史轮廓点开始,按照第一旋转方向遍历检测当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点;其中,历史轮廓点与机器人的上一位置对应,待拓展区域表示待更新为已知区域的未知区域;
31、地图更新模块,用于若当前地图的轮廓中具有周边存在待拓展区域的第二轮廓点,则控制机器人移动至第二轮廓点、使用第一轮廓点对历史轮廓点进行更新,并且更新当前地图,然后返回执行获取机器人的当前位置和当前地图的步骤以及后续步骤。
32、本申请实施例的第三方面提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例的第一方面提供的机器人建图方法。
33、本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本申请实施例的第一方面提供的机器人建图方法。
34、本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行如本申请实施例的第一方面提供的机器人建图方法。
35、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本文档来自技高网...【技术保护点】
1.一种机器人建图方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,在从所述当前地图的轮廓中,选取与所述当前位置对应的第一轮廓点之后,还包括:
3.如权利要求1所述的方法,其特征在于,所述轮廓段的周边是否存在待拓展区域通过以下方式确定:
4.如权利要求1所述的方法,其特征在于,所述从所述历史轮廓点开始,按照第一旋转方向遍历检测所述当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点,包括:
5.如权利要求1所述的方法,其特征在于,所述从所述当前地图的轮廓中,选取与所述当前位置对应的第一轮廓点,包括:
6.如权利要求5所述的方法,其特征在于,在控制所述机器人移动至所述第二轮廓点之前,还包括:
7.如权利要求1至6任一项所述的方法,其特征在于,在从所述当前地图的轮廓中,选取与所述当前位置对应的第一轮廓点之前,还包括:
8.一种机器人建图装置,其特征在于,包括:
9.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的机器人建图方法。
...【技术特征摘要】
1.一种机器人建图方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,在从所述当前地图的轮廓中,选取与所述当前位置对应的第一轮廓点之后,还包括:
3.如权利要求1所述的方法,其特征在于,所述轮廓段的周边是否存在待拓展区域通过以下方式确定:
4.如权利要求1所述的方法,其特征在于,所述从所述历史轮廓点开始,按照第一旋转方向遍历检测所述当前地图的轮廓中是否具有周边存在待拓展区域的第二轮廓点,包括:
5.如权利要求1所述的方法,其特征在于,所述从所述当前地图的轮廓中,选取与所述当前位置对应的第一轮廓点,包括:
6.如权利要求5所述的方法,其特征...
【专利技术属性】
技术研发人员:李蒙,黄祥斌,黄高波,阳柳郴,
申请(专利权)人:深圳市优纪元科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。