一种多智能体交通仿真数据存储与更新方法

文档序号:26635711发布日期:2021-09-14 23:34阅读:141来源:国知局
一种多智能体交通仿真数据存储与更新方法

1.本发明涉及智能交通仿真技术领域,具体而言涉及一种多智能体交通仿真数据存储与更新方法和装置、电子设备和计算机可读存储介质。


背景技术:

2.随着经济的快速发展,人均汽车保有量爆炸式增长,城市交通拥堵问题越来越显著。由于城市交通存在着交通组成复杂、交通个体众多的特性,使得很难通过传统的集计式方法完成对于城市交通系统的建模。随着数据科学的发展和微型计算机的普及,使得交通仿真逐渐成为分析交通系统特性的一个重要工具。通过非集计的模拟交通个体的微观运行过程,集计成为城市的宏观交通指标,不仅可以有效的模拟给定环境下预期的交通运行状态提前找到交通堵点,还可以用于通过直观的仿真数据对比进行规划方案筛选。交通仿真使得交通方案能够以低成本高效率的形式被量化评估其方案效果。
3.微观交通仿真,由于是以非集计的形式进行模拟,其仿真的是每个车辆个体的运行状态,集计成为整个交通流的运行状态;然而由于每个车辆个体存在着差异性,其运行状态决策不能简单地使用传统数学模型进行判断,因此多智能体环境下的交通仿真建模因运而生。通过赋予了每个车辆智能体决策能力,使得每个车辆智能体在传统数学模型的基础上具备自身的决策特点,从而实现差异性仿真。
4.在引入了车辆智能体后,微观交通仿真就面临了由于仿真范围扩大而导致的单个仿真步运算内容过多,仿真系统开销大的问题。因此,如何从算法和数据结构的层面设计微观交通仿真的存储更新结构显得尤为重要。
5.现有的交通仿真软件,包括paramics、vissim均采用单车道链表的方式存储车辆,此类方法为每条车道上的车辆序列都建立了索引,容易创建和维护,且在仿真规模小、道路车辆少的交通环境下有着良好表现,但是随着仿真规模的增大,这类方法就会由于相邻车道信息获取的算法复杂度过高而失去效率优势。专利号为201910699018.8的发明专利中公开了一种邻车查询方法,主要是通过多指针链表的方式,避免了查询相邻车道信息需要遍历整个车道链表的问题。总体来说,现有研究均缺乏对于仿真空间存储和更新数据结构设计的必要性,仅仅针对于路段上的单车道进行数据结构设计,忽略了路段车道间互相干扰的因素和车辆自主决策特性,当面临车辆发生换道情况时会产生较大的时间复杂度。同样的,专利号为cn112436960a的发明专利中公开了一种车辆行驶的控制方法、终端以及计算机可读存储介质,旨在解决现有技术中仿真的车辆移动模型准确度不高,从而导致车辆碰撞预警准确度不高的技术问题;虽然该发明涉及了目标车辆的行驶数据,其中,行驶数据包括车辆所在位置的道路信息以及车辆信息中的至少一种,但是构建的车辆移动仿真模型是基于微观道路仿真器生成的仿真车辆信息和仿真道路信息中的至少一种参数进行修正训练生成的,第一,并没有涉及到车辆自身的跟驰换道能力,第二,在车辆的仿真过程中,一旦车辆状态发生更新,仍然需要反复读取数据,运行效率不高。由此可见,为了应对大规模交通环境微观仿真的需求,针对整体仿真空间进行高效存储和更新的数据结构设计刻不容
缓。


技术实现要素:

