《《学做智能车》PPT课件》由会员分享,可在线阅读,更多相关《《学做智能车》PPT课件(71页珍藏版)》请在金锄头文库上搜索。
1、第第7章章 智能汽车设计实践智能汽车设计实践摄像头型设计摄像头型设计 武汉科技大学信息科学与工程学院第第第第7 7章章章章 智能汽车设计实践智能汽车设计实践智能汽车设计实践智能汽车设计实践摄像头型设计摄像头型设计摄像头型设计摄像头型设计v两种检测方案的比较两种检测方案的比较路径识别方法优 点缺 点红外光电管传感器方案1电路设计相对简单2检测信息速度快3成本低1道路参数检测精度低、种类少2检测前瞻距离短3耗电量大4占用MCU端口资源较多5容易受到外界光线影响摄像头传感器方案1检测前瞻距离远2检测范围宽3检测道路参数多4占用MCU端口资源少1电路相对设计复杂2检测信息更新速度慢3软件处理数据较多表
2、表表表7.1 7.1 两种检测方案的比较两种检测方案的比较两种检测方案的比较两种检测方案的比较武汉科技大学信息科学与工程学院第第第第7 7章章章章 智能汽车设计实践智能汽车设计实践智能汽车设计实践智能汽车设计实践摄像头型设计摄像头型设计摄像头型设计摄像头型设计v图像采集传感器可分为图像采集传感器可分为CCD型和型和CMOS型,其中型,其中CMOS型摄像头工艺简单,价格便宜,对于识别型摄像头工艺简单,价格便宜,对于识别智能车赛道这样的黑白二值图像能力足够,因此,智能车赛道这样的黑白二值图像能力足够,因此,我们以下主要以我们以下主要以CMOS型摄像头为例,介绍基于型摄像头为例,介绍基于摄像头方案的
3、智能车详细设计。摄像头方案的智能车详细设计。 武汉科技大学信息科学与工程学院 7 7.1 机械设计机械设计 1 7 7.2 硬件设计硬件设计 2 7.3 软件设计软件设计 3第第第第7 7章章章章 智能汽车设计实践智能汽车设计实践智能汽车设计实践智能汽车设计实践摄像头型设计摄像头型设计摄像头型设计摄像头型设计武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计 v同光电管方案比起来,摄像头方案机械设计的不同光电管方案比起来,摄像头方案机械设计的不同主要体现在摄像头传感器的安装上,而舵机及同主要体现在摄像头传感器的安装上,而舵机及车速检测单元的安装基本同光电管一样。下面
4、我车速检测单元的安装基本同光电管一样。下面我们将重点介绍摄像头传感器安装这一问题。们将重点介绍摄像头传感器安装这一问题。 v摄像头的作用是检测道路的信息,相当于人的眼摄像头的作用是检测道路的信息,相当于人的眼睛,其视野范围和前瞻距离决定了小车的过弯性睛,其视野范围和前瞻距离决定了小车的过弯性能和速度。所以摄像头的安装方式要适当。摄像能和速度。所以摄像头的安装方式要适当。摄像头的安装方案有两种:一种是正向安装,另一种头的安装方案有两种:一种是正向安装,另一种是旋转是旋转90安装。安装。 武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计 v图像采集是智能车设计的一个技
5、术难点。普通图图像采集是智能车设计的一个技术难点。普通图像传感器通过行扫描方式,将图像信息转换为一像传感器通过行扫描方式,将图像信息转换为一维的视频模拟信号输出。由于维的视频模拟信号输出。由于S12的的A/D转换器转换器采集速度较低,进行采集速度较低,进行10位位A/D转换所需要的时转换所需要的时间为间为7 s。这样,采集的图像每行只有。这样,采集的图像每行只有8个像素,个像素,图像的水平分辨率很低。倘若在此基础之上就进图像的水平分辨率很低。倘若在此基础之上就进行智能车的路径识别,则很可能漏检宽度仅行智能车的路径识别,则很可能漏检宽度仅2.5 cm的黑色引导线,从而导致某些控制决策因无的黑色引
6、导线,从而导致某些控制决策因无法获取足够精度的路径信息而失效。但同时,法获取足够精度的路径信息而失效。但同时,S12每场图像大约可以采集每场图像大约可以采集300行左右的图像信行左右的图像信息,故图像的垂直分辨率相对较高。息,故图像的垂直分辨率相对较高。 武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计v而按照大赛采用跑道的形状特点,这些跑道都是而按照大赛采用跑道的形状特点,这些跑道都是由直线和圆弧组成的,检测车模前方一段路径参由直线和圆弧组成的,检测车模前方一段路径参数,只需要得到中心线上数,只需要得到中心线上35个点的位置信息就个点的位置信息就可以估算出路径参
7、数,如位置、方向和曲率等。可以估算出路径参数,如位置、方向和曲率等。通过图像中的若干行信息就可以检测出这排点的通过图像中的若干行信息就可以检测出这排点的位置,故所需的检测图像应该是水平分辨率高,位置,故所需的检测图像应该是水平分辨率高,垂直分辨率低。垂直分辨率低。 武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计v倘若正向安装摄像头,尽管水平方向的视野开阔一些,不倘若正向安装摄像头,尽管水平方向的视野开阔一些,不至于迷失黑线跑出赛道。但实际采集到的图像是水平分辨至于迷失黑线跑出赛道。但实际采集到的图像是水平分辨率低,垂直分辨率高,与所需的检测图像要求刚好相反。率低
8、,垂直分辨率高,与所需的检测图像要求刚好相反。v为了保证不漏检黑色引导线,正向安装就需要提高水平方为了保证不漏检黑色引导线,正向安装就需要提高水平方向的分辨率,这就需要大大提高向的分辨率,这就需要大大提高MC9S12DG128单片单片机的机的A/D采样频率,导致采样频率,导致MC9S12DG128超频使用。超频使用。单片机超频使用会影响系统稳定性,容易发生程序失稳的单片机超频使用会影响系统稳定性,容易发生程序失稳的现象。现象。v除此之外,由于正向安装采集到的图像宽度大,长度短,除此之外,由于正向安装采集到的图像宽度大,长度短,致使智能车容易看到赛道边缘以及地面,产生较大的干扰,致使智能车容易看
9、到赛道边缘以及地面,产生较大的干扰,而且对底端的图像信息丢失也过多,大大影响过弯速度。而且对底端的图像信息丢失也过多,大大影响过弯速度。 武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计v倘若将倘若将CMOS摄像头旋转摄像头旋转90安装,输出的图像安装,输出的图像信息也将旋转信息也将旋转90,通过,通过S12的的A/D转换器采集转换器采集的图像信息,水平分辨率与垂直分辨率会发生互的图像信息,水平分辨率与垂直分辨率会发生互换,从原来的水平分辨率低、垂直分辨率高的图换,从原来的水平分辨率低、垂直分辨率高的图像变成水平分辨率高、垂直分辨率低的实际图像,像变成水平分辨率高
10、、垂直分辨率低的实际图像,正好符合道路参数检测模型的要求。正好符合道路参数检测模型的要求。v在同样保证在同样保证90 cm的前瞻下,底端的宽度有的前瞻下,底端的宽度有22 cm左右,顶端左右,顶端65 cm,可以达到避免地面干扰,可以达到避免地面干扰的效果。同时底端仅有不到的效果。同时底端仅有不到20 cm的图像丢失,的图像丢失,而且摄像头的俯角相对较小,可以克服反光的问而且摄像头的俯角相对较小,可以克服反光的问题,这样过弯道的时候会有安全保障。题,这样过弯道的时候会有安全保障。 武汉科技大学信息科学与工程学院7.1 7.1 机械设计机械设计机械设计机械设计v此外,摄像头所架的高度一定要适宜。
11、架得过高此外,摄像头所架的高度一定要适宜。架得过高会导致小车的视野过大,看到的黑线变得太细,会导致小车的视野过大,看到的黑线变得太细,还会导致智能车的重心太高,使智能车快速过弯还会导致智能车的重心太高,使智能车快速过弯时容易翻车;架得太低又会影响前瞻,带来反光时容易翻车;架得太低又会影响前瞻,带来反光的问题,影响采样。合适的高度要既满足小车的的问题,影响采样。合适的高度要既满足小车的重心要求,又保证前瞻距离。重心要求,又保证前瞻距离。v安装摄像头的底座和支杆应使用刚度大、质量轻安装摄像头的底座和支杆应使用刚度大、质量轻的材料,以防晃动。的材料,以防晃动。 武汉科技大学信息科学与工程学院7.2
12、7.2 硬件设计硬件设计硬件设计硬件设计 v在摄像头方案中,由于车速检测模块、舵机控制在摄像头方案中,由于车速检测模块、舵机控制单元及直流驱动电机控制单元同光电管方案相同,单元及直流驱动电机控制单元同光电管方案相同,以下对路径识别单元、以下对路径识别单元、HCS12控制核心及电源控制核心及电源管理单元做简要介绍。管理单元做简要介绍。 武汉科技大学信息科学与工程学院7.2 7.2 硬件设计硬件设计硬件设计硬件设计 v7.2.1 HCS12控制核心控制核心 v7.2.2 电源管理单元电源管理单元 v7.2.3 路径识别单元路径识别单元 武汉科技大学信息科学与工程学院7.2.1 HCS127.2.1
13、 HCS12控制核心控制核心控制核心控制核心vHCS12控制核心单元既可以直接采用组委会提控制核心单元既可以直接采用组委会提供的供的MC9S12EVKX电路板,也可以自行购买电路板,也可以自行购买MC9S12DG128单片机,然后量身制作适合自单片机,然后量身制作适合自己需要的最小开发系统。己需要的最小开发系统。 武汉科技大学信息科学与工程学院7.2.1 HCS127.2.1 HCS12控制核心控制核心控制核心控制核心v在摄像头方案中,其在摄像头方案中,其I/O口具体分配如下:口具体分配如下:PAD1用于摄像头视频信号的输入口;IRQ(PE1引脚)用于摄像头行同步信号的输入捕捉;PM0用于摄像
14、头奇-偶场同步信号的输入口;PT0用于车速检测的输入口;PB口用于显示小车的各种性能参数;PWM0(PP0引脚)与PWM1(PP1引脚)合并用于伺服舵机的PWM控制信号输出;PWM2(PP2引脚)与PWM3(PP3引脚)合并用于驱动电机的PWM控制信号输出(电机正转);PWM4(PP4引脚)与PWM5(PP5引脚)合并用于驱动电机的PWM控制信号输出(电机反转)。武汉科技大学信息科学与工程学院7.2.1 HCS127.2.1 HCS12控制核心控制核心控制核心控制核心v具体的对应引脚详见图具体的对应引脚详见图7.1 图图图图7.1 1127.1 112引脚封装的引脚封装的引脚封装的引脚封装的M
15、C9S12DG12BMC9S12DG12B单片机引脚图单片机引脚图单片机引脚图单片机引脚图武汉科技大学信息科学与工程学院7.2.2 7.2.2 电源管理单元电源管理单元电源管理单元电源管理单元v同光电管方案比较,摄像头方案的电源管理单元同光电管方案比较,摄像头方案的电源管理单元就显得复杂得多。根据系统各部分正常工作的需就显得复杂得多。根据系统各部分正常工作的需要,各模块的电压值可分为要,各模块的电压值可分为2.5 V, 5 V, 6.5 V, 7.2 V, 12 V五个挡,主要包含以下五个方面:五个挡,主要包含以下五个方面: 武汉科技大学信息科学与工程学院7.2.2 7.2.2 电源管理单元电
16、源管理单元电源管理单元电源管理单元(1)采用稳压管芯片LM2576将电源电压稳压到5V后,给单片机系统电路、车速检测的转角编码器电路供电,且为后面的升压降压做准备;(2)经过一个二极管降至6.5V左右后供给转向伺服电机;(3)直接给直流驱动电机、驱动芯片MC33886电路供电;(4)采用升压芯片B0512S将5V电压升压到12V后,给摄像头供电;(5)采用稳压芯片LT1764将5V电压稳压到2.5V后,作为单片机A/D模块参考电压。武汉科技大学信息科学与工程学院7.2.2 7.2.2 电源管理单元电源管理单元电源管理单元电源管理单元v由于稳压芯片由于稳压芯片LM2576的额定输出电流较小,故的
17、额定输出电流较小,故采用两片采用两片LM2576分别对单片机电路、车速检测分别对单片机电路、车速检测电路供电,以保证系统正常运行。电路供电,以保证系统正常运行。v其电源分配图如图其电源分配图如图7.2所示。所示。 图图图图7.2 7.2 电源分配图电源分配图电源分配图电源分配图武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元 v路径识别单元是智能车控制系统的输入采集单元,路径识别单元是智能车控制系统的输入采集单元,其优劣直接影响智能车的快速性和稳定性。在摄其优劣直接影响智能车的快速性和稳定性。在摄像头方案中,其前瞻距离及检测到的赛道信息是像
18、头方案中,其前瞻距离及检测到的赛道信息是红外线光电管方案远不能比拟的,但其软、硬件红外线光电管方案远不能比拟的,但其软、硬件设计也较红外线光电管方案难。设计也较红外线光电管方案难。 武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元v要能有效地采样摄像头视频信号,首先要处理好要能有效地采样摄像头视频信号,首先要处理好的技术问题就是能提取出摄像头信号中的行同步的技术问题就是能提取出摄像头信号中的行同步脉冲、消隐脉冲和场同步脉冲。否则,单片机将脉冲、消隐脉冲和场同步脉冲。否则,单片机将无法识别所接收到的视频信号处在哪一场,也无无法识别所接收到的视
19、频信号处在哪一场,也无法识别是在该场中的场消隐区还是视频信号区,法识别是在该场中的场消隐区还是视频信号区,更无法识别是在视频信号区的第几行。更无法识别是在视频信号区的第几行。 武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元v要处理好行同步脉冲和场同步脉冲提取的问题,要处理好行同步脉冲和场同步脉冲提取的问题,有以下两种可供参考的方法。有以下两种可供参考的方法。方法一:直接采用A/D转换进行提取。当摄像头信号为行同步脉冲、消隐脉冲或场同步脉冲时,摄像头信号电平就会低于这些脉冲模式之外时的摄像头信号电平。据此,可设一个信号电平阈值来判断A/D转
20、换采样到的摄像头信号是否为行同步脉冲、消隐脉冲或场同步脉冲。方法二:就是给单片机配以合适的外围芯片,此芯片要能够自己提取出摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲,以供单片机控制之用。武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元v倘若采用第一种方法,则无需配以外部芯片,在硬件上就倘若采用第一种方法,则无需配以外部芯片,在硬件上就可以较为简便。然而,此方法在智能车控制系统的设计中可以较为简便。然而,此方法在智能车控制系统的设计中存在两大局限性。存在两大局限性。其一,S12的A/D转换时间还不够短,在不超频的情况下,该单片机的A/D转换
21、时间最短为7s,而行同步脉冲一般只有4.7s左右的持续时间,大多数消隐脉冲更只有3.5s的持续时间,持续时间都小于7s,所以A/D转换很有可能漏检行同步脉冲或消隐脉冲。一旦漏检一两个脉冲,就会使摄像头视频采样的效果大打折扣。武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元其二,在智能车控制系统中,S12除负责摄像头视频采样方面的处理之外,还要负责黑色引导线的提取、方向速度控制等方面的处理,但毕竟MC9S12DG128的处理能力还是有限的,若采用此方法,会使得在视频采样上花费较多的S12处理资源,这样摄像头视频采样本身的效率较低。此外,黑色引
22、导线的提取、方向速度控制等方面的设计也会局限于所剩余的单片机处理资源。武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元v倘若采用第二种方法,则需要配以专门的外围芯倘若采用第二种方法,则需要配以专门的外围芯片。虽然硬件上相对要繁琐一些,但在资源的合片。虽然硬件上相对要繁琐一些,但在资源的合理配置上则大大提高。目前,理配置上则大大提高。目前,LM1881视频同步视频同步信号分离芯片就是一款合适的芯片,它提取摄像信号分离芯片就是一款合适的芯片,它提取摄像头信号的行同步脉冲、消隐脉冲和场同步脉冲,头信号的行同步脉冲、消隐脉冲和场同步脉冲,并将它们转
23、换成数字式电平直接输给单片机的并将它们转换成数字式电平直接输给单片机的I/O口作为控制信号。其硬件连接图如图口作为控制信号。其硬件连接图如图7.3所所示。示。 武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元图图图图7.3 7.3 摄像头采样电路图摄像头采样电路图摄像头采样电路图摄像头采样电路图武汉科技大学信息科学与工程学院7.2.3 7.2.3 路径识别单元路径识别单元路径识别单元路径识别单元v摄像头视频信号端接摄像头视频信号端接LM1881的视频信号输入端,的视频信号输入端,同时也接入同时也接入S12的一个的一个A/D转换器口(选用转换
24、器口(选用PAD1)。)。vLM1881的行同步信号端(引脚的行同步信号端(引脚1)接入)接入S12的的一个外部中断一个外部中断IRQ口。口。vLM1881的奇的奇-偶场同步信号输出端接偶场同步信号输出端接S12的普的普通通I/O口即可(选用口即可(选用PORTM0)。)。 武汉科技大学信息科学与工程学院7.3 7.3 软件设计软件设计软件设计软件设计 v在摄像头方案智能车控制系统的软件设计中,程在摄像头方案智能车控制系统的软件设计中,程序的主流程是:通过外部中断采集程序对摄像头序的主流程是:通过外部中断采集程序对摄像头的视频信号进行采集,主程序在两次外部中断的的视频信号进行采集,主程序在两次
25、外部中断的间隙中完成对数据进行处理及计算并给出控制量,间隙中完成对数据进行处理及计算并给出控制量,采样周期为采样周期为20 ms。其中,主程序主要完成的任。其中,主程序主要完成的任务是:单片机初始化和黑线提取算法;图像滤波务是:单片机初始化和黑线提取算法;图像滤波算法;舵机控制算法及驱动电机控制算法。算法;舵机控制算法及驱动电机控制算法。 武汉科技大学信息科学与工程学院7.3 7.3 软件设计软件设计软件设计软件设计v摄像头方案具体主程序流程图如图摄像头方案具体主程序流程图如图7.4所示。所示。 图图图图7.4 7.4 摄像头方案具体主程序流程图摄像头方案具体主程序流程图摄像头方案具体主程序流
26、程图摄像头方案具体主程序流程图武汉科技大学信息科学与工程学院7.3 7.3 软件设计软件设计软件设计软件设计v7.3.1 初始化算法初始化算法 v7.3.2 图像采集算法图像采集算法 v7.3.3 黑线提取算法黑线提取算法 v7.3.4 图像滤波算法图像滤波算法 v7.3.5 控制策略及控制算法控制策略及控制算法 武汉科技大学信息科学与工程学院7.3.1 7.3.1 初始化算法初始化算法初始化算法初始化算法v1锁相环的设置锁相环的设置 v2脉冲宽度调制(脉冲宽度调制(PWM)初始化)初始化 v3定时中断及输入捕捉通道的初始化定时中断及输入捕捉通道的初始化 v4A/D转换模块初始化转换模块初始化
27、 v5外部中端(外部中端(IRQ)的初始化)的初始化 武汉科技大学信息科学与工程学院1 1锁相环的设置锁相环的设置锁相环的设置锁相环的设置v通过设置锁相环,可以改变单片机的时钟频率。通过设置锁相环,可以改变单片机的时钟频率。在在MC9S12单片机中,靠锁相环产生的时钟频单片机中,靠锁相环产生的时钟频率由下面的公式得到:率由下面的公式得到:式中,OSCCLK是外部晶体振荡时钟频率,一般为8MHz或16MHz;SYNR是时钟合成寄存器;REFDV是时钟分频寄存器。(7.1)(7.1)武汉科技大学信息科学与工程学院2 2脉冲宽度调制(脉冲宽度调制(脉冲宽度调制(脉冲宽度调制(PWMPWM)初始化)初
28、始化)初始化)初始化 vPWM是用于舵机和驱动电机的控制,在是用于舵机和驱动电机的控制,在MC9S12单片机中,其初始化主要包括以下单片机中,其初始化主要包括以下六六大步骤大步骤:禁止:禁止PWM;选择时钟;选择极性;选;选择时钟;选择极性;选择对齐模式;择对齐模式;对占空比和周期编程对占空比和周期编程;使能使能PWM通道。通道。 武汉科技大学信息科学与工程学院3 3定时中断及输入捕捉通道的初始化定时中断及输入捕捉通道的初始化定时中断及输入捕捉通道的初始化定时中断及输入捕捉通道的初始化 v定时中断及输入捕捉通道主要用于产生周期中断定时中断及输入捕捉通道主要用于产生周期中断以进行速度采集,其初始
29、化工作主要包括:设定以进行速度采集,其初始化工作主要包括:设定预分频系数;定时器溢出中断使能;定时器使能。预分频系数;定时器溢出中断使能;定时器使能。其中断函数主要包括:清标志位;用户自己的代其中断函数主要包括:清标志位;用户自己的代码。码。 武汉科技大学信息科学与工程学院4 4A/DA/D转换模块初始化转换模块初始化转换模块初始化转换模块初始化 vA/D转换模块主要用于视频信号的采集,将模拟转换模块主要用于视频信号的采集,将模拟的视频电压信号转换成对应的数值,以便于后面的视频电压信号转换成对应的数值,以便于后面的黑线提取算法实现。的黑线提取算法实现。 武汉科技大学信息科学与工程学院5 5外部
30、中端(外部中端(外部中端(外部中端(IRQIRQ)的初始化)的初始化)的初始化)的初始化 vIRQ主要用于捕捉视频信号的行同步信号,产生主要用于捕捉视频信号的行同步信号,产生外部中断以进行图像采集。外部中断以进行图像采集。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法 v图像信号采集作为整个控制算法的基础,具有举图像信号采集作为整个控制算法的基础,具有举足轻重的地位,同时也是智能车软件设计的一个足轻重的地位,同时也是智能车软件设计的一个技术难点。其设计得好坏与否,直接关系到智能技术难点。其设计得好坏与否,直接关系到智能车的整体性能。车的
31、整体性能。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法v通常,摄像头产品说明书上会给出有效像素和分通常,摄像头产品说明书上会给出有效像素和分辨率,分辨率即为每场信号中真正为视频信号的辨率,分辨率即为每场信号中真正为视频信号的行的数目。但产品说明书上通常不会具体介绍视行的数目。但产品说明书上通常不会具体介绍视频信号行的持续时间、它们在每场信号中的位置、频信号行的持续时间、它们在每场信号中的位置、行消隐脉冲的持续时间等参数,而这些参数又关行消隐脉冲的持续时间等参数,而这些参数又关系到图像采样的有效实现。因此需要设计软、硬系到图像采样的有效
32、实现。因此需要设计软、硬件方法实际测量一下这些参数。以下给出上海交件方法实际测量一下这些参数。以下给出上海交通大学代表队通过实验测出的通大学代表队通过实验测出的1/3 OmniVision CMOS摄像头时序参数以供参考,摄像头时序参数以供参考,如表如表7.2所示。所示。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法信 号 属 性行 序 数行持续时间行同步脉冲持续时间消隐脉冲持续时间场消隐区1423s3.5s527.3s8s637.3s3.5s71029.8s3.5s112264s4.7s视频信号区2331064s4.7s场消隐区(同步
33、脉冲)31131464s4.7s31564s3.5s31631929.8s3.5s32053.4s28s表表表表7.2 1/3 7.2 1/3 OmniVisionOmniVision CMOS CMOS摄像头的时序参数摄像头的时序参数摄像头的时序参数摄像头的时序参数武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法v考虑到实际赛道只是在白色考虑到实际赛道只是在白色KT板上布置黑色引导板上布置黑色引导线,路径识别只需大致提取出黑色引导线即可,线,路径识别只需大致提取出黑色引导线即可,不必每行采集。因此,我们可以采用隔行采集思不必每行采集。因此
34、,我们可以采用隔行采集思想来压缩图像的数据。想来压缩图像的数据。v实践证明,智能车控制系统的图像传感系统在单实践证明,智能车控制系统的图像传感系统在单一方向上只要有一方向上只要有40像素的分辨能力就足够用了。像素的分辨能力就足够用了。故我们只需对这故我们只需对这288 行视频信号中的某些行进行视频信号中的某些行进行采样就可以了。行采样就可以了。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法v假设每场采样假设每场采样40行图像数据,为了方便软件程序行图像数据,为了方便软件程序的编写,可以均匀地采样的编写,可以均匀地采样288行视频信号中的
35、行视频信号中的40行,即每隔行,即每隔7个有效行采集一行。例如采样其个有效行采集一行。例如采样其中的第中的第7行、第行、第14行、第行、第21行、行、第、第273行、行、第第280行,即采样该场信号的第行,即采样该场信号的第29行、第行、第36行、行、第第43行、行、第、第295行、第行、第302行(每场开始行(每场开始的前的前22行视频为场消隐信号)。行视频为场消隐信号)。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法v此外,为了进一步解决图像数据大与此外,为了进一步解决图像数据大与HCS12单单片机数据处理速度有限的矛盾,还可以通过
36、适当片机数据处理速度有限的矛盾,还可以通过适当地将地将S12的的CPU超频运行,以及降低超频运行,以及降低A/D转换转换器的转换精度,以提高器的转换精度,以提高A/D转换器的速度,具体转换器的速度,具体实现流程图(以采集一幅实现流程图(以采集一幅16行行40列的图像为列的图像为例)如图例)如图7.5所示。所示。 武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算法图像采集算法图图图图7.5 7.5 图像采集程序流程图图像采集程序流程图图像采集程序流程图图像采集程序流程图武汉科技大学信息科学与工程学院7.3.2 7.3.2 图像采集算法图像采集算法图像采集算
37、法图像采集算法v图图7.5中,数据转存由于是在中,数据转存由于是在CMOS摄像头安装摄像头安装时旋转时旋转90后使用的,故在图像采集后应将其还后使用的,故在图像采集后应将其还原,以方便后面的图像处理。具体是通过设置原,以方便后面的图像处理。具体是通过设置VideoLinei和和VideoImageij两个数两个数组来实现的。组来实现的。武汉科技大学信息科学与工程学院7.3.3 7.3.3 黑线提取算法黑线提取算法黑线提取算法黑线提取算法 v由于智能车系统对实时性的要求很高,过于复杂由于智能车系统对实时性的要求很高,过于复杂的黑线提取算法,会导致决策周期溢出,使程序的黑线提取算法,会导致决策周期
38、溢出,使程序崩溃,所以必须采用简单高效的图像识别算法。崩溃,所以必须采用简单高效的图像识别算法。v上海交通大学代表队将常用的黑线提取算法划分上海交通大学代表队将常用的黑线提取算法划分为二值化算法、直接边缘检测算法和跟踪边缘检为二值化算法、直接边缘检测算法和跟踪边缘检测算法。测算法。 武汉科技大学信息科学与工程学院7.3.3 7.3.3 黑线提取算法黑线提取算法黑线提取算法黑线提取算法v1二值化算法二值化算法 v2直接边缘检测算法直接边缘检测算法 v3跟踪边缘检测算法跟踪边缘检测算法 武汉科技大学信息科学与工程学院二值化算法二值化算法二值化算法二值化算法 v二值化算法的思路是:设定一个阈值二值化
39、算法的思路是:设定一个阈值valve,对于视频信,对于视频信号矩阵中的每一行,从左至右比较各像素值和阈值的大小,号矩阵中的每一行,从左至右比较各像素值和阈值的大小,若像素值大于或等于阈值,则判定该像素对应的是白色赛若像素值大于或等于阈值,则判定该像素对应的是白色赛道;反之,则判定对应的是黑色的目标引导线。记下第一道;反之,则判定对应的是黑色的目标引导线。记下第一次和最后一次出现像素值小于阈值时的像素点的列号,算次和最后一次出现像素值小于阈值时的像素点的列号,算出两者的平均值,以此作为该行上目标引导线的位置。出两者的平均值,以此作为该行上目标引导线的位置。v该算法的思想简单,但是这种提取算法的鲁
40、棒性较差,当该算法的思想简单,但是这种提取算法的鲁棒性较差,当拍摄图像中只有目标引导线一条黑线时,尚能准确提取出拍摄图像中只有目标引导线一条黑线时,尚能准确提取出该目标引导线,但当光强有大幅度变化或图像中出现其他该目标引导线,但当光强有大幅度变化或图像中出现其他黑色图像的干扰时,该算法提取的位置就有可能与目标引黑色图像的干扰时,该算法提取的位置就有可能与目标引导线的实际位置偏离较大。导线的实际位置偏离较大。 武汉科技大学信息科学与工程学院2 2直接边缘检测算法直接边缘检测算法直接边缘检测算法直接边缘检测算法 v采用逐行搜索的算法,首先找到从白色像素到黑采用逐行搜索的算法,首先找到从白色像素到黑
41、色像素的下降沿和从黑色像素到白色像素的上升色像素的下降沿和从黑色像素到白色像素的上升沿,然后计算上升沿和下降沿的位置差,如果大沿,然后计算上升沿和下降沿的位置差,如果大于一定的标准值,即认为找到了黑线,并可求平于一定的标准值,即认为找到了黑线,并可求平均值算出黑线的中心点。均值算出黑线的中心点。武汉科技大学信息科学与工程学院2 2直接边缘检测算法直接边缘检测算法直接边缘检测算法直接边缘检测算法v至于上升沿、下降沿的检测,可以通过上上次采至于上升沿、下降沿的检测,可以通过上上次采样数与这次采样数的差值的绝对值是否大于一个样数与这次采样数的差值的绝对值是否大于一个阈值来判断,如果阈值来判断,如果“
42、是是”且差值为负,则为上升且差值为负,则为上升沿;如果沿;如果“是是”且差值为正,则为下降沿。且差值为正,则为下降沿。v这里,阀值可以根据经验设定,基本上介于这里,阀值可以根据经验设定,基本上介于3046之间(当之间(当A/D模块的参考电压为模块的参考电压为2.5 V时),时),也可以采用全局自适应法设定,每次采样后首先也可以采用全局自适应法设定,每次采样后首先都遍历一次图像,得到图像灰度值的平均值,然都遍历一次图像,得到图像灰度值的平均值,然后用这个平均值乘以一个调试系数即可得到所要后用这个平均值乘以一个调试系数即可得到所要的阈值。的阈值。武汉科技大学信息科学与工程学院2 2直接边缘检测算法
43、直接边缘检测算法直接边缘检测算法直接边缘检测算法v该算法较二值化方法而言,抗环境光强变化干扰该算法较二值化方法而言,抗环境光强变化干扰的能力更强,同时还能削弱或消除垂直交叉黑色的能力更强,同时还能削弱或消除垂直交叉黑色引导线的干扰。引导线的干扰。武汉科技大学信息科学与工程学院3 3跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法 v由于黑色的目标引导线是连续曲线,所以相邻两由于黑色的目标引导线是连续曲线,所以相邻两行的左边缘点比较靠近。跟踪边缘检测正是利用行的左边缘点比较靠近。跟踪边缘检测正是利用了这一特性,对直接边缘检测进行了简化。其思了这一特性,对直接边缘检测进行了简化。其
44、思路是:若已寻找到某行的左边缘,则下一次就在路是:若已寻找到某行的左边缘,则下一次就在上一个左边缘附近进行搜寻。这种方法的特点是上一个左边缘附近进行搜寻。这种方法的特点是始终跟踪每行左边缘的附近,去寻找下一列的左始终跟踪每行左边缘的附近,去寻找下一列的左边缘,所以称为边缘,所以称为“跟踪跟踪”边缘检测算法。边缘检测算法。 武汉科技大学信息科学与工程学院3 3跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法v该算法的优点:在首行边缘检测正确的前提下,该算法的优点:在首行边缘检测正确的前提下,该算法具有较强的抗干扰性,能更有效地消除垂该算法具有较强的抗干扰性,能更有效地消除垂直交叉
45、黑色引导线的干扰,以及引导线外黑色图直交叉黑色引导线的干扰,以及引导线外黑色图像的影响,始终跟踪目标引导线。另外,较之前像的影响,始终跟踪目标引导线。另外,较之前两种算法,跟踪边缘检测算法的时间复杂度更低,两种算法,跟踪边缘检测算法的时间复杂度更低,因此效率更高。因此效率更高。v但该算法的问题在于:由于是在连续邻域上跟踪但该算法的问题在于:由于是在连续邻域上跟踪引导线边缘,若第一行左边缘位置的检测位置和引导线边缘,若第一行左边缘位置的检测位置和实际导引线偏差较大,就会产生一连串的错误,实际导引线偏差较大,就会产生一连串的错误,甚至造成智能车失稳。甚至造成智能车失稳。 武汉科技大学信息科学与工程
46、学院3 3跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法跟踪边缘检测算法v综上所述,从算法的简洁性和实用性综合考虑,综上所述,从算法的简洁性和实用性综合考虑,直接边缘检测算法相对于其他两种算法是一个较直接边缘检测算法相对于其他两种算法是一个较好的选择。好的选择。 武汉科技大学信息科学与工程学院7.3.4 7.3.4 图像滤波算法图像滤波算法图像滤波算法图像滤波算法 v虽然采用了边缘检测的方法进行黑线提取,但由虽然采用了边缘检测的方法进行黑线提取,但由于赛道对小车有十字交叉线的干扰、光线对小车于赛道对小车有十字交叉线的干扰、光线对小车有反光的影响、小车本身也存在视野狭窄的缺陷,有反光的影响、小
47、车本身也存在视野狭窄的缺陷,故用黑线提取算法得到的路径信息有可能错误,故用黑线提取算法得到的路径信息有可能错误,不能如实地反映赛道情况。为了不导致决策失误,不能如实地反映赛道情况。为了不导致决策失误,必须对图像加以滤波,并且对错误数据适当地进必须对图像加以滤波,并且对错误数据适当地进行校正。行校正。 武汉科技大学信息科学与工程学院7.3.4 7.3.4 图像滤波算法图像滤波算法图像滤波算法图像滤波算法v在图像滤波算法中,主要应考虑以下几个方面:在图像滤波算法中,主要应考虑以下几个方面:首先,根据图像模型去噪,例如,由于赛道的黑色引导线是绝对连续的,故两个中间有黑线的行之间不能有全白行(注意中间
48、二字:如果黑线在边缘,则可能是由于摄像头的视野太窄或智能车身不正导致在过弯道时只能看到部分黑色引导线),这主要是解决光线对摄像头的反光问题;其次,在理想的情况下,根据赛道的黑色引导线的连续性,如果某一行求取的中心线位置与相邻的两行都相差很大,则可以认为该行数值错误,抛弃该行的数据或使用其前后两行数据的平均值来替代该错误数值用以校正。武汉科技大学信息科学与工程学院7.3.4 7.3.4 图像滤波算法图像滤波算法图像滤波算法图像滤波算法v在调试过程中会出现两段黑线情况,这种图像信在调试过程中会出现两段黑线情况,这种图像信息比较复杂,这时可能存在三种路况:息比较复杂,这时可能存在三种路况:(1)赛道
49、比较密集时,检测到多条赛道;(2)大“S”弯道;(3)“十”字交叉道。v处理策略为:保留最底下的一段,这主要是从安处理策略为:保留最底下的一段,这主要是从安全角度考虑的,防止赛道周围环境对小车的干扰。全角度考虑的,防止赛道周围环境对小车的干扰。 武汉科技大学信息科学与工程学院7.3.4 7.3.4 图像滤波算法图像滤波算法图像滤波算法图像滤波算法v另外,由于智能车上安装的摄像头相对于赛道存另外,由于智能车上安装的摄像头相对于赛道存在一定的倾斜角度,因此会造成采集到的赛道图在一定的倾斜角度,因此会造成采集到的赛道图像具有一定的梯形失真,即图像中的赛道远端窄、像具有一定的梯形失真,即图像中的赛道远
50、端窄、近端宽,因而也会对路径的正确识别产生影响。近端宽,因而也会对路径的正确识别产生影响。对于这种失真,可以通过对每行提取的赛道位置对于这种失真,可以通过对每行提取的赛道位置添加一个线性修正值来消除,一般通过实验的方添加一个线性修正值来消除,一般通过实验的方法确定线性补偿的系数。法确定线性补偿的系数。 武汉科技大学信息科学与工程学院7.3.5 7.3.5 控制策略及控制算法控制策略及控制算法控制策略及控制算法控制策略及控制算法 v1赛道参数的计算赛道参数的计算 v2转向控制转向控制 v3速度控制速度控制 武汉科技大学信息科学与工程学院1 1赛道参数的计算赛道参数的计算赛道参数的计算赛道参数的计
51、算v影响赛车速度成绩的一个重要因素就是对弯道和影响赛车速度成绩的一个重要因素就是对弯道和直道的提前识别判断,从而实现安全过弯,快速直道的提前识别判断,从而实现安全过弯,快速过直道、过直道、S弯道,以提高比赛成绩。而摄像头方弯道,以提高比赛成绩。而摄像头方案在这方面有天然的优势:相对于光电管传感器,案在这方面有天然的优势:相对于光电管传感器,可以获得较远的路径信息;不仅可以得到单行的可以获得较远的路径信息;不仅可以得到单行的黑线信息,还可以同时获得多行的黑线信息。经黑线信息,还可以同时获得多行的黑线信息。经过图像处理算法后,得到的信息是关于前瞻范围过图像处理算法后,得到的信息是关于前瞻范围内的黑
52、线的具体位置,它一般是一个二维数组内的黑线的具体位置,它一般是一个二维数组lineposij。现在就是要从这个二维数组中。现在就是要从这个二维数组中提取出智能车前方的路径信息,以便于后面转向提取出智能车前方的路径信息,以便于后面转向和速度的控制。和速度的控制。 武汉科技大学信息科学与工程学院1 1赛道参数的计算赛道参数的计算赛道参数的计算赛道参数的计算v(1)偏差的计算)偏差的计算v(2)曲率的计算)曲率的计算 武汉科技大学信息科学与工程学院(1 1)偏差的计算)偏差的计算)偏差的计算)偏差的计算v为了使小车运行得快而稳,联想到光电管方案可为了使小车运行得快而稳,联想到光电管方案可以从一维数组
53、以从一维数组lineposj中提炼出一个黑线距中提炼出一个黑线距离车身中心轴的偏差量离车身中心轴的偏差量Offset,要求出这个偏差,要求出这个偏差量必须至少考虑三个因素:量必须至少考虑三个因素:最远行黑线位置linepostopline黑线平均位置averlinepos全白行行数whiteline_sum武汉科技大学信息科学与工程学院(2 2)曲率的计算曲率的计算曲率的计算曲率的计算v从理论上讲,相对于偏差量从理论上讲,相对于偏差量Offset,曲率是智能,曲率是智能车更好的一个控制变量。但由于路径检测单元的车更好的一个控制变量。但由于路径检测单元的局限性,很难计算出非常精确的曲率。局限性,
54、很难计算出非常精确的曲率。 v如果用曲率值进行智能车方向及速度的辅助控制,如果用曲率值进行智能车方向及速度的辅助控制,还是能够起到一定的效果的。还是能够起到一定的效果的。 武汉科技大学信息科学与工程学院2 2转向控制转向控制转向控制转向控制 v转向控制采用了分段比例和前馈补偿相结合的控转向控制采用了分段比例和前馈补偿相结合的控制方法。制方法。 (1)分段比例控制(2)前馈补偿控制武汉科技大学信息科学与工程学院(1 1)分段比例控制)分段比例控制)分段比例控制)分段比例控制v因为小车处于弯道和直道的转向模型不同,若采因为小车处于弯道和直道的转向模型不同,若采用统一的比例系数设置,那么该系数过大会
55、导致用统一的比例系数设置,那么该系数过大会导致小车振荡,过小会导致最大控制量偏小,小车转小车振荡,过小会导致最大控制量偏小,小车转向不足,过弯时易冲出赛道。使用分段比例控制向不足,过弯时易冲出赛道。使用分段比例控制既方便又可以解决以上两种问题。既方便又可以解决以上两种问题。 武汉科技大学信息科学与工程学院(2 2)前馈补偿控制)前馈补偿控制)前馈补偿控制)前馈补偿控制v由于由于CMOS方案不像光电管方案,它存在图像失方案不像光电管方案,它存在图像失真的情况,越远地方的图像失真越厉害,而对于真的情况,越远地方的图像失真越厉害,而对于计算计算offset偏差量来说,越远的路径信息越有参偏差量来说,
56、越远的路径信息越有参考价值,故其比重也相对较大。这样,就导致小考价值,故其比重也相对较大。这样,就导致小车转向微调时的效果往往不太如人意。车转向微调时的效果往往不太如人意。v鉴于此,在小车前述的分段比例控制基础上又加鉴于此,在小车前述的分段比例控制基础上又加入了前馈补偿控制进行微调入了前馈补偿控制进行微调。武汉科技大学信息科学与工程学院3 3速度控制速度控制速度控制速度控制 v(1)模糊控制设定速度)模糊控制设定速度 v(2)PID控制调整速度控制调整速度 武汉科技大学信息科学与工程学院(1 1)模糊控制设定速度)模糊控制设定速度)模糊控制设定速度)模糊控制设定速度v因为小车比赛的赛道是未知的
57、,弯道的分布情况因为小车比赛的赛道是未知的,弯道的分布情况也不能确定,小车可能频繁地进出弯道,不停地也不能确定,小车可能频繁地进出弯道,不停地调整速度来适应不同轨迹。这样就难以建立精确调整速度来适应不同轨迹。这样就难以建立精确的数学模型,且赛车对动态性能的要求较高的数学模型,且赛车对动态性能的要求较高v考虑到该款考虑到该款S12单片机有一套特色指令单片机有一套特色指令模糊模糊控制指令,执行时间只有几十微妙级(时钟频率控制指令,执行时间只有几十微妙级(时钟频率为为25 MHz),不会影响决策周期,且简单易行,),不会影响决策周期,且简单易行,而模糊控制具有处理不明确信号的能力,故可以而模糊控制具
58、有处理不明确信号的能力,故可以采用模糊控制设定速度。采用模糊控制设定速度。 武汉科技大学信息科学与工程学院(1 1)模糊控制设定速度)模糊控制设定速度)模糊控制设定速度)模糊控制设定速度v1)模糊输入、输出量的选取)模糊输入、输出量的选取 v2)隶属函数的确定)隶属函数的确定 v3)模糊规则库的建立)模糊规则库的建立 v4)模糊推理及解模糊化)模糊推理及解模糊化 武汉科技大学信息科学与工程学院(2 2) PID PID控制调整速度控制调整速度控制调整速度控制调整速度v速度调整要求对智能车的速度的调整既要快速,速度调整要求对智能车的速度的调整既要快速,又要准确,而且不能频繁波动。故采用又要准确,
59、而且不能频繁波动。故采用PID控制控制算法不失为一种简单而有效的策略。算法不失为一种简单而有效的策略。 武汉科技大学信息科学与工程学院(2 2) PID PID控制调整速度控制调整速度控制调整速度控制调整速度v考虑到摄像头方案的控制周期较长,假设按考虑到摄像头方案的控制周期较长,假设按2.5 m/s的平均速度计算,则一个控制周期小车大概的平均速度计算,则一个控制周期小车大概可以跑过可以跑过5 cm,如果按这种周期用上述,如果按这种周期用上述PID调调节速度,则会导致加速、减速均过长的后果,严节速度,则会导致加速、减速均过长的后果,严重地影响小车的快速性和稳定性。重地影响小车的快速性和稳定性。v
60、为了解决这个问题,可以在为了解决这个问题,可以在PID调速控制中加入调速控制中加入BANG-BANG控制思想。控制思想。思考题思考题 1 1摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势体现在何处?体现在何处?体现在何处?体现在何处? 2 2摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势摄像头型智能车相对于光电管型智能车的优势体现在何处?体现在何处?体现在何处?体现在何处?3 3若赛道中的一段出现空白,摄像头
61、型智能车如若赛道中的一段出现空白,摄像头型智能车如若赛道中的一段出现空白,摄像头型智能车如若赛道中的一段出现空白,摄像头型智能车如何识别路径,并保持正确的行进方向?何识别路径,并保持正确的行进方向?何识别路径,并保持正确的行进方向?何识别路径,并保持正确的行进方向? 思考题思考题4 4摄像头型智能车如何区分赛道中的十字交叉线摄像头型智能车如何区分赛道中的十字交叉线摄像头型智能车如何区分赛道中的十字交叉线摄像头型智能车如何区分赛道中的十字交叉线与赛道的起始端线?与赛道的起始端线?与赛道的起始端线?与赛道的起始端线? 5 5简述在机械安装中,摄像头装配高度和装配俯简述在机械安装中,摄像头装配高度和装配俯简述在机械安装中,摄像头装配高度和装配俯简述在机械安装中,摄像头装配高度和装配俯角大小对智能车行驶的影响。角大小对智能车行驶的影响。角大小对智能车行驶的影响。角大小对智能车行驶的影响。