《无人驾驶车辆及控制设计23430.pdf》由会员分享,可在线阅读,更多相关《无人驾驶车辆及控制设计23430.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、I 无人驾驶车辆及控制设计-基于摄像头的道路检测 作者:张朔豪,南京大学江淮学院 摘 要:文章主要介绍了通过摄像头采集道路信息,然后通过恩智浦公司的单片机处理图像信息,得到无人车辆可行驶的区域。并且介绍了三种道路边线的检测算法,分析三种算法处理速度和有效性。通过这些算法来确定道路边线,之后可以为车辆规划合理的行驶路径。关键词:相机;单片机;道路边缘 II 目 录 引言.1 1 微控制器与摄像头.1 2 道路图像的采集.2 3 路径识别.3 3.1 直接边缘检测算法.4 3.2 跟踪边缘检测算法.4 3.3 十字边缘检测法.4 4 结束语.6 参考文献.7 1 引言 当前,无人驾驶技术1,已经成
2、为汽车行业的热门话题。为了促进该技术的进步,各国投入巨资进行研发无人驾驶车辆技术,我国也不甘落后,汽车厂商相继投入到这一技术的研究和开发当中。本文基于这样的背景,和几个同学设计一款基于摄像头道路检测的无人车辆模型。早些年,大家用飞思卡尔公司的 16 位芯片 XS1282作为智能车的控制芯片,但由于处理速度不够,严重影响智能车的行驶速度,现在都普遍使用 32 位处理芯片了。除了使用摄像头3作为主传感器以外,还可以使用电感来检测铺设在车道上的通电导线4,或者使用光电传感器等作为感知外界环境的传感器,但摄像头传感器有明显的优势,它采集到的信息量更大,有利于后期分析,同时其前瞻最远,能达到 1m 以上
3、,这为智能车高速行驶提供了保障。1 微控制器与摄像头 微控制器就是智能车的“大脑”,它必须要有足够的硬件资源和强大的计算能力。MK60DN512ZVLQ10 芯片是飞思卡尔公司推出的一款基于ARM Cortex-M4 内核的 32 位微控制器,其有 144 个引脚,采用 LQFP 封装,且有丰富的可与外部设备相连的接口,在我们的智能车上用到的主要模块有:DMA(Direct Memory Access)模块,用来接收摄像头的信号数据;PWM(Pulse Width Modulation)模块,用来输出信号控制舵机转向以及电机驱动;PIT(Periodic Interrupt Timer)模块,
4、用于设定时间以触发中断程序;UART(Universal Asynchronous Receiver and Transmitter)模块,用来实现微处理器和上位机的数据通讯,方便调试程序。摄像头就好比智能车的“眼睛”,它为微控制器提供当前的道路信息,可将采集到的图像信息实时的传给微控制器进行处理。OV7620 是 CMOS 数字摄像头,供电电压低,只需要 5V,且功耗较低。OV7620 的引脚主要有场中断信号VSYNC 引脚:用来判断是否一幅图像已经开始;行中断信号 HREF 引脚:用来判断是否是一行图像的开始;数据输出口 Y0-Y7 引脚:用来输出摄像头的图像像素数据;PLCK 像素同步信
5、号引脚:一个周期表示一个点的像素值传到 Y0-Y7引脚;电源 5V 引脚和接地 GND 引脚为摄像头供电。2 图 1 OV7620 与 K60 的接口电路图 OV7620 与 K60 的引脚连接如图 1 所示,行场及像素中断信号分别于 K60的外部中断触发引脚 PTB3、PTA5 和 PTE5,数据输出口 Y0-Y7 引脚接到 K60的普通 IO 口 PTD0-PTD7。2 道路图像的采集 为了减少外界环境的影响以及提高智能车的识别效率,我们采用蓝底白道黑边的道路供智能车行驶。如图2 所示。图 2 智能车行驶的道路 摄像头采集的图像信息是用二维阵列表示的,其中二维阵列的每个元素表示图像的一个像
6、素点的灰度值。对于OV7620 摄像头,我们可以根据场中断信号VSYN、行中断信号 HREF、像素中断信号 PCLK 的波形来采集图像信息。用示波器查看以上三个中断信号的波形,可以看到它们的时序关系如图 3 所示。3 图 3 OV7620 中断信号时序关系图 可以测得以上三个信号的周期分别是 16.48ms、63.58us(只有高电平表示像素点的灰度值输出,大约占时 47.4us)、73ns。因为 1s/16.48ms=60.6,16.48ms/63.58us=259,47.4us/73ns=649,所以 OV7620 摄像头的分辨率可以达到标称的 640*240,同时其帧率为 60 帧/s。
7、针对智能车的图像采集来说,60 帧/s 的帧率是足够的,但 640*240 的分辨率包含的数据太多,会增加微处理器的计算量,在保证图像清晰度的前提下,我们使用 320*200 的分辨率就够了。对于行数,我们采用隔行采集的方法,可以在原有的 640 行里只将 320 行的数据存到微处理器;对于列数,我们根据像素中断信号 PCLK,将每行的前 20 个和后 20 个数据都舍弃,只存储中间的 200 个数据即可。这样就可以采集到合适大小的道路灰度图像,如下图 4 所示:图 4 道路灰度图像 3 路径识别 路径识别就是根据摄像头传回来的图像信号,分析道路信息,进而计算出智能车的行驶轨迹。常用的边缘检测
8、算法主要有直接边缘检测算法和跟踪边缘检测法。4 3.1 直接边缘检测算法 白色车道的像素值明显要大于蓝底黑边的像素值,所以可以根据实际环境设置一个合适的阈值,将原图像二值化成只有车道是白色,而其他背景全为黑的图片,如图 6 所示。基于二值化后的图像,采用逐点比较的方法,从最下面一行最左端的第一个数据点开始依次向右进行作差。如果第 i 个数据点与第 i+1 个数据点的差值等于 255(黑白像素的差值),则把第 i 点的位置标记为 a,如果差值为 0,则继续向右进行。找出 a 的位置后继续向右做差比较,如果 a+j 个数据点与 a+j-1 数据点的差值等于-255,则把第 a+j 点的位置标记为
9、b,如果差值为 0,则继续向右进行。那么左边界黑线的位置可以认为就是 a,右边界黑线的位置可以认为就是 b,则车道的中心坐标为(a+b)/2。直接边缘检测算法的缺点是要对每行的每个像素点都进行计算,这对于 K60 微控制器来说负荷比较大,占用过多的系统资源,不利于系统性能的发挥。算法示意图如图 5 所示。图 5 直接边缘检测法示意图 3.2 跟踪边缘检测算法 此算法由直接边缘检测算法简化而来。以左边缘为例,如果已经找到某行的左边缘,由于相邻两行的两侧边缘点都比较接近,那么在寻找下一行的左边缘时,就在上一行左边缘的附近进行寻找。跟踪边缘检测算法大大简化了直接边缘检测算法,不需要对每个像素点进行比
10、较运算,算法简单实际,不需要对整幅图像进行处理,占用系统资源较少,有利于智能车性能的发挥。3.3 十字边缘检测法 但是以上两种方法都需要对整幅图像进行检测,本文采用了一种比以上两种方法更简法的算法。根据算法检索点在图像中的位置将其称为“十字边缘检测法”,如图 6 所示。5 图 6 十字边缘检测法 “十字边缘检测法”的算法步骤为:(1)从图像第 0 行的中心点依次向第 1 行,第 2 行直到最后一行的中点进行检索,找到第一个黑点 A,记 A 点所在的行为第 a 行;(2)从 a-n 行(n 由调试实验确定)的中心点向左检索,找到第一个黑点 B,认为 B 点是左边缘的位置;(3)从 a-n 行的中
11、心向右检索,找到第一个黑点 C,认为 C 点是右边缘的位置;(4)找到 B,C 两点在第 a-n 行的中点,记作点 D,D=(B+C)/2;(5)认为 D 点为智能车当前位置,D 点与第 a-n 行的中点位置之差即为偏航量。根据算出的偏航量计算智能车下一个周期的行驶方向。图 7 直道和小“S”路径图 如图 7 若发现 A 点所在行在足够远处,如第 60 行以上,则认为是小“S”弯或直道,舵机打舵量变小。将要冲出跑道时。采用“十字边缘检测法”对图像进行检测,如图 8 若检测到 A 点非常近外,如 20 行以内,则舵机打舵量变大。6 图 8 即将冲出跑道时的图像 十字路口。当智能车将要行驶到十字路
12、口时,会出两种情况。第一种是A点出现在足够远处,如图 9,认为是直道或小“S”弯。第二种是 A 点没有出现在足够远处,但此时,B,C 两点必然在图像的左右两端,舵机方向回正,智能车直行向前。其中第二种情况出现的概率非常小,只有进入十字路口之前方向没有调整好时才会出现。图 9 十字路口路径图 4 结束语 本文通过对摄像头智能车的路径识别进行研究,在传统的滤波和二值化的基础上,介绍了三种路径识别方法,包括计算效率非常高的“十字边缘检测法”,利用此识别算法能够极大的节省微处理器的资源,从而缩短了控制周期,提高智能车控制系统的实时性。在此基础上,我们完成了摄像头智能车的制作,如图10 所示,基于上述算
13、法的快速性,我们的智能车的最高速度能够达到 3.1m/s,平均车速能够达到 2.59m/s。7 图 10 摄像头智能车 参考文献 1 Gao Y B,Cong J I,Han P W.Design of smart car system with came-rabased path recognition J.Journal of Lanzhou University of Tech-nology,2013.2 Nitzberg M,Shiota T.Nonlinear image filtering with edge and corner enhancementJ.IEEE Transactions on Pattern Analysis&Machine Intelligence,1992,14(8):826-833.3 Van Hall R C.Real time binarization of gray images:US,US 67384-96 B1P.2004.4 Cumani A.Edge detection in multispectral imagesJ.Cvgip Graphi-cal Models&Image Processing,2010,53(1):40-51.