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

一种导航方法、设备及系统与流程

2022-03-26 02:32:34 来源:中国专利 TAG:


1.本技术实施例涉及导航技术领域,尤其涉及一种导航方法、设备及系统。


背景技术:

2.随着道路的复杂性的提高以及终端设备的普及性的提高,导航技术已经称为人们生活中不可或缺的技术。
3.目前主要采用矢量寻路算法进行导航。具体地,先获取路网数据,然后根据该路网数据规划出一条从起点位置到终点位置的路径,最终利用规划出的路径进行导航。
4.然而,该矢量寻路算法需要依赖路网数据进行导航,当部分区域的路网数据较为稀疏时,便会导致规划出的路径准确性较差。


技术实现要素:

5.本技术实施例提供了一种导航方法、设备及系统,能够准确地规划出用于导航的路径。
6.本技术实施例第一方面提供了一种导航方法,可以应用于服务器,包括:获取第一目标位置和第二目标位置,第一目标位置为预设的k条路段上距离起点位置最近的位置,第二目标位置为k条路段上距离终点位置最近的位置,k为正整数;起点位置和终点位置可以由终端设备发送给服务器;基于矢量寻路算法和k条路段获取第一目标位置至第二目标位置的第一路径;基于栅格寻路算法获取起点位置至第一目标位置的第二路径,以及第二目标位置至终点位置的第三路径,栅格寻路算法包括但不限于a*算法、dijkstra算法和jps算法;基于第一路径、第二路径以及第三路径,生成起点位置至终点位置的第四路径,第四路径用于导航。具体地,可以将第一路径、第二路径以及第三路径拼接,同时剔除冗余、重复的部分路径,从而得到第四路径。
7.利用矢量寻路算法规划第一目标位置和第二目标位置之间的第一路径,从而提高了从起点位置到终点位置的第四路径的规划效率;而在存在障碍物区域或路网稀疏而无法矢量寻路算法规划路径的区域,采用栅格寻路算法规划起点位置和第一目标位置之间的第二路径以及终点位置和第二目标位置之间第三路径,提高了从起点位置到终点位置的第四路径的准确性和精度,使得第四路径能够很好地避开障碍物;也因此,本技术实施例可以更好地适用于高精度ar步行导航。
8.作为一种实现方式,获取第一目标位置包括:基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段;其中,三维数据主要是三维坐标;起点位置的三维数据为起点位置的三维坐标,k条路段的三维数据则包括k条路段上每个位置处的三维坐标。从距离起点位置最近的一条路段上确定第一目标位置。例如,可以计算起点位置与最近的一条路段上各个位置之间的距离,然后通过距离比较确定第一目标位置;例如,也可以通过做垂线的方式确定第一目标位置。
9.基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最
近的一条路段,然后,从距离起点位置最近的一条路段上确定第一目标位置,相比于不考虑高度数据确定第一目标位置,可以防止根据第一目标位置规划出的路径存在较大的高度差而造成“跳楼式”的错误指引。
10.作为一种实现方式,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段包括:基于起点位置的高度数据及可行区域的高度数据从可行区域包含的多层区域中,确定起点位置所在的目标层区域,目标层区域为多层区域中的一层;基于k条路段的高度数据确定起点位置所在的目标层区域包含的v条路段,v为小于或等于k的正整数;基于起点位置的水平方向的数据及v条路段的水平方向的数据,从v条路段中确定距离起点位置最近的一条路段。
11.利用可行区域确定起点位置所在的目标层区域,然后从该目标层区域中需寻找距离起点位置最近的路段,从而可以提高确定距离起点位置最近的一条路段的效率。
12.作为一种实现方式,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段包括:基于起点位置的水平方向的数据及k条路段的水平方向的数据,从k条路段中确定在水平方向上与起点位置的距离小于第一阈值的m条路段,m为小于或等于k的正整数,其中,第一阈值可以根据实际需要进行调整;基于起点位置的高度数据及m条路段的高度数据从m条路段中确定满足目标条件的n条路段,n为小于或等于m的正整数;基于起点位置的三维数据及k条路段的三维数据,从n条路段中确定距离起点位置最近的一条路段。
13.在该实现方式中,分别从水平方向和高度上对k条路段进行筛选,避免某一路段由于在水平方向或高度上距离起点位置较近导致确定的距离起点位置最近的一条路段不准确的情况;除此之外,本技术实施例先从水平方向和高度上缩小路段的选择范围,能够提高确定距离起点位置最近的一条路段的效率。
14.作为一种实现方式,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段包括:基于起点位置的高度数据及可行区域的高度数据从可行区域包含的多层区域中,确定起点位置所在的目标层区域;若目标层区域中存在路段,则基于k条路段的高度数据确定起点位置所在的目标层区域包含的v条路段,v为小于或等于k的正整数;基于起点位置的水平方向的数据及v条路段的水平方向的数据,从v条路段中确定距离起点位置最近的一条路段;若目标层区域中不存在路段,则基于起点位置的水平方向的数据及k条路段的水平方向的数据,从k条路段中确定在水平方向上与起点位置的距离小于第一阈值的m条路段,m为小于或等于k的正整数,其中,第一阈值可以根据实际需要进行调整;基于起点位置的高度数据及m条路段的高度数据从m条路段中确定满足目标条件的n条路段,n为小于或等于m的正整数;基于起点位置的三维数据及k条路段的三维数据,从n条路段中确定距离起点位置最近的一条路段。
15.在该实现方式中,将利用目标层区域寻找距离起点位置最近的路段的方法,与基于起点位置的三维数据寻找距离起点位置最近的路段的方法结合,先利用目标层区域寻找距离起点位置最近的路段,以提高距离起点位置最近的路段的寻找效率;当利用目标层区域寻找距离起点位置最近的路段的方法失效时,再基于起点位置的三维数据寻找距离起点位置最近的路段,从而避免可行区域的数据不全面导致无法寻找到距离起点位置最近的一条路段。
16.作为一种实现方式,目标条件包括:路段的高度数据的取值大于起点位置的高度数据的取值与第二阈值的差,且小于起点位置的高度数据的取值与第三阈值的和。其中,第二阈值和第三阈值可以根据实际需要进行设定。
17.通过上述目标条件可以缩小距离起点位置最近的路段的查找范围。
18.作为一种实现方式,第二阈值小于第三阈值。该实现方式适用于起点位置的高度数据的准确性较高的情况。
19.作为一种实现方式,第二阈值等于第三阈值。该实现方式适用于起点位置的高度数据的准确性较低的情况。
20.作为一种实现方式,基于栅格寻路算法获取起点位置至第一目标位置的第二路径包括:获取构成可行区域的p个栅格,p个栅格中包含起点位置对应的栅格和终点位置对应的栅格,p为大于2的正整数;从q个候选栅格中选取一个候选栅格作为第三目标位置对应的栅格,q个候选栅格属于p个栅格,q为小于p的正整数;连接起点位置对应的栅格与第三目标位置对应的栅格;从l个候选栅格中选取一个候选栅格作为第四目标位置对应的栅格,l个候选栅格属于p个栅格,l为小于p的正整数;连接第三目标位置对应的栅格与第四目标位置对应的栅格;重复上述步骤,直到连接到第一目标位置对应的栅格,以得到起点位置至第一目标位置的第二路径。
21.该实现方式提供了基于栅格寻路算法获取第二路径的具体方案。
22.作为一种实现方式,l个候选栅格不包含q个候选栅格,且不包含q个候选栅格满足目标位置关系的至少一个栅格。
23.由于l个候选栅格不包含q个候选栅格,且不包含q个候选栅格满足目标位置关系的至少一个栅格,避免对q个候选栅格的重复筛选,并且能够加快遍历p个栅格的效率,从而提高第二路径的获取效率,节省第二路径的获取时间。
24.作为一种实现方式,在获取构成可行区域的p个栅格之后,在从q个候选栅格中选取一个栅格作为第三目标位置对应的栅格之前,方法还包括:基于选取规则从p个栅格中选取从q个候选栅格;选取规则包括候选栅格的第一水平方向的坐标和候选栅格的第二水平方向的坐标,第一水平方向与第二水平方向垂直;候选栅格的第一水平方向的坐标等于起点位置对应的栅格的第一水平方向的坐标与第一偏移量的和,第一偏移量等于第一步长与第一角度的余弦值的乘积,第一步长等于初始步长与第一步长增量的和,步长增量等于第一累积次数与每次累积的步长增量的乘积,第一角度等于初始角度与第一角度增量的和,第一角度增量等于第二累积次数与每次累积的角度增量的乘积;候选栅格的第二水平方向的坐标等于起点位置对应的栅格的第二水平方向的坐标与第二偏移量的和,第二偏移量等于第一步长与第一角度的正弦值的乘积。
25.基于上述选取规则,可以灵活调整候选栅格的选取方向,以从各个方向选取候选栅格,使得最终确定的第三目标位置更合适。
26.作为一种实现方式,方法还包括:对第四路径进行优化。
27.通过优化,可以缩短第四路径的长度,使得用户更快地达到终点位置,从而提高用户的体验度。
28.作为一种实现方式,对第四路径进行优化包括:确定可行区域中的可优化区域;对第四路径位于可优化区域的部分进行优化。
29.从可行区域中确定可优化区域,基于可优化区域对第四路径进行优化,可以避免消耗较多的优化时间却得不到较好的优化效果。
30.作为一种实现方式,第四路径上存在第五目标位置和第六目标位置,且第五目标位置和第六目标位置均位于可优化区域;对第四路径位于可优化区域的部分进行优化包括:基于第五目标位置和第六目标位置之间不存在障碍物,且第四路径位于第五目标位置和第六目标位置之间的部分为非直线路径,将非直线路径替换为直线路径第五目标位置第六目标位置,能够缩短第四路径的长度。
31.由于第五目标位置和第六目标位置位于可优化区域内,且第五目标位置和第六目标位置之间不存在障碍物,所以将第五目标位置和第六目标位置之间的非直线路径替换直线路径,能够缩短第四路径的长度。
32.作为一种实现方式,方法还包括:向终端设备发送第四路径,使得终端设备根据第四路径进行导航。
33.服务器将第四路径发送至终端设备,这样,终端设备便可以根据第四路径进行导航。
34.本技术实施例第二方面提供了一种导航方法,可以应用于终端设备,包括:获取起点位置至终点位置的第四路径;具体地,终端设备可以利用前述第一方面的导航方法规划第四路径,也可以接收服务器发送的第四路径;显示第四路径;基于用户的位置与第四路径的位置显示导引线,导引线用于指示用户沿第四路径向终点位置移,其中,用户的位置可以是实时的位置。
35.基于用户的位置与第四路径的位置显示导引线,可以及时调整导引线,从而能够准确地指引用户沿着第四路径移动。
36.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;基于用户的位置与第四路径的位置显示导引线包括:基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第一子路径之间,显示从用户的位置到第二参考位置的导引线。
37.在该实现方式中的场景下,显示从用户的位置到第二参考位置的导引线,能够准确地指引用户沿着第四路径移动。
38.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;基于用户的位置与第四路径的位置显示导引线包括:基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第二子路径之间,显示从用户的位置到第三参考位置的导引线。
39.在该实现方式中的场景下,显示从用户的位置到第三参考位置的导引线,能够准确地指引用户沿着第四路径移动。
40.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;基于用户的位置与第四路径的位置显示导引线包括:基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的同侧,显示从用户的位置到第二参考位置的导引线。
41.在该实现方式中的场景下,显示从用户的位置到第二参考位置的导引线,能够准确地指引用户沿着第四路径移动。
42.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;基于用户的位置与第四路径的位置显示导引线包括:基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的两侧,显示从用户的位置到第三参考位置的导引线。
43.在该实现方式中的场景下,显示从用户的位置到第三参考位置的导引线,能够准确地指引用户沿着第四路径移动。
44.作为一种实现方式,第四路径是由多个参考位置依次连接形成,导引线在第四参考位置处的高度等于第四参考位置的高度与特定高度的和,第四参考位置为多个参考位置中的任意一个。
45.由于导引线与导引线所在位置的相对高度是确定的,所以可以形象地向用户展示第四路径的高度变化,从而提高用户体验。
46.作为一种实现方式,第四路径是由多个参考位置依次连接形成,方法还包括:基于用户的位置位于电梯区域,且第五参考位置的属性信息指示用户乘坐电梯,显示指示信息,指示信息指示用户乘坐电梯,第五参考位置为多个参考位置中距离用户的位置最近的一个参考位置。
47.通过显示指示信息提示用户乘坐电梯,能够保证用户在复杂的电梯场景下准确地沿着第四路径行走。
48.本技术实施例第三方面提供了一种导航装置,可以应用于服务器,包括:
49.位置获取单元,用于获取第一目标位置和第二目标位置,第一目标位置为k条路段上距离起点位置最近的位置,第二目标位置为k条路段上距离终点位置最近的位置,k为正整数;路径获取单元,用于基于矢量寻路算法和k条路段获取第一目标位置至第二目标位置的第一路径;路径获取单元,还用于基于栅格寻路算法获取起点位置至第一目标位置的第二路径,以及第二目标位置至终点位置的第三路径;路径生成单元,用于基于第一路径、第
二路径以及第三路径,生成起点位置至终点位置的第四路径,第四路径用于导航。
50.作为一种实现方式,位置获取单元用于基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段;从距离起点位置最近的一条路段上确定第一目标位置。
51.作为一种实现方式,位置获取单元用于基于起点位置的高度数据及可行区域的高度数据从可行区域包含的多层区域中,确定起点位置所在的目标层区域,目标层区域为多层区域中的一层;基于k条路段的高度数据确定起点位置所在的目标层区域包含的v条路段,v为小于或等于k的正整数;基于起点位置的水平方向的数据及v条路段的水平方向的数据,从v条路段中确定距离起点位置最近的一条路段。
52.作为一种实现方式,位置获取单元用于基于起点位置的水平方向的数据及k条路段的水平方向的数据,从k条路段中确定在水平方向上与起点位置的距离小于第一阈值的m条路段,m为小于或等于k的正整数;基于起点位置的高度数据及m条路段的高度数据从m条路段中确定满足目标条件的n条路段,n为小于或等于m的正整数;基于起点位置的三维数据及k条路段的三维数据,从n条路段中确定距离起点位置最近的一条路段。
53.作为一种实现方式,目标条件包括:路段的高度数据的取值大于起点位置的高度数据的取值与第三阈值的差,且小于起点位置的高度数据的取值与第二阈值的和。
54.作为一种实现方式,第二阈值小于第三阈值。
55.作为一种实现方式,路径获取单元,用于获取构成可行区域的p个栅格,p个栅格中包含起点位置对应的栅格和终点位置对应的栅格,p为大于2的正整数;从q个候选栅格中选取一个候选栅格作为第三目标位置对应的栅格,q个候选栅格属于p个栅格,q为小于p的正整数;连接起点位置对应的栅格与第三目标位置对应的栅格;从l个候选栅格中选取一个候选栅格作为第四目标位置对应的栅格,l个候选栅格属于p个栅格,l为小于p的正整数;连接第三目标位置对应的栅格与第四目标位置对应的栅格;重复上述步骤,直到连接到第一目标位置对应的栅格,以得到起点位置至第一目标位置的第二路径。
56.作为一种实现方式,l个候选栅格不包含q个候选栅格,且不包含q个候选栅格满足目标位置关系的至少一个栅格。
57.作为一种实现方式,路径获取单元,还用于基于选取规则从p个栅格中选取从q个候选栅格;选取规则包括候选栅格的第一水平方向的坐标和候选栅格的第二水平方向的坐标,第一水平方向与第二水平方向垂直;候选栅格的第一水平方向的坐标等于起点位置对应的栅格的第一水平方向的坐标与第一偏移量的和,第一偏移量等于第一步长与第一角度的余弦值的乘积,第一步长等于初始步长与第一步长增量的和,步长增量等于第一累积次数与每次累积的步长增量的乘积,第一角度等于初始角度与第一角度增量的和,第一角度增量等于第二累积次数与每次累积的角度增量的乘积;候选栅格的第二水平方向的坐标等于起点位置对应的栅格的第二水平方向的坐标与第二偏移量的和,第二偏移量等于第一步长与第一角度的正弦值的乘积。
58.作为一种实现方式,导航装置还包括优化单元,用于对第四路径进行优化。
59.作为一种实现方式,优化单元用于确定可行区域中的可优化区域;对第四路径位于可优化区域的部分进行优化。
60.作为一种实现方式,第四路径上存在第五目标位置和第六目标位置,且第五目标
位置和第六目标位置均位于可优化区域;
61.优化单元用于基于第五目标位置和第六目标位置之间不存在障碍物,且第四路径位于第五目标位置和第六目标位置之间的部分为非直线路径,将非直线路径替换为由第五目标位置至第六目标位置的直线路径。
62.作为一种实现方式,导航装置还包括发送单元,用于向终端设备发送第四路径,使得终端设备根据第四路径进行导航。
63.其中,以上各单元的具体实现、相关说明以及技术效果请参考本技术实施例第一方面的描述。
64.本技术实施例第四方面提供了一种导航装置,包括:获取单元,用于获取起点位置至终点位置的第四路径;显示单元,用于显示第四路径;显示单元,还用于基于用户的位置与第四路径的位置显示导引线,导引线用于指示用户沿第四路径向终点位置移动。
65.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;显示单元,用于基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第一子路径之间,显示从用户的位置到第二参考位置的导引线。
66.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;显示单元,用于基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第二子路径之间,显示从用户的位置到第三参考位置的导引线。
67.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;显示单元,用于基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的同侧,显示从用户的位置到第二参考位置的导引线。
68.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个
参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;显示单元,用于基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的两侧,显示从用户的位置到第三参考位置的导引线。
69.作为一种实现方式,第四路径是由多个参考位置依次连接形成,导引线在第四参考位置处的高度等于第四参考位置的高度与特定高度的和,第四参考位置为多个参考位置中的任意一个。
70.作为一种实现方式,第四路径是由多个参考位置依次连接形成;显示单元,还用于基于用户的位置位于电梯区域,且第五参考位置的属性信息指示用户乘坐电梯,显示指示信息,指示信息指示用户乘坐电梯,第五参考位置为多个参考位置中距离用户的位置最近的一个参考位置。
71.其中,以上各单元的具体实现、相关说明以及技术效果请参考本技术实施例第二方面的描述。
72.本技术实施例第五方面提供了一种服务器,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第一方面中任意一种实现方式所述的导航方法。
73.本技术实施例第六方面提供了一种终端设备,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述处理器执行如上述第二方面中任意一种实现方式所述的导航方法。
74.本技术实施例第七方面提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行如上述第一方面中任意一种实现方式所述的导航方法。
75.本技术实施例第八方面提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行如上述第二方面中任意一种实现方式所述的导航方法。
76.本技术实施例第九方面提供了一种存储一个或多个计算机执行指令的计算机可读存储介质,当所述计算机执行指令被处理器执行时,所述处理器执行如上述第一方面中任意一种实现方式所述的导航方法,或如上述第二方面中任意一种实现方式所述的导航方法。
77.本技术实施例第十方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面中任意一种实现方式所述的导航方法,或如上述第二方面中任意一种实现方式所述的导航方法。
78.本技术实施例第十一方面提供了一种导航系统,包括:终端设备和服务器;
79.服务器用于执行如上述第一方面中任意一种实现方式所述的导航方法;
80.终端设备用于执行如上述第二方面中任意一种实现方式所述的导航方法。
81.从以上技术方案可以看出,本技术实施例具有以下优点:
82.利用矢量寻路算法规划第一目标位置和第二目标位置之间的第一路径,从而提高了从起点位置到终点位置的第四路径的规划效率;采用栅格寻路算法规划起点位置和第一目标位置之间的第二路径以及终点位置和第二目标位置之间第三路径,提高了从起点位置
到终点位置的第四路径的准确性和精度,使得第四路径能够很好地避开障碍物;也因此,本技术实施例可以更好地适用于高精度ar步行导航。
附图说明
83.图1为本技术实施例中的导航系统的框架示意图;
84.图2为本技术实施例中一个区域的示意图;
85.图3为本技术实施例中导航方法的一个实施例示意图;
86.图4为本技术实施例中白模的实施例示意图;
87.图5为本技术实施例中可行区域的一个实施例示意图;
88.图6为本技术实施例中三维路网的实施例示意图;
89.图7为本技术实施例中获取第一目标位置的实施例示意图;
90.图8为本技术实施例中确定距离起点位置最近的一条路段的一个实施例示意图;
91.图9为本技术实施例中确定距离起点位置最近的一条路段的另一个实施例示意图;
92.图10为本技术实施例中路段的高度数据的取值与起点位置的高度数据的取值之间关系的一个实施例示意图;
93.图11为本技术实施例中路段的高度数据的取值与起点位置的高度数据的取值之间关系的另一个实施例示意图;
94.图12为本技术实施例中获取第二路径的实施例示意图;
95.图13为本技术实施例中由栅格构成的可行区域的一个实施例示意图;
96.图14为本技术实施例中候选栅格的选取方向的实施例示意图;
97.图15为采用本技术实施例提供的导航方法规划第四路径的过程示意图;
98.图16为本技术实施例中导航方法的另一个实施例示意图;
99.图17为本技术实施例中第四路径的一个实施例示意图;
100.图18为本技术实施例中导引线的一个实施例示意图;
101.图19为本技术实施例中导航装置的一个实施例示意图;
102.图20为本技术实施例中的导航装置的另一个实施例示意图;
103.图21为本技术实施例中服务器的结构示意图;
104.图22为本技术实施例中终端设备的结构示意图;
105.图23为本技术实施例中导航系统的实施例示意图。
具体实施方式
106.下面结合本发明实施例中的附图对本发明实施例进行描述。本发明的实施方式部分使用的术语仅用于对本发明的具体实施例进行解释,而非旨在限定本发明。
107.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
108.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分
方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
109.本技术实施例可以应用于图1所示的导航系统。如图1所示,该导航系统包括终端设备和服务器。其中,终端设备可以是任意可以安装导航软件的设备。例如,终端设备可以是手机、平板电脑、智能手表、智能眼镜以及车载导航设备等。
110.以图1所示的导航系统为例,用户在终端设备上操作,从而使得终端设备进入导航界面。终端设备向服务器发送导航请求,该导航请求可以包括起点位置的三维数据、终点位置的三维数据、起点位置的信息等多种与导航相关的信息;响应该导航请求后,服务器会规划起点位置到终点位置的路径,然后将该路径发送给终端设备;终端设备根据该路径进行导航。
111.本技术实施例提供的导航方法包括两部分,一部分用于服务器规划起点位置到终点位置的路径,另一部分用于终端设备的导航。下文将分别从终端设备侧和服务器侧对本技术实施例提供的导航的方法进行说明。
112.这里先从服务器侧对本技术实施例提供的导航方法进行说明。为了弥补传统的矢量寻路算法生成的路径的精确度低的缺陷,本技术实施例将传统的矢量寻路算法和栅格寻路算法结合,即采用矢量寻路算法规划主干路径,利用栅格寻路算法规划主干路径与起点位置间的路径,以及主干路径与终点位置间的路径,从而可以生成精确度更高的路径。
113.下面对本技术实施例的应用场景进行介绍。
114.可以理解的是,若起点位置和终点位置均位于地图中已明显存在的道路,那么仅依靠矢量寻路算法即可满足用户的导航需求。因此,本技术实施例提供的导航方法主要应用于复杂场景下的车辆导航和步行导航等,即起点位置和终点位置中的至少一者不位于地图中已明显存在的道路,其中步行导航可以是增强现实(augmented reality,ar)步行导航。
115.当本技术实施例提供的导航方法应用于车辆导航或普通步行导航时,可以具体应用于路网数据较为稀疏的区域。其中,路网是指一定区域内由各种道路(道路包含路段和路口)组成的相互联络、交织成网状分布的道路系统,相应地,路网数据则指该道路系统的数据,具体可以包括路段上各个位置的三维数据。以图2为例,点a表示起点位置,点b表示终点位置,粗实线表示路网,基于此可以看出,起点位置处和终点位置处均无路网;若使用目前的导航方法规划出的路径通常仅包括图2中路网的部分路段,而不是从起点位置a到起点位置b的路径,若使用本技术实施例提供的导航方法,则可以规划出从起点位置a到起点位置b的路径。
116.当本技术实施例提供的导航方法应用于ar步行导航时,本技术实施例可以具体应用于地形复杂的室内导航、室内外一体化导航、跨楼层导航、多障碍物区域导航、景区导航、停车场导航以及商圈导航。例如,在停车场中,使用本技术实施例提供的导航方法找车;在商圈的步行街中,使用本技术实施例提供的导航方法寻找店铺;利用使用本技术实施例提供的导航方法在商场内寻找店铺。
117.以在商场内寻找店铺为例,用户的起点位置位于家中,终点位置为商场内一店铺,使用目前的导航方法仅能规划出从靠近家的马路至该商场外马路的一条路径,而从家中到
马路的路径、从商场外到商场内的店铺的路径则无法规划。而使用本技术实施例提供的导航方法,则可以规划从用户家中到商场内的店铺的路径。
118.可以理解的是,当本技术实施例提供的导航方法应用于ar步行导航时,终端设备需要支持ar应用;具体地,用户通过该终端设备可以看到真实世界与虚拟世界,用户可以通过触屏、手势等方式与该终端设备进行交互。
119.下面对本技术实施例提供的导航方法进行具体说明,其中,下文主要以步行导航场景中的ar步行导航场景为例进行说明。如图3所示,本技术实施例提供了一种导航方法的一个实施例,该实施例可以应用于服务器,也可以应用于具有规划路径功能的终端设备中。下面以服务器为例,对导航方法进行介绍。
120.首先,服务器中存储有三维路网数据和可行区域数据。
121.基于前述说明可知,路网是指一定区域内由各种道路(道路包含路段和路口)组成的相互联络、交织成网状分布的道路系统。例如,路网可以包括普通道路、直梯、楼梯、人行横道、天桥等路段;除此之外,在本技术实施例中,路网还可以包含室内的一些路段,例如包括大型商场内的主路段。三维路网数据则包括路段上每个位置的三维数据。
122.可行区域是指可以行走或可以行驶的区域,可以理解的是,对于不同的对象,可行区域不同。例如,对于车辆来说,车行道则是可行区域,而人行道则为非可行区域。对于人来说,可行区域则可以包括广场、步行通道、人行横道、过街天桥、室内道路等区域,而非可行区域则可以包括车行道、草坪、水沟等区域。相应地,可行区域数据则包括可行区域的范围和可行区域内各个位置的高度数据等。
123.需要说明的是,生成三维路网数据和可行区域数据的方法有多种,本技术实施例对此不做具体限定。例如,可以基于点云数据、路段数据、白模以及平面图等生成三维路网数据和可行区域数据。
124.为了便于理解,下面通过图4至图6对白模、可行区域、三维路网进行区分。如图4所示,图4示出了特定区域对应的白模;图5示出了基于图4的白模生成的可行区域,其中,在图5中,白色区域代表可行区域;图6示出了基于图4的白模生成的三维路网,其中,图6中的每条线都表示一个路段。需要说明的是,图4至图6仅在于区分白模、可行区域、三维路网,并不在于表示具体的某一路段或某一区域。
125.具体地,本技术实施例提供的导航的方法包括:
126.步骤101,获取第一目标位置和第二目标位置,第一目标位置为k条路段上距离起点位置最近的位置,第二目标位置为k条路段上距离终点位置最近的位置,k为正整数。
127.可以理解的是,在执行步骤101前,服务器可以先获取用户输入的起点位置和终点位置。
128.基于前述说明可知,三维路网数据包含一个区域内的多条路段的数据,在本技术实施例中,三维路网数据包含k条路段的数据,k条路段是预设的,其中k可以根据实际需要进行调整。
129.获取第一目标位置和第二目标位置的方法有多种,本技术实施例对此不做具体限定。由于获取第一目标位置的方法和获取第二目标位置的方法可以相同,因此下面以第一目标位置为例对获取第一目标位置的方法进行介绍。
130.作为一种实现方式,可以在三维空间内,从起点位置向k条路段分别做垂线,并获
取垂线与k条路段各自的交点,然后获取交点与起点位置间的距离;若垂线与路段无交点,但垂线与路段的延长线存在交点,则可以获取起点位置与路段的较近端点间的距离。最终,比较起点位置与交点的距离以及起点位置与路段端点的距离,则可以确定第一目标位置。下文将结合图7至图11介绍确定第一目标位置的另一种方法。
131.作为另一种实现方式,如图7所示,获取第一目标位置包括:
132.步骤201,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段。
133.其中,三维数据主要是三维坐标;起点位置的三维数据为起点位置的三维坐标,k条路段的三维数据则包括k条路段上每个位置处的三维坐标。
134.可以理解的是,由于起点位置与路段之间可能存在高度差,并且,同一起点位置与不同的路段之间的高度差可能不同,因此,本技术实施例基于起点位置的三维数据及k条路段的三维数据确定最近的路段,而不是基于起点位置的二维数据及k条路段的二维数据确定最近的路段。
135.以图2为例,点a表示起点位置,且点a位于某一大厦的10楼;点c表示一个路段上的一个位置,点e表示另一个路段上的一个位置;点c所在的路段位于该大厦的4楼的出口外,而点e所在的路段位于该大厦的1楼的出口外。尽管在图2中,仅从二维角度来看,点a和点c之间的距离较点a和点e之间的距离远,即点e所在的路段较点c所在的路段更靠近点a,但当考虑到这两个路段与点a之间的高度差后,实际上是点c所在的路段较点e所在的路段更靠近点a。
136.需要说明的是,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段的方法有多种,本技术实施例对此不做限定。下面介绍其中的两种方法。
137.作为一种实现方式,如图8所示,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段包括:
138.步骤301,基于起点位置的高度数据及可行区域的高度数据从可行区域包含的多层区域中,确定起点位置所在的目标层区域,目标层区域为多层区域中的一层。
139.基于前述说明可知,路网数据和可行区域数据都是三维数据,因此可以根据三维数据中的高度数据对路网数据和可行区域数据进行分层管理。具体地,将整个区域的路网划分为多层路网,相应地,路网数据则被划分为多层路网的数据;将可行区域划分为多层区域,相应地,可行区域数据被划分为多层区域的数据;多层路网和多层区域一一对应。
140.其中,每层路网可以不包含路段,也可以包含至少一个路段。
141.例如,某一大厦有10层楼,路网包含该大厦10层楼中的路段,可行区域也包括该大厦10层楼的区域。可以将该可行区域划分为10层区域,每层楼为一层区域,相应地,可行区域数据则包含10层楼的区域数据;可以将该路网划分为10层路网,每层楼中的路网为一层路网,相应地,路网数据则包含10层楼的路网数据。
142.基于可行区域包含多层区域,则根据起点位置的高度数据及可行区域的高度数据可以确定起点位置所在的目标层区域。
143.步骤302,基于k条路段的高度数据确定起点位置所在的目标层区域包含的v条路段,v为小于或等于k的正整数。
144.基于前述说明可知,基于高度数据可以对k条路段和可行数据进行分层管理,且多层路网和多层区域一一对应;所以基于k条路段的高度数据可以确定与起点位置位于同一层区域的所有路段。
145.步骤303,基于起点位置的水平方向的数据及v条路段的水平方向的数据,从v条路段中确定距离起点位置最近的一条路段。
146.可以理解的是,由于v条路段与起点位置位于同一层区域,所以在从v条路段中确定距离起点位置最近的一条路段时,可以忽略路段与起点位置间的高度差。
147.以图2为例,点a表示起点位置,图2中的所有路段都与起点位置位于同一层区域;可以从点a向各条路段分别做垂线,将点a与各个垂足间的距离作为起点位置与各条路段间的距离。然而,对于部分路段来说,垂足可能位于路段的延长线上,此时则可以将起点位置与路段端点间的距离作为起点位置与路段间的距离;以点e所在路段为例,点a与点e之间的距离则为点e所在路段与起点位置间的距离。最终,比较起点位置与各个路段之间的距离则可以确定距离起点位置最近的一条路段。
148.基于前述说明可知,对于一层区域来说,可以不包含路段,所以起点区域所在的一层区域中可能不包含任何路段,此时可以认为起点位置超出导航范围。
149.在本技术实施例中,利用可行区域确定起点位置所在的目标层区域,然后从该目标层区域中需寻找距离起点位置最近的路段,从而可以提高确定距离起点位置最近的一条路段的效率。
150.除了上述实施例的方法外,也可以直接利用路网数据确定距离起点位置最近的一条路段,下面对此进行具体介绍。
151.作为另一种可实现的方式,如图9所示,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段包括:
152.步骤401,基于起点位置的水平方向的数据及k条路段的水平方向的数据,从k条路段中确定在水平方向上与起点位置的距离小于第一阈值的m条路段,m为小于或等于k的正整数。
153.确定在水平方向上与起点位置的距离小于第一阈值的m条路段可以理解为,忽略起点位置与路段间的高度差,将起点位置和k条路段看成在同一平面内,然后计算起点位置与k条路段之间的距离,最终选择与起点位置的距离小于第一阈值的m条路段。
154.其中,第一阈值可以根据实际需要进行调整,本技术实施例对此不做具体限定。
155.可以理解的是,本技术实施例通过步骤401在水平方向上对m条路段进行筛选;例如,k条路段位于两个相邻的大厦内,起点位置位于其中一个大厦内,通过步骤401则可以确定与起点位置位于同一大厦内的m条路段,而将另一个大厦内的路段排除掉。
156.步骤402,基于起点位置的高度数据及m条路段的高度数据从m条路段中确定满足目标条件的n条路段,n为小于或等于m的正整数。
157.本技术实施例通过步骤402从高度上对m条路段进行进一步筛选,以得到满足目标条件的n条路段。其中,目标条件可以根据实际需要进行设定,本技术实施例对此不做具体限定。
158.示例性地,目标条件包括:路段的高度数据的取值大于起点位置的高度数据的取值与第三阈值的差,且小于起点位置的高度数据的取值与第二阈值的和。
159.其中,第二阈值和第三阈值可以根据实际需要进行设定。
160.可以理解的是,起点位置的高度数据的取值通常高于路段表面一定范围,该范围可以表示为(xx,yy);而起点位置的高度数据通常来自于终端设备,所以起点位置的高度数据会存在一定的偏差,因此,上述范围可以修正为(xx-ff,yy ff),其中ff表示偏差,且偏差ff通常比xx大。基于此,如图10所示,可以认为起点位置的高度数据的取值大于路段的高度数据的取值与第二阈值的差,且小于路段的高度数据的取值与第三阈值的和,其中,第二阈值小于第三阈值。相应地,路段的高度数据的取值大于起点位置的高度数据的取值与第三阈值的差,且小于起点位置的高度数据的取值与第二阈值的和。
161.例如,起点位置的高度数据的取值高于路段表面的范围为(0.5m,1.5m),偏差ff为1m,则上述范围可以修正为(-0.5m, 2.5m)。因此,可以认为起点位置的高度数据的取值大于路段的高度数据的取值与0.5m的差,且小于路段的高度数据的取值与2.5m的和;相应地,路段的高度数据的取值大于起点位置的高度数据的取值与2.5m的差,且小于起点位置的高度数据的取值与0.5m的和。
162.然而对于不同的终端设备,起点位置的高度数据的准确性不同。所以当起点位置的高度数据的准确性较高时,第二阈值小于第三阈值;当起点位置的高度数据的准确性较低时,可以适当扩大路段的高度数据的取值范围,如图11所示,起点位置的高度数据的取值大于路段的高度数据的取值与第二阈值的差,且小于路段的高度数据的取值与第三阈值的和,但第二阈值等于第三阈值;相应地,路段的高度数据的取值大于起点位置的高度数据的取值与第三阈值的差,且小于起点位置的高度数据的取值与第二阈值的和,且第二阈值等于第三阈值。
163.步骤403,基于起点位置的三维数据及k条路段的三维数据,从n条路段中确定距离起点位置最近的一条路段。
164.可以理解的是,基于步骤201和步骤402,分别从水平方向和高度上对k条路段进行了筛选,从而得到n条路段。
165.在计算n条路段与起点位置之间的距离时,可以考虑起点位置与路段之间的高度差,也可以不考虑起点位置与路段之间的高度差;当考虑起点位置与路段之间的高度差时,则可以基于起点位置的三维数据及k条路段的三维数据计算起点位置与n条路段中每条路段间的距离;当不考虑起点位置与路段之间的高度差时,则可以基于起点位置的水平方向的二维数据及k条路段的水平方向的二维数据计算起点位置与n条路段中每条路段间的距离。
166.需要说明的是,若经过步骤401和步骤402的筛选后,未得到满足目标条件的路段,即n为0,此时可以认为起点位置超出导航范围。
167.在本技术实施例中,分别从水平方向和高度上对k条路段进行筛选,避免某一路段由于在水平方向或高度上距离起点位置较近导致确定的距离起点位置最近的一条路段不准确的情况。
168.例如,起点位置位于大厦甲的5层,一条路段位于该大厦的4层,而另一条路段位于大厦乙的5层,且大厦甲与大厦乙间的距离较近;此时,由于位于大厦乙的5层的路段与起点位置的高度差为0,所以若直接计算起始位置与这两条路段在三维空间的距离,得到的结果可能是位于大厦乙的5层的路段距离起点位置更近;然而,若将位于大厦乙的5层的路段作
为距离起点位置最近的一条路段,显然是不合理的。
169.本技术实施例先利用起点位置的水平方向的数据及k条路段的水平方向的数据,从水平方向上对k条路段进行筛选,得到m条路段;然后,再利用起点位置的高度数据及m条路段的高度数据对m条路段进行筛选,得到n条路段;最后从n条路段中选择距离起点位置最近的一条路段,可以避免上述情况;除此之外,本技术实施例先从水平方向和高度上缩小路段的选择范围,能够提高确定距离起点位置最近的一条路段的效率。
170.上文介绍了两种确定k条路段中距离起点位置最近的一条路段的方法,可以采用其中的一种方法确定距离起点位置最近的一条路段,也可以结合两种方法确定距离起点位置最近的一条路段。
171.示例性地,由于三维路网数据比可行区域数据全面,因此可以先执行步骤301,若目标层区域中存在路段,则继续执行步骤302和步骤303,若目标层区域中不存在路段,再执行步骤401至步骤403以寻找距离起点位置最近的一条路段,从而避免可行区域的数据不全面导致无法寻找到距离起点位置最近的一条路段。
172.步骤202,从距离起点位置最近的一条路段上确定第一目标位置。
173.基于前述说明可知,从距离起点位置最近的一条路段上确定第一目标位置的方法有多种,本技术实施例对此不做具体限定。例如,可以计算起点位置与最近的一条路段上各个位置之间的距离,然后通过距离比较确定第一目标位置;例如,也可以通过做垂线的方式确定第一目标位置。
174.在本技术实施例中,基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段,然后,从距离起点位置最近的一条路段上确定第一目标位置,相比于不考虑高度数据确定第一目标位置,可以防止根据第一目标位置规划出的路径存在较大的高度差而造成“跳楼式”的错误指引。
175.步骤102,基于矢量寻路算法和k条路段获取第一目标位置至第二目标位置的第一路径。
176.由于第一目标位置和第二目标位置均在k条路段上的某一路段上,所以基于k条路段和矢量寻路算法便可以规划出第一目标位置到第二目标位置的第一路径。由于矢量寻路算法是较成熟的技术,故在此不做赘述。
177.以图2为例,其中c点表示第一目标位置,d点表示第二目标位置,采用矢量寻路算法则可以规划出图2所示的第一路径。
178.步骤103,基于栅格寻路算法获取起点位置至第一目标位置的第二路径,以及第二目标位置至终点位置的第三路径。
179.其中,栅格寻路算法包括但不限于a*算法、dijkstra算法和jps算法。
180.需要说明的是,采用栅格寻路算法规划第二路径和第三路径的过程相同,下面以第二路径为例对基于栅格寻路算法获取第二路径的方法进行说明。
181.作为一种实现方式,如图12所示,以现有的栅格寻路算法中的a*算法为例,基于栅格寻路算法获取起点位置至第一目标位置的第二路径可以包括:
182.步骤501,获取构成可行区域的p个栅格,p个栅格中包含起点位置对应的栅格和终点位置对应的栅格,p为大于2的正整数。
183.获取p个栅格可以包括:将可行区域划分为p个栅格;其中,栅格的大小可以根据实
际需要进行设定。
184.可以理解的是,可行区域通常以图像的形式保存,因此可以将每个像素点作为一个栅格。
185.图13示出了由栅格构成的可行区域的一个示例。
186.所述基于栅格寻路算法获取所述起点位置至所述第一目标位置的第二路径包括:
187.步骤502,从q个候选栅格中选取一个栅格作为第三目标位置对应的栅格,q个候选栅格属于p个栅格,q为小于p的正整数。
188.可以理解的是,在执行步骤502之前,可以基于选取规则先从p个栅格中选择q候选个栅格;具体地,可以基于选取规则在起点位置对应的栅格周围选择q个候选栅格,然后通过计算第二路径经过q个候选栅格中每个栅格时的代价,然后将代价最小的一个栅格作为起点位置的下一个位置对应的栅格;在本技术实施例中,将起点位置的下一个位置称为第三目标位置。
189.需要说明的是,计算第二路径经过q个候选栅格中每个栅格时的代价是较成熟的技术,故在此不做详述。
190.选取规则可以根据实际需要进行设定,本技术实施例对此不做具体限定。
191.例如,如图13所示,栅格w为起点位置对应的栅格,在a*算法中,会以栅格w为基准,沿着图13中的第一方向至第八方向分别在栅格w选择a、b、c、d、e、f、g和h八个候选栅格;为了进一步增加候选栅格的数量,可以继续扩大选取范围,但依然沿着第一方向至第八方向进行选择,则会另外选择aa、bb、cc、dd、ee、ff、gg和hh八个候选栅格。
192.基于图13可以看出,栅格aa和栅格hh之间存在未被选择未候选栅格的栅格;可以理解的是,随着选取范围的不断扩大,按照上述的选取方法仅能从第一方向至第八方向选择候选栅格,而其他方向的栅格则不会被选为候选栅格。
193.为了从更多方向上选取候选栅格,作为另一种实现方式,选取规则包括候选栅格的第一水平方向的坐标和候选栅格的第二水平方向的坐标,第一水平方向与第二水平方向垂直,其中第一水平方向和第二水平方向可以理解为二维坐标系中的横坐标方向以及纵坐标方向。
194.候选栅格的第一水平方向的坐标等于起点位置所在栅格的第一水平方向的坐标与第一偏移量的和,第一偏移量等于第一步长与第一角度的余弦值的乘积,第一步长等于初始步长与第一步长增量的和,步长增量等于第一累积次数与每次累积的步长增量的乘积,第一角度等于初始角度与第一角度增量的和,第一角度增量等于第二累积次数与每次累积的角度增量的乘积;
195.候选栅格的第二水平方向的坐标等于起点位置的第二水平方向的坐标与第二偏移量的和,第二偏移量等于第一步长与第一角度的正弦值的乘积。
196.上述候选规则可以用公式n.x=x (rasterdist rasterstep*n)*cos((startangle dltangle*m)*pi/180)和公式n.y=y (rasterdist rasterstep*n)*sin((startangle dltangle*m)*pi/180)表示,其中,n.x表示候选栅格的第一水平方向的坐标,x表示起点位置所在栅格的第一水平方向的坐标,rasterdist表示初始步长,rasterstep表示每次累积的步长增量,n表示第一累积次数,n.y表示候选栅格的第二水平方向的坐标,y表示候选栅格的第二水平方向的坐标。
197.基于上述选取规则,可以灵活调整候选栅格的选取方向,以从各个方向选取候选栅格,使得最终确定的第三目标位置更合适。例如,采用上述选取规则,可以沿着图14中的八个方向选择候选栅格。
198.步骤503,连接起点位置对应的栅格与第三目标位置对应的栅格。
199.可以理解的是,连接起点位置对应的栅格与第三目标位置对应的栅格,即可得到一条从起点位置对应的栅格到第三目标位置对应的栅格的轨迹,该轨迹则表示起点位置到第三目标位置的子路径。
200.步骤504,从l个候选栅格中选取一个栅格作为第四目标位置对应的栅格,l个候选栅格属于p个栅格,l为小于p的正整数。
201.需要说明的是,在执行步骤504之前,可以先选取l个候选栅格,其中,选取l个候选栅格的方法可以与选取q个候选栅格的方法相同,具体请参阅步骤502的相关说明进行理解。
202.选取l个候选栅格的方法也可以与选取q个候选栅格的方法不同,例如在除q个候选栅格以及与q个候选栅格满足目标位置关系的至少一个栅格外的其他栅格中,选取l个候选栅格,这样,l个候选栅格则不包含q个候选栅格以及,与q个候选栅格满足目标位置关系的至少一个栅格。
203.可以理解的是,在步骤502中,已经计算了q个候选栅格的代价,并最终从q个候选栅格中选取了一个栅格作为第三目标位置对应的栅格,那么这q个候选栅格则不会成为第四目标位置对应的栅格,因此,可以从除q个候选栅格外的其他栅格中选取l个栅格。
204.此外,通常情况下,栅格的尺寸通常较小,所以可行区域内的栅格数量通常很多;例如,当一个像素为一个栅格时,一个可行区域的图像内将包含很多像素。所以,若要尽可能地遍历p个栅格,则需要较长的遍历时间。
205.为此,在本技术实施例中,若遍历了一个候选栅格,则认为该候选栅格周围的多个栅格都被遍历了;因此,可以从除q个候选栅格以及与q个候选栅格周围的至少一个栅格外的其他栅格中,选取l个候选栅格。
206.其中,可以通过目标位置关系确定q个候选栅格周围的栅格,该目标位置关系可以根据实际需要进行设定,本技术实施例对此不做具体限定。
207.在本技术实施例中,l个候选栅格不包含q个候选栅格,且不包含q个候选栅格满足目标位置关系的至少一个栅格,避免对q个候选栅格的重复筛选,并且能够加快遍历p个栅格的效率,从而提高第二路径的获取效率,节省第二路径的获取时间。
208.选取第四目标位置对应的栅格的方法与选取第三目标位置对应的栅格的方法相同,具体请参阅步骤502的相关说明进行理解。
209.步骤505,连接第三目标位置对应的栅格与第四目标位置对应的栅格。
210.同样地,连接第三目标位置对应的栅格与第四目标位置对应的栅格,即可得到一条从第三目标位置对应的栅格到第四目标位置对应的栅格的轨迹,该轨迹则表示第三目标位置到第三目标位置的子路径。
211.重复上述步骤,直到连接到第一目标位置对应的栅格,以得到起点位置至第一目标位置的第二路径。
212.以图13为例,栅格w表示起点位置对应的栅格,栅格r表示第三目标位置对应的栅
格,栅格s代表第四目标位置对应的栅格,栅格u表示终点位置对应的栅格,采用上述栅格寻路方法,则最终会得到如图13所示的依次经过栅格w、栅格r、栅格s以及栅格u的轨迹,该轨迹代表起点位置到终点位置的路径。
213.通过上述栅格寻路的方法,可以规划出第二路径和第三路径。例如,第二路径和第三路径分别可以如图2所示。
214.另外,需要说明的是,上述栅格寻路算法主要适用于起点位置和第一目标位置存在障碍物时的第一路径的规划;当起点位置和第一目标位置没有障碍物时,也可以使用上述栅格寻路算法,为了加快第一路径的规划效率,还可以直接将第一目标位置与起点位置连接。
215.步骤104,基于第一路径、第二路径以及第三路径,生成起点位置至终点位置的第四路径,第四路径用于导航。
216.可以理解的是,可以将第一路径、第二路径以及第三路径拼接,以生成从起点位置到终点位置的第四路径,然后利用该第四路径进行导航。其中,在拼接过程中,可以剔除冗余、重复的部分路径;具体地,可以采用矢量轨迹加密与直线遍历方式剔除冗余、重复的部分路径。
217.步骤105,对第四路径进行优化。
218.在获取到第四路径后,可以直接利用第四路径进行导航;此外,为了使得第四路径更准确、更快捷,在导航前,也可以对第四路径进行优化,所以步骤105是可选的。
219.通过优化,可以缩短第四路径的长度,使得用户更快地达到终点位置,从而提高用户的体验度。
220.需要说明的是,对第四路径进行优化的方法有多种,本技术实施例对此不做具体限定。
221.作为一种实现方式,对第四路径进行优化包括:
222.先确定可行区域中的可优化区域。
223.需要说明的是,如图2所示,白色区域表示可行区域,黑色区域表示非可行区域,从图2中可以看出,部分可行区域较为狭长;若对位于狭长的可行区域内的路径进行优化,优化后的路径与优化前的路径相差不大,即不能明显减少路径的长度,因此优化效果不明显。
224.因此,为了防止消耗较多的优化时间却得不到较好的优化效果,本技术实施例从可行区域中确定可优化区域。确定可优化区域的方法有多种,本技术实施例对此不做具体限定。例如,在可行区域对应的图像中,不断移动特定尺寸的窗口,当位于该窗口内的可行区域的面积与窗口的面积的比值达到预设值时,则将该窗口内的可行区域作为可优化区域。
225.其中,根据可行区域生成可优化区域的算法包括但不限于图像形态学、模板匹配等图形学算法以及机器学习、深度学习等其他数据处理方法。
226.在确定可优化区域后,再对第四路径位于可优化区域的部分进行优化。
227.对第四路径位于可优化区域的部分进行优化的方法有多种,本技术实施例对此不做具体限定。
228.作为一种实现方式,第四路径上存在第五目标位置和第六目标位置,且第五目标位置和第六目标位置均位于可优化区域。
229.对第四路径位于可优化区域的部分进行优化包括:
230.基于第五目标位置和第六目标位置之间不存在障碍物,且第四路径位于第五目标位置和第六目标位置之间的部分为非直线路径,将非直线路径替换为由第五目标位置至第六目标位置的直线路径第五目标位置第六目标位置,以对第四路径进行优化。
231.其中,第五目标位置和第六目标位置可以是位于第四路径上且位于可优化区域内的任意两个位置;非直线路径与直线路径相对,包括但不限于曲线路径和折线路径。
232.可以理解的是,可以基于三维路网数据确定第五目标位置和第六目标位置之间不存在障碍物。
233.以图2为例,点b表示第六目标位置(即终点位置),点f表示第五目标位置,点b和点f均位于可优化区域。从图2中可以看出,点b和点f之间不存在障碍物,因此可以直接将点f和点b连接,具体可参阅图2中从点f至点b的虚线。这样,第四路径在点f和点b之间的部分,便由点f到点b的折线变为点f到点b的直线。
234.由此可以看出,经过优化,第四路径的长度变短了,用户便可以从第五目标位置经过点f至点b的虚线所表示的路段,直接到达第六目标位置,而不需经过距离较远的折线路段到达第六目标位置,从而节省用户的时间。
235.除此之外,步骤105还可以包括:采用贝塞尔曲线优化等方法对第四路径进行曲线优化,使得第四路径更加圆滑。
236.步骤106,向终端设备发送第四路径,使得终端设备根据第四路径进行导航。
237.可以理解的是,由于规划第四路径需要占用较多资源,所以步骤101至步骤105通常由服务器执行;在服务器执行完步骤105后,可以将第四路径发送至终端设备,这样,终端设备便可以根据第四路径进行导航,以指引用户从起点位置行走至终点位置。
238.因此,步骤106是可选的。
239.在本技术实施例中,利用矢量寻路算法规划第一目标位置和第二目标位置之间的第一路径,从而提高了从起点位置到终点位置的第四路径的规划效率;而在存在障碍物区域或路网稀疏而无法矢量寻路算法规划路径的区域,采用栅格寻路算法规划起点位置和第一目标位置之间的第二路径以及终点位置和第二目标位置之间第三路径,提高了从起点位置到终点位置的第四路径的准确性和精度,使得第四路径能够很好地避开障碍物;也因此,本技术实施例可以更好地适用于高精度ar步行导航。
240.基于上述说明,如图15所示,采用本技术实施例提供的导航方法规划第四路径的过程可以概括为:
241.服务器接收起点位置和终点位置,然后基于起点位置、终点位置以及三维路网数据确定第一目标位置和第二目标位置;在确定第一目标位置和第二目标位置的过程中,基于高度数据的约束和水平方向的数据的约束选择距离起点位置的最近路段和距离终点位置的最近路段;然后基于第一目标位置和第二目标位置,采用栅格寻路算法和矢量寻路算法规划路径,然后将采用栅格寻路算法和矢量寻路算法规划出的路径合并,再对合并后的路径进行路径优化。最终,将优化后的路径发送至终端设备。
242.下面从终端设备角度对本技术实施例提供的导航方法进行介绍。如图16所示,本技术实施例提供了一种导航方法的一个实施例,可以应用于终端设备,该实施例包括:
243.步骤601,获取起点位置至终点位置的第四路径。
244.需要说明的是,步骤601可以包括:终端设备利用前述的导航方法规划第四路径;除此之外,步骤601也可以包括:终端设备接收服务器发送的第四路径。
245.步骤602,显示第四路径。
246.可以理解的是,终端设备显示第四路径以指示用户从起点位置向目标位置移动;其中,显示第四路径的方法为较成熟的技术,本技术实施例对此不做具体限定。
247.步骤603,基于用户的位置与第四路径的位置显示导引线,导引线用于指示用户沿第四路径向终点位置移动。
248.其中,该用户的位置可以是用户的实时位置。
249.需要说明的是,基于用户的位置与第四路径的位置间的相对位置的变化,导引线的位置也不同。例如,当用户的位置位于第四路径上时,导引线的位置则位于第四路径上,且导引线的方向与第四路径的方向相同。
250.当用户的位置不位于第四路径上时,则需要基于用户的位置与第四路径的位置的具体情况,显示相应的导引线,下面将分四种情况对此分别进行介绍。
251.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径。
252.多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置。其中,第一参考位置可以为起点位置。
253.基于用户的位置与第四路径的位置显示导引线包括:
254.基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第一子路径之间,显示从用户的位置到第二参考位置的导引线。
255.以图17为例,第四路径包括依次连接的起点位置、第一参考位置aa、第二参考位置bb、第三参考位置cc和终点位置,基于此,第四路径包括四条子路径。其中,第一参考位置aa和第二参考位置bb连接形成第一子路径,第二参考位置bb和第三参考位置cc连接形成第二子路径。第一子路径和第二子路径形成以第二参考位置bb为角顶点的目标角,o1表示用户的当前位置。从图17可以看出,用户的当前位置01和第三参考位置cc位于第一子路径的同侧,且用户的当前位置01位于目标角的角平分线与第一子路径之间,因此导引线由用户的当前位置01指向第二参考位置bb。
256.在该实现方式中的场景下,显示从用户的位置到第二参考位置的导引线,能够准确地指引用户沿着第四路径移动。
257.作为另一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径。
258.多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置。其中,第一参考位置可以为起点位置。
259.基于用户的位置与第四路径的位置显示导引线包括:基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第二子路径之间,显示从用户的位置到第三参考位置的导引线。
260.仍以图17为例,第四路径包括依次连接的起点位置、第一参考位置aa、第二参考位置bb、第三参考位置cc和终点位置,基于此,第四路径包括四条子路径。其中,第一参考位置aa和第二参考位置bb连接形成第一子路径,第二参考位置bb和第三参考位置cc连接形成第二子路径。第一子路径和第二子路径形成以第二参考位置bb为角顶点的目标角,o2表示用户的当前位置。从图17可以看出,用户的当前位置02和第三参考位置cc位于第一子路径的同侧,且用户的当前位置02位于目标角的角平分线与第二子路径之间,因此导引线由用户的当前位置02指向第三参考位置cc。
261.在该实现方式中的场景下,显示从用户的位置到第三参考位置的导引线,能够准确地指引用户沿着第四路径移动。
262.作为另一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径。
263.多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置。其中,第一参考位置可以为起点位置。
264.基于用户的位置与第四路径的位置显示导引线包括:
265.基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的同侧,显示从用户的位置到第二参考位置的导引线。
266.仍以图17为例,第四路径包括依次连接的起点位置、第一参考位置aa、第二参考位置bb、第三参考位置cc和终点位置,基于此,第四路径包括四条子路径。其中,第一参考位置aa和第二参考位置bb连接形成第一子路径,第二参考位置bb和第三参考位置cc连接形成第二子路径。第一子路径和第二子路径形成以第二参考位置bb为角顶点的目标角,o3表示用户的当前位置。从图17可以看出,用户的当前位置03和第三参考位置cc位于第一子路径的两侧,且用户的当前位置03和第一参考位置aa位于第二子路径的反向延长线的同侧,因此导引线由用户的当前位置03指向第二参考位置bb。
267.在该实现方式中的场景下,显示从用户的位置到第二参考位置的导引线,能够准确地指引用户沿着第四路径移动。
268.作为另一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;
269.多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置。其中,第一参考位置可以为起点位置。
270.基于用户的位置与第四路径的位置显示导引线包括:
271.基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的两侧,显示从用户的位置到第三参考位置的导引线。
272.仍以图17为例,第四路径包括依次连接的起点位置、第一参考位置aa、第二参考位置bb、第三参考位置cc和终点位置,基于此,第四路径包括四条子路径。其中,第一参考位置aa和第二参考位置bb连接形成第一子路径,第二参考位置bb和第三参考位置cc连接形成第二子路径。第一子路径和第二子路径形成以第二参考位置bb为角顶点的目标角,o4表示用户的当前位置。从图17可以看出,用户的当前位置04和第三参考位置cc位于第一子路径的两侧,且用户的当前位置04和第一参考位置aa位于第二子路径的反向延长线的两侧,因此导引线由用户的当前位置04指向第三参考位置cc。
273.在该实现方式中的场景下,显示从用户的位置到第三参考位置的导引线,能够准确地指引用户沿着第四路径移动。
274.在本技术实施例中,基于用户的位置与第四路径的位置显示导引线,可以及时调整导引线,从而能够准确地指引用户沿着第四路径移动。
275.基于前述说明可知,终端设备在显示第四路径的同时,会显示导引线,而显示导引线的方法有多种。前述实施例对导引线的位置和方向进行了说明,下文对导引线的高度进行说明。
276.作为一种实现方式,第四路径是由多个参考位置依次连接形成,导引线在第四参考位置处的高度等于第四参考位置的高度与特定高度的和,第四参考位置为多个参考位置中的任意一个。
277.可以理解的是,导引线可以位于第四路径上,相应地,可以获取第四参考位置的高度,然后在第四参考位置的高度的基础上增加一个特定高度,从而得到导引线的高度,并根据导引线的高度显示第四参考位置处的导引线。具体地,可以在地图中从第四参考位置向白模做垂线得到垂线与白模的交点,然后计算第四参考位置到交点间的高度,从而得到第四参考位置的高度。
278.其中,该特定高度可以根据实际需要进行设定,例如,第四路径上所有参考位置对应的特定高度都相同。
279.以图18为例,第四路径依次经过广场和台阶,相应地,第四路径在台阶处的高度高于第四路径在广场处的高度;由于导引线在任意一个参考位置的高度都等于该参考位置的高度与特定高度的和,所以从图18中可以看出,导引线在台阶处的高度也高于导引线在广场处的高度。
280.在本技术实施例中,导引线与导引线所在位置的相对高度是确定的,可以形象地向用户展示第四路径的高度变化,从而提高用户体验。
281.可以理解的是,在实际导航过程中,导航的场景是多变的,例如,在利用第四路径导航的过程中,可能经过电梯。下面以电梯场景为例的,对本技术实施例提供的导航方法进行说明。
282.作为一种实现方式,第四路径是由多个参考位置依次连接形成,方法还包括:
283.步骤604,基于用户的位置位于电梯区域,且第五参考位置的属性信息指示用户乘
坐电梯,显示指示信息,指示信息指示用户乘坐电梯,第五参考位置为多个参考位置中距离用户的位置最近的一个参考位置。
284.可以理解的是,终端设备可以获取用户的位置,并根据三维路网数据确定用户的位置位于电梯区域;并且,终端设备可以获取距离用户的位置最近的一个参考位置,本技术实施例将该最近的参考位置称为第五参考位置。
285.此后,终端设备可以查询预设的第五参考位置的属性信息,其中,该属性信息可以包含多种信息,本技术实施例对属性信息的内容不做具体限定。例如,该属性信息可以指示用户需要乘坐电梯,也可以指示用户不需要乘坐电梯;当属性信息指示用户需要乘坐电梯时,该属性信息还可以指示乘坐电梯后的目标楼层。
286.在查询到第五参考位置的属性信息后,终端设备可以显示指示信息,该指示信息指示用户乘坐电梯,该指示信息还可以指示用户乘坐电梯将要达到的目标楼层。其中,指示信息的显示方式可以有多种,本技术实施例对此不做具体限定。例如,指示信息可以以提示框的方法显示。
287.此外,当达到目标楼层后,终端设备还可以获取用户操作信息,基于该操作信息指示用户已达到目标楼层,终端设备可以重新获取用户的当前位置,并将用户的当前位置发送至服务器,使得服务器重新规划当前位置到终点位置的路径。最终,终端设备根据服务器重新规划的路径继续导航。
288.在本技术实施例中,通过显示指示信息提示用户乘坐电梯,能够保证用户在复杂的电梯场景下准确地沿着第四路径行走。
289.请参阅图19,本技术实施例中导航装置的一个实施例示意图。
290.本技术实施例提供了一种导航装置的一个实施例,可以应用于服务器,包括:
291.位置获取单元701,用于获取第一目标位置和第二目标位置,第一目标位置为k条路段上距离起点位置最近的位置,第二目标位置为k条路段上距离终点位置最近的位置,k为正整数;
292.路径获取单元702,用于基于矢量寻路算法和k条路段获取第一目标位置至第二目标位置的第一路径;
293.路径获取单元702,还用于基于栅格寻路算法获取起点位置至第一目标位置的第二路径,以及第二目标位置至终点位置的第三路径;
294.路径生成单元703,用于基于第一路径、第二路径以及第三路径,生成起点位置至终点位置的第四路径,第四路径用于导航。
295.作为一种实现方式,位置获取单元701用于基于起点位置的三维数据及k条路段的三维数据确定k条路段中距离起点位置最近的一条路段;
296.从距离起点位置最近的一条路段上确定第一目标位置。
297.作为一种实现方式,位置获取单元701用于基于起点位置的高度数据及可行区域的高度数据从可行区域包含的多层区域中,确定起点位置所在的目标层区域,目标层区域为多层区域中的一层;
298.基于k条路段的高度数据确定起点位置所在的目标层区域包含的v条路段,v为小于或等于k的正整数;
299.基于起点位置的水平方向的数据及v条路段的水平方向的数据,从v条路段中确定
距离起点位置最近的一条路段。
300.作为一种实现方式,位置获取单元701用于基于起点位置的水平方向的数据及k条路段的水平方向的数据,从k条路段中确定在水平方向上与起点位置的距离小于第一阈值的m条路段,m为小于或等于k的正整数;
301.基于起点位置的高度数据及m条路段的高度数据从m条路段中确定满足目标条件的n条路段,n为小于或等于m的正整数;
302.基于起点位置的三维数据及k条路段的三维数据,从n条路段中确定距离起点位置最近的一条路段。
303.作为一种实现方式,目标条件包括:路段的高度数据的取值大于起点位置的高度数据的取值与第三阈值的差,且小于起点位置的高度数据的取值与第二阈值的和。
304.作为一种实现方式,第二阈值小于第三阈值。
305.作为一种实现方式,路径获取单元702,用于获取构成可行区域的p个栅格,p个栅格中包含起点位置对应的栅格和终点位置对应的栅格,p为大于2的正整数;
306.从q个候选栅格中选取一个候选栅格作为第三目标位置对应的栅格,q个候选栅格属于p个栅格,q为小于p的正整数;
307.连接起点位置对应的栅格与第三目标位置对应的栅格;
308.从l个候选栅格中选取一个候选栅格作为第四目标位置对应的栅格,l个候选栅格属于p个栅格,l为小于p的正整数;
309.连接第三目标位置对应的栅格与第四目标位置对应的栅格;
310.重复上述步骤,直到连接到第一目标位置对应的栅格,以得到起点位置至第一目标位置的第二路径。
311.作为一种实现方式,l个候选栅格不包含q个候选栅格,且不包含q个候选栅格满足目标位置关系的至少一个栅格。
312.作为一种实现方式,路径获取单元702,还用于基于选取规则从p个栅格中选取从q个候选栅格;
313.选取规则包括候选栅格的第一水平方向的坐标和候选栅格的第二水平方向的坐标,第一水平方向与第二水平方向垂直;候选栅格的第一水平方向的坐标等于起点位置对应的栅格的第一水平方向的坐标与第一偏移量的和,第一偏移量等于第一步长与第一角度的余弦值的乘积,第一步长等于初始步长与第一步长增量的和,步长增量等于第一累积次数与每次累积的步长增量的乘积,第一角度等于初始角度与第一角度增量的和,第一角度增量等于第二累积次数与每次累积的角度增量的乘积;候选栅格的第二水平方向的坐标等于起点位置对应的栅格的第二水平方向的坐标与第二偏移量的和,第二偏移量等于第一步长与第一角度的正弦值的乘积。
314.作为一种实现方式,导航装置还包括优化单元704,用于对第四路径进行优化。
315.作为一种实现方式,优化单元704用于确定可行区域中的可优化区域;对第四路径位于可优化区域的部分进行优化。
316.作为一种实现方式,第四路径上存在第五目标位置和第六目标位置,且第五目标位置和第六目标位置均位于可优化区域;
317.优化单元704用于基于第五目标位置和第六目标位置之间不存在障碍物,且第四
路径位于第五目标位置和第六目标位置之间的部分为非直线路径,将非直线路径替换为由第五目标位置至第六目标位置的直线路径。
318.作为一种实现方式,导航装置还包括发送单元705,用于向终端设备发送第四路径,使得终端设备根据第四路径进行导航。
319.其中,以上各单元的具体实现、相关说明以及技术效果请参考本技术实施例中图2至图15的相关描述。
320.请参阅图20,本技术实施例中的导航装置的另一个实施例示意图。
321.本技术实施例提供了一种导航装置的另一个实施例,包括:
322.获取单元801,用于获取起点位置至终点位置的第四路径;
323.显示单元802,用于显示第四路径;
324.显示单元802,还用于基于用户的位置与第四路径的位置显示导引线,导引线用于指示用户沿第四路径向终点位置移动。
325.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;
326.显示单元802,用于基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第一子路径之间,显示从用户的位置到第二参考位置的导引线。
327.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;
328.显示单元802,用于基于用户的位置和第三参考位置位于第一子路径的同侧,且用户的位置位于目标角的角平分线与第二子路径之间,显示从用户的位置到第三参考位置的导引线。
329.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;
330.显示单元802,用于基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的同侧,显示从用户的位置到第二参考位置的导引线。
331.作为一种实现方式,第四路径是由多个参考位置依次连接形成,相邻两个参考位置连接形成一条子路径;多个参考位置包括依次连接的第一参考位置、第二参考位置和第三参考位置,第一参考位置与第二参考位置连接形成第一子路径,第二参考位置与第三参考位置连接形成第二子路径,第一子路径和第二子路径形成目标角,第二参考位置为多个参考位置中距离用户的位置最近的参考位置,第三参考位置为位于第二参考位置与终点位置之间,或第三参考位置为终点位置;
332.显示单元802,用于基于用户的位置和第三参考位置位于第一子路径的两侧,且用户的位置和第一参考位置位于第二子路径的反向延长线的两侧,显示从用户的位置到第三参考位置的导引线。
333.作为一种实现方式,第四路径是由多个参考位置依次连接形成,导引线在第四参考位置处的高度等于第四参考位置的高度与特定高度的和,第四参考位置为多个参考位置中的任意一个。
334.作为一种实现方式,第四路径是由多个参考位置依次连接形成;
335.显示单元802,还用于基于用户的位置位于电梯区域,且第五参考位置的属性信息指示用户乘坐电梯,显示指示信息,指示信息指示用户乘坐电梯,第五参考位置为多个参考位置中距离用户的位置最近的一个参考位置。
336.其中,以上各单元的具体实现、相关说明以及技术效果请参考本技术实施例中图16至图18的相关描述。
337.请参阅图21,图21为本技术实施例中服务器的结构示意图。
338.本技术实施例中计算机设备一个实施例可以包括一个或一个以上处理器901,存储器902,通信接口903。
339.存储器902可以是短暂存储或持久存储。更进一步地,处理器901可以配置为与存储器902通信,在计算机设备上执行存储器902中的一系列指令操作。
340.本实施例中,处理器901可以执行前述图3、图7、图8、图9和图12所示实施例中的步骤,具体此处不再赘述。
341.示例性地,处理器901可以执行以下步骤:
342.获取第一目标位置和第二目标位置,第一目标位置为k条路段上距离起点位置最近的位置,第二目标位置为k条路段上距离终点位置最近的位置,k为正整数;
343.基于矢量寻路算法和k条路段获取第一目标位置至第二目标位置的第一路径;
344.基于栅格寻路算法获取起点位置至第一目标位置的第二路径,以及第二目标位置至终点位置的第三路径;
345.基于第一路径、第二路径以及第三路径,生成起点位置至终点位置的第四路径,第四路径用于导航。
346.此时,处理器901中的具体功能模块划分可以与前述图19中所描述的位置获取单元、路径获取单元和路径生成单元等功能模块的划分方式类似,此处不再赘述。
347.请参阅图22,图22为本技术实施例中终端设备的结构示意图。
348.本技术实施例中计算机设备一个实施例可以包括一个或一个以上处理器1001,存储器1002,通信接口1003。
349.存储器1002可以是短暂存储或持久存储。更进一步地,处理器1001可以配置为与
存储器1002通信,在计算机设备上执行存储器1002中的一系列指令操作。
350.本实施例中,处理器1001可以执行前述图16所示实施例中的步骤,具体此处不再赘述。
351.示例性地,处理器1001可以执行以下步骤:
352.获取起点位置至终点位置的第四路径;
353.显示第四路径;
354.基于用户的位置与第四路径的位置显示导引线,导引线用于指示用户沿第四路径向终点位置移动。
355.此时,处理器1001中的具体功能模块划分可以与前述图20中所描述的获取单元和显示单元等功能模块的划分方式类似,此处不再赘述。
356.本技术实施例还提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行前述图3、图7、图8、图9和图12所示实施例中的步骤,具体此处不再赘述。
357.其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
358.本技术实施例还提供了芯片或者芯片系统的第一种实施方式,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
359.本技术实施例还提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行前述图16所示实施例中的步骤,具体此处不再赘述。
360.其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
361.本技术实施例还提供了芯片或者芯片系统的第一种实施方式,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
362.本技术实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为服务器所用的计算机软件指令,其包括用于执行为服务器所设计的程序。
363.该服务器可以如前述图19所描述的导航装置。
364.本技术实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为终端设备所用的计算机软件指令,其包括用于执行为终端设备所设计的程序。
365.该终端设备可以如前述图20所描述的导航装置。
366.本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述图3、图7、图8、图9、图12和图16所示的方法中的流程。
367.请参阅图23,本技术实施例中导航系统的实施例示意图。
368.本技术实施例还提供了一种导航系统的一个实施例,包括:终端设备100和服务器200;
369.服务器200用于执行前述图3、图7、图8、图9和图12所示实施例中的步骤;
370.终端设备100用于执行前述图16所示实施例中的步骤。
371.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
372.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
373.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
374.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
375.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

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

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

相关文献