- UID
- 864567
|
摘要:为了缩短嵌入式车载导航系统开发进程,提高系统维护和升级能力,研究了Android平台的特点及车载导航系统的性能需求。建立以Android操作系统、GPS技术为核心的车载导航系统终端软件。此软件对系统平台的实时路径获取、地图匹配算法校正定位模块的误差、地图的显示更新以及采用Dijkstra算法实现最短路径的导航规划都进行了详细的分析。实验结果表明,开发人员基于Android的通用框架编写的车载系统的应用软件,便于在不同平台间移植和升级。
关键词:Android;车载导航;全球定位系统;电子地图;Dijkstra算法
引言
近年来随着社会经济的飞速发展,公路交通的复杂性和拥挤度与日俱增,现有的交通运输管理与服务手段已不能适应交通运输的需求,这已成为长期以来困扰发展中国家和发达国家的问题。因此,车载导航应运而生.在一些发达国家,车载导航已成为大众生活的辅助品。但是在中国由于技术、资金以及成本等原因,我国的车载导航市场还是处于发展初期。车载导航系统是集中应用了自动定位技术、地理信息系统与数据库技术、计算机技术、无线通信技术的高科技综合系统。目前国内市场上的车载终端技术不够完备,市场化程度低,真正达到消费者要求的并不多见。随着对导航系统信息服务能力要求的进一步提高、终端硬件成本的不断下降以及操作系统的不断升级,选择一款易于开发、维护和升级,并且兼容性强的操作系统来支撑终端硬件系统的运行就显得异常重要。
由嵌入式Linux和Java虚拟机构成的Android操作系统,为嵌入式移动设备带来全新的开放系统解决方案。本文在众多的操作系统中选择Android作为车载导航的系统终端软件,因为Android是开源的操作系统,有利于开发人员理解平台框架,降低移动终端设备的价格,同时也便于软件的开发、维护和升级。
1 Android操作系统介绍
Google公司于2007年11月发布的Android操作系统,是一款建立在Linux操作系统2.6版本内核之上的手机操作系统平台。Google公司是这样定义Android操作系统的,它是首个专门为移动终端打造的真正意义上的开源且系统完整的移动平台,而且不存在不同设备上的兼容性问题。
Android平台由操作系统、中间件、用户界面和应用软件组成。Linux内核层用来提供系统的底层服务,位于硬件和其他软件层之间,采用YAFFS2文件系统。Android运行库包含一组核心库和Dalvik虚拟机,Android提供丰富的类库支持且大部分为开源代码,如采用嵌入式数据库SQLite。应用框架层为Android开发人员提供了访问框架应用程序接口的全部权限,采用结构化设计简化了组件之间的重用。在应用程序层,Android本身附带了一些核心的应用程序,大大简化了Android应用程序的开发。
因此,利用Android操作系统作为车载导航终端的应用平台,由于操作系统与软件免费,导航终端更便宜;同一平台克服格式问题,功能更多元化;使用者决定功能,比个人电脑更人性化、更贴近消费者。
2 系统框架设计
本系统是一款以三星公司的S3C6410处理器为核心的嵌入式开发板,先开发Bootlader引导程序,接着在此基础上移植Linux内核,然后制作Android文件系统;在移植好Androld操作系统后,进行车载导航功能的开发,任务集中在通过GPS实时获取路径,使用地图匹配算法校正定位模块的定位误差,采用最短路径导航规划算法进行导航,通过语音提示实现路径的引导,并且通过电子地图配合Android系统软件的API接口,同时它还具有不断升级的地图库,并能按照用户的需求进行各种信息查询,真正实现一个体积小、耗电少、成本低并且人机界面友好的嵌入式操作系统平台。系统框架图如图1所示。
|
|