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

一种四角格网高精度长距离越野路径规划方法与流程

2021-12-17 19:29:00 来源:中国专利 TAG:


1.本发明属于路径规划技术领域,具体涉及一种四角格网高精度长距离越野路径规划方法。


背景技术:

2.越野路径规划是在山地、丛林等越野环境下给定起终点,通过给定的起终点按照一定规则规划一条最优路径(时间最短、距离最短或者最合理的路径),保障用户顺利达到目的地。
3.越野路径规划的研究工作在军事、消防、民用等多个领域有着广泛的应用。起初,越野路径规划主要用于军事战场分析,指挥车辆、人员的行动。如今越野路径规划在军事领域仍有重要的应用,主要是作战区域作战对象的路径规划以及军用机器人的行动等。而随着人工智能、无人驾驶等科学技术的发展,越野路径规划技术也迅速扩展到民用领域,如越野应急救援、旅友自驾形成规划等。由此可见,越野路径规划技术的研究工作有着重要的意义。
4.根据路径规划技术使用的数据类型不同,可以划分为基于矢量数据的路径规划和基于栅格数据的路径规划。基于矢量数据的路径规划主要用于城市交通路线的选择,主要通过已知路网拓扑结构来完成规划。
5.当前,在越野路径规划中,在没有路网的情况下,则多以栅格数据为基础进行路径规划。基于栅格数据的越野路径规划,是将整个越野环境量化分成若干个大小相同的栅格,之后再根据搜索算法进行规划。在越野路径规划研究中,若想有一个好的规划效果,则需要精度较高的栅格数据。而当使用高精度的栅格数据进行路径规划时,若起终点之间距离过长,会出现搜索算法计算时间过长甚至计算奔溃等问题。


技术实现要素:

6.本发明提供了一种四角格网高精度长距离越野路径规划方法,用以解决现有技术中的方法运算效率慢、容易运算崩溃的问题。
7.为解决上述技术问题,本发明所包括的技术方案以及技术方案对应的有益效果如下:
8.本发明提供了一种四角格网高精度长距离越野路径规划方法,包括如下步骤:
9.1)对需要进行路径规划的越野环境区域进行栅格化处理;
10.2)判断起点和终点之间的距离是否大于设定距离;
11.3)若起点和终点之间的距离大于设定距离,则对越野环境区域内的栅格像元进行合并操作;进行合并操作后,在起点和终点之间进行路径规划,得到较优路径;
12.4)在较优路径上提取若干个参样点,且若干个参样点、起点和终点将较优路径划分成若干段分段路径,分别以每段分段路径的两端点为起终点重新进行路径规划,得到若干段较优分段路径;
13.5)将各段较优分段路径连通以得到最终路径。
14.上述技术方案的有益效果为:该方法在判断起点和终点之间的距离较远的情况下,首先将越野环境区域内的栅格像元进行合并操作,以降低整体计算的处理量、提高处理速度,合并操作后进行路径规划以规划出较优路径,然后对规划出的较优路径进行分段处理,以每段分段路径的两端点为起终点进行高精度的路径规划以规划出较优分段路径,使得每段分段路径的规划都在高精度栅格下完成,最后将各段较优分段路径连通可以形成最终路径,从而在满足越野路径规划精度要求的同时提高了运算效率。
15.进一步的,步骤3)中,进行合并操作后,在起点和终点之间采用dijkstra算法进行路径规划。
16.进一步的,为了使规划的路径更加平缓,步骤4)中,以每段分段路径的两端点为起终点,采用改进的a*算法重新进行路径规划;所述改进的a*算法的代价函数为f=g h;其中, g为起始节点到当前节点代偿值;h为复合值,由欧氏距离和高程差决定。
17.进一步的,若步骤2)的判断结果为起点和终点之间的距离大于设定距离,则直接在起点和终点之间进行路径规划。
18.进一步的,采用改进的a*算法直接在起点和终点之间进行路径规划;所述改进的a*算法的代价函数为f=g h;其中,g为起始节点到当前节点代偿值;h为复合值,由欧氏距离和高程差决定。
19.进一步的,步骤2)中,采用如下方法判断起点和终点之间的距离是否大于设定距离:
20.计算起终点行号差值绝对值和起终点列号差值绝对值的乘积;
21.判断乘积是否大于设定值:若大于设定值,则起点和终点之间的距离大于设定距离;否则,起点和终点之间的距离小于或者等于设定距离。
22.进一步的,步骤4)中,提取若干个参样点的规则为:相邻参样点之间的栅格像元数量相等。
附图说明
23.图1是本发明的四角格网高精度长距离越野路径规划方法的流程图;
24.图2是本发明所使用的改进的a*算法的流程图;
25.图3是本发明的对64*64个栅格像元合为1个像元后的示意图;
26.图4是某地区的示意图;
27.图5是本发明的提取的采样点以及利用采样点得到的分段路径的示意图;
28.图6

