1、TM摄像头摄像头智能车设计方案智能车设计方案TMSlide 2主要内容主要内容 摄像头智能车系统概述 单片机片上资源分配 摄像头及图像处理 电机、舵机及其控制 硬件设计方案 软件设计方案TM摄像头智能车系统概述摄像头智能车系统概述Slide 3CCD摄像头ColdFire系列单片机MCF52259最小系统Futaba S3010 舵机智能车系统主板光电编码器驱动模块及直流电机TM摄像头智能车系统概述摄像头智能车系统概述Slide 4MCF52259控制器电源管理模块CCD图像采集模块蓝牙串口通信模块 舵机 转向轮BTS7960驱动模块直流电机驱动轮光电编码器系统总体框图系统总体框图TM摄像头智
2、能车系统概述摄像头智能车系统概述智能车的工作过程:智能车的工作过程:摄像头捕捉跑道的图像,并传输给单片机;单片机内嵌程序对图像信息进行处理,根据控制策略得出电机应达到的转速和舵机应有的打角,并控制舵机和电机驱动模块作出相应的动作(舵机改变打角、电机加减速);光电编码器跟随小车的运行向单片机发出脉冲,单片机通过脉冲计数模块记录脉冲个数从而计算出电机转速,并进行速度调节;Slide 5TM单片机片上资源分配单片机片上资源分配Slide 6小车功能模块小车功能模块信号类型信号类型对应单片机模块对应单片机模块传输方向传输方向*图像采集(以CCD为例)模拟(图像信息)数字(中断信号)AD、ECT输入捕捉
3、(或INT中断)输入光电编码器数字(脉冲)ECT脉冲累加PA输入舵机数字(PWM)PWM模块输出电机驱动模块数字(PWM)PWM模块输出蓝牙串口通信模块数字SCI模块输入和输出*传输方向指对单片机而言TM单片机片上资源分配单片机片上资源分配内存分配内存分配 内存用于程序运行期间指令、变量的存储。单片机内存较小(以XS128为例,8K),应避免浪费。尤其应注意图像数据(二维数组)的存储空间Slide 7110 100111110 100111110 100111110 100111110 100111 110 100111110 10011160行100列60100Byte=6KBchar Im
4、age60100TM摄像头与图像处理摄像头与图像处理摄像头的选用摄像头的选用根据感光器件单元分类,摄像头有两类:CCD和CMOS二者比较如下:灵敏度高决定了图像动态性好,高解析度决定了前瞻距离远。因此CCD摄像头是较好的选择。Slide 8CCDCMOS灵敏度同样面积下高感光开口小,灵敏度低成本成本高CMOS整合集成,成本低解析度高低噪点比噪点低高功耗高低TM摄像头与图像处理摄像头与图像处理Slide 9CMOSCCDTM摄像头与图像处理摄像头与图像处理按输出信号类型划分,摄像头又可分为模拟式和数字式。模拟式可见于CCD和CMOS,数字式目前做智能车可用的只有CMOS。Slide 10OV76
5、20数字摄像头TM摄像头与图像处理摄像头与图像处理摄像头信号摄像头信号信号制式 :NTSC、PAL、SECAM1.正交平衡调幅制National Television Systems Committee,简称NTSC制。采用这种制式的主要国家有美国、加拿大和日本等。2.正交平衡调幅逐行倒相制Phase-Alternative Line,简称PAL制。中国、德国、英国和其它一些西北欧国家采用这种制式。3.行轮换调频制Sequential Coleur Avec Memoire,简称SECAM制。采用这种制式的有法国、前苏联和东欧一些国家。智能车摄像头通常为PAL制式Slide 11TM摄像头与图
6、像处理摄像头与图像处理PAL制式信号制式信号特点:每秒25帧,每帧625行,分为奇场(由第1,3,5行组成)和偶场(由第2,4,6行组成)。组成:图像信号、复合同步信号、复合消隐信号Slide 12TM摄像头与图像处理摄像头与图像处理PAL制式信号制式信号复合消隐信号的作用:复合消隐信号的作用:在图像的分解或恢复的扫描逆程中,若不采取措施,将出现行、场回扫线,这将对正程所传送的图像起干扰作用。复合消隐信号能消除行、场回扫线。复合同步信号的作用:复合同步信号的作用:为了收、发同步的需要,视频信号发送端每当扫描完一行时加入一个行同步脉冲;每当扫描完一场时加入一个场同步脉冲,它们分别在行与场逆程期间
7、传送,其宽度分别小于行、场逆程时间。Slide 13TM摄像头与图像处理摄像头与图像处理PAL制式信号制式信号Slide 14TM摄像头与图像处理摄像头与图像处理复合视频信号的分离复合视频信号的分离Slide 15行同步场同步TM摄像头与图像处理摄像头与图像处理视频信号分离芯片:视频信号分离芯片:LM1881Slide 16TM图像采集图像采集摄像头与图像处理摄像头与图像处理Slide 17 LM1881 ECT1 ECT2 AD 场同步行同步图像信号单片机行、场同步信号分别作为中断源输入单片机,从而确定何时开始采集新的一行、何时采集新的一副图像。这两个中断信号可称为“行中断”、“场中断”。通
8、常,采集模拟摄像头需要用到单片机AD模块,也可采用片外AD转换器。TM摄像头与图像处理摄像头与图像处理图像采集图像采集Slide 18 初始化 场中断Lin = 0,Col = 0图像处理相关操作行中断Col = 0,Lin+点数足够?采集一个点,Col+ENDNYEND图像存储数组为ImgLinColTM摄像头与图像处理摄像头与图像处理图像采集图像采集图像采集速度受AD模块频率限制,应尽可能提高AD时钟频率,以提高单位时间内采集的图像点数。采用片外AD芯片代替片上AD,或者采用硬件二值化,通过I/O口读取数据,可明显提高图像采集速度。图像采集行中断程序应包含尽量少的操作(条件判断、变量累加)
9、,以提高程序执行次数。测试发现,用指针直接访问数组比通过数组名访问数组速度要快,因此对图像数组的访问也应尽量用指针的方式。Slide 19TM摄像头与图像处理摄像头与图像处理图像处理图像处理Slide 20赛道图像黑色边线黑色边线白色背景白色背景无关信息无关信息弯道弯道直道直道十字交叉十字交叉TM摄像头与图像处理摄像头与图像处理图像处理图像处理灰度图像:灰度图像:所谓灰度图 (Grayscale)是只含亮度信息,不含色彩信息的图像,就像平时看到的亮度由暗到明的黑白照片,这种变化是连续的。因此,要表示灰度图,就需要把亮度值进行量化。通常划分成0到255共256个级别,0最暗(全黑),255最亮(
10、全白)。本系统所使用的摄像头采集到的就是黑白图像,经过A/D(8位精度)量化用256阶灰度值进行表示。Slide 21 0255TM摄像头与图像处理摄像头与图像处理图像处理图像处理二值化图像:二值化图像:根据图像处理的目标和要求,多灰度级的输入图像经过处理以后,就变成只有两个灰度级的图像,这种处理称为图像的二值化处理。经过二值化处理后的图像称为二值图像。找出一个合适的阈值,当所采图像灰度值大于该阈值时判断为白色,当小于该阈值时判断为黑色。二值化方法:二值化方法:软件二值化:阈值比较,条件判断硬件二值化:电压比较器Slide 22TM摄像头与图像处理摄像头与图像处理图像处理图像处理Slide 2
11、3二值化图像TM摄像头与图像处理摄像头与图像处理图像处理图像处理黑线的提取:黑线的提取:常用方法跳变检测一行图像Slide 241100011111000111图像有效信息图像有效信息0123456789101112131415TM摄像头与图像处理摄像头与图像处理图像处理图像处理赛道图像偏移量的计算赛道图像偏移量的计算最简单的方法:根据每行中左右两侧黑点的位置,求平均值,得出赛道中心线各点坐标。中心线各点加权求和,得出偏移量,作为控制系统输入。*速度控制应参考远处图像信息,转向控制应参考近处信息,求和时远近点权重应有所调整。Slide 25TM摄像头与图像处理摄像头与图像处理图像处理图像处理特
12、殊情况处理:特殊情况处理:十字交叉黑线不完整(虚线或干扰)丢失左、右边黑线未检测到赛道图像(冲出赛道)Slide 26TM电机、舵机及其控制电机、舵机及其控制MOS管驱动桥管驱动桥Slide 27TM电机、舵机及其控制电机、舵机及其控制电机驱动电机驱动BTS7960Slide 28TM电机、舵机及其控制电机、舵机及其控制电机驱动电机驱动BTS7960Slide 29TM电机、舵机及其控制电机、舵机及其控制驱动模块电路图驱动模块电路图Slide 30注:74LS244用于隔离单片机与驱动芯片,防止在驱动芯片击穿时烧坏单片机,同时用于限流。TM电机、舵机及其控制电机、舵机及其控制驱动模块控制方法驱
13、动模块控制方法用PWM模块控制:两路PWM,实现正反转(反转用于智能车制动)占空比大小决定电机输出功率*为保证电机运转平稳,冲击小,同时考虑驱动芯片最高频率限制,PWM频率应设为115K,依据实测经验,推荐值为8KHz。Slide 31TM电机、舵机及其控制电机、舵机及其控制舵机(以舵机(以Futaba S3010为例)为例)Slide 32TM电机、舵机及其控制电机、舵机及其控制舵机(以舵机(以Futaba S3010为例)为例)引脚定义:VCC(红)、Signal(白)、DNG(黑)舵机输入信号:PWM转角与PWM信号的关系:高电平为1520us 时:一定为中间位置;高电平为920us 时
14、:一定为最左边位置;高电平为2120us 时:一定为最右边位置; 说明:该舵机的转角只与高电平脉宽有关,与占空比无关。Slide 33TM硬件设计方案硬件设计方案硬件设计主要模块硬件设计主要模块电源模块电源模块:5V/3.3V稳压模块、12V稳压模块(CCD供电)、6V稳压模块(舵机供电,S3010舵机可直接用电池供电)。图像采集模块图像采集模块:视频分离芯片LM1881、电压比较器(硬件二值化)、片外AD芯片等。电机驱动模块电机驱动模块Slide 34TM硬件设计方案硬件设计方案电源模块设计电源模块设计Slide 35TM硬件设计方案硬件设计方案电源模块设计电源模块设计5V稳压芯片可选用LP
15、3853-5.0芯片,电压更稳,但成本高,电路复杂。为保证单片机供电稳定、不受干扰,通常为单片机单独分配一个稳压模块。Slide 36TM硬件设计方案硬件设计方案电源模块设计电源模块设计Slide 3712V稳压模块电路图TM硬件设计方案硬件设计方案图像采集模块图像采集模块模块示意图(以第七届方案为例)Slide 38 LM1881 LM393 单片机 行中断场中断ECT TLC5615 I/OCCD功能:硬件二值化、动态阈值DA转换芯片TM硬件设计方案硬件设计方案图像采集模块图像采集模块思考:现拟采用片外AD芯片+CCD摄像头,试给出设计方案。Slide 39TM软件设计方案软件设计方案单片
16、机程序单片机程序Slide 40初始化等待图像数据准备好?图像处理转向、速度控制YN主程序框图子程序:各模块初始化程序图像中断程序(图像采集)定时中断程序(测速)PID计算程序串口发送、接收程序*各子程序均以子函数形式封装TM软件设计方案软件设计方案单片机程序单片机程序Slide 41CodeWarrior工程文件结构正式开发时应尽量避免所有代码都写在“main.c”里,而应做到分类分块保存,函数在各“.c”文件里实现,并在同名头文件里进行声明。如:init.c里包含了各模块初始化函数的实现,init.h则对各函数进行声明。TM软件设计方案软件设计方案单片机程序单片机程序示例:Slide 42Init.hInit.cTM软件设计方案软件设计方案上位机软件上位机软件上位机软件的功能:接收单片机发回的数据,显示图像和速度、转角等参数;控制智能车,设置单片机参数。常用的上位机开发平台:LabView,图形化编程,内置功能模块丰富,易于上手;但自定义程度低。用C+/C#开发,利用已有的库可实现多种功能,难度大。Slide 43TM软件设计方案软件设计方案上位机软件上位机软件LabView演示Slide 44TM摄像头智能车设计方案摄像头智能车设计方案NoImageTHE ENDSlide 45