CN115995147B - 一种实现高精度路径规划算法的仿真引擎系统 - Google Patents
一种实现高精度路径规划算法的仿真引擎系统 Download PDFInfo
- Publication number
- CN115995147B CN115995147B CN202211435997.4A CN202211435997A CN115995147B CN 115995147 B CN115995147 B CN 115995147B CN 202211435997 A CN202211435997 A CN 202211435997A CN 115995147 B CN115995147 B CN 115995147B
- Authority
- CN
- China
- Prior art keywords
- simulation
- road
- road network
- vehicle
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 354
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 52
- 238000012800 visualization Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 239000002243 precursor Substances 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 9
- 230000001419 dependent effect Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 4
- 230000006978 adaptation Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及道路交通微观仿真技术领域,涉及一种实现高精度路径规划算法的仿真引擎系统,其包括:仿真初始化模块,负责路网绘制、路网转换、仿真参数生成,提供仿真引擎需要的路网文件与仿真参数文件;仿真引擎模块,提供仿真接口,能够通过路网文件与仿真参数文件,来进行完整时间段的交通仿真,并输出仿真结果;仿真可视化与分析模块,对仿真引擎输出的仿真结果,进行3D化的仿真可视化与仿真结果分析。本发明能较佳地进行微观交通仿真。
Description
技术领域
本发明涉及道路交通微观仿真技术领域,具体地说,涉及一种实现高精度路径规划算法的仿真引擎系统。
背景技术
智能交通技术在向微观化、小范围的发展趋势,微观交通仿真引擎需要能够提供相较于现有交通仿真系统更加真实、准确的仿真功能,同时微观交通仿真引擎需要能够在任意的软件系统中被使用,用以提供仿真功能。为了确保微观交通仿真引擎的功能可用性与发展性、实用性等,其架构的设计需要满足以下原则:
(1)交通引擎系统要提供规范的软件交互接口,并且具有易于使用、易于拓展的特点。能够支持在不同软件系统中运行,并且能进行数据的通信与共享,能够根据调用系统的需要进行适配。仿真引擎的功能设计不能只考虑现有的需求,必须在软件结构,交互接口,数据格式等方面预留扩展空间,从而应对将来可能的拓展与升级。
(2)交通仿真引擎应该能够进行高真实度的微观交通仿真,能够在保证仿真效率与性能开销的情况下,提供具有比现有交通仿真系统更好的仿真真实度、仿真准确度的微观交通仿真功能。具体来说,交通仿真引擎应当对现有的仿真架构、仿真模型、仿真算法等进行优化与特化,使引擎在设计场景下能够发挥出最好的性能与真实度的效果。
(3)交通仿真引擎应该能够让其他的智能交通系统与软件简单地使用不同层级的仿真功能,包括启动仿真任务、实时地对仿真进行控制、调用仿真模型算法等。仿真引擎要有仿真初始化组件,包括路网绘制工具、路网转换工具等,能够快速有效地生成引擎使用的交通路网与仿真配置;交通仿真引擎应当能够实现城市级别的微观仿真任务,并能够确保仿真加速比在可接受范围之内;应该能够与调用软件系统进行单仿真步的数据交互,并能够从调用软件系统接收对车辆或交通设施的单步控制信号。
但是,目前的交通引擎系统存在以下缺陷:
(1)仿真引擎轻量化不高,无法便捷地被其他软件系统调用,使用其仿真功能;
(2)共用仿真接口,不同层级的微观交通仿真功能无法分开,使得调用软件无法根据需求灵活使用;
(3)车辆路径规划算法、车辆再路由结构等微观仿真模型优化程度低,仿真引擎的仿真真实度低。
发明内容
本发明的内容是提供一种实现高精度路径规划算法的仿真引擎系统,其能够克服现有技术的某种或某些缺陷。
根据本发明的一种实现高精度路径规划算法的仿真引擎系统,其包括:
仿真初始化模块,负责路网绘制、路网转换、仿真参数生成,提供仿真引擎需要的路网文件与仿真参数文件;
仿真引擎模块,提供仿真接口,能够通过路网文件与仿真参数文件,来进行完整时间段的交通仿真,并输出仿真结果;
仿真可视化与分析模块,对仿真引擎输出的仿真结果,进行3D化的仿真可视化与仿真结果分析。
作为优选,仿真初始化模块包括:
路网绘制工具,用于绘制路网,生成路网文件,或者修改已有的路网文件;
路网转换工具,用于将开源地图文件转换为仿真引擎所需要的地图文件格式;
初始化参数生成工具,为仿真路网文件生成对应的初始化参数文件。
作为优选,仿真引擎模块包括:
仿真路网,包括道路Link类、车道Lane类和路口Cross类;
仿真模型,包括车辆跟驰模型、车辆换道模型、车辆路径规划模型;
仿真运算,用于处理车辆生成、车辆状态更新、信号灯控制;
仿真引擎接口,包括仿真任务接口、仿真控制接口和仿真模型接口。
作为优选,仿真任务接口包括仿真任务ID、地图文件路径、仿真初始化参数文件路径三个基本仿真启动参数和其他仿真任务控制参数,Sim_Type参数决定仿真任务的基本模式,为0时仿真任务为单任务仿真,即不接受实时控制指令,根据Sim_Step所预设的仿真步数直接完成规定步数的仿真,然后直接将数据存入仿真数据缓冲区,返回结果;若为1则本次仿真任务为接手仿真步控制接口实时控制的实时交通仿真,每次会进行Sim_Step所预设步数的仿真并将数据存入仿真数据缓冲队列,随后等待仿真步控制接口调用来决定是否继续仿真,以及是否需要修改仿真信息等。在仿真开始之前,根据Res_Type和Res_Path参数决定是否需要将仿真结果保存到文件中,如需要,则会在将数据存入仿真数据缓冲队列的同时写入文件。
作为优选,仿真控制接口用以控制已经发起的实时仿真任务,仿真控制接口是在实时仿真中,当调用端程序从仿真数据缓冲队列中读取了之前数步的仿真数据,并使用之后,通过仿真步控制接口来实时控制仿真;其中,Sim_ID用以确定仿真任务的id,Stop_Flag用来结束实时仿真,通过Veh_ID、Re_Route_Flag、New_Spd来控制指定车辆的再路由动作、速度变化以及换道行为、超车行为;也可实时调整指定交通信号灯的信号相位,或者强制变更信号灯;以及在指定道路上添加车辆。
作为优选,仿真模型接口提供仿真模型、仿真算法的直接调用,通过参数适配,使得其他软件系统可以不进行仿真任务,直接调用仿真算法,用以在其需要的场景下使用微观交通仿真的部分功能;仿真模型接口要对不同可能的仿真场景下,所需要的仿真模型功能进行设计,从而满足不同智能交通系统、智能交通软件的仿真模型与仿真算法需求。
作为优选,仿真引擎系统包括车辆生成算法、最短路径算法和车辆路径选择算法。
作为优选,车辆生成算法,车辆在从起点Lorigin进入路网时,需要初始化驾驶员经验依赖参数R、终点Ldest、最短路径P=<Lx,Ly,…,Lz>和路网道路预估时间数组L={L1,L2,…,Ln},其中R代表驾驶员对自身交通拥堵情况预估的相信程度,Ldest代表车辆的终点,P代表车辆的当前最短路径,L代表驾驶员对所有路网道路预估旅行时间;单车辆参数初始化过程如下:
1)首先随机产生一个R,R∈(0,Rmax),作为车辆经验依赖参数;
2)根据起点的OD矩阵分布,从OD矩阵终点的集合中随机选择一个终点作为Ldest;
3)以道路长度除以自身最大车速Vmax的一半得到旅行时间作为权重,计算从起点Lorigin到终点Ldest的最短路径P;
4)遍历所有道路旅行时间概率分布信息,通过对应道路的概率分布为路网道路预估时间数组L赋值;赋值方式为首先随机从概率分布中取值,如果取值低于道路长度除以预期平均车速Vmax的理论最短旅行时间,那么以理论最短旅行时间为准,否则以取值为准。
作为优选,最短路径算法中,在给定仿真路网权重、起点、终点的情况下,将道路路网的路口视作点,道路视作边,计算图上的最短路径;具体流程如下:
(a)首先,根据输入参数的仿真路网权重、起点、终点来初始化基本参数,包括:距离数组dist,dist[i]表示从起点s到路网中i点的权重最短距离,路网中相邻的点,其dist[]值初始化为道路权值;路网中不相邻的点则初始化为一个极大数;前驱数组path_pre,path_pre[i]表示当前dist最短路径条件下,从起点s到达i点的最短路径前驱;初始化中,路网中与起点s相邻的点的前驱设为s,不相邻的则设为-1;已访问顶点集vsited,表示已经访问过的顶点,初始只将起点s放入;
(b)在每一步中,首先遍历寻找所有未被加入已访问顶点集S的顶点,找到dist值最小的顶点u,将其加入vsited中,随后,遍历所有与u相邻顶点,对于一个u的相邻点w,u与w之间边的权值为temp_dist,如果dist[u]+temp_dist<dist[w],且w未被加入已访问顶点集vsited,那么将dist[w]更新为dist[u]+temp_dist,path_pre[w]更新为u;
(c)重复执行步骤(b),直到终点T加入Vsited;最后,根据Path_Pre的信息,反向构建从S-T的最短路径序列,计算预估旅行时间,构建车辆最短路径结构体并返回。
作为优选,车辆路径选择算法中,在仿真步St时,当道路Ln上的车辆Vm触发了再路由之后,其具体算法如下:
(A)首先从全局道路平均旅行时间集合T={T1,T2,…,Tn}中获取当前道路Ln所有车辆的平均旅行时间Tn、当前道路前方左转道路Ln-left所有车辆的平均旅行时间Tn-left、当前道路前方右转道路Ln-right所有车辆的平均旅行时间Tn-right、当前道路前方直线道路Ln-stright所有车辆的平均旅行时间Tn-stright;如果T中没有某一Tn的存储结果,那么遍历计算对应道路Ln上所有车辆的平均旅行时间,并将结果存入T中;
(B)车辆将自身路网道路预估时间数组L中对应Ln、Ln-left、Ln-right、Ln-stright项分别替换为Tn、Tn-left、Tn-right、Tn-stright,将其路网权重参数,计算从当前位置Ln到终点Ldest的实时最短路径PR;
(C)计算当前最短路径P的旅行时间Tp,与实时最短路径的旅行时间Tpr,如果Tp<Tpr,那么不改变当前路径;如果Tp>Tpr且Tpr/Tp>R,R为驾驶员经验依赖参数,那么不改变最短路径;如果Tp>Tpr且Tpr/Tp<R,那么将最短路径改为PR。
(1)设计了微观交通仿真引擎系统架构
设计了一种功能模块化的交通仿真引擎框架,通过将仿真功能抽象化为接口,实现仿真的高度功能模块化与高度可复用,通过对仿真模型进行优化,提高了仿真的真实度。通过将仿真功能以接口的形式拆分,使得仿真引擎更加轻量化,能够便捷地被其他软件系统调用,使用仿真功能;仿真接口分层拆分,将不同层级的微观交通仿真功能分开,使得调用软件能够根据需求来灵活使用。
(2)提出了基于经验启发的车辆路径规划算法
提出了一种基于经验启发的车辆路径规划算法,通过历史数据模拟驾驶员对道路拥堵情况的预测,将驾驶员对路径的选择权重抽象化为拥堵经验与实际路况的组合,依据驾驶员类型进行仿真路径规划。
(3)实现了一套微观交通仿真引擎系统
本发明实现了一套微观交通仿真引擎系统,实现了仿真初始化模块、基于经验启发的车辆路径规划算法在内的仿真引擎、仿真可视化模块与分析模块。本发明优化了如车辆路径规划算法、车辆再路由结构等微观仿真模型,使得仿真引擎的仿真真实度大大提高。
附图说明
图1为实施例中一种实现高精度路径规划算法的仿真引擎系统的结构框图;
图2为实施例中路网具体结构示意图。
具体实施方式
为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。
实施例
如图1所示,本实施例提供了一种实现高精度路径规划算法的仿真引擎系统,其包括:
仿真初始化模块,负责路网绘制、路网转换、仿真参数生成,提供仿真引擎需要的路网文件与仿真参数文件;
仿真引擎模块,提供仿真接口,能够通过路网文件与仿真参数文件,来进行完整时间段的交通仿真,并输出仿真结果;
仿真可视化与分析模块,对仿真引擎输出的仿真结果,进行3D化的仿真可视化与仿真结果分析。
仿真初始化模块包括:
路网绘制工具,用于绘制路网,生成路网文件,或者修改已有的路网文件;
路网转换工具,用于将开源地图文件转换为仿真引擎所需要的地图文件格式;
初始化参数生成工具,为仿真路网文件生成对应的初始化参数文件。
仿真引擎模块包括:
仿真路网,包括道路Link类、车道Lane类和路口Cross类;
仿真模型,包括车辆跟驰模型、车辆换道模型、车辆路径规划模型;
仿真运算,用于处理车辆生成、车辆状态更新、信号灯控制;(仿真运算的基本时间片称为仿真步,引擎中每个仿真步对应现实时间中的一秒。在路网初始化完成之后,引擎开始循环进行仿真步直到收到停止指令或达到预设步数。一步仿真步中,引擎主要要处理车辆生成、车辆状态更新、信号灯控制等任务。)
仿真引擎接口,包括仿真任务接口、仿真控制接口和仿真模型接口。(微观交通仿真引擎可以单独作为仿真系统来使用,即用户手动通过仿真初始化模块生成路网文件与初始化参数文件,再启动仿真引擎来进行仿真。微观交通仿真引擎也可以作为动态链接库来使用,为此引擎设计了多种仿真接口,供其他软件系统调用。)
Link类对应路网文件中的Link元素,用以表示仿真路网中的道路。仿真引擎的Link类结构中,Link_ID表示Link的唯一标识符,Start_Object与End_Object分别表示Link的起点与终点对象,可以是表示路口的Cross类或表示路网边缘的Margin类,Next_Left_Link、Next_Straight_Link、Next_Right_Link分别表示此Link接下来左转、直线、右转对应的Link,Lane_Number表示Link的车道数,Limited_Speed表示Link的限速。Add_Origin()为Link添加起点,Get_Link_Travel_Time()计算Link的实时平均旅行时间。
Lane类对应路网文件中的Lane元素,表示具体的车道,仿真引擎将Lane的线条分割为多个点,每个点被抽象为Cell类,车辆在Lane上移动时,实质上是在Cell之间移动。仿真引擎的Lane类结构中,Lane_ID表示Lane的唯一标识符,Cell_Number代表Lane的Cell数量,Lane_Cell_Array表示Lane的Cell数组,Turn_Directon表示Lane的转弯方向,Link_ID表示Lane所属的Link。Add_Origin()为Link添加起点,Get_Link_Travel_Time()计算Link的实时平均旅行时间。
Cross类对应路网文件中的Cross元素,表示路口。仿真引擎的Cross类结构中,Cross_ID示Cross的唯一标识符,Cross_Type表示路口的类型,如十字路口、T字路口、环形路口等,Cross_Point_Array表示路口的位置锚点,包括边缘点和相邻道路中心线交叉点等,Cross_Lane_Number表示路口中车道的数量,Cross_Lane_Array表示路口中车道数组,Missing_Direction表示T字路口缺少的方向,Radius表示路口的倾斜度,Controller表示路口的信号灯对象。
仿真任务接口包括仿真任务ID、地图文件路径、仿真初始化参数文件路径三个基本仿真启动参数和其他仿真任务控制参数,Sim_Type参数决定仿真任务的基本模式,为0时仿真任务为单任务仿真,即不接受实时控制指令,根据Sim_Step所预设的仿真步数直接完成规定步数的仿真,然后直接将数据存入仿真数据缓冲区,返回结果;若为1则本次仿真任务为接手仿真步控制接口实时控制的实时交通仿真,每次会进行Sim_Step所预设步数的仿真并将数据存入仿真数据缓冲队列,随后等待仿真步控制接口调用来决定是否继续仿真,以及是否需要修改仿真信息等。在仿真开始之前,根据Res_Type和Res_Path参数决定是否需要将仿真结果保存到文件中,如需要,则会在将数据存入仿真数据缓冲队列的同时写入文件。
仿真控制接口用以控制已经发起的实时仿真任务,仿真控制接口是在实时仿真中,当调用端程序从仿真数据缓冲队列中读取了之前数步的仿真数据,并使用之后,通过仿真步控制接口来实时控制仿真;其中,Sim_ID用以确定仿真任务的id,Stop_Flag用来结束实时仿真,通过Veh_ID、Re_Route_Flag、New_Spd来控制指定车辆的再路由动作、速度变化以及换道行为、超车行为;也可实时调整指定交通信号灯的信号相位,或者强制变更信号灯;以及在指定道路上添加车辆(如果不能添加则会向后顺延)。
仿真模型接口提供仿真模型、仿真算法的直接调用,通过参数适配,使得其他软件系统可以不进行仿真任务,直接调用仿真算法,用以在其需要的场景下使用微观交通仿真的部分功能;仿真模型接口要对不同可能的仿真场景下,所需要的仿真模型功能进行设计,从而满足不同智能交通系统、智能交通软件的仿真模型与仿真算法需求。常见的仿真模型需求包括仿真车辆速度控制、仿真车辆变道决策、仿真车辆路径规划等等。
本实施例所设计的微观交通仿真引擎所实现的仿真模型接口包括跟驰模型接口、换道模型接口、车辆寻路算法接口等,分别对应仿真车辆速度控制、仿真车辆变道决策、仿真车辆路径规划等仿真模型与仿真算法需求,能够有效地满足不同层次的微观交通仿真需求。
以跟驰模型举例,跟驰模型的作用是当车辆跟随前车行驶时,模拟驾驶员的加速、减速行为。接口提供不同的跟驰模型选择,通过通用化的参数,即前车与本车的基本信息、前车与本车的距离、道路的基本信息,来返回一个期望速度,表示1秒后本车的速度。
路网构建
在计算机中构建交通路网的仿真逻辑结构是对其进行仿真工作的前提条件。微观交通仿真引擎对于仿真精度有很高要求,路网文件必须能够准确从微观角度描述交通路网中。与此同时,微观交通仿真引擎需要考虑路网文件的转换问题,因此,交通路网的逻辑结构也需要考虑与其他开源地图格式的适配性。本文对路网的逻辑结构构建考虑如上两点,构建了基于拓扑结构的路网架构。
在本仿真引擎所构建路网中,以点-边的形式,将路网抽象划分为路口(Cross)与道路(Link),再将道路划分为车道(Lane),如图2所示。
在具体的道路与路口中,再具体地构建车道(Lane)、路口内车道(CrossLane)、红绿灯(Controller)等交通单元。Link被划分为多个Lane,Lane自身包括方向、类型等属性,对应现实中一条道路单方向的复数车道,在路口内部再构建CrossLane,使得车辆能够在路口内部移动。
仿真初始化
进行微观仿真除了路网信息之外还需要许多启动参数,这些参数因路网的不同而变化,在仿真引擎的应用场景中,如果所有参数都通过接口来传入引擎,会导致启动仿真过于复杂,因此,应当设计能够从路网文件直接生成仿真初始化参数的模块来完成这一任务。仿真初始化数据主要包括三个部分:
(1)交通流生成需求,flow表示入口交通流生成参数,roadID表示对应的道路,demand表示交通出行需求,policy表示选择的交通流生成模型。
(2)OD矩阵,对路网中的每一个起点,其到每一个终点的分布值,当生成一辆车时,根据OD矩阵来随机决定其终点。
(3)信号灯相位,CrossId为信号灯所在路口,cycleTime为一个相位周期的时间,剩余参数为4个方向的绿灯时间占比。
仿真引擎系统包括车辆生成算法、最短路径算法和车辆路径选择算法。
车辆生成算法,车辆在从起点Lorigin进入路网时,需要初始化驾驶员经验依赖参数R、终点Ldest、最短路径P=<Lx,Ly,…,Lz>和路网道路预估时间数组L={L1,L2,…,Ln},其中R代表驾驶员对自身交通拥堵情况预估的相信程度,Ldest代表车辆的终点,P代表车辆的当前最短路径,L代表驾驶员对所有路网道路预估旅行时间;单车辆参数初始化过程如下:
1)首先随机产生一个R,R∈(0,Rmax),作为车辆经验依赖参数;
2)根据起点的OD矩阵分布,从OD矩阵终点的集合中随机选择一个终点作为Ldest;
3)以道路长度除以自身最大车速Vmax的一半得到旅行时间作为权重,计算从起点Lorigin到终点Ldest的最短路径P;
4)遍历所有道路旅行时间概率分布信息,通过对应道路的概率分布为路网道路预估时间数组L赋值;赋值方式为首先随机从概率分布中取值,如果取值低于道路长度除以预期平均车速Vmax的理论最短旅行时间,那么以理论最短旅行时间为准,否则以取值为准。
最短路径算法中,在给定仿真路网权重、起点、终点的情况下,将道路路网的路口视作点,道路视作边,计算图上的最短路径;具体流程如下:
(a)首先,根据输入参数的仿真路网权重、起点、终点来初始化基本参数,包括:距离数组dist,dist[i]表示从起点s到路网中i点的权重最短距离,路网中相邻的点,其dist[]值初始化为道路权值;路网中不相邻的点则初始化为一个极大数;前驱数组path_pre,path_pre[i]表示当前dist最短路径条件下,从起点s到达i点的最短路径前驱;初始化中,路网中与起点s相邻的点的前驱设为s,不相邻的则设为-1;已访问顶点集vsited,表示已经访问过的顶点,初始只将起点s放入;
(b)在每一步中,首先遍历寻找所有未被加入已访问顶点集S的顶点,找到dist值最小的顶点u,将其加入vsited中,随后,遍历所有与u相邻顶点,对于一个u的相邻点w,u与w之间边的权值为temp_dist,如果dist[u]+temp_dist<dist[w],且w未被加入已访问顶点集vsited,那么将dist[w]更新为dist[u]+temp_dist,path_pre[w]更新为u;
(c)重复执行步骤(b),直到终点T加入Vsited;最后,根据Path_Pre的信息,反向构建从S-T的最短路径序列,计算预估旅行时间,构建车辆最短路径结构体并返回。
该算法主要时间消耗在最短路径节点访问上,对于一个有V个顶点、E条边的交通路网,其时间复杂度为O(V2)。
车辆路径选择算法中,在仿真步St时,当道路Ln上的车辆Vm触发了再路由之后,其具体算法如下:
(A)首先从全局道路平均旅行时间集合T={T1,T2,…,Tn}中获取当前道路Ln所有车辆的平均旅行时间Tn、当前道路前方左转道路Ln-left所有车辆的平均旅行时间Tn-left、当前道路前方右转道路Ln-right所有车辆的平均旅行时间Tn-right、当前道路前方直线道路Ln-stright所有车辆的平均旅行时间Tn-stright;如果T中没有某一Tn的存储结果,那么遍历计算对应道路Ln上所有车辆的平均旅行时间,并将结果存入T中;
(B)车辆将自身路网道路预估时间数组L中对应Ln、Ln-left、Ln-right、Ln-stright项分别替换为Tn、Tn-left、Tn-right、Tn-stright,将其路网权重参数,计算从当前位置Ln到终点Ldest的实时最短路径PR;
(C)计算当前最短路径P的旅行时间Tp,与实时最短路径的旅行时间Tpr,如果Tp<Tpr,那么不改变当前路径;如果Tp>Tpr且Tpr/Tp>R,R为驾驶员经验依赖参数,那么不改变最短路径;如果Tp>Tpr且Tpr/Tp<R,那么将最短路径改为PR。
对于一个有V个顶点、E条边,每条边上有N辆汽车的交通路网,车辆路径选择算法的查询时间复杂度为O(N),最短路径算法时间复杂度为O(V2)。
仿真可视化模块实现
1、仿真可视化再现(仿真可视化再现部分通过虚幻4引擎,对仿真引擎所输出的仿真结果进行可视化,包括3D路网的自动生成和仿真车辆数据的可视化。)
2、仿真分析模块(仿真分析模块对仿真结果进行分析,通过解析仿真结果,对仿真区域交通流的性质进行分析,包括:车辆平均速度:仿真全程中所有车辆的平均速度、单条道路的所有车辆的平均速度、从路网边缘点A到路网边缘点B的有车辆的平均速度等。车辆平均速度能够反应交通拥堵的情况,用以分析仿真路网的交通流特性;路口交通流量:仿真全程中路口各个方向的交通流量、给定时间段中路口各个方向的交通流量等。路口交通流量能够反应交通流的分布特性,可以用来分析仿真路网的交通流趋向;车辆停车次数:仿真全程中所有车辆的总停车次数、给定时间段所有车辆的总停车次数等。车辆停车次数也能够反应交通拥堵的情况。仿真分析模块对仿真中的各种信息与数据进行统计分析,能够对多种情景进行可视化展示,使得用户能够直观地了解到交通流的特性和趋向,并依据需要来调整引擎的参数设定。)
微观交通仿真引擎功能测试
对路径规划算法的测试就是基于本微观交通仿真引擎来进行,本节将测试微观交通仿真引擎的主要功能,测试主要分为如下几个步骤:
1)首先对对应区域的路网进行绘制,生成路网文件和仿真初始化文件;
2)对1)中生成的网文件和仿真初始化文件,使用仿真引擎来测试仿真功能,生成仿真结果;
3)对2)中生成的仿真结果,测试可视化分析部分功能;
4)通过在线仿真实验平台,对仿真引擎的仿真接口进行测试。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (1)
1.一种实现高精度路径规划算法的仿真引擎系统,其特征在于:包括:
仿真初始化模块,负责路网绘制、路网转换、仿真参数生成,提供仿真引擎需要的路网文件与仿真参数文件;
仿真引擎模块,提供仿真接口,能够通过路网文件与仿真参数文件,来进行完整时间段的交通仿真,并输出仿真结果;
仿真可视化与分析模块,对仿真引擎输出的仿真结果,进行3D化的仿真可视化与仿真结果分析;
仿真初始化模块包括:
路网绘制工具,用于绘制路网,生成路网文件,或者修改已有的路网文件;
路网转换工具,用于将开源地图文件转换为仿真引擎所需要的地图文件格式;
初始化参数生成工具,为仿真路网文件生成对应的初始化参数文件;
仿真引擎模块包括:
仿真路网,包括道路Link类、车道Lane类和路口Cross类;
仿真模型,包括车辆跟驰模型、车辆换道模型、车辆路径规划模型;
仿真运算,用于处理车辆生成、车辆状态更新、信号灯控制;
仿真引擎接口,包括仿真任务接口、仿真控制接口和仿真模型接口;
仿真任务接口包括仿真任务ID、地图文件路径、仿真初始化参数文件路径三个基本仿真启动参数和其他仿真任务控制参数,Sim_Type参数决定仿真任务的基本模式,为0时仿真任务为单任务仿真,即不接受实时控制指令,根据Sim_Step所预设的仿真步数直接完成规定步数的仿真,然后直接将数据存入仿真数据缓冲区,返回结果;若为1则本次仿真任务为接手仿真步控制接口实时控制的实时交通仿真,每次会进行Sim_Step所预设步数的仿真并将数据存入仿真数据缓冲队列,随后等待仿真步控制接口调用来决定是否继续仿真,以及是否需要修改仿真信息;在仿真开始之前,根据Res_Type和Res_Path参数决定是否需要将仿真结果保存到文件中,如需要,则会在将数据存入仿真数据缓冲队列的同时写入文件;
仿真控制接口用以控制已经发起的实时仿真任务,仿真控制接口是在实时仿真中,当调用端程序从仿真数据缓冲队列中读取了之前数步的仿真数据,并使用之后,通过仿真步控制接口来实时控制仿真;其中,Sim_ID用以确定仿真任务的id,Stop_Flag用来结束实时仿真,通过Veh_ID、Re_Route_Flag、New_Spd来控制指定车辆的再路由动作、速度变化以及换道行为、超车行为;也可实时调整指定交通信号灯的信号相位,或者强制变更信号灯;以及在指定道路上添加车辆;
仿真模型接口提供仿真模型、仿真算法的直接调用,通过参数适配,使得其他软件系统可以不进行仿真任务,直接调用仿真算法,用以在其需要的场景下使用微观交通仿真的部分功能;仿真模型接口要对不同可能的仿真场景下,所需要的仿真模型功能进行设计,从而满足不同智能交通系统、智能交通软件的仿真模型与仿真算法需求;
仿真引擎系统包括车辆生成算法、最短路径算法和车辆路径选择算法;
车辆生成算法,车辆在从起点Lorigin进入路网时,需要初始化驾驶员经验依赖参数R、终点Ldest、最短路径P=<Lx,Ly,…,Lz>和路网道路预估时间数组L={L1,L2,…,Ln},其中R代表驾驶员对自身交通拥堵情况预估的相信程度,Ldest代表车辆的终点,P代表车辆的当前最短路径,L代表驾驶员对所有路网道路预估旅行时间;单车辆参数初始化过程如下:
1)首先随机产生一个R,R∈(0,Rmax),作为车辆经验依赖参数;
2)根据起点的OD矩阵分布,从OD矩阵终点的集合中随机选择一个终点作为Ldest;
3)以道路长度除以自身最大车速Vmax的一半得到旅行时间作为权重,计算从起点Lorigin到终点Ldest的最短路径P;
4)遍历所有道路旅行时间概率分布信息,通过对应道路的概率分布为路网道路预估时间数组L赋值;赋值方式为首先随机从概率分布中取值,如果取值低于道路长度除以预期平均车速Vmax的理论最短旅行时间,那么以理论最短旅行时间为准,否则以取值为准;
最短路径算法中,在给定仿真路网权重、起点、终点的情况下,将道路路网的路口视作点,道路视作边,计算图上的最短路径;具体流程如下:
(a)首先,根据输入参数的仿真路网权重、起点、终点来初始化基本参数,包括:距离数组dist,dist[i]表示从起点s到路网中i点的权重最短距离,路网中相邻的点,其dist[]值初始化为道路权值;路网中不相邻的点则初始化为一个极大数;前驱数组path_pre,path_pre[i]表示当前dist最短路径条件下,从起点s到达i点的最短路径前驱;初始化中,路网中与起点s相邻的点的前驱设为s,不相邻的则设为-1;已访问顶点集vsited,表示已经访问过的顶点,初始只将起点s放入;
(b)在每一步中,首先遍历寻找所有未被加入已访问顶点集S的顶点,找到dist值最小的顶点u,将其加入vsited中,随后,遍历所有与u相邻顶点,对于一个u的相邻点w,u与w之间边的权值为temp_dist,如果dist[u]+temp_dist<dist[w],且w未被加入已访问顶点集vsited,那么将dist[w]更新为dist[u]+temp_dist,path_pre[w]更新为u;
(c)重复执行步骤(b),直到终点T加入Vsited;最后,根据Path_Pre的信息,反向构建从S-T的最短路径序列,计算预估旅行时间,构建车辆最短路径结构体并返回;
车辆路径选择算法中,在仿真步St时,当道路Ln上的车辆Vm触发了再路由之后,其具体算法如下:
(A)首先从全局道路平均旅行时间集合T={T1,T2,…,Tn}中获取当前道路Ln所有车辆的平均旅行时间Tn、当前道路前方左转道路Ln-left所有车辆的平均旅行时间Tn-left、当前道路前方右转道路Ln-right所有车辆的平均旅行时间Tn-right、当前道路前方直线道路Ln-stright所有车辆的平均旅行时间Tn-stright;如果T中没有某一Tn的存储结果,那么遍历计算对应道路Ln上所有车辆的平均旅行时间,并将结果存入T中;
(B)车辆将自身路网道路预估时间数组L中对应Ln、Ln-left、Ln-right、Ln-stright项分别替换为Tn、Tn-left、Tn-right、Tn-stright,将其路网权重参数,计算从当前位置Ln到终点Ldest的实时最短路径PR;
(C)计算当前最短路径P的旅行时间Tp,与实时最短路径的旅行时间Tpr,如果Tp<Tpr,那么不改变当前路径;如果Tp>Tpr且Tpr/Tp>R,R为驾驶员经验依赖参数,那么不改变最短路径;如果Tp>Tpr且Tpr/Tp<R,那么将最短路径改为PR。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435997.4A CN115995147B (zh) | 2022-11-16 | 2022-11-16 | 一种实现高精度路径规划算法的仿真引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211435997.4A CN115995147B (zh) | 2022-11-16 | 2022-11-16 | 一种实现高精度路径规划算法的仿真引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115995147A CN115995147A (zh) | 2023-04-21 |
CN115995147B true CN115995147B (zh) | 2023-10-20 |
Family
ID=85991316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211435997.4A Active CN115995147B (zh) | 2022-11-16 | 2022-11-16 | 一种实现高精度路径规划算法的仿真引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115995147B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561836A (zh) * | 2009-01-05 | 2009-10-21 | 天津大学 | 基于元胞机的城市微观交通流仿真系统 |
CN110164128A (zh) * | 2019-04-23 | 2019-08-23 | 银江股份有限公司 | 一种城市级智能交通仿真系统 |
CN110570660A (zh) * | 2019-11-06 | 2019-12-13 | 深圳市城市交通规划设计研究中心有限公司 | 一种实时在线交通仿真系统及方法 |
WO2022116225A1 (zh) * | 2020-12-02 | 2022-06-09 | 中国科学院深圳先进技术研究院 | 多车任务分配与路径优化仿真平台及其实现方法 |
CN115116231A (zh) * | 2022-08-26 | 2022-09-27 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种车路协同微观仿真系统、方法、电子设备及存储介质 |
CN115344503A (zh) * | 2022-10-18 | 2022-11-15 | 深圳市城市交通规划设计研究中心股份有限公司 | 面向自动驾驶规划控制测试的交通流仿真系统与仿真方法 |
-
2022
- 2022-11-16 CN CN202211435997.4A patent/CN115995147B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561836A (zh) * | 2009-01-05 | 2009-10-21 | 天津大学 | 基于元胞机的城市微观交通流仿真系统 |
CN110164128A (zh) * | 2019-04-23 | 2019-08-23 | 银江股份有限公司 | 一种城市级智能交通仿真系统 |
CN110570660A (zh) * | 2019-11-06 | 2019-12-13 | 深圳市城市交通规划设计研究中心有限公司 | 一种实时在线交通仿真系统及方法 |
WO2022116225A1 (zh) * | 2020-12-02 | 2022-06-09 | 中国科学院深圳先进技术研究院 | 多车任务分配与路径优化仿真平台及其实现方法 |
CN115116231A (zh) * | 2022-08-26 | 2022-09-27 | 深圳市城市交通规划设计研究中心股份有限公司 | 一种车路协同微观仿真系统、方法、电子设备及存储介质 |
CN115344503A (zh) * | 2022-10-18 | 2022-11-15 | 深圳市城市交通规划设计研究中心股份有限公司 | 面向自动驾驶规划控制测试的交通流仿真系统与仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115995147A (zh) | 2023-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976355A (zh) | 轨迹规划方法、系统、设备及存储介质 | |
US9459111B2 (en) | Methods and apparatus for estimating power usage | |
JP2022530959A (ja) | 分散集中型自動運転システム | |
CN111027160B (zh) | 一种基于数据转换的sumo交通仿真场景精准构建方法 | |
KR20220128051A (ko) | 도시부 도로의 도로망 셀 단위 교통량 변화 시뮬레이션 방법 및 컴퓨터 프로그램 | |
US11354458B1 (en) | Automated vehicle safety simulation using safety quotient method | |
CN115344503A (zh) | 面向自动驾驶规划控制测试的交通流仿真系统与仿真方法 | |
Zhang et al. | CAVSim: A microscope traffic simulator for connected and automated vehicles environment | |
CN115995147B (zh) | 一种实现高精度路径规划算法的仿真引擎系统 | |
CN115204455A (zh) | 适用于高速与环路交通场景的长时域驾驶行为决策方法 | |
Harri et al. | VanetMobiSim-vehicular ad hoc network mobility extension to the CanuMobiSim framework | |
Artunedo et al. | Advanced co-simulation framework for cooperative maneuvers among vehicles | |
Gomes et al. | Driver-centric VANET simulation | |
Lansdowne | Traffic simulation using agent-based modelling | |
Chada et al. | A driver-in-the-loop co-simulation framework for testing predictive EDAS for commercial vehicles in urban environments | |
Xie et al. | Generating traffic data for any city using smarts simulator | |
Massow et al. | Scenario definition for prototyping cooperative advanced driver assistance systems | |
CN114676541B (zh) | 一种交通仿真的方法、相关装置、设备以及存储介质 | |
CN114715184A (zh) | 基于车云协同的智能网联汽车分层决策与控制方法及装置 | |
CN115578857A (zh) | 基于跟驰模型与路权的三维场景车辆仿真方法及系统 | |
Vokřínek et al. | A cooperative driver model for traffic simulations | |
Nagavarapu et al. | Development of a simulation platform to implement vehicle routing algorithms for large scale fleet management systems | |
Hanzl et al. | Simulation of Autonomous Mobility of Connected Vehicles in the Context of Real Conditions–a Case Study | |
CN113435026A (zh) | 一种交通管控系统 | |
JP2826083B2 (ja) | 交通流シミュレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240104 Address after: No. 902, 9th Floor, Unit 1, Building 1, Phase III, HeNeng SiSiSiKang City, No. 928 Yidu Middle Road, Longquan Street, Longquanyi District, Chengdu City, Sichuan Province, 610100 Patentee after: Sichuan Hechuang Hengcai Technology Co.,Ltd. Address before: 610000 No. 2006 West Yuan Road, Chengdu high tech Zone (West District), Sichuan Patentee before: University of Electronic Science and Technology of China |
|
TR01 | Transfer of patent right |