一种机器人控制方法、装置及一种机器人

专利类型 发明授权 法律事件 公开; 实质审查; 授权;
专利有效性 有效专利 当前状态 授权
申请号 CN202210712326.1 申请日 2022-06-22
公开(公告)号 CN115040038B 公开(公告)日 2024-12-03
申请人 杭州萤石软件有限公司; 申请人类型 企业
发明人 江建文; 第一发明人 江建文
权利人 杭州萤石软件有限公司 权利人类型 企业
当前权利人 杭州萤石软件有限公司 当前权利人类型 企业
省份 当前专利权人所在省份:浙江省 城市 当前专利权人所在城市:浙江省杭州市
具体地址 当前专利权人所在详细地址:浙江省杭州市滨江区丹枫路399号2号楼B楼302室 邮编 当前专利权人邮编:310051
主IPC国际分类 G06F9/00 所有IPC国际分类 G06F9/00A47L11/40G05D1/00
专利引用数量 4 专利被引用数量 0
专利权利要求数量 11 专利文献类型 B
专利代理机构 北京柏杉松知识产权代理事务所 专利代理人 孙翠贤; 高莺然;
摘要 本 发明 实施例 提供了一种 机器人 控制方法、装置及一种机器人,涉及 机器人技术 领域。该方法包括:在目标机器人对 指定 区域执行预设任务时,确定已完成预设任务的子区域内存在的动态物体所途经的各个 位置 点;在目标机器人对指定区域完成预设任务后,基于所确定的全部位置点的位置关系,构建途经全部位置点的目标路径;控制机器人沿目标路径移动,并执行预设任务。与相关技术相比,应用本发明实施例提供的方案,可以增强机器人的清洁效果。
权利要求

1.一种机器人控制方法,其特征在于,所述方法包括:
在目标机器人对指定区域执行预设任务时,利用跟踪算法,对已完成所述预设任务的子区域内存在的多个动态物体进行跟踪,得到多个动态物体的初始路径;
针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于所述多个离散点,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;
在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的多个动态物体的全部位置点的位置关系,以及所述全部位置点中的每两个位置点之间的连通关系,构建以所述目标机器人的当前位置为起点,且途经所述全部位置点的目标路径;其中,所述连通关系为:根据每两个位置点之间的障碍物存在情况所确定的关系;
控制所述目标机器人沿所述目标路径移动,并执行所述预设任务。
2.根据权利要求1所述的方法,其特征在于,所述利用跟踪算法,对已完成所述预设任务的子区域内存在的动态物体进行跟踪,得到多个动态物体的初始路径,包括:
获取按照预设时间间隔采集的区域场景信息;
对每个区域场景信息进行动态物体检测,得到检测结果,并在所述检测结果表征已完成所述预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;
基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的多个动态物体的初始路径。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对检测到动态物体的第一个区域场景信息,确定所检测到的动态物体的特征信息,并为所检测到的动态物体添加物体标识;
针对采集时间在所述第一个区域场景信息的采集时间之后的每个区域场景信息,在所得到的检测结果表征所述子区域内存在动态物体时,确定所检测到的动态物体的目标特征信息,并判断针对上一个区域场景信息所检测到的动态物体的特征信息中,是否存在与所示目标特征信息相匹配的指定特征信息;
若存在,则为针对该区域场景信息所检测到的动态物体添加指定物体标识;其中,所述指定物体标识为:特征信息为所述指定特征信息的动态物体所添加有的物体标识;
若不存在,则为针对该区域场景信息所检测到的动态物体添加新的物体标识;
所述基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的多个动态物体的初始路径,包括:
基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成所述预设任务的子区域内存在的多个动态物体的初始路径。
4.根据权利要求3所述的方法,其特征在于,所述基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成所述预设任务的子区域内存在的多个动态物体的初始路径,包括:
针对每个物体标识,若添加有该物体标识的动态物体的位置信息的数量大于预设数量,则对添加有该物体标识的动态物体的各个位置信息进行路径构建,得到初始路径。
5.根据权利要求1所述的方法,其特征在于,所述针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,包括:
针对每条长度大于预设长度的初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点。
6.根据权利要求2所述的方法,其特征在于,所述区域场景信息包括:图像信息和/或激光点
7.根据权利要求1所述的方法,其特征在于,所述目标机器人为清洁机器人,所述预设任务为清洁任务。
8.一种机器人控制装置,其特征在于,所述装置包括:
传感器,用于在目标机器人对指定区域执行预设任务时,采集所述目标机器人的移动信息和所述目标机器人所处环境的空间信息;
处理器,用于根据所述传感器采集的所述目标机器人的移动信息和所述目标机器人所处环境的空间信息,确定已完成所述预设任务的子区域;在目标机器人对指定区域执行预设任务时,利用跟踪算法,对已完成所述预设任务的子区域内存在的多个动态物体进行跟踪,得到多个动态物体的初始路径;针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于所述多个离散点,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的多个动态物体的全部位置点的位置关系,以及所述全部位置点中的每两个位置点之间的连通关系,构建以所述目标机器人的当前位置为起点,且途经所述全部位置点的目标路径;其中,所述连通关系为:根据每两个位置点之间的障碍物存在情况所确定的关系;控制所述目标机器人沿所述目标路径移动,并执行所述预设任务。
9.根据权利要求8所述的装置,其特征在于,
所述传感器,还用于采集所述目标机器人在移动过程中的区域场景信息;
所述处理器,具体用于获取按照预设时间间隔采集的区域场景信息,对每个区域场景信息进行动态物体检测,得到检测结果,并在所述检测结果表征已完成所述预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的多个动态物体的初始路径。
10.一种机器人,其特征在于,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序
处理器,用于执行存储器上所存放的程序时,实现权利要求1‑7任一所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑7任一所述的方法步骤。

说明书全文

一种机器人控制方法、装置及一种机器人

技术领域

[0001] 本发明涉及机器人技术领域,特别是涉及一种机器人控制方法、装置及一种机器人。

背景技术

[0002] 随着清洁机器人的功能日趋完善,越来越多用户选择使用清洁机器人进行地面清洁。例如,家庭中,用户使用清洁机器人清洁客厅地面;商场中,用户使用清洁机器人清洁商场各个楼层的地面等。
[0003] 相关技术中,清洁机器人通常按照用户的指令对指定区域进行清洁,例如,在用户向清洁机器人发出清洁厨房的地面的指令时,该清洁机器人按照用户指令清洁厨房的地面;用户向清洁机器人发出清洁车间指定位置的地面的指令时,该清洁机器人按照用户指令清洁车间指定位置的地面等。
[0004] 然而,在清洁机器人清洁指定区域时,其所清洁过的区域可能因人员、宠物等的移动而被再次污染,并且,由于人员、宠物等动态目标形态各异,现有技术中清洁机器人不能有效区分不同的动态目标,在对区域进行二次清洁时会无法构建准确优化的路径,导致清扫路径混乱或重复冗长,清洁效率低下。

