欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于摄像头的智能车路径识别方案.docx

    • 资源ID:12351056       资源大小:245.07KB        全文页数:24页
    • 资源格式: DOCX        下载积分:6金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要6金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于摄像头的智能车路径识别方案.docx

    1、基于摄像头的智能车路径识别方案基于摄像头的智能车路径识别方案摘要:智能车硬件平台开采用飞思卡尔 16 位微控制器 MC9S12DG128 为核心的控制单元,由清华大学飞思卡尔嵌入式系统研发中心提供的开发板MC9S12EVKC 单片机最小系统板,并在此基础上自行完成的外围硬件电路设计;软件开发环境使用 Metrowerks 公司为 MC9S12 系列单片机专门提供的全套开发工具 CodeWarrior IDE。 文中介绍了智能车的系统总体结构,软硬件模块及开发流程。其中重点介绍摄像头的硬件电路的设计,摄像头输出数字信号的采集,视频图像信号处理及控制系统硬件电路设计,速度与转向控制算法,以及包括调

    2、试中遇到的问题的解决方法。关键字:智能车,摄像头,视频数据采集,路径识别,速度与转向控制Intelligence Car Based On Digital CameraAbstract: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 F

    3、reescale 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 & D Center provides the development boa

    4、rd of the smallest single-chip system board MC9S12EVKC, And on this basis to the completion of the external hardware circuit design software development environment software development used Code warrior IDE as its tool, which is Metrowerks Corporation technically provide a complete set of developme

    5、nt tools to MC9S12 series of single-chip. This article introduces the intelligent car systems architecture, software and hardware modules and development process, Which focuses on Camera hardware circuit design, Camera output digital signal collection, Video image signal processing, Control system h

    6、ardware circuit design, speed and direct control algorithm, As well as the solution of problem in debugging. Key Word: Intelligent car, Camera, Video Sample Collection, Speed and Direct Control目录第一章 绪论 41.1 课程意义 41.2 课题背景 41.3 任务 5第二章 硬件系统设计 62.1 单片机主要元件介绍 62.1.1 摄像头的介绍 62.2 硬件总体框图 72.2.1 电源、稳压电路 82

    7、.2.2 单片机控制板 102.2.3 测速电路 112.2.4 摄像头电路 112.2.5 舵机电路 122.2.6 软件方案选择电路 122.2.7 电机驱动电路 132.2.8 调试电路 14第三章 软件系统设计 153.1 软件总体框架 153.2 图像采集与处理 153.2.1 采集方法 153.2.2 路径识别 183.3 速度和方向的控制 223.3.1 PID算法介绍 223.3.2 闭环控制 24谢辞 25参考文献 26第一章 绪论1.1 课程意义通过智能车的软硬件设计,较为深入的了解嵌入式设计,提升自己的知识层面,拓展自己的思维,增强自己的动手能力,提高团队协作能力,为以后

    8、向嵌入式方向发展打下一定的基础。1.2 课题背景智能车的发展是从自动导引车(Automatic Guided Vehicle,AGV)起步的。AGV是指装有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护及各种移栽功能的运输车辆。1913年,美国福特汽车公司首次将有轨导引的AGV代替输送机用到底盘装配上。1954年,英国采用在地板下埋线,组成了电磁感应导向的简易AGVS。AGVS(Automatic Guided Vehicle System)是指自动导引车(AGV)和地面导引系统组成的、进行物料搬运等作业的光机电一体化的系统。1955年,英国研制出了在生产线上实用的AGVS。

    9、1959年,在美国首先出现了应用AGV的自动化仓库。1982年,德国出现了第一辆无人叉车。1985年,计算机通讯。识别技术应用于AGVS。 在国内,北京起重机械研究所于1976年研制出了我国第一台AGV。1991年起,中科院沈阳自动化研究所研制了客车装配AGV系统。 随着科学技术的发展,许多新技术都应用到AGV或AGVS上。例如,激光技术的应用使AGV实现虚拟路径的导航和安全保护;无线局域网的应用使AGV的调度实时性更强,是AGV调度技术的一场革命;现场总线的应用使AGV的可靠性和可维护性得到提高,RFID的应用使AGV与地面系统的信息交互量更大。自适应性更强。同时,随着智能交通系统研究的深入

    10、,无人驾驶智能车辆的研究也越来越受到人们的关注。 正因嵌入式产品无处不在,而嵌入式技术的发展也在突飞猛进,适逢中国物联网快速兴起,本人又是学嵌入式汽车控制这方面的专业,所以本人就毅然报名参加飞思卡尔智能车大赛,通过大赛积累了一些经验,趁毕业设计之时,把我的心得和经验做成了我的毕业设计。1.3 任务以MC9S12DG128为中心控制芯片的最小单片机系统,基于摄像头,而进行的智能车路径识别与控制方案的设计,目标是使小车能够自动沿着白色跑道上的黑线以尽可能大的速度行驶。第二章 硬件系统设计2.1 单片机主要元件介绍2.1.1 摄像头的介绍OV6620是美国OmniVision公司开发的CMOS彩色图

    11、像传感器芯片,它将光敏元阵列、驱动电路、信号处理电路、模数转换电路和接口电路等完全集成在同一芯片内, 仅需设计相应的外围电路即可实现单芯片成像系统。该芯片由于将CMOS光感应核与外围支持电路集成在一起,具有可编程控制与视频模/数混合输出等功能。同时该芯片具有图像开窗的功能,允许用户根据实际使用需要设置有效图像窗口的大小,使其只输出该范围内的图像信息,其范围从42到356292,并且窗口位置可以被放置在图像的任意位置,这对于采集特定范围的图像和提高系统速度有着重要的作用。 其性能特点有: (1) 单芯片1/4尺寸。 (2) 5V操作电压。 (3) I2C总线控制,标准SCCB接口。 (4) 开窗

    12、功能,局部图像输出。 (5) 视频信号输出:RGB/Raw RGB/YUV/YCbCr。 (6) 自动曝光控制/自动白平衡/自动增益控制/自动亮度控制。 (7) 图像质量控制,包括颜色饱和度、锐度、伽马校正等。 其内部包含以下几个模块: 图像象素阵列 OV6620具有356X292的象素阵列大小,即10万象素。 时序发生器 控制以下功能:象素阵列控制和帧产生(CIF, QCIF输出);内部时钟信号产生和分配;帧率时序;自动曝光控制;外部时序(垂直同步信号VSYNC,水平参考信号HREF和象素时钟PCLK)输出以便外部电路读取图像。 模拟信号处理模块 自动增益控制;自动白平衡;图像质量(颜色饱和

    13、度、锐度、色调、伽马等)控制。A/D转换经过模拟处理模块后,数据通过多路转 换开关分两路进行A/D转换.转换速率为12 MHz,与象素速率完全同步。 输出格式控制 发送图像前,控制输出数据格式。 数字视频端口 2.2 硬件总体框图摄像头测速调试电路单片机电源、稳压电路电机驱动软件方案选择电路舵机 图2.1 硬件总体框图硬件总体框图见图2.1系统硬件设计可以说是整个智能车设计的基础和重中之重。正确的硬件设计方向思路,是系统稳定可靠的基础,功能强大的硬件系统,更为软件系统的发挥提供了强大的平台。通过总结以往各届比赛经验和各个参赛队伍的技术方案,我们首先确定了我们硬件设计方向与思路。 1、整车低重心

    14、设计。通过以往几届比赛的经验我们看到,往往重心低,体积小巧,布局紧凑的赛车更能取得好的成绩。而重心过高的“长颈鹿”往往在高速过弯时出现侧翻。而通过汽车理论与现实中的竞速类比赛我们也可以看到,凡是竞速类的赛车均是低重心设计。于是,我们通过合理布局电路板和各种传感器,尽可能地降低整车重心。在不影响传感器前瞻,或者不过度牺牲传感器性能的情况下,尽量降低摄像头高度,以提高赛车的侧翻极限。 2、整车电路集成化,一体化设计。模块化设计和一体化设计是两种互有利弊的设计思路。模块化的好处是系统有良好的扩展性,可升级性,维护性好。但缺点是体积较大,接插件较多,整个系统有很多废重,不利于小型化和轻量化。集成化的设

    15、计思路的好处是原件密度高,系统可以小型化一体化,对于布局空间非常局促的智能车来说,小型化的电路设计更为方便布局。但是缺点是系统升级麻烦,需要极高的可靠性的保证。我们在最终采用的方案中,通过综合考虑各方面因素,在确定了系统最终硬件方案不做大的更改的情况下,在确保了系统可靠性的前提下,最终选择了一体化,集成化的硬件设计思路。使车体硬件电路布局紧凑,稳定可靠。3、大前瞻,高分辨率方案。在摄像头的安装不影响赛车行驶的前提下,尽可能的提高传感器前瞻,更大的前瞻,能为赛车提供更多的信息,更能让赛车提前作出决策直至抛弃记忆算法。而高分辨率则是大前瞻的保证,几十个像素的分辨率显然不能让赛车的视野跳出车前几十厘

    16、米的范围。 4、轻量化设计。重量的减轻,可以带来加速快,减速及时等一系列有点,所以达到设计目标的情况下,应尽可能减轻车重。单片机是系统的核心,稳定可靠的最小系统更是整个系统稳定的关键所在。由于我们采用的数字图像采集方案最终的电路较为复杂规模较大,为了达到集成化一体化,减小重量的目的,我们最终抛弃了模块化的设计方法,选用了高度集成单一电路板的设计,将单片机最小系统与图像处理模块,电源,驱动等全部集成在一块PCB上,通过合理布线,保证了单片机的稳定运行。 2.2.1 电源、稳压电路图2.2 电源电路电源同样是系统稳定的前提。前面提到的单片机和摄像头模块对电压的波动尤其敏感。智能车频繁加减速的过程中

    17、,由于电机和舵机电流巨大,如果电源模块设计不合理,很容易在加速或电机反转减速的瞬间拉低5V电源的电压,导致单片机或摄像头复位,最终导致赛车控制失败进而冲出跑道。为此,我们专门设计了线性稳压模块稳压至所需电压。这样的设计能够做到在电池状态不稳定的情况下,仍能保证智能车的稳定运行,大大提高了赛场上的适应能力。电路原理图如上图2.2。电源模块中MIC29502作为5V稳压芯片,电池一端通过D1和D2引出6V电压。2.2.2 单片机控制板图2.3 控制板电路控制板电路图如图2.3。PA0PA7口接数字摄像头Y0Y7口PB0PB3接到软件选择方案的拨码开关上PT0接到摄像头场中断信号VSYNC,PT1接

    18、到摄像头行中断信号HREFPP0舵机控制信号,接到舵机控制驱动端,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的信号。2.2.3 测速电路如图2.4,速度脉冲信号采集端PT2实时采集速度信号,反馈到单片机以实现闭环控制。图2.4 测速电路2.2.4 摄像头电路OV6620的优点:供电电压低

    19、,简化电路;内部集成AD和视频分离模块,简化电路,并且使得采集程序简单,采集质量高;视频信号转换在内部进行,减轻单片机负担。OV6620共有32个引脚,但我们真正能用到的不多。这辆智能车仅仅用到13个引脚,其他引脚并未使用,但是其他学校也有使用其他引脚的。现在把常用的引脚列出来:Y0Y7(数据输出端,接单片机IO口)、VSYNC(场中断信号端)、HREF(行中断信号端)、VCC(接5V)、GND(接地)、VTO(接视频采集卡调焦),其他可能会使用到的引脚:PCLK(像素同步信号端)、FODD(奇偶场信号端)。具体电路图如下图2.5。图2.5 摄像头电路2.2.5 舵机电路如图2.6,PP0给予

    20、舵机转向信号图2.6 舵机电路2.2.6 软件方案选择电路拨码开关信号,来选择何种方案,也就是单片机通过读取PB0PB3的值来选取所需要的软件方案,如图2.7。图2.7 软件方案电路2.2.7 电机驱动电路两片MC33886芯片来控制电机的正反转,而MC33886的输出是由单片机的PWM控制,即通过改变PWM的占空比来实现电机的加减速、正反转(正反转临界占空比为50%)。电路原理图见下图2.8。图2.8 电机驱动电路2.2.8 调试电路BDM在线调试,RS-232标准的串行通信接口,如图2.9。图2.9 串口通信电路第三章 软件系统设计3.1 软件总体框架中断被触发后,将数字信号存储到单片机。

    21、当一场图像采集完毕后,立即根据该场图像信息进行图像处理,从图像数据中提取赛道黑线,求得赛车于黑线位置的偏差,接着采用 PID 方法对舵机进行反馈控制。最终赛车根据检测到的速度,结合我们的速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进。框架图如下图3.1。 图3.1 软件总体框架3.2 图像采集与处理3.2.1 采集方法单片机采集图像传感器的数据有两种方法,模拟式和数字式。在往届比赛中,使用最为广泛的图像采集方案为基于LM1881视频同步分离芯片的模拟信号采集方案。 模拟信号采集方案需先将摄像头输出的复合视频信号进行分离,得到独立的同步信号和视频模拟量信

    22、号,接着根据同步信号对模拟视频信号进行A/D转换或者运用硬件二值化电路对模拟视频信号进行二值化。 对模拟信号进行A/D转换这种方案往往需要一个高速的A/D转换器件和一个视频信号分离器件(通常使用LM1881)。在对A/D转换精度要求不高的情况下,通过对DG128/DG256微控器进行超频,将其片内A/D超频至8M甚至更高的频率,再经过一系列的调整和设置,在8-bit精度下A/D转换时间可以低至1.5us左右,通常每行图像可以采集到40到80个点(根据单片机频率而定)可以基本满足比赛的需要。这种方式的特点是硬件结构简单、通用,采集方法已有详细的资料,实现比较简单。但是缺点是由于使用了单片机内部A

    23、D,图像的分辨率完全取决于AD的速度。但是单纯的靠超频来提高采集点数不但会带来系统不稳定的后果(有的队伍为了提高分辨率将单片机超频至40Mhz甚至48Mhz),更大的问题是由于超频是有极限的,这种方法已经没有了多少上升空间。在为了降低重心而将摄像头尽可能降低的大趋势下,图像质量日趋恶化,此种方案已经不可能满足图像采集对高分辨率的要求。 而数字式图像采集方案则是利用CMOS图像传感器可以直接输出并行数字信号与时序信号的特性,直接读取传感器的数字输出。该方案性能稳定,不需要A/D,也不需要额外的同步信号分离电路与升压电路。图像采集工作在单片机就变成了按照一定顺序将外部数据并行读入,因此程序简单,采

    24、集速度快。 但是问题的难点在于,数字摄像头在输出场同步信号VSYN与行同步信号HREF(这两个信号我们在模拟信号采集中已经非常熟悉)的同时,还同时输出像素同步信号。虽然场行同步信号我们可以通过中断甚至查询去采集,但是像素同步信号PCLK由于其输出频率达到了8MHz甚至更高(视输出场频决定),导致单片机在无外围电路配合的情况下根本无法捕捉如此高频的信号。最终解决这个问题的方法是通过合理设计相应的外围信号采集电路,配合单片机对高频图像信号进行采集。 这种方案的不足之处就是虽然省去了时序分离电路和升压电路,但复杂的时序逻辑控制电路(比赛禁止使用FPGA等可编程器件)也带来了电路规模扩大的后果,导致最

    25、终我们的电路在采用全贴片高密度布线的情况下,电路规模仍大大超过了通常的模拟信号采集方案。进而带来了布线困难,电路板过大布局困难,布局困难又进一步导致整车重心配置困难等后果。 虽然有着以上不足,但是我们认为此方案仍旧是可行的和有前途和潜力的。理由在于: 1 首先也是最大的优势就是可以轻易实现行分辨率100像素甚至200像素的 高分辨率图像采集。较以往几十个点的模拟方案有了质的飞跃。 2 省去了一路12V电源。我们只需保证一路5V电源稳定可靠即可,而不必再去同时保证12V升压的稳定。因为图像的稳定往往需要电源的稳定。以往比赛中有些队伍的失败问题确实出现在摄像头电源不稳定上面。赛车的加速和减速往往瞬

    26、间拉低电池电压,导致升压失败摄像头图像不稳定。 3虽然电路较复杂,但是全程数字信号采集与处理,较模拟信号更稳定可靠。在保证了电路设计,芯片焊接等硬件方面的质量后,此种方案的可靠性完全可以信赖。 4 软件处理数字信号,更合理,不论二值化还是运用其它图像处理算法,空间更广,灵活性更大。 故此,我们最终采用了数字信号采集的图像处理方案,并且其稳定性及可靠性经受住了考验。以下是一些程序代码: 摄像头初始化/IRQ行中断初始化 void IRQ_init(void) INTCR_IRQEN=1; /外部IRQ使能 INTCR_IRQE=1; /IRQ选择为边沿触发 /Timer0 场中断初始化 void

    27、 ECT_init(void) DDRT =0x00; /PT口 定义输入 TIOS =0x00; /设为输入捕捉 TSCR1=0x80; /定时器使能 TSCR2=0x04; /允许定时器溢出中断,定时器时钟32M/(23)=4M TCTL4=0xAB; /触发电平:下降沿-_隔行采集 TIE =0x02; /开中断 TFLG1=0xFF; /清除中断标志 /AD初始化 void AD_init(void) ATD0CTL2=0xC0;/AD上电, 快速清零, 无等待, 关闭外部触发 ATD0CTL3=0x08;/每通道转换一次, 无 FIFO ATD0CTL4=0x81; /8 位精度 2

    28、*AD周期 总分频 4 ATD0CTL5=0xA0; /右对齐, 无符号,单通道,通道0 ATD0DIEN=0x00; /关闭数字输入当行同步信号过来时,先判定该行信号是否处于场消隐区,处于则退出。反之,延时一段时间使行消隐区过去,再判断是否采集数据,是则采集AD 值传至数组中。当场同步信号过来时,先关闭中断,再交换图像指针,处理图像,判断道路特性,从而判断舵机和电机工作。如图3.2为软件流程图。 图3.2 软件流程图3.2.2 路径识别 图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是将整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当得阀值选取而获得仍然可以反

    29、映图像整体和局部特征得二值化图像。首先要把灰度图像二值化,得到二值化图像,这样子有利于图像进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为0表示,否则这些像素点被排除在物体区域以外,灰度值为1,表示背景或者例外的物体区域。因为赛道只有黑白两种颜色,其很容易分辨,采用二值化算法可以得到很好的效果,为了得到可靠的阀值,我们进行了大量的试验,最后得出了这个阀值为52,当小于这个阀值时,我们认定是

    30、检测到黑线,当大于这个阀值时,我们认为是检测到白线。图5.3为二值化后在串口上显示出来的图像。黑线提取流程 :黑线的提取我们参考了去年上海大学的黑线提取方法,在前十行采用边缘提取方法,十行以后的利用跟踪边缘提取方法。实验测得这种方法只要细节掌握好能够很好的提取出黑线。下面是具体的黑线提取方法,如图3.3:图3.3 黑线提取流程图1) 首先准备提取黑线 2) 用检测跳变的方法提取出前十行中每行的两个跳变点,然后求平均值就可以得到前十行的黑线位置。当搜索到多个跳变的时候,我们根据上一行跳变的位置确定出最优的那个跳变的位置作为本行的黑线跳变位置。当前十行都没有找到黑线的时候,我们就认为这幅图像的黑线

    31、丢失了,然后依据前一幅图像黑线的位置,给这幅图像的整体赋极值。当只有十行中的几行丢失时,我们就继续搜索黑线直道找完前十行位置。 3) 当前十行黑线存在时,我们利用前十行黑线的位置确定第十一行黑线的位置,然后在这个区间搜索黑线,依次类推用前一行黑线的位置确定后一行黑线的位置,当本行黑线没有找到时,此行黑线位置保持上行的值,下行搜索的位置相应的扩大。有连续3行黑线搜索不到十我们就认为黑线丢失,退出搜索。这样既可以去除干扰,还可以大大的提高算法的效率。 值得注意的是:第十行和前一行第九行这个接口位置边缘确定非常重要,要考虑的非常全面,不然有可能就只能搜索到前十行的黑线,后面的黑线因为边缘的问题所有不到。 4)搜索完成后推出搜索。对搜索到的黑线进行中值滤波和限幅滤波。只要搜索范围合理,这种算法有很强的抗干扰能力,并且可以滤除十字交叉和三角黑区的干扰。3.3 速度和方向的控制路径识别我们采取了东北大学的三点确定曲率的方法,在一幅图像的前中后各取一点,然后利用这三点计算出赛道的曲率。经过我们实验发现,直道曲率为一个恒定的值42,蛇形道的


    注意事项

    本文(基于摄像头的智能车路径识别方案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开