第三章 系统软件设计
推荐给好友
打印
加入收藏
更新于2008-05-27 10:03:54

CCD

        本设计系统中采用的是CCD摄像头对道路信息进行采集,得到实时图像数据后,对图像进行处理,提取赛道中的引导黑线的位置,从而以此作为改变舵机转向和控制电机转速的理论依据。 

        本方案中,以CodeWarrior4.1为开发工具,系统的软件设计包括:系统的初始化,视频图像信号采集及处理程序,以及对小车电机、舵机的控制程序。具体实现以下的功能:系统初始化、视频图像信号的采集、视频图像的分析及处理、电机控制、舵机的控制。

3.1. 软件主流程 

        小车系统软件的运行主流程是:采集程序在PJ口中断服务程序中对CCD摄像头的场视频信号进行控制,在外中断服务程序中采集每行信息,每13行读取一行信息。主程序交替对数据进行处理和计算并给出控制量,控制周期为20ms。主程序检测到完成一场采集数据结束的标志后,对相应的数据进行处理并计算控制量,控制舵机转向以及电机的转速,清除数据结束标志位,同时等待下一场数据的到来。软件的主流程如图 3.1 所示。

3.2. CCD图像信息的采集与特征的提取 

        CCD摄像头输出的是标准的视频复合信号,利用同步信号分离芯片LM1881 和S12单片机的A/D转换器可以对视频信号进行采集,从而得到CCD的灰度图像数据,经二值化处理就可以得到跑道黑线轨迹在图像上的点阵。单片机总线频率超频到32MHz ,每行最多能够采集42 个点,前10个数据为行消隐,共采集32个有效数据点,采集20行信息。 

        CCD黑线中心坐标的提取大致的思想如下。首先判断图像采集是否完成,完成了才开始下面的处理。从最近一行图像开始检测,设定检测的左右边界位置。根据本行获得的黑线左右边界来确定下一行的左右边界值。如此循环直到处理完整幅图像。另外,可能会有异常信息,全黑或者检测不到黑线,此时作为异常情况,置一个异常标志位,对其进行单独处理。

3.3. 电机速度与舵机转向的控制算法

3.3.1. 当前赛道信息的识别与控制
 

        一场图像数据处理结束后,赛道的路径信息会清晰的再现出来。根据整幅图像黑线的有效起点和有效终点的斜率和偏离图像中心位置的偏移量,就可以判断当前赛道是直道还是弯道。 

        根据这些信息给定舵机的控制量。此方案获的主要思想如下:首先找到图像数据最近位置的第一个有效行,同时记录黑线的中心位置信息,定义为(X0,Y0 )。 然后再找最远位置的第一个有效行,以及其黑线中心位置,定义为(X1,Y1 )。据此算出黑线的斜率(Y1 - Y0 )/ (X1 - X0 ),和黑线偏离图像中心位置的偏移量| X0 |。其示意图如图3.2所示。

其计算公式为:

舵机控制量 = K0*X0 + K1* (X1 - X0 )/(Y1 -Y0 ) (4) 

        根据不断的调试和经验数据得到比例系数 K0,K1 的确切的值。

3.3.2. 对未来赛道信息的预测与控制 

        单纯的判断当前赛道的信息,不能十分准确地给出舵机转角的控制量。小车在高速运行时,遇到比较急的弯道,容易出现差错。经常出现转角控制量滞后而冲出跑道。鉴于此,我们在原方案的基础上添加了预测算法。 

        根据CCD视频图像的扫描特点,前视距离较远处扫描到的图像含有信息较多,所以根据一幅图像的前视距离最远处1/4段曲线的切线可以预测到未来赛道的信息。在曲线的前面1/4处取一点(X2,Y2),其示意图如图3.1所示。舵机转向的计算公式为:

舵机控制量 = K0*X0 + K1*(X1 - X0)/(Y1 -Y0)+K2 *(X1-X2)/(Y1-Y2) (5) 

        根据点(X2,Y2)和点(X1,Y1)段曲线的弯曲程度,可以预测出下一段道路的走向。调解系数K2,控制舵机转向的角度,降低舵机转向滞后的机率。可以使小车不完全按照黑线走,走内道,灵活,连续地行使。 

        电机的控制速度采用闭环控制,根据速度反馈和弯道信息给定当前电机的速度,直道上加速,进弯道时减速,由于CCD摄像头看的比较远,可以提前看到弯道,减速,进弯道后看到另一场图像,再进行下一次处理,根据控制策略,进行加减速。 同时结合速度反馈,当速度超过某标定值时,减速处理,低于标定值时,加速处理。

      上一章:智能车寻迹的硬件系统设计                   下一章:模型车机械安装及主要技术参数说明




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.