补充建图方法、装置、机器人和存储介质与流程

文档序号:33558066发布日期:2023-03-22 12:53阅读:35来源:国知局
补充建图方法、装置、机器人和存储介质与流程

1.本发明涉及建图技术领域,特别涉及一种补充建图方法、装置、机器人和计算机可读存储介质。


背景技术:

2.机器人在进入未知环境时,一般需要先进行地图探索,把整个未知环境的地图构建出来,然后根据构建出来的地图进行定位和导航,可实现全局规划和全局任务。在相关技术中,可以基于slam定位技术进行全房间建图。然而,地图构建时只支持全房间的建图,不支持局部区域的建图,如果初次建图不完善,可能会对某些房间漏建图,导致地图不完整。


技术实现要素:

3.本发明提供了一种补充建图方法、装置、机器人和计算机可读存储介质。
4.本发明实施方式的补充建图方法可以用于对机器人的当前地图进行补充建图,所述补充建图方法包括:获取所述当前地图内的第一目标点;控制所述机器人导航至所述第一目标点;控制所述机器人在所述第一目标点进行局部探索以对所述第一目标点的对应区域补充建图,其中,所述控制所述机器人在所述第一目标点进行局部探索以对所述第一目标点的对应区域补充建图,包括:控制所述机器人在所述第一目标点的预设范围内进行搜索以获取局部探索信息;基于所述局部探索信息对所述第一目标点的对应区域进行补充建图以获取更新地图。
5.本发明实施方式的补充建图装置可以用于对机器人的当前地图进行补充建图,所述补充建图装置包括第一获取模块、第一控制模块和第二控制模块。所述第一获取模块用于获取所述当前地图内的第一目标点。所述第一控制模块用于控制所述机器人导航至所述第一目标点。所述第二控制模块用于控制所述机器人在所述第一目标点进行局部探索以对所述第一目标点的对应区域补充建图。其中,所述第二控制模块包括控制单元和处理单元。所述控制单元用于控制所述机器人在所述第一目标点的预设范围内进行搜索以获取局部探索信息。所述处理单元用于基于所述局部探索信息对所述第一目标点的对应区域进行补充建图以获取更新地图。
6.本发明实施方式的机器人,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现上述实施方式的补充建图方法。
7.本发明实施方式的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施方式的补充建图方法。
8.上述补充建图方法、装置、机器人和计算机可读存储介质,可以通过局部探索的方式对当前地图进行补充建图,从而可以在初次建图不完善的情况下,通过补充建图完善地图,使得地图较为完整。
9.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
10.本发明的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
11.图1和图2是本发明某些实施方式的补充建图方法的流程示意图;
12.图3是本发明某些实施方式的机器人的示意图;
13.图4是本发明某些实施方式的补充建图装置的示意图;
14.图5是本发明某些实施方式的补充建图方法的流程示意图;
15.图6是本发明某些实施方式的补充建图装置的示意图;
16.图7是本发明某些实施方式的补充建图方法的流程示意图;
17.图8是本发明某些实施方式的补充建图装置的示意图;
18.图9是本发明某些实施方式的补充建图方法的流程示意图;
19.图10是本发明某些实施方式的补充建图装置的示意图;
20.图11是本发明某些实施方式的补充建图方法的流程示意图;
21.图12是本发明某些实施方式的第三确定模块的示意图;
22.图13是本发明某些实施方式的补充建图方法的流程示意图;
23.图14是本发明某些实施方式的补充建图装置的示意图;
24.图15是本发明某些实施方式的补充建图方法的流程示意图;
25.图16是本发明某些实施方式的补充建图装置的示意图;
26.图17是本发明某些实施方式的补充建图方法的流程示意图;
27.图18是本发明某些实施方式的补充建图装置的示意图;
28.图19是本发明某些实施方式的补充建图方法的流程示意图;
29.图20是本发明某些实施方式的处理单元的示意图;
30.图21是本发明某些实施方式的补充建图方法的流程示意图;
31.图22是本发明某些实施方式的补充建图装置的示意图;
32.图23和图24是本发明某些实施方式的补充建图方法的流程示意图;
33.图25是本发明某些实施方式的补充建图装置的示意图;
34.图26是本发明某些实施方式的补充建图方法的流程示意图;
35.图27是本发明某些实施方式的第六确定模块的示意图。
具体实施方式
36.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
37.在后续的描述中,使用用于表示部件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
38.在相关技术中,可以基于slam定位技术进行全房间建图,具体地,锚定基站位置作为机器人的坐标系原点,定位模块采样生成关键帧(用来代表附近的帧,记录当前视角下观测到的特征点,在行进的过程中跟踪关键帧质量),不断更新当前已探索的地图,持续地探索未建图区域,直至全房间的地图构建完整。然而,地图构建时只支持全房间的建图,不支持局部区域的建图,因此存在以下问题:

