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

一种最短路径生成方法及装置

2022-08-08 02:49:39 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,特别是涉及一种最短路径生成方法及装置。


背景技术:

2.随着无人机任务的多元化增加,无人机需要在富含不确定性因素的高威胁动态环境下执行高风险任务。传统的基于地面指控站遥控或基于程序化的自动控制策略已不能适应无人机系统的发展需求。路径规划作为无人机导航至关重要的一部分,是无人机完成预定任务不可缺少的前提条件,对于无人机的飞行路径的规划成为了一种必然的需求。所谓路径规划就是为无人机设计出一条安全可飞行的航线。一方面需要保证无人机的生存概率,另一方面又能最好的实现任务执行。
3.目前在进行无人机路径规划时,常采用数值方法和基于图的规划方法。数值方法如混合整数线性规划(milp),通常需要求解非凸优化的问题,不仅需要专门的商用软件(如cplex)且耗时长;而如随机路线图(prm)算法等基于图的规划方法需要事先对任务区域进行几何划分,不易与飞行器的运动学约束条件相结合。传统智能算法,如遗传算法,蚁群算法,贪婪算法,模拟退火法,rrt算法等。然而,群智能算法容易陷入局部最优,并由于其算子的实现拥有许多参数,如交叉率和变异率,这些参数的选择,可能会导致求解过早收敛的问题;且传统智能算法只能给出接近最优的解决方案,无法保证或者全局最优解。


技术实现要素:

