自动巡线小车的图像采集系统开发与优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
37542010,31(17)计算机工程与设计Computer Engineering and Design
0引言
自动巡线小车是智能自动化控制研究领域的一项重要内容。
作为一门新兴的综合技术,自动巡线小车可广泛地应用于工厂自动料车、固定场地搬运车等技术领域,但它要到达人们设想的高度智能化还有很长的距离。
近年来,出现了越来越多的基于DSP 、FPGA 等高速处理器的图像采集系统,主要用于运算量大的实时处理算法的实现[1]。
但这些高速图像采集系统并不适合于中低速单片机控制平台,且它们均采用分离元件实现采集控制电路,如产生视频缓冲存储器的地址、锁相环路的分频,视频的A/D 转换,采集控制,数字信号处理器,电路设计复杂,成本高而且不便于调试[2]。
所以,为了适应智能车竞赛的开发平台,利用低功耗的CMOS 数字摄
像头OV6620,开发了以飞思卡尔MC9S12XS128微控制器为主控芯片的图像采集系统,采用IDT 公司的双口静态FIFO 存储器IDT7008作为缓冲存储器,将信号完整地采集进系统,实现对系统的优化。
为了在不牺牲系统的运行速度的前提下,引入分割最佳阀值的迭代算法和中值滤波快速算法,以达到边缘检测的精确定位和更好的消除随机噪声的干扰。
该系统的开发是基于在白色背景上有一条任意给定的黑色带状引导线的场地。
1图像采集系统的硬件组成
该图像采集系统主要是由低功耗的CMOS 数字摄像头
OV6620和飞思卡尔MC9S12XS128微控制器组成,并考虑到单片机的MC9S12XS128读取速度比摄像头OV6620输出速率
收稿日期:2009-10-21;修订日期:2009-12-21。
嵌入式系统工程
张璐,宋秋红:自动巡线小车的图像采集系统开发与优化2010,31(17)3755
慢,使用高速、低功耗异步的双口静态存储器IDT7008进行数
据缓存,实现系统的优化。
摄像头OV6620是CMOS的数字摄像头,具有功耗低、集
成度高,便于采用高速的并行读取体系等优点,它以隔行扫描
的方式采集图像上的点,它需要稳定的5V电压供电,可和
单片机电源共用,PAL制,灰度等级为256级,每秒25帧,一
帧两场,那么每秒就有50场,意味着20ms就有一幅图像产
生,356x292pixels,即一幅图像有292行,一行有356个点。
视野和可视距离和镜头的选择有关,f=3.6mm时视野有25度
左右,f越大视场越小,可视距离需要调节镜头对焦。
同时当它
与单片机进行数据传输时无需A/D转换,无需视频同步分离
芯片LM1881,行场同步中断信号有现成的,而且消隐区也十分
有规律。
VTO管脚也可以当普通模拟摄像头用,同时具有图
像开窗输出的功能。
内部有IIC可编程,可以调整摄像头的参
数,比如最大灰度,对比度等等。
场中断VSYN通过下降沿捕
捉,判断是否一幅图像开始,周期是20ms,其中高电平持续时
间很短,可忽略;行中断HREF通过上升沿捕捉周期是63us左
右,其中高电平持续时间为40us,低电平持续时间23us,PCLK
的周期仅为110ns,太快了,捕捉不到,即使能够捕捉到110ns
的信号,而这其间还有采集这一步,很难做到既采集也判断是否有像素同步。
也没必要捕捉到它,采集图像时尽快地一个一个点取就行[3]。
系统的核心控制采用飞思卡尔半导体公司的HCS12系列单片机MC9S12XS128,其主要特点是最高总线速40MHz,高度的功能集成,易于扩展,具有低电压检测复位功能、看门狗计数器、且自带PWM输出功能电压低功耗等,64KB、128KB 和256KB闪存选项,均带有错误校正功能(ECC),带有ECC 的、4KB至8KB DataFlash,用于实现数据或程序存储,可配置8-、10-或12-位模数转换器(ADC),转换时间3us,支持控制区域网(CAN)、本地互联网(LIN)和串行外设接口(SPI)协议模块,带有16-位计数器的、8-通道定时器;出色的EMC,及运行和停止省电模式,增强型捕捉定时器。
将单片机设置成飞思卡尔特有的背景调试模式即BDM调试模式,可以直接在线调试,使开发效率大大提高[4]。
IDT7008是IDT公司开发的高速低功耗的FIFO双口静态存储器,与使用动态存储器相比,减少了电路的复杂程度,容量为64K×8,存取时间最小只有20ns,读写速度快,允许读写动作同时进行,工作电压+5V,有两个中断输出信号,数据总线可方便扩展到16bit,甚至更多,支持没有外部逻辑电路的深度扩展[5]。
2图像采集系统的硬件设计和调试
图像采集系统硬件连接图如图1所示。
系统主要使用了MC9S12XS128单片机的I/O接口PM口和增强型捕捉定时器模块PT口来完成数据的采集。
PT0为行中断口,PT1为场中断口,PM0-PM7为单片机的输入接口。
为了实现图像信号自动存入缓冲存储器IDT7008,加入与非门逻辑电路产生与摄像头时序要求一致的写脉冲。
当且仅当VSYN为低电平,HREF 为高电平,W/为低电平,使IDT7008锁存OV6620输出的数据,加入与非门之后,系统时序如图2所示。
当OV6620的场中断VSYN的下降沿触发时,开始一场图像数据的采集,行中断HREF的上升沿触发时开始采集每行图像数据,此时IDT7008锁存摄像头输出的数据。
采集到的图像灰度信号值通过摄像头的输出接口Y0-Y7传输给数据缓冲存储器的I0-I7口,单片机根据时序要求对R引脚置1,采集当前图像信号的灰度值,存入单片机,进行后续处理[6]。
硬件调试的步骤:
(1)首先使用Darim Vision公司的VT400(Mpegator)视频采集卡将摄像头采集到的图像通过PC机显示,由于摄像头OV6620采集到的图像信号已经是数字信号,所以此时视频采集卡的功能主要是将视频信息采集成计算机能直接调用的视频文件。
调节摄像头的焦距,以期获得清晰的所需图像信息。
其连接图如图3所示,使用IEEE1394线将摄像头与计算机连接起来,插上摄像头电源线和地线,运行视频采集卡配套采集软件,进行采集的参数设置[7],进行视频采集。
注意,摄像头的地端和视频采集卡的地端需共地,这样便能在PC机上采集到如图4所示的图像。
(2)调好摄像头的焦距后,按图3连接硬件,将图像采集和处理程序烧入单片机,进行调试,获得所需的图像数据。
(3)通过串口观察采集到的图像。
3图像处理
图像处理流程[8]如图5所示。
由于场和行消隐区的存在,
37562010,31(17)计算机工程与设计Computer Engineering and Design
同时考虑到单片机处理大量数据的能力有限,图像处理速度较慢,图像采集以隔行,隔像素采集的方式,为了进一步提高采集速度,除了尽量避免使用浮点运算,减少单片机负担,还可利用摄像头的图像开窗输出功能,通过设置其内部相应寄存器,只输出用户所关心的图像数据,同时使IDT7008读和写操作同时进行,以减少单片机等待数据写入的空闲时间。
在进行简单的图像去噪后,系统使用中值滤波算法对图像进行处理。
中值滤波作为一种典型的非线性滤波方法,能够在衰减随机噪声的同时不使边界模糊,能较好地保护原始信号,在灰度值变化比较小的情况下可以起到很好的平滑处理。
所以,系统先进行很好的滤波,平滑掉噪声,再进行边缘检测,检测效果会更好。
通过RS232串行接口与PC机通讯,在上位机调试软件上获得的图像数据如图6所示。
4程序算法的优化
考虑到不同位置光照条件和路面对光的反射有差别,同
取最大和最小灰度值的平均值,然后进行分割,产生两个子图像,分别求出两个子图像的灰度平均值,再求出二者的平均值,该平均值即作为新的阀值,再用新的阀值分割图像,经过几次循环,使错误分割的图像像素点降到最少,即阀值不再产生变化。
为了减少运算量,由于系统只是关心黑色引导线附近的区域,且该区域对噪声影响最敏感,所以只需对该区域进行迭代处理。
该算法有效地减少了噪声对图像的干扰范围,并使图像的边缘邻域像素点远离噪声干扰的敏感区,从而提高了图像边缘检测抗干扰能力,边缘点完全由自身的灰度值确定,避免了噪声影响范围的扩大,同时也没有影响单片机的运行速度,达到图像边缘精确定位的目的。
该图像阀值分割法能够提取完整的图像轮廓,使检测所得边缘具有连续性。
为了进一步提高系统检测的准确性,系统采用中值滤波快速算法对引导线附近的区域进行处理。
这种算法在有效减少噪声干扰和增强图像平滑性的同时,也大大提高了系统的运算速度。
该中值滤波快速算法是在采集到的一场原始数据序列上取出一个n×n(n为奇数)的矩阵序列作为中值滤波的滑动窗口,该滑动窗口在移动过程中(假定滑动窗口按列从左往右移动)只需将窗口内最左边一列元素移出窗口,再从右边加入一列元素,即构成新窗口元素。
具体操作是:
(1)将原窗口中最左边一列从窗口中删除;
(2)从窗口右边新加入一列元素,从而构成新的滑动窗口。
该算法主要是通过充分利用上一次排序关系,减少比较和交换次数,从而大大减少运算时间,将传统算法的复杂度O(n2)简化为O(n),避免了对无序序列重新排序,而只对有序序列进行数据元素的快速插入,从而达到快速排序的目的,同时该算法设计思路简单,易于编程实现。
经测试,该算法比采用传统的中值滤波算法使得单片机运行速度提高约2/3。
5实验结果与分析
在不同的光照条件实验下,该系统组合在不降低系统的运行速度的前提下,系统边缘定位的精确度可达80%以上,采集图像边缘精确可靠,即使边缘比较模糊,也能通过阀值分割得到增强,较好解决了位置信息阶跃的问题,实现了连续路径识别功能,提高了自动巡线小车的走线能力。
传统的智能小车多采用CMOS的模拟摄像头OV5116和飞思卡尔MC9S12DG128微控制器组成的图像采集系统,该图像采集系统电路设计大大简化,可采集完整准确的图像信号,且不影响系统的运行速度,抗干扰能力和定位精度均得到增强,检测成功率高。
6结束语
经反复实验证明,该系统在MC9S12XS128微控制器运行于40MHz的总线时钟下实现了自动巡线小车的图像采集、处理和自动寻迹控制。
通过摄像头OV6620和飞思卡尔MC9S12XS128主控微控制器组成的图像采集系统,使用缓冲存储器IDT7008获得完整的采集图像信号,通过引入分割最佳阀值的迭代算法和中值滤波快速算法,大大提高了系统检测的准确性,也减少了噪声对图像的影响,增强了图像的平滑性,给后续的黑线中心线提取带来了方便,实现了系统的优化。
该组合加上基于边缘检测的黑线中心线提取算法可有效
苏会卫,孙琳,欧瑜枫:DTN中服务感知的自适应消息转发路由算法2010,31(17)3819
出,SAAMFR算法的消息传输平均延迟与PROPHET[2]相近,并且在消息大小小于250kB和大于850kB时,SAAMFR算法的消息传输平均延迟较小。
SAAMFR算法的消息传输平均延迟稍大于BSW[4]算法,这是因为SAAMFR算法进行消息传输需要等待传输概率较大中间节点的出现。
4结束语
DTN作为一种新型网络体系结构,具有广泛的应用前景。
由于DTN环境的苛刻性,其路由设计面临着严峻挑战。
本文在PROPHET[2]路由算法的基础上,提出一种服务感知的自适应消息转发路由算法,该算法在估算传输概率时充分考虑节点相遇的连通时长,同时采用区分服务机制,实现紧急消息优先传输。
算法结合使用效用机制和控制复制技术,在提高传输性能的同时,又有效地控制网络开销。
仿真实验结果表明本文提出的路由算法相比于其他算法具有最大消息传达率和最小通信开销。
参考文献:
[1]FALL K.A delay-tolerant network architecture for challenged
Internets[C].Proceedings of ACM SIGCOMM.New York:ACM
Press,2003:27-34.
[2]Lindgren A,Doria A,Schelén O.Probabilistic routing in intermit-
tently connected networks[J].ACMSIGMOBILE Mobile Com-puting and Communications Review,2003,7(3):19-20.
[3]Becker VD.Epidemic routing for partially connected ad hoc net-
works[R].Technique Report,CS-2000-06,Department of Com-puter Science,Duke University,Durham,NC,2000.
[4]Spyropoulos T,Psounis K,Raghavendra CS.Spray and wait:An
efficient routing scheme for intermittently connected mobile net-works[C].Proc of the ACM SIGCOMM Workshop on Delay-Tolerant Networking.Philadelphia:ACM,2005.252-259.
[5]Homepage of Opportunistic Network Environment(ONE)[OL].
k.fi/tutkimus/dtn/theone/,Version1.3.0, 2009.
[6]孙利民,熊永平,马建.机会移动传感器网络中的自适应数据收
集机制[J].Journal on Communications,2008,29(11):186-193. [7]Burgess J,Gallagher B,Jensen D,et al.Maxprop:Routing for ve-
hicle-based disruption-tolerant networks[C.Proceedings of IEEE INFOCOM,2006:1-11.
[8]熊永平,孙利民,牛建伟,等.机会网络[J].Journal of Software,
2009,20(1):124-137.。