一种移动机器人及其探索移动方法、计算机存储介质与流程

文档序号:29069795发布日期:2022-03-01 21:00阅读:69来源:国知局
一种移动机器人及其探索移动方法、计算机存储介质与流程

1.本技术涉及机器人应用技术领域,特别是涉及一种移动机器人及其探索移动方法、计算机存储介质。


背景技术:

2.近些年来,移动机器人,尤其是扫地机器人,慢慢进入千家万户,成为人们日常生活中的常见电器和得力助手,扫地机器人行业蓬勃发展,对于扫地机器人的常见技术的研究也越发重要。
3.扫地机器人的核心工作之一是对整个房间的待清扫区域进行全覆盖,也就是通过自身移动,使得机器人的有效清洁面积覆盖整个待清扫区域。一种常见的覆盖清扫策略是:扫地机器人随机运动,当机身周围的碰撞传感器检测到自身和障碍物发生碰撞后,扫地机器人向左或向右转动,继续进行随机运动。该策略在时间足够长的情况下理论上能够实现全覆盖,但在实际应用中,往往无法达到足够高的覆盖率,并且覆盖存在重叠,效率低下。
4.随着激光雷达、rgbd(redgreenbluedeep,红绿蓝深度)相机的性能提升和成本下降,扫地机器人也逐渐呈现出安装更多的感知传感器来丰富自身功能和效率的趋势。对于扫地机器人来说,其通过高度(扫地机器人工作时距离地面的最大高度)决定了在家庭场景下的覆盖区域大小。通过高度越小,扫地机器人能够进入更加低矮的家具下方,清扫面积更大,清扫效果越好。因此降低扫地机器人的通过高度是绝大多数扫地机器人必须改进的方向。
5.经典的顶装激光雷达虽然具有360度的视野范围,但是带来两个显著的问题:一是通过高度的增加,现有扫地机器人上安装的单线激光雷达会导致通过高度至少增加1cm左右;二是顶装激光雷达只能扫描其安装高度所在的平面,因此无法发现更低高度处的障碍物,如宠物粪便等,大大降低了用户体验。因此高端型号的扫地机器人产品往往会在较低高度处安装相机等辅助传感器来进行辅助避障,并且将顶装激光雷达换成在较低高度的线激光传感器。这种设计方案以牺牲部分感知范围的代价解决了上述两个问题,但也带来了扫地机器人的感知范围受限,无法很好地实现全覆盖的探索清扫效果。


