基于北斗/GPS双切换的中心导航系统设计

2014-09-06 08:33郑啸天秦贵和董劲男
吉林大学学报(理学版) 2014年5期
关键词:线程北斗客户端

郑啸天,秦贵和,董劲男,,陈 虹

(1. 吉林大学 计算机科学与技术学院,长春 130012; 2. 吉林大学 通信工程学院,长春 130012)

基于北斗/GPS双切换的中心导航系统设计

郑啸天1,秦贵和1,董劲男1,2,陈 虹2

(1. 吉林大学 计算机科学与技术学院,长春 130012; 2. 吉林大学 通信工程学院,长春 130012)

设计一种基于北斗和全球定位系统(global positioning system,GPS)双切换的中心导航系统. 该系统对两种定位模式信号载噪比进行分析,灵活切换定位系统,解决了普通双模定位系统中信号有效性不连续的问题; 并将动态路况信息引入路径规划过程,解决了传统车载导航无法根据实时交通状况进行灵活规划的问题; 制定了车台与中心服务器间简易数据传输协议,简化了传统车服通信协议. 实验结果表明,该切换系统可使卫星数据保持更高的质量并实现了根据交通状况的动态导航.

中心导航; 北斗; 全球定位系统; 电子地图

作为智能交通系统的重要组成部分,车载导航系统应用广泛. 其中车载导航中的中心导航是最适合未来发展方向的导航系统[1],其利用从交管部门获取的实时路况信息动态地更新服务器端的电子地图,克服了传统自主导航技术无法将实时路况融入导航过程、 难以更新车载电子地图的缺陷[2]. 传统自主导航系统为单个车辆设计,因此不利于车队管理和公共交通管理,而拥有全局监控功能的中心导航系统是最佳的解决方案.

车载导航依赖于卫星定位技术,北斗系统是我国自主研发、 独立运行的GNSS(global navigation satellite system),其与目前全球广泛应用的全球定位系统(global positioning system,GPS)空间星座规划几何特性不同[3],因此,在相同情况下,两者的服务质量可能存在差异. 研究表明,当前北斗系统与GPS系统的基本性能指标接近,但在某些情况下北斗系统的观测值质量稍优于GPS观测值质量[4]. 当出现两种定位系统提供的数据和服务质量相差较大时,应具备动态切换功能. 因此,本文提出一种基于北斗/GPS双切换的中心导航系统设计方法. 该系统通过对GPS与北斗卫星信号的实时分析,灵活切换两种定位模式,从而为用户提供准确、 高质量的导航服务.

1 中心导航系统的整体设计

中心导航系统的结构如图1所示. 其中,嵌入式车台通过北斗或GPS卫星获取自身的定位信息,并通过3G无线网络与中心服务器进行通讯,上传自身信息与服务请求,接受中心下发的各项数据. 中心端包括服务器、 数据库和客户端,服务器负责车台用户的身份验证、 路径规划、 电子地图、 协议解析和数据转发等功能; 数据库主要保存车台用户信息、 中心客户端客户信息和电子地图; 而中心客户端完成车台监控和服务器维护等工作.

车台需要完成卫星信号的采集分析、 电子地图的更新存储与绘制显示、 数据的无线传输等功能. 车台根据卫星模块获得当前车辆的定位信息,然后根据用户的选择进行中心导航,即将车辆的定位信息、 目的地信息及相应的参数进行协议封装并通过无线网络上传到中心服务器,当接收到中心下发的部分地图文件和导航路径数据后,车台将可视化地显示定位点的周边地图和规划路径.

中心端由中心服务器、 后台数据库和客户端构成. 中心服务器D-Partner平台完成车台数据包的接收、 协议转换、 数据库操作、 地图下载和路径规划等工作; 车台用户个人信息、 登录口令和系统日志等存储于后台数据库; 客户端使用PC机,与中心服务器通过局域网相连,由中心工作人员进行电子地图更新、 实时路况上传等操作.

1.1中心监控服务

中心监控服务是本系统的核心. 监控服务模块位于中心服务器,连接了车台与客户端,将中心导航的各组成部分组合在一起. 中心监控服务模块框架如图2所示.

图1 中心导航系统结构Fig.1 Structure of central navigation system

