分类:课题 字号: 大 中 小
摘要:
根据全国大学生“飞思卡尔”智能汽车竞赛的要求,我们选择CCD传感器进行路径识别,提取 CCD的视频同步信号,控制单片机的A/D进行采集。对采集回来的视频数据进行二值化分割,去噪声处理,提取黑线的中心位置。一帧图像处理结束,根据图像的前视距离最近的黑线中心位置的偏移量和黑线斜率判断当前赛道信息,并结合预测算法,控制舵机的转向。使得小车能够保证稳定性的前提下,高速行驶。
关键词:
图像信息 数据分析 连续性 预测算法 舵机控制
1. CCD图像信息的特点 1.1 摄像头工作原理
摄像头按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,该点投射到图像传感器表面上,通过图像传感器将该该点处图像的灰度值转换成与灰度一一对应的电压值,然后通过视频信号输出此电压值。其中正极性图像信号图像越黑,其电压越低。摄像头每秒扫描25帧图像,每帧又分奇、
偶两场,每场扫描周期为20ms。
1.2 图像信息的提取
摄像头输出的是视频同步信号。视频同步信号经过同步分离芯片LM1881后,被分解为场同步信号,行同步信号,和视频信号,如图1.1所示。其中场同步信号和行同步信号都是负向的脉冲。行同步脉冲是扫描换行的标志,场同步脉冲是扫描换场的标志,标志着新的一场的到来。一场信号的开始包含一段场消隐区,有25个无效行同步信号,之后是285个有效行。用这些同步信号直接控制单片机进行A/D的采集,
从而读回图像信息,并对其控制。
2. 黑线的提取算法
智能车在行进过程中,摄像头连续采集路径信息,通过A/D可以读回当前的图像数据,并对其处理。一场图像可以采集285行有效信息,对于比赛的赛道来说,黑白特别明显,干扰信息会很少,所以只需采用20行就可以实现对黑线的检测。 我们采用每13行读取一次数据,读回的数据是模拟的电压值,需要单片机将原始数据进行二值化处理,算出黑线的中心位置,然后根据图像的连续性对视频数据进行去噪处
理。
3. 图像的二值化处理
对视频数据进行二值化处理,首先需要选择合理的阈值,本系统阈值的选择主要思想是:小车运行之前,首先按键采集比赛场地的数据信息,共采集6场,考虑到第一场不太稳定,从第二场开始,每场的每行求一个最小值,然后对五场中每行的最小值求平均值,将得到的结果进行整体补偿,作为每行的阈值。
3.1 噪声处理及黑线中心位置的提取
由于CCD视觉传感器受环境影响较大,视频数据二值化分割之后,图像除包含路径信息外,还可能有许多干扰噪声。为了再现真实的路径信息,必须进行数据的去噪声处理。从而准确的计算出赛道的黑线
的中心位置。 3.2 基准行的处理
本系统中,我们采取的视频图像数据去噪策略是取离车体最近的一行数据,对其单独去噪声处理后,
作为基准行。 噪声处理如下:
判断第一个黑线位置是否满足给定的条件。,即
(1) if( j > 1 )(宽度条件) 即黑线点的个数j 是否在1个以上,如果只有一个点是黑的,规定为
噪声,将0改为1,继续判断下一个有黑线的位置。
(2) 判断连续性 判断此行黑线位置的起点与上一场图像最后一行黑线位置的起点的差值是否在可能的范围内,根据图像的连续性,这个差值不会很大,如果超出给定的标定值,认为是噪声,将 0 该位1,
继续判断下一个有黑线的位置。
基准行处理好后,基准行的数据作为参考数据,根据图像数据的连续性,进行整场数据的噪声处理。
一帧图像数据噪声处理前后的效果如图2.1,2.2所示。
如果两个条件都满足,我们认为它是赛道的引导黑线,求出黑线的中心位置,计算公式为:
Center = i + j/2 (3)
3.3 黑线中心位置的提取
一帧图像处理好后,可以再现赛道的真实路径信息,需要求出黑线的中心位置,从而进行小车的路
径的分析和小车的控制。其计算公式为:
Center = i + j/2 (4)
式中 i 表示黑线的起始位置,j 表示赛道黑线的点数。
4. 舵机转角的预测算法 4.1 当前赛道信息的识别与控制
一场图像数据处理结束后,赛道的路径信息会清晰的再现出来。根据整幅图像黑线的有效起点和有
效终点的斜率和偏离图像中心位置的偏移量,就可以判断当前赛道是直道还是弯道。 根据这些信息给定舵机的控制量。此方案获的主要思想如下:首先找到图像数据最近位置的第一个有效行,同时记录黑线的中心位置信息,定义为(X0,Y0 )。 然后再找最远位置的第一个有效行,以及其黑线中心位置,定义为(X1,Y1 )。据此算出黑线的斜率(Y1 - Y0 )/ (X1 - X0 ),和黑线偏离图
像中心位置的偏移量| X0 |。其示意图如图3.1所示。
其计算公式
为:
舵机控制量 = K0*X0 + K1* (X1 - X0 )/(Y1 -Y0 ) (5) 根据不断的调试和经验数据得到比例系数 K0,K1 的确切的值。
4.2 对未来赛道信息的预测与控制
单纯的判断当前赛道的信息,不能十分准确地给出舵机转角的控制量。小车在高速运行时,遇到比较急的弯道,容易出现差错。经常出现转角控制量滞后而冲出跑道。鉴于此,我们在原方案的基础上添加
了预测算法。
根据CCD视频图像的扫描特点,前视距离较远处扫描到的图像含有信息较多,所以根据一幅图像的前视距离最远处1/4段曲线的切线可以预测到未来赛道的信息。在曲线的前面1/4处取一点(X2,Y2),
其示意图如图3.1所示。舵机转向的计算公式为:
舵机控制量 = K0*X0 + K1*(X1 - X0)/(Y1 -Y0)+K2 *(X1-X2)/(Y1-Y2) (6) 根据点(X2,Y2)和点(X1,Y1)段曲线的弯曲程度,可以预测出下一段道路的走向。调解系数K2,控制舵机转向的角度,降低舵机转向滞后的机率。可以使小车不完全按照黑线走,走内道,灵活,连
续地行使。
5. 总结
数据处理好是最基本的工作,也是非常重要的一个环节。做好基本工作,获得稳定可靠的黑线中心位置数据。加上速度调节和速度反馈,闭环控制,反复进行调试,分析舵机转向性能,选择合适的比例系
数,使小车获得可靠的转向性能。
因篇幅问题不能全部显示,请点此查看更多更全内容