技术实现要素:

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.若所述第二移动路径中不存在作为可移动位置点的第二位置点,以所述第一移动路径为参考路径,按照预设扩展方向搜索存在作为可移动位置点的第五位置点的第三移动路径;
36.按照所述第三移动路径进行移动。
37.通过上述方式,移动机器人通过确认第二移动路径上不存在可移动位置点,放弃第二移动路径,进而探索其他的移动路径,能够及时剔除无效路径,获取可行路径,可提高移动机器人探索移动的准确性。
38.其中,所述按照预设扩展方向搜索存在作为可移动位置点的第五位置点的第三移动路径,包括:
39.以所述第一移动路径的一侧方向为第一扩展方向,按照预设间隔递增探索第一条存在可移动位置点的第四移动路径;
40.获取所述第四移动路径与所述第一移动路径的第一垂直距离;
41.以所述第一移动路径的另一侧方向为第二扩展方向,按照预设间隔递增探索第一条存在可移动位置点的第五移动路径;
42.获取所述第五移动路径与所述第一移动路径的第二垂直距离;
43.在所述第一垂直距离与预设权重的乘积小于等于所述第二垂直距离的情况下,选择所述第四移动路径作为所述第三移动路径;和/或,
44.在所述第一垂直距离与预设权重的乘积大于所述第二垂直距离的情况下,选择所述第五移动路径作为所述第三移动路径。
45.通过上述方式,移动机器人以移动距离为参考因素,选择最优的移动路径,替换不存在可移动位置点的第二移动路径,能够有效提高移动机器人探索移动的准确性。
46.本技术采用的另一个技术方案是提供一种移动机器人,所述移动机器人包括:移动模块、感知模块以及更新模块;其中,
47.所述移动模块,用于按照第一移动路径进行移动;
48.所述感知模块,用于在移动过程中,持续获取并更新感知地图;
49.所述更新模块,用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点满足第一预设规则的情况下,将所述第一位置点更新为所述第一移动路径的更新终点;
50.所述移动模块,还用于沿所述第一移动路径方向进行移动,直至所述更新终点。
51.其中,所述更新模块,还用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点为可移动位置点,且下一个位置点为已移动位置点或障碍位置点的情况下,将所述第一位置点更新为所述第一移动路径的更新终点。
52.其中,所述更新模块,还用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点为可移动位置点,且不存在下一个位置点的情况下,将所述第一位置点更新为所述第一移动路径的更新终点。
53.其中,所述感知地图包括原始图层和覆盖图层,其中,所述原始图层用于标记所述移动机器人的可到达位置点以及障碍位置点,所述覆盖图层用于标记所述移动机器人的已移动位置点以及未移动位置点。
54.其中,所述可移动位置点在所述感知地图上的位置,同时在所述原始图层的可到达位置点以及所述覆盖图层的未移动位置点上。
55.其中,所述移动模块,还用于获取第二移动路径;
56.所述感知模块,还用于在移动机器人移动至所述第二移动路径的起点的移动过程中,持续获取并更新感知地图;
57.所述更新模块,还用于在所述第二移动路径中存在作为可移动位置点的第二位置点时,以所述第二位置点为基点,分别往所述第二移动路径的起点方向以及终点方向更新所述第二移动路径的起点和/或终点;
58.所述移动模块,还用于按照更新后的第二移动路径的起点以及终点进行移动。
59.其中,所述更新模块,还用于往所述第二移动路径的起点方向,探索一个第三位置点作为所述第二移动路径的更新起点,其中,所述第三位置点满足所述第一预设规则;和/或,
60.往所述第二移动路径的终点方向,探索一个第四位置点作为所述第二移动路径的更新终点,其中,所述第四位置点满足所述第一预设规则。
61.其中,所述更新模块,还用于若所述第二移动路径中不存在作为可移动位置点的第二位置点,以所述第一移动路径为参考路径,按照预设扩展方向搜索存在作为可移动位置点的第五位置点的第三移动路径;
62.所述移动模块,还用于按照所述第三移动路径进行移动。
63.其中,所述更新模块,还用于以所述第一移动路径的一侧方向为第一扩展方向,按照预设间隔递增探索第一条存在可移动位置点的第四移动路径;获取所述第四移动路径与所述第一移动路径的第一垂直距离;以所述第一移动路径的另一侧方向为第二扩展方向,按照预设间隔递增探索第一条存在可移动位置点的第五移动路径;获取所述第五移动路径与所述第一移动路径的第二垂直距离;在所述第一垂直距离与预设权重的乘积小于等于所述第二垂直距离的情况下,选择所述第四移动路径作为所述第三移动路径;和/或,在所述第一垂直距离与预设权重的乘积大于所述第二垂直距离的情况下,选择所述第五移动路径
作为所述第三移动路径。
64.本技术采用的另一个技术方案是提供另一种移动机器人,所述移动机器人包括存储器以及与所述存储器耦接的处理器;
65.其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如上述的探索移动方法。
66.本技术采用的另一个技术方案是提供一种计算机存储介质,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如上述的探索移动方法。
67.本技术的有益效果是:移动机器人按照第一移动路径进行移动;在移动过程中,持续获取并更新感知地图;沿第一移动路径方向探索,感知地图上存在一个第一位置点满足第一预设规则的情况下,将第一位置点更新为第一移动路径的更新终点;沿第一移动路径方向进行清扫,直至更新终点。本技术的移动机器人能够通过边移动边探索的方式不断扩展感知地图,更新移动路径,高效自主地完成探索移动任务,提高移动机器人的覆盖率。
附图说明
68.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
69.图1是本技术提供的探索移动方法一实施例的流程示意图;
70.图2是本技术提供的探索移动策略框架一实施例的示意图;
71.图3是本技术提供的gotostart状态的示意图;
72.图4是本技术提供的starttoend状态的示意图;
73.图5是本技术提供的gotostart状态和starttoend状态的状态转换示意图;
74.图6是本技术提供的探索移动方法另一实施例的流程示意图;
75.图7是本技术提供的在gotostart状态更新移动路径一实施例的示意图;
76.图8是本技术提供的在gotostart状态更新移动路径另一实施例的示意图;
77.图9是本技术提供的探索移动方法又一实施例的流程示意图;
78.图10是本技术提供的在starttoend状态更新移动路径一实施例的示意图;
79.图11是本技术提供的移动机器人一实施例的结构示意图;
80.图12是本技术提供的移动机器人另一实施例的结构示意图;
81.图13是本技术提供的计算机存储介质一实施例的结构示意图。
具体实施方式
82.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
83.具体请参见图1和图2,图1是本技术提供的探索移动方法一实施例的流程示意图,图2是本技术提供的探索移动策略框架一实施例的示意图。
84.本技术实施例的探索移动方法可应用于一种移动机器人,例如扫地机器人、物流机器人、割草机器人、清洁机器人或者搬运机器人等其他类型的移动机器人,也可应用于移动机器人中搭载的处理系统或处理器,或者移动机器人以外的控制系统等。下文以扫地机器人为例进行说明。
85.如图1所示,本技术实施例的探索移动方法具体可以包括以下步骤:
86.步骤s11:按照第一移动路径进行移动。
87.在本技术实施例中,扫地机器人在当前的感知地图中获取第一移动路径,并按照该第一移动路径进行移动。具体地,扫地机器人可将初始化工作时的位置作为原始点,以原始点位置为中心首先获取当前的感知地图,按照当前的感知地图中的多个连续可移动位置点构建出第一移动路径。这种情况下,第一移动路径可作为扫地机器人的初始移动路径。另外,本技术实施例的第一移动路径也可以为扫地机器人开始工作后的任意一段移动路径。
88.当第一移动路径作为扫地机器人的初始移动路径时,一种可能的实现方式中,第一移动路径也可以按照弓字形轨迹规划为直线路径;另一种可能的实现方式中,第一移动路径也可以为曲线路径,后续的第二移动路径以及其他移动路径按照弓字形轨迹规划为直线路径。
89.需要说明的是,本技术的扫地机器人在沿移动路径进行移动的同时,还可以同步进行清扫工作,即本技术的探索移动方法还可以用于扫地机器人的探索清扫任务。
90.步骤s12:在移动过程中,持续获取并更新感知地图。
91.在本技术实施例中,如图2所述,扫地机器人具体包括局部路径生成模块以及地图管理模块。其中,局部路径生成模块用于实现扫地机器人的路径生成功能,路径更新功能以及路径删除功能等;地图管理模块用于根据扫地机器人使用激光雷达和/或rgbd相机等传感设备采集所处环境的地图场景信息,生成对应的感知地图;以及根据持续获取的地图场景信息,对感知地图不断进行更新,如更新扫地机器人的位置和/或障碍物的位置。
92.由于本技术实施例中的扫地机器人可以在移动过程中,持续获取并更新感知地图,能够弥补单一扫地机器人的感知范围有限的问题,适合视野范围受限或在大面积工作环境下的扫地机器人。
93.示例性地,感知地图以栅格图的形式存储,地图管理模块基于地图场景信息生成感知地图的原始图层,并利用原始图层创建感知地图的覆盖图层。
94.其中,原始图层存储扫地机器人已经感知到的环境信息,是环境信息的来源和移动决策的依据,原始图层的栅格数据可以标记为p_i。原始图层中的位置点可以划分为free(可到达位置点)和notfree(障碍位置点),如图2中的空白栅格a为free,黑色栅格为notfree。可到达位置点代表扫地机器人可以移动到的位置点,扫地机器人可以在可到达位置点上自动移动;障碍位置点代表存在障碍物的位置点,扫地机器人无法移动至障碍位置点上或穿越障碍位置点。
95.需要说明的是,由于障碍物,包括动态障碍物如人、宠物等,静态障碍物如椅子、餐桌等,可以通过原始图层中的障碍位置点进行体现。例如,对于动态障碍物而言,在当前时刻,动态障碍物所在的区域即由障碍位置点组成,扫地机器人在移动探索时,可避开动态障碍物所在的区域。在下一时刻,动态障碍物离开原来的区域,原来的区域即可以由原始图层中的可达到位置点组成,此时,扫地机器人对该区域进行检查后,即可将该区域的可达到位
置点纳入后续路径规划的范围,从而实现对这部分区域进行补充清扫。
96.通过以上方式,一方面,扫地机器人可以通过原始图层中的障碍位置点来自主躲避静态障碍物和动态障碍物,对于复杂动态清洁环境适应性好;另一方面,由于原始图层中的障碍位置点和可到达位置点根据扫地机器人的持续感知不断变化,使得由障碍位置点变化为可到达位置点的位置点也可以纳入后续路径规划的范围,从而能够在动态障碍物离开工作环境之后,对其先前占据的位置进行清扫,提高扫地机器人的覆盖率。
97.其中,覆盖图层用于标记扫地机器人已经覆盖的区域及其位置点,覆盖图层的栅格数据可以标记为p_c。例如,当扫地机器人的滚刷或真空吸尘装置工作时,地图管理模块可以将扫地机器人的位置点在覆盖图层上用指定值进行标记。具体地,覆盖图层中的位置点可以划分为covered(已移动位置点)和uncovered(未移动位置点),如图2中的栅格b为covered,如图2中的空白栅格c为uncovered。已移动位置点代表扫地机器人已经覆盖过该栅格位置点,未移动位置点代表扫地机器人未覆盖过该栅格位置点。
98.例如,假设扫地机器人的当前位置点为curr_pos,在栅格地图(原始图层和/或覆盖图层)的索引为index,栅格地图图层为m。标定索引至当前位置点的映射关系为:f(curr_pos,m)->index;标定当前位置点至索引的映射关系为:fi(index,m)->curr_pos。
99.在探索清扫的过程中,随着扫地机器人的感知范围的扩大,原始图层的大小以及扫地机器人的参考位置也会发生相应的变化,此时,则需要对覆盖图层进行同步更新。具体地,扫地机器人可以根据上述映射关系映射出扫地机器人在覆盖图层上的栅格索引。对于覆盖图层中的标记栅格cell,扫地机器人使用映射关系fi得到标记栅格cell在世界坐标系下的位置点,然后再利用映射关系f得到新的覆盖图层下标记栅格cell对应的栅格索引。具体的映射过程请参见:
100.fi(index
ol
d,m
old
)