发明内容

[0005] 本发明实施例的目的在于提供一种机器人控制方法、装置及一种机器人,以增强机器人的清洁效果。具体技术方案如下:
[0006] 第一方面,本发明实施例提供了一种机器人控制方法,所述方法包括:
[0007] 在目标机器人对指定区域执行预设任务时,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;
[0008] 在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的全部位置点的位置关系,构建途经所述全部位置点的目标路径;
[0009] 控制所述目标机器人沿所述目标路径移动,并执行所述预设任务。
[0010] 可选的,一种具体实现方式中,所述确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点,包括:
[0011] 利用跟踪算法,对已完成所述预设任务的子区域内存在的动态物体进行跟踪,得到所述动态物体所途经的各个位置点。
[0012] 可选的,一种具体实现方式中,所述利用跟踪算法,对已完成所述预设任务的子区域内存在的动态物体进行跟踪,得到所述动态物体所途经的各个位置点,包括:
[0013] 获取按照预设时间间隔采集的区域场景信息;
[0014] 对每个区域场景信息进行动态物体检测,得到检测结果,并在所述检测结果表征已完成所述预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;
[0015] 基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0016] 可选的,一种具体实现方式中,所述方法还包括:
[0017] 针对检测到动态物体的第一个区域场景信息,确定所检测到的动态物体的特征信息,并为所检测到的动态物体添加物体标识;
[0018] 针对采集时间在所述第一个区域场景信息的采集时间之后的每个区域场景信息,在所得到的检测结果表征所述子区域内存在动态物体时,确定所检测到的动态物体的目标特征信息,并判断针对上一个区域场景信息所检测到的动态物体的特征信息中,是否存在与所示目标特征信息相匹配的指定特征信息;
[0019] 若存在,则为针对该区域场景信息所检测到的动态物体添加指定物体标识;其中,所述指定物体标识为:特征信息为所述指定特征信息的动态物体所添加有的物体标识;
[0020] 若不存在,则为针对该区域场景信息所检测到的动态物体添加新的物体标识;
[0021] 所述基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点,包括:
[0022] 基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0023] 可选的,一种具体实现方式中,所述基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点,包括:
[0024] 对添加有相同物体标识的动态物体的各个位置信息进行路径构建,得到至少一条初始路径;
[0025] 针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于所述多个离散点,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0026] 可选的,一种具体实现方式中,所述对添加有相同物体标识的动态物体的各个位置信息进行路径构建,得到至少一条初始路径,包括:
[0027] 针对每个物体标识,若添加有该物体标识的动态物体的位置信息的数量大于预设数量,则对添加有该物体标识的动态物体的各个位置信息进行路径构建,得到初始路径。
[0028] 可选的,一种具体实现方式中,所述针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,包括:
[0029] 针对每条长度大于预设长度的初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点。
[0030] 可选的,一种具体实现方式中,所述区域场景信息包括:图像信息和/或激光点
[0031] 可选的,一种具体实现方式中,所述基于所确定的全部位置点的位置关系,构建途经所述全部位置点的目标路径,包括:
[0032] 基于所确定的全部位置点的位置关系,以及所述全部位置点中的每两个位置点之间的连通关系,构建以所述目标机器人的当前位置为起点,且途经所述全部位置点的目标路径;
[0033] 其中,所述连通关系为:根据每两个位置点之间的障碍物存在情况所确定的关系。
[0034] 可选的,一种具体实现方式中,所述目标机器人为清洁机器人,所述预设任务为清洁任务。
[0035] 第二方面,本发明实施例提供了一种机器人控制装置,所述装置包括:
[0036] 传感器,用于在目标机器人对指定区域执行预设任务时,采集所述目标机器人的移动信息和所述目标机器人所处环境的空间信息;
[0037] 处理器,用于根据所述传感器采集的所述目标机器人的移动信息和所述目标机器人所处环境的空间信息,确定已完成所述预设任务的子区域;在目标机器人对指定区域执行预设任务时,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的全部位置点的位置关系,构建途经所述全部位置点的目标路径;控制所述目标机器人沿所述目标路径移动,并执行所述预设任务。
[0038] 可选的,一种具体实现方式中,
[0039] 所述传感器,还用于采集所述目标机器人在移动过程中的区域场景信息;
[0040] 所述处理器,具体用于获取按照预设时间间隔采集的区域场景信息,对每个区域场景信息进行动态物体检测,得到检测结果,并在所述检测结果表征已完成所述预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0041] 可选的,一种具体实现方式中,所述处理器,具体用于:
[0042] 对添加有相同物体标识的动态物体的各个位置信息进行路径构建,得到至少一条初始路径;
[0043] 针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于所述多个离散点,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0044] 第三方面,本发明实施例提供了一种机器人,包括处理器、通信接口存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0045] 存储器,用于存放计算机程序
[0046] 处理器,用于执行存储器上所存放的程序时,实现上述任一方法实施例的步骤。
[0047] 第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现实现上述任一方法实施例的步骤。
[0048] 第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法实施例的步骤。
[0049] 本发明实施例有益效果:
[0050] 以上可见,应用本发明实施例提供的方案,在目标机器人对指定区域执行预设任务时,可以确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点;这样,在目标机器人对指定区域完成预设任务后,基于所确定的全部位置点的位置关系,可以构建途经全部位置点的目标路径;进而,控制机器人沿目标路径移动,并执行预设任务。
[0051] 基于此,应用本发明实施例提供的方案,目标机器人可以在完成对指定区域的预设任务后,对在上述预设任务的指定过程中,各个动态物体在已完成预设任务的子区域内所途经的位置点再次执行上述预设任务,以避免出现由于上述动态物体的移动,而导致的上述动态物体所途经的位置点的预设任务的执行结果被破坏,而不能达到上述预设任务所要求的执行效果的情况,从而,可以通过对上述动态物体所途经的位置点再次执行上述预设任务,使得上述指定区域中的各个位置均达到上述预设任务所要求的执行效果。
[0052] 其中,在清洁机器人对指定区域执行清洁任务时,可以记录人员、宠物等在其所清洁过的上述子区域内途经的各个位置点,并在该清洁机器人完成对指定区域的清洁任务后,控制上述清洁机器人沿由所确定的全部位置点构建的目标路径移动,并对上述所记录的人员、宠物等所途经的各个位置点进行二次清洁,以清除因人员、宠物等的移动而对已清洁过的区域造成的二次污染,并且,通过构建包含上述全部位置点的目标路径,可以降低清洁路径的混乱程度,减少目标路径之间的重复。因此,可以增强清洁机器人的清洁效果。附图说明
[0053] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
[0054] 图1为本发明实施例提供的机器人控制方法的一种流程示意图;
[0055] 图2为本发明实施例提供的确定动态物体的位置信息的一种具体实例的示意图;
[0056] 图3为本发明实施例提供的确定动态物体的位置信息的另一种具体实例的示意图;
[0057] 图4为本发明实施例提供的确定动态物体的位置信息的又一种具体实例的示意图;
[0058] 图5为本发明实施例提供的确定离散点的一种具体实例的示意图;
[0059] 图6为本发明实施例提供的构建目标路径的一种具体实例的示意图;
[0060] 图7为本发明实施例提供的一种机器人控制装置的结构示意图;
[0061] 图8为本发明实施例提供的一种机器人的结构示意图。

