夜间行车时,灯光通常不充足,当汽车需要转弯时,汽车光束不会自动调整的情况下,转弯方向处的视野经常会受限,研究弯道辅助照明(adaptive front-lighting system,AFS)具有重要的现实意义[1, 2]。AFS有3种形式:转向头灯形式的、利用独立弯道照明系统的、利用左右雾灯弯道照明系统的。现有的AFS多是按照转弯方向转动汽车前照灯的方式,虽然能够在一定程度上提高弯道行车的安全性,但该系统存在一定的局限性,即明显的滞后、精度不是很高等,使得前照灯转向不及时也容易发生事故,而且该方式的控制相对较为复杂。根据汽车线速度计算转弯半径并判断汽车是否转弯,当汽车转弯时打开转弯方向的雾灯,能够照亮更宽的视野,具有更高的安全性[3, 4, 5]。判断汽车是否转弯,需根据采集到的汽车左、右轮的速度计算转弯半径。为了防止因速度抖动、路面不平和人为转动方向盘等因素使采集到的速度数据某次满足大于阈值而造成误开灯的现象[6, 7],保证系统的稳定性,必然要对所采集到的数据进行滤波处理。
为了滤除信号中的干扰,中位值、限幅滤波、递推平均算法以及小波变换方法是对数据处理比较常用的方法。对于汽车轮速的信号处理,文献[8]提出了一种基于改进的阈值量化方法——均方根插值阈值量化法的小波去噪算法,这种经改进的方法可以有效地去除噪声干扰,在信噪比指标上也明显优于常用的软、硬阈值去噪算法,能够有效地去除轮速信号中的各种干扰。文献[9]中应用小波变换极大值滤波方法对ABS轮速信号在Matlab平台上进行了处理,所得处理结果表明小波变换模极大值滤波方法能有效去除ABS轮速信号中的噪声干扰,提高信号的信噪比。上面2种方法均是采用小波原理处理数据,比较适用于对大量已采集到的数据进行处理,不适用于对高速实时采集的数据进行滤波。为了提高滤波的效果,尽量减少噪声数据对结果的影响,可结合2种或2种以上滤波方法的优点改进使用,以便满足本系统的设计要求。
针对汽车转弯自动照明控制系统的数据处理滞后问题,设计了带补偿的限幅滑动中值滤波算法,通过仿真比较判断算法的效果,并通过实测验证算法优越性。
1 转向雾灯功能原理汽车行驶过程中,信号采集系统通过轮速传感器读入速度信号,并利用这些信号进行计算转弯半径,然后与设定的门限值进行比较,从而控制雾灯打开。判断汽车是否转弯,可通过速度传感器采集内轮和外轮的速度数据,计算汽车转弯的半径。由几何关系可知,转弯时4个轮子绕着一个定点做圆周运动,可根据2前轮或2后轮旋转半径的大小的不同来判断是否在转弯。4个轮子相对固定,转弯时角速度相同,又因旋转半径值不易测量,可通过计算轮子间的线速度关系来表示旋转半径的大小。
汽车辅助控制器按固定周期从高速CAN总线上获取汽车的左前轮速度v1和右前轮速度v2,并根据左前轮速度v1和右前轮速度v2计算汽车的转弯半径R;作为一种具体实施方式,辅助控制器按照公式(1)计算汽车的转弯半径R
$R = \frac{{\min \left( {{v_1},{v_2}} \right)}}{{\left| {{v_2} - {v_1}} \right|}} \cdot d$ | (1) |
式中:min(v1,v2)表示左前轮速度v1和右前轮速度v2中的最小值,v2-v1表示右前轮速度v2和左前轮速度v1之差的绝对值,d表示左前轮和右前轮之间的距离。
如图 1所示,以2个前轮为例,如此时向左转弯,左前轮的线速度记为v1,右前轮的线速度记为v2,内轮(此时为左轮)的旋转半径为R,2轮之间的距离为d,通过计算可得$R = \frac{{{v_1}}}{{{v_2} - {v_1}}} \cdot d$。
旋转半径R可由速度差与速度的比值即相对速度差表示,转弯与否有一个临界值,当相对速度差大于预先设定的阈值时,即旋转半径小于这一阈值所对应的视为转弯的半径的值,则认为当前是转弯状态,随即打开雾灯,照亮侧方位;否则当前不处于转弯状态,不进行开雾灯操作。为了提高数据处理的准确率,避免速度抖动、路面不平、人为转动方向盘等因素造成的误开灯现象,需要对采集到的数据进行滤波。
2 滤波算法实现在数据的采集过程中,由于各种原因使得采集到的数据中有少量噪声,影响数据的最终准确性。为了减少对采样值的干扰,提高系统的性能,一般在进行数据处理之前先要对采样值进行数字滤波,以便提高信号的真实性、准确性,消除或减少各种干扰和噪声,进一步提高系统的可靠性[10]。
由于汽车速度采集系统是一个高速的系统,数据中的主要噪声来自于偶然因素产生的波动以及系统硬件产生的随机干扰,这些波动和干扰会影响计算汽车的转弯半径,从而会导致误判。计算过程中要求实时性,所以已有的算法并不能直接运用于本项目的系统中,需要结合不同算法的优点加以改进才能对本项目中的数据采集系统进行良好的滤波。根据速度采集系统的特征,改进的算法综合滑动平均滤波法的实时性以及限幅滤波和中值滤波对偶然性干扰滤除的有效性,实现更准确的滤波,这里称为带补偿的限幅滑动中值滤波法[11, 12, 13, 14, 15, 16, 17, 18]。
带补偿的限幅滑动中值滤波算法流程如下:
1)对辅助控制器采集到的左前轮速度和右前轮速度进行限幅处理,先设定计数器count=1,最大偏差值为A。如果本次采样值ai+1与上次采样值ai之差ai+1-ai大于最大偏差值A,则本次采样值无效,本次的采样值应取上一次的采样值加上一个补偿值b(该值是根据数据变化的范围取值),即ai+1=ai+b,并设定计数器count=count+1,最大偏差值A=A*count;如果小于-A,则本次的采样值应取上一次的采样值减去补偿值b,即ai+1=ai-b,同样设定计数器count=count+1,最大偏差值A=A*count;若本次采样值与上次采样值之差的绝对值|ai+1-ai|小于最大偏差值A,则本次采样值有效,设定计数器count=1,最大偏差值为A。
2)将限幅处理后的左轮速度采样序列和右轮速度采样序列进行滑动中值滤波处理;建立一个队列,以便能够实现实时输出,也就是说每进来一个新数据就会马上输出一个旧数据,这样可以保证数据的实时性和快速性,这样就避免了在纯粹的算术平均值法当中出现的要采集多次数据才能滤波输出一个数据。当队列满后,每次进来一个新数据的同时也会丢弃一个最老的数据,使得整个队列始终保持固定的长度,在每进来一个数据之后,采用中值滤波算法滤波,得到一个经过滤波后的数据,最终得出左前轮速度v1和右前轮速度v2,滑动窗口大小设为M。
带补偿的限幅滑动中值滤波运用限幅算法较好的限幅特性以及滑动中值滤波方法实时性效果,先对数据进行限幅处理,滤掉那些由偶然因素引起的脉冲干扰,再实时地滤除剩余的干扰,平滑速度曲线,通过这2个步骤,极大地减小了误差。虽然是通过2个步骤进行滤波处理,但实际是在一个算法中实现的,通过以上2个步骤实现的算法就是最适合本系统的滤波算法了,通过仿真能够比较滤波性能。
汽车辅助控制器以固定周期10 ms采集一次数据,v1为左轮线速度,v2为右轮线速度,为了获得更好的精度,采集数据时将实际的速度值除以0.01作为速度的采样值,将采集到的汽车左轮和右轮的速度数据进行滤波后,通过公式计算得到每个采样点的转弯半径,根据所得的半径数据即可判断汽车是否转弯。在进行滤波仿真之前,需先确定2次采样的最大偏差值,以大众“迈腾”汽车为例,其0~60 km/h加速时间为3.9 s,计算可得加速度为15.38(km·h-1)/s,因此10 ms之间速度的门限值为15,这里取2倍的阈值作为2次采样的最大偏差值,即A=30(表示在10 ms内,速度变化不能超过0.3 km/h);为了避免数据长时间得不到更新的情况,设定count最大值为5,故count取值范围为1~5。在进行滑动中值滤波时,窗口不能取太大,窗口取太大了数据会滞后太多,不能保证实时性,也不能取太小,否则不能达到滤波效果,因此窗口M取5。根据采集到的数据变化范围,本位设定补偿值b为4。
3 仿真结果分析 3.1 带补偿的限幅滑动中值滤波结果将得到的速度数据导入Matlab中进行编程实现,通过仿真结果分析算法的优缺点[19]。
如图 2所示为采集到的右轮线速度信号分别进行限幅滤波和带补偿的限幅滑动中值滤波(窗口大小取5)所得信号波形。可以看出,经过限幅滤波后,速度信号中的一些尖峰干扰基本已滤除,但带补偿的限幅滑动中值滤波后所得的速度信号波形更平滑、更稳定;由于这里是对已采集到的数据进行仿真,看不到实时性的效果,可通过后面车上实际测试观察实时性。对采集到的数据直接进行滑动中值滤波,与带补偿的限幅滑动中值滤波的滤波效果比较如图 3所示,窗口大小取为5。由该图可以看出,此时直接进行滑动中值滤波并不能滤除速度信号中那些明显的尖峰干扰,滤波后的信号中仍有许多噪声;如果对采集到的数据先进行限幅特性,处理那些由偶然因素引起的脉冲干扰,再运用带补偿的滑动中值滤波方法实时滤除干扰,平滑速度曲线,用此滤波算法进行滤波,滤波后的波形中基本没了干扰,说明滤波效果较好。
采用滑动中值进行滤波,需要增大窗口宽度才能取得较好的滤波效果。对采集到的数据进行滑动中值滤波(窗口大小分别取5、9、13),滤波效果如图 4所示。
观察图 4可以看出,当窗口大小增加到13时,只经过滑动中值滤波的波形尖峰基本没有了,说明此时干扰已经完全消除了。当滑动中值滤波的滑动窗口越大时,所得结果越准确,滤波的效果也会越好,但是与此同时实时性就降低了。通过上述滤波结果分析可知,直接用滑动中值滤波进行去噪,当窗口大小为5和9时,仍然还有明显的尖峰噪声存在,只有当滑动窗口大小增加到13时才能几乎完全滤除干扰,即当采集到第13个数据时,才能判断第7个结果值,滞后了6个点,即延时60 ms。然而,如图 5所示,当使用带补偿的限幅滑动中值滤波,滑动窗口大小取为5时,就能够较好的完全滤除干扰,得到较好的滤波效果,此时只延时了20 ms,对结果判断影响不大。因此,改进后的算法具有更好的滤波效果,在实时性方面具有更大的优势。
转弯自动辅助照明系统的硬件结构框图如图 6所示。设计的辅助控制器主要是以高速CAN总线作为速度采集总线,按固定周期从高速CAN总线上获取汽车的左前轮速度v1和右前轮速度v2,并计算相对速度差,从而计算出旋转半径;最后,判断旋转半径是否小于预设阈值,如果是,则通过输出驱动模块将计算所得的雾灯控制信号转换为TTL信号用于控制雾灯点亮;否则,不点亮雾灯。
研究实测所用车型为一汽大众“迈腾”汽车,该车的左、右前轮距离d等于1.552 m,转弯时$\frac{{\left| {{v_2} - {v_1}} \right|}}{{\min \left( {{v_1},{v_2}} \right)}}$的经验值通常取为0.05,因此,可计算出转弯半径的预设阈值Rs=31.04 m,实际采用Rs=32 m。一旦转弯半径R小于预设阈值时,则认定处于转弯状态,执行相应动作。
经过车上实际测试,可以得到如图 7所示的结果。其中C1是CANH和CANL之间的差分信号波形,波形中较窄的尖峰是信号中所含的数据,该数据包含了采集的线速度信息。C2和C3是经过滑动中值滤波和带补偿的限幅滑动中值滤波后得到的2个控制信号,由该波形可以看出,同一时刻的信号采用改进后的滤波算法比改进前的滤波算法得到同一时刻的信号提前40 ms,即采用带补偿的限幅滑动中值滤波延迟时间较短。因此,利用得到的速度数据能够立即计算出汽车转弯半径R,判断汽车是否处于转弯状态,该算法具有较好的实时性。
仿真和实际测量分析表明,对于采集到的速度信号,运用带补偿的限幅滑动中值滤波算法进行滤波处理,能够得到较好的信号效果。滤波前速度差信号当中总是有一些偶然的波动和随机的干扰信号,经过带补偿的限幅滑动中值滤波处理后把信号中一些严重的干扰滤掉了,使信号变得平滑而且稳定,这样就更接近于速度差数据的真实值,能够为整个数据采集系统和转弯系统提供更加精确的接近真实值的数据,得到了比较准确的速度数据,才能更准确地计算汽车的转弯速度。该滤波算法比其他的数字滤波算法的综合性能要好,满足本项目中的速度数据采集系统的要求。
[1] | 朱维涛.汽车前照灯系统光学设计方法研究[J].仪器仪表学报,2005,26(9):971-975. ZHU Weitao. Development of optical design program for the system of headlight[J]. Chinese Journal of Scientific Instrument, 2005, 26(9):971-975. (in Chinese)(1) |
[2] | 韩宗奇,鞠学坤,王立强,等.转弯工况下汽车间接式TPMS监测方法[J].机械工程学报,2011,47(6):143-149. HAN Zongqi, JU Xuekun, WANG Liqiang, et al. Monitoring method of indirect TPMS in case of running on curving path[J]. Journal of Mechanical Engineering, 2011, 47(6):143-149. (in Chinese)(1) |
[3] | 王书章.自适应前照灯系统(AFS)的研究[D].哈尔滨:哈尔滨工业大学,2013. WANG Shuzhang. Adaptive headlamps system (AFS) research[D]. Harbin:Harbin Industrial University, 2013. (in Chinese)(1) |
[4] | LIU Hong, JIANG Lanfang, WANG Gengjie, et al. AFS controlling algorithm[C]//2008 International Conference on Optical Instruments and Technology:Optical Systems and Optoelectronic Instruments, November 16-19, 2008, Beijing, China. Bellingham:SPIE, 2009, 7156:1-5.(1) |
[5] | Guo F Q, Xiao H, Tang S Z. Research of modeling and simulation on adaptive front-lighting system for corner based on CCD[C]//2013 25th Chinese Control and Decision Conference (CCDC 2013), May 25-27, 2013, Guiyang, China. Washington:IEEE Computer Society, 2013:3598-3602.(1) |
[6] | WU Lijun. Experimental study on vehicle speed estimation using accelerometer and wheel speed measurements[C]//2011 Second International Conference on Mechanic Automation and Control Engineering, July 15-17, 2011, Hohhot, China. Piscataway:IEEE Computer Society, 2011:294-297.(1) |
[7] | Yan X P, Zhang R, Ma J, et al. Considering variable road geometry in adaptive vehicle speed control[J]. Mathematical Problems in Engineering, 2013(2):1-12.(1) |
[8] | 蒋克荣,唐向清,朱德泉.基于改进阈值小波算法的汽车轮速信号处理[J].仪器仪表学报,2010,31(4):736-740. JIANG Kerong, TANG Xiangqing, ZHU Dequan. Automobile wheel speed signal processing based on wavelet algorithm of improved threshold[J]. Chinese Journal of Scientific Instrument, 2010, 31(4):736-740. (in Chinese)(1) |
[9] | 王超.ABS轮速信号处理及参考车速估计方法的研究[D].安徽:合肥工业大学,2013. WANG Chao. Research on ABS wheel speed processing and estimation of absolute vehicle speed[D]. Anhui:Hefei University of Technology, 2013. (in Chinese)(1) |
[10] | 伍灵杰.数据采集系统中数字滤波算法的研究[D].北京:北京林业大学,2010. WU Lingjie. Study on digital filter algorithms of data acquisition system[D]. Beijing:Beijing Forestry University, 2010. (in Chinese)(1) |
[11] | Boyat A, Joshi B K. Image denoising using wavelet transform and median filtering[C]//2013 Nirma University International Conference on Engineering (NUiCONE 2013), November 28-30, 2013, Ahmedabad, India. Washington:IEEE Computer Society, 2013:1-6.(1) |
[12] | Zhu R, Wang Y. Application of improved median filter on image processing[J]. Journal of Computers, 2012, 7(4):838-841.(1) |
[13] | 葛伟,齐志,温闻,等.多种中值滤波算法在可重构架构上的映射实现[J].东南大学学报(自然科学版),2014,44(4):697-702. GE Wei, QI Zhi, WEN Wen, et al. Mapping of multiple median filtering algorithms on reconfigurable architecture[J]. Journal of Southeast University (Nation Science Edition), 2014, 44(4):697-702. (in Chinese)(1) |
[14] | Zhu Y L, Huang C, Zhai L F. A median image filtering algorithm based on statistical histogram[C]//Proceedings of 5th Conference on Measuring Technology and Mechatronics Automation (ICMTMA 2013), January 16-17, 2013, Hong Kong, China. Washington:IEEE Computer Society, 2013:17-20.(1) |
[15] | Adibi P, Ladani B T. A collaborative filtering recommender system based on user's time pattern activity[C]//5th Conference on Information and Knowledge Technology, May 28-30, 2013, Shiraz, Iran. Washington:IEEE Computer Society, 2013:252-257.(1) |
[16] | 吕文祥,张金柱,杨跃,等.可变限幅滤波方法的参数分析与改进[J].清华大学学报:自然科学版,2012,52(8):1106-1111. LV Wenxiang, ZHANG Jinzhu, YANG Yue, et al. Parameter analyses of an adaptive amplitude limit filtering method[J]. Journal of Tsinghua University:Natural Science Edition, 2012 (8):1106-1111. (in Chinese)(1) |
[17] | 李迅波,蒋东升,王振林.梯度相似性的椒盐图像加权中值滤波算法[J].电子科技大学学报,2012,41(1):114-119. LI Xunbo, JIANG Dongsheng, WANG Zhenlin. Weighted median filtering of im based on grads similarity[J]. Journal of University of Electronic Science and Technology of China, 2012, 41(1):114-119. (in Chinese)(1) |
[18] | 范少荟,文成林.基于滑动中值滤波的多尺度滤波的主元分析方法[J].高技术通讯,2008,18(3):271-276. FAN Shaohui, WEN Chenglin. Multi-scale principal component analysis based on moving median filtering[J]. Chinese High Technology Letters, 2008, 18(3):271-276. (in Chinese)(1) |
[19] | 高成,金涛.Matlab信号处理与应用[M].北京:国防工业出版社,2005. GAO Cheng, JIN Tao. Matlab signal processing and application[M]. Beijing:National Defence Industry Press, 2005. (in Chinese)(1) |