毕业设计(论文)-基于摄像头的智能车路径识别方案.doc_第1页
毕业设计(论文)-基于摄像头的智能车路径识别方案.doc_第2页
毕业设计(论文)-基于摄像头的智能车路径识别方案.doc_第3页
毕业设计(论文)-基于摄像头的智能车路径识别方案.doc_第4页
毕业设计(论文)-基于摄像头的智能车路径识别方案.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于摄像头的智能车路径识别方案基于摄像头的智能车路径识别方案 摘要:摘要:智能车硬件平台开采用飞思卡尔 16 位微控制器 MC9S12DG128 为核心的控 制单元,由清华大学飞思卡尔嵌入式系统研发中心提供的开发板 MC9S12EVKC 单片 机最小系统板,并在此基础上自行完成的外围硬件电路设计;软件开发环境使用 Metrowerks 公司为 MC9S12 系列单片机专门提供的全套开发工具 CodeWarrior IDE。 文中介绍了智能车的系统总体结构,软硬件模块及开发流程。其中重点介绍摄 像头的硬件电路的设计,摄像头输出数字信号的采集,视频图像信号处理及控制系 统硬件电路设计,速度与转向控制算法,以及包括调试中遇到的问题的解决方法。 关键字:关键字:智能车,摄像头,视频数据采集,路径识别,速度与转向控制 1 Intelligence Car Based On Digital Camera Abstract:In this article, article present the embedded systems design results of Wuxi professional collage of science and technology zhenze motorcade working during the period of preparing the fourth session of the Freescale Intelligence Car Competition, Including hardware design, software design of smart car. the hardware platform of the smart car bases on S12 development board which features MC9S12DG128 micro-controller, Freescale Embedded Systems, Tsinghua University R 内部时钟信号产生 6 和分配;帧率时序;自动曝光控制;外部时序(垂直同步信号 VSYNC,水平参考信号 HREF 和象素时钟 PCLK)输出以便外部电路读取图像。 模拟信号处理模块 自动增益控制;自动白平衡;图像质量(颜色饱和度、锐度、色调、伽马等)控制。 A/D 转换经过模拟处理模块后,数据通过多路转 换开关分两路进行 A/D 转换.转换速率为12 MHz,与象素速率完全同步。 输出格式控制 发送图像前,控制输出数据格式。 数字视频端口 2.22.2 硬件总体框图硬件总体框图 图2.1 硬件总体框图 硬件总体框图见图2.1 系统硬件设计可以说是整个智能车设计的基础和重中之重。正确的硬件设计方 向思路,是系统稳定可靠的基础,功能强大的硬件系统,更为软件系统的发挥提供 了强大的平台。通过总结以往各届比赛经验和各个参赛队伍的技术方案,我们首先 确定了我们硬件设计方向与思路。 1、整车低重心设计。通过以往几届比赛的经验我们看到,往往重心低,体积 小巧,布局紧凑的赛车更能取得好的成绩。而重心过高的“长颈鹿”往往在高速过 电源、稳压电路 单片机 测速 舵机 摄像头 软件方案选择电路 电机驱动 调试电路 7 弯时出现侧翻。而通过汽车理论与现实中的竞速类比赛我们也可以看到,凡是竞速 类的赛车均是低重心设计。于是,我们通过合理布局电路板和各种传感器,尽可能 地降低整车重心。在不影响传感器前瞻,或者不过度牺牲传感器性能的情况下,尽 量降低摄像头高度,以提高赛车的侧翻极限。 2、整车电路集成化,一体化设计。模块化设计和一体化设计是两种互有利弊 的设计思路。模块化的好处是系统有良好的扩展性,可升级性,维护性好。但缺点 是体积较大,接插件较多,整个系统有很多废重,不利于小型化和轻量化。集成化 的设计思路的好处是原件密度高,系统可以小型化一体化,对于布局空间非常局促 的智能车来说,小型化的电路设计更为方便布局。但是缺点是系统升级麻烦,需要 极高的可靠性的保证。我们在最终采用的方案中,通过综合考虑各方面因素,在确 定了系统最终硬件方案不做大的更改的情况下,在确保了系统可靠性的前提下,最 终选择了一体化,集成化的硬件设计思路。使车体硬件电路布局紧凑,稳定可靠。 3、大前瞻,高分辨率方案。在摄像头的安装不影响赛车行驶的前提下,尽可 能的提高传感器前瞻,更大的前瞻,能为赛车提供更多的信息,更能让赛车提前作 出决策直至抛弃记忆算法。而高分辨率则是大前瞻的保证,几十个像素的分辨率显 然不能让赛车的视野跳出车前几十厘米的范围。 4、轻量化设计。重量的减轻,可以带来加速快,减速及时等一系列有点,所 以达到设计目标的情况下,应尽可能减轻车重。 单片机是系统的核心,稳定可靠的最小系统更是整个系统稳定的关键所在。由 于我们采用的数字图像采集方案最终的电路较为复杂规模较大,为了达到集成化一 体化,减小重量的目的,我们最终抛弃了模块化的设计方法,选用了高度集成单一 电路板的设计,将单片机最小系统与图像处理模块,电源,驱动等全部集成在一块 PCB 上,通过合理布线,保证了单片机的稳定运行。 2.2.12.2.1 电源、稳压电路电源、稳压电路 8 图 2.2 电源电路 电源同样是系统稳定的前提。前面提到的单片机和摄像头模块对电压的波动尤 其敏感。智能车频繁加减速的过程中,由于电机和舵机电流巨大,如果电源模块设 计不合理,很容易在加速或电机反转减速的瞬间拉低5V 电源的电压,导致单片机 或摄像头复位,最终导致赛车控制失败进而冲出跑道。为此,我们专门设计了线性 稳压模块稳压至所需电压。这样的设计能够做到在电池状态不稳定的情况下,仍能 保证智能车的稳定运行,大大提高了赛场上的适应能力。 电路原理图如上图2.2。电源模块中 MIC29502作为5V 稳压芯片,电池一端通过 D1和 D2引出6V 电压。 9 2.2.22.2.2 单片机控制板单片机控制板 图 2.3 控制板电路 控制板电路图如图 2.3。 PA0PA7 口接数字摄像头 Y0Y7 口 PB0PB3 接到软件选择方案的拨码开关上 PT0 接到摄像头场中断信号 VSYNC,PT1 接到摄像头行中断信号 HREF PP0 舵机控制信号,接到舵机控制驱动端,PP0、PP1 分别接到 MC33886 的 IN2、IN1 端,控制 MC33886 的输出 OUT2、OUT1,最终控制电机的正反转, 实现电机的加减速 PM0、PM1 是 MC33886 上 OUT0、OUT1 的开关信号 PJ6、PJ7 普通 I/O 口,用于关闭 H 桥的默认状态 PS0、PS1 串行通信接口,PS0 输出到 MAX232 的 T1IN 引脚,PS1 接收来自 MAX232 的 R1OUT 的信号。 10 2.2.32.2.3 测速电路测速电路 如图 2.4,速度脉冲信号采集端 PT2 实时采集速度信号,反馈到单片机以实现 闭环控制。 图 2.4 测速电路 2.2.42.2.4 摄像头电路摄像头电路 OV6620 的优点:供电电压低,简化电路;内部集成 AD 和视频分离模块,简化 电路,并且使得采集程序简单,采集质量高;视频信号转换在内部进行,减轻单片 机负担。 OV6620 共有 32 个引脚,但我们真正能用到的不多。这辆智能车仅仅用到 13 个引脚,其他引脚并未使用,但是其他学校也有使用其他引脚的。现在把常用的引 脚列出来: Y0Y7(数据输出端,接单片机 IO 口) 、VSYNC(场中断信号端) 、HREF(行中 断信号端) 、VCC(接 5V) 、GND(接地) 、VTO(接视频采集卡调焦) ,其他可能会使 用到的引脚:PCLK(像素同步信号端) 、FODD(奇偶场信号端) 。 具体电路图如下图 2.5。 11 图 2.5 摄像头电路 2.2.52.2.5 舵机电路舵机电路 如图 2.6,PP0 给予舵机转向信号 图 2.6 舵机电路 2.2.62.2.6 软件方案选择电路软件方案选择电路 拨码开关信号,来选择何种方案,也就是单片机通过读取 PB0PB3 的值来选 12 取所需要的软件方案,如图 2.7。 图 2.7 软件方案电路 2.2.72.2.7 电机驱动电路电机驱动电路 两片 MC33886 芯片来控制电机的正反转,而 MC33886 的输出是由单片机的 PWM 控制,即通过改变 PWM 的占空比来实现电机的加减速、正反转(正反转临界占空比 为 50%) 。电路原理图见下图 2.8。 13 图 2.8 电机驱动电路 2.2.82.2.8 调试电路调试电路 BDM 在线调试,RS-232 标准的串行通信接口,如图 2.9。 图 2.9 串口通信电路 14 第三章第三章 软件系统设计软件系统设计 3.13.1 软件总体框架软件总体框架 中断被触发后,将数字信号存储到单片机。当一场图像采集完毕后,立即根据 该场图像信息进行图像处理,从图像数据中提取赛道黑线,求得赛车于黑线位置的 偏差,接着采用 PID 方法对舵机进行反馈控制。最终赛车根据检测到的速度,结 合我们的速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛 规则情况下沿赛道快速前进。框架图如下图 3.1。 图 3.1 软件总体框架 3.23.2 图像采集与处理图像采集与处理 3.2.13.2.1 采集方法采集方法 单片机采集图像传感器的数据有两种方法,模拟式和数字式。在往届比赛中, 开始 硬件初始化 开中断 舵机和电机控制 场中断 图像处理 返回 行中断 图像处理 返回 15 使用最为广泛的图像采集方案为基于 LM1881 视频同步分离芯片的模拟信号采集方 案。 模拟信号采集方案需先将摄像头输出的复合视频信号进行分离,得到独立的同 步信号和视频模拟量信号,接着根据同步信号对模拟视频信号进行 A/D 转换或者运 用硬件二值化电路对模拟视频信号进行二值化。 对模拟信号进行 A/D 转换这种方案往往需要一个高速的 A/D 转换器件和一个视 频信号分离器件(通常使用 LM1881) 。在对 A/D 转换精度要求不高的情况下,通过 对 DG128/DG256 微控器进行超频,将其片内 A/D 超频至 8M 甚至更高的频率,再经 过一系列的调整和设置,在 8-bit 精度下 A/D 转换时间可以低至 1.5us 左右,通常 每行图像可以采集到 40 到 80 个点(根据单片机频率而定)可以基本满足比赛的需 要。这种方式的特点是硬件结构简单、通用,采集方法已有详细的资料,实现比较 简单。但是缺点是由于使用了单片机内部 AD,图像的分辨率完全取决于 AD 的速度。 但是单纯的靠超频来提高采集点数不但会带来系统不稳定的后果(有的队伍为了提 高分辨率将单片机超频至 40Mhz 甚至 48Mhz),更大的问题是由于超频是有极限的, 这种方法已经没有了多少上升空间。在为了降低重心而将摄像头尽可能降低的大趋 势下,图像质量日趋恶化,此种方案已经不可能满足图像采集对高分辨率的要求。 而数字式图像采集方案则是利用 CMOS 图像传感器可以直接输出并行数字信号 与时序信号的特性,直接读取传感器的数字输出。该方案性能稳定,不需要 A/D, 也不需要额外的同步信号分离电路与升压电路。图像采集工作在单片机就变成了按 照一定顺序将外部数据并行读入,因此程序简单,采集速度快。 但是问题的难点在于,数字摄像头在输出场同步信号 VSYN 与行同步信号 HREF(这两个信号我们在模拟信号采集中已经非常熟悉)的同时,还同时输出像素 同步信号。虽然场行同步信号我们可以通过中断甚至查询去采集,但是像素同步信 号 PCLK 由于其输出频率达到了 8MHz 甚至更高(视输出场频决定) ,导致单片机在 无外围电路配合的情况下根本无法捕捉如此高频的信号。最终解决这个问题的方法 是通过合理设计相应的外围信号采集电路,配合单片机对高频图像信号进行采集。 这种方案的不足之处就是虽然省去了时序分离电路和升压电路,但复杂的时序 16 逻辑控制电路(比赛禁止使用 FPGA 等可编程器件)也带来了电路规模扩大的后果, 导致最终我们的电路在采用全贴片高密度布线的情况下,电路规模仍大大超过了通 常的模拟信号采集方案。进而带来了布线困难,电路板过大布局困难,布局困难又 进一步导致整车重心配置困难等后果。 虽然有着以上不足,但是我们认为此方案仍旧是可行的和有前途和潜力的。理 由在于: 1 首先也是最大的优势就是可以轻易实现行分辨率 100 像素甚至 200 像素的 高分辨率图像采集。较以往几十个点的模拟方案有了质的飞跃。 2 省去了一路 12V 电源。我们只需保证一路 5V 电源稳定可靠即可,而不必再 去同时保证 12V 升压的稳定。因为图像的稳定往往需要电源的稳定。以往比赛中有 些队伍的失败问题确实出现在摄像头电源不稳定上面。赛车的加速和减速往往瞬间 拉低电池电压,导致升压失败摄像头图像不稳定。 3 虽然电路较复杂,但是全程数字信号采集与处理,较模拟信号更稳定可靠。 在保证了电路设计,芯片焊接等硬件方面的质量后,此种方案的可靠性完全可以信 赖。 4 软件处理数字信号,更合理,不论二值化还是运用其它图像处理算法,空间 更广,灵活性更大。 故此,我们最终采用了数字信号采集的图像处理方案,并且其稳定性及可靠性 经受住了考验。以下是一些程序代码: 摄像头初始化 /IRQ 行中断初始化 void IRQ_init(void) INTCR_IRQEN=1; /外部 IRQ 使能 INTCR_IRQE=1; /IRQ 选择为边沿触发 /Timer0 场中断初始化 void ECT_init(void) DDRT =0 x00; /PT 口 定义输入 17 TIOS =0 x00; /设为输入捕捉 TSCR1=0 x80; /定时器使能 TSCR2=0 x04; /允许定时器溢出中断,定时器时钟 32M/(23)=4M TCTL4=0 xAB; /触发电平:下降沿-隔行采集 TIE =0 x02; /开中断 TFLG1=0 xFF; /清除中断标志 /AD 初始化 void AD_init(void) ATD0CTL2=0 xC0;/AD 上电, 快速清零, 无等待, 关闭外部触发 ATD0CTL3=0 x08;/每通道转换一次, 无 FIFO ATD0CTL4=0 x81; /8 位精度 2*AD 周期 总分频 4 ATD0CTL5=0 xA0; /右对齐, 无符号,单通道,通道 0 ATD0DIEN=0 x00; /关闭数字输入 当行同步信号过来时,先判定该行信号是否处于场消隐区,处于则退出。反之, 延时一段时间使行消隐区过去,再判断是否采集数据,是则采集 AD 值传至数组中。 当场同步信号过来时,先关闭中断,再交换图像指针,处理图像,判断道路特性, 从而判断舵机和电机工作。 如图 3.2 为软件流程图。 场中断 关中断 清除场中断标志位 18 图 3.2 软件流程图 3.2.23.2.2 路径识别路径识别 图像的二值化处理就是讲图像上的点的灰度置为 0 或 255,也就是将整个图像 呈现出明显的黑白效果。即将 256 个亮度等级的灰度图像通过适当得阀值选取而获 得仍然可以反映图像整体和局部特征得二值化图像。首先要把灰度图像二值化,得 到二值化图像,这样子有利于图像进一步处理时,图像的集合性质只与像素值为 0 或 255 的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处 理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠 返回 行变量初始化为 0 交换处理数组 采集数组指针 允许 t 行中断 图像处理 开中断 19 的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为 0 表 示,否则这些像素点被排除在物体区域以外,灰度值为 1,表示背景或者例外的物 体区域。因为赛道只有黑白两种颜色,其很容易分辨,采用二值化算法可以得到很 好的效果,为了得到可靠的阀值,我们进行了大量的试验,最后得出了这个阀值为 52,当小于这个阀值时,我们认定是检测到黑线,当大于这个阀值时,我们认为是 检测到白线。图 5.3 为二值化后在串口上显示出来的图像。 黑线提取流程黑线提取流程 : 黑线的提取我们参考了去年上海大学的黑线提取方法,在前十行采用边缘提取 方法,十行以后的利用跟踪边缘提取方法。实验测得这种方法只要细节掌握好能够 很好的提取出黑线。下面是具体的黑线提取方法,如图 3.3: 20 图 3.3 黑线提取流程图 1) 首先准备提取黑线 2) 用检测跳变的方法提取出前十行中每行的两个跳变点,然后求平均值就可 以得到前十行的黑线位置。当搜索到多个跳变的时候,我们根据上一行跳变的位置 确定出最优的那个跳变的位置作为本行的黑线跳变位置。当前十行都没有找到黑线 的时候,我们就认为这幅图像的黑线丢失了,然后依据前一幅图像黑线的位置,给 这幅图像的整体赋极值。当只有十行中的几行丢失时,我们就继续搜索黑线直道找 完前十行位置。 21 3) 当前十行黑线存在时,我们利用前十行黑线的位置确定第十一行黑线的位 置,然后在这个区间搜索黑线,依次类推用前一行黑线的位置确定后一行黑线的位 置,当本行黑线没有找到时,此行黑线位置保持上行的值,下行搜索的位置相应的 扩大。有连续 3 行黑线搜索不到十我们就认为黑线丢失,退出搜索。这样既可以去 除干扰,还可以大大的提高算法的效率。 值得注意的是:第十行和前一行第九行这个接口位置边缘确定非常重要,要考 虑的非常全面,不然有可能就只能搜索到前十行的黑线,后面的黑线因为边缘的问 题所有不到。 4)搜索完成后推出搜索。对搜索到的黑线进行中值滤波和限幅滤波。只要搜 索范围合理,这种算法有很强的抗干扰能力,并且可以滤除十字交叉和三角黑区的 干扰。 3.33.3 速度和方向的控制速度和方向的控制 路径识别我们采取了东北大学的三点确定曲率的方法,在一幅图像的前中后各 取一点,然后利用这三点计算出赛道的曲率。经过我们实验发现,直道曲率为一个 恒定的值 42,蛇形道的曲率值小于 65,普通弯道小于 75,大 s 和发卡弯都大于 75.通 过这种方法能够很好的识别出赛道,但是我们在写这个算法的时候由于自己水平有 限出现过许多的问题,比如单片机的溢出问题,计算结果和理想结果不一致等,但 是这都是算法的问题,经过我们一步一步的改进,最终用这种算法实现了对赛道的 划分。值得注意的是:前面我们在一副图像黑线丢失的时候给整幅图像都给的极致, 判断曲率在这个时候也把他判断成了直道,后面我们根据整幅图像的偏差通曲率相 结合的方法判断,发现这样避免了以前出现的误判问题。 对赛道识别出来后我们具体讲三道划分了 3 类,直道和蛇形道合并为一类。普 通弯为一类。大 s 和发卡弯为一类。最终我们不同的赛道采用不同的控制策略。 3.3.13.3.1 PIDPID 算法介绍算法介绍 PID 控制以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主 要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时, 控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调 22 试来确定,这时应用 PID 控制技术最为方便。即当我们不完全了解一个系统和被控 对象,或不能通过有效的测量手段来获得系统参数时,最适合用 PID 控制技术。 PID 控制就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 目前 PID 控制在工业控制系统中无处不见,随着控制效果的要求不断提高,PID 逐 渐向智能化发展,但形形色色“时髦”的现代控制理论中的 PID 最终还是源自经典 PID 理论。为什么 PID 应用如此广泛、又长久不衰?是因为 PID 解决了自动控制理 论所要解决的最基本问题,既系统的稳定性、快速性和准确性。调节 PID 的参数, 可实现在系统稳定的前提下,兼顾系统的带载能力和抗扰能力,同时,在 PID 调节 器中引入积分项,系统增加了一个零积点,使之成为一阶或一阶以上的系统,这样 系统阶跃响应的稳态误差就为零。由于自动控制系统被控对象的千差万别,PID 的 参数也必须随之变化,以满足系统的性能要求。 模拟 PID 与数字 PID: PID 控制算法包括模拟 PID 和数字 PID 两种控制算法。模拟 PID 调节具有原理 简单、易于实现、鲁棒性强和适用面广等优点,在实际应用中,根据实际工作经验 在线整定 PID 各参数,往往可以取得较为满意的控制效果。数字 PID 控制则以此为 基础,与计算机的计算与逻辑功能结合起来,不但继承了模拟 PID 调节的优点,而 且由于软件系统的灵活性,PID 算法可以得到修正而更加完善,使变得更加灵活多 样,更能满足生产过程中提出的各种控制要求。 PID 控制原理: 设系统的误差为 e(t),则模拟 PID 控制规律为: 23 3.3.23.3.2 闭环控制闭环控制 闭环控制是控制论的一个基本概念。指作为被控的输出以一定方式返回到 作为控制的输入端,并对输入端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论