基于自学习的组网式交通信号灯异常检测研究

2021-03-15 11:50刘永涛樊亚敏
关键词:黄灯信号灯绿灯

刘永涛,樊亚敏,张 莉,黎 冠

(1. 华北科技学院 电子信息工程学院,河北 燕郊 065201; 2. 中国农业大学 信息与电气工程学院,北京 100083)

0 引 言

交通信号灯作为智慧城市和智慧交通的重要组成部分,工作环境经常要面临雷雨、低温、暴晒等恶略天气,并且需要不间断运行,因此经常导致信号灯故障。 由于位置远离交通监管中心,分布范围广泛,交通监管人员无法及时获知路口信号灯的工作状态,进而造成车辆通行不畅或引发交通事故[1]。 目前通过高清摄像机图像识别技术进行监测判断[2-3],但该方案监测硬件成本较高,并且在雨、雪、雾、霾等恶劣天气易发生信号灯故障和交通事故的情况下识别率反而最低。文献 [4]、文献 [5]采用了多路数据采集或A/D转换判断的方式,硬件结构复杂,单路采集成本较高。

在实际应用中由于信号灯检测装置一般是在道路修缮完毕后安装。以上设计需要将每一路信号灯控制线路接入检测装置,因此需要架高或者刨地走线或者为每个信号灯杆安装一套完整的检测装置,包括处理器、GPRS通信模块、SIM流量卡等,一个路口需要4套装置。这些均造成了安装施工困难和后期运维成本较高。

针对以上问题,通过深入研究交通信号灯的结构特点和运行期间的信号变化特性,研发出了一套切实可行、成本较低、检测准确稳定、具有自学习功能的无线组网式诊断系统。

1 检测装置系统研究设计

系统包括自主学习状态与故障检测状态。自主学习状态是指在预设的或者用户指定的学习时间内,装置对信号灯的各路电流及电压进行测量、统计和记录;故障检测状态是指经过设定学习之后,装置可以自动地或经人工干预进入地对信号灯进行故障检测的状态。自主学习状态与故障检测状态可以相互转换。

整体使用ZigBee无线网络通信技术[6-9],包含检测节点和协调器。一个路口检测需要一个协调器,检测节点数量可任意配置。节点核心采用CC2530处理器,通过处理器自带的12位A/D转换器完成交通信号灯电流采样,如图8(a),一个节点的4个互感器可以完成4组左拐、直行、右拐、行人信号灯的捡测,大大简化了硬件结构,降低了成本。ZigBee协调器负责建立星型网络传输方式,接收来自检测节点的诊断结果,无故障时执行定时握手通信检测节点是否正常,当节点检测出故障后即时发送给协调器[6]。协调器远程通信采用GPRS技术或者当下流行的NBIOT技术与数据中心服务器通信。具体结构如图1,该方案可以大大简化施工安装,降低硬件成本和后期运维成本。

图1 系统总体结构

1.1 系统硬件结构及信号分析

检测节点包括了互感器采样电路、Zigbee处理器电路、按键电路、拨码电路、同步调试指示电路、电源模块电路。协调器在原节点电路的基础上增加了STM32处理器、GPRS远程通信电路、OLED显示电路和按键电路。结构如图2。

图2 协调器硬件结构

检测节点和协调器中AC220V转DC3.3V电路用于给本模块供电,AP功放电路+天线用于Zigbee无线信号的增强,保证组网距离和稳定性。

协调器具有检测节点的全部功能,工作流程相同,但是增加了检测节点显示和故障显示,组网确认,以及远程通信功能。

交通信号灯单个颜色灯体点亮为220 V/50 Hz交流电,一组3盏灯(红、绿、黄)共用一根零线,最大可以满足两组同相信号灯共用一个采集电路。互感器输出信号经过全桥整流和巴特沃斯滤波后通过接入合适的采用电阻将采样信号的电压控制在0~2.5 V区间,频率为99.911 2 Hz,然后接入CC2530处理器的A/D转换口。

图3 采样电压信号

通过电流信号可以发现当信号灯在红→绿→黄→红换相期间采样信号电压均会出现1~4个较为明显的高电平换相脉冲。

信号灯红绿换相期间通过图4(a)可以看出,有两个特征点可以判断出绿灯的起始时间,首先是绿灯的峰值电压相差了ΔV=152 mV;其次是红灯绿灯换相时存在明显的尖峰跳变脉冲。通过图4(b)可以看出,峰值脉冲高出绿灯脉冲ΔV=176 mV。这两个特征电压值可以通过A/D转换轻易识别判断。

图4 红绿换相

