导航方法和装置
技术领域
本发明涉及导航领域,具体而言,涉及一种导航方法和装置。
背景技术
目前,随着信息技术的发展和基于地理位置的服务(Location Based Service,简称为LBS)的普及,越来越多的导航应用出现在普通大众面前。
利用地理信息系统(Geographic Information System,简称为GIS)的技术结合电子地图和移动互联网终端,现代生活导航可以为用户提供衣、食、住、行等方面的基于位置的信息增值服务。在地理信息系统技术构建的数字化路网地图上,结合全球定位系统(GPS,BDS,GLONASS,Galileo)可掌握用户的实时位置。因此,利用导航系统可以为用户提供最佳的出行路线,比如,最佳时间段的出行路线或者较合理的出行路线,并通过显示屏或者语音作出出行线路的引导,甚至于可根据路网的拥堵情况实时作出最优路径的规划。
人们在日常导航过程中,主要面临以下三个基本的问题:
(1)目标位置,导航对象的目标位置;
(2)出发位置,导航对象的当前位置或预计出发位置;
(3)路径规划,导航对象的出发位置和目标位置之间的路径。
通过确定导航对象的出发位置、目标位置以及出发位置和目标位置之间的路径,便可以完成对导航对象的导航。
但是,传统的路径搜索算法大多来源于图论。在具体应用时,是在定义结点、边和权值的基础上将路网转换为拓扑络,抽象为“图”,再利用对应的算法进行路径查找。然而,这局限于主体的移动被限制于线性网络的情况,例如,适用于城市中的交通道路网。事实上,地球空间中存在的移动行为远比其复杂,除了在能够建立道路网络数据集的环境,还可能在诸如草原、室内、海洋等路网欠缺的环境中移动。
除上述问题之外,由于应用领域的不同,目前很多路径搜索算法较多地考虑避障问题,较少结合人在寻路时的自主性,以此为基础的路径查找直接运用于实际生活会造成过于将人当作机器处理,使得算法设计的考虑因素存在偏差,对目标对象进行定位具有局限性。
另一方面,从硬件上考虑,导航系统的芯片好坏会直接影响导航系统的信号接收能力,也直接关系到路径规划时的快捷准确。从软件说数据层面来说,定位的准确程度很重要。而定位的准确程度就取决于电子地图数据的采集精度和绘制的精确程度。另外,对于室内导航而言,目前室内导航信号覆盖往往较差,也无法实时获取定位信号导致对目标对象进行定位的局限性大。
针对现有技术中对目标对象进行导航的局限性大的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种导航方法和装置,以至少解决现有技术中对目标对象进行导航的局限性大的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种导航方法。该导航方法包括:对室内路网的原始路径数据进行网格化处理,得到基础化网格数据;确定用于对目标对象进行导航的起始位置和目标位置;在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向;根据导航方向对目标对象进行导航。
进一步地,对室内路网的原始路径数据进行网格化处理,得到基础化网格数据包括:获取室内路网中的预设类型位置;计算预设类型位置的网格编码,并记录预设类型位置的进出方位关系,其中,基础化网格数据包括网格编码和进出方位关系。
进一步地,原始路径数据包括多楼层的原始路径数据,在获取室内路网中的预设类型位置之后,记录预设类型位置所在的当前楼层,其中,基础化网格数据包括当前楼层。
进一步地,在确定用于对目标对象进行导航的起始位置和目标位置之后,判断起始位置和目标位置是否经过网格化处理;如果判断出起始位置和目标位置没有经过网格化处理,对起始位置进行网格化处理,得到起始位置对应的起始网格数据;对目标位置进行网格化处理,得到目标位置对应的目标网格数据;添加起始网格数据和目标网格数据至基础化网格数据中。
进一步地,对起始位置进行网格化处理,得到起始位置对应的起始网格数据包括:接收用于指示对起始位置对应的二维码信息进行扫描的第一扫描指令,其中,起始位置对应的二维码信息携带起始网格数据;根据第一扫描指令获取起始网格数据。
进一步地,对目标位置进行网格化处理,得到目标位置对应的目标网格数据包括:接收用于指示对目标位置对应的二维码信息进行扫描的第二扫描指令,其中,目标位置对应的二维码信息携带目标网格数据;根据第二扫描指令获取目标网格数据。
进一步地,起始位置为目标对象所处的第一当前位置,在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向包括:判断目标位置对应的目标网格和第一当前位置对应的第一当前网格是否位于同一楼层;如果判断出目标网格和第一当前网格位于同一楼层,计算第一当前网格的第一目标方向,其中,第一当前网格的第一目标方向为目标网格相对第一当前网格的方向;根据第一当前网格的第一目标方向在基础化网格数据中查找第一当前网格的下一网格,其中,第一当前网格的下一网格为指示目标对象待到达的第一当前位置的下一位置对应的网格;确定第一当前网格到第一当前网格的下一网格的方向为第一当前导航方向。
进一步地,根据导航方向对目标对象进行导航包括:按照第一当前导航方向指示目标对象达到第一当前位置的下一位置,并更新第一当前网格为第一当前网格的下一网格,得到第二当前网格;判断第二当前网格是否为目标网格;如果判断出第二当前网格为目标网格,结束对目标对象进行导航。
进一步地,在判断第二当前网格是否为目标网格之后,方法还包括:如果判断出第二当前网格不为目标网格,判断目标网格和第二当前网格是否位于同一楼层;如果判断出目标网格和第二当前网格位于同一楼层,计算第二当前网格的第一目标方向,其中,第二当前网格的第一目标方向为目标网格相对第二当前网格的方向;根据第二当前网格的第一目标方向在基础化网格数据中查找第二当前网格的下一网格,其中,第二当前网格的下一网格为指示目标对象待到达的第二当前位置的下一位置对应的网格,第二当前位置由更新第一当前位置为第一当前位置的下一位置得到;确定第二当前网格到下一网格的方向为第二当前导航方向。
进一步地,根据第二当前网格的第一目标方向在基础化网格数据中查找第二当前网格的下一网格包括:获取第二当前网格的第一进出方位关系;去除第二当前网格的第一进出方位关系中第二当前网格的来源方向,得到第二当前网格的第二进出方位关系,其中,第二当前网格的来源方向为第一当前网格相对于第二当前网格的方向;在第二当前网格的第一目标方向为正方向,且第二当前网格的第一目标方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿正方向查找第二当前网格的下一网格;在第二当前网格的第一目标方向为正方向,且第二当前网格的第一目标方向不在第二当前网格的第二进出方位关系中时,在第二进出方位关系中分别查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格。
进一步地,在去除第二当前网格的第一进出方位关系中第二当前网格的来源方向,得到第二当前网格的第二进出方位关系之后,在第二当前网格的第一目标方向为偏方向时,对第二当前网格的第一目标方向进行拆分,得到第一子正方向和第二子正方向;在只有第一子正方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿第一子正方向查找第二当前网格的下一网格;在只有第二子正方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿第二子正方向查找第二当前网格的下一网格;在第一子正方向和第二子正方向都在第二当前网格的第二进出方位关系中时,根据第二当前网格分别沿第一子正方向和第二子正方向查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格;在第一子正方向和第二子正方向都不在第二当前网格的第二进出方位关系中时,在第二进出方位关系中分别查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格。
进一步地,在判断目标位置对应的目标网格和第一当前位置对应的第一当前网格是否位于同一楼层之后,如果判断出目标网格和第一当前网格未位于同一楼层,获取符合第二预设条件的当前目标位置,当前目标位置对应当前目标网格;计算第一当前网格的第二目标方向,其中,第一当前网格的第二目标方向为当前目标网格相对第一当前网格的方向;根据第一当前网格的第二目标方向在基础化网格数据中查找第一当前网格的下一网格;确定第一当前网格到第一当前网格的下一网格的方向为第一当前导航方向。
为了实现上述目的,根据本发明的另一方面,还提供了一种导航装置。该处理单元,用于对室内路网的原始路径数据进行网格化处理,得到基础化网格数据;确定单元,用于确定用于对目标对象进行导航的起始位置和目标位置;计算单元,用于在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向;导航单元,用于根据导航方向对目标对象进行导航。
进一步地,处理单元包括:获取模块,用于获取室内路网中的预设类型位置;计算模块,用于计算预设类型位置的网格编码,并记录预设类型位置的进出方位关系,其中,基础化网格数据包括网格编码和进出方位关系。
通过本发明,采用对室内路网的原始路径数据进行网格化处理,得到基础化网格数据;确定用于对目标对象进行导航的起始位置和目标位置;在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向;根据导航方向对目标对象进行导航,由于通过对室内的原始路径数据进行网格化处理,通过起始位置和目标位置的方位关系进行引导式网格计算,获取导航方向,解决了对目标对象进行导航的局限性大的问题,进而达到了降低对目标对象进行导航的局限性的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种导航方法的流程图;
图2是根据本发明实施例的另一种导航方法的流程图;
图3a是根据本发明实施例的一种道路拐弯点的进出方位关系的示意图;
图3b是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图;
图3c是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图;
图3d是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图;
图3e是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图;
图3f是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图;
图3g是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图;
图3h是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图;
图3i是根据本发明实施例的十字交叉口的进出方位关系的示意图;
图4是根据本发明实施例的一种室内场景的平面图的示意图;
图5是根据本发明实施例的一种对室内路网的原始路径数据进行网格化处理的结果的示意图;
图6是根据本发明实施例的一种在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算得到的导航方向的示意图;以及
图7是根据本发明实施例的一种浮置板轨道的振动控制装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本发明实施例提供了一种导航方法。
图1是根据本发明实施例的一种导航方法的流程图。如图1所示,该导航方法包括以下步骤:
步骤S102,对室内路网的原始路径数据进行网格化处理,得到基础化网格数据。
在本发明上述步骤S102提供的技术方案中,对室内路网的原始路径数据进行网格化处理,得到基础化网格数据。
在室内环境中,获取室内路网的原始路径数据,该原始路径数据包括室内路网中各个位置的信息。在获取原始路径数据之后,对原始路径数据进行网格化处理,有别于传统导航方法采取图论中连通图的概念,避免了只适用于主体的移动被限制于线性网络的情况。可选地,对室内路网中的预设类型的位置进行网格化处理,比如,对室内路网中的道路岔口、道路十字路口、道路拐弯点、电梯等预设位置进行网格化处理。在对室内路网中的预设类型的位置进行网格化处理时,获取上述预设位置的位置信息,对位置信息进行网格编码。
优选地,对原始路径数据进行网格化处理采用GeoSOT网格编码的方式,GeoSOT网格剖分的核心思想是基于地球剖分原理,通过对地球表面的规格划分,探寻构建一种适用于空间信息或数据组织的专用网格。一方面,该网格能与地球上现有的主要空间信息组织网格有较好的尺度聚合和区位关联关系;另一方面,能在此网格基础上构建一种更适合空间信息组织的区位标识体系,为全球空间信息区位的地理网格标识与一致性索引途径提供参考基础,从而解决空间信息的统一区位组织和区域关联调度问题,并且可以快速判断两个网格之间的方位关系和距离并且容易计算。
在对室内路网的原始路径数据进行网格化处理时,记录上述预设位置的进出方位关系以及预设位置所处的楼层,从而得到室内路网的基础化网格数据,可以快速判断两个网格之间的方位关系和距离,实现了对室内路径数据的预处理。
举例而言,选择室内路网中的道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置进行网格处理,获取上述预设位置的位置,计算其GeoSOT网格编码,同时,记录下这些预设位置的进出情况以及其所在的楼层。比如,预设位置为十字路口,在记录下其编码和楼层之后,还需要记录东(E)、南(S)、西(W)、北(N)4个进出方位关系,从而得到室内路网的基础化网格数据。
该实施例的网格化处理方法重点关注了道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置,并做了网格化处理,有别于传统导航方法采取图论中连通图的概念,摒弃了连通图中边的概念,重点记录了网格的进出方位关系,可以仅凭借方向关系进行导航计算,从而简化了导航路网模型。
步骤S104,确定用于对目标对象进行导航的起始位置和目标位置。
在本发明上述步骤S104提供的技术方案中,确定用于对目标对象进行导航的起始位置和目标位置。
在对室内路网的原始路径数据进行网格化处理,得到基础化网格数据之后,确定用于对目标对象进行导航的起始位置和目标位置。无论是起始位置还是目标位置,既可以是已经网格化处理过的位置,也可以是未经过网格化处理的位置。如果起始位置或者目标位置未经过网格化处理,则可以对该起始位置或者目标位置进行网格化处理,可选地,用户选择发布网格,将发布网格添加至基础网格化数据中。
步骤S106,在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向。
在本发明上述步骤106提供的技术方案中,在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向。
从基础化网格数据中,可以快速判断两个网格之间的方位关系和距离。在确定用于对目标对象进行导航的起始位置和目标位置之后,在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,可以根据起始位置和目标位置的方位关系以及距离进行实时引导式的导航计算,得到导航方向。
在根据起始位置和目标位置的方位关系进行导航计算时,判断目标位置和起始位置是否位于同一层,如果判断出目标位置和起始位置位于同一层,进行同楼层的引导式导航计算,计算目标位置与起始位置之间的方位关系,也即,计算目标位置相对于起始位置的目标方向,该目标方向包括8种方位关系(正东、正南、正西、正北,东南,西南,东北,西北)。其中,目标方向包括正方向和偏方向。根据目标方向查找起始位置对应的当前网格的下一网格。
在根据目标方向查找起始位置对应的当前网格的下一网格时,获取起始位置对应的当前网格的进出方位关系去除来源方向后的进出方位关系,其中,对于室内路网中的任意一个网格,前一网格相对于当前网格的方向为当前网格的来源方向,对于起始位置则无来源方向,因而获取起始位置对应的当前网格的进出方位关系去除来源方向后的进出方位关系,也即,获取起始位置对应的当前网格的进出方位关系去除来源方向后的进出方位关系。如果目标方向为正方向,并且目标方向属于当前网格的进出方位关系,比如,目标方向是北,当前网格的进出方位关系是{东,西,北},这样在当前网格向目标方向查找下一个网格;如果目标方向为正方向,但是目标方向不属于上述进出方位关系,比如,目标方向是北,进出方位关系是{东,西},那么在进出方位关系中分别按剩余方向查找下一网格,得到待选网格集,优选地,从待选网格集中选择一个较优网格,该较优网格与目标位置的距离最近,选择该较优网格为下一个网格。
如果目标方向为偏方向,可以将目标方向拆解为2个正方向的集合,该正方向的集合包括第一正方向和第二正方向,判断第一正方向和第二正方向与当前网格的进出方位关系之间的关系,可分为以下三种情况:
(1)仅有第一正方向(或者第二正方向)属于进出方位关系,这样在当前网格向有第一正方向(或者第二正方向)查找下一个网格;
(2)第一正方向属于进出方位关系,并且第二正方向属于进出方位关系,则分别按照第一正方向和第二正方向在基础网格化数据中查找下一网格,得到待选网格集,优选地,从待选网格集中选择一个较优网格,该较优网格与目标位置之间的距离最近,选择该较优网格为下一个网格;
(3)第一正方向不属于进出方位关系,并且第二正方向不属于进出方位关系,则在进出方位关系中分别按剩余方向查找下一网格,得到待选网格集,优选地,从待选网格集中选择一个较优网格,该较优网格与目标位置的距离最近,选择该较优网格为下一个网格。
在确定下一个网格之后,将下一个将设定为当前网格,判断当前网格对应的位置是否为目标位置。如果当前网格对应的位置为目标位置,则结束导航;如果当前网格对应的位置不是目标位置,则继续按照上述方法计算当前网格与目标网格之间的方位关系,继续引导式导航计算,需找下一个网格,直至查找到目标位置为止。
可选地,在判断目标位置和起始位置是否位于同一层,如果判断出目标位置和起始位置不位于同一层,则重新设置目标位置,可选地,将当前目标位置设置为最优的楼梯或电梯(是具体室内环境而定)。优选地,最优的楼梯或电梯为距离当前网格最近,并且往目标位置所在的目标楼层具有可通行的条件,则将最优的楼梯或者电梯设置为当前目标位置,计算当前目标位置与当前网格之间的方位关系,继续进行引导式导航计算,需找下一个网格,最终查找到当前目标位置,则更换楼层,继续进行引导式导航计算,直至当前网格与目标位置处于同一楼层时,再继续进行上述同楼层的引导式导航计算,直至查找到目标位置为止。
该实施例通过导航网格进行导航位置信息的确定,以及方位指向的引导式导航,避免了室内使用定位系统丢失信号的弊端,从而在一定程度上填补了导航和路径搜索在室内应用的空缺,降低了对目标对象进行导航的局限性的效果。
步骤S108,根据导航方向对目标对象进行导航。
在本发明上述步骤S108提供的技术方案中,根据导航方向对目标对象进行导航。
在根据起始位置和目标位置的方位关系进行导航计算,得到导航方向之后,可以根据导航方向发出用于指示目标对象执行行为动作的指示信号,目标对象根据指示信号执行行为动作,比如,左转、右转、前进、后退等行为动作。该指示信号可以提示方向和大概路程,目标对象在达到了道路的分岔口、道路十字路口、道路拐弯点,电梯等特殊位置才需要选择,在直道上只需前进,充分发挥了目标对象的主观能动性。
该实施例通过采用对室内路网的原始路径数据进行网格化处理,得到基础化网格数据;确定用于对目标对象进行导航的起始位置和目标位置;在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向;根据导航方向对目标对象进行导航,由于通过对室内的原始路径数据进行网格化处理,通过起始位置和目标位置的方位关系进行引导式网格计算,获取导航方向,解决了对目标对象进行导航的局限性大的问题,进而达到了降低对目标对象进行导航的局限性的效果。
作为一种可选的实施方式,对室内路网的原始路径数据进行网格化处理,得到基础化网格数据包括:获取室内路网中的预设类型位置;计算预设类型位置的网格编码,并记录预设类型位置的进出方位关系,其中,基础化网格数据包括网格编码和进出方位关系。
在对目标对象进行导航时,当目标对象在达到预设位置时才需要选择,在直道上只需前进,充分发挥了目标对象的主观能动性。因而,在对室内路网的原始路径数据进行网格化处理,得到基础化网格数据时,获取室内路网中的预设类型位置,该预设类型位置为室内路网中的特殊位置,需要在目标对象达到时做出选择的位置,比如,对室内路网中的道路岔口、道路十字路口、道路拐弯点、电梯等预设位置。在获取室内路网中的预设类型位置之后,计算预设类型位置的网格编码,可以计算预设类型位置的GeoSOT网格编码,同时记录预设类型位置的进出方位关系,其中,预设类型位置的进出方位关系为预设类型位置的进出情况。
举例而言,当预设类型位置为道路十字交叉口时,在记录下其编码和楼层之后,还需要记录下,东(E)、南(S)、西(W)、北(N)4个进出方位关系;当预设类型位置为道路三岔口时,情况比较复杂,进出方位关系一般有4种情况:{东(E),南(S),西(W)},{东(E),南(S),北(N)},{北(N),南(S),西(W)},{北(N),东(E),西(W)},其中{东(E),南(S),西(W)}表示三岔口可从东、南、西3个方向进出,以此类推;当预设类型位置为道路拐弯点时,进出方位关系同道路三岔口类似,一般也有4种情况:{东(E),南(S)},{东(E),北(N)},{南(S),西(W)},{北(N),西(W)},其中{东(E),南(S)}表示道路拐弯点可从东、南2个方向进出;电梯则需要记录下其编码。
作为一种可选的实施方式,原始路径数据包括多楼层的原始路径数据,在获取室内路网中的预设类型位置之后,记录预设类型位置所在的当前楼层,其中,基础化网格数据包括当前楼层。
原始路径数据包括多楼层的原始路径数据,选择室内路网中的道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置进行网格处理时,获取上述预设位置的位置,计算其GeoSOT网格编码,同时,记录下这些预设位置的进出方位关系以及其所在的楼层。
作为一种可选的实施方式,在确定用于对目标对象进行导航的起始位置和目标位置之后,判断起始位置和目标位置是否经过网格化处理;如果判断出起始位置和目标位置没有经过网格化处理,对起始位置进行网格化处理,得到起始位置对应的起始网格数据;对目标位置进行网格化处理,得到目标位置对应的目标网格数据;添加起始网格数据和目标网格数据至基础化网格数据中。
无论是起始位置还是目标位置,既可以是先前已经网格化的位置,也可以是事先未经过网格化处理的位置。判断起始位置和目标位置是否经过网格化处理,如果判断出起始位置和目标位置没有经过网格化处理,对起始位置进行网格化处理,用户可以选择发布网格,得到起始位置对应的起始网格数据,将起始网格数据加入到基础网格化数据中;对目标位置进行网格化处理,用户可以选择发布网格,得到目标位置对应的目标网格数据。将目标网格数据加入到基础网格化数据中。
作为一种可选的实施方式,对起始位置进行网格化处理,得到起始位置对应的起始网格数据包括:接收用于指示对起始位置对应的二维码信息进行扫描的第一扫描指令,其中,起始位置对应的二维码信息携带起始网格数据;根据第一扫描指令获取起始网格数据。
对于室内导航而言,想要在室内通过全球定位系统获取经纬度信息比较困难,优选地,采用二维码技术,可以通过扫描获取目标位置的网格数据或者目标位置的网格数据。起始位置具有对应的二维码信息,该二维码信息中携带起始网格数据,接收用于指示对起始位置对应的二维码信息进行扫描的第一扫描指令,根据第一扫描指令获取起始网格数据,从而实现了在室内获取起始位置的网格数据的目的。
作为一种可选的实施方式,对目标位置进行网格化处理,得到目标位置对应的目标网格数据包括:接收用于指示对目标位置对应的二维码信息进行扫描的第二扫描指令,其中,目标位置对应的二维码信息携带目标网格数据;根据第二扫描指令获取目标网格数据。
目标位置具有对应的二维码信息,该二维码信息中携带目标网格数据,接收用于指示对目标位置对应的二维码信息进行扫描的第二扫描指令,根据第二扫描指令获取目标网格数据,从而实现了在室内获取目标位置的网格数据的目的。
该实施例将导航网格和二维码技术相结合,进行导航位置信息的确定与方位指向的引导式导航方法,避免了室内使用定位系统丢失信号的弊端,,一定程度上填补了导航和路径搜索在室内应用的空缺。
作为一种可选的实施方式,起始位置为目标对象所处的第一当前位置,在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向包括:判断目标位置对应的目标网格和第一当前位置对应的第一当前网格是否位于同一楼层;如果判断出目标网格和第一当前网格位于同一楼层,计算第一当前网格的第一目标方向,其中,第一当前网格的第一目标方向为目标网格相对第一当前网格的方向;根据第一当前网格的第一目标方向在基础化网格数据中查找第一当前网格的下一网格,其中,第一当前网格的下一网格为指示目标对象待到达的第一当前位置的下一位置对应的网格;确定第一当前网格到第一当前网格的下一网格的方向为第一当前导航方向。
对路径中的任意网格gi,其前一网格gi-1相对于网格gi的方向称为网格gi的来源方向dpre。特别地,起始网格g0无来源方向。起始位置为目标对象最初所处的第一当前位置,判断目标位置对应的目标网格Gn和第一当前位置对应的第一当前网格G0是否位于同一楼层;如果判断出目标网格Gn和第一当前网格G0位于同一楼层,计算第一当前网格G0的第一目标方向dcur1,也即,计算目标网格Gn与第一当前网格G0之间的方向关系,该第一当前网格G0的第一目标方向dcur1包括8种方位关系(正东、正南、正西、正北,东南,西南,东北,西北),第一当前网格G0的第一目标方向dcur1∈{E,W,S,N,NE,NW,SE,SW},第一当前网格G0的第一目标方向dcur1可以分为2大种情况,一种是正方向,dcur1∈{E,W,S,N},另一种是偏方向,dcur1∈{NE,NW,SE,SW}。根据第一当前网格G0的第一目标方向在基础化网格数据中查找第一当前网格的下一网格Gnext1,确定第一当前网格G0到第一当前网格的下一网格Gnext1的方向为第一当前导航方向。
作为一种可选的实施方式,根据导航方向对目标对象进行导航包括:按照第一当前导航方向指示目标对象达到第一当前位置的下一位置,并更新第一当前网格为第一当前网格的下一网格,得到第二当前网格;判断第二当前网格是否为目标网格;如果判断出第二当前网格为目标网格,结束对目标对象进行导航。
在根据第一当前网格的第一目标方向在基础化网格数据中查找第一当前网格的下一网格之后,按照第一当前导航方向指示目标对象达到第一当前位置的下一位置,并更新第一当前网格G0为第一当前网格的下一网格Gnext,得到第二当前网格,用G1表示。判断第二当前网格G1是否为目标网格Gn,如果判断出第二当前网格G1为目标网格Gn,结束对目标对象进行导航。
作为一种可选的实施方式,在判断第二当前网格是否为目标网格之后,方法还包括:如果判断出第二当前网格不为目标网格,判断目标网格和第二当前网格是否位于同一楼层;如果判断出目标网格和第二当前网格位于同一楼层,计算第二当前网格的第一目标方向,其中,第二当前网格的第一目标方向为目标网格相对第二当前网格的方向;根据第二当前网格的第一目标方向在基础化网格数据中查找第二当前网格的下一网格,其中,第二当前网格的下一网格为指示目标对象待到达的第二当前位置的下一位置对应的网格,第二当前位置由更新第一当前位置为第一当前位置的下一位置得到;确定第二当前网格到下一网格的方向为第二当前导航方向。
在判断第二当前网格G1是否为目标网格Gn之后,如果判断出第二当前网格G1不为目标网格Gn,判断目标网格Gn和第二当前网格G1是否位于同一楼层;如果判断出目标网格Gn和第二当前网格G1位于同一楼层,计算第二当前网格G1的第一目标方向,其中,第二当前网格G1的第一目标方向为目标网格Gn相对第二当前网格G1的方向,也即,计算目标网格Gn与第二当前网格G1之间的方向关系,该第二当前网格G1的第一目标方向dcur2包括8种方位关系(正东、正南、正西、正北,东南,西南,东北,西北),第二当前网格G1的第一目标方向dcur2∈{E,W,S,N,NE,NW,SE,SW},二当前网格G1的第一目标方向dcur2可以分为2大种情况,一种是正方向,dcur2∈{E,W,S,N},另一种是偏方向,dcur2∈{NE,NW,SE,SW}。根据第二当前网格G1的第一目标方向在基础化网格数据中查找第二当前网格G1的下一网格Gnext2,确定第二当前网格G1到第二当前网格G1的下一网格Gnext2的方向为第二当前导航方向。其中,第二当前网格G1的下一网格Gnext2为指示目标对象待到达的第二当前位置的下一位置对应的网格,第二当前位置由更新第一当前位置为第一当前位置的下一位置得到。
作为一种可选的实施方式,根据第二当前网格的第一目标方向在基础化网格数据中查找第二当前网格的下一网格包括:获取第二当前网格的第一进出方位关系;去除第二当前网格的第一进出方位关系中第二当前网格的来源方向,得到第二当前网格的第二进出方位关系,其中,第二当前网格的来源方向为第一当前网格相对于第二当前网格的方向;在第二当前网格的第一目标方向为正方向,且第二当前网格的第一目标方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿正方向查找第二当前网格的下一网格;在第二当前网格的第一目标方向为正方向,且第二当前网格的第一目标方向不在第二当前网格的第二进出方位关系中时,在第二进出方位关系中分别查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格。
在根据第二当前网格G1的第一目标方向在基础化网格数据中查找第二当前网格G1的下一网格Gnext2时,获取第二当前网格G1的第一进出方位关系,比如,当第二当前网格G1对应的位置为道路十字交叉口时,记录下其编码和楼层之后,还需要记录下,东(E)、南(S)、西(W)、北(N)4个进出方位关系;当第二当前网格G1对应的位置为道路三岔口时,情况比较复杂,进出方位关系一般有4种情况:{东(E),南(S),西(W)},{东(E),南(S),北(N)},{北(N),南(S),西(W)},{北(N),东(E),西(W)},其中{东(E),南(S),西(W)}表示三岔口可从东、南、西3个方向进出,以此类推;当第二当前网格G1对应的位置为道路拐弯点时,第二当前网格G1的进出方位关系同道路三岔口类似,也有4种情况:{东(E),南(S)},{东(E),北(N)},{南(S),西(W)},{北(N),西(W)},其中{东(E),南(S)}表示道路拐弯点可从东、南2个方向进出。去除第二当前网格G1的第一进出方位关系中第二当前网格G1的来源方向dpre1,得到第二当前网格G1的第二进出方位关系,其中,第二当前网格G1的来源方向dpre1为第一当前网格G0相对于第二当前网格G1的方向;在第二当前网格G1的第一目标方向dcur2为正方向,且第二当前网格G1的第一目标方向dcur2在第二当前网格G1的第二进出方位关系中时,根据第二当前网格G1沿正方向查找第二当前网格G1的下一网格Gnext2;在第二当前网格G1的第一目标方向dcur2为正方向,且第二当前网格G1的第一目标方向dcur2不在第二当前网格G1的第二进出方位关系中时,在第二进出方位关系中分别查找第二当前网格G1的下一网格Gnext2,得到符合第一预设条件的第二当前网格G1的下一网格Gnext2,第一预设条件可以为距离第二当前网格G1最近的Gnext2。
举例而言,第二当前网格G
1的第一进出方位关系为S
i,第二当前网格G
1的来源方向为d
pre1,计算第二当前网格G
1的第一进出方位关系中去除第二当前网格G
1的来源方向d
pre1后的第二进出方位关系S
i-d
pre1,如果第二当前网格G
1的第一目标方向d
cur2为正方向,并且d
cur2∈S
i-d
pre1,比如,d
cur2是N,Si-d
pre1是{E,W,N},这样在第二当前网格G
1向d
cur2方向查找第二当前网格G
1的下一个网格G
next2;如果dcur2为正方向,但是
比如,d
cur2是N,Si-d
pre1是{E,W},那么在S
i-d
pre1中分别按剩余方向查找第二当前网格G
1的下一个网格G
next2,得到待选网格集C={G
n1,G
n2,…},优选地,从待选网格集C中选择一个较优网格,该较优网格与目标网格G
n的距离更加近,选择该较优网格为第二当前网格G
1的下一个网格G
next2。
作为一种可选的实施方式,在去除第二当前网格的第一进出方位关系中第二当前网格的来源方向,得到第二当前网格的第二进出方位关系之后,在第二当前网格的第一目标方向为偏方向时,对第二当前网格的第一目标方向进行拆分,得到第一子正方向和第二子正方向;在只有第一子正方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿第一子正方向查找第二当前网格的下一网格;在只有第二子正方向在第二当前网格的第二进出方位关系中时,根据第二当前网格沿第二子正方向查找第二当前网格的下一网格;在第一子正方向和第二子正方向都在第二当前网格的第二进出方位关系中时,根据第二当前网格分别沿第一子正方向和第二子正方向查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格;在第一子正方向和第二子正方向都不在第二当前网格的第二进出方位关系中时,在第二进出方位关系中分别查找第二当前网格的下一网格,得到符合第一预设条件的第二当前网格的下一网格。
在去除第二当前网格G1的第一进出方位关系Si中第二当前网格G1的来源方向dpre1,得到第二当前网格G1的第二进出方位关系Si-dpre1之后,在第二当前网格G1的第一目标方向dcur2为偏方向时,对第二当前网格G1的第一目标方向dcur2进行拆分,得到第一子正方向D1和第二子正方向D2,也即,如果dcur2为偏方向,可以将dcur2拆解为2个正方向的集合{D1,D2},再判断D1,D2与第二当前网格G1的第一进出方位关系Si中去除第二当前网格G1的来源方向dpre1后的第二进出方位关系Si-dpre1的关系,可分为以下3种情况:
(1)在只有第一子正方向D1在第二当前网格G1的第二进出方位关系Si-dpre1中时,根据第二当前网格G1沿第一子正方向D1查找第二当前网格G1的下一网格Gnext2,在只有第二子正方向D2在第二当前网格G1的第二进出方位关系Si-dpre1中时,根据第二当前网格G1沿第二子正方向D2查找第二当前网格G1的下一网格Gnext2,),也即,仅有D1(或者D2)∈Si-dpre1,这样在第二当前网格G1向有D1(或者D2)方向查找第二当前网格G1的下一个网格Gnext2;
(2)在第一子正方向D1和第二子正方向都D2在第二当前网格G1的第二进出方位关系Si-dpre1中时,根据第二当前网格G1分别沿第一子正方向D1和第二子正方向D2查找第二当前网格G1的下一网格Gnext2,得到符合第一预设条件的第二当前网格G1的下一网格Gnext2,也即,D1∈Si-dpre1且D2∈Si-dpre1,那么分别按D1,D2方向查找第二当前网格G1的下一个网格Gnext2,得到待选网格集C={Gn1,Gn2},优选地,从待选网格集C中选择一个较优网格,该待选网格集与目标Gn的距离更加近,选择该较优网格为第二当前网格G1的下一个网格Gnext2;
(3)在第一子正方向D
1和第二子正方向D
2都不在第二当前网格G
1的第二进出方位关系S
i-d
pre1中时,在第二进出方位关系S
i-d
pre1中分别查找第二当前网格G
1的下一网格G
next2,得到符合第一预设条件的第二当前网格G
1的下一网格G
next2,也即,
且
那么在S
i-d
pre1中分别按剩余方向查找第二当前网格G
1的下一个网格G
next2,得到待选网格集C={G
n1,G
n2,…},优选地,从待选网格集C中选择一个较优网格,该较优网格与目标网格G
n的距离更加近,选择该较优网格为下一个网格G
next2。
作为一种可选的实施方式,在判断目标位置对应的目标网格和第一当前位置对应的第一当前网格是否位于同一楼层之后,方法还包括:如果判断出目标网格和第一当前网格未位于同一楼层,获取符合第二预设条件的当前目标位置,当前目标位置对应当前目标网格;计算第一当前网格的第二目标方向,其中,第一当前网格的第二目标方向为当前目标网格相对第一当前网格的方向;根据第一当前网格的第二目标方向在基础化网格数据中查找第一当前网格的下一网格;确定第一当前网格到第一当前网格的下一网格的方向为第一当前导航方向。
在判断目标位置对应的目标网格和第一当前位置对应的第一当前网格是否位于同一楼层之后,如果判断出目标网格和第一当前网格未位于同一楼层,将当前目标位置设置为符合第二预设条件的当前目标位置,当前目标位置可以为最优的楼梯或电梯(视具体楼市而定),并且往目标楼层具有可通行条件当前目标位置,与当前目标网格相对应;计算第一当前网格的第二目标方向,其中,第一当前网格的第二目标方向为当前目标网格相对第一当前网格的方向;根据第一当前网格的第二目标方向在基础化网格数据中查找第一当前网格的下一网格;确定第一当前网格到第一当前网格的下一网格的方向为第一当前导航方向,直到目标位置和当前网格位于同一楼层,再进行同层的引导式导航计算。
本发明实施例所提供的室内路径数据的网格化预处理方法,重点关注了道路岔口,道路十字交叉口,道路拐弯点,电梯等特殊位置,并做了网格化处理,有别于传统导航方法采取图论中连通图的概念,摒弃了连通图中边的概念,重点记录了网格方向进出关系,仅凭借方向关系导航计算,简化了导航路网模型;通过利用导航网格和二维码技术,进行导航位置信息的确定与方位指向的引导式导航方法,避免了室内使用定位系统丢失信号的弊端,提出了一种新型的室内导航模型以及方法,一定程度上填补了导航和路径搜索在室内应用的空缺;在导航路径的选择上仅仅选择了导航方向,提示了方向和大概路程,目标对象在到了道路岔口,道路十字交叉口,道路拐弯点,电梯等特殊位置才需要选择,在直道上只需前进,充分发挥了目标对象的主观能动性,采用GeoSOT网格编码可以快速判断2个网格之间的方位关系和距离,并且容易计算。
实施例2
下面结合优选的实施例对本发明的技术方案进行说明。
本发明实施例涉及一种基于地球空间网格的导航路网模型的建立以及基于该路网模型的导航方法。首先提出了利用导航网格和二维码技术,进行导航位置信息的确定与方位指向,能够解决目前室内导航无法采用传统导航方式的问题,从而弥补了导航和路径搜索在室内应用的空缺。
为了达到上述目的,本发明实施例通过对利用导航网格和二维码技术,进行导航位置信息的确定与方位指向的引导式导航方法,对原始室内路径数据的网格化预处理,得到原始网格化路网模型;通过二维码技术确定导航的起始位置和目标位置;最后通过起始位置和目标位置的方位关系,进行引导式导航网格计算,实时获取导航方向,最后引导用户至目标位置。
下面对室内路径数据的网格化预处理进行介绍:
选择室内路网中的道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置进行网格处理,获取上述预设位置,计算其GeoSOT网格编码,同时记录下这些预设位置的进出情况以及其所在的楼层。比如,当预设位置为道路十字交叉口时,在除了记录下其编码和楼层之外,还需要记录下东(E)、南(S)、西(W)、北(N)4个进出方位关系;当预设位置为道路三岔口时,情况比较复杂,进出方位关系一般有4种情况:{东(E),南(S),西(W)},{东(E),南(S),北(N)},{北(N),南(S),西(W)},{北(N),东(E),西(W)},其中,{东(E),南(S),西(W)}表示三岔口可从东、南、西3个方向进出,以此类推;当预设位置为道路拐弯点时,道路拐弯点的进出方位关系同道路三岔口类似,进出方位关系一般也有4种情况:{东(E),南(S)},{东(E),北(N)},{南(S),西(W)},{北(N),西(W)},其中{东(E),南(S)}表示道路拐弯点可从东、南2个方向进出;电梯则需要记录下其编码,同时只需要记录当前电梯所在楼层即可。
下面对确定导航的起始位置和目标位置进行介绍:
无论是起始位置还是目标位置,既可以是先前已经网格化的位置,同样也可以是预先未经过网格化处理的位置。如果是未经过网格化处理的位置,用户可以选择发布网格,将发布的网格加入到基础网格化数据中,进行后续的引导式导航计算。
对于室内导航而言,想要在室内通过全球定位系统获取经纬度信息比较困难,优选地,采用二维码技术,可以通过扫描获取当前位置或者目标位置的网格数据。
下面对实时引导式导航计算的方法进行介绍:
步骤S1,判断目标位置Gn和起始网格G0是否位于同一层,如果位于同一层,转到步骤S2;如果位于异层,将目标位置设置为最优的楼梯或电梯(视具体楼市而定),优选地,最优的楼梯或电梯为距离当前网格最近,并且往目标楼层具有可通行条件,将当前目标位置设为目标楼梯或电梯,转到步骤S2至步骤S4,直到目标位置Gn和当前网格G位于同一楼层,再转到步骤S2进行同楼层导航。
步骤S2,计算目标位置Gn与当前网格G(从起始位置开始)之间的方位关系dcur,共有8种方位关系(正东、正南、正西、正北,东南,西南,东北,西北),dcur∈{E,W,S,N,NE,NW,SE,SW},dcur可以分为2大种情况,一种是正方向,dcur∈{E,W,S,N},另一种是偏方向,dcur∈{NE,NW,SE,SW}。
步骤S3,查找至下一个网格Gnex。
获取当前网格的进出关系S
i,假设来源方向d
pre,计算网格去除来源方向后的进出关系S
i-d
pre,如果d
cur为正方向,并且d
cur∈S
i-d
pre,比如d
cur是N,S
i-d
pre是{E,W,N},这样在当前网格向d
cur方向查找下一个网格G
next;如果d
cur为正方向,但是
比如d
cur是N,S
i-d
pre是{E,W},那么在S
i-d
pre中分别按剩余方向查找下一网格,得到待选网格集C={G
n1,G
n2,…},优选地,从集合C中选择一个较优网格,该网格与目标位置G
n的距离更加近,选择该网格为下一个网格G
next;如果d
cur为偏方向,可以将d
cur拆解为2个正方向的集合{D
1,D
2},再判断D
1,D
2与当前网格去除来源方向后的进出关系S
i-d
pre之间关系,可分为以下3种情况:
步骤S31,仅有D1(或者D2)∈Si-dpre,这样在当前网格向有D1(或者D2)方向查找下一个网格Gnext;
步骤S32,D1∈Si-dpre且D2∈Si-dpre,那么分别按D1,D2方向查找下一网格,得到待选网格集C={Gn1,Gn2},优选地,从集合C中选择一个较优网格,该网格与目标位置Gn的距离更加近,选择该网格为下一个网格Gnext;
步骤S33,
且
那么在S
i-d
pre中分别按剩余方向查找下一网格,得到待选网格集C={G
n1,G
n2,…},优选地,从集合C中选择一个较优网格,该网格与目标位置G
n的距离更加近,选择该网格为下一个网格G
next。
步骤S4,将Gnext设定为当前网格,判断当前网格是否为目标位置Gn。如果当前网格为目标位置Gn,那么导航结束;如果如果当前网格不是目标位置Gn,则回到步骤S2,继续引导式导航计算,需找至下一个网格Gnext,一直到查找到目标位置Gn为止。
该实施例可以达到以下有益效果:
(1)本发明实施例所提供室内路径数据的网格化预处理方法,重点关注了道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置,并做了网格化处理,有别于传统导航方法采取图论中连通图的概念,摒弃了连通图中边的概念,重点记录了网格方向进出关系,仅凭借方向关系导航计算,简化了导航路网模型。
(2)本发明实施例提出了一种利用导航网格和二维码技术,进行导航位置信息的确定与方位指向的引导式导航方法,避免了室内使用定位系统丢失信号的弊端,提出了一种新型的室内导航模型以及方法,一定程度上填补了导航和路径搜索在室内应用的空缺。
(3)本发明在导航路径的选择上仅仅选择了导航方向,同在问路过程中引导员“往北200米”的引导方式相似,引导员提示了方向和大概路程,人在到了道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置才需要选择,在直道上只需前进,其中充分发挥了人的主观能动性。
(4)采用GeoSOT网格编码可以快速判断2个网格之间的方位关系和距离,并且容易计算。
实施例3
下面结合可选的实施例对本发明的技术方案进行说明。
图2是根据本发明实施例的另一种导航方法的流程图。如图2所示,该方法包括以下步骤:
步骤S201,确定最终目标网格Gn和起始网格G0。
步骤S202,判断最终目标网格Gn和起始网格G0是否位于同一楼层。
在确定最终目标网格Gn和起始网格G0之后,判断最终目标网格Gn和起始网格G0是否位于同一楼层,如果判断出最终目标网格Gn和起始网格G0位于同一楼层,执行步骤S203,如果判断出最终目标网格Gn和起始网格G0不位于同一楼层,执行步骤S204。
步骤S203,将当前目标网格Gtemp设置为最终目标网格Gn。
在判断最终目标网格Gn和起始网格G0是否位于同一楼层之后,如果判断出最终目标网格Gn和起始网格G0位于同一楼层,将当前目标网格Gtemp设置为最终目标网格。
步骤S204,查找可以通往目标楼层并且距离最终目标网格Gn最近的楼梯或电梯。
在判断最终目标网格Gn和起始网格G0是否位于同一楼层之后,如果判断出最终目标网格Gn和起始网格G0不位于同一楼层,查找可以通往目标楼层并且距离最终目标网格Gn最近的楼梯或电梯。
步骤S205,将当前目标网格Gtemp设置为最优的电梯或楼梯。
在查找可以通往目标楼层并且距离最终目标网格Gn最近的楼梯或电梯之后,将当前目标网格Gtemp设置为最优的电梯或楼梯。
步骤S206,计算当前目标网格Gtemp与当前网格之间的方位关系dcur,获取当前网格的进出关系Si。
在将当前目标网格Gtemp设置为最终目标网格Gn之后,或者在将当前目标网格Gtemp设置为最优的电梯或楼梯之后,计算当前目标网格Gtemp与当前网格之间的方位关系dcur,获取当前网格的进出关系Si。
步骤S207,判断dcur是否为正方向。
在获取当前网格的进出关系Si之后,判断dcur是否为正方向。如果判断出dcur为正方向,执行步骤S208,如果判断出dcur不为正方向,执行步骤S212。
步骤S208,判断dcur∈Si-dpre是否成立。
在判断dcur是否为正方向之后,如果判断出dcur为正方向,判断dcur∈Si-dpre是否成立,其中,dpre为当前网格的来源方向。如果判断出dcur∈Si-dpre成立,执行步骤S209,如果判断出dcur∈Si-dpre不成立,执行步骤S210。
步骤S209,当前网格向dcur方向查找下一个网格Gnext。
在判断dcur∈Si-dpre是否成立之后,如果判断出dcur∈Si-dpre成立,当前网格向dcur方向查找下一个网格Gnext。
步骤S210,在Si-dpre中分别按剩余方向寻找下一个网格Gnext。
在判断dcur∈Si-dpre是否成立之后,如果判断出dcur∈Si-dpre不成立,在Si-dpre中分别按剩余方向寻找下一个网格Gnext。
步骤S211,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一个网格Gnext。
在Si-dpre中分别按剩余方向寻找下一个网格Gnext之后,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一个网格Gnext。
步骤S212,将dcur拆解为2个正方向的集合{D1,D2}。
在判断dcur是否为正方向之后,如果判断出dcur不为正方向,将dcur拆解为2个正方向的集合{D1,D2}。
步骤S213,D1(或者D2)∈Si-dpre。
在将dcur拆解为2个正方向的集合{D1,D2}之后,D1(或者D2)∈Si-dpre成立。
步骤S214,当前网格向有D1(或者D2)方向寻找下一个网格Gnext。
当D1(或者D2)∈Si-dpre成立时,当前网格向有D1(或者D2)方向寻找下一个网格Gnext。
步骤S215,D1∈Si-dpre且D2∈Si-dpre。
在将dcur拆解为2个正方向的集合{D1,D2}之后,D1∈Si-dpre且D2∈Si-dpre成立。
步骤S216,分别按D1,D2方向查找下一网格Gnext。
在D1∈Si-dpre且D2∈Si-dpre成立时,分别按D1,D2方向查找下一网格Gnex。
步骤S217,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一网格Gnext。
在分别按D1,D2方向查找下一网格Gnext之后,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一网格Gnext。
在将d
cur拆解为2个正方向的集合{D
1,D
2}之后,
且
成立。
步骤S219,在Si-dpre中分别按照剩余方向寻找下一网格Gnext。
在
且
成立时,在S
i-d
pre中分别按照剩余方向寻找下一网格G
next。
步骤S220,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一网格Gnext。
在Si-dpre中分别按照剩余方向寻找下一网格Gnext之后,在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一网格Gnext。
步骤S221,将下一网格Gnext设定为当前网格G。
在当前网格向dcur方向查找下一个网格Gnext之后,或者在待选网格集中选择与当前目标网格Gtemp距离最近的网格为下一个网格Gnext之后,将下一网格Gnext设定为当前网格G。
步骤S222,判断当前网格G是否为当前目标网格Gtemp。
在将下一网格Gnext设定为当前网格G之后,判断当前网格G是否为当前目标网格Gtemp。如果判断出当前网格G为当前目标网格Gtemp,执行步骤S223,如果判断出当前网格G不为当前目标网格Gtemp,执行步骤S206。
步骤S223,判断当前目标网格Gtemp是否为最终目标网格Gn。
判断当前网格G是否为当前目标网格Gtemp之后,判断当前目标网格Gtemp是否为最终目标网格Gn,如果当前目标网格Gtemp为最终目标网格Gn,则结束导航流程。如果判断出当前目标网格Gtemp不为最终目标网格Gn,执行步骤S212。
图3a是根据本发明实施例的一种道路拐弯点的进出方位关系的示意图。如图3a所示,道路拐弯点的进出方位关系为{西(W),南(S)},用于表示道路拐弯点可从西、南2个方向进出。
图3b是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图。如图3b所示,道路拐弯点的进出方位关系为{东(E),南(S)},用于表示道路拐弯点可从东、南2个方向进出。
图3c是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图。如图3c所示,道路拐弯点的进出方位关系为{西(W),北(N)},用于表示道路拐弯点可从西、北2个方向进出。
图3d是根据本发明实施例的另一种道路拐弯点的进出方位关系的示意图。如图3d所示,道路三岔口的进出方位关系为{东(E),北(N)},用于表示道路拐弯点可从东、北2个方向进出。
图3e是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图。如图3e所示,道路三岔口的进出方位关系为{西(W),南(S),北(N)},用于道路三岔口可以从西、南、北三个方向进出。
图3f是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图。如图3f所示,道路三岔口的进出方位关系为{北(N),南(S),东(E)},用于道路三岔口可以从北、南、东三个方向进出。
图3g是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图。如图3g所示,道路三岔口的进出方位关系{西(W),北(N),东(E)},用于道路三岔口可以从西、北、东三个方向进出。
图3h是根据本发明实施例的另一种道路三岔口的进出方位关系的示意图。如图3h所示,道路三岔口的进出方位关系{西(W),南(S),东(E)},用于道路三岔口可以从西、南、东三个方向进出。
图3i是根据本发明实施例的十字交叉口的进出方位关系的示意图。如图3i所示,十字交叉口的进出方位关系为{西(W)、南(S)、北(N)、东(E)}进出方位关系,用于表示十字交叉口可以从西、南、北、东四个方向进出。
图4是根据本发明实施例的一种室内场景的平面图的示意图。如图4所示,希望从左下“休息区”到上方商铺“和言”。其中,“休息区”为起始位置,“和言”为目标位置。
下面对应用上述室内场景场景中的导航方法进行介绍。
步骤1,室内路径数据的网格化预处理。
选择室内路网中的道路岔口,道路十字交叉口,道路拐弯点,电梯等预设位置进行网格处理,获取上述预设位置的位置,计算其GeoSOT网格编码,同时,记录下这些预设位置的进出情况。
图5是根据本发明实施例的一种对室内路网的原始路径数据进行网格化处理的结果的示意图。如图5所示,分别对1-75号网格作预处理。
这些网格对应的位置无外乎道路三岔口,道路十字交叉口,道路拐弯点和电梯等预设位置。下面选个几个典型的位置进行具体说明。
42号网格,是一个典型的道路十字路口,录下其编码Code和楼层Floor之后,还需要记录下,东(E)、南(S)、西(W)、北(N)4个进出方位关系。这类型的网格进出方位关系只有一种可能。
42号网格记为:Code42;4;{E,S,W,N}。
4号网格,是一个典型的道路拐弯点,录下其编码Code和楼层Floor之后,还需要记录下该网格的进出方位关系,其进出关系只有2个方向,4号网格为西(W)、北(N)方向可通行,但是这类型的网格进出方位关系较为复杂,进出方位关系一般存在4种情况:{东(E),南(S)},{东(E),北(N)},{南(S),西(W)},{北(N),西(W)}。
4号网格记为:Code4;4;{W,N}。
5号网格,是一个典型的道路三岔口,录下其编码Code和楼层Floor之后,还需要记录下该网格的进出方位关系,其进出关系存在3个方向,4号网格为东(E)、西(W)、南(S)方向可通行,这类型的网格进出方位关系同样较为复杂,进出方位关系也存在4种情况:{东(E),南(S),西(W)},{东(E),南(S),北(N)},{北(N),南(S),西(W)},{北(N),东(E),西(W)}。
5号网格记为:Code4;4;{W,E,S}。
以此类推,可以记录下1-75号网格的基本信息,完成路径数据的网格化预处理。结果如图5所示。
步骤2,确定导航的起始位置和目标位置:
无论是起始位置还是目标位置,既可以是先前已经网格化的位置,同样也可以是事先未经过网格化处理的位置。如果是未经过网格化处理的位置,用户可以选择发布网格,将发布的网格加入到基础网格化数据中,进行后续导航计算。
对于室内导航而言,想要在室内通过全球定位系统获取经纬度信息比较困难,因此选择采用二维码技术,可以通过扫描获取当前位置或者目标位置的网格数据。
现假设用户希望从左下休息区到上方商铺“和言”,那么用户可以通过扫描二维码,确定起始位置为左下休息区,目标位置为上方商铺“和言”,即从步骤1已经网格化的模型中的67号网格导航至19号网格。
步骤3,实时引导式导航计算,具体步骤为:
Step1、判断当前网格67号网格和目标位置19网格是否位于同一楼层,2者均位于4楼,将当前目标位置Gtemp设置为19号网格,直接进入下一步。
Step2、计算目标位置19号网格与当前网格G(67号网格)之间的方位关系dcur,19网格网格位于67号网格的东北方向,dcur=NE;获取当前网格(67号网格)的进出方位关系Si{E,W,N};
Step3、判断dcur是否为正方向,NE为偏方向;
Step4、将dcur拆解为N,E两个偏方向D1、D2,判断D1,D2和Si-dpre的关系,对67号网格而言,dpre为空,D1∈Si-dpre且D2∈Si-dpre;
Step5、分别向N,E方向查找下一个网格,分别为66号网格和49号网格,计算66号网格和49号网格与19号网格间的距离L66,L49,优选地,选择使用编码计算网格间的距离。L66<L49,选择66号网格为下一个网格Gnext,引导用户往北行走至下一个网格。
Step6、用户往北行走至66号网格,将66号网格设为当前网格G,判断当前网格G(66号网格)当前目标位置Gtemp(19号网格)是否相同。如果不相同则返回Step2继续实时引导式导航,直到G=Gtemp为止。
Step7、判断当前目标位置Gtemp是否为最终目标位置19号网格,如果是则导航结束;否则返回Step1进行导航计算。
按照上述步骤导航计算,可以依次查找到下一个网格Gnext,引导用户移动至该网格,最终可以将用户从起始位置67号网格导航至19号网格。
图6是根据本发明实施例的一种在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算得到的导航方向的示意图。如图6所示。得到导航路线为67-66-65-47-37-36-35-34-42-41-40-33-27-26-25-20-19,完成了室内某商场从左下休息区到上方商铺“和言”的引导式导航。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例4
本发明实施例的还提供了一种导航装置。需要说明的是,该实施例的导航装置可以执行本发明实施例的导航方法。
图7是根据本发明实施例的一种浮置板轨道的振动控制装置的示意图。如图7所示,该浮置板轨道的振动控制装置包括:处理单元10、确定单元20、计算单元30和导航单元40。
处理单元10,用于对室内路网的原始路径数据进行网格化处理,得到基础化网格数据。
确定单元20,用于确定用于对目标对象进行导航的起始位置和目标位置。
计算单元30,用于在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向。
导航单元40,用于根据导航方向对目标对象进行导航。
可选地,处理单元10包括:获取模块和计算模块。其中,获取模块,用于获取室内路网中的预设类型位置;计算模块,用于计算预设类型位置的网格编码,并记录预设类型位置的进出方位关系,其中,基础化网格数据包括网格编码和进出方位关系。
该实施例通过处理单元10对室内路网的原始路径数据进行网格化处理,得到基础化网格数据,通过确定单元20确定用于对目标对象进行导航的起始位置和目标位置,通过计算单元30在基础化网格数据中根据起始位置和目标位置的方位关系进行导航计算,得到导航方向,通过导航单元40根据导航方向对目标对象进行导航,由于通过对室内的原始路径数据进行网格化处理,通过起始位置和目标位置的方位关系进行引导式网格计算,获取导航方向,解决了对目标对象进行导航的局限性大的问题,进而达到了降低对目标对象进行导航的局限性的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。