本文主要研究无人驾驶车辆的自动行驶控制方法。
1 系统设计
本系统主要由监控中心和构成,如图1所示,而无人驾驶车辆终端又包含GPS,GIS,GPRS等部分:
(1)GPS(Global Positioning System,全球定位系统)是利用24颗人造卫星组成的卫星网,可以向地球不断发射定位及时间信号。地球上的任何一个GPS接收机,只要接收到4颗以上的卫星信号,经过计算处理后就可报出GPS接收机的位置(经度、纬度、高度)、时间和运动状态(速度、航向)。本系统采用GPS是为了使车辆在行驶过程中能够准确显示自己的位置。
(2)GIS(Geography Information System,地理信息系统)是在计算机硬件、软件系统支持下,对整个或部分地球表层空间的有关地理分布数据进行采集、存储、管理、运算、分析和可视化表达的信息处理和管理系统。在本系统中,他与GPS模块相结合,以地理空间数据为基础,在计算机系统中提供动态的电子地图,可以实时将交通信息通过GIS界面友好地显示给用户。
(3)GPRS(General Packet Radio Service,通用分组无限业务)是在GSM((Global System)全球移动通信系统的网络基础上叠加的一个专业的高速数据通信网络,共用GSM频率(900/1 800 MHz)。共享GSM网络绝大部分基础设施。可以接人基于TCP/IP的外部网络,具备了Internet所能提供的一切功能。本系统采用GPRS作为车载终端与监控端无线通信桥梁,主要是考虑到他有资源利用率高、传输速率高、接人时间短、网络覆盖面广等几个优势。
(4)射频识别读卡器。射频识别技术在交通系统一般用于高速公路站上不停车收费,车牌自动识别或者停车场定时收费等。这些系统是将标签放置在车载终端上,在地面上安装天线、射频模块和计算机,利用射频模块中读写器来进行一定范围内的射频识别。射频识别模块通过装有标的车辆接近传感器来判别是否有车辆通过。识别模块在一定区域内产生微波信号,当车辆进入该识别区域时,就能激活标签。标签将数据反射给识别模块,射频读写器完成数据读取。
2 车辆终端硬件构成
车辆终端由GPS接收模块、GPRS接收设备、主控制模强、读卡器模块、显示模块和输入操作模块构成,系统框架如图2所示。
(1)自主悬挂式独轨车体上装有嵌入式控制系统,主要用于对整个车辆的控制以及各个模块之间的调度。主控制模块芯片采用了飞利浦公司生产的LPC2000 系列处理器,该系列产品是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STMCPU的微控制器,并带有0/128/256kB嵌入的高速片内FLASH存储器。片内128位宽度的存储器接口和独特的加速结构使得32位代码规模降低超过30%,而性能的损失却很小。
通过在该系列处理器芯片的基础上扩展一系列完整的通用外围器件,使系统硬件成本降到最低,并且根据设计需要再进行裁减,就能为本车载系统提供一个低功耗、低成本、高性能的方案。
(2)该系统以GPRS无线传输方式与因特网保持连接,与轨道交通信息网站交换数据。本系统采用了BenQ公司生产的M22模块,他符合ETSIGSM phase 2+标准和 AT指令集,支持GSM语音数据传真短消息和GPRS数据传输。
(3)显示模块主要是用来显示车辆行驶状态,包括地理信息位置,路径采集情况等。本系统采用TFT6758液晶显示模块,工作电压为3.3 V,内带白光LED背光灯。由于液晶模块内部包含了HD66781和HD66783液晶控制驱动,因此他可以直接使用8位、16位或者18位总线方式与控制器相连接。
(4)输入模块功能是通过按钮查阅通过读卡器接收到终端的路径信息。
(5)GPS模块用来对车辆进行定位。本系统采用M12定位模块,Motorola公司生产的导航设备,具有很低的功耗,支持RTCM (Radio Technical Commission forMaritime)格式的差分功能,采用NAEA0183格式输出。该接收器在 汽车定位和调度系统中应用广泛。
3 终端软件部分程序设计
本系统由于使用ARM7做主要控制器,考虑到资源的利用,采用μC/OS-Ⅱ来作为操作系统。μC/OS-Ⅱ是一个完整的、可移植、可固化、可剪裁的占先式实时多任务内核。他用ANSI C语言编写,包含一小部分汇编代码,使之可以供不同架构的微处理器使用。μC/OS-Ⅱ可以管理64个任务,具有信号量、互斥信号量、事件标志组、消息邮箱、消息队列、任务管理、时间管理和内存块管理等功能。
μC/OS-Ⅱ软件体系结构有3部分:
(1)μC/OS-Ⅱ核心代码:包括10个C程序文件和1个头文件,主要实现系统调度、任务管理、内存管理、信号量、消息邮箱和消息队列等系统功能。此部分与处理器性能无关。
(2)μC/OS-Ⅱ配置代码:包括两个头文件,用于裁减和配置μC/OS-Ⅱ。该部分与用户实际应用相关。
(3)μC/OS-Ⅱ移植代码:包括1个汇编文件、1个C程序文件和1个头文件,这是移植μC/OS-Ⅱ所需要的代码,与处理器无关。
在本系统中首先要进行系统移植,才能进行程序的调用。移植满足了以下要求:
(1)处理器的C编译器能产生可重入型代码;
(2)处理器支持中断,并且能产生定时中断(10~100 Hz);
(3)用C语言可以开/关中断;
(4)处理器能支持一定数量的数据存储硬件堆栈(可能是几kB);
(5)处理器有将堆栈指针以及其他CPU寄存器的内容读出并保存到堆栈或者内存中去的指令。
本系统软件程序主要分为3个部分:输入部分、控制部分和输出部分。下面分别进行介绍。
输入设备主要包括键盘、射频识别读卡器,以及构成输入设备的接收系统:GPS/GIS接收器和GPRS模块等。在车辆的行驶过程中,射频识别模块负责正确接收路况信息,键盘负责等待用户接收车上用户指令,GPRS模块负责接收远程工作站的数据信息,该模块在启动后主要是负责与工作站取得联系,进行信息交流,并且不断更新系统内部分路径信息,方便车辆能够及时转向。GPS和GIS模块则主要负责使系统能够接收到车辆目前的准确位置。
输出设备主要包括显示屏等,通过显示屏获取车辆所在位置和路况信息等。他的主要作用在于根据要求输出相应的高低电平来提供转向所需要的电压。实现原理是通过从标签获得数据信息使得系统产生高低电平,同时,系统必须将GPS模块和GPRS模块提供的数据通过人机界面显示在屏幕上使得用户能够实时地看到车辆的信息,包括前方路况、车辆位置等。
控制部分是本系统的关键,流程图见图3。
控制部分的流程是这样的:首先将操作系统下载到目标板,目标板初始化,并且设置各个模块的中断向量来保证各个模块启动后能够正确运行。中断优先级的排序是读卡器优先级最高,其次是GPRS,最后是GPS。同时,显示屏显示操作界面,用户可以输入指令使得汽车启动。当车辆启动后,各模块也随之运行,系统程序将转入查询状态,通过不断扫描UART端口判断是否有标签进入识别区域。若进入标签识别区域,读卡器就会接收到射频模块识别到的条码信号,判断信号正确后,系统转人中断子程序。在中断子程序中,系统会向GPIO端口提供相应的高低电平作为输出信号来实现转向。GPRS是随着车辆启动后就立即启动的,这是因为他必须不断更新监控中心提供的路径信息来保证车辆的正常行驶。当车辆停止时会发出电平信号,此时,系统转入等待状态,屏幕显示操作界面,等待用户进行下一步操作。
4 结 语
本方案经过测试仿真表明,自主转向悬挂式独轨车载在距离标签10 m内能够以915 MHz的频率通过射频模块识别到前方轨道信息,而且能以115.2 kB/s的波特率与GPRS连接,然后接入GPRS网络与远端网络监控站实时通信,进行数据交换。同时,系统能够作出判断,发出控制信号。根据测试,该系统稳定性高,实时性强,如果能应用到实际中,使用户和工作站能够了解车辆的工作状态,对减少交通事故有很大的意义。