新闻中心

EEPW首页 > 设计应用 > 基于GPS的智能车自动驾驶系统的研制

基于GPS的智能车自动驾驶系统的研制

作者:李延斌 牛雷 佟贺 时间:2018-10-25来源:电子产品世界收藏
编者按:本论文研制了一种使用STM32作为微处理器的具有自动路线规划、自动驾驶、远程遥控等功能的智能车自动驾驶系统。该系统分为手持端和车载端两部分,用户可以通过手持端在地图上对智能车的目的地进行设置,车载端采用A*算法自动规划出路线,由GPS的地理位置信息和九轴传感器JY-901模块的磁场信息为辅助,控制舵机和电机使智能车自动驾驶至目的地。

作者 李延斌 牛雷 佟贺 陆军航空兵学院基础部(北京 101123)

本文引用地址:http://www.eepw.com.cn/article/201810/393374.htm

  李延斌,出生于1977年5月,男,硕士研究生,副教授,研究方向为计算机应用;牛雷,出生于1984年1月,男,讲师,研究方向为计算机应用;佟贺,生于1980年10月,女,硕士研究生,讲师,研究方向为嵌入式。

摘要:本论文研制了一种使用作为微处理器的具有自动、自动驾驶、远程遥控等功能的系统。该系统分为手持端和车载端两部分,用户可以通过手持端在地图上对智能车的目的地进行设置,车载端采用A*算法自动规划出路线,由的地理位置信息和九轴传感器JY-901模块的磁场信息为辅助,控制舵机和电机使至目的地。

0 引言

  自动驾驶技术是当今世界最热门的研究方向之一,因其智能便捷和安全稳定受到越来越多的消费者喜爱。各国政府希望通过自动驾驶技术的成熟来解决繁杂的交通问题。中国从20世纪80年代开始进行自动驾驶汽车的研究,现在已经跻身世界先进水平。

  本论文主要对基于导航系统的系统进行研究探索和设计,最终设计完成了基于卫星导航系统的可进行自动、自动驾驶、远程遥控等功能的智能车自动驾驶系统。

1 总体设计方案

  智能车自动驾驶系统分为手持端和车载端两部分。手持端是自动驾驶仪的人机交互部分,车载端是智能车部分。手持端和车载端之间采用NRF24L01+PA+LNA模块进行无线通信进行可达1 km以上的远程控制。

  智能车自动驾驶仪主要两个以F103为微处理器的开发板、GPS模块、SD存储卡模块、外部FLASH模块、JY-901模块、NRF24L01+PA+LNA无线模块、电机驱动模块、电源模块、舵机、电机等硬件组成。

  手持端通过触屏选择智能车的工作模式,工作模式共分为两种,一是自动驾驶模式,二是遥控车模式。当选择智能车模式后接收智能车的GPS坐标信息,在地图上显示出实时位置,之后在地图进行目的地的设置,同时将目的地坐标发送给智能车。智能车得到目的地坐标后采用A*算法自动规划出最短路线,并在手持端显示出规划的路线。手持端选择运行后车载端后按照规划的路线以GPS的位置信息和九轴传感器JY-901模块的磁场信息为辅助,控制舵机和电机自动驾驶到目的地。在运动过程中手持端可以实时监控智能车的位置和运行状态。在运行过程中可以切换成遥控的方式对智能车进行远程。如果选择了遥控模式,则切换到遥控界面。通过触碰界面上的提示汉字,来实现对智能车的方向操控。操控方向分为前进、后退、左前、右前、左后、右后。转向的角度可以通过触碰的时间来控制。

