一种室内区域中的实时导航方法技术

技术编号:38458101 阅读:10 留言:0更新日期:2023-08-11 14:35
本发明专利技术公开了一种室内区域中的实时导航方法,根据实际室内区域地图,将室内区域划分为若干个子区域,将整个室内区域抽象为连通图,每个子区域为连通图中的节点,每扇门为连通图中的边,然后获取导航的起始子区域和终点子区域,在连通图中找到对应的起始节点和终点节点,初始化连通图中的任意边和任意节点的属性,将连通图中所有边放入最小堆,并根据边的属性进行排序,然后从最小堆中取出排序最小的边,开始搜索到达终点节点的路径,直到搜索到终点节点,返回路径搜索结果,根据路径搜索结果进行导航。本发明专利技术在保证得到最优导航路径的同时,使室内导航过程更加实时高效。使室内导航过程更加实时高效。使室内导航过程更加实时高效。

【技术实现步骤摘要】
一种室内区域中的实时导航方法


[0001]本申请属于室内行人导航
,具体涉及一种室内区域中的实时导航方法。

技术介绍

[0002]随着现代城市的发展,商场、医院、动车站、机场等大型室内环境日益复杂,人们置身其中往往需要快速到达指定的目的地,这就需要借助室内定位与导航技术,室内定位技术和数字室内地图的发展为室内导航奠定了基础。
[0003]当前流行的导航功能大多都局限于室外,室内寻路问题主要涉及到路径规划领域,目前主流的路径规划算法有Dijkstra算法、A*算法等。其中Dijkstra算法是一种盲目搜索算法,当目标节点与初始节点距离较远时,将产生许多无用节点,因此搜索效率不高;而A*算法主要用于网格搜索中,而在较大的室内区域之中进行网格划分不仅会使搜索次数增多,同时也需要较大的存储空间来存储地图信息。

技术实现思路

[0004]本申请的目的是提供一种室内区域中的实时导航方法,适用于在实现室内定位的基础上,为智能手机等移动终端提供实时导航服务,以克服现有技术搜索效率不高的问题。
[0005]为了实现上述目的,本申请技术方案如下:
[0006]一种室内区域中的实时导航方法,包括:
[0007]根据实际室内区域地图,将室内区域划分为若干个子区域,将整个室内区域抽象为连通图,每个子区域为连通图中的节点,每扇门为连通图中的边,将每扇门的平面坐标作为连通图中每条边的位置属性存储;
[0008]获取导航的起始子区域和终点子区域,在连通图中找到对应的起始节点和终点节点;<br/>[0009]初始化连通图中的任意边和任意节点的属性;
[0010]将连通图中所有边放入最小堆,并根据边的属性进行排序,然后从最小堆中取出排序最小的边,开始搜索到达终点节点的路径,在每次搜索时更新下一跳边的属性和已访问节点的属性,直到搜索到终点节点,返回路径搜索结果,根据路径搜索结果进行导航。
[0011]进一步的,所述将室内区域划分为若干个子区域,包括:
[0012]将每个房间视为一个子区域,子区域之间通过门彼此连接。
[0013]进一步的,所述将室内区域划分为若干个子区域,包括:
[0014]将狭长的区域和空旷区域划分为若干子区域,将子区域之间交界线中点的平面坐标作为连接子区域之间的门的坐标。
[0015]进一步的,边的属性包括起始节点到本边的最短距离dist、本边的上一跳边及其属性prev、本边是否已被访问过e_visited、本边的位置pos和代价估计值eval;所述节点的属性包括本节点是否已被访问过v_visited。
[0016]进一步的,所述初始化连通图中的任意边和任意节点的属性,包括:
[0017]与起始节点直接相连的边的dist初始化为0,其余边的dist初始化为+∞;
[0018]边的prev初始化为空;
[0019]边的代价估计值eval,通过如下公式计算:
[0020][0021][0022][0023][0024]其中,E
d
表示与终点节点d连接的所有边的集合,E
s
表示与起始节点s连接的所有边的集合,|E
d
|表示集合E
d
中的元素个数,|E
s
|表示集合E
s
中的元素个数;D(pos[e],pos[e
i
])表示边e的位置与边e
i
的位置之间的欧氏距离,β是经验参数;D(pos[s],pos[e
i
])表示与起始节点s相连的所有边的平均位置与边e
i
的位置之间的欧氏距离。
[0025]所有边的e_visited属性值初始化为未访问;
[0026]起始节点s的v_visited属性值初始化为已访问,其余节点的v_visited属性值初始化为未访问。
[0027]进一步的,所述根据边的属性进行排序,包括:
[0028]按照边的dist值与eval值之和的大小进行排序。
[0029]进一步的,所述从最小堆中取出排序最小的边,开始搜索到达终点节点的路径,在每次搜索时更新下一跳边的属性和已访问节点的属性,直到搜索到终点节点,返回路径搜索结果,包括:
[0030]将排序最小的边表示为e
min
,如果e
min
的dist属性值为+∞,显示“终点不可达”,导航结束;
[0031]如果e
min
的dist属性值不为+∞,且e
min
不与终点节点d相连,则进一步判断e
min
连接的两个节点的v_visited属性值,如果v_visited属性值均为已访问,则将e
min
丢弃,重新从最小堆中取出排序最小的边开始搜索;否则,得到e
min
连接的v_visited为未访问的节点v
*
,将v_visited[v
*
]和e_visited[e
min
]标记为已访问;
[0032]如果e
min
的dist属性值不为+∞,且e
min
与终点节点d相连,则根据e
min
的prev属性值迭代查询,直到prev属性值为空,得到路径上所有边,此次路径搜索结束,返回路径搜索结果;
[0033]其中,在e
min
的dist属性值不为+∞,且e
min
不与终点节点d相连的情况中,还需要对v
*
做判断,包括:
[0034]若节点v
*
与终点节点d连通,则令连接节点v
*
和d的所有边为集合E
v*d
,对于计算e
min
的位置到e的位置之间的欧氏距离D(e
min
,e),如果dist[e
min
]+D(e
min
,e)
&lt;dist[e],则将dist[e]设为(dist[e
min
]+D(e
min
,e)),将prev[e]设为e
min
,更新边e的属性,重新从最小堆中取出排序最小的边开始搜索;
[0035]若节点v
*
与终点节点d不连通,则令连接节点v
*
的所有边为集合E
v*
,对于且e的e_visited属性值为未访问,计算e
min
的位置到e的位置之间的欧氏距离D(e
min
,e),如果dist[e
min
]+D(e
min
,e)&lt;dist[e],则将dist[e]设为(dist[e
min
]+D(e
min
,e)),将prev[e]设为e...

