线性拟合路径识别的数学模型和实现
2012-07-03常文凯
常文凯
(华北电力大学 自动化系,保定 071000)
0 引言
在控制智能车的过程中,精确地识别出中心黑线的位置和道路状况始终是各种算法的最基础部分。光电组智能车常采用采集数字信号的方法。该方法直接把固定位置单个传感器所“看”到的黑白情况反映给单片机,识别电路用硬件电路搭接,电路简单。但是遇到跑道瑕疵、光线明暗不均的地方容易错误判断。此外,用这种方法判断的黑线位置是不连续的,容易出现跳跃性打舵机,使系统不稳定。
1 方法提出
文献[1]中利用中断技术每个1ms 采集一次信号,采集10次求平均值的方法可增强抗干扰能力。文献[2]中提出采集模拟量,结合环境动态设置阈值的方法受光照影响较大,并且增加了许多额外的电路。文献[3]提出拟合单个传感器特性曲线的方法同样对环境的依赖性较高适应性不强。
结合实践发现线型拟合识别路径的方法可以很好地增强智能车的适应能力。该方法的基本思想是让传感器采集模拟量,以传感器的固定位置为x轴,采集的电压为y轴。经过适当处理后可拟合出一条电压——位置曲线。结合最高点位置、斜率等特征信息可以识别出黑线中心位置、起跑线等多种路况。
计算求解过程中没有人为设定的阈值,增强了适应能力。每一个传感器“看”到的是一片区域而不是一个点的黑白情况,这样可以明显减弱环境等因素的干扰。另外,基于该算法本身特性,可以使传感器的观测范围大于PCB板整体宽度、使用传感器个数少、识别精度高等优点。
2 数学模型
2.1 模型分析
经过比较,基于求解超定方程组的拟合方法在单片机上更容易实现。实验过程中选用拟合4阶方程效果最好。
图1 传感器布置
图 2 拟合曲线
如图1所示,8个传感器的位置分别为x1~x8,对应采集的模拟信号(电压值)分别为y1~y8,需要拟合成4阶方程(1)和一阶导数方程(2):
可以看出只要5组(x , y)(5个采样点)就可以求解出方程系数a~e的值。在实际应用中把黑线位置附近的值作为拟合的重点。从采集的电压来看,黑线附近即为ymax或ymin位置的附近。按照上述规则从采集来的8对采样点中选出以ymax或ymin为中心的5对采样点参与拟合对于ymax或ymin所对应的传感器位置靠近PCB板边上时,即:yi=ymax或yi=ymin且i∈{1,2,3,6,7,8}时应该取最左端或最右端5对值。具体规则见表1。
表1 分类规则表
按照上述规则确定参与拟合的5个点后结合式(1)可得到方程组(3)转化为矩阵形式为式(4)
超定方程组(4)简记为
当XTX可逆时方程(5)存在解,并且方程(5)、(6)的解相同,都为表达式(7)[4]
把求解结果L代入(1)、(2)式可得出当前的位置——电压曲线和位置——斜率曲线,如图2所示。把任何感兴趣的位置xj∈( xmin, xmax)带入曲线方程可得到该位置的黑白程度和趋近于黑线的程度。
当8个传感器在PCB板上的位置固定时x1~x9为确定值,因此,按照表1中的分类方法,式(5)中X只有4种值,对应于Ⅰ~Ⅳ类X分别简记为方程 (7)可表达为方程(8)
同理当传感器在PCB板上的位置固定时Ci也只有四种情况。因此,传感器PCB板制作好后可以用matlab等工具计算出C1~C4四个矩阵,以二维数组的形式存进单片机中,这样可以节约大量的运算时间并调高运算精度。
2.2 信息提取
利用求解出的(1)、(2)式可以获得道路的多种信息。结合模糊控制等智能控制方法可为智能车整体控制提供强有力的支持。参考文献[5,6]对模糊控制有较详尽的说明这里不再赘述。这里仅对求解黑线中心线位置作说明。
从实际情况可知,黑线中心处应该就是(1)式对应曲线的最高/低点,这就把问题转化为求解曲线在xj∈( xmin, xmax)范围内的最大/小值的问题。由2.1分析可得曲线最大/小值处在 ymax或ymin对应的位置附近。可以以 ymax或ymin对应的位置Xk为中心,以Δl为间隔,沿x轴正负方向分别扩展M个点,记数组S为:
S = ( xk-MΔl , xk-iΔl ,…xk-iΔl , xk-MΔl ), 其 中i∈( 0 , M )
为方便说明简记:
把sn带入式(1)可得电压数组V
3 程序的实现
3.1 计算常数
由表1可得需要计算四类Ci,8个接收管间隔x1=-8.00, x2=-5.71, x3=-3.43, x4=-1.14,x5=1.14, x6=3.43, x7=5.72, x8=8.00,以C1为例计算可得
3.2 程序流程图
图3 程序流程图
图4 误差分析
A/D转换5次并求取平均值可以起到滤波的作用,实际应用时可以灵活调节A/D转换间隔和转换次数保证滤波效果。计算黑线中心线位置和斜率后存储可以为识别道路提供更多的信息。
4 结果分析
部分测试结果如图4所示,硬件经过仔细调整但实际测试依然有误差。平均误差整体为正,说明传感器PCB板中心线相对于车体的中心线偏左。调整PCB板的安装位置可以减小部分误差。平均误差在不同区段也不相同,这是因为8个传感器的光电特性不可能完全一致,调节起来也十分困难,从软件方面给予修正相对容易一些。
平均误差曲线是测量系统不随路况改变的特性曲线,当硬件固定时曲线也是唯一的。拟合出平均误差曲线函数f (X, ΔX )在需要黑线绝对位置时按照f (X, ΔX )给予修正可达到更高的精度。 从图4中可以看出,进过修正后误差明显减小。
5 结论
整体来看,该方法抗干扰能力强,在复杂光电环境中依然保持良好检测能力;适应性强,识别路径算法中没有人为设定阈值,无论光的强弱均可正确识别黑线位置;使用传感器个数少,共用8个红外接收管,达到了其他方法需要10~15个传感器检测的精度,电路更简洁、功耗更低。该方法的不足是对硬件的一致性要求比较高,需要反复仔细调节和测试每一个发射管和接受管后才能达到设计精度。
[1] 葛鹏飞, 郑建立,等. 基于光电传感器的智能车寻迹方法研究[J], 研究与开发, 2007, 26(8): 40-42.
[2] 牛俊英. 低成本8位单片机控制的光电寻迹智能车[J], 电子设计工程, 2011, 19(10): 128-131
[3] 王德双, 陈小虎, 于磊磊. 第四届“飞思卡尔杯”全国大学生智能车竞赛技术报告[R], http://www.docin.com/p-220402500.html
[4] 同济大学数学系. 工程数学. 线性代数[M]. 高等教育出版社, 2007: 71-78
[5] 陈果, 徐家品等. 基于模糊控制的快速循迹智能车的设计与实现[J]. 成都信息工程学院学报, 2008, 23(6): 601-604.
[6] 祝亚峰, 李书刚, 等. 基于红外激光管的智能车设计[J],信息技术, 2010, 6: 109-112