6.本发明针对现有技术中的不足,提供一种多智能体交通仿真数据存储与更新方法和装置,面向多智能体的仿真环境,在赋予仿真车辆自主决策能力的同时创新考虑图数据结构与微观仿真空间的相似性,采用全新的交通仿真空间数据结构,将节点和边定义为仿真车辆智能体及车辆交互关系。在多车道场景更新相邻车道前后车关系中,通过边索引的方式避免了对于全域所有车辆遍历;将所有仿真空间存储为一个图数据结构,避免了状态更新的过程中反复读取的过程,从而从数据结构的角度加速微观仿真状态存储和更新,提高微观仿真的运行效率。
7.为实现上述目的,本发明采用以下技术方案:
8.第一方面,本发明实施例提出了一种多智能体交通仿真数据存储与更新方法,所述方法包括:
9.s1,获取微观仿真道路上的所有车辆的属性信息,车辆属性信息包括车辆编号、车辆性能信息和车辆行驶信息;
10.s2,针对所有车辆建立对应的车辆智能体,每个车辆智能体均具有对应的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力;
11.s3,构建仿真空间图,每个车辆智能体对应仿真空间图中的一个节点,完成仿真空间图的节点定义;
12.s4,基于车辆智能微观跟驰换道关系,确定节点之间的连接对应关系,完成仿真空间图的边定义;
13.s5,结合每个车辆智能体的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力,采用深度优先算法对仿真空间图上每个节点对应的车辆智能体进行状态更新,再基于状态更新后的车辆智能体位置更新仿真空间图上每个节点连接边对应的节点,实现仿真空间图的数据更新,直至仿真时间结束。
14.可选地,步骤s1中,所述车辆编号是指车辆智能体进入仿真路段的先后序号;
15.所述车辆性能信息包括车辆车长、最大加速度和最大减速度;
16.所述车辆行驶信息包括车辆位置、车辆当前速度和车辆当前加速度;其中,车辆位置是指车辆智能体沿仿真路段行驶方向上的相对起点位置和所处的车道编号。
17.可选地,步骤s2中,所述车辆跟驰决策能力是指,基于所连接节点反馈的周边车辆智能体微观跟驰信息进行整合,获取跟驰决策所需要的当前车道邻车信息用于决策;通过idm跟驰模型完成自身的微观跟驰信息更新。
18.可选地,步骤s2中,所述车辆换道决策能力是指,基于所连接节点反馈的周边车辆智能体微观跟驰信息进行整合,获取跟驰决策所需要的相邻车道邻车信息用于决策;通过效用选择模型进行自身的微观换道决策决定是否进行车道变更。
19.可选地,步骤s4中,基于车辆智能微观跟驰换道关系,确定节点之间的连接对应关系,完成仿真空间图的边定义的过程包括:
20.将其中任意一个节点代表的车辆智能体视为决策智能体,获取其所对应的当前车道前车信息、当前车道后车信息、左侧车道前车信息、左侧车道后车信息、右侧车道前车信
息和右侧车道后车信息;
21.其中,当前车道前车信息表示与决策智能体处于同一车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;当前车道后车信息表示与决策智能体处于同一车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息;左侧车道前车信息表示位于决策智能体左侧车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;左侧车道后车信息表示位于决策智能体左侧车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息;右侧车道前车信息表示位于决策智能体右侧车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;右侧车道后车信息表示位于决策智能体右侧车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息。
22.可选地,步骤s5中,所述采用深度优先算法对仿真空间图上每个节点对应的车辆智能体进行状态更新的过程包括:
23.利用从车辆智能体连接节点的车辆智能体微观跟驰信息确定车辆智能体行驶状态;通过idm跟驰模型计算车辆智能体期望行驶状态;通过效用选择换道模型计算车辆智能体换道需求;基于换道需求及期望行驶状态进行车辆智能体状态更新。
24.可选地,步骤s5中,所述基于状态更新后的车辆智能体位置更新仿真空间图上每个节点连接边对应的节点,实现仿真空间图的数据更新的过程包括:
25.将当前节点的车辆智能体和当前节点所连接节点的车辆智能体的车辆位置相对大小进行对比,确定是否需要变更连接的节点;
26.针对需要变更的节点,读取其所连接的节点确定需要连接的新节点;
27.针对新节点和当前节点之间建立边,实现更新图上每个节点连接边对应的节点。
28.第二方面,本发明实施例提出了一种多智能体交通仿真数据存储与更新装置,所述装置包括:
29.车辆属性信息获取模块,用于获取微观仿真道路上的所有车辆的属性信息,车辆属性信息包括车辆编号、车辆性能信息和车辆行驶信息;
30.车辆智能体创建模块,用于针对所有车辆建立对应的车辆智能体,每个车辆智能体均具有对应的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力;
31.节点定义模块,用于构建仿真空间图,每个车辆智能体对应仿真空间图中的一个节点,完成仿真空间图的节点定义;
32.边定义模块,用于基于车辆智能微观跟驰换道关系,确定节点之间的连接对应关系,完成仿真空间图的边定义;
33.仿真空间图更新模块,用于结合每个车辆智能体的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力,采用深度优先算法对仿真空间图上每个节点对应的车辆智能体进行状态更新,再基于状态更新后的车辆智能体位置更新仿真空间图上每个节点连接边对应的节点,实现仿真空间图的数据更新,直至仿真时间结束。
34.第三方面,本发明实施例提出了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如前所述的多智能体交通仿真数据存储与更新方法。
35.第四方面,本发明实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述的多智能体交通仿真数据存储与更新方法。
36.本发明的有益效果是:
37.本发明提出的一种多智能体交通仿真数据存储与更新方法,面向多智能体的仿真环境,在赋予仿真车辆自主决策能力的同时创新考虑图数据结构与微观仿真空间的相似性,采用全新的交通仿真空间数据结构,将节点和边定义为仿真车辆智能体及车辆交互关系。在多车道场景更新相邻车道前后车关系中,通过边索引的方式避免了对于全域所有车辆遍历;将所有仿真空间存储为一个图数据结构,避免了状态更新的过程中反复读取的过程,从而从数据结构的角度加速微观仿真状态存储和更新,提高微观仿真的运行效率。
附图说明
38.图1是本发明实施例的多智能体交通仿真数据存储与更新方法流程图。
39.图2是示例中车辆2在换道前的车辆状态示意图。
40.图3是示例中车辆2在换道前的仿真空间存储示意图。
41.图4是示例中车辆2在换道后的车辆状态示意图。
42.图5是示例中车辆2在换道后的仿真空间存储示意图。
具体实施方式
43.现在结合附图对本发明作进一步详细的说明。
44.需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
45.实施例一
46.图1是本发明实施例的多智能体交通仿真数据存储与更新方法流程示意图。本实施例可事用于通过服务器等设备实现多智能体交通仿真数据存储与更新的情况,该方法可以由多智能体交通仿真数据存储与更新装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在电子设备中,例如集成服务器设备中。
47.参见图1,该存储与更新方法包括:
48.s1,获取微观仿真道路上的所有车辆的属性信息,车辆属性信息包括车辆编号、车辆性能信息和车辆行驶信息。
49.步骤s1中,车辆编号是指车辆智能体进入仿真路段的先后序号。车辆性能信息包括车辆车长、最大加速度和最大减速度等。车辆行驶信息包括车辆位置、车辆当前速度和车辆当前加速度等;其中,车辆位置是指车辆智能体沿仿真路段行驶方向上的相对起点位置和所处的车道编号。本实施例将车道编号引入车辆智能体的属性设定,这是由于多车道更为贴合实际道路场景。
50.以图2中为例,图2中包含一条单向三车道路段,路段上目前存在编号为0~8的九辆车,这九辆车的编号按照从小到大的顺序就是其进入该路段的先后顺序。行车方向为沿车道向右侧行驶,为了便于描述,将该行车方向定义成纵向,并且以路段最左侧为起点,使车辆位置均为正值。
51.s2,针对所有车辆建立对应的车辆智能体,每个车辆智能体均具有对应的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力。
52.步骤s2中,车辆跟驰决策能力是指,基于所连接节点反馈的周边车辆智能体微观跟驰信息进行整合,获取跟驰决策所需要的当前车道邻车信息用于决策;通过idm(intelligent driver model)跟驰模型完成自身的微观跟驰信息更新。车辆换道决策能力是指,基于所连接节点反馈的周边车辆智能体微观跟驰信息进行整合,获取跟驰决策所需要的相邻车道邻车信息用于决策;通过效用选择模型进行自身的微观换道决策决定是否进行车道变更。
53.应当理解,这只是其中一种车辆跟驰决策能力和车辆换道决策能力,对于本实施例的数据存储与更新方法来说,也可以采用其他类型的车辆跟驰或换道决策,目的只是在于实时判断路段中车辆智能体的行驶状态,再根据行驶状态快速实现整个仿真空间图的数据更新。
54.s3,构建仿真空间图,每个车辆智能体对应仿真空间图中的一个节点,完成仿真空间图的节点定义。为了便于表述和查看,可以将节点按照实际车辆的相对位置进行排列。
55.s4,基于车辆智能微观跟驰换道关系,确定节点之间的连接对应关系,完成仿真空间图的边定义。
56.具体的,边定义的过程包括:
57.将其中任意一个节点代表的车辆智能体视为决策智能体,获取其所对应的当前车道前车信息、当前车道后车信息、左侧车道前车信息、左侧车道后车信息、右侧车道前车信息和右侧车道后车信息。
58.其中,当前车道前车信息表示与决策智能体处于同一车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;当前车道后车信息表示与决策智能体处于同一车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息;左侧车道前车信息表示位于决策智能体左侧车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;左侧车道后车信息表示位于决策智能体左侧车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息;右侧车道前车信息表示位于决策智能体右侧车道,车辆位置较决策智能体位置更大且最邻近的车辆智能体信息;右侧车道后车信息表示位于决策智能体右侧车道,车辆位置较决策智能体位置更小且最邻近的车辆智能体信息。
59.由前述可知,在本实施例中,车辆智能体的车辆属性中包含有车道编号这一属性,这是为了凸显多车道性质,使仿真结果更为贴近实际道路行驶过程。但是,由于路段上每个车辆的行驶状态各不相同,例如,部分车辆由于行驶速度不一,会导致纵向上的相对位置发生改变,有些车辆还会变道行驶。若仿真空间总车辆数为n,在每次状态更新时,传统仿真软件的计算复杂度约为o(2n)和o(nlogn),运行效率极低。为此,本实施例采用了全新的交通仿真空间数据结构,将节点和边定义为仿真车辆智能体及车辆交互关系,在多车道场景更新相邻车道前后车关系中,通过边索引的方式避免了对于全域所有车辆遍历;将所有仿真空间存储为一个图数据结构,避免了状态更新的过程中反复读取的过程,从而从数据结构的角度加速微观仿真状态存储和更新,提高微观仿真的运行效率。同样以总车辆数为n的仿真空间为例,本实施例的时间复杂度为o(n),较之传统仿真软件获得了显著优化。
60.同样以图2中的场景为例,创建的仿真空间图抽象形式如图3所示,以邻接链表的形式表示为:
[0061][0062]
某一时刻所有车辆的信息如表1所示。
[0063]
表1车辆2变道前所有车辆信息汇总表
[0064][0065][0066]
其中,none表示节点给对应位置未连接节点;0,1,2,3,4,5,6,7,8表示车辆编号;车辆位置以路段沿行车方向起点作为零点计算;车道由道路中线从内到外分别是0,1,2。
[0067]
s5,仿真空间图数据更新。结合每个车辆智能体的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力,采用深度优先算法对仿真空间图上每个节点对应的车辆智能体进行状态更新,再基于状态更新后的车辆智能体位置更新仿真空间图上每个节点连接边对应的节点,实现仿真空间图的数据更新,直至仿真时间结束。
[0068]
在一个仿真步内,更新过程如下:
[0069]
通过深度优先算法遍历仿真空间图中所有车辆智能体,利用从车辆智能体连接节
点的车辆智能体微观跟驰信息确定车辆智能体行驶状态,使用车辆智能体内部的idm跟驰模型方法对于微观跟驰状态进行更新,使用车辆智能体内部的效用选择模型方法进行微观换道决策,确定每辆车是否需要进行换道。在车辆智能体位置更新后,对应更新仿真空间图上的每个节点连接边对应的节点,实现仿真空间图的数据更新,具体包括:将当前节点的车辆智能体和当前节点所连接节点的车辆智能体的车辆位置相对大小进行对比,确定是否需要变更连接的节点;针对需要变更的节点,读取其所连接的节点确定需要连接的新节点;针对新节点和当前节点之间建立边,实现更新图上每个节点连接边对应的节点。在上述步骤中,若仿真空间总车辆数为n,其时间复杂度为o(n)。
[0070]
同样以图2中的场景为例,在一个仿真步后,假设确定了车辆2需要从车道0换道到车道1,即场景由图2变换至图4。在场景发生变化后,还需要变更节点间的连接的边,由于车辆2换道到车道1,周边车辆智能体节点的连接边都需要进行变更。变更的方法为:
[0071]
第一需要变更连接到车辆2的边:其当前车道前车1的连接当前车道后车编号需要继承车辆2当前车道后车编号3,其当前车道后车1的连接当前车道前车编号需要继承车辆2当前车道前车编号1,其右侧车道后车0的连接左侧车道前车编号需要继承车辆2当前车道前车编号1。
[0072]
第二需要变更车辆2的边连接的新边:其左车车道前车继承车道变更前的当前车道前车编号1,其左车车道后车继承车道变更前的当前车道后车编号3,其当前车道前车继承车道变更前的右侧车道前车编号4,其当前车道后车继承车道变更前的右侧车道后车编号0,其右侧车道前车对比当前车道前车编号4的右侧车道后车6和当前车道后车编号0的右侧车道前车7的车辆位置大于且更邻近的编号6作为右侧车道前车,其右侧车道后车对比当前车道前车编号4的右侧车道后车6和当前车道后车编号0的右侧车道前车7的车辆位置小于且更邻近的编号6作为右侧车道前车。
[0073]
第三需要增加新连接到车辆2的边:车辆编号1对比右侧车道后车编号0和变更车道车辆编号2的车辆位置选择车辆编号2作为右侧车道后车,车辆编号6对比左侧车道后车编号0和变更车道车辆编号2的车辆位置选择车辆编号2作为左侧车道后车,车辆编号7对比左侧车道前车编号4和变更车道车辆编号2的车辆位置选择车辆编号2作为左侧车道前车。
[0074]
变更后的仿真空间图抽象形式如图5所示,以邻接链表的形式表示为:
[0075]
[0076]
变更后即图4所描述的交通场景所有车辆的信息如表2所示。
[0077]
表2车辆2变道后所有车辆信息汇总表
[0078]
车辆编号012345678车辆位置251469317139491118390279171所在车道101011222速度201916202118191920加速度