4.本技术提供了一种最短路径生成方法及装置,用于提高无人机搜索路径生成精度。
5.第一方面,本技术提供了一种最短路径生成方法,包括:
6.对目标地图进行角点检测,生成所述目标地图内的所有目标角点;
7.生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径;
8.在所述目标地图中随机生成测试节点;
9.当任一所述目标角点通过所述测试节点与所述路径起点连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,更新所述初始路径的连接关系,生成最短路径。
10.角点是图像像素的一种局部特征体现,对目标地图进行全面的角点检测,通过各个角点间的位置关系可以建立目标地图中区域间的连通情况,获取目标地图的各个部分区域情况,有利于进行无人机路径规划。基于各个目标角点和路径起点、搜索终点间的连接关系建立生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,实现了各个目标角点间的局部最优路径连接关系。更进一步的,在目标地图上随机生成测试节点,当任一目标角点通过测试节点与路径起点进行连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,以为目标角点通过该测试节点与路径起点进行连
接的路径距离更短。基于此,对搜索路径树的连接关系进行添加,缩短从路径起点经过目标角点连接至搜索终点的路径,提高搜索路径的生成质量和精度。
11.在一种实现方式中,所述角点检测,具体包括:
12.获取所述目标地图中第一像素点的灰度值;
13.将所述第一像素点分别在x方向和y方向移动预设距离;
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.图1是本发明实施例提供的一种最短路径生成方法的流程示意图;
47.图2是本发明实施例提供的一种最短路径生成装置的模块结构图。
具体实施方式
48.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
49.本技术的说明书和权利要求书及所述附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
50.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
51.首先,对本技术中的部分用语进行解释说明,以便于本领域技术人员理解。
52.(1)角点:通常是目标轮廓上曲率的局部极大值,对掌握目标的轮廓特征具有决定作用。通常认为,角点是二维图像亮度变化距离的点或两条线的交叉处。
53.(2)harris角点检测:算法的核心是利用局部窗口在图像上进行移动,从各个方向上移动这个特征的小窗口。若窗口内区域的灰度发生了较大的变化,那么就认为在窗口内遇到了角点。如图中,若窗口内图像的灰度没有发生变化,那么窗口内就不存在角点;若窗口在某一个方向移动时,窗口内图像的灰度发生了较大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的线段。使用特征值的方式,使得任何方向上的角点都可以被检测出来。
54.(3)贪心算法:是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。
55.(4)节点定义:在当前节点之上已经没有其他的节点,这个节点叫做根节点;父节点是指在当前节点的上面节点,上面的节点就叫下面节点的父点;叶节点是指在当前节点之上没有节点时,这样的节点就叫做叶节点。
56.实施例1
57.参见图1,图1是本发明实施例提供的一种最短路径生成方法的流程示意图。本发明实施例提供一种最短路径生成方法,包括步骤101至步骤104,各项步骤具体如下:
58.步骤101:对目标地图进行角点检测,生成所述目标地图内的所有目标角点;
59.步骤102:生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距
离连接的初始路径;
60.步骤103:在所述目标地图中随机生成测试节点;
61.步骤104:当任一所述目标角点通过所述测试节点与所述路径起点连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,更新所述初始路径的连接关系,生成最短路径。
62.在本发明实施例中,对目标地图进行角点检测具体包括:获取所述目标地图中第一像素点的灰度值;将所述第一像素点分别在x方向和y方向移动预设距离;获取所述第一像素点移动所述预设距离后的灰度变化值;根据角点响应函数判断所述第一像素点是否为所述目标角点。
63.在具体的实施例中,根据harris角点检测方法对目标地图进行角点检测判断。设目标图像上任一像素点(x,y)的灰度值为i(x,y),获取以像素点(x,y)为中心,沿x和y方向分别移动u和v距离的灰度变化值。灰度变化表达式可用以下公式表示:
64.e(u,v)=∑
x,y
w(x,y)[i(x u,y v)-i(x,y)]2;
[0065]
式中,e(u,v)为灰度变化值;w(x,y)为窗口函数,一般采用高斯函数;
[0066]
基于泰勒公式对上述灰度变化表达式进行变形,获得简化公式如下:
[0067][0068]
式中,ix、iy分别为x、y方向的梯度算子:
[0069][0070][0071]
由图像灰度的导数求得像素点自相关矩阵m,
[0072][0073]
自相关矩阵m是一个2*2的矩阵,且表达式与矩阵中心(x,y)处灰度变化有着直接关系。m的特征值为λ1、λ2,其象征着矩阵中心点(x,y)分别沿x、y方向的灰度变化速率。
[0074]
引入角点响应函数判断像素点是否为目标角点;其中,角点响应函数如下:
[0075]
r=detm-k(trace m)2;
[0076]
式中,k为修正值,一般取0.02-0.04,r为响应函数,当|r|很小时表示该像素点所
在区域灰度变化很小,处于目标图像的平坦区域。当|r|<0时表示该像素点处于目标图像的边缘区域。而当|r|很大时,则表示该像素点沿任意方向移动都会使灰度产生明显变化,也就是要找的目标角点。进一步的,对目标地图内的所有像素点进行如上所述的harris角点检测,生成所述目标地图内的所有目标角点。
[0077]
作为本实施例的一个优化方法,在生成目标地图内的所有目标角点后还包括对所有所述目标角点进行位置检测,当检测到目标角点位于所述目标地图中的障碍区域时,将所述检测目标角点移动至该障碍区域临近的可行区域,确保检测到的所有目标角点都在目标地图的可行区域中。
[0078]
本发明实施例中,生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,具体包括:将所有所述目标角点、所述路径起点和路径终点进行相互直线连接,生成角点连接集;提取所述角点连接集中不受所述目标地区中障碍区域阻断的直线连接路径,生成初始连接路径集;对所述初始连接路径集进行优化,生成所述初始路径。
[0079]
将生成的所有目标角点与路径起点、路径终点相互间进行两两直线连接,生成角点间连接集。受目标地图的实际地形影响,存在各个目标角点间相互连接,或各目标角点与路径起点、搜索终点进行直连的直线连接路径穿过目标地图的障碍区域。为了确保各个目标角点间,以及各个目标角点与路径起点和搜索终点间的直线连接路径是可以直接连通的,将受目标地图障碍区域影响的直线连接路径进行剔除,提取角点连接集中不受目标地图障碍区域影响的直线连接路径,生成初始的连接路径集。
[0080]
对生成的初始路连接径集进行优化,生成所有目标角点均与路径起点以最短路径连接的初始路径,具体包括:获取所述初始连接路径集中所有与所述路径起点直接连接的目标角点,并记录目标角点与所述路径起点的连接关系和对应的直连路径距离,生成第一连接集;获取所述初始连接路径集中不可与所述路径起点直接连接的目标角点,生成第一待连接集;根据最短路径连接原则将所述第一待连接集中的所有待连接目标角点添加至所述第一连接集,更新所述第一连接集中目标角点与所述路径起点的连接关系;根据更新后的所述第一连接集,生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径。
[0081]
根据最短路径连接原则将所述第一待连接集中的所有待连接目标角点添加至所述第一连接集,添加所述第一连接集中目标角点与所述路径起点的连接关系,具体包括:对所述第一待连接集中的第一待连接目标角点执行添加操作;其中,所述添加操作具体包括:获取所述第一连接集中所有与所述第一待连接目标角点连接的连接目标角点;将第一连接目标角点通过所述第一待连接目标角点与所述路径起点连接的路径距离作为第一路径距离;将所述第一连接目标角点与所述路径起点的直连路径距离作为第二路径距离;当所述第一路径距离小于所述第二路径距离时,将所述第二路径距离作为所述第一连接目标角点与所述路径起点连接的最短路径距离;将所述第二路径距离对应的连接关系更新至所述第一连接集;依次对所有与所述第一待连接目标角点连接的连接目标角点执行所述添加操作,生成第一更新连接集。
[0082]
在具体的实施例中,采用贪心策略,生成所述初始路径。将所有可以与路径起点进行直连的目标角点作为第一连接集,并记录路径起点与各目标角点间的路径距离。将不可
与路径起点进行直连的目标角点作为第一待连接集,按照与目标起点的距离从小到大,在不改变待连接目标角点与其余目标角点连接关系的前提下,依次将第一待连接集中的待连接目标角点,添加至第一连接集。以一个待连接目标较角点m作为参考案例,设待连接目标角点m为第一带连接集中距离所述路径起点最近的目标角点,将待连接目标角点添加至第一连接集,具体执行如下添加操作:
[0083]
获取第一连接集中所有与m连接的目标角点,设第一连接集中存在若干与m连接的目标角点,选取其中一个连接目标角点c,将连接目标角点的直连路径距离设为第一路径距离s1,将连接目标角点c通过待连接目标角点m与路径起点连接的路径距离设置为第二路径距离s2,若第二路径距离s2小于第一路径距离s1,则认为目标角点c与路径起点之间的最短路径距离为s2,将目标角点c与路径起点间的最短路径距离设置为s2,同时将第一连接集合中路径起点与目标角点c的最路路径连接关系更新为通过待连接目标角点m与目标角点c连接。
[0084]
按照上述步骤判断第一连接集中其余与待连接目标角m连接目标角点与路径起点的最短路径距离,当确定第一连接集中所有与待连接目标角点m连接的目标角点与路径起点的最短路径距离后,对路径起点与上述连接角点的路径连接关系进行响应更新,生成第一更新连接集。
[0085]
根据与路径起点的直线距离依次对第一待连接集中的所有待连接目标角点执行上述添加操作,将待连接目标角点添加至前一待连接目标角点生成的更新连接集。即,当对第二待连接目标角点进行添加操作时,是以第一更新连接集中各目标角点与路径起点的连接关系作为基础的,若存在与第二待连接角点有关的路径连接关系,则更新至第一更新连接集,将更新后的第一更新连接集作为第二待连接目标角点对应的第二更新连接集。依次对第一待连接集中的所有待连接目标角点执行上述添加,直至第一待连接集中的所有待连接目标角点添加完成,并生成最终更新连接集。
[0086]
基于上述添加操作,所述最终更新连接集中所有目标角点均与路径起点以最短路径进行连接,提取最终更新连接集中路径起点与各目标角点的连接关系,生成以路径起点为出发点,各个目标角点与路径起点间均以最短路径距离连接的初始路径。
[0087]
由于所述初始路径实际上实现的是局部最优求解,并非从整体路径上实现最优求解释,作为本发明实施例的一个优选案例,在生成所述初始路径后还包括:在所述目标地图中随机生成测试节点;当任一所述目标角点通过所述测试节点与所述路径起点连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,更新所述初始路径的连接关系,生成最短路径。
[0088]
对所述测试节点执行更新操作;其中,所述更新操作具体包括:获取预设范围内所述初始路径中所有与所述测试节点直连的目标角点;获取所有与所述测试节点直连的目标角点与所述路径起点的最短路径距离,生成第一搜索路径距离集;获取所有与所述测试节点直连的目标角点通过所述测试节点与所述路径起点连接的路径距离,生成第二搜索路径距离集;当所述第二搜索路径距离集中有任一第二搜索路径距离小于所述第一搜索路径距离集中对应的第一搜索路径距离时,获取该路径距离对应的目标角点;将所述第二搜索路径作为所述对应的目标角点与所述路径起点的最短路径,并更新所述初始路径的连接关系。
[0089]
在具体的实施例中,引入rrt*搜索算法,根据所述初始路径,生成以路径起点为根节点的搜索路径树,各个目标角点为所述搜索路径树中的目标节点。初始化所述搜索路径树的信息,包括:各个目标节点的位置坐标,以及各个角点的上一连接父节点。在目标地图中的可行区域生成测试节点x,寻找预设范围内与该测试节点存在直连关系的目标节点y。其中,所述预设范围可根据目标地图的尺寸进行对应设置调整,如该尺寸可设置为目标地图整体尺寸的1/40,更高或更低均可,在此不做限定。若该测试节点x通过目标节点y与路径起点进行连接的路径距离为最短路径距离,则将该测试节点x添加至所述搜索路径,并对测试节点x进行重新布局,若周围节点通过该测试节点x作为父节点到路径起点的路径距离比原先的连接路径更短,则执行更新操作。
[0090]
本发明实施例中,还提供了一种最短路径生成的终端设备,包括处理器、存储器以及存储在存储器中且被配置为由处理器执行的计算机程序,处理器执行计算机程序时实现上述的最短路径生成方法。
[0091]
本发明实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的最短路径生成方法。
[0092]
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在基于最短路径生成设备中的执行过程。
[0093]
所述基于路径生成设备的数据收集的设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于扫描设备的数据收集的设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,上述部件仅仅是基于最短路径生成设备的数据收集的设备的示例,并不构成对最短路径生成设备的数据收集的设备的限定,可以包括比所述部件更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于最短路径生成设备的数据收集的设备还可以包括输入输出设备、网络接入设备、总线等。
[0094]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,dsp)、专用集成电路(application specific integratedcircuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于最短路径生成设备的数据收集的设备的控制中心,利用各种接口和线路连接整个所述基于最短路径生成设备的数据收集的设备的各个部分。
[0095]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于最短路径生成设备的数据收集的设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数
字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。其中,所述最短路径生成设备的数据收集的设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random accessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0096]
本发明实施例提供了一种最短路径生成方法,角点是图像像素的一种局部特征体现,对目标地图进行全面的角点检测,通过各个角点间的位置关系可以建立目标地图中区域间的连通情况,获取目标地图的各个部分区域情况,有利于进行无人机路径规划。基于各个目标角点和路径起点、搜索终点间的连接关系建立生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,实现了各个目标角点间的局部最优路径连接关系。更进一步的,在目标地图上随机生成测试节点,当任一目标角点通过测试节点与路径起点进行连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,以为目标角点通过该测试节点与路径起点进行连接的路径距离更短。基于此,对搜索路径树的连接关系进行添加,缩短从路径起点经过目标角点连接至搜索终点的路径,提高搜索路径的生成质量和精度。
[0097]
实施例2
[0098]
参见图2,图2是本发明实施例提供的一种最短路径生成装置的模块结构图。本发明实施例还提供一种最短路径生成装置,包括角点生成模块201、路径生成模块202和路径优化模块203;
[0099]
角点生成模块201用于对目标地图进行角点检测,生成所述目标地图内的所有目标角点;
[0100]
路径生成模块202用于生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径;
[0101]
路径优化模块203用于在所述目标地图中随机生成测试节点;当任一所述目标角点通过所述测试节点与所述路径起点连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,更新所述初始路径的连接关系,生成最短路径。
[0102]
角点生成模块201用于对目标地图进行角点检测,生成所述目标地图内的所有目标角点,具体包括:获取所述目标地图中第一像素点的灰度值;将所述第一像素点分别在x方向和y方向移动预设距离;获取所述第一像素点移动所述预设距离后的灰度变化值;根据角点响应函数判断所述第一像素点是否为所述目标角点。对所述目标地图内的所有像素点
进行所述角点检测,生成所述目标地图内的所有目标角点;
[0103]
对所有所述目标角点进行位置检测,当检测到目标角点位于所述目标地图中的障碍区域时,将所述检测目标角点移动至邻近可行区域,以使所有所述目标角点位于所述目标地图中的可行区域。
[0104]
在具体的实施例中,根据harris角点检测方法对目标地图进行角点检测判断。设目标图像上任一像素点(x,y)的灰度值为i(x,y),获取以像素点(x,y)为中心,沿x和y方向分别移动u和v距离的灰度变化值。灰度变化表达式可用以下公式表示:
[0105]
e(u,v)=∑
x,y
w(x,y)[i(x u,y v)-[0106]
i(x,y)]2;
[0107]
式中,e(u,v)为灰度变化值;w(x,y)为窗口函数,一般采用高斯函数;
[0108]
基于泰勒公式对上述灰度变化表达式进行变形,获得简化公式如下:
[0109][0110]
式中,ix、iy分别为x、y方向的梯度算子:
[0111][0112][0113]
由图像灰度的导数求得像素点自相关矩阵m,
[0114][0115]
自相关矩阵m是一个2*2的矩阵,且表达式与矩阵中心(x,y)处灰度变化有着直接关系。m的特征值为λ1、λ2,其象征着矩阵中心点(x,y)分别沿x、y方向的灰度变化速率。
[0116]
引入角点响应函数判断像素点是否为目标角点;其中,角点响应函数如下:
[0117]
r=detm-k(trace m)2;
[0118]
式中,k为修正值,一般取0.02-0.04,r为响应函数,当|r|很小时表示该像素点所在区域灰度变化很小,处于目标图像的平坦区域。当|r|<0时表示该像素点处于目标图像的边缘区域。而当|r|很大时,则表示该像素点沿任意方向移动都会使灰度产生明显变化,也就是要找的目标角点。进一步的,对目标地图内的所有像素点进行如上所述的harris角点检测,生成所述目标地图内的所有目标角点。
[0119]
作为本实施例的一个优化方法,在生成目标地图内的所有目标角点后还包括对所有所述目标角点进行位置检测,当检测到目标角点位于所述目标地图中的障碍区域时,将所述检测目标角点移动至该障碍区域临近的可行区域,确保检测到的所有目标角点都在目标地图的可行区域中。
[0120]
路径生成模块202用于生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,具体包括:将所有所述目标角点、所述路径起点和路径终点进行相互直线连接,生成角点连接集;提取所述角点连接集中不受所述目标地图中障碍区域阻断的直线连接路径,生成初始连接路径集;对所述初始连接路径集进行优化,生成所述初始路径。
[0121]
其中,所述对所述初始连接路径集进行优化,生成所述初始路径,具体包括:获取所述初始连接路径集中所有与所述路径起点直接连接的目标角点,并记录目标角点与所述路径起点的连接关系和对应的直连路径距离,生成第一连接集;获取所述初始连接路径集中不可与所述路径起点直接连接的目标角点,生成第一待连接集;根据最短路径连接原则将所述第一待连接集中的所有待连接目标角点添加至所述第一连接集,更新所述第一连接集中目标角点与所述路径起点的连接关系;根据更新后的所述第一连接集,生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径。
[0122]
所述根据最短路径连接原则将所述第一待连接集中的所有待连接目标角点添加至所述第一连接集,添加所述第一连接集中目标角点与所述路径起点的连接关系,具体为:对所述第一待连接集中的第一待连接目标角点执行添加操作;其中,所述添加操作具体包括:获取所述第一连接集中所有与所述第一待连接目标角点连接的连接目标角点;将第一连接目标角点通过所述第一待连接目标角点与所述路径起点连接的路径距离作为第一路径距离;将所述第一连接目标角点与所述路径起点的直连路径距离作为第二路径距离;当所述第一路径距离小于所述第二路径距离时,将所述第二路径距离作为所述第一连接目标角点与所述路径起点连接的最短路径距离;将所述第二路径距离对应的连接关系更新至所述第一连接集;依次对所有与所述第一待连接目标角点连接的连接目标角点执行所述添加操作,生成第一更新连接集。
[0123]
所述根据更新后的所述第一连接集,生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,还包括:根据与所述路径起点的直线距离依次对所述第一待连接集中的所有待连接目标角点执行所述添加操作;将待连接目标角点添加至前一待连接目标角点生成的更新连接集,直至所述第一待连接集中的所有待检测目标角点全部完成所述添加操作,生成最终更新连接集;提取所述最终更新连接集中的路径连接关系,生成所述初始路径。
[0124]
在具体的实施例中,在具体的实施例中,采用贪心策略,生成所述初始路径。将所有可以与路径起点进行直连的目标角点作为第一连接集,并记录路径起点与各目标角点间的路径距离。将不可与路径起点进行直连的目标角点作为第一待连接集,按照与目标起点的距离从小到大,在不改变待连接目标角点与其余目标角点连接关系的前提下,依次将第一待连接集中的待连接目标角点,添加至第一连接集。以一个待连接目标较角点m作为参考案例,设待连接目标角点m为第一带连接集中距离所述路径起点最近的目标角点,将待连接目标角点添加至第一连接集,具体执行如下添加操作:
[0125]
获取第一连接集中所有与m连接的目标角点,设第一连接集中存在若干与m连接的目标角点,选取其中一个连接目标角点c,将连接目标角点的直连路径距离设为第一路径距离s1,将连接目标角点c通过待连接目标角点m与路径起点连接的路径距离设置为第二路径距离s2,若第二路径距离s2小于第一路径距离s1,则认为目标角点c与路径起点之间的最短路径距离为s2,将目标角点c与路径起点间的最短路径距离设置为s2,同时将第一连接集合中路径起点与目标角点c的最路路径连接关系更新为通过待连接目标角点m与目标角点c连接。
[0126]
按照上述步骤判断第一连接集中其余与待连接目标角m连接目标角点与路径起点的最短路径距离,当确定第一连接集中所有与待连接目标角点m连接的目标角点与路径起点的最短路径距离后,对路径起点与上述连接角点的路径连接关系进行响应更新,生成第一更新连接集。
[0127]
根据与路径起点的直线距离依次对第一待连接集中的所有待连接目标角点执行上述添加操作,将待连接目标角点添加至前一待连接目标角点生成的更新连接集。即,当对第二待连接目标角点进行添加操作时,是以第一更新连接集中各目标角点与路径起点的连接关系作为基础的,若存在与第二待连接角点有关的路径连接关系,则更新至第一更新连接集,将更新后的第一更新连接集作为第二待连接目标角点对应的第二更新连接集。依次对第一待连接集中的所有待连接目标角点执行上述添加,直至第一待连接集中的所有待连接目标角点添加完成,并生成最终更新连接集。
[0128]
基于上述添加操作,所述最终更新连接集中所有目标角点均与路径起点以最短路径进行连接,提取最终更新连接集中路径起点与各目标角点的连接关系,生成以路径起点为出发点,各个目标角点与路径起点间均以最短路径距离连接的初始路径。
[0129]
由于所述初始路径实际上实现的是局部最优求解,并非从整体路径上实现最优求解释,作为本发明实施例的一个优选案例,在生成所述初始路径后还包括路径优化模块203用于在所述目标地图中随机生成测试节点;当任一所述目标角点通过所述测试节点与所述路径起点连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,更新所述初始路径的连接关系,生成最短路径。
[0130]
具体包括:对所述测试节点执行更新操作;其中,所述更新操作具体包括:对所述测试节点执行更新操作;其中,所述更新操作具体包括:获取预设范围内所述初始路径中所有与所述测试节点直连的目标角点;获取所有与所述测试节点直连的目标角点与所述路径起点的最短路径距离,生成第一搜索路径距离集;获取所有与所述测试节点直连的目标角点通过所述测试节点与所述路径起点连接的路径距离,生成第二搜索路径距离集;当所述第二搜索路径距离集中有任一第二搜索路径距离小于所述第一搜索路径距离集中对应的第一搜索路径距离时,获取该路径距离对应的目标角点;将所述第二搜索路径作为所述对应的目标角点与所述路径起点的最短路径,并更新所述初始路径的连接关系。执行预设次数的测试节点生成指令;对每一次生成的测试节点执行所述更新操作,直至最后一次更新操作完成,生成所述最短路径。
[0131]
在具体的实施例中,引入rrt*搜索算法,根据所述初始路径,生成以路径起点为根节点的搜索路径树,各个目标角点为所述搜索路径树中的目标节点。初始化所述搜索路径树的信息,包括:各个目标节点的位置坐标,以及各个角点的上一连接父节点。在目标地
图中的可行区域生成测试节点x,寻找预设范围内与该测试节点存在直连关系的目标节点y。其中,所述预设范围可根据目标地图的尺寸进行对应设置调整,如该尺寸可设置为目标地图整体尺寸的1/40,更高或更低均可,在此不做限定。若该测试节点x通过目标节点y与路径起点进行连接的路径距离为最短路径距离,则将该测试节点x添加至所述搜索路径,并对测试节点x进行重新布局,若周围节点通过该测试节点x作为父节点到路径起点的路径距离比原先的连接路径更短,则执行更新操作。
[0132]
所属领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不在赘述。
[0133]
本发明实施例提供了一种最短路径生成装置,包括角点生成装置、路径生成装置和路径优化装置。其中,角点生成装置用于对目标地图进行角点检测,生成目标地图内的所有目标角点。角点是图像像素的一种局部特征体现,对目标地图进行全面的角点检测,通过各个角点间的位置关系可以建立目标地图中区域间的连通情况,获取目标地图的各个部分区域情况,有利于进行无人机路径规划。基于各个目标角点和路径起点、搜索终点间的连接关系建立生成从路径起点出发、所有所述目标角点与所述路径起点以最短路径距离连接的初始路径,实现了各个目标角点间的局部最优路径连接关系。更进一步的,在目标地图上随机生成测试节点,当任一目标角点通过测试节点与路径起点进行连接的路径距离小于该目标角点与所述路径起点的最短路径距离时,以为目标角点通过该测试节点与路径起点进行连接的路径距离更短。基于此,对搜索路径树的连接关系进行添加,缩短从路径起点经过目标角点连接至搜索终点的路径,提高搜索路径的生成质量和精度。
[0134]
需要说明的是,上述最短路径生成装置的实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0135]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
再多了解一些

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

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

相关文献