基于CCD传感器的路径识别方法研究与应用

2018-12-08 09:29冯玉如
数字技术与应用 2018年8期

冯玉如

摘要:由于信息时代的进步,各种科技技术得到了蓬勃发展,智能车研究成为现代社会的热点,智能车利用传感器和算法来快速了解车辆行驶的道路环境。本文设计的智能小车利用CCD传感器来采集道路信息,并以恩智浦K60单片机为控制芯片,研究其路径识别算法,从而控制电机的速度及舵机的转向,实现自动循迹的功能。同时,对智能车的研究现状以及未来应用与发展前景做一个全方面的介绍。

关键词:CCD传感器;智能车;路径识别;识别算法

中图分类号:TP212.9 文献标识码:A 文章编号:1007-9416(2018)08-0087-02

智能汽车领域在世界范围内迅速发展,公共交通、工业和军事领域的多样性日益增加。智能车自动化系统提供了在安全和操作效率方面显著增强的潜力[1]。智能车辆系统使用传感器和智能算法来快速了解车辆周围的环境,或者协助驾驶员进行车辆操作或汽车自动化行驶[2]。在智能车发展的背景下,设计一种基于线性CCD传感器为识别装置,并以恩智浦K60单片机为控制器的路径识别系统。线性CCD传感器作为路径识别装置,将采集到的图像发送给单片机,单片机根据阈值进行二值化处理,二值化后的数据再经过数值滤波,获得完整的二值化图像。根据当前的行驶轨迹和编码器采集反馈的速度,利用PID控制方法动态调节舵机转角以及控制直流电机的转速,调整行驶方向与行车速度,实现任意路径识别与智能行驶。

1 系统硬件设计

系统硬件主要由单片机、CCD传感器、SD-5舵机、TFT液晶屏、编码器和电机驱动六个部分组成,如图1所示为系统硬件框架图。

主控制器采用恩智浦K60单片机,此单片机为32位微控制器,是整个系统的“大脑”。

CCD传感器采用TSL1401L芯片,可以采集道路当前信息发送给单片机,供单片机处理道路信息。舵机选用SD-5舵机,其灵敏度较高,在接收到单片机的控制信号后能快速调整车辆转角。编码器用以采集电机转速,转速信息编码器将转化为脉冲发送给单片机,而K60单片机具有正交解码功能,可以将采集到计数脉冲通过正交解码转化成速度信息。系统采用一块TFT液晶屏,能实时显示CCD传感器采集到的图像信息、舵机角度、赛道信息和编码器反馈回来的速度。电机驱动由2个半桥驱动芯片BTS7960B组合而成为一个全桥驱动器,同时增加总线驱动芯片74LVC245,该芯片能提高驱动能力,并能隔离BTN7940B芯片和主控K60芯片,防止芯片烧坏[3]。

1.1 单片机主控芯片

系统核心控制单元采用恩智浦K60单片机,此单片机为32位微控制器,线性CCD采集到的道路信息,返回到单片机,单片机会输出一路PWM波,用以控制舵机的转向。在车速控制中,单片机会输出四路PWM波到电机驱动上,电机驱动再加以控制电机正反转和相应转速,以此来控制车速。

1.2 CCD传感器模块

整个控制系统最核心的部分就是如何清晰地看见道路的具体情况,即系统的“眼睛”,系统设计上选用CCD传感器。CCD传感器相比于传统的光电管,具有分辨率高、功耗低、前瞻性好等优点,从而可以获取更多的道路信息。

1.3 电源模块

使用标准车模7.2V电池供电,路径识别的CCD传感器和编码器需要5V电源,采用LM2940降压芯片将7.2V的电池电压降压到5V,供CCD传感器使用,而单片机系统需要3.3V电源,将经过降压后的5V电源通过AMS1117芯片降压3.3V电源供单片机使用,舵机使用6V供电,通过调节滑动变阻器将7.2V降压到6V供舵机使用,而直流电机可以使用7.2V电源直接供电。

2 系统算法设计

2.1 主程序流程图

