您的位置 首页 芯闻

根据A*算法的电子地图体系的规划

为降低成本、合理利用软硬件资源而设计的基于A*算法与STM32微控制器的电子地图系统,运用于公共信息服务。系统以STM32F103ZE T6微控制器为核心,配合少量的外围电路,在其上运行以高效、紧凑

摘要:为降低本钱、合理运用软硬件资源而规划的依据A*算法与STM32微控制器的电子地图体系,运用于公共信息服务。体系以STM32F103ZE T6微控制器为中心,合作少数的外围电路,在其上运转以高效、紧凑的程序以及算法。运用STM32芯片的FSMC总线驱动IS62WV51216 SRAM存储芯片,以扩展主控处理地图数据所需求的内存空间。一起运用FSMC总线驱动7.0寸LCD模块,大大提高了LCD的刷屏速度。运用SD卡寄存可替换的地图数据,体系初始化时先将SD卡中的地图数据读取到外扩的SRAM中待处理,以加速主控时数据的处理速度。软件上,在STM32上移植了UCOSII嵌入式操作体系以及UCGUI图形库,完结对各个使命的处理以及整个体系界面的规划。通过移植A*算法,完结了两点间最短途径查找的功用。实验标明,体系运转界面流通漂亮,途径查找精确,可作为一般小范围场所的导航电子地图体系,替代传统的路标或静态地图。
关键词:STM32微控制器FSMC总线嵌入式操作体系;UCGUI;A*算法

当时电子地图的运用现已越来越得到推行,从专用的GPS电子导航设备,到智能手机等移动设备都能够阅读到的网络电子地图,都表现着这一运用的广泛性,具有更新速度慢、运用寿命短等许多缺陷的纸质地图现已渐渐地被电子地图替代。嵌入式电子地图设备一般都含有嵌入式微处理器,附带着许多杂乱的外围电路,制造与生产本钱高,开发周期长,常常被用于精度要求较高的车载导航体系。嵌入式电子地图一般需求有软件渠道的支撑,当时干流的电子地图都是在桌面地理信息体系东西MapInfo中制造完结,在不同体系渠道下有专用的软件与插件支撑,但这类软件或插件的购买费用较贵重,而另一种办法是在嵌入式Linux环境下运用开源的MITAB东西,完结对MapInfo格局的电子地图的操作。这两种办法完结的体系本钱均较高,完结难度较大。文中介绍了一种依据STM32微控制器以及A*途径算法的嵌入式电子地图体系的规划,规划并完结了相应功用。

1 体系结构及硬件电路规划
体系以Cortex—M3系列ARMv7架构芯片STM32F103微控制器为中心,包括SRAM存储器、SD卡存储器、LCD驱动等电路,体系总体方案如图1所示。

a.JPG

1.1 液晶模块驱动电路
主控通过装备内部FSMC功用寄存器,敞开FSMC总线并发生LCD的读写时序,驱动7寸LCD模块。电路如图2所示。其间,RS引脚接到了主控的FSMC_A16引脚,作为数据指令挑选端,FSMC_NE1接到了LCD模块的使能端CS。

b.JPG

1.2 外扩SRAM电路
运用FSMC总线拜访外部SRAM存储器,其间FSMC_A0-FSMC_A15为主控FSMC总线地址引脚,对应接到SRAM地址线引脚,FSMC_D0-FSMC_D15为数据引脚,电路如图3所示。

c.JPG

2 首要软件规划
体系初始化主控先读取MicroSD卡里的地图数据,并将其写入外部SRAM存储器中,并把地图显现在LCD上,当运用体系查询最短途径时,调用A*算法,赋予特定的地址参数以及相应的权值,在两点之间可行的道路中寻找到最近的途径,再调用UCGUI API函数完结在地图上的途径的显现以及导航,程序是在UCOSII嵌入式实时操作体系的框架下以使命的方式编写的,以下是A*算法的完结思维。
A*算法在人工智能中是依据A算法的一种典型的启示式查找,首要是对点评函数加以特别的界说和描绘,然后得到一种具有较强的启示才能的有序查找法。事前对所要装置的地图数据进行处理,为地图图片规划一个坐标平面,并标出足够多的途径节点坐标值,在程序中以一个结构体变量记载,结构体类型名为MapPoint,结构体元素包括节点自身的坐标值,以及周围上、下、左、右可通过的节点号,依据A*算法,A*查找的点评函数为f(n)=g(h)+h(n),其间g(n)是从初始节点到该节点n的途径耗散,即从初始节点沿最短途径抵达该节点走过的旅程,h(n)是从节点n到方针节点的最低耗散途径的估量耗散值,h(n)值能够用不同的办法预算,这儿运用的办法被称为曼哈顿办法,它核算从当时格到
意图格之间水平缓笔直的方格的数量总和,被称为启示式或启示函数,而f(n)是g(n)与h(n)的和。界说别的一个结构体类型AstarPoint,用于记载途径中每个节点的x、y坐标值、g(n)值、h(n)值、f(n)值,以及其他节点的AstarPoint结构体指针类型元素。示意性的算法流程如图4所示。

d.JPG

运用A*算法获取到最短途径后,调用UCGUI库函数在地图上动态的显现出途径。

3 运用实践
依据规划的原理图制作PCB电路板,完结后的PCB地图如图5所示。

e.JPG

焊接完元件后开端调试程序,首先在PC机上用UCGUIBuilder软件进行界面的规划,运用拖取软件中的控件规划好界面后,再把生成的代码移植到STM32硬件渠道中去,而且移植好A-Star途径算法,进行仿真调试,终究体系的运转效果图如图6所示。
途径的动态显现较顺利,屏幕改写速度较快,途径查找精确率到达100%。

4 定论
以STM32微控制器为中心,依据A-Star途径算法的电子地图体系运转安稳,界面漂亮流通,途径查找精确,本钱低价,能够运用于旅行场所、小区或许校园等。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/297527.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部