图2 中心监控服务模块框架Fig.2 Framework of central supervisory service

该模块具有如下功能: 1) 接收车台通过3G无线通讯网络发送的数据包; 2) 根据协议对车台数据包中的信息进行解释; 3) 将车台数据包中的部分信息按系统内部协议进行打包并发送至客户端; 4) 与客户端进行交互,包括客户端用户身份验证、 车台信息的传送、 服务命令下发、 客户端管理命令及数据处理等; 5) 对数据库进行操作,包括电子地图的存储及更新、 车台信息的存储和客户端用户信息的存储等; 6) 根据车台请求进行路径规划,在客户端修正实时路况权值的基础上,中心服务器根据路网和用户导航类型请求进行最佳路径的计算; 7) 下发电子地图,当车台与中心服务器连接后,电子地图的路网层将被下发至车台,此外,当其他图层发生更新时也可将其下发至车台进行地图同步.

1.2车台管理

车台管理包括车台通讯和车台服务. 车台通讯使用SOCKET网络编程完成车台与服务器的无线网络连接.

本文设计的系统在车服连接部分使用线程池技术. 线程池技术可显著减少线程动态创建和销毁次数,从而降低服务器在维护线程上的开销[5]. 车台与服务器间的通讯由线程池和一个服务线程构成,服务线程是对用户请求进行处理的工作线程. 先创建若干数量的线程QThread,并使其处于就绪状态,当用户有连接请求时,线程池管理ThreadPoolManager将发射信号do_task( ),而信号与线程QThread的槽函数process( )连接,将任务转入线程中执行. 任务执行完,该线程再回到就绪状态. 为防止所有线程都被占用而出现拒绝服务的情况,线程池管理在线程未使用完时就进行预创建工作.

车台服务是车台管理中对用户请求进行响应或根据客户端命令对车台操作的直接执行者. 车台服务需要在中心服务器与车台连接时对传输的数据包进行协议解析,并根据其中的SIM卡号验证车台用户的有效性. 服务器可对车台存储的部分电子地图进行更新,在车台用户提出导航请求后,该服务将根据路网及路况进行路径规划并将规划的线路及地图道路网文件下发至车台.

1.3车服间通讯协议

图3 车服通讯协议格式Fig.3 Format of vehicle-server communication

车服间通讯协议是车台与中心服务器间的数据传输协议,车台将请求服务消息按协议规范进行封装,再通过无线网络传送到中心服务器,中心服务器的协议解析模块将接收的消息报文进行分析,根据车台请求再转向各类服务模块. 服务器向车台发送的各类命令同样需要按照协议规范进行封装. 协议格式如图3所示.

中心导航中车台与服务器间使用最频繁的是定位信息消息和导航消息. 本文将定位消息和导航请求消息合并为一条报文,该报文消息的参数如图4所示,其中: 前5个字段分别是车台根据卫星信号接收模块获得的当前定位信息; 导航掩码字段是根据车台用户的选择,如是否导航及规避什么样的道路类型等产生的数据; 协议解析模块通过对导航掩码的分析可将此条消息归类并处理; 当产生导航请求时,掩码后的两个字段即为目的地经纬度信息. 服务器完成路径规划后产生的路线会以路段和拐点作为线路的标识,路径规划消息的参数如图5所示.

图4 定位导航消息参数Fig.4 Position-navigation message parameter

图5 导航路径消息参数Fig.5 Navigation-path message parameter

在中心服务器与客户端间的数据传输并不使用协议定义的格式信息. 客户端与服务器同处于一个局域网内,因此它们之间使用文件直传的方式进行数据交换.

2 COMPASS/GPS定位模式切换

2.1卫星定位数据解析

卫星定位模块输出的导航电文符合标准NMEA0183协议,该协议数据由帧头、 数据和结束符组成,根据帧头字段的不同可区分帧的种类[6]. 根据对定位经纬度信息和卫星状态信息等数据的需求,本文使用NMEA0183协议3种类型的帧,其中: 推荐定位信息帧RMC获取经纬度数据和定位状态指示符STATE; 当前卫星信息帧GSA获取参与解算卫星号SAT_ID; 可见卫星信息帧GSV获取可见空域内所有卫星号SAT_ID、 仰角EI和载噪比C_No. 卫星定位通常至少需要4颗卫星存在时,才能计算出有效的定位点数据[7]. 因此,可根据定位状态指示符STATE是否等于字符‘A’判断获得经纬度数据的有效性. 北斗卫星发出的导航电文帧与GPS卫星发出的帧在数据上通过卫星号甄别,GPS卫星的ID区间为1~32,北斗卫星的ID为101~115,处理流程如图6所示.

