马英魁,向郑涛,陈宇峰,操翰文,张宇
(湖北汽车工业学院 电气与信息工程学院,湖北 十堰 442002)
随着汽车保有量的不断增加,我国道路交通事故不断增长。2019年全国交通事故数总计247 646起,交通事故死亡人数总计62 763人,交通事故直接财产损失总计134 618万元[1]。在道路交通安全事故中,高速公路百公里内事故发生的概率是普通公路的4倍左右[2]。由于高速公路是高速线性全封闭道路,初次事故发生后,若不及时向后方车辆进行事故通告,会导致后方车辆刹车不及时与事故车辆发生碰撞,引起二次事故。针对高速公路二次事故的预警,国内外学者进行了大量研究。文献[2]中基于4G和DSRC通信网络构建了高速公路通信场景与事故预警框架,在车速低于120 km·h-¹的情况下,能有效避免追尾碰撞和侧向碰撞的发生。文献[3]中设计了车载防连环撞装置,利用无线通信模块实现事故车辆方位信息的传输,判定自身车辆如位于事故车辆同路段后方,则进行预警。文献[4]中指出二次事故通常发生在高速公路隧道内,提出了隧道安全预警模型,模型在隧道场景下取得了较好的预警效果。文献[5]中采用贵阳市2015年交通事故数据,参照二级事故判断标准,提取二次事故发生的时间和地点,构建了二次事故智能预警系统。上述文献中设计的事故预警框架或系统不能将事故信息转发至较远的范围,仅能将事故信息向事故车辆附近车辆通告。软件定义网络(software defined network,SDN)是新型网络创新架构,将网络的控制平面与数据转发平面分开,由集中的软件平台控制可编程控制器的底层硬件。SDN 能够动态实现网络资源的弹性分配和控制,在数据传输效率方面有明显的优势,符合车载网络的特性和需求[6],将SDN 应用于车联网(Internet of vehicles,IoV),可通过将数据平面与控制面分离,具有高度可扩展性;通过使用集中式控制器实现所需的网络管理;控制器可选择数据传输的最佳路径,根据目前的网络状态,对路边设施进行协调。[7]因此文中设计了基于SDN的车路协同事故通告系统。假设某高速公路上发生交通事故,事故造成单向通行受阻。在基于车路协同的事故通告系统中引入SDN概念,构建新的事故通告框架,实现了对事故信息的全局调度管理;提出事故通告范围的定义,根据事故车辆位置的不同,选择合适的距离作为事故通告的范围;根据计算的事故通告范围,提出事故通告RSU 选择算法,基于事故车辆与高速匝道位置计算发布事故通告的RSU。
基于SDN 的车路协同事故通告系统典型应用场景如图1所示。事故发生后,事故车辆通过车载单元(on board unit,OBU)向外广播事故信息;路侧单元(road side unit,RSU)在接收到事故信息后向云端控制器上传事故信息;云端控制器收到RSU上传的事故信息后,计算事故通告范围;事故通告范围计算完成后,云端控制器向该范围内的所有RSU 进行事故发布;收到云端控制器事故发布的RSU将事故信息通告给通信范围内的车辆。
图1 基于SDN的车路协同事故通告系统应用场景
基于SDN 的车路协同事故通告系统网络模型如图2所示,整个框架细分为3个平面。
图2 系统网络模型
1)车辆平面 高速公路设有中央分隔带,将往返方向车辆完全隔离,避免相对向的车辆发生碰撞,因此高速公路上的事故一般发生在同向车道,故仅考虑车辆同向运动。车辆进入高速公路后,通过车载OBU 设备自动寻找RSU 设备,并从RSU 设备处获取IP 地址。当车辆发生事故时,通过车载OBU 设备持续广播事故信息。事故信息主要包括事故车辆ID、位置、行驶方向。
2)数据转发平面 根据RSU 的信号覆盖范围,均匀分布了数量为NRSU的RSU。为避免相邻RSU间信号串扰,相邻RSU使用不同信道。
3)控制平面 部署SDN 控制器,控制器中存放整条高速公路中所有的道路信息和RSU 信息。将整条高速公路依据匝道位置划分成若干小段道路,每小段道路有唯一的上游匝道和下游匝道,上游匝道为起点,下游匝道为终点。路段划分如图3所示。道路信息主要包括道路ID、方向、上游匝道ID、下游匝道ID、上游匝道位置、下游匝道位置;RSU 信息主要包括RSU ID、位置。通过SDN 控制器计算事故信息的转发范围,选择事故通告RSU。
图3 路段划分
高速公路是线性全封闭道路,为避免二次事故的发生,需要引导车辆在距离事故发生地上游最近的匝道下高速。以自西向东行驶车辆为例,定义事故发生地至最近上游匝道的距离为事故的通告范围,确定距离事故发生地最近的匝道位置是事故通告范围计算的关键。定义距离事故发生地最近上游匝道为目标匝道,目标匝道计算流程见图4。首先提取事故信息和道路信息;其次判断道路是否与事故车辆相向,若同方向,则进一步判断事故车辆是否位于该路段内,比较事故车辆经度或纬度是否位于该路段经纬度之间,若位于则说明事故车辆属于该路段范围;最后,若事故车辆属于该路段范围,则提取并输出该路段的上游匝道为目标匝道,主要包括匝道ID、匝道位置。
图4 目标匝道计算流程
事故通告范围计算完成后,选择事故通告RSU。定义所有位于事故通告范围内的RSU 为事故通告RSU,将已知事故上传至RSU 并作为起点RSU,仅计算终点RSU。假设高速公路上均匀分布数量为NRSU的RSU,采用802.11p协议,通信距离达500 m,每台RSU依顺序递增分配ID。终点RSU计算过程见图5,先提取目标匝道信息和RSU 信息,使用式(1)[8]计算目标匝道与RSU的距离:式中:hav 为haversine 函数;DZR为两点之间的距离;r为地球半径;φZ、φR为目标匝道与RSU位置的纬度;λZ、λR为目标匝道与RSU位置的经度。再判断距离DZR是否小于500 m,若小于500 m则说明目标匝道在此RSU通信范围内,提取此RSU的ID,令此RSU 为备选RSU。最后根据《中华人民共和国道路交通安全法实施条例》[9],机动车在高速公路上行驶,车速超过100 km·h-1时,应当与同车道前车保持100 m以上的距离,为此在目标匝道前采取换道措施,需要扩大事故通告RSU的选择范围;同时为避免出现备选RSU在目标匝道下游位置的情况,令终点RSU为备选RSU的前一个RSU。
图5 终点RSU计算流程
文中构建基于SDN 的车路协同事故通告系统仿真环境,通过Mininet-WiFi 和SUMO联合仿真来验证系统的有效性。
Mininet-WiFi 是Mininet SDN 网络仿真器的分支,通过添加基于标准Linux 无线驱动程序和80211_hwsim 无线模拟驱动程序的虚拟WiFi 站点和接入点,扩展了Mininet 的功能,可以支持在Mininet 网络场景中添加无线设备,并模拟移动站的属性,如相对于接入点的位置和移动[10]。SUMO是开源、微观、连续的交通仿真平台,可以通过自定义道路状况、车辆运行轨迹搭建仿真场景[11]。
车辆在自西向东行驶方向匝道下游200 m 处发生交通事故,导致2 条车道发生堵塞,仿真场景如图6所示。具体仿真参数设置如表1所示。采用不同的到达率模拟车辆进入高速路段,仿真10次,取平均值,结果保留1位小数。
图6 仿真场景
表1 仿真参数设置
后方车辆躲避事故车辆如图7所示。前2辆车为事故车辆,事故车辆后方为阻塞车辆,匝道处右转车辆为成功下匝道车辆。
图7 后方车辆避让事故车辆
定义车辆分流率:
式中:P为车辆分流率;Vpas为收到事故通告并成功从匝道下高速的车辆;Vtot为车辆总数。不同到达率下车辆分流率分析数据如表2所示,分流车辆数为收到事故通告后成功下匝道的车辆数;阻塞车辆数为收到事故通告后阻塞至事故车辆后的车辆总数;驶过匝道车辆数为收到事故通告后已驶过匝道的车辆数;换道距离不足车辆数为收到事故通告后由于距离匝道过近、换道距离不足导致阻塞的车辆数。由表2 可以看出,随着车辆到达率的递增,车辆分流率递增。原因是单位时间内随着车辆到达率的递增,道路中车辆总数递增,分布逐渐密集,车辆间的距离逐渐变小,车速逐渐降低,后方车辆在接收到事故信息后有足够的换道距离下匝道。
表2 不同到达率下车辆分流率分析
通过OBU、RSU 结合SDN 控制器构建了完整的高速公路事故通告系统。Mininet-WiFi和SUMO联合仿真结果表明系统各项指标正常,能有效对前方事故情况进行通告,降低高速公路二次事故的发生概率。后续将研究事故通告RSU 的分布,在不影响车辆分流率的前提下降低系统成本。