刘国满,盛 敬,白晓燃
(南昌工程学院 机械工程学院,南昌330099)
车联网作为物联网中一个重要的应用领域,随着其技术的不断发展和成熟,其应用领域和规模不断扩大,据专家初步估计,将来一两年全球车联网V2X市场将突破6500 亿元,中国V2X 用户将超过6000万,渗透率超过20%,市场规模超过2000 亿[1]。而无人驾驶技术是集人工智能、车辆工程、自动控制、信息通信、新能源、新材料等众多技术于一体,是衡量一个国家科研水平和工业实力的一个重要标志[2]。
当前国内外很多汽车企业和互联网公司从事无人驾驶汽车的开发和研究,并且取得了一定的成果,如谷歌公司开发的Waymo 和百度公司开发的Apollo 等无人驾驶汽车已在一定情况下,进行实际路基测试,并在特定领域进行应用。但这两者技术都离不开车辆之间通信技术,而当前车辆之间通信性能不稳定,其主要表现如以下两点:
(1)通信信道不稳定:车与车之间通信时很容易受到周边障碍物或车辆运动变化的影响,使得车辆之间通信信道很不稳定。
(2)通信链路性能差:因为在高速移动车辆之间通信,存在车辆的速度变化快,移动方向不确定,导致网络拓扑变化过于频繁,使得通信链路连接时断时好,节点之间的链路连接存在时间不长久[3]。
特别对相向行驶的两个车辆来说,其相互通信链路持续时间LDT 很短。比如两个相向行驶的车辆速度都为15 m/s 情况来说,其两者通信有效半径为20 m,其相互之间可以通信链路持续时间LDT 只有0.25 s 左右,如图1所示。
图1 相向行驶车辆通信链路持续时间仿真示意图Fig.1 Simulation diagram of communication link duration of opposite vehicles
图1中纵坐标表示能够与其通信的相向行驶的车辆ID 号,横坐标表示相向运行车辆通信信号采集的时间,单位为s;从该仿真图可以看出,其相向行驶的车辆之间通信链路持续时间LDT 比较短,严重地影响了车辆之间通信的效果。所以很有必要研究基于虚拟化的相向行驶车辆间通信机制和算法,来增加相向行驶车辆间通信的有效时间。文献[4]提出了车与车间分簇路由通信机制,其簇内成员采用可以直接相互通信,而簇外成员之间通信采用簇头转发方式来是实现通信;文献[5]描述了车辆间主动式路由协议DSDV,要求每个车辆周期性地发送HELLO 报文,从而在车联网中全部车辆都维护一张能够通往任意车辆的路由信息;文献[6]描述了DSR,AODV 两种反应式路由协议,仅仅在车辆需要发送信息时,才会启动路由发现过程,建立与目的车辆间转发路径;文献[7]提出了DBR 路由协议,该协议是根据车辆间距离和当前的车辆速度来选择下一跳,车辆间距离依赖于车辆间的相对速度;文献[8]提出IGR(impproved geographical routing)协议,主要是结合了车辆间方向、距离及转发进度等因素来选择下一跳;文献[9]描述了GSR 路由协议,主要根据特定路由算法计算出一条距离最短的路径,并在路由中包含路口信息,可以解决GPSR 没考虑的方向问题。
本文所述的虚拟化是指将路上行驶的具有同样或相似运行特征,如运行的方向、速度以及相互间相对距离、方向角等的两个或两个以上运行车辆节点,被看作一个虚拟的车辆节点与外界车辆节点进行通信,如图2所示。
图2 虚拟化机制示意图Fig.2 Schematic diagram of virtualization mechanism
图2中运行的3 辆汽车A,B,C 以同一个方向进行行驶,其相互之间距离相对稳定,运行速度相似等,就可以将这3 个车辆节点A,B,C 看作一个虚拟车辆节点,与外界车辆节点进行通信,且与外界车辆节点通信采用串行方式,虚拟车辆节点上任何子节点A,B,C,都可以与外界节点独立通信,但同一信息报文只能选择其中一个子节点与外界车辆节点进行通信[10]。
另外,相向车辆间通信链路持续时间LDT,其计算公式为
式中:Tr表示车辆之间有效通信半径;Vi和Vj分别表示两个相向行驶车辆运动平均速度[11];φ 表示相向行驶车辆之间偏差角,由于相向行驶车辆之间存在偏差角,所以两车实际距离Sd与水平距离L 存在一定差别,如图3所示。
图3 相向行驶车辆实际距离与水平距离关系示意图Fig.3 Schematic diagram of relationship between actual distance and horizontal distance of vehicles driving opposite direction
所以Sd与L 之间关系为
在车辆运行过程中,虚拟空间上某一个子节点相对于其它子节点来说,出现了运动特征的变化,如速度或方向上突然变化,而不能维持虚拟节点内部拓扑结构相对稳定状态,这时候就需要对虚拟节点上拓扑结构进行更新,删除虚拟空间上一个或多个子节点。另一方面,当外界其它车辆节点出现了与虚拟空间上节点相同或相似运动性质时,则虚拟空间将接收该车辆节点为虚拟空间上节点,更新虚拟空间拓扑结构。但考虑到虚拟空间节点通信信道的稳定性,则不易频繁地更新虚拟空间拓扑结构,这里采用3 个车辆运动相关模糊参量变化情况来判断虚拟空间拓扑更新的可能大小。这3 个模糊参量分别是虚拟空间内相邻子节点之间距离D、与虚拟空间内所有子节点的相对速度差SV以及相邻子节点之间角度θ,可根据这3 个模糊参量变化情况,可以将虚拟空间拓扑更新的可能性分成5 档:Very Small,Small,Normal,Big 和Very Big,制定了以下拓扑更新模糊规则[12],如表1所示。
表1 虚拟空间拓扑更新模糊规则Tab.1 Virtual space topology updates fuzzy rule
在成立虚拟空间之前,需要每个车辆节点向其直接相邻节点广播其本车辆节点行驶的性质[13],包括其当前运动平均速度、运行的方向以及当前所在位置以及其已知的相邻其它车辆节点的行驶性质,以便在其可通信范围内所有车辆节点学习到整个通信范围内所有车辆节点的行驶性质,根据自组织网络方式,将行驶性质相似的几个车辆节点组成一个虚拟空间节点,并根据车辆所处的位置和其他子节点通信距离、时间等参数,系统将会选择虚拟空间范围内接近中间位置的车辆节点作为该虚拟空间控制节点,维护和管理该虚拟空间。当控制节点出现异常或从该虚拟空间中删除,则根据车辆所处的中间位置,重新选择一个车辆节点作为虚拟空间控制节点。其整个流程如图4所示。
图4 虚拟空间形成流程Fig.4 Formation flow chart of virtual space
对于虚拟空间内子节点之间通信机制,主要分成两种:一种针对其直接相邻的虚拟空间内子节点来说,采用特定频段的组播方式进行网络通信,以便周围的虚拟空间内子节点能接收到组播报文;另一种对于没有直接相邻的虚拟空间子节点来说,若采用逐跳转发方式,可能带来较大拓扑更新的复杂性和传送延迟[14]。所以对于部分虚拟空间子节点之间,也可以考虑建立逻辑上端到端传送路径方式,实现部分虚拟空间子节点之间通信,减少拓扑变化的影响,提高了报文的传送效率。
由于虚拟空间节点对于外界车辆节点来说,相对于一个车辆节点与外界车辆节点进行通信,从而减少了信息传递的节点跳数[15]。且虚拟空间节点与外界车辆节点之间通信,可以根据虚拟空间上子节点与外界通信车辆节点之间实际距离,选择虚拟空间任何一个子节点进行通信,如图5所示。
图5 虚拟空间节点与外界通信机制Fig.5 Communication mechanism between virtual space node and outside
对于一个A,B,C 三个车辆节点组成一个虚拟空间与对向行驶的D 车辆通信来说,车辆D 将根据虚拟空间上子节点A,B,C 是否在其通信有效范围内或通信的性能来选择不同的子节点作为虚拟空间节点实际通信的节点。另外,虚拟空间上子节点接收到相向行驶的车辆发送过来的信息,再通过虚拟空间内部通信机制,将所收到信息进行内部转发,以便虚拟空间上所有车辆节点接收到该信息。
本部分主要采用对比分析的方法来分析相向行驶车辆之间通信连接的可靠性以及它们之间链路持续时间LDT 的仿真测量[16-17]。首先对没有虚拟化独立相向行驶的车辆运行场景进行仿真,其仿真结果如图1所示;然后采用将2 个运行行驶的车辆虚拟化成1 个虚拟节点,与对向行驶的车辆进行通信时,且3 个车辆运动速度均为15 m/s,为了保证车辆之间通信可靠性,设定车辆有效通信半径为20 m,则Prescan 设定场景如图6所示,Matlab 仿真结果如图7所示。
图6 基于2 个车辆虚拟机制相向通信场景Fig.6 Communication scenario based on two vehicles virtual mechanism
图7 两个车辆虚拟化的仿真结果Fig.7 Simulation results of two vehicles virtualization
图7中纵坐标和横坐标的坐标值与图1一样,从仿真结果可以看出,其相向行驶的车辆与两个车辆组成虚拟空间之间链路持续时间为0.7 s 左右,几乎比前者单个车辆之间通信链路持续时间LDT 扩大2 倍以上。
下面以3 个车辆组成虚拟空间与相向行驶的车辆进行通信时,其设定Prescan 运动场景如图8所示;其运行速度也都设定为15 m/s,其车载通信设备有效通信半径为20 m。则虚拟空间节点与相向行驶车辆之间通信的仿真结果如图9所示。
图8 基于3 个车辆虚拟机制相向通信场景Fig.8 Communication scenario based on three vehicles virtual mechanism
从图9仿真结果来说,3 个车辆虚拟化后,其组成的虚拟空间节点与相向独立车辆通信的链路持续时间LDT 接近于1.1 s 左右,几乎为虚拟化前链路持续时间的4~5 倍,所以有力地说明了本文所述虚拟化机制能增加相向行驶车辆之间通信链路持续时间LDT,有利于相向行驶车辆之间的通信可靠性。
图9 三个车辆虚拟化的仿真结果Fig.9 Simulation results of three vehicles virtualization
根据Prescan/Matlab 对相向行驶车辆的运动场景的仿真,可以明显地看出将多个具有相同方向、相似的运动速度以及相近位置的车辆,虚拟成一个具有多个子节点组成的虚拟空间节点,实现与相向行驶车辆之间通信。通过仿真结果表明,将2 个或3个车辆组成虚拟化空间后,能显著地增加相向行驶车辆之间通信链路持续时间LDT,有利于相向行驶车辆之间通信的可靠性。但当前实验主要是在虚拟空间内子节点之间通信正常情况下所做的仿真,假如虚拟空间内子节点通信出现异常情况,也可能会影响到虚拟空间节点与外界车辆节点通信的可靠性[18-19],所以这也是将来需要考虑虚拟空间内子节点之间通信机制和方案。