光电组-德州学院-cooper 下载本文

内容发布更新时间 : 2024/11/7 22:50:13星期一 下面是文章的全部内容请认真阅读。

基于CCD黑白图像检测的寻线智能车设计

Design of Intelligence Automotive

Black and white image detection based on CCD line

尹绘波 王飞 周浪 (德州学院 cooper)

摘要:本设计以“飞思卡尔”杯全国大学生智能车竞赛为背景,提出了一种根据ccd采集到的像素点电压信号引导小车循迹行驶的方案。本文主要介绍了对CCD原始图像的处理,黑线提取,以及转向舵机,控制,摇头舵机控制。并根据方案实际制作了小车。实践证明该方案是可行的。 关键词:智能车,ccd,黑线提取,舵机控制,适应性。

像在黑线处会有一个大的跳变,因为这个地方是由白变黑或者由黑边白,因此我们可以通过I.引言

寻找最大跳变值来确定黑线位置。首先我们把

ccd采集到的128个点隔点做差,我们观察图

飞思卡尔智能车竞赛已经成功举办九届,像发现(图1,图2),三个点(中间隔一个)分为三个组别:光电组,摄像头组,电磁组,做差差值最大。当然首先你得先把镜头焦距调其中电磁组是检测通电导线产生的电磁场信到一个跳变特别明显的位置。然后固定住。从号,摄像头组通过采集到图像提取黑线,这两上次中线位置向左找最大跳变,向右找最小跳个组别受外界干扰比较小,而从第八届开始,变。最大跳变点处即为左边线,最小跳变点处光电组开始用线性CCD采集信号,在我看来即为右边线。这种提线方案的好处是,可以适CCD就是一个只能采集一行像素值得摄像头,应不同光线。如果你的图像很低,并且有有杂但是比摄像头更容易受光线影响,因此我们设波(小的跳变点),你可以软件放大两倍后进计了一套适应性比较强的算法来对CCD图像行中值滤波,可以保留大的跳变,滤掉小的跳进行处理,以便保证稳定提取到黑线。 变。因为我们CCD图像较好,固没用此滤波

程序。

II. 设计原理

为了防止在全黑全白时最大跳变点也会

出现,造成误判。我采用了摇头的方案来避免

CCD10ms曝光在跑道上采集到的原始图全黑,所谓摇头就是把CCD架在另外的一个像如图所示。 舵机上面,让ccd跟随中线摆动,这样就不会

出现全黑,也就不会出现两条黑线全丢,可以保证大的前瞻。在全白处,我们把最大跳变和像素点最大值做比较,如果最大跳变值小于最大值的四分之一,我们就认为是全白,因为在 全白时不会出现特别大的跳变。

图1 另外摇头并不能保证不丢线,因此需要一

放大两倍后图像 个丢线判断。这个判断是,最大跳变值与最小

跳变值得绝对值作比较,如果他们两个之间差

超过较大值的一半,则认为单侧丢线,单侧丢先后另外一条线按照上次赛道宽度补出。

摇头舵机的安装,ccd的安装,如图;

图2

线性CCD 通过感受外界光线强弱输出不同的电压值。光线强电压值高,光线暗电压值低。这样就可以区分黑白,但是TSL1401 线性CCD 的输出信号和环境光线密切相关,在

自然光条件比晚上灯光下AO 引脚输出电压摇头过十字一直是一个难题,再加上今年值高出很多,正对着光线比背着光线输出电压新加了人字掉头路这一元素,所以我们又加了高,白炽灯光下比日光灯下输出电压高。因此,一个CCD,采用双CCD摇头方案。十字的处理同一参数(曝光时间、镜头光圈)难以适应各思路:远前瞻ccd检测到全白后,由近前瞻ccd种环境,因为ccd的这个特性,

接管,如果两个ccd同时检测到全白则打正切许多商家采取了改变曝光时间,改变放大由远前瞻ccd负责循迹,直道远前瞻ccd找到倍数等很多方法,但是改变曝光时间会占用更黑线,经过测试此方案既能保持远前瞻ccd 多的CPU资源,改变放大倍数需要加运放。

60cm以上的前瞻,又可以稳定的过十字。

III. 设计方案(程序主题思路)

摇头舵机的控制我们没有采用传统的增量式pid。而是用的位置式pid。因为我们广角因此我们通过不断的探索,终于找到一种镜头可以看到几乎两个赛道宽度,并且增量式适应性强,无需动态曝光,无需动态放大,并pid十字不太好处理。

且可以稳定提取黑线的方案。此方案基本思路转向舵机的控制,转向舵机的转向量为摇如下:我们观察发现ccd在赛道上采集到的图

头舵机打脚加上偏差乘以转向舵机P,转向舵

机P我们用的二次函数。保证直道,小S,不晃,并且急弯能打死。

主要参考文献

1张阳 吴晔, 滕勤 mc9s12xs单片机原理及嵌入式系统开发 电子工业出版社 (2011年9月1日)

2卓晴, 黄开胜, 邵贝贝. 学做智能车[M]. 北京:北航出版社,2007.3

,