论文部分内容阅读
本文围绕车载GPS导航系统的研究与设计,讨论了系统设计过程所涉及到的关键技术。根据系统所要实现的功能,设计出了整个系统的结构框架,并对实现每个功能模块的多种主流技术方案进行了对比,选出最适合本设计的解决方法。系统采用了三星公司的S3C6410作为主控芯片,以嵌入式Linux为操作系统,Qtopia作为图形显示界面。项目中对硬件平台进行了设计,详细地介绍了每个功能模块的设计原理以及软件平台的建立的过程。针对传统Dijkstra算法在计算最短路径过程中,搜索范围过大,一些节点重复计算,导致运行效率低下的问题,采用了优化Dijkstra算法,在计算下一个路口时,不必把所有节点扫描一遍,只需扫描与前一个路口节点直接相连的路口即可。文中选取一百个节点,分别用传统Dijkstra算法和优化Dijkstra算法编写其程序,利用函数gettimeofday计算它们在Linux系统下的执行时间,经过对比得出优化Dijkstra算法所用的平均时间减少了大概0.002125秒,当一个网络中的节点非常多时,能够大幅提高系统的执行效率,这对于实时性要求比较高的车载导航系统,具有很重要的意义。此外,还设计了软件的整体框架,使用C++语言编写系统的应用程序,并详细分析了每个程序模块的功能。最后,把定制好的BootLoader、内核以及根文件系统移植到开发板上,并将在Qt平台上开发并且经过交叉编译的可执行文件下载到系统中运行。经过多次实践和改进,系统最终实现的主要功能有:GPS定位导航、电子地图查询、最短路径规划、模拟导航以及路径清除等。