基于线性CCD的寻线算法ThealgorithmoflinescanbasedonLinearCCD李登峰刘一恒安云初张员境(长安大学,长安大学光电二队)摘要:本设计以第十届“飞思卡尔”杯全国大学生智能车竞赛为背景,提出了一种全新的寻线算法,比以往的寻线算法更加稳定,费时更短。本文介绍了这一方案的基本思想,给出了程序框图,并实际测试了该方案。结果显示该方案是可行的。关键词:飞思卡尔;线性CCD;寻线算法;I.引言以往的智能车竞赛中,光电组一般采用二值化法或者跳变沿法,而二值化法受环境影响比较大,动态阀值的采取也比较费时,跳变沿受环境影响小,并且时间复杂度低,一般采用从两边往中间寻线和从中间往两边寻线的方法,如果采用第一种方法,在赛道中间的障碍无法判断,并且如果CCD扫描的很宽,很有可能看到别的赛道而导致寻线出错;而如果采用第二种方法,赛道中间的单线不好处理,并且如果车速很快而且遇到急弯,中点很可能跟踪不上,导致无法正确的向两边扫描。本方案采用从左到右依次扫描的方法,扫描所有的跳变沿。II.设计原理本方案大致思想是从左到右将赛道扫描一遍,将所有的上升沿存在一个数组中,将所有的下降沿存在一个数组中,将各个上升沿和下降沿匹配,算出偏差,和上次偏差比较,偏差改变量最小的作为本次的偏差,这样做,不管赛道是单线还是双线,旁边有没有赛道,小车一般不会串线,比较稳定。本方案可以具体记录各个上升沿和下降沿的位置和个数,有助于特殊情况的判断和处理,III.设计方案在本设计方案的基础上,又设计了直角处理,障碍处理和无线处理。程序流程图如下:1.直角处理2.障碍处理3.无线处理4.寻线处理主要参考文献[1]卓晴,黄开胜,邵贝贝.学做智能车[M].北京:北航出版社,2007.3