《{企业管理}智能车摄像头设计》由会员分享,可在线阅读,更多相关《{企业管理}智能车摄像头设计(71页珍藏版)》请在金锄头文库上搜索。
1、第7章 智能汽车设计实践摄像头型设计,第7章 智能汽车设计实践摄像头型设计,两种检测方案的比较,表7.1 两种检测方案的比较,第7章 智能汽车设计实践摄像头型设计,图像采集传感器可分为CCD型和CMOS型,其中CMOS型摄像头工艺简单,价格便宜,对于识别智能车赛道这样的黑白二值图像能力足够,因此,我们以下主要以CMOS型摄像头为例,介绍基于摄像头方案的智能车详细设计。,第7章 智能汽车设计实践摄像头型设计,7.1 机械设计,同光电管方案比起来,摄像头方案机械设计的不同主要体现在摄像头传感器的安装上,而舵机及车速检测单元的安装基本同光电管一样。下面我们将重点介绍摄像头传感器安装这一问题。 摄像头
2、的作用是检测道路的信息,相当于人的眼睛,其视野范围和前瞻距离决定了小车的过弯性能和速度。所以摄像头的安装方式要适当。摄像头的安装方案有两种:一种是正向安装,另一种是旋转90安装。,7.1 机械设计,图像采集是智能车设计的一个技术难点。普通图像传感器通过行扫描方式,将图像信息转换为一维的视频模拟信号输出。由于S12的A/D转换器采集速度较低,进行10位A/D转换所需要的时间为7 s。这样,采集的图像每行只有8个像素,图像的水平分辨率很低。倘若在此基础之上就进行智能车的路径识别,则很可能漏检宽度仅2.5 cm的黑色引导线,从而导致某些控制决策因无法获取足够精度的路径信息而失效。但同时,S12每场图
3、像大约可以采集300行左右的图像信息,故图像的垂直分辨率相对较高。,7.1 机械设计,而按照大赛采用跑道的形状特点,这些跑道都是由直线和圆弧组成的,检测车模前方一段路径参数,只需要得到中心线上35个点的位置信息就可以估算出路径参数,如位置、方向和曲率等。通过图像中的若干行信息就可以检测出这排点的位置,故所需的检测图像应该是水平分辨率高,垂直分辨率低。,7.1 机械设计,倘若正向安装摄像头,尽管水平方向的视野开阔一些,不至于迷失黑线跑出赛道。但实际采集到的图像是水平分辨率低,垂直分辨率高,与所需的检测图像要求刚好相反。 为了保证不漏检黑色引导线,正向安装就需要提高水平方向的分辨率,这就需要大大提
4、高MC9S12DG128单片机的A/D采样频率,导致MC9S12DG128超频使用。单片机超频使用会影响系统稳定性,容易发生程序失稳的现象。 除此之外,由于正向安装采集到的图像宽度大,长度短,致使智能车容易看到赛道边缘以及地面,产生较大的干扰,而且对底端的图像信息丢失也过多,大大影响过弯速度。,7.1 机械设计,倘若将CMOS摄像头旋转90安装,输出的图像信息也将旋转90,通过S12的A/D转换器采集的图像信息,水平分辨率与垂直分辨率会发生互换,从原来的水平分辨率低、垂直分辨率高的图像变成水平分辨率高、垂直分辨率低的实际图像,正好符合道路参数检测模型的要求。 在同样保证90 cm的前瞻下,底端
5、的宽度有22 cm左右,顶端65 cm,可以达到避免地面干扰的效果。同时底端仅有不到20 cm的图像丢失,而且摄像头的俯角相对较小,可以克服反光的问题,这样过弯道的时候会有安全保障。,7.1 机械设计,此外,摄像头所架的高度一定要适宜。架得过高会导致小车的视野过大,看到的黑线变得太细,还会导致智能车的重心太高,使智能车快速过弯时容易翻车;架得太低又会影响前瞻,带来反光的问题,影响采样。合适的高度要既满足小车的重心要求,又保证前瞻距离。 安装摄像头的底座和支杆应使用刚度大、质量轻的材料,以防晃动。,7.2 硬件设计,在摄像头方案中,由于车速检测模块、舵机控制单元及直流驱动电机控制单元同光电管方案
6、相同,以下对路径识别单元、HCS12控制核心及电源管理单元做简要介绍。,7.2 硬件设计,7.2.1 HCS12控制核心 7.2.2 电源管理单元 7.2.3 路径识别单元,7.2.1 HCS12控制核心,HCS12控制核心单元既可以直接采用组委会提供的MC9S12EVKX电路板,也可以自行购买MC9S12DG128单片机,然后量身制作适合自己需要的最小开发系统。,7.2.1 HCS12控制核心,在摄像头方案中,其I/O口具体分配如下: PAD1用于摄像头视频信号的输入口; IRQ(PE1引脚)用于摄像头行同步信号的输入捕捉; PM0用于摄像头奇-偶场同步信号的输入口; PT0用于车速检测的输
7、入口; PB口用于显示小车的各种性能参数; PWM0(PP0引脚)与PWM1(PP1引脚)合并用于伺服舵机的PWM控制信号输出; PWM2(PP2引脚)与PWM3(PP3引脚)合并用于驱动电机的PWM控制信号输出(电机正转); PWM4(PP4引脚)与PWM5(PP5引脚)合并用于驱动电机的PWM控制信号输出(电机反转)。,7.2.1 HCS12控制核心,具体的对应引脚详见图7.1,图7.1 112引脚封装的MC9S12DG12B单片机引脚图,7.2.2 电源管理单元,同光电管方案比较,摄像头方案的电源管理单元就显得复杂得多。根据系统各部分正常工作的需要,各模块的电压值可分为2.5 V, 5
8、V, 6.5 V, 7.2 V, 12 V五个挡,主要包含以下五个方面:,7.2.2 电源管理单元,(1)采用稳压管芯片LM2576将电源电压稳压到5 V后,给单片机系统电路、车速检测的转角编码器电路供电,且为后面的升压降压做准备; (2)经过一个二极管降至6.5 V左右后供给转向伺服电机; (3)直接给直流驱动电机、驱动芯片MC33886电路供电; (4)采用升压芯片B0512S将5 V电压升压到12 V后,给摄像头供电; (5)采用稳压芯片LT1764将5 V电压稳压到2.5 V后,作为单片机A/D模块参考电压。,7.2.2 电源管理单元,由于稳压芯片LM2576的额定输出电流较小,故采用
9、两片LM2576分别对单片机电路、车速检测电路供电,以保证系统正常运行。 其电源分配图如图7.2所示。,图7.2 电源分配图,7.2.3 路径识别单元,路径识别单元是智能车控制系统的输入采集单元,其优劣直接影响智能车的快速性和稳定性。在摄像头方案中,其前瞻距离及检测到的赛道信息是红外线光电管方案远不能比拟的,但其软、硬件设计也较红外线光电管方案难。,7.2.3 路径识别单元,要能有效地采样摄像头视频信号,首先要处理好的技术问题就是能提取出摄像头信号中的行同步脉冲、消隐脉冲和场同步脉冲。否则,单片机将无法识别所接收到的视频信号处在哪一场,也无法识别是在该场中的场消隐区还是视频信号区,更无法识别是
10、在视频信号区的第几行。,7.2.3 路径识别单元,要处理好行同步脉冲和场同步脉冲提取的问题,有以下两种可供参考的方法。 方法一:直接采用A/D转换进行提取。当摄像头信号为行同步脉冲、消隐脉冲或场同步脉冲时,摄像头信号电平就会低于这些脉冲模式之外时的摄像头信号电平。据此,可设一个信号电平阈值来判断A/D转换采样到的摄像头信号是否为行同步脉冲、消隐脉冲或场同步脉冲。 方法二:就是给单片机配以合适的外围芯片,此芯片要能够自己提取出摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲,以供单片机控制之用。,7.2.3 路径识别单元,倘若采用第一种方法,则无需配以外部芯片,在硬件上就可以较为简便。然而,此方法在
11、智能车控制系统的设计中存在两大局限性。 其一,S12的A/D转换时间还不够短,在不超频的情况下,该单片机的A/D转换时间最短为7 s,而行同步脉冲一般只有4.7 s左右的持续时间,大多数消隐脉冲更只有3.5 s的持续时间,持续时间都小于7 s,所以A/D转换很有可能漏检行同步脉冲或消隐脉冲。一旦漏检一两个脉冲,就会使摄像头视频采样的效果大打折扣。,7.2.3 路径识别单元,其二,在智能车控制系统中,S12除负责摄像头视频采样方面的处理之外,还要负责黑色引导线的提取、方向速度控制等方面的处理,但毕竟MC9S12DG128 的处理能力还是有限的,若采用此方法,会使得在视频采样上花费较多的S12处理
12、资源,这样摄像头视频采样本身的效率较低。此外,黑色引导线的提取、方向速度控制等方面的设计也会局限于所剩余的单片机处理资源。,7.2.3 路径识别单元,倘若采用第二种方法,则需要配以专门的外围芯片。虽然硬件上相对要繁琐一些,但在资源的合理配置上则大大提高。目前,LM1881视频同步信号分离芯片就是一款合适的芯片,它提取摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲,并将它们转换成数字式电平直接输给单片机的I/O口作为控制信号。其硬件连接图如图7.3所示。,7.2.3 路径识别单元,图7.3 摄像头采样电路图,7.2.3 路径识别单元,摄像头视频信号端接LM1881的视频信号输入端,同时也接入S12
13、的一个A/D转换器口(选用PAD1)。 LM1881的行同步信号端(引脚1)接入S12的一个外部中断IRQ口。 LM1881的奇-偶场同步信号输出端接S12的普通I/O口即可(选用PORTM0)。,7.3 软件设计,在摄像头方案智能车控制系统的软件设计中,程序的主流程是:通过外部中断采集程序对摄像头的视频信号进行采集,主程序在两次外部中断的间隙中完成对数据进行处理及计算并给出控制量,采样周期为20 ms。其中,主程序主要完成的任务是:单片机初始化和黑线提取算法;图像滤波算法;舵机控制算法及驱动电机控制算法。,7.3 软件设计,摄像头方案具体主程序流程图如图7.4所示。,图7.4 摄像头方案具体
14、主程序流程图,7.3 软件设计,7.3.1 初始化算法 7.3.2 图像采集算法 7.3.3 黑线提取算法 7.3.4 图像滤波算法 7.3.5 控制策略及控制算法,7.3.1 初始化算法,1锁相环的设置 2脉冲宽度调制(PWM)初始化 3定时中断及输入捕捉通道的初始化 4A/D转换模块初始化 5外部中端(IRQ)的初始化,1锁相环的设置,通过设置锁相环,可以改变单片机的时钟频率。在MC9S12单片机中,靠锁相环产生的时钟频率由下面的公式得到: 式中,OSCCLK是外部晶体振荡时钟频率,一般为8 MHz或16 MHz;SYNR是时钟合成寄存器;REFDV是时钟分频寄存器。,(7.1),2脉冲宽
15、度调制(PWM)初始化,PWM是用于舵机和驱动电机的控制,在MC9S12单片机中,其初始化主要包括以下六大步骤:禁止PWM;选择时钟;选择极性;选择对齐模式;对占空比和周期编程;使能PWM通道。,3定时中断及输入捕捉通道的初始化,定时中断及输入捕捉通道主要用于产生周期中断以进行速度采集,其初始化工作主要包括:设定预分频系数;定时器溢出中断使能;定时器使能。其中断函数主要包括:清标志位;用户自己的代码。,4A/D转换模块初始化,A/D转换模块主要用于视频信号的采集,将模拟的视频电压信号转换成对应的数值,以便于后面的黑线提取算法实现。,5外部中端(IRQ)的初始化,IRQ主要用于捕捉视频信号的行同
16、步信号,产生外部中断以进行图像采集。,7.3.2 图像采集算法,图像信号采集作为整个控制算法的基础,具有举足轻重的地位,同时也是智能车软件设计的一个技术难点。其设计得好坏与否,直接关系到智能车的整体性能。,7.3.2 图像采集算法,通常,摄像头产品说明书上会给出有效像素和分辨率,分辨率即为每场信号中真正为视频信号的行的数目。但产品说明书上通常不会具体介绍视频信号行的持续时间、它们在每场信号中的位置、行消隐脉冲的持续时间等参数,而这些参数又关系到图像采样的有效实现。因此需要设计软、硬件方法实际测量一下这些参数。以下给出上海交通大学代表队通过实验测出的1/3 OmniVision CMOS摄像头时序参数以供参考,如表7.2所示。,7.3.2 图像采集算法,表7.2 1/3 OmniVision CMOS摄像头的时序参数,7.3.2 图像采集算法,考虑到实际赛道只是在白色KT板上布置黑色引导线,路径识别只需大致提取出黑色引导线即可,不必每行采集。因此,我们可以采用隔行采集思想来压缩图像的数据。 实践证明,智能车控制系统的图像传感系统在单一方向上只要有40像素的分辨能力就足够