SUMO-JuPedSim 耦合

简介#

在分析城市区域(如火车站或大型活动的到达和离开阶段)的人群移动时,考虑交通相关方面至关重要。 列车的频率和容量、列车车门的位置以及交叉口汽车与行人的相互作用等因素显著影响行人的动态。 为了全面研究此类场景,包括交通和行人动态,JuPedSim 的基本功能已被集成到 Eclipse SUMO 中。

Juelich 行人模拟器 (JuPedSim) 是一个用于模拟行人动态的开源工具,在 2D 环境中提供了多种模型来模拟行人与其邻居的相互作用。模拟结果提供了对人群动态的宝贵见解,通常通过拥堵、局部密度和速度的发生来评估。

对于行人与其周围环境(邻居、障碍物、墙壁等)的相互作用,JuPedSim 提供了多种微观模型。这些微观模型可以再现大人群中的现象,例如瓶颈前的拱形效应和双向流中的车道形成。

JuPedSim 在瓶颈场景下的模拟示例。发生了拱形效应。

代理的移动被限制在 2D 空间中,这被称为可步行区域可步行区域是一个带有孔洞的闭合多边形,代表障碍物,如树木、柱子或摊位。代理可以在该区域内向各个方向移动。这导致了很高的计算工作量,随着代理数量(以及因此的邻居数量)和可步行区域大小的增加而增加,因为路径规划变得更加复杂。由于其底层模型,JuPedSim 的运行时间分辨率高于 SUMO——通常为 0.01 秒——这使其成为耦合模拟场景中的运行时间限制因素。

对于路径规划,必须为每个代理定义一个行程(journey)。行程可以是各个阶段的组合,例如,作为最终目标的出口、必须经过的航点或组织为队列或集合的等待位置。行程可以由多个代理共享,但也可以在一个模拟场景中定义多个行程。

JuPedSim 作为一个 Python 包提供,其核心是 C++,并有一个 C-API 供 SUMO 使用。SUMO-JuPedSim 模拟循环从 JuPedSim 独立更新行人位置开始。

用途#

这种集成在人群和交通动态相互作用的场景中特别有用,例如:

  • 涉及容易拥堵的行人设施的场景,这些设施会影响城市交通流,反之亦然。
  • 与车辆运输系统连接的拥挤公共空间,例如火车站。
  • 在大型公共活动期间,对多模式到达和离开交通进行建模。

总之:当人群动态在交通模拟场景中起重要作用时,SUMO-JuPedSim 集成变得尤为重要。

具有多方向行人流并与汽车相互作用的交叉口场景的模拟快照。

考虑不同交通方式(火车、汽车、公交车、步行)到达大型活动的模拟快照。

配置可能性#

以下功能可用于在 SUMO 中配置 JuPedSim 模拟:

  • 精确定义 JuPedSim 代理可访问的 2D 可步行区域,包括障碍物(如屏障、树木和标志),可通过 DXF 导入工具或在 netedit 中绘制来实现
  • SUMO 网络中包含的行人设施转换为 2D 可步行区域
  • 配置 CollisionFreeSpeedModel模型参数
  • 配置或临时调整特定区域内的行人速度

注意#

尽管理论上可以使用其他 JuPedSim 模型,但迄今为止只有 CollisionFreeSpeedModel 经过了广泛测试。

  • 配置生成 JuPedSim 代理的源(sources)
  • 配置耦合的换乘(transfer)点,代理在此处从车辆(公交车、汽车或火车)切换到步行,或反之亦然
  • 配置灵活的代理路径规划(routing)(行程),包括中间航点、分布航点和出口
  • 配置出口处的消失区(vanishing zones),以根据入口系统的容量模拟场馆的检票
  • 按有序方式实现汽车和行人的交互(通过管理措施停止)

技术背景#

SUMO-JuPedSim 模拟循环从 JuPedSim 独立更新行人位置开始,跨越多个时间步长,独立于 SUMO 的模拟周期,因为行人模型的时间分辨率要高得多。 一旦计算出位置,它们会以以下方式映射到 SUMO 的网络:位于常规 SUMO 车道(定义网络的一部分)上的行人被分配到其对应的边(edges),而位于 SUMO 标准网络之外的行人(例如在额外定义的可步行区域内)则被分配到最近的边以保持技术一致性。 这些边主要用作航点(起点、终点或中间目标)的参考点。 映射后,会进行额外的调整,例如修改行人速度或移除到达目的地或进入预定义消失区的代理。

使用 SUMO 条纹模型的交叉口模拟。

!

使用 SUMO-JuPedSim 的交叉口模拟。

使用 SUMO-JuPedSim 和额外可步行区域的交叉口模拟。

要在 SUMO 中为 JuPedSim 代理定义行程,必须通过连接 SUMO 网络中的相应边(JuPedSim 中的航点)来配置步行(或行程)。 对于动态重新路径规划,系统允许代理在模拟期间调整其路线。 这对于人群管理等场景特别有用,因为行人可能需要在出口之间进行选择(例如站台的不同出口)。 重新路由器——放置在 SUMO 边上——定义了概率性的下一个航点选项,从而实现灵活的决策。 虽然这些重新路由器必须基于边,但它们不需要集成到 SUMO 的互连道路网络中。

汽车和行人之间的相互作用发生在两种情况下。 首先,在共享空间(例如道路或停车场)中,汽车将行人视为移动缓慢的障碍物并相应地调整其行为,尽管行人目前对车辆没有反应(此功能计划在未来实现)。 其次,在人行横道或交通信号灯处,SUMO 的“链接(link)”概念(根据信号打开或关闭路径)转化为 JuPedSim 中的活动或非活动等待位置。 行人接近这些交叉口,但仅在链接关闭时才停止。 然而,在撰写本文时,这些等待位置是静态的,需要与更好的等待行为建模一起进行细化。

未来展望#

SUMO-JuPedSim 正基于新的用例和新兴的研究问题持续开发。 我们计划的开发包括将条纹模型转换为指定区域内的 JuPedSim 模型,以便在包含小规模 JuPedSim 模拟的情况下实现高效的大规模交通模拟。 此外,我们正在积极致力于改善行人的等待行为,这在交通信号灯前或上车前在火车站等待等场景中尤为重要。 为了支持这一点,正在开发一种用于等待的高级 JuPedSim 模型,并计划集成到 SUMO 中。

通过耦合模拟器,我们建立了一个用于共享空间高级建模的开源框架,在这种空间中,不同交通参与者之间的相互作用变得尤为复杂。