10

1100

10

1左前车编号1none1nonenone3420左后车编号3none3none1none205前车编号2none41none0none67后车编号530none2none78none右前车编号7460none8nonenonenone右后车编号8none756nonenonenonenone
[0079]
上述技术方案所设计多智能体交通仿真数据存储与更新方法,面向多智能体的仿真环境,在赋予仿真车辆自主决策能力的同时创新考虑图数据结构与微观仿真空间的相似性,采用全新的交通仿真空间数据结构,将节点和边定义为仿真车辆智能体及车辆交互关系。在多车道场景更新相邻车道前后车关系中,通过边索引的方式避免了对于全域所有车辆遍历;将所有仿真空间存储为一个图数据结构,避免了状态更新的过程中反复读取的过程,从而从数据结构的角度加速微观仿真状态存储和更新,提高微观仿真的运行效率。
[0080]
实施例二
[0081]
本发明实施例提出了一种多智能体交通仿真数据存储与更新装置,该装置包括车辆属性信息获取模块、车辆智能体创建模块、节点定义模块、边定义模块和仿真空间图更新模块。
[0082]
车辆属性信息获取模块,用于获取微观仿真道路上的所有车辆的属性信息,车辆属性信息包括车辆编号、车辆性能信息和车辆行驶信息。
[0083]
车辆智能体创建模块,用于针对所有车辆建立对应的车辆智能体,每个车辆智能体均具有对应的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力。
[0084]
节点定义模块,用于构建仿真空间图,每个车辆智能体对应仿真空间图中的一个节点,完成仿真空间图的节点定义。
[0085]
边定义模块,用于基于车辆智能微观跟驰换道关系,确定节点之间的连接对应关系,完成仿真空间图的边定义。
[0086]
仿真空间图更新模块,用于结合每个车辆智能体的车辆属性信息、车辆跟驰决策能力和车辆换道决策能力,采用深度优先算法对仿真空间图上每个节点对应的车辆智能体进行状态更新,再基于状态更新后的车辆智能体位置更新仿真空间图上每个节点连接边对应的节点,实现仿真空间图的数据更新,直至仿真时间结束。
[0087]
通过本发明实施例二的多智能体交通仿真数据存储与更新装置,通过建立整个应用的数据包含关系确定传输对象,达到多智能体交通仿真数据存储与更新的目标。本发明实施例所提供的存储与更新装置可执行本发明任意实施例所提供的多智能体交通仿真数据存储与更新方法,具备执行方法相应的功能模块和有益效果。
[0088]
实施例三
[0089]
本技术实施例提供了一种电子设备,包括处理器、存储器、输入装置和输出装置;电子设备中,处理器的数量可以一个或多个;电子设备中的处理器、存储器、输入装置和输出装置可以通过总线或其他方式连接。
[0090]
存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的检测方法对应的程序指令/模块。处理器通过运行存储在存储器中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现本发明实施例所提供的多智能体交通仿真数据存储与更新方法。
[0091]
存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0092]
输入装置可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘、鼠标等。输出装置可包括显示屏等显示设备。
[0093]
实施例四
[0094]
本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述多智能体交通仿真数据存储与更新方法。
[0095]
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的多智能体交通仿真数据存储与更新方法中的相关操作。
[0096]
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1