第五章 控制算法实现
推荐给好友
打印
加入收藏
更新于2008-08-20 23:47:41

5.1 总体软件设计

智能小车的控制是采用模块化的结构,基本思路是:将方向传感器采集来的道路信息和速度传感器采集来的当前速度值经CPU处理,输出 PWM信号到驱动舵机和电机。方向控制和速度控制系统分别构成两个闭环系统。在综合控制算法中,两者可相互影响;比如根据路径识别的结果来控制速度,使得在弯道上慢速,而在直道上快速。方向控制上我们使用了三种方法:完全基于摄像头的决策,基于摄像头和光电管的共同决策,完全基于光电管的决策。

程序的总体结构流程图如下:


图5.1 总程序结构图


5.2 路径识别算法

路径识别模块的流程图如下:


图5.2 路径识别算法流程图


5.2.2 基于光电管的模糊控制算法

光电传感器获得的路面信息是离散、断续变化的,具有近似性、不完善性并混杂一定的噪声,模糊控制能保证输出的连续性和平滑性并容纳这种不确定的输入信息,产生光滑的输出控制量。同时小车的动力学模型复杂难以确定,是一个典型的时延、非线性不稳定系统,而模糊控制并不依赖于控制系统精确的数学模型,可以完成输入空间到输出空间的非线性映射。

模糊控制器主要由三部分组成,即模糊化,模糊规则推理及反模糊化。


图5.3 模糊控制器工作图


确定两个模糊输入量为e,ec,表示赛道位置与模型车中心位置的偏差和偏差的变化量,模糊输出量为angle。e为从-7到+7,ec为从-14到+14,angle为-37至+37。各变量使用11个语言值{N5,N4,N3,N2,N1,ZE,P1,P2,P3,P4,P5}表示。相应的模糊规则库如下:


表5.1 模糊规则库



5.2.2 基于CMOS的算法

由于设计中摄像头只用于采集道路的灰度信息,且黑白CMOS摄像头对路面信息的采集已经完全能够达到对道路识别的精度要求,所以设计选用黑白CMOS摄像头,输出制式PAL信号,分辨率为380线。

处理时每隔6行采集1行数据,利用行同步和场同步的间隔时间来完成图像的处理和智能车的控制。具体为通过查询的方式等待场同步信号,而行同步信号则通过中断方式获得,在每个行同步信号到来时,采集一定数量的点,并利用下一个行同步中断到来之前的间隔时间,完成一定的计算量,这里的计算主要是相对本行的偏差。CMOS采集图像的为60*60。

通过试验发现,利用摄像头进行路径识别相对光电管有较大的前瞻性,从而能提高车速。但是摄像头易受环境的干扰,主要是赛道周围黑色物体和光线两类干扰,如果对这些外界干扰处理的不好,将严重影响智能车运行的稳定性,甚至无法完成比赛。

为了抵抗这两种类型的干扰,本设计分别采用了以下抗干扰策略:

1) 针对赛道周围黑色物体的干扰,采用了一种基于连续性判断的寻线策略,基本思想是:除了距离小车最近的一行外,每一行都以它的上一行作为本行找线的基准位置,向两边扫描一定的像素,因为相邻两行黑线的中心位置的偏差一定是小于某个值的,将该值适当放宽一些后,就可以保证快速的找到真正的路径,同时把赛道周围的黑色干扰滤除。

基于以上分析可知,在计算第n行的黑线中心位置时,必须知道第n-1行的黑线中心位置,而通常的摄像头都是从远到近扫描的,为了利用这种寻线策略,实际中必须先获得较近行的图像信息。

这又有两种方案可供选择,一种常见的方案是将面阵CMOS的图像保存到一个二维数组当中,等待最近的行信息获得后再进行处理。另外一种方案是,将摄像头倒置安装,优先获取近处的行信息。综合比较两种处理方案不难发现,第一种方案既浪费存储空间,又将所有行的寻线计算量积累在一个时间段计算(一帧图像的结束),使用的单片机在短暂的时间内可能难以完成。如果采用第二种方案,就可以边采集边计算,利用每一个行同步和其他不需采集行的时间间隙,来完成该行寻线的计算任务。这样,当所有行采完的同时,也基本完成了图像的处理和路径的识别任务。通过将复杂的计算任务分布开工作的方式,为单片机的其他控制和运算节约了宝贵的时间。鉴于此,实际采用了第二种方案(路径识别效果见图5.4)。


图5.4 路径识别效果


2) 针对赛道反光和周围直射光线的干扰,采用了以下几种抗干扰策略。

(1)由于赛道黑色引导线可能反光(如图5.5)导致黑色引导线部分缺失,可以采用线性拟合来对不完整的图像进行修补。图5.6是对图5.5进行修补后的效果图。

(2)当图像缺失的比较严重,或者由于外界强光导致摄像头的完全失明(如:赛场周围闪光灯的影响,正面直射光的通过赛道反射进入等),摄像头只会使采集到全空的白数据。这种图像就是无法修补的了,此时可以采用两种方案:一种方案是利用上一帧有效图像对智能车进行控制,另一种方案是将小车的控制权转交给依靠其他辅助路径识别设备的决策模块。在我们的智能车设计中综合使用了这两种方案。

图5.5 道路反光后效果                                            图5.6 修补后效果


5.2.3 两者的结合

这种方案是将光电管和摄像头结合起来的方法。具体方法是将光电管作为摄像头的第一排,然后判断前面的道路信息是否有效,若无效的话此时切换到光电管;有效的话继续用摄像头的有效信息。由于判断摄像头失效的条件还未达到较好的状态,所以这种方法还在进一步探索中。

5.3 速度控制算法

在速度控制上,采用的是位置型数字PID算法和PD算法结合的策略。

数字PID控制关键的两个问题是:其一,速度反馈的精度;其二,PID参数的配合。如何解决速度反馈精度的问题,关键在于提高速度检测的脉冲数的精度,减少丢脉冲的个数。基于以上考虑,在选择处理脉冲的方法上,本设计采用M法。即在固定周期内测量脉冲数。之所以采用M法,原因是:当控制周期较长时,接受到脉冲数较多,对丢1、2个脉冲不敏感;当间隔周期较短和对象惯性较大时,可认为脉冲数正比于电机转速,这样后续的地速度处理要也方便一些,甚至可以直接用脉冲数直接代替车速参加运算。但是尽管如此,在车速很低的时候,固定周期内测得的脉冲数很少,在这种情况下丢脉冲有较大偏差。

数字PID位置型控制算式为:


其中Kp称为比例增益,KI称为积分系数,KD称为微分系数。

当速度偏差大于一定范围时,采用PD控制,以提高动态性能和缩短调试周期,相应控制算法流程图如下:


图5.7 速度控制算法

 

 

上一章:硬件电路设计                                                       下一章:调试及主要问题解决




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