初次建图不完善,可能会对某些房间漏建图,导
致地图不完整;

打开不想清洁的房间门(例如:厨房、厕所),或者关闭本来想清扫的房间门(例如:卧室),这种情况下建图会导致机器人的清洁区域不符合用户需求;

用户因调整或新增家具、修改内饰后等所产生的地图信息不一致;

对于漏建图的情况,只能通过重新全建图来解决,过程耗时较长。
39.本发明实施例涉及的机器人包括但不限于清洁机器人、服务机器人、物流机器人、基站或手持清洁设备等,其中,基站是指与清洁机器人或手持清洁设备配合使用的清洁设备。以基站为例,为了方便用户的使用,往往通过基站配合清洁机器人的使用,基站可用于对清洁机器人进行充电。对于清洁机器人来说,基站还可以清洁拖擦件(如拖布)。具体来说,清洁机器人可移动到基站上,从而基站上的清洁机构对清洁机器人的拖擦件进行自动清洗。基站除了实现上述功能,还可以通过基站对清洁机器人进行管理,使清洁机器人在执行清洁任务的过程中,更加智能地对清洁机器人进行控制,提高机器人工作的智能性。终端设备可以包括但不限于安装在手机、平板、电脑、智慧屏、可携带设备、其他移动终端设备等终端和/或上述终端上的app,其他智能设备(例如,智能音箱、智能穿戴设备)等,本发明不作限制。
40.请参阅图1至图3,本发明实施方式的补充建图方法可以用于对机器人100的当前地图进行补充建图,补充建图方法包括:
41.012:获取当前地图内的第一目标点;
42.014:控制机器人100导航至第一目标点;
43.016:控制机器人100在第一目标点进行局部探索以对第一目标点的对应区域补充建图,其中,步骤016(控制机器人100在第一目标点进行局部探索以对第一目标点的对应区域补充建图),包括:
44.0162:控制机器人100在第一目标点的预设范围内进行搜索以获取局部探索信息;
45.0164:基于局部探索信息对第一目标点的对应区域进行补充建图以获取更新地图。
46.当前地图可以是机器人100在上次任务结束后或本次任务前已经建好的地图,当前地图内可以包括一个或多个目标点,选取其中一个目标点作为第一目标点,也即作为开始局部探索的起点;机器人在目标点可以观测到未探索的区域(也即当前地图的未有区域)。
47.请参阅图3和图4,本发明实施方式的补充建图装置10可以用于对机器人100的当前地图进行补充建图,补充建图装置10包括第一获取模块112、第一控制模块114和第二控制模块116。
48.本发明实施方式的补充建图方法可以由本发明实施方式的补充建图装置10实现,具体地,步骤012可以由第一获取模块112实现,步骤014可以由第一控制模块114实现,步骤016可以第二控制模块116由实现。也即是说,第一获取模块112可用于获取当前地图内的第一目标点。第一控制模块114可用于控制机器人100导航至第一目标点。第二控制模块116可用于控制机器人100在第一目标点进行局部探索以对第一目标点的对应区域补充建图。其中,第二控制模块116包括控制单元1162和处理单元1164。步骤0162可以由控制单元1162实现,步骤0164可以由处理单元1164实现。也即是说,控制单元1162可用于控制机器人100在第一目标点的预设范围内进行搜索以获取局部探索信息。处理单元1164可用于基于局部探
索信息对第一目标点的对应区域进行补充建图以获取更新地图。
49.上述补充建图方法和补充建图装置10,可以通过局部探索的方式对当前地图进行补充建图,从而可以在初次建图不完善的情况下,通过补充建图完善地图,使得地图较为完整。
50.补充建图装置10可以用于机器人100,机器人100可以包括家用机器人,例如可以是扫地机器人等。
51.本发明支持局部区域的补充建图,如此,可以大大减少建图的时间。机器人100在第一目标点的预设范围内进行搜索以获取局部探索信息,其中,预设范围可以为1米、2米、3米、3.2米、4米等,在此不做具体限定。基于局部探索信息对第一目标点的对应区域进行补充建图以获取更新地图。
52.请参阅图5,在某些实施方式中,补充建图方法还包括:
53.018:确定机器人100完成局部探索;
54.022:控制机器人100在更新地图内进行全局探索以获取第二目标点;
55.024:控制机器人100导航至第二目标点;
56.026:控制机器人100在第二目标点进行局部探索以对第二目标点的对应区域补充建图。
57.请参阅图6,在某些实施方式中,补充建图装置10还包括第一确定模块118、第二获取模块122、第三控制模块124和第四控制模块126。步骤018可以由第一确定模块118实现,步骤022可以由第二获取模块122实现,步骤024可以由第三控制模块124实现,步骤026可以由第四控制模块126实现。也即是说,第一确定模块118可用于确定机器人100完成局部探索。第二获取模块122可用于控制机器人100在更新地图内进行全局探索以获取第二目标点。第三控制模块124可用于控制机器人100导航至第二目标点。第四控制模块126可用于控制机器人100在第二目标点进行局部探索以对第二目标点的对应区域补充建图。
58.如此,在局部探索完成后,可以进行全局探索,从而对地图需要更新的地方均进行补充建图,使得更新后的地图更加完整、准确。
59.具体地,在机器人100完成局部探索后,也即在获取不到局部探索信息时,可以在更新地图内进行全局探索,也即在第一目标点的对应区域内搜索不到局部探索信息时,再对第一目标点的对应区域范围之外的全地图进行探索,在全地图寻找新的目标点,从而获取第二目标点,再以第二目标点作为第一目标点进行下一次的局部探索。第二目标点可以为边界点,其中,边界点为已探索区域和未探索区域的分界点,已探索区域为更新地图的已有区域,未探索区域为更新地图之外的待补充建图的区域或更新地图的未有区域。将机器人100导航至第二目标点,继续在第二目标点进行局部探索以对第二目标点的对应区域补充建图。其中,在第二目标点进行局部探索的方式与在第一目标点进行局部探索的方式相同,在此不做具体限定。在第二目标点的局部探索完成后,可以继续进行全局探索以获取下一个第二目标点,直至地图闭合(即未搜索到第二目标点或边界点)。
60.请参阅图7,在某些实施方式中,补充建图方法还包括:
61.028:若机器人100在更新地图内进行全局探索时未搜索到第二目标点,则确定机器人100完成全局探索;
62.032:控制机器人100返回基站,并向终端设备推送探索完成信息。
63.请参阅图8,在某些实施方式中,补充建图装置10还包括第二确定模块128和第五控制模块132。步骤028可以由第二确定模块128实现,步骤032可以由第五控制模块132实现。也即是说,第二确定模块128可用于若机器人100在更新地图内进行全局探索时未搜索到第二目标点,则确定机器人100完成全局探索。第五控制模块132可用于控制机器人100返回基站,并向终端设备推送探索完成信息。
64.如此,在全局探索完成后,可以控制机器人100返回基站并通知用户。
65.具体地,在未搜索到第二目标点的情况下,可以确定机器人100已经完成全局探索,因此,可以控制机器人100返回基站,并向终端设备推送探索完成信息。在一个实施例中,机器人100与终端设备连接并将探索完成信息推送至终端设备的app。
66.请参阅图9,在某些实施方式中,补充建图方法还包括:
67.034:若机器人100在更新地图内进行全局探索时获取的第二目标点至少有两个,则确定至少两个第二目标点中的一个作为局部探索的第二目标点;
68.036:控制机器人100导航至该第二目标点;
69.038:控制机器人100在该第二目标点进行局部探索以对该第二目标点的对应区域补充建图。
70.请参阅图10,在某些实施方式中,补充建图装置10还包括第三确定模块134、第六控制模块136和第七控制模块138。步骤034可以由第三确定模块134实现,步骤036可以由第六控制模块136实现,步骤038可以由第七控制模块138实现。也即是说,第三确定模块134可用于若机器人100在更新地图内进行全局探索时获取的第二目标点至少有两个,则确定至少两个第二目标点中的一个作为局部探索的第二目标点。第六控制模块136可用于控制机器人100导航至该第二目标点。第七控制模块138可用于控制机器人100在该第二目标点进行局部探索以对该第二目标点的对应区域补充建图。
71.如此,可以确定至少两个第二目标点中的一个第二目标点以对该第二目标点的对应区域补充建图。
72.具体地,在存在至少两个第二目标点的情况下,机器人100需要规划探索路线,选择其中之一的目标点进行局部探索,因此,可以确定至少两个第二目标点中的一个作为局部探索的第二目标点,控制机器人100导航至该第二目标点以先对该第二目标点进行局部探索。
73.请参阅图11,在某些实施方式中,步骤034(确定至少两个第二目标点中的一个作为局部探索的第二目标点),包括:
74.0342:分别获取至少两个第二目标点的收益因子;
75.0344:基于收益因子,分别计算至少两个第二目标点的收益值;
76.0346:确定收益值中的最大值对应的第二目标点作为局部探索的第二目标点。
77.请参阅图12,在某些实施方式中,第三确定模块134包括第一获取单元1342、第一计算单元1344和第一确定单元1346。步骤0342可以由第一获取单元1342实现,步骤0344可以由第一计算单元1344实现,步骤0346可以由第一确定单元1346实现。也即是说,第一获取单元1342可用于分别获取至少两个第二目标点的收益因子。第一计算单元1344可用于基于收益因子,分别计算至少两个第二目标点的收益值。第一确定单元1346可用于确定收益值中的最大值对应的第二目标点作为局部探索的第二目标点。
78.如此,可以确定相对更合适的第二目标点进行局部探索。
79.具体地,可以获取至少两个第二目标点的收益因子,基于收益因子,可以计算获得对应的收益值,收益值中的最大值对应的第二目标点的优先级最高,因此,可以将其作为局部探索的第二目标点。在一个实施例中,第二目标点的收益因子包括第二目标点与上一探索点(第一目标点或上一第二目标点)的距离,基于距离计算至少两个第二目标点的收益值,其中,距离越小,收益值可以越大,因此,收益值中的最大值对应的第二目标点可以是指距离最近的第二目标点,以距离最近的第二目标点作为局部探索的第二目标点,从而实现路径规划。当然,在其他实施方式中,收益因子也可以包括其他参数,例如,预期拓展面积、路径相似度,在此不做具体限定。
80.请参阅图13,在某些实施方式中,补充建图方法还包括:
81.042:控制机器人100在工作区域内执行任务时检测工作区域内的目标点;
82.044:控制机器人100在工作区域内的任务完成时向终端设备发送提醒,其中,提醒包括:补充、不补充、不再提醒中的至少一种;
83.046:基于针对提醒的操作生成对应的反馈信息,其中,针对提醒的操作包括:选择补充、不补充、不再提醒中的一种,或不选择;
84.048:根据反馈信息确定指令类型,其中,当针对提醒的操作为选择补充时,指令类型为控制机器人100对工作区域进行补充建图;当针对提醒的操作为选择不补充时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒;当针对提醒的操作为选择不再提醒时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后不再向终端设备发送提醒;当针对提醒的操作为不选择时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒。
85.请参阅图14,在某些实施方式中,补充建图装置10还包括第八控制模块142、第九控制模块144、第一生成模块146和第四确定模块148。步骤042可以由第八控制模块142实现,步骤044可以由第九控制模块144实现,步骤046可以由第一生成模块146实现,步骤048可以由第四确定模块148实现。也即是说,第八控制模块142可用于控制机器人100在工作区域内执行任务时检测工作区域内的目标点。第九控制模块144可用于控制机器人100在工作区域内的任务完成时向终端设备发送提醒,其中,提醒包括:补充、不补充、不再提醒中的至少一种。第一生成模块146可用于基于针对提醒的操作生成对应的反馈信息,其中,针对提醒的操作包括:选择补充、不补充、不再提醒中的一种,或不选择。第四确定模块148可用于根据反馈信息确定指令类型,其中,当针对提醒的操作为选择补充时,指令类型为控制机器人100对工作区域进行补充建图;当针对提醒的操作为选择不补充时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒;当针对提醒的操作为选择不再提醒时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后不再向终端设备发送提醒;当针对提醒的操作为不选择时,指令类型为控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒。
86.如此,可以支持用户交互,根据用户的交互信息控制补充建图。
87.具体地,机器人100在工作区域内执行任务(例如:清洁任务)时,可以检测工作区
域内的目标点,其中,工作区域可以是机器人100需要执行任务的区域或用户选定的区域,例如可以是一个房间、多个房间、某个区域或整个房子。机器人100可以在执行任务时检测工作区域内的目标点,目标点可以是指在当前地图内传感器信息丰富程度大于预设程度且可以观测到未探索区域的位置,如此可以更为方便地执行补充建图。传感器信息可以包括雷达点云信息、也可以包括其他传感器(例如双目传感器)的检测信息等,在此不做具体限定。机器人100可以设置有激光雷达、双目传感器或其他传感器,以在移动时获取相应信息。在一个实施例中,传感器信息为雷达点云信息,传感器信息丰富程度大于预设程度,可以是指雷达点云信息的占比(接收到的点云数量与发出去的点云数量的占比)大于预设程度,预设程度例如为60%。未探索区域可以为当前地图之外的待补充建图的区域或更新地图的未有区域。机器人在进行局部探索时的第一目标点、第二目标点可以是从上述检测到的目标点中选取。
88.机器人在任务完成后,可以向终端设备发送提醒,例如检测到一个或多个目标点后,提醒用户是否补充建图,如此,可以通过用户交互的方式进行补充建图。当针对提醒的操作为选择补充时,也即用户选择补充时,机器人100可以生成“补充”的反馈信息,对应的指令类型为:控制机器人100对工作区域进行补充建图,但可以不进行清洁。当针对提醒的操作为选择不补充时,也即用户选择不补充时,机器人100可以生成“不补充”的反馈信息,对应的指令类型为:控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒。当针对提醒的操作为选择不再提醒时,也即用户选择不再提醒时,机器人100可以生成“不再提醒”的反馈信息,对应的指令类型为:控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后不再向终端设备发送提醒,在这种情况下,若用户想要补充该工作区域内的地图,则需要进行全房间的建图。当针对提醒的操作为不选择时,也即用户针对提醒未做选择时,机器人100可以生成“未做选择”的反馈信息,对应的指令类型为:控制机器人100结束任务,待下次机器人100在工作区域内的任务完成后再向终端设备发送提醒。
89.请参阅图15,在某些实施方式中,补充建图方法还包括:
90.052:当指令类型为控制机器人100对工作区域进行补充建图时,向终端设备推送机器人100检测到的工作区域内的目标点;
91.054:基于针对推送的目标点的操作生成对应的选择信息,其中,针对推送的目标点的操作包括:从推送的目标点中选择一个作为第一目标点;
92.056:根据选择信息确定第一目标点。
93.请参阅图16,在某些实施方式中,补充建图装置10还包括推送模块152、第二生成模块154和第五确定模块156。步骤052可以由推送模块152实现,步骤054可以由第二生成模块154实现,步骤056可以由第五确定模块156实现。也即是说,推送模块152可用于当指令类型为控制机器人100对工作区域进行补充建图时,向终端设备推送机器人100检测到的工作区域内的目标点。第二生成模块154可用于基于针对推送的目标点的操作生成对应的选择信息,其中,针对推送的目标点的操作包括:从推送的目标点中选择一个作为第一目标点。第五确定模块156可用于根据选择信息确定第一目标点。
94.如此,可以通过用户交互的方式便捷地选择待扩展的区域进行补充建图。
95.具体地,机器人100可以将检测到的目标点以列表的方式推送给终端设备,推送给
用户选择。用户可以针对推送的目标点进行操作,机器人100基于操作生成对应的选择信息,例如,用户可以从推送的一个或多个目标点中选择一个作为第一目标点,机器人100可以根据用户的选择操作所生成的选择信息确定第一目标点,导航至第一目标点并进行局部探索。在某些实施方式中,可以将一定范围内的多个目标点汇聚为一个目标点,再推送给终端设备;对用户而言,不会因推送的目标点过多而影响选择。
96.在某些实施方式中,局部探索信息包括:边界点,其中,边界点为已探索区域和未探索区域的分界点,已探索区域为当前地图的已有区域,未探索区域为当前地图之外的待补充建图的区域或当前地图的未有区域。在机器人100进行局部探索找到边界点的同时进行补充建图,再以边界点作为下一个第一目标点,再进行下一次的局部探索以搜索新的边界点,往复循环,直至局部探索时再找不到边界点。
97.如此,可以在局部探索时获取边界点并基于边界点进行补充建图。
98.在某些实施方式中,可以使用动态rrt(快速扩展搜索树)、非动态rrt、prm(概率路图)等方式对第一目标点的预设范围内进行搜索,以找到边界点。
99.请参阅图17,在某些实施方式中,补充建图方法还包括:
100.058:若第一目标点或第二目标点的对应区域中的未探索区域面积不大于预设面积,则控制机器人100在工作区域内的任务完成时不向终端设备发送提醒,并控制机器人100对第一目标点或第二目标点的对应区域补充建图。
101.请参阅图18,在某些实施方式中,补充建图装置10还包括第十控制模块158。步骤058可以由第十控制模块158实现,也即是说,第十控制模块158可用于若第一目标点或第二目标点的对应区域中的未探索区域面积不大于预设面积,则控制机器人100在工作区域内的任务完成时不向终端设备发送提醒,并控制机器人100对第一目标点或第二目标点的对应区域补充建图。
102.如此,在未探索区域面积不大于预设面积的情况下,可以无需用户介入,机器人100自行进行补充建图。
103.具体地,预设面积可以为0.5平方米、1平方米、1.2平方米等,在此不做具体限定,可根据实际需求进行设定。以1.5平方米为例,若第一目标点或第二目标点的对应区域中的未探索区域面积不大于1.5平方米,则机器人100可以在任务执行过程中或任务完成时自行进行补充建图,不需要向终端设备发送提醒,即无需用户介入或知晓。若第一目标点或第二目标点的对应区域中的未探索区域面积大于预设面积,则可以记录下这些目标点,还可以进入上述步骤044,根据用户的交互信息进行补充建图。
104.请参阅图19,在某些实施方式中,步骤0164(基于局部探索信息对第一目标点的对应区域进行补充建图以获取更新地图),包括:
105.01642:控制机器人100导航至边界点;
106.01644:获取机器人100导航至边界点过程中的地图信息;
107.01646:更新地图信息至当前地图以获取更新地图。
108.请参阅图20,在某些实施方式中,处理单元1164包括控制子单元11642、获取子单元11644和更新子单元11646。步骤01642可以由控制子单元11642实现,步骤01644可以由获取子单元11644实现,步骤01646可以由更新子单元11646实现。也即是说,控制子单元11642可用于控制机器人100导航至边界点。获取子单元11644可用于获取机器人100导航至边界
点过程中的地图信息。更新子单元11646可用于更新地图信息至当前地图以获取更新地图。
109.如此,可以根据导航至边界点过程中的地图信息对当前地图进行更新以获取更新地图。
110.具体地,机器人100导航至边界点的过程中,可以同时获取地图信息,在一些实施例中,获取地图信息可以是匹配定位并获取传感器信息(步骤01642和01644的顺序不作限制,步骤01642和01644可以同时进行),将定位和传感器信息作为机器人100导航至边界点过程中的地图信息,其中,传感器信息可以包括雷达点云信息、也可以包括其他传感器的检测信息(例如摄像头拍摄的图片)等,在此不做具体限定。更新上述地图信息至当前地图以获取更新地图,具体地,可以将地图信息更新到当前地图上,在一些实施例中,当前地图可以是一种占据概率地图,其中,占据概率地图包括三种状态:占据(机器人100不可行走或执行任务的区域)、空白(机器人100可行走或执行任务的区域)、未探索区域(机器人100未探索区域、不在当前地图内)。若是存在边界点,就表示存在未探索区域;若是不存在边界点,就表示地图已经探索完成。
111.请参阅图21,在某些实施方式中,在步骤01646(更新地图信息至当前地图以获取更新地图)之后,补充建图方法还包括:
112.062:以边界点作为下一个第一目标点,控制机器人100在边界点再进行局部探索以对边界点的对应区域补充建图。
113.请参阅图22,在某些实施方式中,补充建图装置10还包括第十一控制模块162。步骤062可以由第十一控制模块162实现,也即是说,第十一控制模块162可用于以边界点作为下一个第一目标点,控制机器人100在边界点再进行局部探索以对边界点的对应区域补充建图。
114.如此,在局部探索可以找到边界点的情况下,持续局部探索以进行补充建图,循环往复,直至局部探索找不到边界点。
115.具体地,在存在边界点的情况下,可以将导航至边界点过程中的地图信息更新至当前地图以获取更新地图,然后以边界点作为下一个第一目标点,再进行局部探索,其中,局部探索的方式与上述局部探索的方式相同,在此不再赘述。
116.请参阅图23,在某些实施方式中,步骤018(确定机器人100完成局部探索),包括:
117.0182:若机器人100在第一目标点的预设范围内未搜索到边界点,则确定机器人100完成局部探索。
118.请参阅图22,在某些实施方式中,步骤0182可以由第一确定模块118实现,也即是说,第一确定模块118可用于若机器人100在第一目标点的预设范围内未搜索到边界点,则确定机器人100完成局部探索。
119.如此,可以准确地判断是否完成局部探索。
120.具体地,如果局部探索未搜索到边界点,则说明第一目标点的对应区域范围内不存在未探索区域,因此,可以确定机器人100已经完成局部探索,可以进入步骤022,即,控制机器人100在更新地图内进行全局探索以获取第二目标点。
121.请参阅图24,在某些实施方式中,补充建图方法还包括:
122.064:若局部探索信息包括至少两个边界点,则确定至少两个边界点中的一个作为第一目标点。
123.请参阅图25,在某些实施方式中,补充建图装置10还包括第六确定模块164,步骤064可以由第六确定模块164实现,也即是说,第六确定模块164可用于若局部探索信息包括至少两个边界点,则确定至少两个边界点中的一个作为第一目标点。
124.如此,可以确定至少两个边界点中的第一目标点以对第一目标点的对应区域补充建图。
125.具体地,在存在至少两个边界点的情况下,机器人100需要规划探索的路线,选择其中之一的边界点进行局部探索,因此,可以确定至少两个边界点中的一个为第一目标点,控制机器人100导航至第一目标点以对第一目标点进行局部探索。
126.请参阅图26,在某些实施方式中,步骤064(确定至少两个边界点中的一个作为第一目标点),包括:
127.0642:分别获取至少两个边界点对应的获益因子;
128.0644:基于获益因子,分别计算至少两个边界点对应的获益值;
129.0646:确定获益值中的最大值对应的边界点作为第一目标点。
130.请参阅图27,在某些实施方式中,第六确定模块164包括第二获取单元1642、第二计算单元1644和第二确定单元1646。步骤0642可以由第二获取单元1642实现,步骤0644可以由第二计算单元1644实现,步骤0646可以由第二确定单元1646实现。也即是说,第二获取单元1642可用于分别获取至少两个边界点对应的获益因子。第二计算单元1644可用于基于获益因子,分别计算至少两个边界点对应的获益值。第二确定单元1646可用于确定获益值中的最大值对应的边界点作为第一目标点。
131.如此,可以确定相对最合适的边界点作为第一目标点。
132.具体地,可以获取至少两个边界点的获益因子,基于获益因子,可以计算获得对应的获益值,获益值中的最大值对应的边界点的优先级最高,因此,可以将其作为第一目标点。
133.在某些实施方式中,获益因子包括:预期拓展面积、路径相似度、距离中的至少一个,其中,预期拓展面积为边界点周边未探索区域的面积,路径相似度为第一目标点到边界点的预期规划路径与当前地图中第一目标点到边界点的已有规划路径的相似度,距离为第一目标点至边界点的距离。
134.如此,可以根据预期拓展面积、路径相似度、距离中的至少一个确定获益值。
135.预期拓展面积为边界点周边未探索区域的面积,具体地,可以以边界点为圆心,以预设边长形成一个圆以作为边界点的周边区域,将边界点的周边区域划分为已探索区域和未探索区域,未探索区域的面积即可以作为预期拓展面积(也可以将未探索区域的面积与周边区域的面积的比例作为预期拓展面积),预期拓展面积越大,说明探索该边界点可以更大程度地补充地图。路径相似度为第一目标点(或上一探索点)到边界点的预期规划路径与当前地图中第一目标点到边界点的已有规划路径的相似度,路径相似度越大,说明探索越容易执行、实现。距离为第一目标点至边界点的距离,距离越小,越容易进行探索和路线规划。在一个实施例中,可以将预期拓展面积、路径相似度、距离组成获益函数,例如,可以通过加权的方式将预期拓展面积、路径相似度、距离组成获益函数,从而获得获益值。在某些实施方式中,预期拓展面积与获益值可以呈正相关关系,路径相似度与获益值可以呈正相关关系,距离与获益值可以呈负相关关系,当预期拓展面积越大,或路径相似度越大,或距
离越小时,该边界点的获益值越大。当然,在其他实施方式中,获益因子也可以包括其他参数,在此不做具体限定。
136.请参阅图3,本发明实施方式的一种机器人100,可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005和传感器。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005设置在机器人主体上,存储器1005上存储有程序,该程序被处理器1001执行时实现相应的操作。存储器1005还用于存储供机器人使用的参数。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。机器人可通过网络接口1004与用户终端进行通信。机器人还可通过短距离通信技术与基站进行通信。其中,基站为配合机器人使用的设备。
137.传感器可以包括各种类型的传感器,可以包括但不限于:激光雷达、线激光传感器、双目传感器等。
138.存储器1005可以包括:能够携带计算机程序的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。存储器1005可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。
139.处理器1001可以包括驱动板、其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件中的一种或多种组件。驱动板可以包括中央处理单元(central processing unit,cpu)。
140.上述机器人100,可以通过局部探索的方式对当前地图进行补充建图,从而可以在初次建图不完善的情况下,通过补充建图完善地图,使得地图较为完整。
141.本发明实施方式的一种计算机可读存储介质,其上存储有计算机程序。程序被处理器执行时,实现上述任一个实施方式的补充建图方法。
142.上述计算机可读存储介质,可以通过局部探索的方式对当前地图进行补充建图,从而可以在初次建图不完善的情况下,通过补充建图完善地图,使得地图较为完整。
143.计算机可读存储介质可设置在机器人100,也可设置在其它的终端设备,机器人100能够与其它的终端设备进行通信来获取到相应的程序。
144.可以理解,计算机可读存储介质可以包括:能够携带计算机程序的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。计算机程序包括计算机程序代码。计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或
装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、以及软件分发介质等。
145.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
146.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
147.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
148.在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
149.尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1