【技术保护点】

【技术特征摘要】
1.一种室内区域中的实时导航方法,其特征在于,所述室内区域中的实时导航方法,包括:根据实际室内区域地图,将室内区域划分为若干个子区域,将整个室内区域抽象为连通图,每个子区域为连通图中的节点,每扇门为连通图中的边,将每扇门的平面坐标作为连通图中每条边的位置属性存储;获取导航的起始子区域和终点子区域,在连通图中找到对应的起始节点和终点节点;初始化连通图中的任意边和任意节点的属性;将连通图中所有边放入最小堆,并根据边的属性进行排序,然后从最小堆中取出排序最小的边,开始搜索到达终点节点的路径,在每次搜索时更新下一跳边的属性和已访问节点的属性,直到搜索到终点节点,返回路径搜索结果,根据路径搜索结果进行导航。2.根据权利要求1所述的室内区域中的实时导航方法,其特征在于,所述将室内区域划分为若干个子区域,包括:将每个房间视为一个子区域,子区域之间通过门彼此连接。3.根据权利要求1所述的室内区域中的实时导航方法,其特征在于,所述将室内区域划分为若干个子区域,包括:将狭长的区域和空旷区域划分为若干子区域,将子区域之间交界线中点的平面坐标作为连接子区域之间的门的坐标。4.根据权利要求1所述的室内区域中的实时导航方法,其特征在于,边的属性包括起始节点到本边的最短距离dist、本边的上一跳边及其属性prev、本边是否已被访问过e_visited、本边的位置pos和代价估计值eval;所述节点的属性包括本节点是否已被访问过v_visited。5.根据权利要求4所述的室内区域中的实时导航方法,其特征在于,所述初始化连通图中的任意边和任意节点的属性,包括:与起始节点直接相连的边的dist初始化为0,其余边的dist初始化为+∞;边的prev初始化为空;边的代价估计值eval,通过如下公式计算:边的代价估计值eval,通过如下公式计算:边的代价估计值eval,通过如下公式计算:边的代价估计值eval,通过如下公式计算:其中,E
d
表示与终点节点d连接的所有边的集合,E
s
表示与起始节点s连接的所有边的集合,|E
d
|表示集合E
d
中的元素个数,|E
s
|表示集合E
s
中的元素个数;D(pos[e],pos[e
i
])表示
边e的位置与边e
i
的位置之间的欧氏距离,β是经验参数;D(pos[s],pos[e
i
])表示与起始节点s相连的所有边的平均位置与边e
i
的位置之间的欧氏距离。所有边的e_visited属性值初始化为未访问;起始节点s的v_visited属性值初始化为已访问,其余节点的v_visited属性值初始化为未访问。6.根据权利要求4所述的室内区域中的实时导航方法,其特征在于,所述根据边的属性进行排序,包括:按照边的dist值与eval值之和的大小进行排序。7.根据权利要求4所述的室内区域中的实时导航方法,其特征在于,所述从最小堆中取出排序最小的边,开始搜索到...

【专利技术属性】
技术研发人员:李燕君陈博文杨哲张玉繁
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1