pos
101.f(pos,m
new
)

index
new
102.其中,index
old
为旧的栅格索引,index
new
为新的栅格索引,pos为扫地机器人的当前位置点,m
old
为旧的覆盖图层,m
new
为新的覆盖图层。
103.地图管理模块为局部路径生成模块提供持续更新的感知地图,有利于扩大扫地机器人的感知范围,为扫地机器人的探索清扫任务提供可靠准确的地图信息。其中,按照局部路径生成模块中的遍历规则,当覆盖图层中所有可标记的栅格都被标记,则本次探索清扫任务完成。
104.下面继续介绍局部路径生成模块在本技术的探索移动方法的功能的工作流程:
105.在本技术实施例中,局部路径生成模块的功能是决策扫地机器人的局部行为,并规划其运动轨迹。
106.扫地机器人在清扫时一般采用弓字形轨迹以提高覆盖效率。弓字形轨迹是一组等间距的(一般以扫地机器人滚刷宽度作为参考)平行线,相互之间首尾相连,构成汉字“弓”的形状。在局部路径生成模块中,生成的路径同样按照弓字形轨迹的规则确定。也就是说,扫地机器人在覆盖当前清扫的路径时,下一条待覆盖的路径是右侧(或左侧)的平行线。
107.在局部路径生成模块中,定义两种路径状态:
108.(1)gotostart:请参阅图3,图中圆圈表示扫地机器人,图3所示即为从扫地机器人的当前位置移动到下一条待覆盖的路径s2e2的过程。
109.(2)starttoend:请参阅图4,图中圆圈表示扫地机器人,图4所示为扫地机器人正在覆盖一条路径,其终点为e1。
110.扫地机器人开始探索清扫任务时,需要确定第一条覆盖清扫的移动路径,由于gotostart状态中同样需要更新s2e2的端点,因此,开始状态属于gotostart的一种。当整个感知地图场景中不存在下一条可以覆盖的移动路径时,则代表探索清扫任务结束,因此,探索清扫任务前扫地机器人的状态可能是gotostart状态或starttoend状态。例如,当扫地机器人处于gotostart状态时,由于感知地图的更新,先前的移动路径s2e2失效,而又不存在另一条可覆盖的移动路径时,扫地机器人进入结束状态。
111.请继续参阅图5,在探索清扫任务的执行过程中,gotostart和starttoend两种状态的相互切换使得扫地机器人能够按照弓字形轨迹进行覆盖。当扫地机器人处于starttoend,并且curr_pos=e1时,状态切换为gotostart;当扫地机器人处于gotostart,并且curr_pos=s2时,状态切换为starttoend。
112.下面通过本技术实施例提供的探索移动方法继续介绍以上两种移动状态在探索移动方法中的具体应用:
113.请继续参阅图6,图6是本技术提供的探索移动方法另一实施例的流程示意图:
114.步骤s21:获取第二移动路径。
115.在本技术实施例中,扫地机器人覆盖完第一移动路径后,需要从starttoend状态切换到gotostart状态,即获取第二移动路径,并从第一移动路径的终点向第二移动路径的起点移动。
116.在本技术实施例中,第二移动路径可以是扫地机器人开始覆盖任务时需要获取的初始移动路径,之后扫地机器人可处于gotostart状态,从当前位置移动到初始移动路径起点。
117.其中,第二移动路径的获取过程与上述第一移动路径的获取过程相同,在此不再赘述。
118.步骤s22:在移动机器人移动至第二移动路径的起点的移动过程中,持续获取并更新感知地图。
119.在本技术实施例中,从第一移动路径的终点向第二移动路径的起点移动的过程中,扫地机器人需要持续获取并更新感知地图,具体过程请参阅上述步骤s12,在此不再赘述。
120.步骤s23:判断第二移动路径中是否存在作为可移动位置点的第二位置点。
121.在本技术实施例中,扫地机器人进入gotostart状态,扫地机器人需要更新第二移动路径s2e2的端点来应对感知范围的扩大或更新。
122.具体地,在扫地机器人从当前位置点curr_pos向起点s2移动过程中,首先需要检查原有的第二移动路径s2e2是否失效,即s2e2是否可以作为下一条覆盖路径。具体判断逻辑为,判断第二移动路径s2e2中是否存在作为可移动位置点的第二位置点。
123.假设需要进行覆盖的可移动位置点为:
124.p
vaild
={p∈s2e2|pi=free∩pc=uncovered}
125.其中,s2e2为第二移动路径,free为可到达位置点,uncovered为未移动位置点;p
vaild
为可移动位置点,p
vaild
需要同时满足为原始图层上的可到达位置点以及为覆盖图层
上的未移动位置点。
126.需要说明的是,可移动位置点的定义如下:可移动位置点在感知地图上的位置,同时在原始图层的可到达位置点以及覆盖图层的未移动位置点上。
127.当时,即第二移动路径s2e2有效,进入步骤s25。
128.当时,即第二移动路径s2e2由于感知地图更新失效,进入步骤s24。
129.步骤s24:以第一移动路径为参考路径,按照预设扩展方向搜索存在作为可移动位置点的第五位置点的第三移动路径,并按照第三移动路径进行移动。
130.在本技术实施例中,预设扩展方向以第一移动路径为基准,搜索其他有效移动路径的方向,具体可以为第一移动路径行进方向的左侧方向和/或右侧方向等,或者为第一移动路径中起点和终点相连直线的两侧方向。
131.在一种可能的实现方式中,扫地机器人可将与第一移动路径距离最近的第五位置点所属的移动路径确定为第三移动路径,或者将多个第五位置点所属的移动路径中,与第一移动路径距离最近的移动路径确定为第三移动路径。
132.在另一种可能的实现方式中,扫地机器人可按照以下规则确定第三移动路径:
133.具体请参阅图7,图7中的黑色圆表示扫地机器人,左侧第一子图表示扫地机器人在第一移动路径上移动时的感知地图,当扫地机器人从第一移动路径的终点向第二移动路径的起点移动的过程中,扫地机器人的持续获取并更新感知地图,有利于扩大扫地机器人的感知地图,得到更多的地图信息,即图7中的右侧第二子图表示扫地机器人从第一移动路径的终点向第二移动路径的起点移动时的感知地图。从图7中可以体现出,通过扫地机器人持续获取并更新感知地图,可以弥补单一扫地机器人感知范围有限的问题,不断扩大扫地机器人的感知范围。
134.当需要确定新的移动路径s2e2时,以第一移动路径(e1所在的移动路径)为参考路径,以第一移动路径的行进方向的右侧方向为主要扩展方向,即第一扩展方向,按照间距递增寻找第一条有效的移动路径s2’e2’;同样地,在次要扩展方向,即第二扩展方向,第一移动路径的行进方向的左侧方向也按照间距递增寻找第一条有效的移动路径s2”e2”。其中,有效移动路径即,在该移动路径上存在可移动位置点的移动路径。
135.然后,比较当前位置点curr_pos到移动路径s2’e2’的第一垂直距离h_right和到移动路径s2”e2”的第二垂直距离h_left。若h_left《α
·
h_right,则选择次要方向的移动路径s2”e2”作为第三移动路径;若h_left≥α
·
h_right,则选择主要方向的移动路径s2’e2’作为第三移动路径。其中,由于主要扩展方向为右侧方向,主要扩展方向的权值α≤1,α的值由经验值提前预设。
136.步骤s25:以第二位置点为基点,分别往第二移动路径的起点方向以及终点方向更新第二移动路径的起点和/或终点。
137.在本技术实施例中,第二移动路径s2e2有效时,扫地机器人从可移动位置点p
vaild
分别向s2,e2两个方向进行搜索,确定新的移动路径s2e2。其中,搜索的规则如下:
138.向s2方向探索,感知地图上存在一个位置点为可移动位置点,且下一个位置点为已移动位置点或障碍位置点的情况下,将该位置点作为更新后的起点s2。或者,向s2方向探
索,感知地图上存在一个位置点为可移动位置点,且不存在下一个位置点的情况下,将该位置点作为更新后的起点s2。
139.向e2方向探索,感知地图上存在一个位置点为可移动位置点,且下一个位置点为已移动位置点或障碍位置点的情况下,将该位置点作为更新后的终点e2。或者,向e2方向探索,感知地图上存在一个位置点为可移动位置点,且不存在下一个位置点的情况下,将该位置点作为更新后的终点e2。
140.具体请参阅图8,图8中的黑色圆表示扫地机器人,左侧第一子图和右侧第二子图依次表示扫地机器人从第一移动路径的终点向第二移动路径的起点移动的过程中扫地机器人的感知地图,对比图8中的第一子图和第二子图,可以得到扫地机器人的感知地图随着移动过程不断扩大。同时,由于扫地机器人的感知地图不断更新,对于感知地图上的感知信息也在不断更新,如图8中的第二子图,由于第二子图中第二移动路径的起点由于障碍物的出现,扫地机器人无法移动到此处,因此,需要对第二移动路径进行更新。
141.图8中原来的起点s2’由于出现障碍物,扫地机器人无法到达起点s2’,因此,移动路径的起点更新为图中的s2。图8中原来的终点e2’由于感知范围的扩大,移动路径的终点更新为图中的e2。
142.步骤s26:按照更新后第二移动路径的起点以及终点进行移动。
143.在本技术实施例中,扫地机器人移动到更新后的第二移动路径起点后,切换至starttoend状态,按照更新后的第二移动路径执行探索清扫任务。
144.请继续参阅图9,图9是本技术提供的探索移动方法又一实施例的流程示意图:
145.步骤s31:获取第二移动路径。
146.步骤s32:在移动机器人移动至第二移动路径的起点的移动过程中,持续获取并更新感知地图。
147.步骤s33:判断第二移动路径中是否存在作为可移动位置点的第二位置点。
148.在第二移动路径中不存在作为可移动位置点的第二位置点的情况下,执行如下步骤s34:以第一移动路径为参考路径,按照第一移动路径的始端方向和/或末端方向搜索存在作为可移动位置点的第六位置点的第三移动路径,并按照第三移动路径进行移动。
149.在本技术实施例中,在第二移动路径中不存在作为可移动位置点的第二位置点的情况下,以第一移动路径为参考路径,探索新的移动路径过程中,预设扩展方向还可以是第一移动路径的始端方向和/或末端方向。
150.在一种可能的实现方式中,第一移动路径为扫地机器人开始执行任务时,由扫地机器人初始位置到任务起点(如规划的弓形路径起点)的路径,该路径可以是直线或曲线路径,本技术实施例对应提出了图9所示的探索移动方法。
151.其中,始端方向为第一移动路径的起点的初始移动方向的反方向(如路径在起点的切线方向的反方向),末端方向为在第一移动路径的终点的最终移动方向(如路径在终点的切线方向)。
152.具体地,扫地机器人在原来规划的第二移动路径中不存在作为可移动位置点的第二位置点的情况下,以第一移动路径为参考路径,按照第一移动路径的始端方向为主要扩展方向搜索第三移动路径,按照第一移动路径的末端方向为次要扩展方向搜索第三移动路径;或者按照第一移动路径的末端方向为主要扩展方向搜索第三移动路径,按照第一移动
路径的始端方向为次要扩展方向搜索第三移动路径。
153.在一种可能的实现方式中,第一移动路径为曲线路径,存在始端方向和末端方向为同一方向的情况,此时,扫地机器人可以按照第一移动路径的始端方向为主要扩展方向搜索第三移动路径,按照始端方向的反方向为次要扩展方向搜索第三移动路径。
154.其中,第三移动路径的具体确定方式可参考图6所示的探索移动方法中的搜索方式。
155.类似地,在扫地机器人确定第二移动路径中存在作为可移动位置点的第二位置点的情况下,可以第二位置点为基点,分别往第二移动路径的起点方向以及终点方向更新第二移动路径的起点和/或终点,之后按照按照更新后第二移动路径的起点以及终点进行移动。
156.请继续参阅图1中的探索移动方法,下面继续介绍starttoend状态在探索移动方法中的具体应用:
157.具体地,在starttoend状态下,扫地机器人除了需要按照gotostart的过程更新移动路径外,还需要检测正前方的环境是否发生变化,然后根据变化的环境更新当前移动路径的终点。
158.步骤s13:沿第一移动路径方向探索,感知地图上存在一个第一位置点满足第一预设规则的情况下,将第一位置点更新为第一移动路径的更新终点。
159.在本技术实施例中,如图10所示,图10中的黑色圆表示扫地机器人,左侧第一子图表示扫地机器人在第一移动路径的起点时的感知地图,中间第二子图和右侧第三子图分别表示随着扫地机器人在第一移动路径上移动的过程中,感知地图的变化。
160.一种可能的实现方式中,如第二子图所示,通过更新的感知地图可知,第一移动路径上的终点可能由于障碍物的存在,由可移动位置点更新为不可移动位置点,此时,扫地机器人需要在原来的第一移动路径上搜索其他可移动位置点,设置为第一移动路径上新的终点,保证扫地机器人的顺利运行。
161.一种可能的实现方式中,如第三子图所示,通过更新的感知地图可知,沿第一移动路径的行进方向,扫地机器人感知到第一移动路径的终点后面的位置点出现其他可移动位置点,此时,扫地机器人可以在其他可移动位置点中搜索合适的位置点,作为第一移动路径上新的终点,从而及时更新移动路径,提高扫地机器人的覆盖率。
162.扫地机器人从当前位置点出发,扫描搜索新的移动路径终点e1。其中,搜索的规则如下:
163.向e1方向探索,扫描检查当前位置点与原来的终点之间的栅格,如果某一位置点为可移动位置点,并且下一个位置点不为可移动位置点时,将该位置点更新为新的终点e1,例如扫地机器人前方出现障碍物的场景的情况下,该障碍物所在位置点的前一个位置点即为新的终点e1。
164.向e1方向探索,感知地图上存在一个位置点为可移动位置点,且不存在下一个位置点的情况下,将该位置点更新为作为更新后的终点e1,例如扫地机器人的感知范围扩大的场景中,扫地机器人移动过程中持续感知前方存在可移动位置点,直到前方达到场景边界,则边界前一个位置点即为更新后的终点e1。
165.步骤s14:沿第一移动路径方向进行移动,直至更新终点。
166.在本技术实施例中,扫地机器人按照第一清扫路径进行清扫;在清扫过程中,持续获取并更新感知地图;沿第一清扫路径方向探索,感知地图上存在一个第一位置点满足第一预设规则的情况下,将第一位置点更新为第一清扫路径的更新终点;沿第一清扫路径方向进行清扫,直至更新终点。本技术的移动机器人能够通过边移动边探索的方式不断扩展感知地图,更新移动路径,高效自主地完成探索移动任务。
167.以上实施例,仅是对本技术的其中一种常见案例而已,并非对本技术的技术范围做任何限制,故凡是依据本技术方案的实质对以上内容所做的任何细微修改、等同变化或者修饰,均仍属于本技术技术方案的范围内。
168.请继续参见图11,图11是本技术提供的移动机器人一实施例的结构示意图。其中,移动机器人30包括移动模块31、感知模块32以及更新模块33。
169.其中,所述移动模块31,用于按照第一移动路径进行移动。
170.所述感知模块32,用于在移动过程中,持续获取并更新感知地图。
171.所述更新模块33,用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点满足第一预设规则的情况下,将所述第一位置点更新为所述第一移动路径的更新终点。
172.所述移动模块31,还用于沿所述第一移动路径方向进行移动,直至所述更新终点。
173.其中,所述更新模块33,还用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点为可移动位置点,且下一个位置点为已移动位置点或障碍位置点的情况下,将所述第一位置点更新为所述第一移动路径的更新终点。
174.其中,所述更新模块33,还用于沿所述第一移动路径方向探索,所述感知地图上存在一个第一位置点为可移动位置点,且不存在下一个位置点的情况下,将所述第一位置点更新为所述第一移动路径的更新终点。
175.其中,所述感知地图包括原始图层和覆盖图层,其中,所述原始图层用于标记所述移动机器人的可到达位置点以及障碍位置点,所述覆盖图层用于标记所述移动机器人的已移动位置点以及未移动位置点。
176.其中,所述可移动位置点在所述感知地图上的位置,同时在所述原始图层的可到达位置点以及所述覆盖图层的未移动位置点上。
177.其中,所述移动模块31,还用于获取第二移动路径;
178.所述感知模块32,还用于在移动机器人移动至所述第二移动路径的起点的移动过程中,持续获取并更新感知地图;
179.所述更新模块33,还用于在所述第二移动路径中存在作为可移动位置点的第二位置点时,以所述第二位置点为基点,分别往所述第二移动路径的起点方向以及终点方向更新所述第二移动路径的起点和/或终点;
180.所述移动模块31,还用于按照更新后的第二移动路径的起点以及终点进行移动。
181.其中,所述更新模块33,还用于往所述第二移动路径的起点方向,探索一个第三位置点作为所述第二移动路径的更新起点,其中,所述第三位置点满足所述第一预设规则;往所述第二移动路径的终点方向,探索一个第四位置点作为所述第二移动路径的更新终点,其中,所述第四位置点满足所述第一预设规则。
182.其中,所述更新模块33,还用于若所述第二移动路径中不存在作为可移动位置点
的第二位置点,以所述第一移动路径为参考路径,按照预设扩展方向搜索存在作为可移动位置点的第五位置点的第三移动路径;
183.所述移动模块31,还用于按照所述第三移动路径进行移动。
184.其中,所述更新模块,还用于以所述第一移动路径的右侧方向为第一扩展方向,按照预设间隔递增探索第一条存在可清扫位置点的第四移动路径;获取所述第四移动路径与所述第一移动路径的第一垂直距离;以所述第一移动路径的左侧方向为第二扩展方向,按照预设间隔递增探索第一条存在可清扫位置点的第五移动路径;获取所述第五移动路径与所述第一移动路径的第二垂直距离;在所述第一垂直距离与预设权重的乘积小于等于所述第二垂直距离的情况下,选择所述第四移动路径作为所述第三移动路径;和/或在所述第一垂直距离与预设权重的乘积大于所述第二垂直距离的情况下,选择所述第五移动路径作为所述第三移动路径。
185.请继续参见图12,图12是本技术提供的移动机器人另一实施例的结构示意图。本技术实施例的移动机器人500包括处理器51、存储器52、输入输出设备53以及总线54。
186.该处理器51、存储器52、输入输出设备53分别与总线54相连,该存储器52中存储有程序数据,处理器51用于执行程序数据以实现上述实施例所述的探索移动方法。
187.在本技术实施例中,处理器51还可以称为cpu(central processing unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(dsp,digital signal process)、专用集成电路(asic,application specific integrated circuit)、现场可编程门阵列(fpga,field programmable gate array)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器51也可以是任何常规的处理器等。
188.本技术还提供一种计算机存储介质,请继续参阅图13,图13是本技术提供的计算机存储介质一实施例的结构示意图,该计算机存储介质600中存储有程序数据61,该程序数据61在被处理器执行时,用以实现上述实施例的探索移动方法。
189.本技术的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
190.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,方式利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1