智能车路径识别及转向控制的研究与实现
2016-06-24唐保龙
唐保龙
(一汽丰田技术开发有限公司 天津300462)
智能车路径识别及转向控制的研究与实现
唐保龙
(一汽丰田技术开发有限公司 天津300462)
路径识别和转向系统根据MCU处理CMOS采集的路面信息的结果,通过脉宽调制模块(PWM)控制舵机转向,进而实现智能车的路径自动识别或引导线识别功能,按照设定的路线进行自动循迹和转弯控制。通过硬件二值化或者软件的局部自适应阈值二值化,对采集的路面信息图像进行分割,数据计算处理,提取出路面中心位置,且计算出对于路面中心位置的偏离程度,确保了智能车路径识别传感信号的准确、稳定与快速。随着乘用车自动化、智能化程度的加深,该技术有很大应用空间。
路径识别 智能车 CMOS
智能车辆是室外轮式移动机器人在交通领域的重要应用,它从根本上改变了传统的车辆控制方式,可大大提高交通系统的效率和安全性。在普通家庭轿车消费中,智能车的研发也是很有价值的,如雾天时能有效提高安全性。路径识别方式大致有两种:一是反射式红外传感器识别,此方法具有较高的可靠性与稳定性,但是光电传感器存在着检测距离近的问题,降低了对环境的适应能力;二是摄像头路径识别,摄像头价格便宜,前瞻距离远,能尽早地感知前方路径信息进行预判断,再现路径的真实信息,所以有很好的应用前景。本研究采用的是摄像头路径识别。
1 路面图像的采集
摄像头的工作原理是:[1]按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值,然后将此电压值通过视频信号端输出,如图1所示。
图1 视频信号简图Fig.1 Diagram of video signal
奇偶场识别信号用于识别当前场周期是奇场或者偶场。场同步信号是频率为50,Hz的方波,场同步信号的上升沿标志着一场信号的起始。行同步信号也是一个方波,同时包含有场消隐信号和行同步信号。行同步信号的上升沿标志着一个行周期的开始或者消隐周期的同步。有了行同步信号(HS)、场同步信号(VS)、奇偶场识别信号(ODEV)作为S12的同步输入信号,控制A/D采样进程,便可进行视频信号的采集。[2]
在硬件连接中,摄像头视频信号端接LM1881的视频信号输入端,同时也接入S12的一个AD接口器口(选用PAD0)。LM1881的行同步信号端(引脚1)接入S12的一个外部中断IRQ口。AV视频信号解码芯片LM1881的引脚图和信号输出[3]如图2所示。
图2 LM1881芯片引脚和信号输出图Fig.2 Out diagram of LM1881 Pin and signal
通过将LM1881的同步信号引入到单片机的中断口IRQ与PORTH0,同时使用单片机的16位模数递减计数器(MDC),进行场同步、行同步的延时,以确保单片机所接收的视频信号的准确性。
根据处理器进行AD采样[4]与转换的时间要求,这里使用24,MHz的总线速度,这样每采集一个点的时间大约是2,μs,每行的扫描时间是64,μs,去掉行消隐与行同步时间12,μs,每行有效信息时间为52,μs。从数据可靠性与稳定性的角度考虑,选择每行采集24个点,每场采集170行,但在实际上每场采取每10行采集一次的策略,就能够满足系统精度的要求。这样,CMOS每场的数据变换成一个17行24列的二维数组。
如图3所示,未经处理的采集数据不清晰,且有噪音和孤立点。
图3 CMOS采集直线部分的原始数据Fig.3 Raw data collected by CMOS
2 路径识别算法
电路中预设了硬件二值化(见图4),考虑到摄像头在比较恶劣的环境下能够应用自如,使用了局部自适应阈值二值化[5]方案来增强模糊道路的清晰度。
此过程的处理框图如图5所示。
图4 局部自适应阈值二值化处理方框图Fig.4 Binaryzation treatment of local adaptive threshold value
方框中:
式中:μ为局部平均值,2σ为每个3×3相邻像素的方差;2ν为每个相邻像素的平均估算方差。
二值化后的部分数据见图5。二值化后,比较清晰地表达了路面信息。
图5 二值化后的数据Fig.5 Date after binaryzation
3 转向控制算法
3.1 寻找边界
采取以数组左下角的第1行和第1列的交点作为坐标原点。从最下一行开始检测,设置1个计数器,每检测1行,计数器加1。每行均从左向右检测。
3.2 中心线位置
利用左右边界计数的列数,求平均值,则得到黑线中心线。根据中心线我们可以判别道路的形状,可以根据路型来调节舵机敏感度和偏转值。
在一帧图像中,用首行的黑线中心值减去中间行的黑线中间值得到斜率slop1,用中间行的黑线中心值减去最末行的黑线中心值得到斜率slop2,再将斜率slop1和斜率slop2相加得到该帧图像前后两半图像的斜率和值slop_add3。如图6所示:
图6 中心线识别示意图Fig.6 Diagram of central line identification
①S型:若一帧图像中的前后半块图像的斜率符号相反,则说明前方是S形。
②直线:若非S道,则继续判断,如果前后斜率和值slop_add 很小,则说明前方为直道。
③大弯道:若非S型或直线的情况下,如果slop2很小且前后斜率和slop_add的值很大则为大弯道。
3.3 转向策略
若判别为直线,则根据中心行的数据与小车中心线的偏差来控制舵机的偏转量;若为S型,则根据距离小车位置的最远处的黑线位置偏差来控制舵机的偏转量;若为大弯道,则根据最近行的数据和中心线的偏差来控制舵机的偏转量。
4 软件开发
使用Codewarrior开发环境,通过汇编与C语言相结合实现。[6]开发环境如图7所示。
4.1 系统软件执行过程
给单片机上电,系统开始,单片机进行初始化,然后根据环境光自动设置阈值,采用外部中断,开始对路径进行数据采集,对数据进行处理,处理结束则对转向舵机进行控制和利用PID控制方法对智能车驱动电机控制,进而控制前行速度。
图7 软件开发环境Fig.7 Software development environment
图8 视频采集流程图Fig.8 Process of video collcetion
5 路试试验
在调试中,使用了自制的赛道,白色地板,黑色赛道,根据需要设计了各种路面类型。试验结果为智能车能够按照所设定的路线进行自动循迹。
6 结 论
通过采用电压比较电路方式减少了单片机要处理的数据量,提高了MCU的响应时间。通过使用局部自适应二值化处理方式来处理结果,提高了精度。即使在比较复杂和干扰较多的情况下也取到了很好的效果。在未来的研发过程中将进一步优化程序和硬件设计,并应用到乘用车开发中。■
[1] 俞斯乐. 电视原理[M]. 6版,北京:国防工业出版社,2005:110-150.
[2] 王威. HCS12微控制器原理及应用[M]. 北京:北京航空航天大学出版社,2007.
[3] LM1881,LM1881-X Video Sync Separator [Z]. 2003.
[4] Freescale Semiconductor S12ATD_10B8C Block User Guide V02. 12[Z]. 2005.
[5] 张雅兰. 图像的二值化处理[J]. 广西工学院学报,2002,13(1):32-34.
[6] 飞思卡尔HC08/HCS12 系列微控制器开发环境-Codewarrior 使用指南[Z]. 2005.
Study and Realization of Algorithm of Path Recognition and Turn System for SmartCar
TANG Baolong
(FAW Toyota Research & Development Co.,Ltd.,Tianjin 300462,China)
The smartcar design,including path recognition and turn system is based on results processed from road information by MCU to control PWM to change the direction of steering engine and realize linear path recognition.By binaryzation of hardware or local adaptive threshold,effective image segmentation and data processing,black line on the contest lane was extracted,and the position difference between the car and the black line was calculated to distinguish different shapes of the lane. Then we analyze and deal with the information to control the steering angle.With the development of intelligent car,in the future,smartcar will have great space for development.
path recognition;Smartcar;CMOS
U471.15
A
1006-8945(2016)08-0069-03
2016-08-02