信号灯绿黄换相期间通过图5(a)可以看出,有两个特征点可以判断出绿灯的结束时间和黄灯的起始时间,首先是绿灯与黄灯的峰值电压相差了ΔV=152 mV;其次是绿灯黄灯换相时存在明显的尖峰跳变脉冲。通过图5(b)可以看出,峰值脉冲高出绿灯脉冲ΔV=528 mV。同样这两个特征电压值也可以通过A/D转换轻易识别判断。对于绿灯至黄灯换相期间有闪烁信号的信号灯,则此换相点更容易捕捉。

图5 绿黄换相

信号灯黄红换相期间总体相位如图3,黄红信号灯采样电压信号基本相同,放大采样后信号如图6。很难通过信号电压判断出黄灯和红灯切换,但是切换时的换相脉冲非常明显,脉冲幅值差可以达到ΔV=348 mV,ΔT=4.4 ms。通过A/D采样仍然可以准确判断出黄灯结束时间和红灯起始时间。

图6 黄红换相

1.2 系统软件设计

系统工作时,首先通过信号机设定好信号灯使之正常运行。将检测节点互感器接入信号机每组信号灯的零线端,任意时间按下学习键,信号灯循环超过一个周期,则系统完成运行状态的学习,保存为模式1。如果信号机还有其它模式则在执行其它模式期间按下学习键可完成多种模式的学习。软件设计流程如图7。

图7 软件流程

关于检测装置的检测方法,步骤如下:

1)组网:在一个信号灯安装点,将检测节点上的拨码开关拨至与协调器拨码开关相同状态,检测节点和协调器上电,协调器自动搜索模块,协调器显示出全部相同地址检测节点后通过按下协调器上组网确认按键完成网络组建。检测节点和协调器组网完成后组网指示灯点亮。

2)学习模式:检测节点和协调器上电,组网指示灯点亮,3 s内人为按下自学习按键一次,则进入模式1的学习,按下两次则进入模式2的学习。如没有按下自学习按键则学习模式被跳过,直接进入正常工作模式。

3 s计时满,如自学习按键有操作则CC2530处理器开始对信号灯电流值开始采集,采集时间大于信号灯一个正常工作周期。采集期间节点根据采集电流峰值启动CC2530处理器内部定时器,记录3个时间段,逻辑判断出红、黄、绿灯点亮时间,存储3种灯电流采样值于CC2530处理器内部闪存当中,完成信号灯正常模式的电流值和时间统计。学习完成后自动重启。学习模式核心在于通过换相电流峰值计算出各相灯的点亮时间。

3)正常工作模式:检测节点和协调器上电,组网指示灯点亮,如果3 s内自学习按键没有操作,则按键标志位为零检测节点进入正常检测状态。采集电流值和各相灯的点亮时间与各存储模式数据相比较,处于正常范围内则系统正常,不在正常范围内则根据逻辑关系推导出是否信号灯的故障,并将检测结果同步显示于运行指示灯上。如有故障则将故障信息通过Zigbee网络传输给协调器,协调器在OLED屏上显示故障信息并通过GPRS网络上报给远程服务器端进行后期处理。

2 系统设计实现及验证

实际完成的检测节点如图8(a),通过板载三色LED可以完全同步显示出信号灯当前状态。与协调器进行实时通信交互,测试了双向绿灯同时点亮、单组信号灯两灯同时点亮、单盏灯不亮以及时序错误等多种故障状态,节点均可以快速检测出故障现象,发送给协调器。协调器同时还具有节点同样的检测功能,实物如图8(b),最后检测结果通过GPRS模块发送节点编码和故障编码至后台服务器。

图8 实际测试

由于CC2530内部具有12位A/D转换器,转换分辨率为0~2 047,通过其采集信号电压值,采集数据如表1。经过整流之后的波形频率为100 Hz,周期为10 ms,处理器一个周期完成10次A/D采集。

2.1 峰值检测算法实现

处理器完成10次采样后数据分布并不一定符合峰值分布曲线,尤其是换相期间脉冲波形。因此需要对采样值进行数据排序,找到信号峰值和次峰值,笔者采用了希尔排序算法。

例如红绿灯换相脉冲采样数据:{0251,0347,1509,2047,0251,0250,0251,0251,0250,0251},因为采样数据值一组有10个,所以第一次补偿step=10/2=5,其希尔排序算法的过程如图9。

可见采用希尔排序算法,经过3次排序即可快速完成每组10个采样数据的从小到大排序。

2.2 时序判定分析

通过采样数据排序后分析,每组10个数据中后3个数据可以很直观地区分出换相脉冲值的存在。因此截取了40组采样排序完成后的每组后3个数据峰值、次峰值、第3峰值进行分析,如表1。

图9 希尔排序算法过程

表1 红绿灯换相脉冲采集数据