2 智能车自动驾驶系统硬件设计

  2.1 手持端设计

  自动驾驶系统手持端硬件使用秉火F103开发板、3.2寸触摸式LCD和一个NRF24L01+PA+LNA模块组成,供电采用锂电池供电。自动驾驶仪手持端可以实现地图的显示、智能车实时位置和状态显示、目的地的设定和路径规划和遥控等功能。

  手持端通过触摸式LCD进行触控,并通过LCD进行地图、可选路线、最短路线、操作提示汉字的显示和车载端实时位置、状态显示,具体结构详见图1。

  通过外部FLASH存储触摸式LCD的触摸校准系数,使用SD卡存储地图和汉字字库。使用STM32内部FLASH存储地理信息数组。当无线通信模块处于接收状态时根据显示状态接收车载端发送的实时位置、状态、规划的最短路线等信息。当无线通信模块处于发送状态时根据显示状态发送目的地位置,模式选择信号、遥控控制信号等信息。

  2.2 智能车自动驾驶系统车载端设计

  车载端硬件在小车平台上使用正点原子STM32MINI开发板、GPS模块、GPS天线、JY-901模块、一个NRF24L01+PA+LNA模块、舵机、电机驱动模块、电源模块组成,供电采用7.2V聚合物电池供电,具体硬件结构见图2。自动驾驶仪车载端主要实现GPS定位、最短路线的计算、智能车磁航向计算、自动驾驶、获取运动状态信息等功能。

  车载端通过GPS模块和GPS天线提供GPS数据,JY-901模块提供磁场数据。使用STM32对传感器数据进行融合。当无线通信模块处于发送状态时将位置和状态信息和规划的路线发送给手持端。当无线通信模块处于接收状态时接收手持端发出的目的地位置、模式选择信号、遥控控制信号等信息。

3 自动驾驶仪系统软件设计

  3.1 手持端软件设计

  自动驾驶系统手持端部分的软件实现的功能有:显示地图、汉字和智能车在地图上的位置。通过触屏及汉字提示对手持端进行操作。根据地理信息数组,显示可行进道路和最短路线,为车载端提供路网坐标,通过手持端对车载端进行遥控。在运行中实时显示智能车的状态和位置。通过触碰触摸屏产生一次中断,实现对状态函数的切换,改变显示屏的显示状态和无线通信模块的通信状态,软件流程见图3。

  智能车自动驾驶仪手持端共设计九种显示状态。显示背景始终为地图。显示状态图片见附录。为增加显示效果,显示包括像素坐标点在内的周围四个坐标。汉字显示为黄色字符,背景色为黑色。发生触碰时在主函数中产生中断,记录下触摸点的坐标。当触点位于提示字显示范围内时,根据提示字改变显示状态。为增加用户体验,在触摸到提示字时提示字由黄色变为红色。当发生触碰时,显示状态函数重新运行,进行显示状态的转换。操作流程如图4所示。

  3.2 车载端软件设计

  自动驾驶仪车载端的软件部分实现的功能有:使用A*算法计算出最短路线,并发送给手持端。基于GPS和磁传感器信息,控制舵机和电机按规划路线自动驾驶到目的地的功能。并发送实时位置和状态、规划的路线等信息。接收手持端对智能车的遥控操作信号,车载端软件主函数流程图如图5所示。

  为了实现在手持端地图上显示位置的功能,需要对地理坐标系和像素坐标系进行转换。根据像素坐标、瓦片坐标和地理坐标的几何关系,设计地理坐标系和像素坐标系的转换程序, 转换流程图6所示。

  综上所述,经硬件设计和软件设计,最终完成了智能车自动驾驶系统的研制,图7、8分别为手持端和车载端,图9为手持端地图,经多次实验验证,智能车自动驾驶系统运行效果良好。

  参考文献:

  [1]李燕.GPS测量中坐标系统及坐标系的转换[J].华北国土资源,2008,3:62~63.

  [2]佚名. 我国研发的无人驾驶汽车顺利通过试验[J]. 创新时代, 2011(9):15-15.

  [3]张淑清,等.嵌入式单片机STM32设计及应用技术[M].北京:国防工业出版社,2016.

  [4]张学昕. 具有自主巡航功能的四旋翼飞行器设计[D]. 哈尔滨理工大学, 2016.

  本文来源于《电子产品世界》2018年第11期第61页,欢迎您写论文时引用,并注明出处。



推荐阅读

评论

技术专区

关闭