具体实施方式

[0062] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
[0063] 相关技术中,机器人通常按照用户的指令对指定区域进行清洁,例如,在用户向机器人发出清洁厨房的地面的指令时,机器人按照用户指令清洁厨房的地面;用户向机器人发出清洁车间指定位置的地面的指令时,机器人按照用户指令清洁车间指定位置的地面等。
[0064] 然而,在清洁机器人清洁指定区域时,其所清洁过的区域可能因人员、宠物等的移动而被再次污染,并且,由于人员、宠物等动态目标形态各异,现有技术中清洁机器人不能有效区分不同的动态目标,在对区域进行二次清洁时会无法构建准确优化的路径,导致清扫路径混乱或重复冗长,清洁效率低下。
[0065] 为了解决上述技术问题,本发明实施例提供了一种机器人控制方法。
[0066] 其中,该方法可以适用于需要控制机器人执行预设任务的各类应用场景,例如,在家庭中,控制机器人清洁指定区域;在工厂中,控制机器人对工作区域进行巡逻等。并且,该方法可以应用于机器人,也可以应用于与机器人相通信的其他电子设备上,例如,机器人的管理服务器。基于此,本发明实施例不对该方法的应用场景和执行主体进行具体限定。
[0067] 本发明实施例提供的一种机器人控制方法可以包括如下步骤:
[0068] 在目标机器人对指定区域执行预设任务时,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;
[0069] 在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的全部位置点的位置关系,构建途经所述全部位置点的目标路径;
[0070] 控制所述机器人沿所述目标路径移动,并执行所述预设任务。
[0071] 以上可见,应用本发明实施例提供的方案,在目标机器人对指定区域执行预设任务时,可以确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点;这样,在目标机器人对指定区域完成预设任务后,基于所确定的全部位置点的位置关系,可以构建途经全部位置点的目标路径;进而,控制机器人沿目标路径移动,并执行预设任务。
[0072] 基于此,应用本发明实施例提供的方案,目标机器人可以在完成对指定区域的预设任务后,对在上述预设任务的指定过程中,各个动态物体在已完成预设任务的子区域内所途经的位置点再次执行上述预设任务,以避免出现由于上述动态物体的移动,而导致的上述动态物体所途经的位置点的预设任务的执行结果被破坏,而不能达到上述预设任务所要求的执行效果的情况,从而,可以通过对上述动态物体所途经的位置点再次执行上述预设任务,使得上述指定区域中的各个位置均达到上述预设任务所要求的执行效果。
[0073] 其中,在清洁机器人对指定区域执行清洁任务时,可以记录人员、宠物等在其所清洁过的上述子区域内途经的各个位置点,并在该清洁机器人完成对指定区域的清洁任务后,控制上述清洁机器人沿由所确定的全部位置点构建的目标路径移动,并对上述所记录的人员、宠物等所途经的各个位置点进行二次清洁,以清除因人员、宠物等的移动而对已清洁过的区域造成的二次污染,并且,通过构建包含上述全部位置点的目标路径,可以降低清洁路径的混乱程度,减少目标路径之间的重复。因此,可以提高清洁机器人的清洁效率,增强清洁机器人对指定区域的清洁效果。
[0074] 下面,结合附图,对本发明实施例提供的一种机器人控制方法进行具体说明。
[0075] 图1为本发明实施例提供的一种机器人控制方法的流程示意图,如图1所示,该方法可以包括如下步骤S101‑S103。
[0076] S101:在目标机器人对指定区域执行预设任务时,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点;
[0077] 在控制目标机器人对指定区域执行预设任务时,该目标机器人可以实时检测已完成上述预设任务的子区域内是否存在动态物体,从而,在检测到上述子区域存在至少一个动态物体时,可以确定每个动态物体在上述子区域内所途经的各个位置点。
[0078] 其中,上述指定区域可以是一个区域,也可以是多个区域;可以是同一平面内任意形状的区域,也可以是不同平面内的多个区域,这都是合理的,在本发明实施例中不做具体限定。
[0079] 示例性的,上述指定区域可以是同一建筑物内的三个不同楼层;也可以是建筑物中的任一个房间;还可以是任一房间中的一正方形区域等。
[0080] 上述预设任务可以是清洁任务,也可以是巡逻任务,这都是合理的;相应于上述预设任务,上述目标机器人可以是清洁机器人,也可以是巡逻机器人,这都是合理的,在本发明实施例中不对上述目标机器人的类型和预设任务的类型进行具体限定。
[0081] 可选的,一种具体实现方式中,目标机器人为清洁机器人,预设任务为清洁任务。
[0082] 在本具体实现方式中,上述目标机器人可以是清洁机器人,上述预设任务可以是清洁任务。
[0083] 也就是说,在清洁机器人对指定区域执行清洁任务时,可以实时检测已清洁完成的子区域内是否存在动态物体,在上述子区域内存在至少一个动态物体时,可以确定每个动态物体在上述子区域内所途经的各个位置点。
[0084] 在确定上述子区域内存在的动态物体所途经的各个位置点时,可以基于跟踪算法,对检测到的上述子区域内的每个动态物体进行跟踪,得到每个动态物体在上述子区域内所途经的各个位置点;也可以按照预设的指定采集时间间隔,采集上述子区域内的区域信息,并根据所采集的区域信息确定每个动态物体的位置点,得到每个动态物体所途经的各个位置点,这都是合理的,在本发明实施例中不做具体限定。
[0085] 为了行文清晰,将在后续对上述步骤S101的执行方式进行举例说明。
[0086] S102:在目标机器人对指定区域完成预设任务后,基于所确定的全部位置点的位置关系,构建途经全部位置点的目标路径;
[0087] 在上述目标机器人对上述指定区域执行预设任务时,已完成上述预设任务的子区域随着该目标机器人执行上述预设任务的时长增加而不断增大,从而,所确定的上述子区域内出现的各个动态物体途经的位置点的数量也可以随之增加,这样,在上述目标机器人对上述指定区域完成上述预设任务时,可以得到所确定的全部位置点。进而,在该目标机器人对上述指定区域完成上述预设任务后,便可以根据上述全部位置点的位置关系,构建途经上述全部位置点的目标路径。
[0088] 其中,上述位置关系可以包括上述全部位置点中任意两个位置点之间的方位关系和距离关系,也可以包括上述全部位置点中的任一位置点与上述目标机器人之间的方位关系和距离关系,这都是合理的,在本发明实施例中不做具体限定。
[0089] 可选的,在得到上述全部位置点后,可以基于上述全部位置点的位置关系,以该目标机器人的当前位置为起点,确定途经上述全部位置点的目标路径。
[0090] 在有些情况下,某两个位置点之间可能存在障碍物,因此,在构建途经上述全部位置点的目标路径时,需要考虑全部位置点中的每两个位置点之间的连通关系。
[0091] 基于此,可选的,可以基于上述全部位置点的位置关系以及全部位置点中的每两个位置点之间的连通关系,以该目标机器人的当前位置为起点,确定途经上述全部位置点的目标路径。
[0092] 其中,所谓每两个位置点之间的连通关系是根据每两个位置点之间的障碍物存在情况所确定的关系,在上述两个位置点之间存在障碍物时,上述两个位置点之间的连通关系为非连通;在上述两个位置点之间不存在障碍物时,上述两个位置点之间的连通关系为相互连通。如图6所示,点14与点15之间存在障碍物,从而,可以确定点14与点15的连通关系为非连通;点14与点1之间不存在障碍物,从而,可以确定点14与点1的连通关系为相互连通。
[0093] 可选的,可以以该目标机器人的当前位置为起点,将未被确定为目标路径的路径点的各个位置点中,与该目标机器人的当前位置之间的距离最小的位置点,确定为目标路径的第二个路径点;之后,将未被确定为目标路径的路径点的各个位置点中,与上述第二路径点之间的距离最小的位置点,确定为目标路径的第三个路径点;按照上述方法,遍历上述全部位置点,确定目标路径的各个路径点,并按照所确定的每个路径点的先后顺序,由先到后依次连接各个路径点,得到途经全部位置点的目标路径。
[0094] 可选的,可以基于全部位置点的位置关系以及全部位置点中的每两个位置点之间的连通关系,以全部路径点中的每一个位置点为起点,在与该位置点相连通且未确定为目标路径的路径点的各个位置点中,确定目标路径的路径点;之后,在与该路径点相连通且未确定为目标路径的路径点的各个位置点中,确定目标路径的下一个路径点;依次将上述全部位置点确定为目标路径的路径点,并按照确定各个路径点的先后顺序,依次连接各个路径点,构建多条途经全部位置点的候选路径。然后,可以确定每条候选路径的路径长度,并将从该目标机器人的当前位置,移动到每条候选路径的起点,之后沿着上述候选路径途经上述全部位置点的过程中,该目标机器人所途经的路径长度最短的候选路径,作为目标路径。
[0095] 当然,以上所列举的构建目标路径的方法只是举例说明,而非限定,在确定多个位置点确定目标路径时,都可以应用本发明实施例提供的方法。
[0096] S103:控制目标机器人沿目标路径移动,并执行预设任务。
[0097] 在得到上述目标路径后,便可以控制该目标机器人沿上述目标路径移动,并执行上述预设任务。
[0098] 这样,在得到上述目标路径后,可以控制该目标机器人,从该目标机器人的当前位置,依次移动到上述目标路径的每个路径点,并在移动的过程中执行上述预设任务,从而,在移动到上述目标路径的终点时,可以途经上述全部位置点,并对每个位置点再次执行了上述预设任务。
[0099] 示例性的,在上述目标机器人为清洁机器人,上述预设任务为清洁任务时,在上述清洁机器人对上述指定区域完成预设任务后,可以控制上述清洁机器人从该清洁机器人的当前位置移动到上述目标路径的起点,进而,可以控制上述清洁机器人沿上述目标路径移动,并再次执行上述清洁任务。从而,在上述清洁机器人移动到上述目标路径的路径终点时,该清洁机器人已途经上述全部位置点并对上述全部位置点再次执行了清洁任务。
[0100] 以上可见,应用本发明实施例提供的方案,目标机器人可以在完成对指定区域的预设任务后,对在上述预设任务的指定过程中,各个动态物体在已完成预设任务的子区域内所途经的位置点再次执行上述预设任务,以避免出现由于上述动态物体的移动,而导致的上述动态物体所途经的位置点的预设任务的执行结果被破坏,而不能达到上述预设任务所要求的执行效果的情况,从而,可以通过对上述动态物体所途经的位置点再次执行上述预设任务,使得上述指定区域中的各个位置均达到上述预设任务所要求的执行效果。
[0101] 其中,在清洁机器人对指定区域执行清洁任务时,可以记录人员、宠物等在其所清洁过的上述子区域内途经的各个位置点,并在该清洁机器人完成对指定区域的清洁任务后,控制上述清洁机器人沿由所确定的全部位置点构建的目标路径移动,并对上述所记录的人员、宠物等所途经的各个位置点进行二次清洁,以清除因人员、宠物等的移动而对已清洁过的区域造成的二次污染,并且,通过构建包含上述全部位置点的目标路径,可以降低清洁路径的混乱程度,减少目标路径之间的重复。因此,可以增强清洁机器人的清洁效果。
[0102] 下面,对上述步骤S101,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点的具体实现方式,进行举例说明。
[0103] 可选的,一种具体实现方式中,上述步骤S101,可以包括如下步骤11:
[0104] 步骤11:利用跟踪算法,对已完成预设任务的子区域内存在的动态物体进行跟踪,得到动态物体所途经的各个位置点。
[0105] 在本具体实现方式中,可以利用跟踪算法,对出现在已完成预设任务的子区域内的每个动态物体进行跟踪,确定每个动态物体所途经的各个位置点。
[0106] 其中,上述跟踪算法可以是差法,也可以是光流法,还可以是相似性度量算法,这都是合理的,在本发明实施例中不对上述跟踪算法进行具体限定。
[0107] 可选的,一种具体实现方式中,上述步骤11,可以包括如下步骤111‑113:
[0108] 步骤111:获取按照预设时间间隔采集的区域场景信息;
[0109] 步骤112:对每个区域场景信息进行动态物体检测,得到检测结果,并在检测结果表征已完成预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;
[0110] 步骤113:基于确定的各个位置信息,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点。
[0111] 在本具体实现方式中,在上述目标机器人对指定区域执行预设任务时,该目标机器人所搭载的采集设备可以按照自身的采集频率实时采集位于自身采集区域内的已完成预设任务的子区域的区域场景信息。这样,在确定上述已完成预设任务的子区域内是否存在动态物体时,可以设置一个预设时间间隔,并获取按照上述预设时间间隔采集的区域场景信息。
[0112] 其中,上述预设时间间隔可以与上述采集设备的采集频率所对应的采集时间周期相同;也可以与上述采集设备的采集频率所对应的采集时间周期不同,例如,在上述采集设备的采集频率所对应的采集时间周期为3秒时,上述预设时间间隔可以是3秒、6秒、12秒,这都是合理的,在本发明实施例中不做具体限定。
[0113] 可选的,在上述预设时间间隔与上述采集设备的采集频率所对应的采集时间周期相同时,按照上述预设时间间隔获取上述区域场景信息,所获取到的区域场景信息为该目标机器人所搭载的采集设备采集的全部区域场景信息;
[0114] 可选的,在上述预设时间间隔与上述采集设备的采集频率所对应的采集时间周期不同时,按照上述预设时间间隔获取上述区域场景信息,所获取到的区域场景信息为该目标机器人所搭载的采集设备采集的部分区域场景信息,示例性的,在上述采集设备的采集频率所对应的采集时间周期为4秒时,上述预设时间间隔可以是8秒时,获取一个区域场景信息后,间隔一个上述采集设备的采集频率,在获取下一个区域场景信息。
[0115] 在按照上述预设时间间隔获取已完成预设任务的子区域的多个区域场景信息之后,可以对所获取的每个区域场景信息进行动态物体检测,判断该区域场景信息中是否存在动态物体,并得到检测结果。从而,在上述检测结果表征上述已完成预设任务的子区域内存在动态物体时,可以确定所检测到的动态物体的位置信息,进而,可以基于所确定的各个位置信息,确定上述已完成预设任务的子区域内存在的每个动态物体所途经的各个位置点。
[0116] 在获取上述已完成上述预设任务的子区域的区域场景信息时,上述目标机器人所搭载的采集设备不同,所获取的区域场景信息可以是不同的。例如,上述目标机器人所搭载的采集设备可以是图像传感器,也可以是激光雷达,还可以是图像传感器和激光雷达,进而,所获取的区域场景信息可以是图像信息,也可以是激光点云,还可以是图像信息和激光点云,这都是合理的,在本发明实施例中不做具体限定。
[0117] 可选的,一种具体实现方式中,区域场景信息包括:图像信息和/或激光点云。
[0118] 在本具体实现方式中,在上述目标机器人所搭载的采集设备包括图像传感器和/或激光雷达时,所获取到的区域场景信息包括图像信息和/或激光点云。
[0119] 也就是说,在上述目标机器人所搭载的采集设备是图像传感器时,所获取的区域场景信息可以是图像信息;在上述目标机器人所搭载的采集设备是激光雷达时,所获取的区域场景信息可以是激光点云;在上述目标机器人所搭载的采集设备是图像传感器和激光雷达时,所获取的区域场景信息可以是图像信息和激光点云。
[0120] 在获取到上述区域场景信息后,可以对每个区域场景信息进行动态物体检测,并在上述已完成预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息。
[0121] 其中,针对每个区域场景信息,所检测到的动态物体的数量可以为一个或多个。
[0122] 可选的,如图2所示,在上述目标机器人所搭载的采集设备是图像传感器时,所获取的区域场景信息可以包括上述已完成预设任务的子区域的图像信息。在获取到上述图像信息后,可以基于目标识别算法判断上述子区域中是否存在动态物体,例如,判断上述图像信息中是否存在人或者宠物等。进而,在确定上述子区域中存在动态物体时,可以基于视觉算法识别出上述动态物体的位置以及与该目标机器人之间的距离,从而,得到关于上述动态物体的位置信息。其中,上述视觉算法可以是自监督算法,也可以是梯度下降法顿法,这都是合理的,在本发明实施例中不对上述视觉算法进行具体限定。
[0123] 可选的,在上述目标机器人搭载多个图像传感器时,所获取的区域场景信息可以包括上述已完成预设任务的子区域的多张图像信息,进而,可以基于目标识别算法判断上述子区域中是否存在动态物体,并在确定上述子区域内存在动态物体时,可以基于上述多张图像信息之间的视差预测上述动态物体的位置以及与该目标机器人之间的距离,从而,得到关于上述动态物体的位置信息。
[0124] 可选的,如图3所示,在上述目标机器人所搭载的采集设备是激光雷达时,所获取的区域场景信息可以包括上述已完成预设任务的子区域的激光点云。在获取到上述激光点云后,可以基于点云算法判断上述子区域中是否存在动态物体,进而,在确定上述子区域内存在动态物体时,可以基于点云算法识别出上述动态物体的位置以及与该目标机器人之间的距离,例如,在上述子区域内有人员移动时,可以基于点云算法识别出上述人员的双腿所在的位置,从而,得到上述人员的位置信息。其中,上述点云算法可以是3D点云算法,也可以是其他算法,这都是合理的,在本发明实施例中,不对上述点云算法进行具体限定。
[0125] 可选的,如图4所示,在上述目标机器人的所搭载的采集设备是图像传感器和激光雷达时,所获取的区域场景信息可以包括上述已完成预设任务的子区域的图像信息和激光点云。在获取到上述图像信息和激光点云后,可以基于激光点云在图像上的投影判断上述子区域内是否存在动态物体,进而,在确定上述子区域内存在动态物体时,可以基于视觉算法识别上述动态物体的位置,并基于上述动态物体对应的点云估算该动态物体与目标机器人的目标距离,从而,得到上述动态物体的位置信息。
[0126] 在确定上述完成预设任务的子区域内存在动态物体后,可以基于上述区域场景信息得到上述动态物体的位置信息,进而,可以基于所确定的各个位置信息,确定上述动态物体在上述子区域内途经的各个位置点。
[0127] 其中,可以将所确定的全部位置信息在指定区域中所对应的点,确定为上述动态物体在上述子区域内途经的各个位置点;也可以根据预设的选取规则,在所确定的全部位置信息在指定区域中所对应的点中,选取部分点作为上述动态物体在上述子区域内途经的各个位置点。例如,在所确定的全部位置信息在指定区域中所对应的点中,选取与障碍物距离大于指定距离的点作为上述动态物体在上述子区域内途经的各个位置点等。
[0128] 可选的,一种具体实现方式中,上述步骤11,还包括如下步骤11A‑11D:
[0129] 步骤11A:针对检测到动态物体的第一个区域场景信息,确定所检测到的动态物体的特征信息,并为所检测到的动态物体添加物体标识;
[0130] 步骤11B:针对采集时间在第一个区域场景信息的采集时间之后的每个区域场景信息,在所得到的检测结果表征子区域内存在动态物体时,确定所检测到的动态物体的目标特征信息,并判断针对上一个区域场景信息所检测到的动态物体的特征信息中,是否存在与目标特征信息相匹配的指定特征信息;若匹配,执行步骤11C;否则,执行步骤11D:
[0131] 步骤11C:为针对该区域场景信息所检测到的动态物体添加指定物体标识;其中,指定物体标识为:特征信息为指定特征信息的动态物体所添加有的物体标识;
[0132] 步骤11D:为针对该区域场景信息所检测到的动态物体添加新的物体标识;
[0133] 相应的,在本具体实现方式中,上述步骤113,基于确定的各个位置信息,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点,可以包括如下步骤1131:
[0134] 步骤1131:基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点。
[0135] 在本具体实现方式中,在获取到已完成预设任务的子区域的多个区域场景信息后,可以对所获取的每一个区域场景信息进行分析,确定该区域场景信息中是否存在动态物体。进而,针对检测到动态物体的第一个区域场景信息,可以确定所检测到的动态物体的特征信息,并为所检测到的动态物体添加物体标识。
[0136] 进而,根据采集每个区域场景信息的先后顺序,针对采集时间在第一个区域场景信息的采集时间之后的每个区域场景信息,对该区域场景信息进行动态物体检测,得到检测结果。从而,在所得到的检测结果表征子区域内存在动态物体时,确定所检测到的动态物体的目标特征信息,并判断针对上一个区域场景信息所检测到的动态物体的特征信息中是否存在与目标特征信息相匹配的指定特征信息。
[0137] 在存在与该目标特征信息相匹配的指定特征信息的情况下,可以表明针对上一个区域场景信息所检测到的动态物体中,包括针对该区域场景信息所检测到的动态物体,从而,可以为具有上述目标特征信息的动态物体和具有上述指定特征信息的动态物体添加相同的物体标识,因此,可以确定出对具有上述指定特征信息的动态物体所添加的指定物体标识,并为具有上述目标特征信息的动态物体添加上述指定物体标识。
[0138] 也就是说,在存在与该目标特征信息相匹配的指定特征信息的情况下,为针对该区域场景信息所检测到的特征信息为目标特征信息的动态物体,添加特征信息为指定特征信息的动态物体所添加有的指定物体标识;这样,可以通过判断针对连续的多个区域场景信息所检测的动态物体的特征信息是否相同,实现对同一动态物体的跟踪。
[0139] 相应的,在不存在与该目标特征信息相匹配的指定特征信息的情况下,可以表明针对上一个区域场景信息所检测到的动态物体中,不包括针对该区域场景信息所检测到的动态物体,因此,针对该区域场景信息所检测到的具有目标特征信息的动态物体可以被认定为新出现的动态物体,从而,可以为该具有目标特征信息的动态物体添加新的物体标识。
[0140] 其中,所谓新的物体标识与对在该区域场景信息之前所检测到的全部动态物体所添加的物体标识均不同的物体标识。
[0141] 示例性的,针对检测到动态物体的第一个区域场景信息,检测到动态物体A、B和C,确定上述三个动态物体的目标特征信息分别为a、b和c,并分别为上述三个动态物体添加物体标记,其中,为动态物体A添加物体标记A1,为动态物体B添加物体标记B1,为动态物体C添加物体标记C1;对上述第一个区域场景信息的下一个区域场景信息进行检测,检测到动态物体D、E和F,可以确定上述三个动态物体的目标特征信息分别为a、b和f,并将该三个目标特征信息a、b和f分别与针对上述第一区域场景信息,确定的目标特征信息分别为a、b和c进行匹配,进而,得到动态物体D的目标特征信息与动态物体A的目标特征信息相匹配,且动态物体E的目标特征信息与动态物体B的指定特征信息相匹配;此时,可以确定上述动态物体D与动态物体A为同一动态物体,进而,便可以为动态物体D添加物体标识A1,并且,上述动态物体E与动态物体B为同一动态物体,进而,便可以为动态物体E添加物体标识B1;另外,由于动态物体F的目标特征信息与针对上述第一区域场景信息,确定的目标特征信息分别为a、b和c均不匹配,则可以为该动态物体F添加新的物体标识F1。
[0142] 这样,通过对针对不同区域场景信息检测到的同一动态物体添加相同物体标识,并对针对不同区域场景信息检测到的不同动态物体添加不同物体标识,在检测完所获取的全部区域场景信息后,便可以建立动态物体、物体标识以及位置信息之间的对应关系,从而,针对具有同一物体标识的动态物体,可以得到该动态物体的各个位置信息。因此,可以针对所检测到的每个动态物体,确定该动态物体的各个位置信息,进而,确定该动态物体所途经的各个位置点。
[0143] 可选的,一种具体实现方式中,上述步骤1131,基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点,可以包括下列步骤21‑22:
[0144] 步骤21:对添加有相同物体标识的动态物体的各个位置信息进行路径构建,得到至少一条初始路径;
[0145] 步骤22:针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于多个离散点,确定已完成预设任务的子区域内存在的动态物体所途经的各个位置点。
[0146] 在本具体实现方式中,在对每个区域场景信息中的动态物体添加物体标识后,基于所添加的物体标识,可以对添加有相同物体标识的动态物体的各个位置信息进行路径构架,得到每个动态物体的初始路径。
[0147] 由于每个动态物体在上述已完成预设任务的子区域内出现的时间以及路径都可以是不同的,进而,所采集到的区域场景信息中,每个动态物体出现的频次也是不同的,所采集到的动态物体的位置信息的数量也是不同的。基于此,对于位置信息过少的动态物体而言,可能无法构建该动态物体的初始路径。
[0148] 可选的,上述步骤21,可以包括下列步骤211:
[0149] 步骤211:针对每个物体标识,若添加有该物体标识的动态物体的位置信息的数量大于预设数量,则对添加有该物体标识的动态物体的各个位置信息进行路径构建,得到初始路径。
[0150] 在本具体实现方式中,针对每个物体标识,可以确定添加该物体标识的动态物体的位置信息的数量,在添加该物体标识的数量大于预设数量,可以对添加有该物体标识的动态物体的各个位置信息进行路径构建,得到初始路径。
[0151] 进而,对于位置信息不大于上述预设数量的动态物体而言,在构建上述目标路径的过程中,可以忽略该动态物体的各个位置信息。
[0152] 其中,上述预设数量可以是5个,也可以是10个,这都是合理的,在本发明实施例中不做具体限定。
[0153] 也就是说,针对每个物体标识,在添加该物体标识的动态物体的位置信息大于上述预设数量时,可以认为上述动态物体在上述已完成预设任务的子区域内存在的时间较长,进而,可以为添加该物体标识的动态物体构建移动路径,得到该动态物体的初始路径。之后,可以对上述初始路径按照预设离散步长进行离散,得到多个离散点。
[0154] 此外,由于不同动态物体在移动过程中的速度、步频、步长等可以不同,因此,每个动态物体在上述已完成预设任务的子区域内的移动轨迹的长度可以是不同的,对于所构建的初始路径较短的动态物体而言,可能无法对该动态物体的初始路径进行离散。
[0155] 之后,针对每条初始路径,可以按照预设离散步长,对该初始路径进行离散,进而,可以得到多个离散点。这样,可以基于所得到的多个离散点,确定动态物体在上述已完成预设任务的子区域内所途经的各个位置点。
[0156] 其中,上述预设离散步长可以按照实际需要进行设定,例如3米、5米,这都是合理的,在本发明实施例中不做具体限定。
[0157] 其中,在得到上述多个离散点之后,可以将全部离散点,确定为已完成预设任务的子区域内存在的动态物体所途经的各个位置点;也可以在全部离散点中,选取部分离散点作为已完成预设任务的子区域内存在的动态物体所途经的各个位置点。
[0158] 可选的,上述步骤22,可以包括如下步骤221:
[0159] 步骤221:针对每条长度大于预设长度的初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点。
[0160] 在本具体实现方式中,在得到多条初始路径后,可以确定每条初始路径的长度,并将长度大于预设长度的初始路径,按照预设离散步长进行离散,得到多个离散点。
[0161] 其中,上述预设长度可以是8米,也可以是20米,这都是合理的,在本发明实施例中不做具体限定。
[0162] 也就是说,针对每个动态物体,在该动态物体的初始路径的长度不大于上述预设长度时,在构建上述目标路径的过程中,可以忽略该动态物体的初始路径。
[0163] 在基于上述得到的多个离散点确定每个动态物体在上述已完成预设任务内途经的各个位置点时,可以将上述多个离散点作为上述动态物体在已完成预设任务的子区域内途经的各个位置点,也可以按照预设条件在上述多个离散点中选择一部分离散点作为上述动态物体在已完成预设任务的子区域内途经的各个位置点。
[0164] 相比于直接分别沿着所确定的每个动态物体的初始路径移动,对上述初始路径进行离散,并将得到的多个离散点作为构建目标路径的多个路径点,从而得到途经全部位置点的目标路径,可以更好地规划目标机器人在再次执行上述预设任务过程中的移动路径,从而,缩短途经上述全部位置点的路径的长度,进而,在控制目标机器人沿着上述目标路径移动并再次执行上述预设任务时,可以提高该目标机器人的任务执行效率,较少目标机器人的能量消耗。
[0165] 为了便于理解本具体实现方式,下面结合图5,进行举例说明。
[0166] 如图5所示,初始路径1、初始路径2和初始路径3为:基于所检测到的三个动态物体的位置信息,分别构建得到的上述三个物体的初始路径。
[0167] 之后,针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点。其中,对初始路径1进行离散,得到离散点a、离散点b、离散点c、离散点d和离散点e;对初始路径2进行离散,得到离散点f、离散点g、离散点h、离散点i、离散点j和离散点k;对初始路径3进行离散,得到离散点l、离散点m、离散点n和离散点o。进而,便可以将上述所得到的离散点a‑o分别作为上述动态物体在已完成预设任务的子区域内途经的各个位置点。
[0168] 考虑到指定区域内可能存在障碍物,并且上述各个位置点可能分布在上述障碍物附近,因此,在构建途经全部路径点的目标路径时,可以考虑上述全部位置点中的每两个位置点之间是否存在障碍物,进而,在上述全部位置点中的每两个位置点之间存在障碍物,需要绕过上述障碍物,规划上述两个位置点之间的路径。
[0169] 在上述各个具体实现方式的基础上,可选的,一种具体实现方式中,上述步骤S102,基于所确定的全部位置点的位置关系,构建途经全部位置点的目标路径,可以包括如下步骤31:
[0170] 步骤31:基于所确定的全部位置点的位置关系,以及全部位置点中的每两个位置点之间的连通关系,构建以目标机器人的当前位置为起点,且途经全部位置点的目标路径;
[0171] 其中,连通关系为:根据每两个位置点之间的障碍物存在情况所确定的关系。
[0172] 在本具体实现方式中,在得到动态物体所途经的全部位置点后,可以确定上述全部位置点中每两个位置点之间是否存在障碍物,进而,确定上述全部位置点中每两个位置点之间的连通关系。
[0173] 可选的,若任意两个位置点之间存在障碍物,则该两个位置点之间的连通关系为不连通;反之,若任意两个位置点之间不存在障碍物,则该两个位置点之间的连通关系为连通。
[0174] 这样,在确定上述全部位置点中每两个位置点之间的连通关系后,可以基于上述全部位置点的位置关系以及全部位置点中的每两个位置点之间的连通关系,构建以机器人的当前位置为起点,并且途经全部位置点的目标路径。
[0175] 例如,采用路径规划算法、遗传算法等,构建上述目标路径。示例性的,所采用的路径规划算法可以为Dijkstra(迪杰斯特拉)算法等,对此,本发明实施例不做具体限定。
[0176] 可选的,以上述目标机器人的当前位置为起点,在与该机器人的当前位置连通的位置点中,确定与该目标机器人的当前位置之间的距离最小的位置点为目标路径的第二路径点,并连接上述起点与该第二路径点;之后,在与上述第二路径点连通的位置点中,在未确定为路径点的位置点中,确定与上述第二个路径点之间的距离最小的位置点为目标路径的第三个路径点,并连接上述第二个路径点与该第三个路径点;以此类推,遍历全部路径点,依次确定目标路径的每个路径点,并按照确定每个路径点的先后顺序,由先到后依次连接每个路径点,得到途经全部位置点的目标路径。
[0177] 示例性的,如图6所示,点1‑15为在构建得到三条初始路径的基础上,对该三条初始路径进行离散得到的全部离散点,并将点1‑15全部确定为上述动态物体在上述已完成预设任务的子区域内途经的全部位置点,圆形为目标机器人,长方形为障碍物。从而,基于点1‑点15之间的位置关系和连通关系,可以构建如图6所示的目标路径,该目标路径中,目标机器人依次通过全部位置点的顺序为:点1‑点2‑点3‑点4‑点5‑点6‑点7‑点8‑点9‑点10‑点
11‑点12‑点13‑点14‑点1‑点15。
[0178] 采用本发明的方法实施例,可以区分指定区域中的不同的动态物体,对区分出的不同动态物体的各自轨迹做精准的路径构建,使得清洁机器人能够按照精准构建的优化路径进行清洁,降低因为无法区分目标导致路径规划错误混乱或重复冗长的程度,可以提高清洁机器人的清洁效率。
[0179] 基于相同的发明构思,相应于上述本发明实施例提供的图1所示的一种机器人控制方法,本发明实施例还提供了一种机器人控制装置。
[0180] 图7为本发明实施例提供的一种机器人控制装置的结构示意图,如图7所示,该装置可以包括:
[0181] 传感器710,用于在目标机器人对指定区域执行预设任务时,采集所述目标机器人的移动信息和所述目标机器人所处环境的空间信息;
[0182] 处理器720,用于根据所述传感器采集的所述目标机器人的移动信息和所述目标机器人所处环境的空间信息,确定已完成所述预设任务的子区域;在目标机器人对指定区域执行预设任务时,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点;在所述目标机器人对所述指定区域完成所述预设任务后,基于所确定的全部位置点的位置关系,构建途经所述全部位置点的目标路径;控制所述目标机器人沿所述目标路径移动,并执行所述预设任务。
[0183] 以上可见,应用本发明实施例提供的方案,目标机器人可以在完成对指定区域的预设任务后,对在上述预设任务的指定过程中,各个动态物体在已完成预设任务的子区域内所途经的位置点再次执行上述预设任务,以避免出现由于上述动态物体的移动,而导致的上述动态物体所途经的位置点的预设任务的执行结果被破坏,而不能达到上述预设任务所要求的执行效果的情况,从而,可以通过对上述动态物体所途经的位置点再次执行上述预设任务,使得上述指定区域中的各个位置均达到上述预设任务所要求的执行效果。
[0184] 其中,在清洁机器人对指定区域执行清洁任务时,可以记录人员、宠物等在其所清洁过的上述子区域内途经的各个位置点,并在该清洁机器人完成对指定区域的清洁任务后,控制上述清洁机器人沿由所确定的全部位置点构建的目标路径移动,并对上述所记录的人员、宠物等所途经的各个位置点进行二次清洁,以清除因人员、宠物等的移动而对已清洁过的区域造成的二次污染,并且,通过构建包含上述全部位置点的目标路径,可以降低清洁路径的混乱程度,减少目标路径之间的重复。因此,可以增强清洁机器人的清洁效果。
[0185] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0186] 利用跟踪算法,对已完成所述预设任务的子区域内存在的动态物体进行跟踪,得到所述动态物体所途经的各个位置点。
[0187] 可选的,一种具体实现方式中,
[0188] 所述传感器710,还用于采集所述目标机器人在移动过程中的区域场景信息;
[0189] 所述处理器720,具体用于获取按照预设时间间隔采集的区域场景信息,对每个区域场景信息进行动态物体检测,得到检测结果,并在所述检测结果表征已完成所述预设任务的子区域内存在动态物体时,确定所检测到的动态物体的位置信息;基于确定的各个位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0190] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0191] 针对检测到动态物体的第一个区域场景信息,确定所检测到的动态物体的特征信息,并为所检测到的动态物体添加物体标识;
[0192] 针对采集时间在所述第一个区域场景信息的采集时间之后的每个区域场景信息,在所得到的检测结果表征所述子区域内存在动态物体时,确定所检测到的动态物体的目标特征信息,并判断针对上一个区域场景信息所检测到的动态物体的特征信息中,是否存在与所示目标特征信息相匹配的指定特征信息;
[0193] 若存在,则为针对该区域场景信息所检测到的动态物体添加指定物体标识;其中,所述指定物体标识为:特征信息为所述指定特征信息的动态物体所添加有的物体标识;
[0194] 若不存在,则为针对该区域场景信息所检测到的动态物体添加新的物体标识;
[0195] 基于所检测到的全部动态物体所添加有的物体标识和所确定的全部位置信息,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0196] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0197] 对添加有相同物体标识的动态物体的各个位置信息进行路径构建,得到至少一条初始路径;
[0198] 针对每条初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点,并基于所述多个离散点,确定已完成所述预设任务的子区域内存在的动态物体所途经的各个位置点。
[0199] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0200] 针对每个物体标识,若添加有该物体标识的动态物体的位置信息的数量大于预设数量,则对添加有该物体标识的动态物体的各个位置信息进行路径构建,得到初始路径。
[0201] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0202] 针对每条长度大于预设长度的初始路径,按照预设离散步长,对该初始路径进行离散,得到多个离散点。
[0203] 可选的,一种具体实现方式中,所述区域场景信息包括:图像信息和/或激光点云。
[0204] 可选的,一种具体实现方式中,所述处理器720,具体用于:
[0205] 基于所确定的全部位置点的位置关系,以及所述全部位置点中的每两个位置点之间的连通关系,构建以所述目标机器人的当前位置为起点,且途经所述全部位置点的目标路径;
[0206] 其中,所述连通关系为:根据每两个位置点之间的障碍物存在情况所确定的关系。
[0207] 可选的,一种具体实现方式中,所述目标机器人为清洁机器人,所述预设任务为清洁任务。
[0208] 本发明实施例还提供了一种机器人,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
[0209] 存储器803,用于存放计算机程序;
[0210] 处理器801,用于执行存储器803上所存放的程序时,实现上述本发明实施例提供的任一机器人控制方法的步骤。
[0211] 上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry  Standard Architecture,EISA)总线等。该通信总线可以分为地址总线数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0212] 通信接口用于上述电子设备与其他设备之间的通信。
[0213] 存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non‑Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0214] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0215] 在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一机器人控制方法的步骤。
[0216] 在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一机器人控制方法。
[0217] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0218] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0219] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、机器人实施例、计算机可读存储介质实施例以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0220] 以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
QQ群二维码
意见反馈