2.2COMPASS/GPS定位模式切换

定位模式的切换即选择北斗定位还是GPS定位. 当出现某种定位系统法再提供有效定位数据时,应考虑切换到另一种定位系统. 切换的常用方法是根据推荐定位信息帧RMC中的定位状态指示符STATE判定当前定位是否有效,如果无效,即STATE=‘V’,则将切换到另一定位系统中. 这种方法只有在某一定位系统失灵时才进行被动切换,而在该系统即将失效的时间段Δt内,定位的精度必然降低,因此,本文提出一种通过综合北斗和GPS卫星的可见星数量、 卫星信号载噪比、 卫星仰角和历史趋势分析的双模切换方法,其流程如图7所示.

图6 卫星导航电文处理流程Fig.6 Satellite navigation message processing

图7 定位系统切换流程Fig.7 Position system switch processing

本文切换方法首先采集一次定位中产生的所有GSV帧,将该数据帧中可见空域内所有卫星的卫星号SAT_ID、 仰角EI和载噪比C_No根据ID值的不同分别存入B_VECTOR和G_VECTOR两个向量中. 由于C_No越大,表明该卫星的信号强度越大; 而EI越大表明信号的质量越好,因此根据C_No和EI值选出向量中前4个卫星,并计算这4个卫星的平均载噪比gps_avg4和bd_avg4.

考虑到某一时刻可能发生信号的抖动,因此对载噪比进行累加求均值,将一段时间内的数据进行综合考虑,最后形成该种定位系统的信号参数gps_sum和bd_sum,计算方法如下:

在参考信号历史数据的情况下,引入本段时间的信号参数和上一时段的参数进行比对,产生信号趋势标志flag,用于说明该种定位系统信号强度的趋势. 参数计算完后便进入切换判定阶段: 情况1) 若|gps_sum-bd_sum|≤ε,则根据趋势标志flag的大小判定应选择的定位系统,若两种定位方式的信号趋势一致,则选择参数较大的一方; 情况2): 两类参数差值较大,则直接选择参数大的一方. 本文切换方式通过对卫星参数的分析可优化选择定位系统,并缩短低质量数据接收的时间.

3 路径规划

在路径规划中,常用的算法有蚁群算法、 A*算法、 Dijkstra算法、 Fallback算法和Floyd算法等[8]. 其中: 蚁群算法易于实现,但计算量大、 易陷入局部最优解[9]; A*算法鲁棒性好、 但有节点限制问题[10]; Fallback算法主要应用于多QoS要求的路由选择[11]; Floyd算法时间复杂度高,不适合计算大量数据[12]. 本文使用直线优化的Dijkstra算法作为路径规划的基础,根据用户设定的导航掩码和实际路况进行导航路径规划.

为配合路径规划算法,先要将路网进行有效地数据存储和拓扑建立. 本文使用邻接表的方式存储路网信息. 表头Head保存各段路径的端点信息,边链表节点Item保存该路径端点所直接相邻的其他端点信息. Item结构中使用value变量保存表头Head端点到Item端点间的距离,初始化时value=Length(路径的直线距离),在客户端对路况信息进行汇总,并根据道路拥堵级别进行判定后将value变量进行加权处理. 直线优化的Dijkstra算法将两点间直线距离J(u0,v)作为选取合适顶点进入集合S的判定条件之一[13]. 集合T中的顶点加入集合S的规则改进为: 在集合T中找到一顶点ui,从u0经过ui到v0距离的下限满足最小值.

导航掩码是车辆用户在选择路径类型时产生的,电子地图是分层组织的,不同类别的道路数据分别存储于不同的地图层. 道路共分为highway,mroad,sroad,mstreet,ostreet,sstreet 6种,导航掩码MASK共8位,设计为: [0,0,highway,mroad,sroad,mstreet,ostreet,sstreet]. 当用户选择可以行驶某一类型道路时,该道路所在位置1,否则置0. 在路径规划遍历路段的过程中,使用MASK和节点Item的道路类型road_type进行‘与’操作,若是0,则放弃该路段,否则进行计算.

