“飞思卡尔杯”全国大学生智能车辆邀请赛
高 校 园 地
栏目编辑
文蕴蕴
摄像头黑线识别算法和赛车行驶控制策略
Distinguish Black Line by Camera and Drive the Smart Car
上海交大机械设计及自动化研究所 贾秀江 上海交大自动化系 李颢
引言
按照首届全国大学生“飞思卡尔”智能车
大赛规则要求,根据赛道特点,主要有两种寻
线设计方案:光电传感器方案和摄像头方案。
这两种方案各有特点:光电传感器构成
“线型检测阵列”的方案简单易行,但由于受规
则限制(传感器数量不超过16 个), 光电管的
数量不可能太多,从而单个线型检测阵列所能
确定的指引线信息较少。所以采用此方案寻线
图2 单行黑线提取算法
精度不够高,在舵机转向控制时会产生直道蛇
同步脉冲,它是扫描换行的标志。然后,跳过
行或弯道舵机回摆,并且判断距离有限。
一行后(因为摄像头是隔行扫描的方式),开始
因此我们选择采用摄像头作为寻线传感
扫描新的一行,如此下去,直到扫描完该场的
器,一方面摄像头探测的赛道信息和距离更出
视频信号,接着就会出现一段场消隐区。此区
色;另一方面,规定使用的 MC9S12DG128 运
中有若干个复合消隐脉冲,其中有个脉冲远宽
算速度和自身AD 口的采样速度能够适应对黑
于(即持续时间长于)其他的消隐脉冲,该消隐
白低线数摄像头的有效视频采样和对大量图像
脉冲又称为场同步脉冲,它是扫描换场的标
数据的处理。
志。场同步脉冲标志着新的一场的到来,不过,
图像数据信息特点
场消隐区恰好跨在上一场的结尾部分和下一场
的开始部分,得等场消隐区过去,下一场的视
摄像头的主要工作原理具体而言(参见图
频信号才真正到来。摄像头每秒扫描25 幅图
1),摄像头连续地扫描图像上的一行,则输出
像,每幅又分奇、偶两场,先奇场后偶场,故
就是一段连续的电压视频信号,该电压信号的
每秒扫描50 场图像。奇场时只扫描图像中的奇
高低起伏正反映了该行图像的灰度变化情况。
数行,偶场时则只扫描偶数行。
当扫描完一行,视频信号端就输出低于最低视
由于 S12 芯片的处理能力不足以支持像
图1 摄像头视频信号
频信号电压的电平(如0.3V),并保持一段时间。
PC 那样的运算能力,因此我们采用了只有黑白
这样相当于,紧接着每
制式、320 × 240 的 CMOS 单板摄像头(每秒
行图像对应的电压信号
50 帧)。
之后会有一个电压“凹
但是对于比赛来说,赛道是在白色底板上
槽”,此“凹槽”叫做行
铺设黑色引导线,因此它的干扰信息会少很
14 6
电子产品世界
2007.5
www.eepw.com.cn
栏目编辑
文蕴蕴
“飞思卡尔杯”全国大学生智能车辆邀请赛
高 校 园 地
多。只要在单行上有足够多的信息点,较少的
10 行相对位移之和(公
表1 普通180 度弯
行数就可以实现对黑线的检测;在综合了实践
式 2 )。最后根据该值的
比对之后,最终方案决定采用10 行的信息来判
大小并且结合实际赛道
断前方是直道还是弯道。
实验数据,来确定弯道
表2 S弯
单行黑线提取算法
和直道之间的阀值大小,
而且,随着弯道系数的
由于黑色赛道和白色底板之间的色差较
增大,该位移之和也会相应增大。
大,直接反映在图像数据中就是大于一个黑白
色阀值。通过实验可以基本上确定该阀值的大
小,根据现场光线的变化影响会有略微的变
化。但是该阀值基本上介于22~30 之间。因为
可以通过判断相邻数据点的差是否大于该阀
值,作为边沿提取算法的依据和主要参数。
(1)
(2)
图3 普通180°弯道
该算法的主要过程为:从最左端的第一个
根据该弯直道判断算法,可以得到一组由
有效数据点开始依次向右进行,第line 为原点,
直道入弯、然后出弯的Curve 参数曲线。(参考
判断和line+3 的差是否大于阀值,如果是则
图 3、4 和表1、2)观察表1 和表2 可以得到在
将line+3 记为i,从i 开始判断在接下来的从
弯道中 curve 数值一般都大于10, 而且随着曲
i+3 到该行最末一个点之间的差值是否大于阀
率半径的减小 curve 值也会相应的增大。因此
值,如果大于则将line+i/2+2 的坐标赋值给黑线
可以根据curve 的值来设置几个阀值,判断赛车
中心位置(参考图2)。
前方的路况信息,决定赛车是否减速。同时速
利用该算法所得到的黑线提取效果不仅可
度控制算法可以采用以curve 为变量的P 控制:
靠,而且实时性好;在失去黑线目标以后能够
记住是从左侧或者右侧超出视野,从而控制舵
(3)
机转向让赛车回到正常赛道。如果更进一步可
为了能够准备可靠的通过各种弯道,可以
图4 S弯
以设置阀值根据现场情况的变化而变化。在黑
采取转向舵机的P 控制:
色引导线已经能够可靠提取的基础上,我们可
(4)
以利用它来进行相应的弯、直道判断,以及速
其中:
度和转向舵机控制算法的研究。
弯、直道判断、以及速度和舵机控制
算法
(5)
(5)
影响赛车速度成绩的一个非常重要因素就
STEER_CENTER:舵机转向中心
是对弯道和直道的提前识别判断,从而实现安
X:当前黑线位置
全过弯、快速通过直道,提高比赛成绩。而摄
STEER_LEFT, STEER_RIGHT :舵机左、
像头方案在这方面有天然的优势。根据前面提
右转极限
到的最终以10 行黑线信息作为弯、直道的判断
Video_center:摄像头图像中心
算法依据,下面简单介绍一下该算法。
LINE_MAX, LINE_MAX :摄像头图像左
在单行黑线边沿检测提取算法的基础上,
右极限位置 (因篇幅有限,本文做了较多删
我们可以根据10 行的数据中每行黑线位置与
节 , 欲 阅 读 全 文 可 访 问 本 刊 网 站
10 行平均位置(公式 1)之相对位移,然后求
www.eepw.com.cn)
www.eepw.com.cn 2007.5
电子产品世界
14 7