嵌入式GPS导航技术 英文文献翻译
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Research on key technologies of embedded GPS navigation
Embedded GPS navigation, based on embedded platform technology, through GPS and GIS and combined with handheld devices, achieves target location, path calculation, route guidance and surrounding search functions of mobile users. This paper, Symbian OS mobile phones as the terminal, background Linux servers providing the mapping service, path calculation, route guidance, networking search, location query and other functions, using GPRS, WIFI and other wireless communication modes, achieves navigation services provided by professional navigation mobile phones on light weight thin-client, and, at the same time, takes advantage of mobile phone communication to achieve a certain degree of user interaction. Thus, based on the user interface on Symbian platform, GPS, data persistence layer, audio and network programming, an overall solution is proposed and the corresponding key technologies involved are discussed.
With the development of 3G technology, the improvement of wireless network coverage, the embedded navigation of mobile phones, because of its good portability, low price, always online and more flexible ways to obtain such services, is more and more concerned about. However, due to wide sorts of mobile phones for different platforms, corresponding software needs to be developed, and therefore a suitable embedded operating system needs to be selected. Currently on the market there are more than 40 common embedded operating systems, including Linux, Windows CE, Symbian, etc. These embedded systems have different characteristics, and there into Symbian system, developed by Nokia, because of its large user base and good network functions is a successful one. This paper realizes the Symbian-based GPS navigation system. It involves techniques which can be divided into: server-side technology and client-side technology. Client-side technology is mainly related to Symbian programming, GPS module processing, network communication etc; server technology mainly involves Web server technology, database access, and geographic information system technology. After server technology roughly introduced, this paper, mainly aiming at client-side technologies, discusses various technologies involved when building mobile phone GPS navigation software with the C/S structure.
In order to improve the user experience, it is necessary to convert the operations of high-latency and high memory requirements to the service side. Due to Linux's open
source and stability, this paper adopts Linux as the terminal server, uses Apache to build web services, and makes modular map services, POI queries, path calculation\guidance services, and built-in sub-services for the Apache. It shows the General framework of the embedded GPS navigation. Taking into account the mass characteristics of map data, tore duce real-time map data downloads when browsing the map, hierarchical block strategy about map data will be introduced in detail hereafter. Path calculation, as the core of GPS navigation services, supported by navigation data, adopts a dual-side A-Star algorithm to realize optimal path supporting the three kinds of calculation methods of the least time, the shortest distance and less fee. Route guidance, based on path calculation module, analyzes the best sections of the calculated path and the node attributes, dynamically calculates the junction point in need of guidance information, loads on the display points of path calculation by index technology of matching, transfers to the client through the appropriate protocols, and consequently achieve navigation guidance. POI query service is based on full-text retrieval technology. A key technology of full-text Retrieval System to establish the inverted file of location index for each word in the article. Inverted index approach can not solve the problem about space search. So the approach of inverted index combined with spatial segmentation is introduced. Firstly, using a grid method segments all POI information according to the relationship of spatial location. And then inverted index is built for the POI in the space after segmentation. Open extensible multi-tier architecture, combined with search, index, cache and other key technologies for search services, greatly improve service stability and search efficiency Symbian OS, as a set of 32-bit operating system, with multi-tasking, multi-threaded, low-power, low occupation of memory, etc. is very suitable for mobile communication equipment. It is not difficult to arrive at the following conclusion: In the Symbian client, there are map data mapping, GPS data reception and encryption, path computation and guidance analysis, voice broadcast and other modules. This test system is based on C/S mode, so the network communication module is the core module. Due to the transmission delay of network and unknown transmission errors, etc, multi-threaded scheduling download mechanism is used. And GPS, voice broadcast and some other modules also need an asynchronous implementation, while, other than Windows programs, they use active objects to realize the asynchronous operation instead of the multithreaded model.
HTTP is a basic protocol in Web technologies, which is an application layer protocol, directly using TCP layer to transfer information. The server only needs to accept a request and, according to the user's requests, to send the appropriate file. It is not necessary for the server to record retrieval track so that the number of users supported by a server can
greatly increase. However, there are many shortcomings of HTTP: because of its simplification, a TCP connection needs to be built and at the same time a TCP connection needs to be removed each time a file is passed. Therefore, when you want to send a very small file, it is very uneconomical. In addition, as the server can’t reserve retrieval tracks, the password memory, etc. is a big trouble, resulting in decreased efficiency of the system.
Thus, this test system needs to maintain a long connection, to avoid overhead brought by short Http connection. In the WIFI or mobile CMNET mode, Socket mode is used to realize Http download requests. That is to say, the system will establish a connection with the server, format and send the request header, receive the data returned from the server, split and analyze the response header and receive data. Afterwards through the establishment of a Socket connection pool, after the work thread activated, the system gets the network connections from Socket Connection Pool and then makes network requests. Meanwhile the network connection object will be re-used, that is, it will not to be destroyed after download, but to be used continuously until the connection fails. The re-used Socket connection will be put into Socket connection pool to be managed. For Wap of China Unicom or China Mobile, due to its agents through the gateway, the Socket method can’t be used directly to download, so the Socket analog of Http requests or the simple download, directly using the Http protocol interface are necessary. From multi-task download process, it can be seen that, in the main UI process, when the user operates a request, such as POI search, location queries or path calculation, the UI main thread launches the network request, encapsulate the network task and submit it to the Task Manager. As for the tasks in the queue, the Task Manager requests for idle threads to process from the initialized download thread pool, and at the same time marks the task as being processed, making the main UI in a wait state. If there is an idle thread, the system will activate it and initiate a network connection request. If the data download is complete or the connection is timed out, the system notifies the Task Manager, clears the task from the download queue, and updates the state of the UI main thread. At the same time, the user can manually terminate current download tasks. The test system shows that this process can realize quick downloads and a good user experience.
As for navigation through mobile communication, realtime navigation-related data need to be downloaded to the local. Because wireless communication network bandwidth is limited, in order to improve the response speed of the software to improve the user experience, the local cache technology of communication navigation is produced. Its basic principle is by sacrificing some storage space to maintain a certain priority level of data or information, when the data request is received, firstly check whether the cache can provide
the requested data or information, and if it exists, then it can be fleetly extracted from the cache. In this way, the data need not to be 385 downloaded later so as to improve the speed and to reduce network traffic.
When the client requests for services, the requested data will be organized in the local memory in a certain way, which is actually a policy using storage space to exchange the rate. In the local cache, an index mechanism needs to be established, and then in the next request, starting with query in the local cache, if the requested data can not be found in the local cache, the server will be submitted a request to in succession. Cache is the core of the flow chart, and the manipulation on the cached data must be efficient, so cached data must be effectively organized to be managed. As for GIS web service clients, the most data involved in its request are spatial data, so the data management in the cache can adopts the data organization model consistent with spatial data organization model in the server. That is to say, hierarchical management model is a choice. For different data types different directories can be used. A data type corresponds to a directory, as for the same directory data, and a logical layer in the spatial database is expressed as a logical layer in the cache directory. The cache does not cache all of the layers in the database, but only stores specific areas of data in those layers selected by the user. Management and organization chart of cache data All of the work of cache module is carried out around the cache index, and all cache operations such as query, add, delete, update, etc, are realized through the cache index. In order to query quickly, Index data in the cache are generally built in the form of hash table. Each data object in the cache corresponds to a node in the hash table.
Data updates in the cache are generally because the updates of server-side data cause the original cache data not available. When data are cached in the local, the data version needs to be recorded. But after updates of service-side data, during the cache operation the validity of the data in the cache can be determined, and as to invalid data, they will be removed from the cache and then re-downloaded. It is a flow chart of file data update. When the user requests for data update detection the client sends a request to the server. The Server-side will read and returns the latest timestamp of all files in the cache. The client will determine whether the time stamp of the local file and the returned timestamp is the same, and if they are different the update bit of the file will be modified in the index file. When the file needs to be accessed again, the client will firstly check whether the file exists in the index file and whether the file needs to be updated. And if updates are necessary the server will be requested to download the data once again.
Active object and an event scheduler together provide the non-preemptive
multitasking, which can be used to replace the multi-threading in Symbian OS. Principle and flow of the local cache 386 active object is: compared with the use of threads, it is programming-simple and CPU-efficient.
As the GPS navigation and voice broadcast both need to obtain information in real time and can not affect the operation of UI, the system will respectively establish an activity object for them, bind the object with a certain asynchronous function in the system, and register the activity object in event scheduler, and then the event scheduler will wait for the completion message returned from the asynchronous function. On receipt of the completion message, the scheduler traverses registered activity objects, and if status!= KRequestPending is found, it will find the activity object corresponding to the status the object, call Run function of it and to tell us asynchronous function has been performed in the way of events. The test proves that asynchronous operations are well realized in this way, and better system performance can be achieved.
In this paper, according to the above C/S architecture, through various navigation services deployed in the background Linux servers and combined with the three strategies of the client, a test system is established in Nokia 5800 mobile phone, and through GPRS/WIFI and server [6], the information returned from the server is parsed as the appropriate customer requested information. The test shows that the average delay of path calculation is about 3-10s, and as for POI queries, etc, due to the optimized number of results, the transmission delay is roughly 1-3s. According to the number of blocks in a screen, a map is downloaded with an average size of no more than 10k after Gzip compression. Through the pre-download mechanism, real-time download of lots of data is well avoided, and smoothly dragging and download and display of map data are realized. Running effect of the test system is shown in Figure 6.
Navigation, as a major hot spot application in the IT industry, due to the rapid development of hardware and software technology in recent years, has been remarkably progressing and gradually transiting from the traditional local car navigation to the handheld communication navigation and three-dimensional navigation. Especially with the maturity of SOA technology, services as one of the major trends in IT industry, various industries are making traditional applications service-oriented, thereby providing more comprehensive and personalized user experience. In this paper, through a preliminary overview of key technologies of the embedded GPS navigation, on this basis, a prototype system is developed and tested to verify the correctness and feasibility of the idea.
研究嵌入式GPS导航的关键技术
嵌入式GPS导航,基于嵌入式平台技术,通过GPS和GIS相结合,与手持设备,达到目标位置、路径计算、路径引导和周围环境的搜索功能。
本文,塞班操作系统手机的终端、背景Linux服务器提供映射服务,路径计算、路线引导,网络搜索,位置查询等功能,利用GPRS,WIFI和其他无线通信方式,实现导航所提供的服务的专业导航手机轻量级的客户机,同时,利用移动电话通信实现一定程度的用户交互。
因此,基于用户界面在塞班平台、GPS、数据持久化层、音频和网络编程,一个整体的解决方案,提出了相应的关键技术进行了讨论。
随着3 g技术的进步,提高无线网络覆盖,嵌入式导航的手机,因其良好的可移植性,低价格、永远在线、更灵活的方式来获得这样的服务,是越来越多的关注。
然而,由于广泛的各种针对不同平台的手机,需要开发相应的软件,因此一个合适的嵌入式操作系统需要选择。
目前市场上有超过40个常见嵌入式操作系统,包括Linux ,Windows CE、塞班等。
这些嵌入式系统有不同的特征,其中塞班系统,开发了诺基亚,因为其庞大的用户基础和良好的网络函数是非常成功的。
本文实现了塞班GPS导航系统。
它涉及技术可以分为:服务器技术和客户端技术。
客户端技术是主要涉及塞班编程、GPS模块处理、网络通信等;服务器技术主要包括网络服务器技术、数据库访问、和地理信息系统技术。
在服务器技术大致介绍,本文主要针对客户端技术,讨论了各种技术涉及在构建手机GPS导航软件与C / S结构。
为了改善用户体验,这是必要的转换的操作和高内存操作需求到服务端。
由于Linux的开源和稳定性,本文采用Linux作为终端服务器,使用Apache来构建web服务,并使模块化的地图服务、芋泥查询、路径计算\指导服务,对于Apache和内置的附加服务。
图1显示通用框架的嵌入式GPS导航。
考虑到质量特征的地图数据,减少实时地图数据下载当浏览地图,分级块策略对地图数据详细介绍了以后。
路径计算,为核心的GPS导航服务,支持导航数据,采用双侧a *算法实现最优路径支持三种计算方法最少的时间,最短的距离和更少的费用。
路径诱导,基于路径计算模块,分析了最好的部分计算出的路径和节点属性,动态计算结点需要指导信息,显示屏上的加载点的路径计算的
指数技术的匹配,转移到客户端通过适当的协议,从而实现导航指导。
芋泥查询服务是基于全文检索技术。
一个全文数据库检索系统的关键技术是建立倒排文件的位置指数对于每个词在文章中。
反向索引方法不能解决问题关于空间搜索。
所以这种方法结合空间分割介绍。
首先,使用网格法段都POI信息根据空间位置的关系。
然后反向索引是建立在空间的山芋之后分割。
开放的可扩展的多层体系结构,结合搜索、索引、缓存和其他关键技术搜索服务,大大提高服务。
塞班操作系统,一套32位操作系统,多任务,多线程,低功耗,低占领内存等,非常适合于移动通信设备。
不难到达以下结论:
在塞班客户端,有地图数据映射、GPS数据接收和加密,路径计算和指导分析、语音广播和其他模块。
这测试系统是基于C / S模式,所以网络通信模块是核心模块。
由于传输延迟的网络和未知的传输错误等,多线程调度下载机制使用。
和GPS、语音广播和一些其他模块也需要异步执行,同时,除了Windows程序,他们使用活动对象实现异步操作而不是多线程模型。
HTTP是一个基本的协议在网络技术,这是一个应用程序层协议,直接使用TCP层传输信息。
服务器只需要接受请求,根据用户的请求,发送适当的文件。
没有必要为服务器记录检索跟踪,以便支持的用户数量一个服务器可以大大增加。
然而,有许多缺点的HTTP:因为它的简单化,TCP连接需要构建和在同一时间一个TCP连接需要删除每次文件被传递。
因此,当你想把一个非常小的文件,它是非常不经济的。
此外,由于服务器不能储备检索跟踪,密码记忆等等,是一个大麻烦,从而降低了系统的效率。
因此,该测试系统需要维护一个长连接,以避免带来的开销短Http连接。
在无线或移动CMNET 模式,插座模式是用来实现Http下载请求。
这是说,该系统将建立与服务器的连接,格式和发送请求头,接收返回的数据从服务器,分离和分析响应头和接收数据。
后来通过建立一个套接字连接池,在工作线程激活,系统获取网络连接的套接字连接池,然后使网络请求。
与此同时,网络连接对象将被重用,也就是说,它不会被摧毁,但要下载后继续使用直到连接失败。
这些重复使用套接字连接将被放入套筒连接池来被管理。
对Wap 的中国联通还是中国移动,由于其代理通过网关,该套接字的方法不能直接用来下载,所以插座模拟的Http请求或简单的下载,直接使用Http协议接口是必要的。
从多任务下载过程中,它可以见过,在主UI过程,当用户运行一个请求,如山芋搜索、位置查询或路径计算,UI线程启动网络的主要要求,封装网络任务,并提交任务管理。
至于任务队列,任务管理器空闲的线程来处理请求,从初始化下载线程池,同时标志着任务正在处理,使主UI在等待状态。
如果有是一个空闲的线程,系统将启动它,发起网络连接请求。
如果数据下载完成或者连接超时,系统通知任务管理器,清除任务从下载队列,并更新状态的UI主线程。
与此同时,用户可以手动终止当前的下载任务。
这个测试表明,系统能够实现这个过程快下载和一个良好的用户体验。
至于导航通过移动通信,实时导航相关数据需要被下载到当地。
因为无线通信网络带宽是有限的,为了提高响应速度的软件来改善用户体验,本地缓存通信导航技术生产。
它的基本原则是:通过牺牲一些存储空间来维持一定的优先级的数据或信息,当收到请求的数据,首先检查缓存是否可以提供所请求的数据或信息,如果它存在,那么它可以快速地提取从缓存中。
通过这种方式,不需要的数据下载后,以提高速度和减少网络流量。
当客户端请求服务,请求的数据将组织在本地内存中一个特定的方式,这实际上是一个政策使用存储空间来交换这个速度。
在本地缓存中,索引机制的需要建立,然后在接下来的请求,从查询在本地缓存中,如果请求的数据不能被发现本地缓存,服务器将提交一个请求在演替。
活动对象和事件调度程序一起提供对其采用非中断的多任务处理,可以用来取代在塞班操作系统的多线程。
原理和流的本地缓存。
活动对象:与使用线程,它是编程简单和CPU效率。
随着GPS导航和语音广播都需要实时获取信息并不能影响操作的界面,系统将分别建立活动对象,对象绑定到一个特定的异步函数在系统,注册这个活动对象在事件调度器,然后事件调度器将等待完成消息返回异步函数。
在收到竣工消息,调度程序遍历注册活动对象,如果状态!= KRequestPending找到,它就会发现活动对象对应于状态对象,调用Run函数,来告诉我们异步函数已经被执行的事件。
测试证明,异步操作都意识到在这种方式,和可以实现更好的系统性能。
在本文中,根据上面的C / S架构,通过各种导航部署的服务背景Linux服务器,结合三个策略的客户端,一个测试系统是建立在诺基亚5800手机,并通过GPRS / WIFI 和服务器通信,从服务器返回的信息解析与适当的客户请求的信息。
测试表明,平均延迟路径的计算关于3-10s,至于芋泥查询等,由于优化数量的结果,大概是1-3s传输延迟。
据块的数量在一个屏幕,一个地图下载的平均大小不超过10 k后压缩。
通过预下载机制,实时下载大量数据是好。
导航,作为一个主要的热点应用它行业,由于硬件的快速发展,软件技术近年来取得了显著的进步,逐步从传统的凌日当地的汽车导航到手持通信导航和三维导航。
尤其是在成熟的SOA技术、服务为一体的专业IT行业的趋势,各种行业都做传统的面向服务的应用程序,从而提供更全面和个性化的用户体验。
在本文通过初步概述的关键技术的嵌入式GPS导航,在此基础上,开发了原型系统和测试来验证想法的可行性和正确性。