一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

导航路径的规划方法、装置及存储介质与流程

2022-09-02 21:39:38 来源:中国专利 TAG:


1.本技术实施例涉及人工智能技术领域,尤其涉及一种导航路径的规划方法、装置及存储介质。


背景技术:

2.随着人工智能技术的快速发展,目前,割草机器人已经可以代替人工执行修剪草坪等任务,极大的降低了人工成本。现有的,割草机器人一般可以基于随机路径执行修剪草坪任务。
3.然而,在基于随机路径执行修剪草坪任务时,割草机器人的工作效率很低,并且经常会出现部分区域未被覆盖到的情况。


技术实现要素:

4.本技术提供一种导航路径的规划方法、装置及存储介质,通过为移动设备规划合理的导航路径,可以提高移动设备的工作效率,并可以避免出现部分区域未被覆盖到的情况。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,本技术提供一种导航路径的规划方法,包括:获取任务区域的栅格地图;该栅格地图由候选栅格构成,且候选栅格包括可行驶栅格和非行驶栅格;以候选栅格中的起始栅格为起点,结合弓字形导航算法和a星寻路算法遍历完栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
7.本技术提供的技术方案中,在获取到由候选栅格构成的栅格地图后,可以基于弓字形导航算法对栅格地图中的可行驶栅格进行遍历,并基于遍历的路线进行导航路径的规划。基于弓字形导航算法遍历可行驶栅格,可以减少候选栅格被重复遍历的次数,所以本技术规划的导航路径中重复路径较少,因此本技术可以提高移动设备的工作效率。另外,由于规划导航路径的过程中需要对障碍物进行避障,所以在遍历可行驶栅格的过程中,为了绕开非行驶栅格,在完成一次栅格地图的遍历后,可能会存在部分可行驶栅格未被遍历到的情况。为此,在本技术中,还可以基于a星寻路算法寻找未被遍历到的可行驶栅格,通过结合弓字形导航算法和a星寻路算法,可以确保遍历完栅格地图中的所有可行驶栅格。可以看出,基于本技术提供的技术方案得到的导航路径,重复路径较少且覆盖率高,因此本技术可以提高移动设备的工作效率,并可以避免出现部分区域未被覆盖到的情况。
8.可选的,在一种可能的设计方式中,上述“以候选栅格中的起始栅格为起点,结合弓字形导航算法和a星寻路算法遍历完栅格地图中的可行驶栅格”可以包括:
9.步骤a:以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格;
10.步骤b:判断是否存在未被查找的可行驶栅格;
11.步骤c:在确定存在未被查找的可行驶栅格的情况下,从未被查找的可行驶栅格中
确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格;
12.重复执行步骤a至步骤c,直至确定不存在未被查找的可行驶栅格,则确定遍历完栅格地图中的可行驶栅格。
13.可选的,在另一种可能的设计方式中,上述“以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格”可以包括:
14.以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格;边界栅格为查找到的首个非行驶栅格的前一个栅格;
15.步骤d:判断边界栅格沿路径遍历方向的下一行栅格中是否存在可行驶栅格;
16.步骤e:在确定下一行栅格中存在可行驶栅格的情况下,以当前边界栅格为起点,基于任务执行方向遍历下一行栅格,直至查找到新的边界栅格;以新的边界栅格为起点,沿任务执行方向的反方向遍历下一行栅格,直至重新查找到新的边界栅格;将任务执行方向的反方向作为新的任务执行方向;
17.重复执行步骤d至步骤e,直至确定下一行栅格中不存在可行驶栅格,则将最后一次查找到的边界栅格确定为终止栅格。
18.可选的,在另一种可能的设计方式中,上述“以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格”之前,本技术还可以包括:
19.获取栅格地图的各条边界的长度;
20.基于各条边界的长度和起始栅格的位置确定任务执行方向。
21.可选的,在另一种可能的设计方式中,上述“从未被查找的可行驶栅格中确定目标栅格”包括:
22.基于未被查找的可行驶栅格与终止栅格的距离,从未被查找的可行驶栅格中确定目标栅格。
23.可选的,在另一种可能的设计方式中,上述“获取任务区域的栅格地图”包括:
24.获取移动设备分别沿任务区域的外边界和任务区域内的障碍边界环行过程中,移动设备的实时位置坐标;
25.基于实时位置坐标确定外边界的位置信息和障碍边界的位置信息;
26.基于外边界的位置信息和障碍边界的位置信息建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
27.可选的,在另一种可能的设计方式中,上述“基于外边界的位置信息和障碍边界的位置信息建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格”包括:
28.基于移动设备的几何参数,确定沿外边界外和沿障碍边界外扩展的栅格数量;
29.基于外边界的位置信息、障碍边界的位置信息以及扩展的栅格数量建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
30.可选的,在另一种可能的设计方式中,上述“确定遍历完栅格地图中的可行驶栅格”之后,本技术还可以包括:
31.以查找到的最后一个终止栅格为起点,基于a星寻路算法、任务区域的外边界的位置和任务区域内的障碍边界的位置遍历栅格地图中的非行驶栅格;
32.基于遍历可行驶栅格的顺序规划移动设备的导航路径,包括:基于遍历可行驶栅
格的顺序、遍历非行驶栅格的顺序以及起始栅格的位置,规划导航路径。
33.可选的,在另一种可能的设计方式中,非行驶栅格包括障碍栅格和非障碍栅格,上述“以查找到的最后一个终止栅格为起点,基于a星寻路算法、任务区域的外边界的位置和任务区域内的障碍边界的位置遍历栅格地图中的非行驶栅格”包括:
34.以查找到的最后一个终止栅格为起点,基于a星寻路算法和障碍边界的位置遍历栅格地图中的障碍栅格;
35.以遍历到的最后一个障碍栅格为起点,基于a星寻路算法和外边界的位置遍历栅格地图中的非障碍栅格。
36.可选的,在另一种可能的设计方式中,a星寻路算法的寻路规则为:路径最短且方向调整次数最少。
37.第二方面,本技术提供一种获取模块和规划模块;
38.具体地,获取模块,用于获取任务区域的栅格地图;栅格地图由候选栅格构成,候选栅格包括可行驶栅格和非行驶栅格;
39.规划模块,用于以候选栅格中的起始栅格为起点,结合弓字形导航算法和a星寻路算法遍历完获取模块获取的栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
40.可选的,在一种可能的设计方式中,规划模块包括查找子模块、判断子模块和确定子模块;
41.查找子模块,用于执行步骤a:以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格;
42.判断子模块,用于执行步骤b:判断是否存在未被查找的可行驶栅格;
43.确定子模块,用于执行步骤c:在确定存在未被查找的可行驶栅格的情况下,从未被查找的可行驶栅格中确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格;
44.确定子模块,还用于在重复执行步骤a至步骤c直至确定不存在未被查找的可行驶栅格时,确定遍历完栅格地图中的可行驶栅格。
45.可选的,在另一种可能的设计方式中,查找子模块具体用于:
46.以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格;边界栅格为查找到的首个非行驶栅格的前一个栅格;
47.步骤d:判断边界栅格沿路径遍历方向的下一行栅格中是否存在可行驶栅格;
48.步骤e:在确定下一行栅格中存在可行驶栅格的情况下,以当前边界栅格为起点,基于任务执行方向遍历下一行栅格,直至查找到新的边界栅格;以新的边界栅格为起点,沿任务执行方向的反方向遍历下一行栅格,直至重新查找到新的边界栅格;将任务执行方向的反方向作为新的任务执行方向;
49.重复执行步骤d至步骤e,直至确定下一行栅格中不存在可行驶栅格,则将最后一次查找到的边界栅格确定为终止栅格。
50.可选的,在另一种可能的设计方式中,本技术提供的导航路径的规划装置还可以包括确定模块;
51.获取模块,还用于在查找模块查找到边界栅格之前,获取栅格地图的各条边界的
长度;
52.确定模块,用于基于各条边界的长度和起始栅格的位置确定任务执行方向。
53.可选的,在另一种可能的设计方式中,确定子模块具体用于:
54.基于未被查找的可行驶栅格与终止栅格的距离,从未被查找的可行驶栅格中确定目标栅格。
55.可选的,在另一种可能的设计方式中,获取模块具体用于:
56.获取移动设备分别沿任务区域的外边界和任务区域内的障碍边界环行过程中,移动设备的实时位置坐标;
57.基于实时位置坐标确定外边界的位置信息和障碍边界的位置信息;
58.基于外边界的位置信息和障碍边界的位置信息建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
59.可选的,在另一种可能的设计方式中,获取模块还具体用于:
60.基于移动设备的几何参数,确定沿外边界外和沿障碍边界外扩展的栅格数量;
61.基于外边界的位置信息、障碍边界的位置信息以及扩展的栅格数量建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
62.可选的,在另一种可能的设计方式中,规划模块具体用于:
63.确定遍历完栅格地图中的可行驶栅格之后,以查找到的最后一个终止栅格为起点,基于a星寻路算法、任务区域的外边界的位置和任务区域内的障碍边界的位置遍历完栅格地图中的非行驶栅格;
64.基于遍历可行驶栅格的顺序、遍历非行驶栅格的顺序以及起始栅格的位置,规划导航路径。
65.可选的,在另一种可能的设计方式中,非行驶栅格包括障碍栅格和非障碍栅格,规划模块具体还用于:
66.以查找到的最后一个终止栅格为起点,基于a星寻路算法和障碍边界的位置遍历栅格地图中的障碍栅格;
67.以遍历到的最后一个障碍栅格为起点,基于a星寻路算法和外边界的位置遍历栅格地图中的非障碍栅格。
68.可选的,在另一种可能的设计方式中,a星寻路算法的寻路规则为:路径最短且方向调整次数最少。
69.第三方面,本技术提供一种导航路径的规划装置,包括存储器、处理器、总线和通信接口;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当导航路径的规划装置运行时,处理器执行存储器存储的计算机执行指令,以使导航路径的规划装置执行如上述第一方面提供的导航路径的规划方法。
70.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行指令时,使得计算机执行如第一方面提供的导航路径的规划方法。
71.第五方面,本技术提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如第一方面提供的导航路径的规划方法。
72.需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质
上。其中,计算机可读存储介质可以与导航路径的规划装置的处理器封装在一起的,也可以与导航路径的规划装置的处理器单独封装,本技术对此不做限定。
73.本技术中第二方面、第三方面、第四方面以及第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面以及第五方面的描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
74.在本技术中,上述导航路径的规划装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
75.本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
76.图1为本技术实施例提供的一种导航路径的规划方法的流程示意图;
77.图2为本技术实施例提供的一种任务区域的场景示意图;
78.图3为本技术实施例提供的一种栅格地图的示意图;
79.图4为本技术实施例提供的另一种导航路径的规划方法的流程示意图;
80.图5为本技术实施例提供的又一种导航路径的规划方法的流程示意图;
81.图6为本技术实施例提供的一种导航路径的规划装置的结构示意图;
82.图7为本技术实施例提供的另一种导航路径的规划装置的结构示意图。
具体实施方式
83.下面结合附图对本技术实施例提供的导航路径的规划方法、装置及存储介质进行详细地描述。
84.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
85.本技术的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
86.此外,本技术的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
87.需要说明的是,本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
88.在本技术的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
89.随着人工智能技术的快速发展,目前,割草机器人已经可以代替人工执行修剪草坪等任务,极大的降低了人工成本。现有的,割草机器人一般可以基于随机路径执行修剪草坪任务。
90.然而,在基于随机路径执行修剪草坪任务时,割草机器人的工作效率很低,并且经
常会出现部分区域未被覆盖到的情况。
91.针对上述现有技术中存在的问题,本技术实施例提供了一种导航路径的规划方法,该方法通过结合弓字形导航算法和a星寻路算法遍历可行驶栅格,并基于遍历的路线进行导航路径的规划。基于该方法得到的导航路径,重复路径较少且覆盖率高,因此本技术实施例可以提高移动设备的工作效率,并可以避免出现部分区域未被覆盖到的情况。
92.本技术实施例提供的导航路径的规划方法可以适用于导航路径的规划装置。在一种可能的实现方式中,该导航路径的规划装置可以是移动设备本身或者移动设备中的芯片系统,该芯片系统用于支持导航路径的规划装置实现导航路径的规划功能。该芯片系统可以包括芯片,也可以包括其他分立器件或电路结构。
93.其中,移动设备可以为割草机器人。当然,在实际应用中,移动设备还可以为其他可移动的人工智能设备。
94.在另一种可能的实现方式中,导航路径的规划装置可以是物理机(如移动设备的后台服务器),或者可以为部署在物理机上的虚拟机(virtual machine,vm)。
95.本技术实施例提供的导航路径的规划方法可以应用于对割草机器人执行修剪草坪任务的导航路径进行规划,当然,在实际应用中,还可以应用于对其他移动设备执行任务的导航路径进行规划,本技术实施例对此不做限定。本技术实施例的以下描述中,将以对割草机器人执行修剪草坪任务的导航路径进行规划为例展开描述。下面结合附图对本技术实施例提供的导航路径的规划方法进行详细说明。
96.参照图1,本技术实施例提供的导航路径的规划方法包括s101-s102:
97.s101、获取任务区域的栅格地图。
98.其中,栅格地图由候选栅格构成,候选栅格包括可行驶栅格和非行驶栅格。可行驶栅格对应任务区域中移动设备可通行的位置,非行驶栅格对应任务区域中移动设备不可通行的位置,比如,非行驶栅格可以对应任务区域中障碍物的位置。
99.可选的,本技术实施例可以通过如下方式获取任务区域的栅格地图:获取移动设备分别沿任务区域的外边界和任务区域内的障碍边界环行过程中,移动设备的实时位置坐标;基于实时位置坐标确定外边界的位置信息和障碍边界的位置信息;基于外边界的位置信息和障碍边界的位置信息建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
100.为了避免移动设备在执行任务的过程中与障碍物发生碰撞,本技术实施例在建立栅格地图时,可以获取移动设备沿任务区域内的障碍边界环行过程中的实时位置坐标。这样,则可以根据障碍边界的位置信息确定出避开障碍物的导航路径。另外,为了避免移动设备执行任务的区域超出任务区域过多,本技术实施例在建立栅格地图时,还可以获取移动设备沿任务区域的外边界环行过程中的实时位置坐标。这样,则可以基于外边界的位置信息规划出超出任务区域不多的导航路径,从而可以进一步提高移动设备的工作效率。
101.可选的,在一种可能的实现方式中,本技术实施例还可以基于移动设备的几何参数,确定沿外边界外和障碍边界外扩展的栅格数量;然后基于外边界的位置、障碍边界的位置以及扩展的栅格数量,确定栅格地图中的可行驶栅格和非行驶栅格。
102.由于不同割草机器人的尺寸可能不同,则不同割草机器人与障碍物的安全距离(即不发生碰撞的距离)可能不同,不同割草机器人在执行修剪草坪任务时的覆盖区域的大
小也可能不同。所以,在确定栅格地图中的可行驶栅格和非行驶栅格时,可以基于割草机器人的几何参数确定沿外边界外和障碍边界外扩展的栅格数量。基于该扩展的栅格数量将障碍边界向外延伸,可以避免尺寸较大的割草机器人与障碍物发生碰撞。并且,基于该扩展的栅格数量将外边界向外延伸,可以确保外边界上的草坪可以被覆盖到,进一步提高了割草机器人执行修剪草坪任务时的覆盖率。
103.在一种可能的实现方式中,可以基于栅格地图的尺寸与任务区域的实际尺寸的比例关系,以及移动设备的几何参数,确定沿外边界外和障碍边界外扩展的栅格数量。比如,扩展的栅格数量可以为一个栅格。
104.示例性的,参照图2,提供了一种任务区域的场景示意图。如图2所示,外边界内部即为任务区域,障碍边界内部即为任务区域内的障碍物所处的区域。在实际应用中,可以控制割草机器人沿图2所示的外边界和障碍边界分别环行一周,然后基于获取到的环行过程中的实时位置坐标建立栅格地图。之后,可以按照图2所示将外边界和障碍边界向外扩展一个栅格,则可以将处于扩展后的外边界内部且处于扩展后的障碍边界外部的栅格确定为可行驶栅格,并将其余栅格确定为非行驶栅格。
105.s102、以候选栅格中的起始栅格为起点,结合弓字形导航算法和a星寻路算法遍历完栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
106.其中,初次遍历时的起始栅格可以是根据任务区域的起始位置确定的栅格,起始位置可以是人为事先根据任务区域的外边界确定的位置。示例性的,可以将图2中所示的起始位置对应的栅格确定为起始栅格。
107.可选的,本技术实施例可以通过如下方式遍历完栅格地图中的可行驶栅格:步骤a:以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格;步骤b:判断是否存在未被查找的可行驶栅格;步骤c:在确定存在未被查找的可行驶栅格的情况下,从未被查找的可行驶栅格中确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格;重复执行步骤a至步骤c,直至确定不存在未被查找的可行驶栅格,则确定遍历完栅格地图中的可行驶栅格。
108.为了减少候选栅格被重复遍历的次数,从而确定路径较短的导航路径,本技术实施例中可以基于弓字形导航算法对可行驶栅格进行遍历。
109.另外,在基于弓字形导航算法对可行驶栅格进行遍历的过程中,为了绕开非行驶栅格,在完成一次遍历后,可能会存在部分可行驶栅格未被遍历到的情况。所以,本技术实施例中,在完成一次遍历后,若存在未被遍历到可行驶栅格,可以以上一次遍历时的终止栅格为起点,基于a星寻路算法查找到未被遍历的可行驶栅格,并以该栅格为起点,重新基于弓字形导航算法对可行驶栅格进行遍历。通过在a星寻路算法和弓字形导航算法之间进行切换,本技术实施例可以确保遍历完栅格地图中的可行驶栅格,从而可以避免执行任务时部分区域未被覆盖到的情况。
110.在一种可能的实现方式中,以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格的寻路规则可以为:基于启发式函数在栅格地图中搜索一条从终止栅格至目标栅格的最优路径,为了得到路径较短的导航路径,搜索时的启发式函数可以为搜索点到终止栅格的距离与搜索点到目标栅格的距离之和,根据距离之和的最小值来确定搜索路径的每一步。
111.可选的,在另一种可能的实现方式中,本技术实施例中a星寻路算法的寻路规则为:路径最短且方向调整次数最少。
112.在a星寻路算法的寻路规则为路径最短的情况下,确定出的导航路径中需多次进行方向的调整,路径呈阶梯状,不利于割草机器人的平稳运行。因此,本技术实施例中可以在路径最短的寻路规则上增加方向调整次数最少的原则。也即是在启发式函数中添加减少方向调整次数的叠加代价值,方向调整次数越多,代价值越大。这样,可以确定出方向调整次数较少的导航路径,更利于割草机器人的平稳运行。
113.示例性的,参照图3,提供了一种栅格地图的示意图。如图3所示,编号为1的栅格可以为起始栅格,以该栅格为起点,基于弓字形导航算法查找可行驶栅格,查找到编号为2的终止栅格时,第一次遍历完成。从图3中可以看出,为了避开非行驶栅格,第一次遍历完成后存在未被查找的可行驶栅格(即图3中虚线框内的栅格)。则可以从从未被查找的可行驶栅格中确定目标栅格,比如可以是编号为3的栅格。然后,可以以编号为2的栅格为起点,编号为3的栅格为终点,基于a星寻路算法确定查找可行驶栅格的路径。如图3所示,在寻路规则为路径最短且方向调整次数最少的情况下,基于a星寻路算法确定查找可行驶栅格的路径可以为,以编号为2的栅格为起点沿直线查找至编号为5的栅格,然后以编号为5的栅格为起点沿直线查找至编号为3的栅格。之后可以将编号为3的栅格作为新的起始栅格,基于弓字形导航算法查找可行驶栅格,查找到编号为4的终止栅格时,第二次遍历完成。从图3中可以看出,第二次遍历完成后,不存在未被查找的可行驶栅格,则可以确定已遍历完栅格地图中的可行驶栅格。
114.可选的,为了减小确定出的导航路径的长度,从而进一步提高移动设备的工作效率,本技术实施例可以通过如下方式从未被查找的可行驶栅格中确定目标栅格:基于未被查找的可行驶栅格与终止栅格的距离,从未被查找的可行驶栅格中确定目标栅格。
115.示例性的,如图3所示,若编号为2的栅格为当前的终止栅格,虚线框内的栅格为当前未被查找的可行驶栅格,则可以将虚线框内的栅格中距离编号为2的栅格的距离最小的一个(即图3中编号为3的栅格)确定为目标栅格。
116.可选的,本技术实施例可以通过如下方式查找到终止栅格:以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格;边界栅格为查找到的首个非行驶栅格的前一个栅格;步骤d:判断边界栅格沿路径遍历方向的下一行栅格中是否存在可行驶栅格;步骤e:在确定下一行栅格中存在可行驶栅格的情况下,以当前边界栅格为起点,基于任务执行方向遍历下一行栅格,直至查找到新的边界栅格;以新的边界栅格为起点,沿任务执行方向的反方向遍历下一行栅格,直至重新查找到新的边界栅格;将任务执行方向的反方向作为新的任务执行方向;重复执行步骤d至步骤e,直至确定下一行栅格中不存在可行驶栅格,则将最后一次查找到的边界栅格确定为终止栅格。
117.可选的,本技术实施例可以通过如下方式确定初始的任务执行方向:获取栅格地图的各条边界的长度;基于各条边界的长度和起始栅格的位置确定任务执行方向。
118.为了进一步减少导航路径中的方向调整次数,从而进一步提高割草机器人的工作效率,本技术实施例中可以沿栅格地图中较长的边界所在的直线和起始栅格的位置确定任务执行方向。
119.示例性的,参照图3,若起始栅格为编号为1的栅格,则可以沿图3所示的初始的任
务执行方向遍历编号为1的栅格所属行的候选栅格,直至查找到首个非行驶栅格(即图3中编号为6的栅格),则将查找到的编号为6的栅格的前一个栅格(即图3中编号为7的栅格)确定为边界栅格。然后,可以以编号为7的栅格为起点,基于图3所示的初始的任务执行方向查找到新的边界栅格(即图3中编号为8的栅格,需要说明的是,这里基于初始的任务执行方向进行查找时,查找的第一个栅格为:以初始的任务执行方向为起始边逆时针旋转首次查找到的栅格)。之后,可以以编号为8的栅格为起点,沿图3所示的初始的任务执行方向的反方向遍历编号为8的栅格所属行的候选栅格,直至重新查找到新的边界栅格(即图3中编号为9的栅格),并将图3所示的初始的任务执行方向的反方向作为新的任务执行方向。重复执行以上步骤,直至查找到编号为2的栅格。具体的可以按照如下编号顺序从编号为1的栅格查找至编号为2的栅格:1、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、28、30、31、32、33、2。
120.可选的,在确定遍历完栅格地图中的可行驶栅格之后,还可以以查找到的最后一个终止栅格为起点,基于a星寻路算法、任务区域的外边界的位置和任务区域内的障碍边界的位置遍历栅格地图中的非行驶栅格;然后基于遍历可行驶栅格的顺序、遍历非行驶栅格的顺序以及起始栅格的位置,规划导航路径。
121.本技术实施例在规划导航路径时,不仅可以对沿可行驶栅格执行修剪草坪任务的路径进行规划,还可以在遍历完栅格地图中的可行驶栅格之后,分别沿外边界和障碍边界遍历非行驶栅格,然后基于遍历非行驶栅格的顺序对分别沿外边界内绕行一周和沿障碍边界外绕行一周执行修剪草坪任务的路径进行规划。这样,可以进一步提高割草机器人执行修剪草坪任务时的覆盖率,
122.可选的,非行驶栅格还可以包括障碍栅格和非障碍栅格,在遍历非行驶栅格时,可以以查找到的最后一个终止栅格为起点,基于a星寻路算法和障碍边界的位置遍历栅格地图中的障碍栅格;之后,以遍历到的最后一个障碍栅格为起点,基于a星寻路算法和外边界的位置遍历栅格地图中的非障碍栅格。
123.其中,障碍栅格可以为障碍边界内的非行驶栅格,非障碍栅格可以对应沿外边界内绕行一周的非行驶栅格。
124.起始位置处一般设置在距离割草机器人的充电桩较近的位置,所以割草机器人执行完修剪草坪任务之后,可以重新回到起始位置处,这样便于割草机器人及时充电。为了进一步缩短规划的导航路径的长度,可以先遍历栅格地图中的障碍栅格,然后遍历栅格地图中的非障碍栅格。这样,移动设备在执行完修剪草坪任务之后,可以快速抵达起始位置。
125.示例性的,若查找到的最后一个终止栅格为图3中编号为4的栅格,则可以以该编号为4的栅格为起点,障碍边界内距离编号为4的栅格最近的编号为34的栅格为终点,基于a星寻路算法确定遍历栅格的编号顺序,该顺序可以为:4、35、36、34。然后,可以将以编号为34的栅格为起点,顺时针或逆时针遍历障碍边界内一周的障碍栅格。则可以基于遍历障碍边界内一周的障碍栅格的顺序,确定割草机器人对障碍边界的收边路径。之后,可以以编号为34的栅格为起点,外边界内的非障碍栅格(比如可以是编号为37的栅格)为终点,基于a星寻路算法确定遍历栅格的编号顺序。然后,可以将以编号为37的栅格为起点,顺时针或逆时针遍历图3所示的非障碍栅格。则可以基于遍历非障碍栅格的顺序,确定割草机器人对外边界的收边路径。
126.本技术实施例提供的技术方案中,在获取到由候选栅格构成的栅格地图后,可以基于弓字形导航算法对栅格地图中的可行驶栅格进行遍历,并基于遍历的路线进行导航路径的规划。基于弓字形导航算法遍历可行驶栅格,可以减少候选栅格被重复遍历的次数,所以本技术实施例规划的导航路径中重复路径较少,因此本技术实施例可以提高移动设备的工作效率。另外,由于规划导航路径的过程中需要对障碍物进行避障,所以在遍历可行驶栅格的过程中,为了绕开非行驶栅格,在完成一次栅格地图的遍历后,可能会存在部分可行驶栅格未被遍历到的情况。为此,在本技术实施例中,还可以基于a星寻路算法寻找未被遍历到的可行驶栅格,通过结合弓字形导航算法和a星寻路算法,可以确保遍历完栅格地图中的所有可行驶栅格。可以看出,基于本技术实施例提供的技术方案得到的导航路径,重复路径较少且覆盖率高。因此,本技术实施例可以提高移动设备的工作效率,并可以避免出现部分区域未被覆盖到的情况。
127.综合以上描述,如图4所示,本技术实施例还提供了一种导航路径的规划方法,包括s401-s405:
128.s401、获取任务区域的栅格地图。
129.s402、以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格。
130.s403、判断是否存在未被查找的可行驶栅格。
131.在确定存在未被查找的可行驶栅格的情况下,执行步骤s404;在确定不存在未被查找的可行驶栅格的情况下,执行步骤s405。
132.s404、从未被查找的可行驶栅格中确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格。
133.在步骤s404之后,返回执行步骤s402。
134.s405、确定遍历完栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
135.可选的,如图5所示,本技术实施例还提供了一种导航路径的规划方法,包括如下步骤:
136.s501、获取任务区域的栅格地图。
137.s502、以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格。
138.s503、判断边界栅格沿路径遍历方向的下一行栅格中是否存在可行驶栅格。
139.在确定下一行栅格中存在可行驶栅格的情况下,执行步骤s504;在确定下一行栅格中不存在可行驶栅格的情况下,执行步骤s505。
140.s504、以当前边界栅格为起点,基于任务执行方向遍历下一行栅格,直至查找到新的边界栅格;以新的边界栅格为起点,沿任务执行方向的反方向遍历下一行栅格,直至重新查找到新的边界栅格;将任务执行方向的反方向作为新的任务执行方向。
141.在步骤s504之后返回执行步骤s503。
142.s505、将最后一次查找到的边界栅格确定为终止栅格。
143.s506、判断是否存在未被查找的可行驶栅格。
144.在确定存在未被查找的可行驶栅格的情况下,执行步骤s507;在确定不存在未被
查找的可行驶栅格的情况下,执行步骤s508。
145.s507、从未被查找的可行驶栅格中确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格。
146.在步骤s507之后,返回执行步骤s503。
147.s508、确定遍历完栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
148.如图6所示,本技术实施例还提供了一种导航路径的规划装置,该装置可以包括:获取模块11和规划模块12。
149.其中,获取模块11执行上述方法实施例中的s101,规划模块12执行上述方法实施例中的s102。
150.具体地,获取模块11,用于获取任务区域的栅格地图;栅格地图由候选栅格构成,候选栅格包括可行驶栅格和非行驶栅格;
151.规划模块12,用于以候选栅格中的起始栅格为起点,结合弓字形导航算法和a星寻路算法遍历完获取模块11获取的栅格地图中的可行驶栅格,基于遍历可行驶栅格的顺序规划移动设备的导航路径。
152.可选的,在一种可能的设计方式中,规划模块12包括查找子模块、判断子模块和确定子模块;
153.查找子模块,用于执行步骤a:以起始栅格为起点,基于弓字形导航算法查找可行驶栅格,直至查找到终止栅格;
154.判断子模块,用于执行步骤b:判断是否存在未被查找的可行驶栅格;
155.确定子模块,用于执行步骤c:在确定存在未被查找的可行驶栅格的情况下,从未被查找的可行驶栅格中确定目标栅格;以终止栅格为起点,基于a星寻路算法查找可行驶栅格,直至查找到目标栅格,并将目标栅格作为新的起始栅格;
156.确定子模块,还用于在重复执行步骤a至步骤c直至确定不存在未被查找的可行驶栅格时,确定遍历完栅格地图中的可行驶栅格。
157.可选的,在另一种可能的设计方式中,查找子模块具体用于:
158.以起始栅格为起点,沿任务执行方向遍历起始栅格所属行的候选栅格,直至查找到边界栅格;边界栅格为查找到的首个非行驶栅格的前一个栅格;
159.步骤d:判断边界栅格沿路径遍历方向的下一行栅格中是否存在可行驶栅格;
160.步骤e:在确定下一行栅格中存在可行驶栅格的情况下,以当前边界栅格为起点,基于任务执行方向遍历下一行栅格,直至查找到新的边界栅格;以新的边界栅格为起点,沿任务执行方向的反方向遍历下一行栅格,直至重新查找到新的边界栅格;将任务执行方向的反方向作为新的任务执行方向;
161.重复执行步骤d至步骤e,直至确定下一行栅格中不存在可行驶栅格,则将最后一次查找到的边界栅格确定为终止栅格。
162.可选的,在另一种可能的设计方式中,本技术提供的导航路径的规划装置还可以包括确定模块;
163.获取模块11,还用于在查找模块查找到边界栅格之前,获取栅格地图的各条边界的长度;
164.确定模块,用于基于各条边界的长度和起始栅格的位置确定任务执行方向。
165.可选的,在另一种可能的设计方式中,确定子模块具体用于:
166.基于未被查找的可行驶栅格与终止栅格的距离,从未被查找的可行驶栅格中确定目标栅格。
167.可选的,在另一种可能的设计方式中,获取模块11具体用于:
168.获取移动设备分别沿任务区域的外边界和任务区域内的障碍边界环行过程中,移动设备的实时位置坐标;
169.基于实时位置坐标确定外边界的位置信息和障碍边界的位置信息;
170.基于外边界的位置信息和障碍边界的位置信息建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
171.可选的,在另一种可能的设计方式中,获取模块11还具体用于:
172.基于移动设备的几何参数,确定沿外边界外和沿障碍边界外扩展的栅格数量;
173.基于外边界的位置信息、障碍边界的位置信息以及扩展的栅格数量建立栅格地图,并确定栅格地图中的可行驶栅格和非行驶栅格。
174.可选的,在另一种可能的设计方式中,规划模块12具体用于:
175.确定遍历完栅格地图中的可行驶栅格之后,以查找到的最后一个终止栅格为起点,基于a星寻路算法、任务区域的外边界的位置和任务区域内的障碍边界的位置遍历完栅格地图中的非行驶栅格;
176.基于遍历可行驶栅格的顺序、遍历非行驶栅格的顺序以及起始栅格的位置,规划导航路径。
177.可选的,在另一种可能的设计方式中,非行驶栅格包括障碍栅格和非障碍栅格,规划模块12具体还用于:
178.以查找到的最后一个终止栅格为起点,基于a星寻路算法和障碍边界的位置遍历栅格地图中的障碍栅格;
179.以遍历到的最后一个障碍栅格为起点,基于a星寻路算法和外边界的位置遍历栅格地图中的非障碍栅格。
180.可选的,在另一种可能的设计方式中,a星寻路算法的寻路规则为:路径最短且方向调整次数最少。
181.可选的,导航路径的规划装置还可以包括存储模块,存储模块用于存储该导航路径的规划装置的程序代码等。
182.如图7所示,本技术实施例还提供一种导航路径的规划装置,包括存储器41、处理器42(42-1和42-2)、总线43和通信接口44;存储器41用于存储计算机执行指令,处理器42与存储器41通过总线43连接;当导航路径的规划装置运行时,处理器42执行存储器41存储的计算机执行指令,以使导航路径的规划装置执行如上述实施例提供的导航路径的规划方法。
183.在具体的实现中,作为一种实施例,处理器42可以包括一个或多个中央处理器(central processing unit,cpu),例如图7中所示的cpu0和cpu1。且作为一种实施例,导航路径的规划装置可以包括多个处理器42,例如图7中所示的处理器42-1和处理器42-2。这些处理器42中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器
(multi-cpu)。这里的处理器42可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
184.存储器41可以是只读存储器41(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器41可以是独立存在,通过总线43与处理器42相连接。存储器41也可以和处理器42集成在一起。
185.在具体的实现中,存储器41,用于存储本技术中的数据和执行本技术的软件程序对应的计算机执行指令。处理器42可以通过运行或执行存储在存储器41内的软件程序,以及调用存储在存储器41内的数据,导航路径的规划装置的各种功能。
186.通信接口44,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如控制系统、无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。通信接口44可以包括接收单元实现接收功能,以及发送单元实现发送功能。
187.总线43,可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线43可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
188.作为一个示例,结合图6,导航路径的规划装置中的规划模块实现的功能与图7中的处理器实现的功能相同,导航路径的规划装置中的存储模块实现的功能与图7中的存储器实现的功能相同。
189.本实施例中相关内容的解释可参考上述方法实施例,此处不再赘述。
190.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
191.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,使得计算机执行上述实施例提供的导航路径的规划方法。
192.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、rom、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何
其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(application specific integrated circuit,asic)中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
193.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献