导航提示方法、导航设备及存储介质与流程

文档序号:16125496发布日期:2018-11-30 23:42阅读:171来源:国知局
本申请涉及导航领域,特别是涉及一种导航提示方法、导航设备及存储介质。
背景技术
现有的导航软件中,引导提示模块的引导路径最小单元是道路,车道只是作为其中的一个属性,只包含了简单的排列和导向描述,没有对应的地理位置信息和可变车道等详细属性信息。而在行车过程中,经常有可能出现需要根据车道属性进行位置变动的情况。比如,当车辆处于路口处的直行车道时,导航软件可能会提示左转,但根据交通规则,路口处的实线车道是不允许变道的,这种情况容易导致用户违反交通规则。技术实现要素:基于此,有必要针对上述技术问题,提供一种能够以车道为最小引导单元的导航提示方法。一种导航提示方法,包括:获取引导路径、定位数据,以及所述定位数据预设范围内的地图数据;根据所述引导路径和所述定位数据进行路径车道匹配;若所述路径车道匹配失败,根据所述地图数据和所述定位数据进行地图车道匹配;若所述路径车道匹配或所述地图车道匹配成功,记录当前匹配车道,触发提示。在其中一个实施例中,所述路径车道匹配的步骤包括:获取待定匹配车道、所述定位数据在所述待定匹配车道上的垂直投影点;当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据未偏离所述待定匹配车道,且当前车辆行驶方向与车道方向之间满足第一预设条件时,所述路径车道匹配成功,记录所述待定匹配车道为当前匹配车道。在其中一个实施例中,所述路径车道匹配的步骤还包括:当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据未偏离所述待定匹配车道,但当前车辆行驶方向与车道方向之间不满足第一预设条件时,则判断所述待定匹配车道是否为所述引导路径上的最后一条车道,若不是则将所述待定匹配车道的下一车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤;若是则所述路径车道匹配失败。在其中一个实施例中,所述路径车道匹配的步骤还包括:所述路径车道匹配的步骤还包括:当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据已偏离所述待定匹配车道时,若所述待定匹配车道的左侧或者右侧存在同向的相邻车道,则将依次将所有同向的相邻车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤;若所述待定匹配车道的左侧和右侧均不存在同向的相邻车道,则跳转所述判断所述待定匹配是否为所述引导路径上的最后一条车道的步骤;其中,所述同向的相邻车道表示处于同一路段,且相互之间可变道的车道。在其中一个实施例中,当所述垂直投影点在所述待定匹配车道的车道终止点外时,则跳转所述判断所述待定匹配是否为所述引导路径上的最后一条车道的步骤。在其中一个实施例中,所述地图车道匹配的步骤包括:根据所述定位数据确定当前车道;当所述当前车道与最近一次的路径车道匹配的车道之间满足第二预设条件时,将该所述最近一次的路径车道匹配到的车道作为当前匹配车道;若所述当前车道与最近一次的路径车道匹配到的车道之间不满足第二预设条件,但所述当前车道与最近一次的路径车道匹配的下一车道之间满足第二预设条件时,则记录该下一车道为当前匹配车道。在其中一个实施例中,所述地图车道匹配的步骤还包括:当所述当前车道与最近一次的路径车道匹配到的当前匹配车道和其下一车道均不满足所述第二预设条件时,将所述当前车道与所述引导路径上的所有车道进行比较,直至找到所述引导路径上与所述当前车道之间满足第三预设条件的车道,记录该车道为当前匹配车道;若所述引导路径上的所有车道与所述当前车道之间均不满足第三预设条件,所述地图车道匹配失败。在其中一个实施例中,所述提示包括变道提示和其他提示;所述变道提示的步骤包括:当所述当前匹配车道不为所述引导路径上的最后一条车道,且未被标记为变道车道时,根据所述地图数据判断是否需要变道;若否则,所述提示结束;若是则确定向左变道或者向右变道,生成相应提示文本,发送至播报模块进行提示,并将所述当前匹配车道标记为变道车道;所述其他提示的步骤包括:当所述定位数据进入其他提示的提示阈值范围时,生成与其他提示对应的提示文本,发送至播报模块进行提示。在一个实施例中,本申请还提供一种导航设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。在一个实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。上述导航提示方法,包括获取引导路径、定位数据,以及所述定位数据预设范围内的地图数据,并根据引导路径、定位数据,以及所述定位数据预设范围内的地图数据进行车道匹配。其中,车道匹配分为路径车道匹配和地图车道匹配。首先进行路径车道匹配,路径车道匹配失败时进入地图车道匹配。当路径车道匹配和地图车道匹配其中一个车道匹配成功,则可以得到以车道为提示单元的导航提示,以实现更为精确的导航提示。附图说明图1为本申请一实施例导航提示方法流程示意图;图2为本申请一实施例车道实体相关概念说明示意图;图3为本申请一实施例路径车道匹配的流程示意图;图4为本申请一实施例地图车道匹配的流程示意图;图5为应用本申请导航提示方法的导航中各模块的关系示意图;图6为本申请一具体实施例导航提示方法的流程示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请中导航提示方法应用于导航软件中的引导模块,导航提示方法中用到的数据可以从导航软件中其他模块处获取。如图1所示,为本申请一实施例导航提示方法的步骤流程图,包括步骤s110至步骤s140。步骤s110:获取引导路径、定位数据,以及所述定位数据预设范围内的地图数据。其中,引导路径是导航软件的规划模块生成的,以车道为引导单元的一条从起始地址到目的地地址的引导路径。例如,可以是规划模块根据用户输入的起始地址、目的地地址为用户匹配的一条引导路径,在此引导路径中,最小单元已经规划到车道级别。定位数据为当前车辆所在的定位数据。定位数据预设范围内的地图数据,具体可以是在定位数据周围一定范围内的地图数据,其中预设范围可以根据实际情况设定数值大小。在一个实施例中,定位数据包括经度、纬度、海拔、航向、速度、定位解类型和时间信息。如表1所示,为本申请一实施例定位数据结构表。经度、纬度精确到厘米级;航向精确到0.001°;速度精确到0.001节;定位解类型包括固定解(4)、浮点解(5)、单点解(1)以及无效解(0,3,6);时间为utc(世界协调时间),精确到毫秒。在本实施例中,定位数据通过定位天线以5hz的频率实时传入导航软件。表1定位数据结构表在一个实施例中,获取来自导航软件定位模块的定位数据,判断定位数据的定位解类型,滤除非固定解类型。检查得到的定位解类型为固定解的定位数据的速度大小,若速度大于等于5.6km/h时,则根据该定位数据计算得到当前的方位角;若速度小于5.6km/h,则认为定位数据的方位角不可信,改为采用最近几次记录的定位数据的方位角按权重推算得出当前的方位角。因为卫星定位时,是根据行驶轨迹计算角度的,速度太小时,短时间内的移动距离太小,而导致精度误差影响方位角的计算。步骤s120:根据所述引导路径和所述定位数据进行路径车道匹配。步骤s130:若所述路径车道匹配失败,根据所述地图数据和所述定位数据进行地图车道匹配。步骤s140:若所述路径车道匹配或所述地图车道匹配成功,记录当前匹配车道,触发提示。在一个实施例中,若路径车道匹配或者地图车道匹配中一个匹配成功,还触发引导进度更新。在一个实施例中,当路径车道匹配和地图车道匹配都失败,意味着车辆已经无法再按照导航规划的引导路径行驶时,则触发偏航提示。在一个实施例中,所述提示包括变道提示和其他提示。在一个实施例中,所述变道提示的步骤包括:当所述当前匹配车道不是引导路径上的最后一条车道,且未被标记为变道车道时,根据地图数据判断是否需要变道;若否则,变道提示结束,即此时不需要变道提示;若是则确定是需要向左变道还是需要向右变道,生成相应提示文本后,发送至播报模块进行变道提示,并将所述当前匹配车道标记为变道车道。在本实施例中,由于导航获取定位数据的频率是5hz,即一秒内接收到5次定位数据。而一条车道短则十几米,长则几百上千米。每次接收到新的定位数据都会做检查,确认是否已经被标记为变道车道,即该车道已经进行过变道提示,防止短时间内重复提示变道。在一个实施例中,所述其他提示的步骤包括:当检测到定位数据进入了其他提示的提示阈值范围时,生成与其他提示对应的提示文本,发送至播报模块进行相应的其他提示。上述导航提示方法,包括获取引导路径、定位数据,以及所述定位数据预设范围内的地图数据,并根据引导路径、定位数据,以及所述定位数据预设范围内的地图数据进行车道匹配。其中,车道匹配分为路径车道匹配和地图车道匹配。首先进行路径车道匹配,路径车道匹配失败时进入地图车道匹配。当路径车道匹配和地图车道匹配其中一个车道匹配成功,则可以得到以车道为提示单元的导航提示,以实现更为精确的导航提示。在一个实施例中,导航提示的过程中获取的地图数据包括车道实体数据、车道节点实体数据和车道引导属性数据。如表2所示为本申请一实施例车道实体数据结构表;车道实体数据包括id号、车道序号、左侧可变车道数、右侧可变车道数、路口内车道标识、起始端点类型、终止端点类型、车道导向、车道宽度、限制属性、几何属性以及其他属性。其中,虚拟车道是指现实生活中在这个位置(一般是道路的路口)并没有车道划分,但软件为了能够更好地实现功能,在采集这个位置的车道数据时,人为地在这个位置上划分了车道,而划分出来的车道需要与真实车道进行区分,就将其称为虚拟车道。车道实体数据采集了道路上的所有道路数据,包括车道数、车道宽度、车道导向、可变道性等属性都有完整采集。而在路线的规划、引导中,直接使用的就是车道实体数据,道路数据只是辅助用于获取路面属性而已。同时在地图显示上,可清晰显示路面所有要素,包括车道线、道路边线、停止线、导流线、人行道等所有道路交通标记。因此,可以弥补现有导航中没有覆盖所有道路路段的不足。如图2所示,为本申请一实施例车道实体相关概念说明示意图。表2车道实体数据结构表如表3所示,为本申请一实施例车道节点实体数据表。节点是指车道的端点。一条车道在地图上就是一条折线,而折线的两端就是车道节点。如图2所示就是一个十字路口图,车道到了路口处就基本到了该车道的终点,而该终点就是车道的其中一个节点。车道节点实体数据包括:id号、节点类型、子节点个数、关联车道数、车道id列表、主节点(包含该简单节点的复合节点,就是该简单节点的主节点)、空间坐标以及引导属性。序号字段描述1id号唯一标识符2节点类型0表示复合节点(包含一组简单节点的节点),1表示简单节点3子节点个数复合节点所具有的属性4关联车道数有多少车道在该节点相交5车道id列表关联车道的id列表6主节点简单节点可能具有的属性,复合节点不具有7空间坐标经度、纬度、海拔8引导属性方向看板信息、强制引导信息等表3车道节点实体数据表在一个实施例中,车道引导属性数据并非存在于一个结构体中,而是包含多种引导属性结构,如电子眼结构体、红绿灯结构体、指示牌结构体、高速服务区结构体等多种,相对于普通导航软件的引导属性而言,关联了车道实体属性,从而在导航提示中可以以车道为引导单元进行提示。在一个具体实施例中,变道提示的步骤包括:判断当前路径匹配车道是否是引导路径上的终止车道,或者当前路径匹配车道是否已标记为变道车道。其中,引导路径上的终止车道表示引导路径上的最后一条车道。若是则变道提示结束;若否则:获取当前路径匹配车道的终止车道节点和其下一车道的起始车道节点的坐标,计算两个坐标点之间的距离,判断该距离是否大于1米,若否则变道提示结束;若是则,获取当前匹配车道及其下一车道在各自所在道路上的序号,计算当前匹配车道和其下一车道的序号差值,若差值>0,生成向右变道提示文本,发送至播报模块进行变道提示;若差值<0,生成向左变道提示文本,将向左/向右变道提示文本发送至播报模块进行变道提示;同时将当前匹配车道标记为变道车道。在一个具体实施例中,其他提示的步骤包括:获取在规划引导路径时导航软件根据规划的引导路径的相关车道实体数据、车道节点实体数据和车道引导属性数据生成的电子眼提示列表、转向提示列表、红绿灯提示列表以及其他提示列表等;根据定位数据、车道实体数据判断当前车辆是否进入电子眼提示的阈值范围,若是则构建电子眼播报提示文本并进入下一步,若否则直接进入下一步。根据定位数据、车道实体数据判断当前车辆是否进入转向提示的阈值范围内,若是则构建路口转向提示文本并进入下一步,若否则直接进入下一步。根据定位数据、车道实体数据判断当前车辆是否进入红绿灯提示的阈值范围内,若是则构建红绿灯提示文本并进入下一步,若否则直接进入下一步。根据定位数据、车道实体数据判断当前车辆是否进入高架桥、深槽路段、立交桥、隧道等的提示阈值范围内,若是则构建相应的提示文本并进入下一步,若否则直接进入下一步。根据定位数据、车道实体数据判断当前车辆是否进入终点提示的阈值范围内,若是则构建终点提示文本并进入下一步,若否则直接进入下一步。判断是否有多条播报提示文本,若是则将所有文本合并后进入下一步,若否则直接进入下一步。判断是否有提示文本,若是则将所有提示文本发送至播报模块,触发语音提示,若否则提示结束。进一步地,语音播报模块可以是tts(texttospeech,语音合成)模块。在一个具体实施例中,引导进度更新的步骤包括:获取路径规划时根据规划的引导路径的相关车道实体数据中的里程数据,根据定位数据、引导路径的总里程数据,计算剩余里程需要花费的时间。获取当前路口的转向类型、当前路口的里程值、当前匹配车道所在道路的道路名、引导路径上当前匹配车道的下一车道所在道路的道路名、当前路口处的车道信息,以及路口处的进入车道的序号,将上述信息通知到导航软件应用上层,完成引导进度更新。在一个实施例中,当路径车道匹配失败且地图车道匹配失败时将触发实时偏航提示。引导模块将当前的定位数据通知给规划模块,由规划模块进行重新设置参数并规划。在一个实施例中,如图3所示,为本申请一实施例路径车道匹配的流程示意图,包括步骤s310至步骤s320。步骤s310:获取待定匹配车道、所述定位数据在所述待定匹配车道上的垂直投影点。定位数据在待定匹配车道上的垂直投影点具体表示,定位数据在地图上就是一个坐标点,而车道在地图上是一个折线段,而折线段在几何概念上就是多个直线段连接成的。垂直投影点指的是分别将定位数据那个点在折线段的各个直线上做垂足,然后计算点到各个垂足点的距离,离的最近的那个垂足点就是定位数据在车道上的垂直投影点。步骤s320:当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据未偏离所述待定匹配车道,且当前车辆行驶方向与车道方向之间满足第一预设条件时,所述路径车道匹配成功,记录所述待定匹配车道为当前匹配车道。进一步地,定位数据未偏离待定匹配车道具体可以是:获取定位数据到垂直投影点的真实距离作为投影距离,若该投影距离小于等于待定匹配车道的车道宽度的3/4,则判定当前定位点未偏离待定匹配车道。若该投影距离大于待定匹配车道的车道宽度的3/4,则认为此时定位点已经偏离待定匹配车道。在本实施例中,当垂直投影点在待定匹配车道的车道上时,则将定位数据到垂直投影点的真实距离作为投影距离;当垂直投影点在待定匹配车道的起始点外时,将定位数据到待定匹配车道的车道起始点的距离作为投影距离。在一个实施例中,第一预设条件可以是:当前车辆行驶方向与待定匹配车道的方向基本一致。在一个具体实施例中,第一预设条件为:定位数据的方位角与待定匹配车道的投影点处的方位角夹角≤15°。在一个具体实施例中,所述获取待定匹配车道的步骤包括:若本次车道匹配为本次导航第一次进行车道匹配,获取引导路径上的起始车道作为待定匹配车道;若本次车道匹配不是本次导航第一次车道匹配,获取上一次定位数据匹配到的引导路径上的车道作为待定匹配车道。在一个实施例中,如图3所示,路径车道匹配的步骤还包括:步骤s330:当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据未偏离所述待定匹配车道,但当前车辆行驶方向与车道方向之间不满足第一预设条件时,则判断待定匹配车道是否为引导路径上的最后一条车道,若是则所述路径车道匹配失败;若不是则将所述待定匹配车道的下一车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤。在一个实施例中,判断垂直投影点与待定匹配车道的关系是通过垂直投影点来判断的,比如将车道看作折线段,该折线段从坐标(0,0)到(1,0),垂直投影点坐标为(0.5,0)时,则该垂直投影点是在该车道上的;垂直投影点的坐标为(-1,0)时是在该车道起始点外的;垂直投影点的坐标为(2,0)时,则该垂直投影点在车道终止点外了。在一个具体实施例中,判断待定匹配车道是否为引导路径上最后一条车道的步骤包括:计数(初始值为0)加1,然后判断计数值是否大于1。若计数值大于1,则结束;若计数值小于等于1,则获取待定匹配车道在引导路径上的序号,将序号和计数相加,并判断相加结果与引导路径上的车道个数的大小,若相加结果小于等于车道个数,则判定待定匹配车道不是引导路径上最后一条车道;若相加结果大于车道个数,则判定待定匹配车道为引导路径上最后一条车道。进一步地,待定匹配车道在引导路径上的序号具体表示为:导航软件在规划好引导路径后,为了方便软件会把所有引导路径上的每一车道按顺序标记数字1,2,3....,方便管理,其中引导路径上从起始位置开始的第一条车道是序号为1的车道,第二条车道就是序号为2的车道,以此类推。在一个实施例中,如图3所示,路径车道匹配的步骤还包括:步骤s340:当所述垂直投影点在所述待定匹配车道的车道上或者在所述待定匹配车道的起始点外、所述定位数据已偏离所述待定匹配车道时,若所述待定匹配车道的左侧或者右侧存在同向的相邻车道,则将依次将所有同向的相邻车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤。步骤s350:若所述待定匹配车道的左侧和右侧均不存在同向的相邻车道,则判断待定匹配车道是否为引导路径上的最后一条车道,若是则所述路径车道匹配失败;若不是则将所述待定匹配车道的下一车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤。其中,所述同向的相邻车道表示处于同一路段,且相互之间可变道的车道。进一步地,判断待定匹配车道的左侧或者右侧是否存在同向的相邻车道的目的是,确认当前车辆所在的车道是否与引导路径上某一车道之间是相互可变道的。例如,引导路径上的指示的是走当前路段的第二车道,但是车辆在行驶过程中发生了车道变更进入了第三车道,此时软件判断第三车道与第二车道是否可相互变更,若是可以则认为在第三车道上行驶也是合理的。具体地,导航是根据左侧/右侧可变车道数属性值来确定待定匹配车道的左侧或者右侧是否存在同向的相邻车道。左侧可变车道数属性值表示当前车道能够向左侧最多变道几个车道,该属性值就是一个整数,0表示没有,1表示可向左变道一个车道。同理,右侧可变车道数也是如此确定。在一个实施例中,如图3所示,路径车道匹配的步骤还包括:步骤s360:当所述垂直投影点在所述待定匹配车道的车道终止点外时,则判断待定匹配车道是否为引导路径上的最后一条车道,若是则所述路径车道匹配失败;若不是则将所述待定匹配车道的下一车道作为新的待定匹配车道,返回所述获取所述定位数据在所述待定匹配车道上的垂直投影点的步骤。在一个实施例中,车道的起始点表示车道起始位置的节点,终止点表示车道终止位置的节点。在一个具体实施例中,路径车道匹配失败的情况如,在路口处,引导路径在路口处的指定的车道是直行车道,而车辆当前实际所在的车道是左转车道,此时由于路口处的车道之间不允许相互变道,两者又不包含相同的导向类型,则此时车辆无法按照既定的引导路径规定的路线行驶了,路径车道匹配失败。在一个实施例中,如图4所示,所述地图车道匹配的步骤包括步骤s410至步骤s430。步骤s410:根据所述定位数据确定当前车道。在一个实施例中,根据定位数据确定当前车道的步骤包括:在定位数据周围一定范围内查找车道数据,获得车道列表。在该车道列表中查找符合要求的车道作为当前车道。若定位数据该一定范围内未找到车道数据,则逐渐扩大范围继续查找定位数据周围的车道数据。在一个具体实施例中,根据定位数据确定当前车道的步骤包括:设置计数值为1,半径值为5米。获取定位数据的坐标点,以坐标点为中心点,以半径值×计数值的结果为半径,在地图上查找该半径范围内的车道数据,将查找结果作为车道列表。判断查找结果,若查找结果为空,则计数值加1,然后判断计数值是否大于4,若计数大于4则地图车道匹配结束;若计数小于等于4,则返回获取定位数据的坐标点,以坐标点为中心,以半径×计数值为半径继续查找车道数据。若查找结果不为空,则依次计算定位数据在查找的车道列表中各个车道上的垂直投影点和投影距离(定位数据到垂直投影点的真实距离)。过滤掉其中投影距离大于车道宽度3/4的查找结果,将过滤后的车道列表中的所有车道依次判断定位数据的方位角与车道在投影点处的方位角的夹角。若夹角≤15°,记录该夹角对应的车道为当前车道;如若夹角>15°,判断继续判断查找结果中的其他车道,直至车道列表中的所有车道都进行过判断,所有车道列表中车道都判断过后均未找到符合要求的车道则,地图车道匹配结束。步骤s420:当所述当前车道与最近一次的路径车道匹配的车道之间满足第二预设条件时,将该所述最近一次的路径车道匹配到的车道作为当前匹配车道。步骤s430:若所述当前车道与最近一次的路径车道匹配到的车道之间不满足第二预设条件,但所述当前车道与最近一次的路径车道匹配的下一车道之间满足第二预设条件时,则记录该下一车道为当前匹配车道。在一个实施例中,第二预设条件的目的是确认车辆按照当前车道行驶还是可以按照引导路径行驶的。在一个具体实施例中,第二预设条件为两条车道之间,同为不可变车道且车道导向存在相同的类型。在本实施例中,即判断引导路径中、与当前车道所在相同的道路中的车道,是否存在某一车道与当前车道之间相互不可变道,但车道导向存在相同的类型;例如,当前车道与引导路径中的某一车道之间相互不可变道,但车道导向都包括直行,因此按照当前车道继续行驶,相当于还是在按照引导路径行驶。在本实施例中,将当前车道与最近一次路径车道匹配到的车道及其下一车道进行比较是否满足第二预设条件的目的是:由于车道的相邻车道,指的是左右侧可变道的车道,而路径车道匹配时,只拿相邻车道进行过比较;但是在路口处,各车道之间都是不可变道的。所以车辆如果在路口处走错车道,就会导致路径车道匹配失败,但是,车辆当前所在的车道对于行驶路线来说,可能依然是有效的。比如路口处导航路径指定的是第二车道(直行车道),车辆走的第三车道(直行车道),虽然车辆不在导航路径上,且也不能变道,但是,两条车道的行驶方向是一致的,所以车辆所在车道仍然是有效的。在一个实施例中,如图4所示,地图车道匹配的步骤还包括:步骤s440:当所述当前车道与最近一次的路径车道匹配到的当前匹配车道和其下一车道均不满足所述第二预设条件时,将所述当前车道与所述引导路径上的所有车道进行比较,直至找到所述引导路径上与所述当前车道之间满足第三预设条件的车道,记录该车道为当前匹配车道。步骤s450:若所述引导路径上的所有车道与所述当前车道之间均不满足第三预设条件,所述地图车道匹配失败。在一个实施例中,第三预设条件的目的是确认当前车道是否与引导路径上某一车道处于同一道路上。在一个具体实施例中,第三预设条件为两条车道为同一车道或者两条车道为同向的相邻车道。同向的相邻车道为处于同一路段,且相互之间可变道的车道。在一个实施例中,可以是将当前车道与引导路径上的起始车道开始依次到终止车道,比较是否两者之间符合第三预设条件。在一个实施例中,当前车道与引导路径上的车道均不满足第三预设条件的情形包括:第一种情形是当前车道和待比较车道在同一路段,但是彼此之间不能相互变道;第二种情形是,两者不在同一路段。其中,起始车道表示:平常使用现有的地图软件进行导航时,用户选择目的地后,软件会给我们规划多条路线,用户选择其中一条开始导航的时候,这条导航路线上的第一条路就称为起始道路(车辆当前所在的那条路)。而本申请中的起始车道跟现有的地图软件起始道路是相等同的概念,本申请中划分得更为详细些,会精确到车道,即起始车道是车辆当前所在的那条车道。上述导航提示方法,包括获取引导路径、定位数据,以及所述定位数据预设范围内的地图数据,并根据引导路径、定位数据,以及所述定位数据预设范围内的地图数据进行车道匹配。其中,车道匹配分为路径车道匹配和地图车道匹配。首先进行路径车道匹配,路径车道匹配失败时进入地图车道匹配。当路径车道匹配和地图车道匹配其中一个车道匹配成功,则可以得到以车道为提示单元的导航提示,以实现更为精确的导航提示。在规划路线时,路线是具体车道内的,定位时,导航也会明确确定车辆位置在第几个车道上。即导航引导逻辑运算的最小单元精确至车道,实现了车道级引导;支持车辆行驶过程中实时变道检测与提示;更详尽、准确的引导提示(精确至车道);可以解决车辆位于路口时规划路线错误的问题。在一个实施例中,本申请的导航提示方法由于获取的定位数据、地图数据精度满足要求,数据内容详细程度满足要求,以及能够支持车道级的规划和引导,可以应用于无人驾驶领域。在本申请中,路径车道匹配实际上是结合定位数据,根据车辆最近一次在引导路径上的匹配位置进行匹配运算,判断当前车辆位置是否在引导路径上的车道内,或在同向的相邻车道内。地图车道匹配实际上是当车辆无法在引导路径上找到匹配的车道时,根据定位数据从定位数据周围一定范围内的地图数据去查找周边的车道,从查找到的车道找到位置和航向最接近的车道作为当前匹配车道。若当前匹配车道为引导路径上的车道或同向的相邻车道,触发提示和引导进度的更新,否则提示偏航。应该理解的是,虽然图1-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。如图5所示,为应用本申请中导航提示方法的导航中各模块的关系示意图。其中,导航提示方法由引导模块实现,定位数据从定位模块获取;引导路径从规划模块获取;地图数据从地图数据模块获取;引导生成的提示文本发送至播报模块以实现导航提示;引导进度的更新由引导模块通知应用层来完成。如图6所示,为一具体实施例导航提示方法的流程示意图。在本实施例中,各部分的具体步骤如下:(1)定位数据检查在本申请的导航提示方法中,定位数据的精度对引导逻辑运算至关重要,但因外部环境的不稳定性,会导致定位信息中航向和坐标出现偏差,这种错误的数据需要在进行逻辑运算之前就过滤掉,保证软件的稳定性。当接收到来自导航软件定位模块(接收定位天线的定位数据并解析成导航软件可使用的定位信息的软件模块)的定位信息时,首先将进行定位检查:第一步:将对定位信息的定位解类型进行判断,非固定解类型的定位数据将不被采用,因为定位数据中除固定解外,其他解类型的定位数据的精度误差已超出高精度的要求范围。第二步:将第一步过滤出的定位数据进行速度的对比。将刚接收到的定位数据检查其速度大小,当速度大小小于5.6km/h时,则认为定位数据中的方位角不可信(原因是卫星定位时,是根据行驶轨迹计算角度的,速度太小时,短时间内的移动距离太小,而导致精度误差影响方位角的计算),改为采用最近几次记录的定位数据的方位角按权重推算得出当前的方位角。(2)路径车道匹配经过定位数据检查后的定位数据,是可以被引导模块用于算法计算的有效定位数据,将被用于做引导路径上的车道匹配。路径车道匹配结合有效的高精度定位数据,根据车辆最近一次在引导路径上的匹配位置,进行匹配运算,判断当前车辆位置是否在引导路径上的车道内或同向的相邻车道内。第一步:判断当前是否是第一次尝试在该引导路径上匹配车道(一般是在开始导航或重新规划后出现),如果是,在从引导路径上提取起始车道作为待定匹配车道,如果不是,则获取最近一次定位数据匹配到的引导路径上的车道作为待定匹配车道。第二步:计算定位数据在当前匹配车道上的垂直投影点和投影距离;判断垂直投影点与车道之间的关系。其中,投影距离为定位数据到投影点的真实距离或定位数据到起始点的真实距离;垂直投影点与车道之间的关系包括:垂直投影点在车道上、垂直投影点在车道起始点外、垂直投影点在车道终止点外。1)垂直投影点在车道上,进入第三步;2)垂直投影点在车道起始点外,更新定位数据到起始点的真实距离为投影距离,进入第三步;3)垂直投影点在车道终止点外,进入第七步;第三步:判断第二步计算的投影距离,若投影距离大于当前匹配车道宽度的3/4时认为定位点已偏离当前匹配车道,进入第五步;若投影距离小于等于当前匹配车道宽度的3/4,进入第四步。第四步:判断定位数据的方位角与当前匹配车道的投影点处的方位角的夹角大小,若夹角≤15°则匹配成功,记录投影点坐标和当前匹配车道,进入第八步;若夹角>15°则进入第七步。第五步:根据当前匹配车道的左侧可变车道数属性值确定当前匹配车道左侧是否有相邻的同向车道。有则依次将左侧所有车道重复第二~第四步,若没有则进入第六步。第六步:根据当前匹配车道的右侧可变车道数属性值确定当前匹配车道右侧是否有相邻的同向车道。有则依次将右侧所有车道重复第二~第四步,若没有则进入第七步。第七步:计数(初始值为0)加1,然后判断计数值是否大于1。若大于1,则进入第八步,若小于等于1,则获取当前匹配车道在引导路径上的序号,将序号和计数相加,并判断相加的结果与引导路径上的车道个数的大小,若≤则根据相加的结果从引导路径上获取待定匹配车道的下一车道作为新的待定匹配车道,并回到第二步。否则将进入第八步。第八步:路径匹配车道结束,返回。(3)地图车道匹配地图车道匹配用于当路径车道匹配失败时,重新计算定位数据所在的车道,当路径车道匹配成功时,该部分逻辑不会被触发。当车辆无法在引导路径上寻找到匹配车道时,根据定位信息直接从地图数据中查找周边的车道实体,从查找到的车道实体列表取出位置和航向最接近的车道实体作为匹配车道。若匹配车道为引导路径上的车道或相邻同向车道,更新引导路径进度;若不是则触发偏航提示。第一步:设置计数值为1,半径值为5米。第二步:获取定位数据的坐标点,以坐标点为中心点,以半径值×计数值的结果为半径,在地图上查找该半径范围内的车道数据,获得查找结果(车道列表)。第三步:判断查找结果,若查找结果为空,进入第四步,若不为空,则进入第五步。第四步:计数值加1,然后判断计数值是否大于4。若大于4,进入第十一步;否则,重复第二~第三步。第五步:依次计算定位数据在查找结果中各个车道上的垂直投影点和投影距离。将查找结果按投影距离的升序排列,并过滤掉其中投影距离大于车道宽度3/4的查找结果,进入第六步。第六步:将过滤后的查找结果(车道列表)依次判断定位数据的方位角与车道在投影点处的方位角的夹角。若夹角≤15°,记录投影点坐标和当前车道,并进入第七步,如若>15°,判断当前车道是否是查找结果的最后一个,若不是,重复第六步;若是,进入第十一步。第七步:将第六步匹配到的当前车道依次与最近一次的路径匹配车道和其下一条车道进行比较,如果当前车道与最近一次的路径车道匹配的当前匹配车道同为路口内车道或同为不可变道车道,且车道导向存在相同的类型,那么将最近一次路径车道匹配的当前匹配车道记录为当前匹配车道,并进入第十一步;否则将对最近一次的路径车道匹配的当前匹配车道在引导路径上的下一车道与当前车道做相同的比较,若条件满足,将就下一车道记录为当前匹配车道,并进入第十一步;否则进入第八步。第八步:获取引导路径上的起始车道为待比较路径车道。第九步:将第六步匹配到的当前车道与待比较路径车道进行比较,判断是否为同一车道或其左右侧的相邻同向车道。若是,将待比较路径车道记录为当前匹配车道,并进入第十一步,若不是,进入第十步。第十步:判断待比较路径车道是否存在下一车道,若没有进入第十一步,若有,将下一车道作为待比较路径车道,进入第九步。第十一步:地图车道匹配结束,返回。(4)实时变道提示当路径匹配车道成功或地图匹配车道成功时将触发实时变道提示检查。当车辆在行驶过程中,导航软件会实时计算车辆在引导路径上的位置,在出现需要左右变道前的一定距离内会提示车辆变道,保证车辆按照正确的车道行驶。变道的目的是让汽车按照正确的车道行驶,以便能够遵守交通行驶。如在路口需要左转,按照交通规则车辆只有在左转车道里才能进行左转,如果车辆不在左转车道时便需要通知车辆变道至左转车道。同样,右转、直行、调头、上高速等都是一样。第一步:判断当前路径匹配车道是否是引导路径上的终止车道,或者当前路径匹配车道是否已标记为变道车道。若是,进入第六步;否则,进入第二步。第二步:获取当前路径匹配车道的终止车道节点和其下一车道的起始车道节点,进入第三步。第三步:获取终止车道节点和起始车道节点的坐标,并计算两个坐标点之间的真实距离,若两点之间的距离值大于1米,进入第四步;否则,进入第六步。第三步的目的在于:在数据采集时,道路上的前后车道的节点是相互重叠的,比如前一条车道的终点是后一条车道的起点(沿道路行驶方向,不是左右侧方向)。如果有前后两条车道,前一条车道的终点不是后一条车道的起点,那么这两条车道是不相连的(如导航路线在当前路段的车道是第二车道,而在下一路段是第三车道,两车道之间明显就不相连了,当车行驶到该附近时,就要提示车辆变道了)。第四步:获取当前路径匹配车道和其下一车道在各自所在道路上的序号,计算当前路径匹配车道和其下一车道的序号差值,若差值>0,生成向右变道提示文本;若差值<0,生成向左变道提示文本。进入第五步。第五步:触发实时变道提示通知,通知tts模块播报语音。并将当前路径匹配车道标记为变道车道,进入第六步。第六步:实时变道提示结束,返回。(5)车道级导航其他提示当路径匹配车道成功或地图匹配车道成功时将触发车道级导航其他提示。根据车道上的属性信息如路口属性、收费站属性等计算车辆与引导属性的位置点间的距离,判断是否触发车道级导航提示。第一步:计算当前路径匹配车道上的投影点到引导路径起点的里程,进入第二步。第二步:获取当前引导路径上的电子眼提示列表(在路径规划时已生成),提取电子眼距离引导路径起点的里程属性,根据电子眼的里程与投影点的里程差值,判断是否已到达电子眼提示的阈值范围内,若到达,构建电子眼播报提示文本,并进入第三步;否则直接进入第三步。其中,投影点的里程是指投影点距离引导路径起点的里程。第三步:获取当前引导路径上的转向提示列表(在路径规划时已生成),提取转向路口距离引导路径起点的里程属性,根据转向路口的里程与投影点的里程差值,判断是否已到达转向提示的阈值范围内。若到达,构建路口转向提示文本,进入第四步,否则直接进入第五步。第四步:获取当前引导路径上的红绿灯提示列表(在路径规划时已生成),提取红绿灯距离引导路径起点的里程属性,根据红绿灯的里程与投影点的里程差值,判断是否已到达红绿灯提示的阈值范围内,若到达,构建红绿灯播报提示文本,并进入第五步;否则直接进入第五步。第五步:获取当前引导路径上的高架桥、深槽路段、立交桥、隧道等提示列表(在路径规划时已生成),提取高架桥、深槽路段、立交桥、隧道等提示距离引导路径起点的里程属性,根据高架桥、深槽路段、立交桥、隧道等提示的里程与投影点的里程差值,判断是否已到达高架桥、深槽路段、立交桥、隧道等提示的阈值范围内,若到达,构建相应的播报提示文本,并进入第六步;否则直接进入第六步。第六步:获取当前引导路径上的终点提示列表(在路径规划时已生成),提取终点提示距离引导路径起点的里程属性,根据终点提示的里程与投影点的里程差值,判断是否已到达终点提示的阈值范围内,若到达,构建终点播报提示文本,并进入第七步;否则直接进入第七步。第七步:判断是否有多条播报提示文本,若有,则进行合并提示文本为一条,并进入第八步,否则直接进入第八步。第八步:判断是否有播报提示文本,若有,通知tts模块进行语音播报,并进入第九步,否则直接进入第九步。第九步:车道级导航其他提示结束,返回。(6)引导进度更新当路径匹配车道成功或地图匹配车道成功时将触发引导进度更新。车辆实时行驶过程中,导航软件根据车辆位置实时更新引导状态信息,如剩余里程、剩余时间等。第一步:计算当前路径匹配车道上的投影点到引导路径起点的里程,进入第二步。第二步:计算当前引导路径的总里程(路径规划时已生成)与投影点的里程的差值,即为剩余里程值,并根据剩余里程值计算剩余时间花费,进入第三步。第三步:获取当前路口的转向类型(当前路口已在车道级导航其他提示触发阶段已生成),并计算路口距离引导路径起始点的里程与投影点的里程的差值,即距离当前路口的里程值。进入第四步。第四步:获取当前匹配车道的道路名和其在引导路径上的下一车道的道路名,即当前道路名和下一道路名。进入第五步。第五步:获取当前路口处的车道信息和路口处的进入车道的序号。进入第六步。第六步:将前五步计算结果通知到导航软件应用上层。完成引导进度更新,返回。(7)实时偏航提示当路径匹配车道失败且地图匹配车道失败时将触发实时偏航提示。实时偏航提示实际是根据高精度定位数据和高精度车道数据,可实时反应、提示偏航。引导模块将直接将真实的定位数据坐标通知给规划模块,由规划模块进行重新设置参数并规划。上述导航提示方法,导航引导逻辑运算的最小单元精确至车道,实现了车道级引导,为用户提供更详尽、准确的引导提示;支持车辆行驶过程中实时变道检测与提示;解决车辆位于路口规划路线错误的问题。相较于现有技术的导航提示方法,本申请的导航提示方法具有以下优点:①车道数据更为全面、详细。现有的导航软件中只是将车道作为道路路段的一个简单属性,在本申请中车道已成为一个可直接用于引导运算的完成结构实体,并更详细描述了车道之间的拓扑关系和关联关系。②数据更为精准。除了定位精度可达厘米级外,车道数据的精度也能达到20cm内,能够准确判断车辆在车道上的位置。③引导准确度更高。高精度的数据和详细的车道拓扑关系和关联关系,可给予用户更为准确的引导提示,在复杂的路面情况也能做出准确、合理的判断。④适用范围更广泛。除了能够应用于普通导航软件所能使用的环境外,在asds(高级辅助驾驶系统)和自动驾驶领域得到很好的应用。在一个实施例中,本申请还提供一种导航设备,包括存储器和处理器,存储器上存储有计算机程序,处理器执行计算机程序时实现上述任意一个实施例中导航提示方法的步骤。在一个实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一个实施例中导航提示方法的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1