4 实验系统与结果分析

4.1实验环境

根据上述中心导航系统模型,在基于S3C6410平台的嵌入式Linux环境下使用Qt/Embedded开发车台,并在D-Partner平台上开发了中心监控端,对基于北斗/GPS双切换的中心导航系统进行原型系统的实现; 电子地图数据选取长春市区及郊区的地图数据; 路网数据由人为采集,包括长春市高新技术开发区大部分区域.

4.2结果分析

在测试实验中,使用本文提出的定位系统切换方法可较好地适应两种定位模式下卫星信号的抖动,图8和图9显示了两个系统卫星部分信号数据的采集分析和定位状态判定.

图8 两定位系统均有效时的信号分析Fig.8 Analysis of satellite signal duringboth positioning system success

图9 两定位系统均失效时的信号分析Fig.9 Analysis of satellite signal during bothpositioning system failure

由图8可见,在两个系统都有效、 北斗系统信号强度持续降低的情况下,系统在其定位失效前切换到了GPS,保证了服务的连续性. 由图9可见,在两种系统都失效的情况下,切换模块始终选择信号能量累计均值较大的一方,避免了频繁在两种系统中的切换操作. 由于采用能量累计均值作为切换的依据,当信号出现抖动时可较好地保持定位系统稳定. 本切换方法始终能将信号能量最强、 潜力大的定位系统作为导航数据的提供方,保证了数据和服务质量.

中心导航的路径规划测试结果如图10和图11所示. 由图10可见,客户端用户根据网络发布的实时交通路况信息将路段135~134和134~133设置为严重拥堵,级别DISASTER,路段135~10为中度拥堵,级别HEAVLIY,在路径规划时,系统考虑了拥堵路段的权值并再次计算出一条最佳路径. 车台显示结果如图11所示. 测试结果表明本文设计的中心导航系统达到了导航预期目标.

图11 车台显示Fig.11 Display of vehicle terminal

图10 客户端显示Fig.10 Display of client terminal

[1]张春辉. 基于IPv6的中心导航关键技术研究与实现 [D]. 长春: 吉林大学,2010. (ZHANG Chunhui. IPv6-Based Technology Research and Implementation of Central Navigation [D]. Changchun: Jilin University,2010.)

[2]郑悦. 基于中心导航的诱导技术研究与实现 [D]. 长春: 吉林大学,2012. (ZHENG Yue. The Research and Implementation of Guidance Technology Based on Central Navigation System [D]. Changchun: Jilin University,2012.)

[3]高星伟,过静珺,程鹏飞,等. 基于时空系统统一的北斗与GPS融合定位 [J]. 测绘学报,2012,41(5): 743-748. (GAO Xingwei,GUO Jingjun,CHENG Pengfei,et al. Fusion Position of Compass/GPS Based on Spatio Temporal System Unification [J]. Acta Geodaeticaet Cartographica Sinica,2012,41(5): 743-748.)

[4]张小红,丁乐乐. 北斗二代观测值质量分析及随机模型精化 [J]. 武汉大学学报: 信息科学版,2013,38(7): 832-836. (ZHANG Xiaohong,DING Lele. Quality Analysis of the Second Generation Compass Observables and Stochastic Model Refining [J]. Geomatics and Information Science of Wuhan University,2013,38(7): 832-836.)

[5]王堃,于悦,张玉华,等. 面向物联网应用平台的Socket设计与优化 [J]. 吉林大学学报: 工学版,2012,42(增刊1): 290-294. (WANG Kun,YU Yue,ZHANG Yuhua,et al. IOT Platform-Oriented Socket Design and Optimization [J]. Journal of Jilin University: Engineering and Technology Edition,2012,42(Suppl 1): 290-294.)

[6]戚淑芬,李明,李利洁,等. 嵌入式GPS数据采集系统的设计与实现 [J]. 仪器仪表学报,2006,27(6): 127-129. (QI Shufen,LI Ming,LI Lijie,et al. Design and Realization of GPS Data Acquisition System Based on Embeded System [J]. Chinese Journal of Scientific Instrument,2006,27(6): 127-129.)