主程序流程图如2所示,将主控板的电源开关打开,单片机开始运行,初始化程序完成后,液晶屏上会显示当前赛道图像和行驶速度,根据当前环境光照,输入相关参数。紧接着CCD传感器开始工作,采集赛道信息,供单片机处理。CCD传感器不断扫描赛道,根据特征点判断出赛道类型,是直线还是弯道等等,以便控制舵机转向和电机的速度。当CCD传感器扫描到停车线时,单片机输出信号使舵机回正方向,以及电机反转使行驶速度减下来,速度为零时停车。

2.2 路径识别算法

如图3所示为整个路径识别算法的过程。根据CCD传感器采集回来的像素点,计算出像素点的最大值与最小值,根据最大值与最小值计算出动态阈值。由动态阈值的大小,对图像进行二值化处理,二值化处理后的数据经过数据滤波,排除干扰点。

2.3 弯道处理

路径识别算法的重要性不言而喻,而弯道处理对于车辆的稳定性也是非常重要的。在处理弯道时,需要考虑三个参数并加以设定,分别是切弯时路径选择、入弯时角度控制、过弯时速度大小[4]。在本设计中,切弯时采取沿中线过弯,与过内道相比,增加车辆调整时间,提高容错率。与过外道相比,能缩短车辆过弯的时间。选择中线过弯,能够保证车辆运动状态稳定。入弯角度将根据CCD传感器两侧跳变沿的偏移值算出舵机的转向角度,供舵机转向。过弯速度采取入弯减速,出弯加速的策略。

在处理弯道中,切弯时路径选择、入弯时角度控制、过弯时速度大小这三个参数的选择是尤为重要的,不可仅仅对单一参数进行调整。同时,弯道的处理也受传感器的安装位置、舵机的灵敏度和电机的驱动力影响。

2.4 PID控制

由于小车跑过的路线不需要考虑,在设计过程中将舵机的PID控制简化为PD控制,速度闭环控制采用了增量式PID控制。在设计中,因为舍弃了I控制,就不需要再确定舵机和电机积分参数,只需通过试凑法来确定比例和微分参数[5]。根据试凑法,观察各参数对舵机和电机的大致影响,最终确定舵机PD控制中比例系数Kp为8,微分常数Td为0.02,速度闭环增量式PID控制中比例系数Kp为15,积分常数Td为1,微分常数Td为4。

3 结果验证

如图4所示,当CCD传感器扫描到直线特征时,单片机处理采集到的数据,控制舵机方向微调,使小车始终维持在中线上,电机加速使其快速通过直线区域。当扫描到弯道特征使,如图5所示,按照入弯时减速,以得到足够的调整时间,获得正确的转向角度;在彎道内适当提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,然后加速。当CCD扫描到左右黑线偏差五个像素点时,即是S形弯道,根据S形弯道算法的处理,此时小车将S形弯道当作直线,加速驶过。在十字的时候,出现全白的信号,在传感器稳定的前提下,能出现全白的也只会在十字的时候出现,此时按照入十字的速度平稳行驶。当CCD测得具有驼峰形状的赛道信息,即测得停车线信息,单片机输出信号使舵机回正方向,以及电机反转使行驶速度减下来,速度为零时停车。

4 结语

基于对机械布局、硬件设计和软件算法的研究,实验结果表明依据CCD传感器采集回来的路径信息,单片机在路径算法的帮助下,能规划好行驶路径,很好地分辨出直道、弯道、S弯、十字路口等路况。

参考文献

[1]Bishop R. A survey of intelligent vehicle applications worldwide[C]. Intelligent Vehicles Symposium, 2000. IV 2000. Proceedings of the IEEE. IEEE, 2000:25-30.

[2]尹念东.智能车辆的研究及前景[J].上海汽车,2002,2(4):40-42.

[3]李旭东,廖中浩,孟娇.基于CMOS摄像头的智能车控制系统设计及实现[J].吉林大学学报(信息科学版),2013,31(04):414-418.

[4]高正中,赵丽娜,李世光,白星振,宋森森.基于摄像头的智能车控制系统设计[J].自动化与仪表,2015,30(06):1-4.

[5]陈孟元,孙书诚,王虎.基于图像识别的寻迹智能车设计[J].重庆理工大学学报(自然科学),2013,27(03):80-84.