通过分析表1中绿灯峰值和次峰值,可以很容易判断出绿灯第1、2组数据为红灯-绿灯之间的换相脉冲,此值明显高于红灯和绿灯正常峰值。为了增加系统判断稳定性,避免高次杂波的影响,将每组数据峰值和次峰值取平均作为判断换相的依据,通过此值可以准确得到信号灯换相的起始时间和结束时间。

从表1中峰值也可以看出,绿灯峰值明显高于红灯峰值。因此可以判断出此峰值时信号灯为绿灯状态,以此作为信号灯时序判断的起始点,从而准确捕捉绿灯、黄灯、红灯的点亮时间。通过绿灯、黄灯、红灯的判断峰值浮动阈值可以准确地判断出有无单组多灯同时点亮或出现不亮的故障。

2.3 滑动窗口差值判断法

为了判断信号灯换相时间的节点,通常使用的方法是设定一个固定的电压采样阈值,若检测到电压采样值超过这个阈值,则判定该时刻换相事件出现[11]。但这种方式未考虑在不同规格的信号灯以及信号灯老化等问题引起的阈值偏差,该偏差往往会造成误判断,因此固定阈值法具有较大局限性。为了解决这一问题,笔者提出一种双滑动窗口判断法,首先通过滑动窗口滤波生成滑动判据数组,然后再利用滑动窗口进行换相判断和信号灯颜色判断。滑动判据数据计算如式(1):

(1)

式中:m和T0为滑动窗口长度,本设计中该值设为3;D(t)是为滤波器的输出即滑动均值数据,其中t为1,2,3,…,7保留7组滑动窗口采样均值数据;F1n和F2n为单脉冲A/D采集峰值和次峰值。

例如,从红灯第18组数据开始,按3个长度进行滑动均值计算,可得到结果如表2。

表2 滑动判据数组

在执行滑动窗口换相脉冲扫描时,滑动串口首先以4组数据为单位滑动,判据数组需要存储区中开辟7个数据的暂存区,将信号采集非换相脉冲A/D值滤除不予保存。每新计算出一组滑动均值便存入暂存区中,同时去掉一个最老数据,保持这7个数据始终是最新更新的数据。程序采用环型队列结构很好地满足了这种数据存放方式。

即使灯组大小型号改变或者后期老化使信号电压发生偏差,因为其滑动均值差的设置范围足够宽,并且通过按键设定可以选定型号从而适应不同的应用场景。滑动均值判别方法流程如图10。

图10 滑动窗口均值判据流程

2.4 测试验证

系统采用南京永顺交通设备有限公司生产的标准300型信号灯和通用信号机进行了实际测试。过程测试了整个交通信号灯的正常工作时序学习和检测以及故障模拟诊断。学习和检测中设定信号灯绿灯为30 s,黄灯为3 s,红灯为27 s,一键学习值和后期检测数据如表3。

表3 节点检测时间数据

从最后实际测试效果来看,黄灯的时间检测准确度较低,但也达到了97%以上,检测数据最大时间浮动差为0.04 s,稳定度非常理想,经过误差补偿和时间阈值判据分析装置没有出现误判断现象。

3 结 语

通过与现有研究和实施方案相比,笔者设计具有以下优点:

1)通过无线组网的方式,解决了路口多信号灯之间检测线缆铺设施工问题,确保一个路口最多只需要一个故障检测远程通信协调器,降低了硬件成本和后期运行成本,使信号灯故障检测更加实用化。

2)通过零线电流检测法,使一组(红、黄、绿)信号灯只需要一路检测处理电路。相对于传统每个灯一路检测处理电路的设计,此部分降低硬件成本50%以上,减少了自身故障隐患。根据实际信号灯安装情况,一个自学习检测节点最多可以检测出同道路直行、左转、右转6盏信号灯故障。一个信号机只需要一个协调器和一个节点即可完成路口四方向信号灯的监测。

3)学习效率明显提升。系统增加了学习模式按键,可以在信号灯运行两个周期以内完成一种模式学习。能够完成正常模式、夜晚黄灯模式、潮汐模式等多种状态学习和后期自动模式故障判断,去除累积时间误差影响。

4)检测模块增加运行同步同色指示灯,将检测状态实时体现在节点上,方便进行安装时调试观测。

设计中系统的组网、学习、故障分析判断等均由检测节点完成,达到了边缘计算的效果,减少了数据发送量,降低了后台服务器处理负担。通过长时间实际运行,故障监测效果良好。

猜你喜欢
黄灯信号灯绿灯
为什么红灯停,绿灯行
信号灯为什么选这三个颜色?
红灯停,绿灯行
安装在路面的交通信号灯
还有94分
信号灯为什么用
一根线,两种罚
闯黄灯现象回潮
红灯与绿灯
红灯你说什么