[7]张永强,张永健. 嵌入式GPS/GPRS车载定位技术研究 [J]. 仪器仪表报,2007,28(4): 291-294. (ZHANG Yongqiang,ZHANG Yongjian. Research on Embedded GPS/GPRS Vehicle Location Technique [J]. Chinese Journal of Scientific Instrument,2007,28(4): 291-294.)

[8]张广林,胡小梅,柴剑飞,等. 路径规划算法及其应用综述 [J]. 现代机械,2011(5): 85-90. (ZHANG Guanglin,HU Xiaomei,CHAI Jianfei,et al. Summary of Path Planning Algorithm and Its Application [J]. Modern Machinery,2011(5): 85-90.)

[9]董金明. 基于蚁群算法的路径规划研究 [D]. 西安: 陕西师范大学,2009. (DONG Jinming. Based on Ant Colony Algorithm for Path Planning Research [D]. Xi’an: Shaanxi Normal University,2009.)

[10]李季,孙秀霞. 基于改进A-Star算法的无人机航迹规划算法研究 [J]. 兵工学报,2008,29(7): 788-792. (LI Ji,SUN Xiuxia. A Route Planning’s Method for Unmanned Aerial Vehicles Based on Improved A-Star Algorithm [J]. Acta Armamentarii,2008,29(7): 788-792.)

[11]杨云,徐永红,曹立鑫,等. 基于Dijkstra策略的多QoS路由算法Fallback+[J]. 计算机工程,2003,29(18): 20-22. (YANG Yun,XU Yonghong,CAO Lixin,et al. Multiple QoS Route-Control Fallback+Based on Dijkstra Strategy [J]. Computer Engineering,2003,29(18): 20-22.)

[12]石为人,王楷. 基于Floyd算法的移动机器人最短路径规划研究 [J]. 仪器仪表学报,2009,30(10): 2088-2092. (SHI Weiren,WANG Kai. Floyd Algorithm for the Shortest Path Planning of Mobile Robot [J]. Chinese Journal of Scientific Instrument,2009,30(10): 2088-2092.)

[13]鲍培明. 距离寻优中Dijkstra算法的优化 [J]. 计算机研究与发展,2001,38(3): 307-311. (BAO Peiming. An Optimization Algorithm Based on Dijkstra’s Algorithm in Search of Shortcut [J]. Journal of Computer Research and Development,2001,38(3): 307-311.)

(责任编辑: 韩 啸)

DesignofCentralNavigationSystemBasedonCOMPASS/GPSDualSwitch

ZHENG Xiaotian1,QIN Guihe1,DONG Jinnan1,2,CHEN Hong2
(1.CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012,China;
2.CollegeofCommunicationEngineering,JilinUnivgersity,Changchun130012,China)

The authors proposed a new central navigation system based on switching between COMPASS and global positioning system (GPS). After analyzing the signal carrier to noise ratio of the two positioning modes,the system achieved dual mode switch and solved signal incontinuous problem in the general dual-mode positioning system. Also the dynamic traffic information has been introduced into the process of routing planning,which helps to solve the problem that traditional vehicle navigation system can not provide flexible routing planning based on real-time traffic condition. This paper formulates simple data transfer protocol between vehicle and server,which simplifies the general protocol between them. Experimental results show that this system can maintain a higher quality of satellite data and has achieved the goal of the dynamic navigation based on traffic situation.

central navigation; COMPASS; global positioning system (GPS); electronic map

2013-10-21.

郑啸天(1990—),男,汉族,硕士研究生,从事智能控制与嵌入式系统的研究,E-mail: zxtstar43@163.com. 通信作者: 董劲男(1980—),男,汉族,博士,讲师,从事网络控制的研究,E-mail: dongjinnan@jlu.edu.cn.

国家自然科学基金(批准号: 61034001).

TP399

A

1671-5489(2014)05-0989-06

猜你喜欢
线程北斗客户端
北斗时钟盘
基于国产化环境的线程池模型研究与实现
“北斗”离我们有多远
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
浅谈linux多线程协作
首个北斗全球“厘米级”定位系统开建
中国的北斗 世界的北斗
客户端空间数据缓存策略