1是本发明的采用本发明方法对某地区进行路径规划时规划出的路径的90度俯视示意图(关闭地形前);
29.图6

2是本发明的采用本发明方法对某地区进行路径规划时规划出的路径的90度俯视示意图(关闭地形后);
30.图6

3是采用本发明方法对某地区进行路径规划时规划出的路径的三维侧视示意图(关闭地形前);
31.图6

4是采用本发明方法对某地区进行路径规划时规划出的路径的三维侧视示意图(关闭地形后)。
具体实施方式
32.本发明的一种四角格网高精度长距离越野路径规划方法实施例,其流程图如图1所示,具体过程如下:
33.步骤一,对需要进行路径规划的越野环境进行栅格化处理,将起点和终点之间的越野环境区域的地理坐标转化为栅格行列号,计算起终点行列号相乘绝对值乘积n。
34.步骤二,判断步骤一计算得到的n值是否大于设定值(例如300000):
35.若n值大于设定值,说明起点和终点之间的距离较远,则执行步骤三;
36.若n值不大于设定值,说明起点和终点之间的距离不远,则在越野环境区域内,在起点和终点之间直接利用改进的a*算法进行路径规划。其中,改进的a*算法的流程如图2所示,该种改进的a*算法加入了高程差的影响因子,供路径优先选择平缓路。另外该算法与现有的启发式a*算法不同,没有过多存储中间数据,可以减小内存压力,提高运算效率。其整个过程如下:
37.1)首先建立open表、closed表,将各个表进行初始化。其中open表包含了所有的待搜索像元,全部初始化为0;closed表中记录已经读取过的像元已经标记为无法通行的像元,将这两类像元标记为1。
38.2)创建一个vector容器m_openlist,进行容纳路径上的点。
39.3)根据起始点和终点的地理坐标转化为行列号,根据行列号在数据中取出对应的像元的值。将规划起始坐标作为起始节点m_startpos,将规划终点坐标作为目标节点m_endpos。
40.4)创建一个移动指针,指向当前节点。
41.5)将起始点以行列号的形式存入到m_openlist中,作为起始父节点,移动指针指向该节点,依次判断父节点周围的八个点的通行性以及f值。通行性通过子节点是否在closed表中进行判断,在可通行的前提下,f由两部分组成,g值和h值。f值的计算公式如下:
42.f=g h
43.其中,g值是起始节点m_startpos到当前节点代偿值,若相邻的子节点是不存在权重值的情况,则分别用10或者14来等距离计算,若相邻的子节点是存在权重值的情况,则以权重值作为评判标准;h值是一个复合值,由欧式距离和高程差来决定,欧氏距离是当前点到终点的距离,主要起到一个指向作用,高程差是父点和当前点的高程的差值,主要用于选择相对平坦的地势,最终计算出当前点的f值。
44.6)分别对比八个点的f值选择其中的最小值,添加到m_openlist中,作为道路的当前点,移动指针指向该点,并标记此点为1,表示在道路上。
45.7)以当前像元为父节点,查找周围八个方向节点情况,首先判断是否被标记,若被标记,判断在路径上的位置,如果没找到,则直接跳过,说明为不可通行点,如果找到位置。在路上说明路径有重叠,进行折中处理,所谓折中处理就是出现交叉路径的情况,去掉交叉的部分。如果该父节点可通行并且不在路上,则进行储存比较,并选择周围八个方向子节点中f 值最小的节点作为路径下一个节点。
46.8)假设判断父节点的八个方向都不可行,则进行回退,重新在上一级父节点中找剩余的子点中的最小值点,如果回退到起始点则说明没找到路径,算法结束。
47.9)重复步骤4)~7),直至终节点添加到m_openlist中,表明路径已经找到。
48.需说明的是,改进的a*算法是h复合值中加入了高程差的因子,辅助规划的路径更平缓。算法的改进使得计算出的路径不是最优的效果,但是可以提高运算的效率,即使在庞大数据量下也不会计算崩溃。在进行测试时发现,传统的a*算法在对十公里的路径进行规划时间需要七八分钟,更远的(例如接近三十公里)情况下一个小时都可能出不来结果,改进后的a*只需不到十秒。因此使用该改进的a*算法在更高精度地图下的实际应用价值更高。
49.步骤三,在n值大于设定值的情况下,对栅格像元进行合并操作。这里的合并操作,是对所有栅格像元均进行合并操作处理,即对栅格图的分辨率进行了改变。例如,合并后的栅格像元大小为64*64,如附图3所示,整个正方形为一个合并后的栅格像元,正方形中的小格子为初始的栅格像元。一般情况下合并为64*64的情况后,n值不会超过所设定的300000。但是,若出现了合并后的n值仍旧超过所设定的300000,则再一次进行合并操作,合并为 128*128,以此类推。
50.步骤四,进行合并操作后,在起点和终点之间利用dijkstra算法进行路径规划,规划出一条较优路径。其中,dijkstra算法的过程如下:
51.1)创建节点与起始点的距离矩阵distancefromstart,将起始点的值设置为0,其余元素设置为无穷大inf。
52.2)创建节点的父节点矩阵parent,初始化为0,表示无父节点。
53.3)每次迭代更新时,找出distancefromstart中未完成遍历节点中总评估成本最低的节点,设置为当前节点current_node;设置current_node.dist=inf,(防止再次遍历),并标记为已完成遍历;对curren_node的四个相邻节点中的未遍历节点进行判定,判断相邻节点n.g否大于current_node.g edge.cost,如果大于,则n.g=current_node.g edge.cost, n.parent_node=current_node。
54.4)重复步骤3),直至current_node为目标点为止。
55.5)根据父节点矩阵parent回溯最优路径。
56.步骤五,在规划出的较优路径上,按照制定的规则提取几个参样点,且这些参样点、以及起点和终点将步骤四中规划出的较优路径划分成若干段分段路径。本实施例中,制定的规则为:从起点开始,每经过若干个(例如20个)栅格像元取一个参样点,直至到达终点。
57.步骤六,分别以每一段分段路径的两端点为起终点,采用改进的a*算法重新进行路径规划,得到若干段较优分段路径。
58.步骤七,将步骤六中得到的各段较优分段路径连通以得到最终路径,并作为起点和终点间规划出的最优路径。
59.至此,便可完成路径规划。该方法在判断起点和终点之间的距离较远的情况下,首先将越野环境区域内的栅格像元进行合并处理,以降低整体计算的处理量、提高处理速度,合并处理后进行路径规划以规划出较优路径,然后对规划出的较优路径进行分段处理,以每段分段路径的两端点为起终点重新进行高精度的路径规划以规划出较优分段路径,使得每段分段路径的规划都在高精度栅格下完成,最后将各段较优分段路径连通可以形成最终路径,从而在满足越野路径规划精度要求的同时提高了运算效率,解决了现有技术中的运算效率慢、容易运算崩溃的问题。
60.下面将本发明方法应用于具体的实例中以说明该方法的有效性。选择某地区(如图4所示)的影像数据、dem数据、以及shp数据(包括道路、居民地、植被、地质等)进行实施,首先将该规划区域的越野环境量化为栅格数据,然后利用本发明方法进行分段式路径规划。采用的部分参数如下:设定值为300000,提取参样点时,每隔20个栅格像元提取一个参样点(如图5所示)。其最终规划结果如图6

1~图6

4所示,该条路径规划的长度为32.717 公里,规划计算时长为9秒。
再多了解一些

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

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

相关文献