Realization of voice route guidance module of vehicle navigation system
-
摘要: 研究了路径引导模块在车辆导航系统中与其他模块的关系, 以及语音路径引导功能的主要优点, 设计了一种应用GIS为基础数据平台, 结合路径规划模块以及定位模块的算法步骤, 给出了行驶指令的生成、规划路径的跟踪与发声条件判断以及声频引导信息的生成三大关键子模块的实现方法。实际使用结果表明, 该模块生成的声频引导信息准确及时, 达到了设计目的。Abstract: This paper studied the relation between route guidance module and other modules in vehicle navigation system. The advantages of voice route guidance function were presented. The main algorithm steps based on GIS were developed, with the route planning module and the positioning module, the methods to realize three key sub-modules: generation of driving instruction, planned route track and generation of voice guidance information were discussed. Its application results show that the module can accuraely generate voice guidance information.
-
Key words:
- ITS /
- voice route guidance /
- vehicle navigation system /
- navigation instruction
-
路径引导是指挥驾驶员沿着由路径规划模块计算出的路线行驶的过程[1]。路径引导模块既涉及后台数据处理, 又涉及前台人机交互, 在车辆导航系统中与其他各模块的具体关系见图 1。路径引导的过程可在旅行前或在途中实时进行。本文研究的是途中以实时方式进行的路径引导, 也就是为驾驶员提供实时的依次转向行驶指令。
路径引导提供给驾驶员的引导信息的表现形式是多种多样的, 一般分为语音引导信息和可视引导信息。与其他形式的引导信息相比, 在车辆导航中, 语音引导信息的优点为[2]: 首先, 由于驾驶员在驾驶过程中完成多项操作任务的能力是有限的, 使用语音引导信息可以使驾驶员集中注意力于驾驶上, 而无须分神在显示屏中搜索引导信息; 其次, 由于车内空间有限, 车载计算机的显示屏幕一般比较小, 使用语音引导信息可以节约屏幕显示空间; 再次, 语音引导信息非常直观易用, 为用户(驾驶员)提供了良好的人机界面, 减轻驾驶员在学习使用车载导航设备与系统的负担。目前计算机语音模拟与识别技术比较成熟, 完全可以应用于人们的实际生活中。
车载导航系统的研究与开发在美国和日本开展较早, 其中语音路径引导技术从一开始就得到了广泛的重视。在1992年3月到1993年3月, 美国对其车载导航系统TravTek进行测试, 测试结果表明: 大部分驾驶员在驾驶过程中更倾向于使用具有语音路径引导的导航系统[3]。在日本进行的车载导航系统的研究也表明, 语音路径引导可以减少50%~70%驾驶员注视导航显示屏的时间[4]。近年来, 国外已经开发出了具有语音路径引导功能的车载导航产品, 并投入了市场。
与国外相比, 由于中国对车载导航系统的研究工作起步较晚, 因此系统中的某些功能, 特别是语音路径引导功能, 还处于原型构建阶段。
1. 语音路径引导模块实现步骤
通过前面对语音路径引导模块在车辆导航系统中的功能以及与其他各模块之间关系的分析, 给出了一种以GIS平台为基础, 结合路径规划模块以及定位模块的算法步骤(其中包含三个关键子模块: 行驶指令的生成、规划路径的跟踪与发声条件判断)以及在符合条件情况下, 为用户提供声频引导信息。语音路径引导模块实现的算法步骤描述如下。
(1) 根据基础地理数据库以及路径规划模块生成的最优路径, 生成行驶指令列表。生成的行驶指令数为n, 初始化工作计数器I=1。
(2) 提取第I条行驶指令, 若I>n, 则引导结束; 否则, 执行第(3)步。
(3) 定时跟踪车辆当前位置。
(4) 判断当前位置是否符合发声条件, 如符合则执行第(5)步; 否则, 执行第(3)步。
(5) 根据行驶指令进行发声, 工作计数器I=I+1, 转去执行第(2)步。
2. 关键子模块的实现
2.1 行驶指令的生成
如图 2所示, 假设根据路径规划的结果, 车辆先沿路径AB向B方向行驶, 并且在B路口选择BD路径继续行驶, 那么车辆在B路口该如何进行语音导航呢?本文将这个问题分成两步来分析。
首先计算车辆拐弯角度, 为了以后讨论行驶指令的方便, 将这个角度定义为: 车辆正在行驶路段顺时针旋转到下一路段的角度, 见图 3。这里假设与AB路径直接相邻的路段有BC和BD两条, 令∠ABC为θ1, 而∠ABD为θ2。θ2为图中所示的顺时针的角度, 而不是AB和BD的夹角。
现在以θ1为例, 说明角度的计算方法。先求出两条直线的夹角
为了将夹角转换为顺时针角度, 先将坐标原点o平移到B点, 此时的坐标系为x'By', 然后将坐标轴x'逆时针旋转到AB路径, 此时坐标系为x"By", 旋转角度为
代入坐标旋转公式可得到D点在x"By"坐标系下的纵坐标为
如果它大于0, 则θ1=2π-θ; 如果小于0, 那么θ1=θ。
值得说明的是, 在路口B分岔也可能是十字路口, 也可能有很多交叉路口, 更可能有高速入口、天桥等。另外如果采用的是分层地图数据库, 在计算行驶指令时, 最好使用最底层的详细路段数据[1]。
然后再分析第一步计算出来的角度和语音导航指令的关系。目前普遍的做法有二种, 一种是不考虑路口的形状, 直接考虑角度[1], 其关系直接见表 1; 另外一种做法是考虑路口形状。对于各种路口都对应着一个行驶指令, 比如对于十字路口, 就不存在偏左和偏右的概念, 而对于“
表 1 不考虑路口形状的角度和语音导航指令关系Table 1. Relation between navigation instruction and turning angle without regard to intersection shape表 2 考虑路口形状的角度和语音导航指令关系Table 2. Relation between navigation instruction and turning angle with regard to intersection shape在系统设计中采用了第一种做法, 因为它简单易行, 适合于各种路口形状, 也可以满足实际需求。而第二种做法虽然更符合一般情况, 但是它要考虑复杂的路口形状, 相对来说实现起来比较困难。
2.2 规划路径的跟踪与发声条件判断
规划路径的跟踪就是在车辆行驶过程中, 不断地把当前车辆的位置信息与规划的路径作比较。其中, 车辆当前的位置信息可以由定位子模块获得, 而规划的路径则是通过路径规划子模块计算得出。通过对比当前车辆位置信息与规划的路径的节点信息, 结合相应节点的发声规则[5], 就可以判断是否符合相应节点的发声条件。对于不同的节点的发声规则可以是不相同的。对于城市道路的普通路口, 通常在进入前300 m发出语音引导信息; 对于立交路口, 通常在进入前500 m发出语音引导信息; 对于某些特定的路口, 发出语音引导信息提前的距离还需要根据实际情况确定。发声规则可以作为路网节点的属性信息存放于路网数据库中。
在具体的程序实现中, 规划路径的跟踪与发声条件判断可以放在一个定时器循环中, 流程见图 3。
图 3中, n为行驶指令数, 判断发声条件的函数Rvoice()的输入参数为车辆的当前位置CPosition和行驶指令计数器I, 该子函数通过行驶指令计数器取得规划路径中相应的节点位置信息, 并根据相应的发声规则进行判断, 当符合发声条件时返回真, 否则, 返回的结果为假。
2.3 声频引导信息的生成
声频引导信息是根据行驶指令生成的导航语音, 是语音路径引导模块中涉及人机接口的部分, 这一部分直接影响到用户(驾驶员)对整个语音引导模块的印象以及实际使用效果, 因此, 语音信息必须满足: 内容简单明确, 发音清晰准确, 发声及时到位。
SpeechSDK是一款专门针对Windows平台的语音软件开发工具, 并提供了相应的语言包(Language Pack), 也就是说, 只要安装了中文的语言包就可以使用SpeechSDK5.1开发出支持中文语音的软件。SpeechSDK的使用十分灵活, 其核心SA-PI5.1支持OLE自动化, 也就是说不仅可以使用C/C++进行开发, 也可以使用各种支持OLE自动化快速开发工具进行开发, 如: VB、Dephi、C#等。本文在语音引导模块的具体开发过程中, 使用VB作为开发工具, 以SpeechSDK5.1为语音引擎, 取得了很好的实际开发与应用效果。
3. 开发实例
基于上述算法步骤与各关键子模块的具体实现技术, 本文完成了语音路径引导模块的开发, 并将之加入到已有的车辆导航系统中。图 4为广州思伟达科技有限公司的车辆语音导航系统的软件界面。图中显示的是广州市部分地区的电子地图, 实例中演示了系统为用户从“中山大学”至“天河购书中心”提供的语音导航。图中深色折线段表示源点与目标点之间的规划路径, 黑色实心点表示规划路径的起始点以及其中经过的路口。导航系统按照预先定义好的发声规则, 在车辆到达下一个路口之前为用户提供相应的声频引导信息。由于导航系统采用了分层的地图数据储存, 行驶指令模块中使用了其中最底层的路段数据进行计算, 因此, 在实际使用中, 生成的引导指令十分准确。配合导航系统的GPS定位模块, 声频引导信息也能及时到位地生成。经过实际测试, 该语音路径引导模块已基本能满足车载语音导航系统的功能需要。
4. 结语
车辆导航系统是一个复杂庞大的系统, 语音路径引导模块是车辆导航系统的关键模块。本文设计的语音路径引导模块主算法以及各关键子模块, 实现了语音路径引导的基本功能, 在实际的应用中取得了良好的效果。对功能更强大的语音路径引导系统(如具有动态语音路径引导以及偏离路径引导等功能)的研究, 也可以以本文实现的语音路径引导模块为基础。
-
表 1 不考虑路口形状的角度和语音导航指令关系
Table 1. Relation between navigation instruction and turning angle without regard to intersection shape
表 2 考虑路口形状的角度和语音导航指令关系
Table 2. Relation between navigation instruction and turning angle with regard to intersection shape
-
[1] 赵亦林, 谭国真. 车辆定位与导航系统[M]. 北京: 电子工业出版社, 1999. [2] Reddy P D V G, Kitamura R, Jovanis P P. Voice operated in-formation system(VOIS) for driver's route guidance[J]. Math-ematical and Computer Modeling, 1995, 22(4): 269-278. [3] Fleischman R N, Thelen L A, Dennard D. A preliminary accou-nt of TravTek route guidance use by rental and local drivers[A]. 1993 Vehicle Navigation and Information Systems Con-ference[C]. Published by IEEE, 1993. [4] Sakaguchi Y, Nakano T, Yamamoto S. Development of non-contact gaze detecting system and its applications to gaze dura-tion measurement of on-board display[A]. 1996 IEEE Intelli-gent Vehicles Symposium[C]. Published by IEEE, 1996. [5] Green P, Levison W, Paelke G, et al. Preliminary human factors design guidelines for driver information systems[R]. Ann Ar-bor, MI: The University of Michigan, Transportation Research Institute, Technical Report No. UMTRI-93-21, 1993. -