一种智能车控制系统的设计与实现

时间:2011-06-06

 

  我国自2006年起举办的全国大学生“飞思卡尔杯”智能汽车竞赛融科学性、趣味性和观赏性为一体,是一项以迅猛发展、前景广阔的汽车电子为背景,涵盖了自动控制、模式识别、传感技术、电子、电气、计算机、机械与汽车等多个学科的科技创新比赛。参赛队伍在车模平台基础上,制作一个能够自主识别路线的智能车,在专门设计的赛道上自动识别道路行驶。

  利用机器视觉,通过识别路面条带状引导线实现自主导航是现阶段智能车常用的导航方法。该方法不仅具有视觉导航信息量丰富,智能化程度高的优点,而且引导线的加入大大降低了图像处理的数据量和技术成本,提高了智能车控制的实时性和现实应用的可行性。当前研究的热点问题是路径识别的准确性和实时性。

  智能汽车与一般所说的自动驾驶有所不同,它指的是利用多种传感器和智能公路技术实现的汽车自动驾驶。智能汽车首先有一套导航信息资料库,存有全国高速公路、普通公路、城市道路以及各种服务设施(餐饮、旅馆、加油站、景点、停车场)的信息资料;其次是GPS定位系统,利用这个系统定位车辆所在的位置,与道路资料库中的数据相比较,确定以后的行驶方向;道路状况信息系统,由交通管理中心提供实时的前方道路状况信息,如堵车、事故等,必要时及时改变行驶路线;车辆防碰系统,包括探测雷达、信息处理系统、驾驶控制系统 ,控制与其他车辆的距离,在探测到障碍物时及时减速或刹车,并把信息传给指挥中心和其他车辆;紧急报警系统,如果出了事故,自动指挥中心进行救援;无线通信系统,用于汽车与指挥中心的联络;自动驾驶系统,用于控制汽车的点火、改变速度和转向等。

 

 

  非均匀行图像采集

  摄像头在拍摄图像的时候,理想的位置是垂直于拍摄平面,这样才能保证图像按原来的几何比例重现。然而受到智能车车体结构的限制和车体控制需摄像头有一定预瞄距离的要求,摄像头一般与地平面成一定角度安装。安装角度的存在会造成一定的成像畸变,图像的畸变会产生一系列问题:垂直线被拍摄成斜线导致斜率计算错误,远处的弯道被压缩导致曲率计算错误等等。在这种情况下,直接利用目标引导线在图像中的相对位置制定控制策略,会造成较大的误差,甚至使小车严重偏离引导线。针对此问题,本文在分析摄像头成像模型的基础上,提出了一种非均匀行采集的图像畸变矫正算法。图2为摄像头成像示意图。

  由图可得图像坐标系与世界坐标系的坐标转换关系为:

 

 

  由式(2)得到图像行数v与世界坐标y的关系曲线如图3所示。图像行数与其所反映的实际距离之间是非线性关系,距离越远,图像中两行间的实际距离越大,即摄像头对远处的路平面进行了纵向的压缩,而且距离越远,压缩越严重。

  为了消除这种畸变,令单片机非均匀地采集摄像头输出图像中的行,在距离较远处采集的行数较密,近处采集的行数较少。这种规则通过采集行数的非线性弥补了图像行数与实际距离的非线性,实现了等空间间距的均匀采样,从而保证了智能车控制器采集得到的图像在纵向上与实际路平面间相对无畸变或畸变较小。

  

  

  由于所用单片机的A/D转换能力有限,且本系统的目的只在于提取出黑线中心,终方案采集40×60分辨率的图像。根据摄像头的参数和公式(3)计算得到本系统非均匀行采集的行数分布如表1所示。

  图像处理

  图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。虽然某些处理也可以用光学方法或模拟技术实现,但它们远不及数字图像处理那样灵活和方便,因而数字图像处理成为图像处理的主要方面。

  图像处理流程

  该摄像头的场扫描频率为50Hz,为了提高智能车控制的实时性,本系统选择控制周期为20ms,即在一个图像场周期内必须完成图像采集、图像处理、路径识别和车体控制等一系列工作。这就需要合理规划处理流程,同时要求各种算法简练有效。本系统的程序流程如图4所示,采集完一行图像后,利用到下一采集行的空余时间处理该行数据,提取路径。待整场图像采集完毕,利用场消隐的时间对整场路径进行纵向滤波,判断路况,并对舵机和电机进行控制。

  单行数据处理

  横向滤波

  由于受到道路环境和硬件环境,如:光电转换过程中光敏元件灵敏度的不均匀性、数字化过程的量化噪声等的影响,单片机采集的图像信息中会存在干扰,在路径识别过程中,有些干扰可能会被误认为是引导线。因此,在单行数据处理之前,首先对图像信息进行横向滤波。

  中值滤波是一种典型的非线性滤波方式,其主要功能是让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,中值滤波对孤立的噪声点(特别是椒盐噪声)的消除能力较强,同时能够有效保护图像的边缘[4]。

  阈值分割

  阈值分割的基本思想是确定一个阈值,然后把每个像素点的像素值和阈值相比较,根据比较结果把该像素划分为目标或背景,图像分割效果的好坏直接取决于阈值的选取。由于光线和噪声的干扰,若用一个固定阈值进行分割,会产生一定的误差。为尽可能减小误分割的概率,增强智能车的抗光线变化干扰能力,本文采用动态阈值对每一行图像进行分割,根据上一行的图像数据确定下一行的阈值,阈值T的确定方法为:

 

 

  这里先取图像灰度范围的中值作为行的初始值,然后迭代求得各行的值。具体迭代步骤如下:

  (1) 求出行图像中的灰度值maxZ和灰度值minZ。

  (2) 求出行的初始阈值T0=(maxZ+minZ)/2,给定迭代时新旧阈值的允许接近程度ε=5。

  (3) 求出行图像中灰度值Z≥T1的所有像素点的数量bn、累加和bS以及灰度值Z< T1的所有像素点的数量tn、累积和tS。

  (4) 计算确定行阈值

  (5) 转至步骤(3),求出第i行阈值Ti,如果则Ti为终阈值,否则,Ti =Ti-1。

  边缘检测

  边缘是目标与背景相邻区域之间灰度值不连续的结果,边缘检测是所有基于边界的图像分割的步。本系统的引导线与地板的色差较大,反映在数据中就是灰度值差别较大,引导线与地板间的边沿较明显,如图5所示,因此对边缘进行检测较容易且可靠性高。

  边缘检测的思路是:确定一阈值,对采集的单行图像数据逐点进行扫描,若灰度值小于阈值,则判断该点为黑点,即检测到引导线左边缘,继续扫描,若灰度值大于给定阈值,则该点为白点,将该点作为引导线右边缘。右边缘和左边缘的横坐标之差为引导线的宽度,其平均值即为引导线的中心横坐标值。

  由于图像数据中可能存在着未被滤出的噪声点,通过以上算法不可避免地会将一些噪声点识别为引导线。从而可能在一行数据中存在多段黑线,根据路径的连续性特性对路径进行提取可提高引导线识别的可靠性。提取路径的过程如下。

 

  (1)如果该行中没有检测到黑线,则该行为纯白或纯黑行,将路径坐标置为零,同时将无效行标志置位。若该行为一场的行,则将无效场标志置位。

  (2)如果检测到一段黑线,若黑线宽度大于设定的先验值,则将该黑线段的中心坐标作为该行的路径中心坐标,否则将该行设为无效行。

  (3)如果检测到两段黑线,若该行为一场的行,则该行的路径坐标不变,即保持上一场该行的路径坐标;否则,分别判断两段黑线与上一行路径坐标的距离,取距上行较近的黑线中心为该行路径坐标。

  (4)如果检测到更多黑线,则该行无效,将路径坐标置为零,同时将无效行标志置位。

  整场数据处理

  道路图像经过单行路径提取以后,横向的单点噪声已经消除,但是对于部分宽度较大的干扰却无法滤除,这样提取出来的路径在某些行就发生了跳变。为了得到准确的引导线参数,为后续的控制模块提供的导航参数,需要在整场图像采集完毕之后,对提取的路径进行纵向的平滑。

  断点修补

  由于光线的不均匀或路径中出现较大的干扰,可能会出现部分行采集不到引导线的情况,从而出现断点。而且交叉道路的图像经过上述方法处理后也会出现断点的情况,因此有必要加入断点修补环节,对路径进行纵向滤波。

    根据这个特性,断点修补的方法步骤如下:

  (1)求出第i行与第2i?行的路径坐标之差

  (2)求出第1i?行与第3i?行的路径坐标之差

  (3)求出Dposition[1]与Dposition[2]之差的

  (4)若Adposition大于4,则通过该算法,道路图像断点区域得到了修复,引导线从首点到末点之间形成了一条连通的曲线,这种断点修补方法满足了智能车提取引导线趋势的要求。

  纵向滤波

  对于某些跳变不大的干扰行,虽然不会影响对路径整体趋势的判断,但其对后续控制模块的计算会产生较大影响。当控制行坐标突变时,势必会造成舵机的抖动,智能车速度较快时甚至会导致车体脱离引导线,因此加入纵向滤波环节对路径进行平滑很有必要。

  纵向滤波采用中值滤波的思路,具体方法为:判断该行路径坐标若在其前一行和后一行的同一侧,即该行坐标同时大于或同时小于其前一行和后一行坐标,则赋予该行坐标为其前一行和后一行坐标的平均值。

 

  导航参数获取

  经过路径提取后,得到引导线在图形坐标系下的坐标(u,v),然后通过式(3)、(4)得到引导线的世界坐标(x ,y ),通过二乘法进行曲线拟合,便得到引导线的曲线方程。对于直线模型y=kx+b,可运用斜率 k和截距b作为导航参数对车体进行控制[7];对于曲线模型,可得到弯道的曲率半径和横向偏差作为导航参数对车体进行控制。

  实验结果分析

  采集方案实验

  摄像头采集的图像如图6所示,a为均匀行采集效果,b为按表1分布行数采集的效果。由图可以看出,非均匀行采集的图像更接近实际图像,对引导线曲率的计算更加准确,为智能车控制决策模块提供了更加地引导线信息。而且,由图还可看出通过非均匀行采集,相对提高了摄像头的

  路径识别实验

  摄像头获取的弯道图像如图7a所示,由于光线的影响,中间部分出现了断点,经断点修复和中值滤波后得到的图像分别如图7c和7d所示,道路图像断点区域得到了修复,引导线从首点到末点之间较平滑,据此可获得路径的导航参数。

  十字交叉道路是智能车导航中较常见的路况,同时也是路径识别中比较复杂的内容。如图8a所示的十字交叉道路经路径识别后得到的引导线如图8d所示,可以将交叉线完全滤除。

  结语

    通过大量实验测试证明该智能车能快速平稳地在制作的赛道上跟踪黑色引导线行驶,寻迹效果良好,速度控制响应快,动态性能良好,稳态误差较小,系统的稳定性和抗干扰能力强。在2008 举办的全国大学生“飞思卡尔杯”智能汽车竞赛中取得了华北赛区二等奖的好成绩,充分证明了设计方案的有效性和稳定性。

  本文介绍了一种智能车控制系统的设计与实现。采用非均匀行采集实现了图像畸变矫正;在图像处理中,根据摄像头采集时序,时图像进行横向滤波、阈值分割、边缘检测、纵向滤波和导航参数提取等。该算法合理安排程序流程,提高了图像处理和车体控制的实时性。实验结果表明,此方法能够有效降低噪声干扰和图像畸变对参数提取的影响,提取出的引导线导航参数。

 


  
上一篇:DSP系统软件在线升级机制的研究和实现
下一篇:基于56F803型DSP的大功率超声波电源的设计与实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料