具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的交通仿真方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或者云服务器来实现。
终端102和服务器104均可单独用于执行本申请实施例中提供的交通仿真方法。
例如,服务器获取当前时间段对应的目标出行矩阵,目标出行矩阵是用于描述当前时间段的交通出行信息,基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与仿真需求对应的目标行驶路径。服务器基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。
终端102和服务器104也可协同用于执行本申请实施例中提供的交通仿真方法。
例如,服务器从终端获取当前时间段对应的目标出行矩阵,目标出行矩阵是用于描述当前时间段的交通出行信息。服务器基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与仿真需求对应的目标行驶路径。服务器基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。服务器可以将当前时间段对应的实时微观仿真路况数据发送至终端,在终端进行渲染展示与仿真需求对应的当前时间段的仿真交通路况。
在一个实施例中,如图2所示,提供了一种交通仿真方法,以该方法应用于图1中的计算机设备为例进行说明,计算机设备可以是上述图1中的终端102或服务器104。参考图2,交通仿真方法包括以下步骤:
步骤S202,获取当前时间段对应的目标出行矩阵,目标出行矩阵用于描述当前时间段的交通出行信息。
其中,当前时间段可以是包含当前时刻的一段时间,也可以是当前时刻之前的一段时间,也可以是当前时刻之后的一段时间。出行矩阵是用于描述交通出行信息,交通出行信息是指车辆从出发点行驶至目的地的过程中产生的交通信息。交通出行信息可以包括出发点、目的地、出发点到目的地的行驶路径、从出发点到目的地的车流量、出发时间等信息。目标出行矩阵是指当前时间段对应的出行矩阵。出行矩阵也可以称为OD(OriginDestination,出发点目的地)矩阵。
具体地,计算机设备可以在本地、或从其他终端、服务器获取当前时间段对应的目标出行矩阵,进而来仿真当前时间段对应的交通路况。
在一个实施例中,可以基于当前时间段之前的历史交通数据预测得到当前时间段对应的目标出行矩阵,从而基于该目标出行矩阵预测当前时间段的交通路况。基于历史交通数据预判未来即将发生的交通现象可以帮助城市构建交通预警。具体可以是基于历史交通数据生成历史出行矩阵,基于历史出行矩阵预测当前时间段对应的目标出行矩阵。也可以基于当前时间段的实际交通数据生成当前时间段对应的目标出行矩阵,基于当前时间段对应的目标出行矩阵可以还原当前时间段的交通路况。还可以是获取预设出行矩阵,将预设出行矩阵作为当前时间段对应的目标出行矩阵,基于当前时间段对应的目标出行矩阵模拟该预设出行矩阵所反映的交通路况。预设出行矩阵可以是人为设置的,也可以是随机生成的。并且,目标出行矩阵可以是目标地区对应的出行矩阵,基于目标地区对应的交通数据生成目标地区在当前时间段对应的目标出行矩阵。其中,基于历史交通数据生成历史出行矩阵具体可以是对历史交通数据中的车辆轨迹数据进行出行分析,得到初始出行矩阵,基于历史交通数据中的车辆流量数据修正初始出行矩阵得到历史出行矩阵。基于当前交通数据(当前时间段的实际交通数据)生成目标出行矩阵具体可以是对当前交通数据中的车辆轨迹数据进行出行分析,得到第一出行矩阵,基于当前交通数据中的车辆流量数据修正第一出行矩阵得到目标出行矩阵。关于出行分析和矩阵修正的具体方法可以参照后述相关实施例所述的方法。
步骤S204,基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与仿真需求对应的目标行驶路径。
其中,中观交通仿真是以车辆群体为视角的交通仿真,即是以车辆群体为研究对象的交通仿真,主要关注车辆群体对交通的整体影响。中观交通仿真是一种以队列模型为基础,分钟级对车辆换道、转弯等行为近似处理的交通模拟技术。
中观仿真路况数据是基于中观交通仿真生成的路况数据。中观仿真路况数据具体可以包括车辆的行驶路径、出发点和目的地等信息。起始中观仿真路况数据是指当前时间段的起始时刻对应的中观仿真路况数据。起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的。当前时间段和当前时间段对应的上一个时间段之间存在重叠的时刻,因此从当前时间段对应的上一个时间段的实时微观仿真路况数据中可以确定当前时间段的起始时刻对应的微观仿真路况数据,再基于当前时间段的起始时刻对应的微观仿真路况数据确定当前时间段的起始时刻对应的中观仿真路况数据。
微观仿真路况数据是基于微观交通仿真生成的路况数据。微观交通仿真是以车辆个体为视角的交通仿真,即是以车辆个体为研究对象的交通仿真,主要关注单个车辆对交通的细节影响。微观交通仿真是一种从单个车辆视角,毫秒级精细化刻画超车、跟驰、变道等行为的模拟技术。微观仿真路况数据具体可以包括车辆的行驶路径、出发点、目的地、车辆在各个时刻的位置和状态、道路周围环境等信息。可以理解,同一时间段的微观仿真路况数据比中观仿真路况数据的数据量大,微观仿真路况数据包括更多的细节信息,例如道路周围环境,微观仿真路况数据更适合用于进行渲染展示。实时微观仿真路况数据包括一个时间段内各个时刻对应的微观仿真路况数据。
仿真需求是指仿真目标。仿真需求具体可以包括交通还原、车辆均衡、系统最优等。可以理解,针对相同的目标出行矩阵,基于不同的仿真目标可以仿真得到不同的交通路况。仿真需求可以根据实际需求进行设置。例如,计算机设备可以接收交通仿真请求,该交通仿真请求中携带仿真需求,计算机设备响应于该交通仿真请求,基于该仿真需求进行交通仿真。交通仿真请求可以是在相关界面上触发生成的。
目标出行矩阵用于描述当前时间段的交通出行信息,目标出行矩阵包括当前时间段的目标车流量,根据目标车流量即可确定目标车辆。例如,目标车流量为100,那么可以对应生成100辆目标车辆。目标行驶数据包括目标车辆当前时间段在仿真路网中的出发点、目的地、行驶路径、全程耗时、各道路的平均耗时等数据。
具体地,计算机设备可以以一定粒度时间窗口按批次周期进行交通仿真。在开始当前时间段的交通仿真之前,计算机设备可以获取当前时间段对应的上一时间段的实时微观仿真路况数据,从上一时间段的实时微观仿真路况数据中确定当前时间段对应的起始中观仿真路况数据。例如,计算机设备每15分钟仿真一次。8点运行一次仿真,得到8点至8点15对应的实时微观仿真路况数据,8点15运行一次仿真,得到8点15至8点30对应的实时微观仿真路况数据,8点30运行一次仿真,得到8点30至8点45对应的实时微观仿真路况数据。在开始8点15的交通仿真之前,计算机设备可以从8点至8点15对应的实时微观仿真路况数据中获取8点15对应的微观仿真路况数据,基于8点15对应的微观仿真路况数据生成8点15对应的中观仿真路况数据,将8点15对应的中观仿真路况数据作为8点15至8点30这个时间段的起始中观仿真路况数据。
进而,计算机设备可以基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据。在进行中观交通仿真时,计算机设备可以基于仿真需求对目标车辆进行行驶路径分配,得到目标车辆在当前时间段的目标行驶路径,该目标行驶路径与仿真需求相匹配,从而基于目标车辆在当前时间段的目标行驶路径得到目标车辆在当前时间段的目标行驶数据。计算机设备可以设置不同仿真需求对应的参考行驶数据,若目标车辆按照计算机设备分配的行驶路径在仿真路网中行驶所产生的仿真行驶数据达到或接近于参考行驶数据,计算机设备可以将该行驶路径作为目标车辆的目标行驶路径,若仿真行驶数据与参考行驶数据差异较大时,计算机设备可以为目标车辆分配新的行驶路径。例如,当仿真需求为交通还原时,计算机设备可以将参考行驶数据设置为真实路网中的实际车流量和实际行驶速度,当仿真路网中的仿真车流量和仿真行驶速度与真实路网中的实际车流量和实际行驶速度差异较小时,可以认为当前仿真路网还原了真实路网中的交通路况。
可以理解,在进行中观交通仿真时,为了提高仿真速度,对于道路周围环境、相邻路口之间的间距、车辆换道、转弯等对整体车辆行驶影响较小的数据可以进行近似处理。例如相邻路口之间的间距可以通过斑马线和交通灯之间的间距来表示,在进行中观交通仿真时,目标车辆在斑马线和交通灯之间的行驶行为可以忽略,当交通灯为绿灯时,目标车辆直接从上一路口的末端到达下一路口的起点,以此来减少仿真数据量,提高仿真速度。
在一个实施例中,计算机设备基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,可以得到目标车辆在包含当前时间段的目标时间段的候选行驶数据,基于候选行驶数据确定目标车辆在当前时间段的目标行驶数据。例如,计算机设备每15分钟仿真一次。8点运行一次仿真,先进行中观交通仿真,得到目标车辆在8点到8点30的候选行驶数据,从目标车辆在8点到8点30的候选行驶数据中获取目标车辆在8点到8点15的行驶数据作为目标车辆在8点到8点15的目标行驶数据,再进行微观交通仿真来细致刻画仿真交通路况。可以理解,中观交通仿真是以车辆群体为视角,为了仿真与仿真需求匹配的交通路况,需要综合考虑所有目标车辆在仿真路网中从出发点到目的地的全程行驶数据,并且,不同目标车辆之间的出发时间也存在差异,因此,在进行中观交通仿真时,先得到目标车辆在目标时间段的候选行驶数据,再从目标时间段的候选行驶数据获取目标车辆在当前时间段的目标行驶数据。目标时间段的时间长度大于或等于当前时间段的时间长度,目标时间段包含当前时间段。
步骤S206,基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。
其中,仿真路网中的行驶车辆是指当前时间段在仿真路网中行驶的车辆,包括需要新加入仿真路网的目标车辆和仍然在仿真路网中行驶未到达目的地的历史车辆。仿真交通路况是指通过交通仿真得到的路况信息。仿真交通路况具体可以包括拥堵比例、平均速度、车流量等信息。
具体地,通过中观交通仿真得到目标车辆在当前时间段的目标行驶数据后,计算机设备可以基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,将目标车辆按照目标行驶数据在仿真路网中行驶,基于目标车辆和历史车辆之间的动态行驶影响,使得仿真路网中的行驶车辆稳步行驶到对应的目的地,基于仿真路网中各个行驶车辆的行驶过程得到当前时间段对应的实时微观仿真路况数据。实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,计算机设备可以对实时微观仿真路况数据进行渲染展示,从而通过可视化的方式展示与仿真需求对应的当前时间段的仿真交通路况。城市交通管理者基于可视化的仿真交通路况可以进行交通决策、管制和规划。例如,当发现出现道路拥堵的情况时,则在拥堵路段设置交通诱导屏、增加交通管控措施来缓解道路拥堵。
在一个实施例中,在进行微观交通仿真时,可以使用虚拟的微观自动驾驶模型,仿真路网中的一个行驶车辆对应一个微观自动驾驶模型,各个行驶车辆通过微观自动驾驶模型感知周围交通环境、进行处理数据并快速做出反应、决策,从而各个行驶车辆可以自动地从出发点按照目标行驶路径逐步到达目的地。
在一个实施例中,仿真需求包括交通还原、车辆均衡和系统最优。计算机设备最终可以分屏同时展示各个仿真需求分别对应的仿真视频,从而更有助于交通预警与规划,方便交警规划调度及决策。
上述交通仿真方法,通过获取当前时间段对应的目标出行矩阵,目标出行矩阵是用于描述当前时间段的交通出行信息;基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与仿真需求对应的目标行驶路径;基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。这样,根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定当前时间段对应的起始中观仿真路况数据,可以保障在相邻两批次仿真变换时能够平滑过渡,避免出现车辆跳变的情况。此外,先进行中观交通仿真,以车辆群体为视角快速得到目标车辆在当前时间段的目标行驶数据,再进行更细致的微观交通仿真,以车辆个体为视角得到当前时间段对应的实时微观仿真路况数据,中观交通仿真和微观交通仿真的有机结合能够快速准确地得到当前时间段的仿真交通路况。
在一个实施例中,如图3所示,获取当前时间段对应的目标出行矩阵,包括:
步骤S302,获取当前时间段对应的历史时间段的历史车辆轨迹数据和历史车辆流量数据。
其中,当前时间段对应的历史时间段是指在当前时间段之前的任意时间段。当前时间段对应的历史时间段可以有多个。当前时间段和历史时间点的时间长度可以相同可以不同。历史车辆轨迹数据是指在历史时间段统计得到的车辆轨迹数据,历史车辆流量数据是指在历史时间段统计得到的车辆流量数据。例如,当前时间段为8点至8点15,当前时间段对应的历史时间段可以是7点45至8点,历史车辆轨迹数据可以是在7点45至8点统计得到的车辆轨迹数据,历史车辆流量数据可以是在7点45至8点统计得到的车辆流量数据。
具体地,计算机设备可以对城市车辆轨迹流、手机信令、卡口数据等多源数据进行融合分析,挖掘交通出行需求,从而生成历史出行矩阵,进而基于历史时间段对应的历史出行矩阵预测当前时间段对应的目标出行矩阵。计算机设备可以从第一终端和第一服务器上获取在历史时间段私家车、出租车、网约车、公交车等车辆的历史车辆轨迹数据,得到历史车辆轨迹数据。计算机设备可以从第二终端和第二服务器上获取在历史时间段各个路段的卡口数据、地磁线圈数据等历史交通断面流量数据和手机信令数据,得到历史车辆流量数据。其中,第一终端可以是用户终端,第一服务器可以是各种移动app对应的服务器,例如导航应用程序对应的服务器、打车应用程序对应的服务器等。安装有社交应用app、地图导航app等app的各类移动设备均可在符合安全及隐私要求的情形下获得超大规模的用户定位信息,根据每位用户的定位即可复原用户真实行动轨迹,然后分析交通出行需求,挖掘用户的出发点和目的地。第二终端可以是交警设备,例如设置到道路边的各种传感器,第二服务器可以是交警使用的数据统计服务器。基于车辆本身含有的铁磁物质会对车辆存在区域的地磁信号产生影响,使车辆存在区域的地球磁力线发生弯曲,因此当车辆经过传感器附近,传感器能够灵敏感知到地磁信号的变化,经信号分析就可以得到检测目标的交通设施,从而基于地磁线圈数据可以统计经过指定道路横断面的车流量。手机信令是指通信运营商(移动、联通、电信等)在用户发生通话、发短信或移动位置等事件时,被运营商的通信基站捕获并记录的同一用户轨迹信息。获取到信令数据,即获取到了用户位置与轨迹,则可以根据用户位置和轨迹分析交通需求,确定人流量,进而基于人流量辅助确定车流量。
步骤S304,从历史车辆轨迹数据中获取目标地区对应的车辆轨迹数据作为目标车辆轨迹数据,从历史车辆流量数据中获取目标地区对应的车辆流量数据作为目标车辆流量数据。
具体地,计算机设备可以进一步对历史车辆轨迹数据和历史车辆流量数据进行筛选,从中获取目标地区内的车辆轨迹数据作为目标车辆轨迹数据,获取目标地区内的车辆流量数据作为目标车辆流量数据。也就是,计算机设备从历史车辆轨迹数据中获取目标地区对应的车辆轨迹数据作为目标车辆轨迹数据,从历史车辆流量数据中获取目标地区对应的车辆流量数据作为目标车辆流量数据。例如,从历史车辆轨迹数据中获取城市A对应的车辆轨迹数据作为目标车辆轨迹数据,从历史车辆流量数据中获取城市A对应的车辆流量数据作为目标车辆流量数据,基于目标车辆轨迹数据和目标车辆流量数据生成城市A在历史时间段对应的历史出行矩阵,基于历史出行矩阵生成城市A在当前时间段对应的目标出行矩阵,从而基于目标出行矩阵仿真城市A在当前时间段的交通路况。
步骤S306,对目标车辆轨迹数据进行出行分析,得到历史时间段对应的初始出行矩阵。
步骤S308,基于目标车辆流量数据修正初始出行矩阵,得到历史时间段对应的历史出行矩阵。
其中,出行分析是用于从车辆轨迹数据中挖掘交通出行信息。初始出行矩阵用于描述局部的历史交通出行信息。历史出行矩阵用于描述全量的历史交通出行信息。
具体地,获取到目标车辆轨迹数据和目标车辆流量数据后,计算机设备可以对目标车辆轨迹数据进行出行分析,切分出车辆出行轨迹和出发点、目的地,得到初始出行矩阵。由于难以获取到所有车辆的轨迹信息,目标车辆轨迹数据只能反映部分车辆的轨迹信息,因此初始出行矩阵只是描述了局部的历史交通出行信息。为了提高历史出行矩阵的准确性和可靠性,计算机设备可以基于目标车辆流量数据修正初始出行矩阵,得到历史出行矩阵。目标车辆流量数据是基于地磁线圈、卡口等反映车流量以及手机信令等反映人流量的数据确定的,可以反映全量车辆的流量信息,因此基于目标车辆流量数据修正初始出行矩阵得到的目标出行矩阵可以描述全量的历史交通出行信息。
步骤S310,基于历史出行矩阵得到目标出行矩阵。
具体地,计算机设备可以基于历史出行矩阵得到目标出行矩阵,也就是,根据历史出行矩阵预测目标出行矩阵。计算机设备可以将多个历史出行矩阵进行融合,得到目标出行矩阵。例如,假设真实路网中的当前时刻为周一的8点,8点以后的实际交通数据还未产生,当前时间段为周一的8点至8点15,那么计算机设备可以获取周一7点45至8点的目标车辆轨迹数据和目标车辆流量数据生成周一7点45至8点的历史出行矩阵A,获取上周的8点至8点15的目标车辆轨迹数据和目标车辆流量数据生成上周的8点至8点15的历史出行矩阵B,基于历史出行矩阵A和历史出行矩阵B生成当前时间段对应的目标出行矩阵。其中,将多个历史出行矩阵进行融合具体可以是将历史出行矩阵中的OD对作为目标出行矩阵中的OD对,对各个历史出行矩阵中同一OD对(即同一出发点和目的地)对应的估计车流量进行加权求和得到目标出行矩阵中该OD对所对应的目标车流量。
本实施例中,通过获取当前时间段对应的历史时间段的历史车辆轨迹数据和历史车辆流量数据,从历史车辆轨迹数据中获取目标地区对应的车辆轨迹数据作为目标车辆轨迹数据,从历史车辆流量数据中获取目标地区对应的车辆流量数据作为目标车辆流量数据,对目标车辆轨迹数据进行出行分析,得到历史时间段对应的初始出行矩阵,基于目标车辆流量数据修正初始出行矩阵,得到历史时间段对应的历史出行矩阵,能够得到与现实最接近的交通OD矩阵。进一步的,基于历史出行矩阵得到目标出行矩阵,可以比较准确可靠地预测未来的交通OD矩阵。
在一个实施例中,对目标车辆轨迹数据进行出行分析,得到历史时间段对应的初始出行矩阵,包括:
对目标车辆轨迹数据进行轨迹切分,得到多个候选车辆分别对应的候选行驶路径;候选行驶路径包括候选出发点和候选目的地;基于参考兴趣点对各个候选行驶路径进行出发点聚类和目的地聚类,得到各个候选行驶路径对应的中间出发点和中间目的地;将同一中间出发点和中间目的地对应的候选行驶路径进行聚类,得到多个目标出行组合,统计同一目标出行组合对应的候选车辆的数量,得到各个目标出行组合对应的初始车流量;目标出行组合包括同一中间出发点和中间目的地对应的至少一个候选行驶路径;基于各个目标出行组合和对应的初始车流量、候选行驶路径生成初始出行矩阵。
其中,参考兴趣点是指真实路网中具有标志性的地理位置点,例如商场、酒店、医院、车站、办公楼、加油站、住宅小区等。
具体地,计算机设备可以先对目标车辆轨迹数据进行轨迹切分,得到多个候选车辆分别对应的候选行驶路径,各个候选行驶路径分别包括候选出发点和候选目的地。例如,一条车辆轨迹对应一个候选车辆。若历史时间段包含一条车辆轨迹对应的行驶时间,则将该车辆轨迹作为一条候选行驶路径,该车辆轨迹的起点作为候选出发点,该车辆轨迹的终点作为候选目的地。若一条车辆轨迹对应的行驶时间的时间长度大于历史时间段且起点时刻在历史时间段内,则将该车辆轨迹进行切分,舍弃超过历史时间段的轨迹,得到目标车辆轨迹,将该目标车辆轨迹作为一条候选行驶路径,该目标车辆轨迹的起点作为候选出发点,该目标车辆轨迹的终点作为候选目的地。若一条车辆轨迹对应的行驶时间的时间长度大于历史时间段且结束时刻在历史时间段内,则将该车辆轨迹进行切分,舍弃历史时间段之前的轨迹,得到目标车辆轨迹,将该目标车辆轨迹作为一条候选行驶路径,该目标车辆轨迹的起点作为候选出发点,该目标车辆轨迹的终点作为候选目的地。在进行轨迹切分时,也可以参考用户实际轨迹及意图进行切分,例如,网约车接客算一段目的性很强的轨迹、网约车送客算一段目的性很强的轨迹、空车状态下抢单派订单也算一段目的性很强的轨迹,切分好轨迹后,轨迹中的起始、终止定位点就是出发点和目的地。
接着,计算机设备可以基于参考兴趣点对各个候选行驶路径进行出发点聚类和目的地聚类,得到各个候选行驶路径对应的中间出发点和中间目的地。具体可以是将各个候选出发点分别和各个参考兴趣点进行位置匹配,将与参考兴趣点的位置距离小于预设阈值的候选目的地聚类到对应的参考兴趣点上,将各个候选目的地分别和各个参考兴趣点进行位置匹配,将与参考兴趣点的位置距离小于预设阈值的候选目的地聚类到对应的参考兴趣点上,保留与参考兴趣点的位置距离小于预设阈值的候选出发点和目的地,从而得到各个候选行驶路径对应的中间出发点和中间目的地。例如,一条候选行驶路径的候选出发点为商场A出口附近的车道,则可以将该候选出发点聚类到商场A上,将商场A作为该候选行驶路径的中间出发点。这样,基于参考兴趣点对各个候选行驶路径进行出发点聚类和目的地聚类可以规整出发点和目的地,从而有助于得到精炼的出行矩阵。
进一步的,计算机设备可以将同一中间出发点和中间目的地对应的候选行驶路径进行聚类,得到多个目标出行组合,目标出行组合包括同一中间出发点和中间目的地对应的至少一个候选行驶路径。也就是,对同一OD对所对应的候选行驶路径进行聚类,得到多个不同的OD对和各个OD对分别对应的至少一个候选行驶路径。计算机设备可以统计同一目标出行组合对应的候选车辆的数量,得到各个目标出行组合对应的初始车流量,进而基于各个目标出行组合和对应的初始车流量、候选行驶路径生成初始出行矩阵。初始出行矩阵包括多个OD对,各个OD对分别对应的初始车流量,各个OD对分别对应的至少一个候选行驶路径。可以理解,从A点到B点可以有至少一种行驶路线,因此一个OD对可以对应至少一个候选行驶路径。
本实施例中,通过对目标车辆轨迹数据进行轨迹切分,得到多个候选车辆分别对应的候选行驶路径,候选行驶路径包括候选出发点和候选目的地,基于参考兴趣点对各个候选行驶路径进行出发点聚类和目的地聚类,得到各个候选行驶路径对应的中间出发点和中间目的地。这样,可以将零散的出发点和目的地聚合到标志性地理位置上,得到可以更准确反映现实交通需求的候选行驶路径。然后,将同一中间出发点和中间目的地对应的候选行驶路径进行聚类,得到多个目标出行组合,统计同一目标出行组合对应的候选车辆的数量,得到各个目标出行组合对应的初始车流量,目标出行组合包括同一中间出发点和中间目的地对应的至少一个候选行驶路径,基于各个目标出行组合和对应的初始车流量、候选行驶路径可以快速生成初始出行矩阵。
在一个实施例中,初始出行矩阵包括多个目标出行组合和各个目标出行组合分别对应的初始车流量,基于目标车辆流量数据修正初始出行矩阵,得到历史时间段对应的历史出行矩阵,包括:
基于目标车辆流量数据对各个目标出行组合对应的初始车流量进行扩样处理,得到各个目标出行组合对应的中间车流量;基于目标车辆流量数据对各个中间车流量进行校验处理,得到各个目标出行组合对应的估计车流量;基于各个目标出行组合对应的估计车流量修正对应的初始车流量,得到历史出行矩阵。
其中,扩样处理是指对初始车流量进行一定比例的增加。扩样处理用于粗调初始车流量,得到中间车流量。校验处理是用于细调中间车流量,得到估计车流量,使得整体估计车流量和历史车流量接近或一致。历史车流量是指历史时间段在真实道路断面统计到的车流量。
具体地,计算机设备基于目标车辆流量数据可以得到各个目标出行组合对应的历史车流量和各个路段对应的历史车流量。计算机设备可以基于目标车辆流量数据对各个目标出行组合对应的初始车流量进行扩样处理,根据断面的历史车流量粗略地对经过指定路段的OD对进行一定比例系数的增加,得到各个目标出行组合对应的中间车流量。例如,初始出行矩阵中一个OD对所对应的初始车流量为80,根据目标车辆流量数据确定该OD对所对应的历史车流量为100,则可以将该初始车流量初步扩样为100。可以理解,不同的OD对之间的扩样比例可以相同可以不同,根据各自对应的初始车流量和历史车流量确定。
进一步的,路段与路段之间是会相互影响的,进而也会影响路径与路径之间的车流量。因此,只是将每个OD对所对应的初始车流量都各自扩样处理后,会进一步导致一部分的OD对所对应的车流量继续增加以至于超过历史车流量。因此,计算机设备基于目标车辆流量数据对各个目标出行组合对应的初始车流量进行扩样处理得到各个目标出行组合对应的中间车流量后,还需要基于目标车辆流量数据对各个中间车流量进行校验处理,进一步对各个中间车流量进行调整,得到各个目标出行组合对应的估计车流量,使得整体的估计车流量和整体的历史车流量接近。例如,不同的候选行驶路径之间存在对应的车流量影响因子,车流量影响因子可以是基于大数据分析得到的,也可以是人为按照经验设置的。在得到各个目标出行组合对应的中间车流量后,计算机设备可以基于车流量影响因子调整各个中间车流量,得到各个目标出行组合对应的参考车流量,该参考车流量是综合考虑了扩样处理以及不同路径之间的相互影响。接着,计算机设备基于各个目标出行组合对应的参考车流量和历史车流量之间的车流量差异和车流量影响因子进一步调整参考车流量,直至参考车流量和历史车流量之间的车流量差异小于预设阈值,得到将最后一次调整得到的参考车流量作为目标出行组合对应的估计车流量。最后,计算机设备基于各个目标出行组合分别对应的估计车流量修正对应的初始车流量,得到历史出行矩阵,也就是,将初始出行矩阵中的初始车流里替换为对应的估计车流量。
城市交通需求挖掘是指通过大数据技术分析交通出行需求。参考图4,计算机设备可以结合私家车、出租车、公交车、卡车、网约车的车辆历史轨迹、手机信令、移动app定位、公交出行乘车码、地磁线圈、卡口等数据挖掘城市中不同OD对间的车流量,生成OD矩阵。具体地,计算机设备首先从采集到的多源数据中切分用户出行轨迹,得到包括候选出发点和目的地的候选行驶路径。接着,计算机设备对候选出发点/候选目的地进行交通小区吸附,根据出发点/目的地搜寻最近的参考兴趣点来进行交通小区吸附,即进行出发点聚类和目的地聚类。这样,计算机设备可以统计最原始的初始OD矩阵,即从现实采样的交通OD矩阵和候选行驶路径。初始OD矩阵可以包括不同OD对分别对应的初始车流量。进一步的,初始OD矩阵还可以包括不同OD对间不同交通工具的路径行驶热度,即不同OD对间不同交通工具对应的初始车流量。其中,异常过滤主要针对异常轨迹,例如,可以基于异常停车、路边趴活、区域长时间驻留、定位轨迹飘逸等司机异常驾驶行为判断异常轨迹。
然后,计算机设备结合地磁线圈、卡口等交通断面流量和手机信令这样的全量数据对初始OD矩阵进行校验和扩样,估计出与现实最接近的、用于描述全量的交通出行信息的交通OD矩阵,从而完成OD矩阵估计,得到历史OD矩阵。计算机设备可以基于历史OD矩阵生成目标OD矩阵,目标OD矩阵用于刻画当前时间段的交通出行需求。进而,计算机设备可以基于目标OD矩阵进行交通仿真,目标OD矩阵为交通仿真提供交通出行需求,目标OD矩阵或初始OD矩阵为交通仿真提供候选行驶路径。此外,基于现实采集的交通数据还可以对中观交通仿真中的交通流模型和微观交通仿真中的自动驾驶模型进行参数标定。计算机设备可以从基础路网(即真实路网)中抽取交通流样本,对交通流样本进行数据分析,从而对交通流模型和自动驾驶模型进行参数标定。交通流样本包括海量路段速度、密度、流量等统计数据和现实车辆路测时回传的传感器感知数据。
本实施例中,通过基于目标车辆流量数据对各个目标出行组合对应的初始车流量进行扩样处理和校验处理,能够估计出与现实最接近的目标车流量,从而得到与现实最接近的交通OD矩阵。
在一个实施例中,目标出行矩阵包括多个目标出行组合和各个目标出行组合分别对应的目标车流量、多个候选行驶路径。如图5所示,基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应中的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,包括:
步骤S502,基于同一目标出行组合对应的各个候选行驶路径,对与对应的目标车流量相匹配的多个目标车辆进行路径分配,得到各个目标车辆对应的初始行驶路径。
其中,目标出行矩阵包括多个目标出行组合、各个目标出行组合分别对应的目标车流量、各个目标出行组合分别对应的多个候选行驶路径。
具体地,计算机设备可以基于同一目标出行组合对应的各个候选行驶路径,对与对应的目标车流量相匹配的多个目标车辆进行路径分配,得到各个目标车辆对应的初始行驶路径。例如,一个OD对所对应的目标车流量为100,候选行驶路径包括候选行驶路径1、候选行驶路径2、候选行驶路径3,那么可以将100个目标车辆分配到这3个候选行驶路径上,分配比例可以根据需要进行设置。若分配比例为1:2:1,则25个目标车辆分配到候选行驶路径1上,这25个目标车辆对应的初始行驶路径为候选行驶路径1;50个目标车辆分配到候选行驶路径2上,这50个目标车辆对应的初始行驶路径为候选行驶路径2;25个目标车辆分配到候选行驶路径3上,这25个目标车辆对应的初始行驶路径为候选行驶路径3。
步骤S504,根据各个目标车辆对应的出发时间和初始行驶路径,将各个目标车辆加入仿真路网。
步骤S506,在各个目标车辆的仿真行驶过程中,基于仿真路网的实时中观仿真路况数据动态调整各个目标车辆的行驶速度,直至各个目标车辆行驶结束。
具体地,在确定各个目标车辆对应的初始行驶路径后,计算机设备可以按照各个目标车辆对应的出发时间和初始行驶路径,将各个目标车辆加入仿真路网,让各个目标车辆在仿真路网中行驶。在各个目标车辆的仿真行驶过程中,计算机设备可以基于仿真路网中的实时中观仿真路况数据动态调整各个目标车辆的行驶速度,直至各个目标车辆行驶至对应的目的地,即各个目标车辆行驶结束。其中,各个目标车辆对应的出发时间可以根据历史路径出发时间分布信息确定。历史路径出发时间分布信息是指车辆在同一OD对所对应的各个候选行驶路径上出发时间的分布情况。不同的OD对可以对应不同的历史路径出发时间分布信息。例如,一个OD对所对应的历史路径出发时间分布信息为候选行驶路径1上每隔5分钟发出20%的车辆,候选行驶路径2上每隔3分钟发出30%的车辆,候选行驶路径3上每隔7分钟发出40%的车辆。
步骤S508,基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失。
步骤S510,基于行驶损失调整各个目标车辆对应的初始行驶路径,直至行驶损失满足收敛条件,得到各个目标车辆对应的目标行驶路径。
其中,参考行驶数据是指目标车辆基于仿真需求行驶所预计产生的行驶数据。参考行驶数据可以包括所有目标车辆在完成一次行驶过程中所产生的行驶数据,也可以包括所有目标车辆在完成多次行驶过程中所产生的行驶数据。仿真行驶数据是指目标车辆基于初始行驶路径行驶所产生的行驶数据。
具体地,针对不同的仿真需求,计算机设备最终可以为目标车辆分配不同的候选行驶路径。因此,计算机设备需要先确定仿真需求,即仿真目标,再基于仿真需求确定各个目标车辆对应的参考行驶数据。在进行中观交通仿真时,计算机设备会先为目标车辆分配初始行驶路径,目标车辆在仿真路网中按照初始行驶路径行驶并产生仿真行驶数据。若仿真行驶数据和参考行驶数据差异不大,则表明初始行驶路径分配合理,可以满足仿真需求,计算机设备可以将初始行驶路径作为目标行驶路径。若仿真行驶数据和参考行驶数据差异较大,则表明初始行驶路径分配不合理,无法满足仿真需求,计算机设备需要重新为目标车辆分配新的初始行驶路径,直至仿真行驶数据和参考行驶数据差异不大。因此,计算机设备可以基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失,基于行驶损失调整各个目标车辆对应的初始行驶路径,直至行驶损失满足收敛条件,得到各个目标车辆对应的目标行驶路径。其中,收敛条件可以是行驶损失小于预设阈值、迭代次数达到预设阈值等。并且,不同的仿真需求可以对应不同的预设阈值。
步骤S512,基于各个目标车辆对应的目标行驶路径和出发时间得到各个目标车辆在当前时间段的目标行驶数据。
具体地,在确定各个目标车辆对应的目标行驶路径后,计算机设备可以基于各个目标车辆对应的目标行驶路径和出发时间得到各个目标车辆在当前时间段的目标行驶数据。
参考图6,中观交通仿真的输入数据为通过交通需求挖掘得到的目标出行矩阵。在进行中观交通仿真(即进行中观仿真与分配)时,计算机设备基于目标出行矩阵中的候选行驶路径为对应的目标车辆分配初始行驶路径,将携带初始行驶路径的目标车辆输入中观仿真器,在中观仿真器中基于车道级高精路网进行路段级交通流仿真。计算机设备通过中观仿真器在仿真过程中对仿真数据进行仿真统计得到目标车辆对应的仿真行驶数据,并基于仿真需求确定目标车辆对应的参考行驶数据。其中,仿真行驶数据包括车辆到达时间和路段耗时信息等数据,仿真需求包括交通还原、车辆均衡和系统最优。计算机设备可以基于仿真行驶数据和参考行驶数据之间的差异生成行驶损失,当行驶损失满足收敛条件时,将初始行驶路径作为目标行驶路径,生成目标行驶数据作为微观交通仿真的输入数据。当行驶损失不满足收敛条件时,基于行驶损失重新动态为目标车辆分配初始行驶路径,直至新的行驶损失满足收敛条件,将对应的初始行驶路径作为目标行驶路径,生成目标行驶数据作为微观交通仿真的输入数据。在进行微观交通仿真(即进行微观仿真与渲染)时,计算机设备可以将中观仿真器输出的目标行驶数据输入微观仿真器,在微观仿真器中基于车道级高精路网进行路口/车道级交通流仿真,得到微观仿真路况数据,基于微观仿真路况数据生成仿真渲染可视化的视频帧,从而基于视频帧可以最终将在高精地图及3D虚拟城市环境中呈现出与现实同步运行的交通路况。
本实施例中,通过基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失,基于行驶损失调整为各个目标车辆对应的初始行驶路径,直至行驶损失满足收敛条件,得到各个目标车辆对应的目标行驶路径。这样,通过行驶损失进行迭代收敛,可以快速准确地为目标车辆规划与仿真需求对应的目标行驶路径。
在一个实施例中,基于同一目标出行组合对应的各个候选行驶路径,对与对应的目标车流量相匹配的多个目标车辆进行路径分配,得到各个目标车辆对应的初始行驶路径,包括:
获取各个目标出行组合分别对应的历史路径车流量分布概率;基于同一目标出行组合对应的历史路径车流量分布概率,对对应的各个候选行驶路径进行车流量分配,得到各个候选行驶路径分别对应的分配车流量;基于各个候选行驶路径和对应的分配车流量得到各个目标车辆对应的初始行驶路径。
其中,历史路径车流量分布概率是指车辆在同一OD对所对应的各个候选行驶路径上的分布概率。例如,一个OD对所对应的候选行驶路径包括3个,历史路径车流量分布概率为1:1:1,表明可以将目标车辆平均分配到3个候选行驶路径上。不同的OD对可以对应不同的历史路径车流量分布概率。
具体地,计算机设备可以对各个目标出行组合对应的历史路径车流量分布情况进行统计分析,得到各个目标出行组合分别对应的历史路径车流量分布概率。在初次为车辆分配行驶路径时,计算机设备可以基于同一目标出行组合对应的历史路径车流量分布概率,对对应的各个候选行驶路径进行车流量分配,得到各个候选行驶路径分别对应的分配车流量,将同一分配车流量对应的目标车辆分配到对应的候选行驶路径上,从而得到各个目标车辆对应的初始行驶路径。例如,一个OD对所对应的目标车流量包括90,候选行驶路径包括3个,历史路径车流量分布概率为1:1:1,那么候选行驶路径1对应的分配车流量为30,有30个目标车辆对应的初始行驶路径为候选行驶路径1,候选行驶路径2对应的分配车流量为30,有30个目标车辆对应的初始行驶路径为候选行驶路径2,候选行驶路径3对应的分配车流量为30,有30个目标车辆对应的初始行驶路径为候选行驶路径3。
本实施例中,通过基于历史路径车流量分布概率确定初次为目标车辆分配的初始行驶路径,能够提高初始行驶路径的可靠性,从而加快迭代收敛速度。
在一个实施例中,在各个目标车辆的仿真行驶过程中,基于仿真路网的实时中观仿真路况数据动态调整各个目标车辆的行驶速度,直至各个目标车辆行驶结束,包括:
根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度;基于交通流模型和车辆密度确定当前车辆在对应路段上的参考行驶速度;基于仿真路网中各个路段的实时道路状态和当前车辆的参考行驶速度,对当前车辆的当前位置和当前行驶状态进行更新,返回根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度的步骤,直至各个目标车辆行驶结束。
其中,行驶状态包括停车、排队和行驶等状态,以及在各种状态下对应的行驶速度。交通流模型是用于描述道路通行能力,用于刻画道路上的当车辆前方一定距离范围内的车辆密度是如何决定,此车可以何种速度向前行驶。对每条城市道路,在不同道路等级、不同转弯弧度、不同交通场景下其通行能力完全不同。计算机设备可以基于历史积累的海量路段统计数据和现实车辆路测时回传的传感器感知数据生成每类道路或者每条道路对应的包含密度-速度关系的交通流模型。参考行驶速度是指目标车辆可达到的行驶速度。道路状态包括道路的交通灯状态(红灯、绿灯、黄灯和对应的倒计时)、道路的拥堵状态等信息。基于道路的拥堵状态可以判断道路是否还有空间容纳新增车辆。
具体地,在目标车辆按照初始行驶路径在仿真路网中行驶时,计算机设备可以根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度,基于交通流模型中密度-速度关系来判断和决定当前车辆在对应路段上的参考行驶速度,基于该参考行驶速度约束当前车辆的行驶速度。计算机设备基于仿真路网中各个路段的实时道路状态和当前车辆的参考行驶速度,对当前车辆的当前位置和当前行驶状态进行更新,返回根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度的步骤,直至各个目标车辆行驶结束。可以理解,计算机设备可以得到各个行驶车辆在各个路段上的参考行驶速度。计算机设备可以定时对仿真路网中所有车辆的位置和状态进行更新,并计算各个行驶车辆在对应路段上的参考行驶速度,基于参考行驶速度约束行驶车辆的行驶速度,直至各个目标车辆行驶结束。这样,在车辆行驶过程中,仿真路网中的行驶车辆能够彼此互相影响制约,从而能够有效保持有序的交通秩序。
本实施例中,通过基于交通流模型和车辆密度确定车辆在对应路段上的参考行驶速度,能够得到比较准确可靠的参考行驶速度,从而有效仿真模拟真实车辆的行驶速度,进而提高仿真结果的准确性和可靠性。
在一个实施例中,当仿真需求为交通还原时,基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失,包括:
从真实路网中获取各个初始行驶路径在当前时间段对应的实际车流量,获取各个初始行驶路径在当前时间段对应的实际行驶速度,从仿真路网中获取各个初始行驶路径对应的仿真车流量;基于各个目标车辆的到达时间和出发时间确定各个目标车辆对应的仿真行驶耗时,基于各个目标车辆对应的仿真行驶耗时和初始行驶路径计算各个初始行驶路径对应的仿真行驶速度;基于各个初始行驶路径对应的实际行驶速度和仿真行驶速度之间的速度差异、各个初始行驶路径对应的实际车流量和仿真车流量之间的车流量差异计算行驶损失。
其中,真实路网是指现实生活中的实际路网。实际车流量是指根据真实路网中的行驶车辆统计得到的真实车流量。实际行驶速度是指根据真实路网中的行驶车辆统计得到的平均行驶速度。仿真车流量是指根据仿真路网中的行驶车辆统计得到的真实车流量。仿真行驶速度是指根据真实路网中的行驶车辆统计得到的平均行驶速度。一个路径对应的平均行驶速度可以基于路径的长度和驶过该路径的车辆的平均耗时计算得到。
具体地,交通还原是为了还原真实的交通状况,当仿真出来的断面车流量以及平均速度与实际断面车流量和平均速度的真实值接近时,可以认为实现了交通还原。因此,当仿真需求为交通还原时,计算机设备可以从真实路网中获取各个初始行驶路径在当前时间段对应的实际车流量,获取各个初始行驶路径在当前时间段对应的实际行驶速度,将实际车流量和实际行驶速度作为参考行驶数据。在所有目标车辆行驶结束后,计算机设备可以基于各个目标车辆的到达时间和出发时间计算各个目标车辆对应的仿真行驶耗时,基于各个目标车辆对应的仿真行驶耗时和初始行驶路径计算各个初始行驶路径对应的仿真行驶速度,并基于仿真路网中的行驶车辆计算各个初始行驶路径对应的仿真车流量,将仿真行驶速度和仿真车流量作为仿真行驶数据。这样,计算机设备可以基于各个目标车辆对应的实际行驶速度和仿真行驶速度之间的速度差异、以及各个初始行驶路径对应的实际车流量和仿真车流量之间的车流量差异计算行驶损失。当行驶损失满足收敛条件时,表明目标车辆按当前分配的初始行驶路径行驶可以让仿真出来的断面车流量以及平均速度近似于实际断面车流量和平均速度,从而达到交通还原的目的。
在一个实施例中,当仿真需求为车辆均衡时,基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失,包括:
基于起始中观仿真路况数据预测各个目标车辆对应的目标行驶耗时;基于各个目标车辆的到达时间和出发时间确定各个目标车辆对应的仿真行驶耗时;基于各个目标车辆对应的目标行驶耗时和仿真行驶耗时之间的时间差异计算行驶损失。
具体地,车辆均衡(用户均衡)是一种动态平衡,最终仿真出来的效果可以达到让不同车辆(用户)之间保持一种交通平衡,不会出现按相同或相近的出行距离来讲一部分车辆(用户)到达目的地耗时极长,另一部分车辆(用户)耗时极短的不平衡状态。因此,当仿真需求为车辆均衡时,在所有目标车辆开始行驶前,计算机设备可以基于起始中观仿真路况数据预测各个目标车辆到达目的地的目标行驶耗时。例如,根据起始中观仿真路况数据确定各道路车辆通过的平均耗时,从而得到各个候选行驶路径分别对应的平均耗时,进而基于同一目标出行组合对应的各个候选行驶路径对应的平均耗时计算该目标出行组合对应的各个目标车辆对应的目标行驶耗时。在所有目标车辆行驶结束后,计算机设备基于各个目标车辆的到达时间和出发时间计算各个目标车辆对应的仿真行驶耗时,将仿真行驶耗时作为仿真行驶数据,将目标行驶耗时作为参考行驶数据。计算机设备基于各个目标车辆对应的目标行驶耗时和仿真行驶耗时之间的时间差异计算行驶损失。当行驶损失满足收敛条件时,表明目标车辆按当前分配的初始行驶路径行驶可以让当前仿真路况和起始仿真路况相同或相似,从而可以让不同车辆(用户)之间保持一种交通平衡,最终达到车辆均衡(用户均衡)的目的。
在一个实施例中,当仿真需求为系统最优时,基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失,包括:
基于各个目标车辆在相邻仿真行驶过程中产生的仿真行驶数据,计算仿真路网中各个路段在相邻仿真行驶过程之间对应的相邻行驶速度;基于仿真路网中各个路段在相邻仿真行驶过程之间对应的相邻行驶速度,计算行驶速度变化方向和行驶速度变化比例;基于行驶速度变化方向和行驶速度变化比例生成行驶损失。
其中,相邻仿真行驶过程是指相邻的两次仿真行驶过程。相邻行驶速度包括各个路段在相邻两次仿真行驶过程中分别对应的平均行驶速度。行驶速度变化方向包括增加和减小。一个路段对应的平均行驶速度可以基于路段的长度和驶过该路段的车辆的平均耗时计算得到。
具体地,系统最优的目标是让所有道路的拥堵比例最小,道路的拥堵比例可以通过道路的平均行驶速度来体现。因此,当仿真需求为系统最优时,计算机设备可以先对目标车辆进行一次路径分配,得到初始行驶路径,获取目标车辆按照该初始行驶路径行驶所产生的仿真行驶数据来计算各个路段对应的平均行驶速度。计算机设备再重新对目标车辆进行一次路径分配,得到新的初始行驶路径,获取目标车辆按照新的初始行驶路径行驶所产生的仿真行驶数据来计算各个路段对应的平均行驶速度。计算机设备可以基于各个路段在相邻两次仿真行驶过程中分别对应的平均行驶速度计算行驶速度变化方向和行驶速度变化比例,基于行驶速度变化方向和行驶速度变化比例生成行驶损失。例如,将各个路段对应的行驶速度变化方向和行驶速度变化比例进行加权求和得到行驶损失。计算机设备可以基于行驶损失判断各个路段对应的平均行驶速度整体是否在持续增长,当基于行驶损失判断各个路段对应的平均行驶速度整体已不再增长或增长幅度较小时,表明目前已经达到系统最优,因此计算机设备可以将最后一次分配的初始行驶路径作为最终的目标行驶路径。
在一个实施例中,目标行驶数据包括目标行驶路径和出发时间。基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,包括:
根据各个目标车辆对应的出发时间和目标行驶路径,将各个目标车辆加入仿真路网中行驶,得到仿真路网中行驶车辆在当前时间段的实时微观仿真行驶数据;从当前时间段的实时微观仿真路况数据中确定当前时间段对应的下一时间段的起始微观仿真路况数据;将起始微观仿真路况数据转换为下一时间段对应的起始中观仿真路况数据。
具体地,目标行驶数据包括目标行驶路径和出发时间。当中观交通仿真结束后,计算机设备可以获得各个目标车辆在当前时间段的目标行驶数据,即各个目标车辆在当前时间段的目标行驶路径和出发时间。那么,计算机设备可以根据各个目标车辆对应的出发时间和目标行驶路径,将各个目标车辆加入仿真路网中开始行驶,在各个行驶车辆的仿真行驶过程中得到仿真路网中行驶车辆在当前时间段的实时微观仿真行驶数据。进而,计算机设备从当前时间段的实时微观仿真路况数据中确定当前时间段对应的下一时间段的起始微观仿真路况数据,将起始微观仿真路况数据进行数据转换,滤除起始微观仿真路况数据中对于中观交通仿真来说冗余的数据,例如道路周围环境信息(花草树木、人、高楼大厦),得到下一时间段对应的起始中观仿真路况数据。计算机设备也可以直接从下一时间段的起始微观仿真路况数据中获取各个行驶车辆对应的位置信息和行驶状态,基于各个行驶车辆对应的位置信息和行驶状态生成下一时间段对应的起始中观仿真路况数据。
在一个实施例中,计算机设备可以基于微观自动驾驶模型进行微观交通仿真,计算机设备预先参照真实车辆对周围环境的感知数据(例如,150米以内周围车辆、道路、广告牌、马路牙子等信息)和自身驾驶行为(以多快的速度前行,是否转弯、是否停车等)标定微观自动驾驶模型。微观自动驾驶模型可以在微观仿真中复现车载传感器的工作原理,从而有助于刻画车辆对周围环境感知后快速而又准确的决策应变能力。基于自动驾驶技术的微观交通仿真可将中观交通仿真的仿真结果以更细更精准的超车、跟驰、变道等形式展示出来。
在一个实施例中,计算机设备获取到目标车辆在当前时间段的目标行驶数据后,会在本地加速仿真生成当前时间段对应的实时微观仿真路况数据,为了能够赶在下一个批次仿真到来之前提前准备好交通路况在本时间片内的最终状态,并且能够快速生成并缓存各个仿真渲染可视化的视频帧。接着,计算机设备可以将各个视频帧打包发送至终端,由终端播放各个视频帧,或者计算机设备在本地播放各个视频帧,从而向用户展示交通仿真视频。进一步的,计算机设备可以生成目标格式的视频帧,目标格式的视频帧不仅可以实现缩放还可以实现切换视角等操作,因此,播放目标格式的视频帧可以形成三维动画,向用户立体展示仿真路况。
本实施例中,通过微观交通仿真可以精细刻画目标车辆在每个时刻的行驶状态,从而得到准确的微观仿真路况数据。并且,从当前时间段的实时微观仿真路况数据中确定当前时间段对应的下一时间段的起始微观仿真路况数据,将起始微观仿真路况数据转换为下一时间段对应的起始中观仿真路况数据,能够保障在当前时间段和下一时间段的交通仿真平滑过渡,避免出现车辆闪跳不连续过渡的状况。
在一个实施例中,所述方法还包括:
基于当前时间段的仿真交通路况生成导航辅助数据;将导航辅助数据发送至导航服务器,以使导航服务器根据导航辅助数据进行导航路径规划。
其中,导航辅助数据是用于辅助导航服务器为终端进行导航路径规划的数据。导航辅助数据可以包括各个路段的交通指数、平均行驶速度、车流量和仿真需求等信息。交通指数,也称交通拥堵指数或交通运行指数,是综合反映道路网畅通或拥堵的概念性指数值。交通指数取值范围为0~10,分为五个级别(即“畅通”、“基本畅通”、“轻度拥堵”、“中度拥堵”、“严重拥堵”),数值越高表明交通拥堵状况越严重。0~2,畅通:居民可顺畅到达目的地。2~4,基本畅通:居民一次出行平均需要比畅通时多花费0.2-0.5倍时间。4~6,轻度拥堵:居民一次出行平均需要比畅通时多花费0.5-0.8倍时间。6~8,中度拥堵:居民一次出行平均需要比畅通时多花费0.8-1.1倍时间。8~10,严重拥堵:居民一次出行平均需要比畅通时多花费1.1倍以上时间。交通指数可以基于路段的平均行驶速度和车流量计算得到。
具体地,计算机设备可以基于当前时间段的仿真交通路况生成导航辅助数据,并将导航辅助数据发送至导航服务器。导航服务器接收到导航辅助数据后,导航服务器可以基于导航辅助数据获知与交通还原对应的当前时间段的交通路况,进而为终端进行导航路径规划。例如,当前时刻为8点,当前时间段为8点15至8点30,那么当前时间段的仿真交通路况为预测的未来交通路况。用户可以在终端发起导航请求,终端将携带导航起点和导航终点的导航请求发送至导航服务器,导航服务器基于导航辅助数据为终端进行导航路径规划,规划较优的至少一个候选导航路径,避开会发生拥堵的路段,并将候选导航路径发送至终端。终端接收到候选导航路径后,可以向用户进行展示。导航服务器也可以基于导航辅助数据获知与各个仿真需求分别对应的当前时间段的交通路况,进而为终端进行导航路径规划。例如,导航服务器可以基于导航辅助数据获知交通还原和系统最优分别对应的交通路况,进而基于交通还原和系统最优对应的交通路况之间的差异进行导航路径规划。若同一路段在交通还原中对应的车流量大于系统最优中对应的车流量,则进行导航路径规划时,避开这个路段,从而在一定程度上降低该路段的车流量,使得该路段的车流量向系统最优靠近。
本实施例中,通过基于当前时间段的仿真交通路况生成导航辅助数据,将导航辅助数据发送至导航服务器,以使导航服务器根据导航辅助数据进行导航路径规划,能够帮助导航服务器为终端规划更可靠的导航行驶路径,提高导航的有效性。
在一个实施例中,如图7所示,提供了一种交通仿真系统,该系统包括由中观仿真服务器702和微观仿真服务器704,其中:
中观仿真服务器702,用于获取当前时间段对应的目标出行矩阵,目标出行矩阵用于描述当前时间段的交通出行信息,基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是微观仿真服务器根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定,并发送至中观仿真服务器,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与所述仿真需求对应的目标行驶路径。
微观仿真服务器,用于接收中观仿真服务器发送的目标行驶数据,基于目标行驶数据对所述起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。
可以理解,生成目标出行矩阵、中观交通仿真和微观交通仿真的具体过程可以参照前述交通仿真方法的各个相关实施例所述的方法,此处不再赘述。
在一个实施例中,如图8所示,所述系统还包括:
终端706,用于接收微观仿真服务器发送的目标视频帧集合,播放目标视频帧集合,形成三维动画;目标视频帧集合是微观仿真服务器对实时微观仿真路况数据进行仿真渲染,生成仿真交通路况对应的多个目标格式的视频帧,基于各个目标格式的视频帧生成的。
上述交通仿真系统,通过中观仿真服务器和微观仿真服务器的协作,能够快速准确地得到当前时间段的仿真交通路况。并且,根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定当前时间段对应的起始中观仿真路况数据,可以保障在相邻两批次仿真变换时能够平滑过渡,避免出现车辆跳变的情况。
本申请还提供一种应用场景,该应用场景应用上述的交通仿真方法。具体地,该交通仿真方法在该应用场景的应用如下:
在城市交通服务中,交通模拟(交通仿真)是智慧交通的重要组成部分,基于人、车、路、地、物等数据构建与现实对应的虚拟系统,并向城市交通管理者提供基础的交通决策与规划支持。准确高效的交通模拟技术,不仅能够方便交通部门知晓道路拥堵情况,预判未来即将发生的交通现象,还能帮助城市构建交通预警,调度城市交通系统。
参考图9A,城市交通模拟系统主要包括以下几个模块:
1、终端采集及数据处理:从多源数据中收集原始数据并挖掘交通OD需求及出行历史路径。
2、交通流参数标定模块:采用一定的模型算法对路网中每条道路的通行能力进行参数标记。
3、交通仿真模块:规划行驶路径并根据交通规则及车辆当前位置和状态控制车辆运行。
4、交通渲染模块:对车辆的每次位置更新,结合路网数据按帧展示指定范围内的车辆。
本申请的交通仿真方法在该应用场景的应用包括以下步骤:
一、交通需求挖掘:充分利用城市交通数据的实时性,直接快速地提取与现实交通较为接近的交通需求OD矩阵,并预测当前时间段的交通需求OD矩阵。
例如,每15分钟进行一次交通仿真。当前时刻为8点,可以根据7点45至8点的城市车辆轨迹流、手机信令、交通断面流量等多源数据进行融合分析,挖掘交通出行OD需求,得到7点45至8点的历史OD矩阵,基于7点45至8点的OD矩阵预测8点至8点15的目标OD矩阵。目标OD矩阵包括多个OD对、各个OD对分别对应的目标车流量和候选行驶路径。
二、中观交通仿真:基于运筹优化协调调度交通,实现快速拟合卡口流量,加快迭代效率的目的。
为了管理调度城市交通,提高仿真速度,可以从中观视角对城市交通OD需求进行按车分配,基于仿真需求将每对OD间的交通量逐车地分配到对应的候选路径中。不同仿真需求对应的中观交通仿真结果有助于使城市交通整体处于供给大于需求的非饱和状态,也就是不发生大面积的拥堵路段或集中拥堵区域。仿真需求包括交通还原、车辆均衡和系统最优。以车辆均衡为例说明中观交通仿真的过程:
1、将通过交通需求挖掘得到的目标出行矩阵作为中观交通仿真的输入数据。在将8点至8点15对应的目标车辆加入仿真路网之前,根据当前仿真路网状态(例如各道路车辆通过的平均耗时)预估每辆车到达目的地的行程耗时。将O/D对间的目标车流量对应的车辆逐步分配到各路径上,初次车辆路径分配时可以采用按OD对间路径车流量历史分布概率进行。
2、根据仿真路网中各车当前所处的位置和状态,统计前方一定距离范围内的车辆密度,基于交通流模型中密度-速度关系来判断和决定各车在各路段上可达到的行驶速度。
3、基于各道路当前状态(例如是否还有空间容纳新增车辆、是否处于红绿灯前排队等)、各车行驶速度及交通规则将所有车辆的位置和状态整体更新一次。
4、重复2和3直至全部车辆到达目的地为止,最后统计各车全程耗时及各道路平均耗时,并判断全部车辆出行的总体耗时误差,例如取各车(实际全程耗时-预计全程耗时)/预计全程耗时的平均值。
5、判断4中得到总体耗时误差是否满足收敛条件(例如小于一定阈值),若不满足则重复1~4过程,若满足或达到最大迭代次数则中观仿真结束,得到各个目标车辆在8点至8点15对应的出发时间和目标行驶路径。
可以理解,不同的仿真需求可以采用不同的运筹优化模型,各个运筹优化模型可以根据对应的仿真需求进行仿真迭代。例如,当仿真需求为交通还原时,采用交通还原模型进行中观交通仿真,当仿真需求为车辆均衡时,采用车辆均衡模型进行中观交通仿真。不同的运筹优化模型对应不同的收敛条件。
三、微观交通仿真:基于中观交通仿真结果进行高精度的微观交通仿真,对本批次最终交通状态以Snapshot(快照)的方式同步给下一批次仿真使用。
参考图9B,可以将步骤一和步骤二作为中观仿真分配线,将步骤三作为微观仿真主线,步骤四作为微观仿真LogSim可视化线。
1、在中观交通仿真迭代收敛后,中观仿真分配线将8点至8点15内进入仿真路网的车辆的发车时间及目标行驶路径同步至微观仿真主线。
2、微观仿真主线收到中观仿真分配线的分配结果后,会以最快速度在后台服务中加速仿真,其主要目的有两个,一是赶在下一个批次时刻到来之前提前准备好交通在本时间片内的最终状态,可以根据交通在本时间片内的最终状态生成交通快照Snapshot并同步至中观仿真分配线,二是快速生成并缓存各仿真渲染可视化帧,最终以仿真log的形式同步给微观仿真LogSim可视化线。其中,交通快照是一种在某特定时刻对路网交通状态进行针对性保存的方法。
3、中观仿真分配线在收到交通快照Snapshot 后,会对其解析并转化为下一时间片中观交通仿真的初始状态,然后在新的交通需求OD矩阵及检测器流量/速度(即真实路网中流量/速度)等数据到达后,便启动新一轮的中观交通仿真过程,并最终将收敛结果同步至微观仿真主线。由于交通快照Snapshot的作用,可保证相邻时间片过渡时不会出现车流闪跳消失不连续的现象。
四、实时在线仿真:采用与Snapshot并行的logSim仿真机制,实现与物理时钟1:1的交通仿真效果
为了保证实时仿真与现实之间的时间一致性和真实性,可以基于logSim(logsimulation,log仿真)机制实现与物理时钟1:1的仿真效果,即现实路网中时间流逝一秒仿真路网中时间也流逝一秒,并可带来沉浸式的交互体验。
1、微观仿真LogSim可视化线在收到微观仿真主线的仿真结果后,可以log的方式非常轻便高效地回放整个交通变化过程。因为微观仿真主线提前快速生成了log,在可视化的时候直接读取log即可,并且按与物理时钟1:1的比例更新log中的每帧即可,即类似于视频缓冲播放的机制,视频没播放完,但已经缓冲完了。
2、以logSim机制回放交通会采用与物理时钟1:1的比例来进行,最终将在高精地图及3D虚拟城市环境中呈现出与现实同步运行的城市交通系统。log播放时可以缩放并做切换视角等操作。一个地区的交通路况的整体展示效果可以如图9C所示,对该地区内某个路口进行放大得到的局部交通路况的展示效果可以如图9D所示。
从整体上再次说明交通仿真的过程。参考图9B,计算机设备每隔15分钟启动一次交通仿真。在T时刻,计算机设备可以获取T时刻之前的目标车辆流量数据(包括通过检测器统计的流量)和目标车辆轨迹数据生成历史OD矩阵,基于历史OD矩阵生成T时刻至T+15时刻对应的目标OD矩阵。目标OD矩阵包括多个OD对和各个OD对分别对应的候选行驶路径和目标车流量。计算机设备将目标OD矩阵作为中观交通仿真的输入数据,基于T时刻对应的中观仿真路况数据(即当前时间段对应的起始中观仿真路况数据)和仿真需求对目标OD矩阵中目标车流量对应的目标车辆进行中观交通仿真,为目标车辆分配与仿真需求对应的目标行驶路径,通过数据的迭代收敛最终可以得到目标车辆的目标行驶路径。计算机设备将目标车辆的发车时间及目标行驶路径作为微观交通仿真的输入数据,将目标车辆按照发车时间和目标行驶路径加入仿真路网进行微观交通仿真,得到仿真路网中在从T时刻至T+15时刻之间各个时刻对应的微观仿真路况数据(即当前时间段对应的实时微观仿真路况数据),并从中获取T+15时刻对应的微观仿真路况数据转换为T+15时刻至T+30时刻对应的起始中观仿真路况数据。计算机设备基于T时刻至T+15时刻实时微观仿真路况数据生成快速生成并缓存各仿真渲染可视化帧,得到仿真log,最后基于仿真log以logSim机制播放各个可视化帧。在T+15时刻,计算机生成新的目标OD矩阵,启动新一轮的交通仿真得到T+15至T+30时刻之间各个时刻对应的微观仿真路况数据,以此类推,从而在高精地图及3D虚拟城市环境中实时呈现出与现实同步运行的城市交通路况。例如,在T时刻启动一轮仿真,得到T时刻至T+15时刻对应的视频帧,按与物理时钟1:1的比例同步开始播放T时刻至T+15时刻的视频帧;在T+15时刻启动一轮仿真,得到T+15时刻至T+30时刻对应的视频帧,按与物理时钟1:1的比例同步开始播放T+15时刻至T+30时刻的视频帧;在T+30时刻启动一轮仿真,得到T+30时刻至T+45时刻对应的视频帧,按与物理时钟1:1的比例同步开始播放T+30时刻至T+45时刻的视频帧,以此类推,从而实时播放与现实时间同步运行的城市交通路况。其中,当仿真需求为交通还原时,计算机设备还需要获取真实路网中的实际车流量和实际行驶速度(即通过检测器统计的速度)作为参考数据。
可以理解,步骤一至步骤四可以在同一计算机设备内完成,也可以由多个计算机设备协同完成。例如,中观仿真分配线由中观仿真服务器实现,微观仿真主线由微观仿真服务器实现,微观仿真LogSim可视化线由终端实现。
本实施例中,从中微观交通仿真角度出发,结合车辆轨迹的实时性及交通快照Snapshot机制实现实时在线交通模拟方案。首先从海量实时车辆轨迹提取在线交通需求OD矩阵,进而预测交通需求OD矩阵,经中观交通仿真动态分配迭代收敛后输出至微观仿真主线,并在恰当时机将交通快照Snapshot同步给下一批次的中观交通仿真过程,最终达到实时在线交通仿真的目的。这样,充分地利用了轨迹大数据的实时性,并结合了中观及微观交通仿真各自的优势,可以快速准确地进行交通仿真。此外,采用运筹优化模型可协调调度并管理城市交通,泛化及应用能力较强。基于交通状态快照Snapshot同步机制,可解决实时仿真闪跳不连续过渡的缺陷。微观仿真logSim回放及与物理时钟同步的机制保证了实时仿真的逼真效果。
本申请中的交通仿真方法可以应用于可展示城市交通的任何平台及产品中,如数字大屏、交通预警与规划、车厂自动驾驶场地等,可及时模拟与预测动态交通状况,方便规划调度及决策。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种交通仿真装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:目标出行矩阵获取模块1002、中观交通仿真模块1004和微观交通仿真模块1006,其中:
目标出行矩阵获取模块1002,用于获取当前时间段对应的目标出行矩阵,目标出行矩阵用于描述当前时间段的交通出行信息;
中观交通仿真模块1004,用于基于当前时间段对应的起始中观仿真路况数据和仿真需求对目标出行矩阵对应的目标车辆进行中观交通仿真,得到目标车辆在当前时间段的目标行驶数据,起始中观仿真路况数据是根据当前时间段对应的上一个时间段的实时微观仿真路况数据确定的,中观交通仿真是以车辆群体为视角的交通仿真,中观交通仿真用于为目标车辆分配与仿真需求对应的目标行驶路径;
微观交通仿真模块1006,用于基于目标行驶数据对起始中观仿真路况数据对应的仿真路网中的行驶车辆进行微观交通仿真,得到当前时间段对应的实时微观仿真路况数据,实时微观仿真路况数据用于得到与仿真需求对应的当前时间段的仿真交通路况,微观交通仿真是以车辆个体为视角的交通仿真。
在一个实施例中,目标出行矩阵获取模块还用于获取当前时间段对应的历史时间段的历史车辆轨迹数据和历史车辆流量数据;从历史车辆轨迹数据中获取目标地区对应的车辆轨迹数据作为目标车辆轨迹数据,从历史车辆流量数据中获取目标地区对应的车辆流量数据作为目标车辆流量数据;对目标车辆轨迹数据进行出行分析,得到历史时间段对应的初始出行矩阵;基于目标车辆流量数据修正初始出行矩阵,得到历史时间段对应的历史出行矩阵;基于历史出行矩阵得到目标出行矩阵。
在一个实施例中,目标出行矩阵获取模块还用于对目标车辆轨迹数据进行轨迹切分,得到多个候选车辆分别对应的候选行驶路径;候选行驶路径包括候选出发点和候选目的地;基于参考兴趣点对各个候选行驶路径进行出发点聚类和目的地聚类,得到各个候选行驶路径对应的中间出发点和中间目的地;将同一中间出发点和中间目的地对应的候选行驶路径进行聚类,得到多个目标出行组合,统计同一目标出行组合对应的候选车辆的数量,得到各个目标出行组合对应的初始车流量;目标出行组合包括同一中间出发点和中间目的地对应的至少一个候选行驶路径;基于各个目标出行组合和对应的初始车流量、候选行驶路径生成初始出行矩阵。
在一个实施例中,初始出行矩阵包括多个目标出行组合和各个目标出行组合分别对应的初始车流量。目标出行矩阵获取模块还用于基于目标车辆流量数据对各个目标出行组合对应的初始车流量进行扩样处理,得到各个目标出行组合对应的中间车流量;基于目标车辆流量数据对各个中间车流量进行校验处理,得到各个目标出行组合对应的估计车流量;基于各个目标出行组合对应的估计车流量修正对应的初始车流量,得到历史出行矩阵。
在一个实施例中,目标出行矩阵包括多个目标出行组合和各个目标出行组合分别对应的目标车流量、多个候选行驶路径。中观交通仿真模块还用于基于同一目标出行组合对应的各个候选行驶路径,对与对应的目标车流量相匹配的多个目标车辆进行路径分配,得到各个目标车辆对应的初始行驶路径;根据各个目标车辆对应的出发时间和初始行驶路径,将各个目标车辆加入仿真路网;在各个目标车辆的仿真行驶过程中,基于仿真路网的实时中观仿真路况数据动态调整各个目标车辆的行驶速度,直至各个目标车辆行驶结束;基于仿真需求确定各个目标车辆对应的参考行驶数据,基于各个目标车辆在仿真行驶过程中产生的仿真行驶数据和对应的参考行驶数据之间的差异生成行驶损失;基于行驶损失调整各个目标车辆对应的初始行驶路径,直至行驶损失满足收敛条件,得到各个目标车辆对应的目标行驶路径;基于各个目标车辆对应的目标行驶路径和出发时间得到各个目标车辆在当前时间段的目标行驶数据。
在一个实施例中,中观交通仿真模块还用于获取各个目标出行组合分别对应的历史路径车流量分布概率;基于同一目标出行组合对应的历史路径车流量分布概率,对对应的各个候选行驶路径进行车流量分配,得到各个候选行驶路径分别对应的分配车流量;基于各个候选行驶路径和对应的分配车流量得到各个目标车辆对应的初始行驶路径。
在一个实施例中,中观交通仿真模块还用于根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度;基于交通流模型和车辆密度确定当前车辆在对应路段上的参考行驶速度;基于仿真路网中各个路段的实时道路状态和当前车辆的参考行驶速度,对当前车辆的当前位置和当前行驶状态进行更新,返回根据仿真路网中各个行驶车辆的当前位置和当前行驶状态,统计当前车辆前方预设范围内的车辆密度的步骤,直至各个目标车辆行驶结束。
在一个实施例中,当仿真需求为交通还原时,中观交通仿真模块还用于从真实路网中获取各个初始行驶路径在当前时间段对应的实际车流量,获取各个初始行驶路径在当前时间段对应的实际行驶速度,从仿真路网中获取各个初始行驶路径对应的仿真车流量;基于各个目标车辆的到达时间和出发时间确定各个目标车辆对应的仿真行驶耗时,基于各个目标车辆对应的仿真行驶耗时和初始行驶路径计算各个初始行驶路径对应的仿真行驶速度;基于各个初始行驶路径对应的实际行驶速度和仿真行驶速度之间的速度差异、各个初始行驶路径对应的实际车流量和仿真车流量之间的车流量差异计算行驶损失。
在一个实施例中,当仿真需求为车辆均衡时,中观交通仿真模块还用于基于起始中观仿真路况数据预测各个目标车辆对应的目标行驶耗时;基于各个目标车辆的到达时间和出发时间确定各个目标车辆对应的仿真行驶耗时;基于各个目标车辆对应的目标行驶耗时和仿真行驶耗时之间的时间差异计算行驶损失。
在一个实施例中,当仿真需求为系统最优时,中观交通仿真模块还用于基于各个目标车辆在相邻仿真行驶过程中产生的仿真行驶数据,计算仿真路网中各个路段在相邻仿真行驶过程之间对应的相邻行驶速度;基于仿真路网中各个路段在相邻仿真行驶过程之间对应的相邻行驶速度,计算行驶速度变化方向和行驶速度变化比例;基于行驶速度变化方向和行驶速度变化比例生成行驶损失。
在一个实施例中,目标行驶数据包括目标行驶路径和出发时间。微观交通仿真模块还用于根据各个目标车辆对应的出发时间和目标行驶路径,将各个目标车辆加入仿真路网中行驶,得到仿真路网中行驶车辆在当前时间段的实时微观仿真行驶数据;从当前时间段的实时微观仿真路况数据中确定当前时间段对应的下一时间段的起始微观仿真路况数据;将起始微观仿真路况数据转换为下一时间段对应的起始中观仿真路况数据。
在一个实施例中,如图11所示,所述装置还包括:
导航辅助模块1008,用于基于当前时间段的仿真交通路况生成导航辅助数据;将导航辅助数据发送至导航服务器,以使导航服务器根据导航辅助数据进行导航路径规划。
关于交通仿真装置的具体限定可以参见上文中对于交通仿真方法的限定,在此不再赘述。上述交通仿真装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储车辆轨迹数据、车辆流量数据、交通流模型、中/微观仿真路况数据、导航辅助数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交通仿真方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种交通仿真方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12、13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。