本申请涉及路径规划技术领域,公开了一种全局路径规划方法和移动机器人,该全局路径规划方法,包括:获取栅格代价数组,其中,栅格代价数组用于存储栅格地图中的每一栅格的栅格代价值;获取起点对应的栅格代价值和终点对应的栅格代价值,将节点扩展阈值设置为起点的栅格代价值和终点的栅格代价值中的较大值;基于节点扩展阈值,进行全局路径搜索;若全局路径搜索失败,则增加节点扩展阈值,根据增加后的节点扩展阈值,重新进行路径搜索,直至搜索到全局路径,并确定全局路径。通过将节点扩展阈值设置为起点的栅格代价值和终点的栅格代价值的较大值,利用逐渐增加节点拓展阈值的方式进行路径搜索,提高路径搜索的质量。
【技术实现步骤摘要】
本申请实施方式涉及路径规划,特别是涉及一种全局路径规划方法和移动机器人。
技术介绍
1、全局路径规划,指的是规划出一条连接起点和终点的全局路径。常用的全局路径规划算法为基于广度优先搜索思想的迪杰斯特拉算法(dijkstra算法)。迪杰斯特拉算法是典型的最短路径算法,用于计算一个节点到其他所有节点的最短路径。通过以起始点为中心向外层层扩展,直到扩展到终点为止。
2、目前,在迪杰斯特拉算法进行节点扩展的过程中,只有当待扩展的节点在栅格地图上的代价值小于预设阈值时,才有可能对该节点进行扩展。由于预设阈值通常设置为固定值,可能导致无法找到更优的路径,并且,若预设阈值设置较大,则会造成路径搜索的全局路径中存在各个路径点的代价值较大的情况,导致路径搜索的质量不高。
技术实现思路
1、本申请实施例提供一种全局路径规划方法和移动机器人,通过将节点扩展阈值设置为起点的栅格代价值和终点的栅格代价值的较大值,利用逐渐增加节点拓展阈值的方式进行路径搜索,提高路径搜索的质量。
2、本申请实施例提供以下技术方案:
3、第一方面,本申请实施例提供一种全局路径规划方法,该一种全局路径规划方法,包括:
4、获取栅格代价数组,其中,栅格代价数组用于存储栅格地图中的每一栅格的栅格代价值;
5、获取起点对应的栅格代价值和终点对应的栅格代价值,将节点扩展阈值设置为起点的栅格代价值和终点的栅格代价值中的较大值;
6、基于节点扩展阈值,进行全局路径搜索;</p>7、若全局路径搜索失败,则增加节点扩展阈值,根据增加后的节点扩展阈值,重新进行路径搜索,直至搜索到全局路径,并确定全局路径。
8、在一些实施例中,根据节点扩展阈值,进行全局路径搜索,包括:
9、初始化搜索代价数组、优先队列、父节点数组以及最小代价数组;
10、获取起点在栅格地图中的索引值,将起点对应的搜索代价值初始化为零,并将起点加入到所述优先队列,其中,优先队列按照节点的搜索代价值从小到大进行排序;
11、获取优先队列中的第一个节点;
12、获取第一个节点的索引值对应的最小代价值;
13、若第一个节点的索引值对应的最小代价值等于正无穷,则将第一个节点加入最小代价数组,并在最小代价数组中将第一个节点对应的最小代价值更新为第一个节点对应的搜索代价值;
14、按照预设顺序,搜索第一个节点在栅格地图中的周围节点,其中,周围节点为第一个节点在栅格地图中的左侧节点、右侧节点、上方节点、下方节点、左上方节点、右上方节点、左下方节点、右下方节点中的至少一个节点;
15、对周围节点进行扩展,直至遍历第一个节点的全部周围节点;
16、在第一个节点扩展完成之后,将优先队列的下一个节点作为第一个节点,对当前的优先队列中的第一个节点进行搜索,直至优先队列的第一个节点的索引值等于终点在栅格地图中的索引值。
17、在一些实施例中,若周围节点为第一个节点在栅格地图中的左侧节点、右侧节点、上方节点、下方节点中的其中一个节点,对周围节点进行扩展,包括:
18、若周围节点满足第一条件,则结束对当前的周围节点的扩展,并搜索下一个周围节点;
19、若周围节点不满足第一条件,则进一步判断周围节点是否满足第二条件,若周围节点满足第二条件,则将周围节点的搜索代价值更新为第一个节点的搜索代价值、第一个节点在栅格代价数组的栅格代价值、预设的扩展代价值三者之和,并且,将周围节点在父节点数组中的索引值确定为第一个节点的索引值;
20、若周围节点不满足第二条件,则搜索下一个周围节点,直至遍历第一个节点的全部周围节点。
21、在一些实施例中,第一条件包括:
22、周围节点的索引值小于栅格地图的最小索引值;
23、或者,周围节点的索引值大于栅格地图的最大索引值,其中,栅格地图的最大索引值=栅格地图的横轴方向的栅格数量*栅格地图的纵轴方向的栅格数量-1;
24、或者,周围节点的索引值对应的最小代价值小于正无穷;
25、或者,周围节点的索引值对应的栅格代价值大于节点扩展阈值;
26、第二条件包括:
27、周围节点的搜索代价值大于第一个节点的搜索代价值、第一个节点的栅格代价值、预设的扩展代价值三者之和。
28、在一些实施例中,若周围节点为第一个节点在栅格地图中的左上方节点、右上方节点、左下方节点、右下方节点中的其中一个节点,对周围节点进行扩展,包括:
29、若周围节点满足第三条件,则结束对周围节点的扩展,并搜索下一个周围节点,直至遍历第一个节点的左上方节点、右上方节点、左下方节点、右下方节点;
30、若周围节点不满足第三条件,则进一步判断周围节点是否满足第四条件,若周围节点满足第四条件,则将周围节点的搜索代价值更新为第一个节点的搜索代价值、第一个节点在栅格代价数组的栅格代价值、预设系数*预设的扩展代价值三者之和,并且,将周围节点在父节点数组中的索引值确定为第一个节点的索引值;
31、若周围节点不满足第四条件,则搜索下一个周围节点,直至遍历第一个节点的全部周围节点。
32、在一些实施例中,第三条件包括:
33、周围节点的索引值小于栅格地图的最小索引值;
34、或者,周围节点的索引值大于栅格地图的最大索引值,其中,栅格地图的最大索引值=栅格地图的横轴方向的栅格数量*栅格地图的纵轴方向的栅格数量-1;
35、或者,周围节点的索引值对应的最小代价值小于正无穷;
36、或者,周围节点的索引值对应的栅格代价值大于节点扩展阈值;
37、或者,周围节点的邻居节点的索引值大于栅格地图的最小索引值,其中,周围节点的邻居节点包括周围节点的在栅格地图中的左侧节点、右侧节点、上方节点、下方节点,并且,周围节点的邻居节点的索引值小于栅格地图的最大索引值,并且,周围节点的邻居节点的索引值对应的栅格代价值大于节点扩展阈值;
38、第四条件包括:
39、周围节点的搜索代价值大于第一个节点的搜索代价值、第一个节点的栅格代价值、预设系数*预设的扩展代价值三者之和。
40、在一些实施例中,在获取优先队列中的第一个节点之后,方法还包括:
41、判断第一个节点的索引值是否等于终点在栅格地图中的索引值;
42、若是,则确定节点搜索完成,并确定全局路径;
43、若否,则获取第一个节点对应的最小代价值。
44、在一些实施例中,确定全局路径,包括:
45、将当前的索引值初始化为终点的索引值;
46、将当前的索引值对应的栅格的坐标加入路径队列的末尾;
47、若当前的索引值不等于起点的索引值,则循环执行以下步骤:
48、将当前的索引值对应的父节点对应的栅格的本文档来自技高网
...
【技术保护点】
1.一种全局路径规划方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述节点扩展阈值,进行全局路径搜索,包括:
3.根据权利要求2所述的方法,其特征在于,若所述周围节点为所述第一个节点在所述栅格地图中的左侧节点、右侧节点、上方节点、下方节点中的其中一个节点,所述对所述周围节点进行扩展,包括:
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3或4所述的方法,其特征在于,若所述周围节点为所述第一个节点在所述栅格地图中的左上方节点、右上方节点、左下方节点、右下方节点中的其中一个节点,所述对所述周围节点进行扩展,包括:
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求2-4任一项所述的方法,其特征在于,在获取所述优先队列中的第一个节点之后,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所述全局路径,包括:
9.根据权利要求2-4任一项所述的方法,其特征在于,所述方法还包括:
10.根据权利要求1-4任一项所述的方法,其特征在于,所述栅格代价数组中的每一栅格的代价值均处于同一取值范围,所述增加所述节点扩展阈值,包括:
11.一种移动机器人,其特征在于,包括:
...
【技术特征摘要】
1.一种全局路径规划方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述节点扩展阈值,进行全局路径搜索,包括:
3.根据权利要求2所述的方法,其特征在于,若所述周围节点为所述第一个节点在所述栅格地图中的左侧节点、右侧节点、上方节点、下方节点中的其中一个节点,所述对所述周围节点进行扩展,包括:
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求3或4所述的方法,其特征在于,若所述周围节点为所述第一个节点在所述栅格地图中的左上方节点、右上方节点、左下方节点、右下方节点中的其中一个节点,所述...
【专利技术属性】
技术研发人员:李勇,
申请(专利权)人:广州视源电子科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。