如何将西门子UTC SCOOT连接到Aimsun Next 20

技术注解 #56
2021年2月

作者:Dimitris Triantafyllos

你知道Aimsun Next路口(节点)可以连接到外部控制器,如西门子UTC系统SCOOT吗?

本技术说明的目的是演示动态信号控制系统–西门子UTC系统SCOOT(以下简称 “SCOOT”)如何与Aimsun Next连接。 如此,它提供了一个链接,使SCOOT算法能够被纳入仿真,并根据交通网络的状况设置信号。

在仿真中的效果是,信号灯在相同的时间,或根据交通状况而改变,就像它们在道路上一样。

请注意以下重要要求:

  • Aimsun Next和SCOOT的许可证 + 自适应控制接口
  • 必须能够访问SCOOT数据库。
  • 软件配置应准备好运行当前的活动。 应安装所有必要的UTC软件(UTC备份和恢复、Xming和XLaunch)。
  • 系统设置(所需的文件夹结构和一个新的Windows用户账户)应该到位。 这最后两点的任务需要SCOOT专家的协助。

下面的操作步骤指南(12个步骤)解释了如何在Windows操作系统环境下将Aimsun Next中的一个路口连接到SCOOT。(以下以英文版的Siemens UTC SCOOT用户界面在例子中说明)

  1. 按Start键,搜索 “UTC Backup and Restore”。
  2. 输入你的SCOOT用户名和密码。 这些录入资格将由SCOOT专家提供。 显示 “UTC Backup and Restore “对话框。
  3. 单击 “Restore “页,然后:
    1. 从下拉菜单(1) Select a backup source,选择UTC checkpoint area.
    2. 点击Start Restore来恢复UTC数据库中的UTC探测器和信号数据。

如何将西门子UTC SCOOT连接到Aimsun Next 20

  1. Start键并搜索 “UTC Machine Configuration”。
  2. 选择 System Startup > Start UTC System > OK。

  1. Start键并搜索“XLaunch”。
  2. 启动XLaunch应用程序,在设置窗口中,保持预选的选择。

如何将西门子UTC SCOOT连接到Aimsun Next 20

如何将西门子UTC SCOOT连接到Aimsun Next 20

  1. 右击Taskbar图标Xming并选择UTC Login。

如何将西门子UTC SCOOT连接到Aimsun Next 20

  1. 将显示UTC登录对话框。 再次输入你的SCOOT用户名和密码,并点击OK。

如何将西门子UTC SCOOT连接到Aimsun Next 20

将显示以下对话框。

如何将西门子UTC SCOOT连接到Aimsun Next 20

在我们的例子中,我们将把特定的SCOOT路口连接到一个 “外部 “应用程序(Aimsun Next),并在仿真运行时查看信息。 要做到这一点,我们需要在SCOOT控件上设置路口。

  1. Enter a UTC command,写入SCOO R*并点击Accept

如何将西门子UTC SCOOT连接到Aimsun Next 20

  1. 要在Output Messages对话框中显示最重要的信息,请输入以下命令:
    • MESS D80 H01000
    • MESS D81 H01000

如何将西门子UTC SCOOT连接到Aimsun Next 20

  1. (可选) 如果需要,你还可以输入以下命令。
    • 监测一个特定路口的控制计划(路口ID以J开头):DIPM J41211
    • 如果SCOOT没有反应,重新启动它:
      XSCO R* (removes all regions from SCOOT)
      REIN
      SCOO R*
    • 监测一个探测器的状态:LMON N41211A
    • 检查SCOOT配置:LVAL N41211A

到这个阶段,SCOOT应该已经启动并运行,准备好与Aimsun Next连接。

SCOOT和Aimsun Next之间的成功连接取决于以下信息的交流:

· 从SCOOT到Aimsun:相位信息

· 从Aimsun Next到SCOOT:探测器信息(必须选择“存在”和“占用”参数)。

为了保证SCOOT和Aimsun Next之间的联系,SCOOT目标必须与Aimsun目标有一对一的对应关系。 这意味着自适应信号控制系统需要在每个路口有一个Aimsun Next控制器目标来管理外部系统和Aimsun Next网络之间的联系。

你可以使用Aimsun Next控制器来创建和编辑路口、其相关的信号相位和交通探测器与SCOOT系统中相应目标之间的联系。

根据SCOOT的要求,SCOOT和Aimsun Next之间每秒钟都会进行一次信息交换(同步口令、检测器数据和相位)。 因此,探测周期 (“动态场景” >“要生成的输出”页) 因此,应设置为1秒。

将Aimsun Next连接到SCOOT

要启用与SCOOT的联系:

1. 在Aimsun Next中打开ANG文件。

2. 确定哪些SCOOT路口包括在研究区域内,并在Aimsun Next网络中找到这些路口。在大多数情况下,SCOOT路口的位置和ID是由该地区的交通管理中心(TMC)或城市管理部门提供。通常,SCOOT路口会在地图(PDF文件或图像文件)上标注。我们将使用一个ID为N41211的SCOOT路口来演示将SCOOT连接到Aimsun Next所需的逐步工作流程。

3. 打开网络中的相关节点并设置External ID为N41211。

4. 在节点目标中设置信号组。

a. 首先,打开SCOOT说明文件(TMC或外部来源的PDF)。 向下滚动,直到你找到 “Phase Type and Conditions”部分,并使用 “Title”信息来确定每个路口信号组的车流转向。 例如,”Phase “A,”Title “A6 Leicester RD – TO CITY (INB)意味着相位A被分配到A6 Leicester Road向城市中心的方向。

b. 点击“信号群组”页并将SCOOT相位(上面截图中的A-J)与Aimsun Next信号群组名称(下面截图中的A-J)做一一对应。

5. 在相关的Aimsun Next控制计划中设置信号相位。

a. 在同一份SCOOT说明文件中,找到 “Phases in Stages “部分。 这是SCOOT阶段/分期信息,需要分配信号群组到Aimsun Next控制计划目标的相位中。

在上面的例子中:

  • Stage 1包含A, B, E, F
  • Stage 2包含C, D, G, H
  • Stage 4包含I
  • Stage 5包含J。

b. 打开控制计划,完成以下步骤:

i. 设置“类型”为“外部的”。

ii. 在“信号配时”分页,加入相位和相位过度间隔。

iii. 将信号群组分配给相应的相位。 相位和过度间隔的时间应设置为反映现实世界的备份控制计划。 这样,如果SCOOT和Aimsun Next之间的连接丢失,现实世界的备份控制计划将被激活。

iv. 创建一个新的主控制计划并包括最近创建的SCOOT外部控制计划。

6. 从SCOOT导出SCOOT探测器信息,然后(手动或使用Python脚本)将SCOOT探测器的线圈数据导入Aimsun Next。 在下面的例子中,探测器的数据是以CSV格式从SCOOT数据库中导出的。

在第一列中,有三个与N41211结点路口的SCOOT探测器:41211A1、41211B1和41211C1。

7. 检查SCOOT的说明,看是否有SCOOT相位是依赖需求的(指只有在有需求时才会被触发的相位)。 如果发现任何依赖需求的相位,你应该在与该相位相关的相应转弯处安装一个相位探测器。

在下面的例子中,SCOOT说明中的 “UTC Demand Dependent Forces”部分包含了关于需求依赖相位的信息。 根据下面的截图,第二相位(在SCOOT文件中有时也被描述为Stage B)的C、D、G和H是取决于需求的。

8. 有时会有SCOOT线圈图(PDF)。 你可以利用这些来更好地定位Aimsun Next网络中的SCOOT和相位探测器。 在我们的例子中,以下图纸帮助我们找到了SCOOT探测器41211A1(从市中心出发)和41211C1(进入市中心)。

9. 在Aimsun Next网络中添加四个新的探测器,并将其放置在下面的屏幕截图中。

10. 输入每个探测器的“外部ID”,如下:

  • N41211A1
  • N41211B1
  • N41211C1
  • J41211-2 (按需)。

微观仿真配置文件

需要一个名为microsim_config.cnf的文件,作为Aimsun Next目标和SCOOT目标之间的接口。 该文件将SCOOT路口、探测器和相位探测器ID一一对应到Aimsun Next控制器的相应目标。

要做到这一点,您必须在Aimsun Next和SCOOT中为路口及其探测器设置相同的外部ID,如前面的步骤所述。

创建cnf文件:

a. 打开一个新的文本文件。

b. 重新命名cnf文件。

c. 将SCOOT路口(J41211)、探测器(N41211A1、N41211B1、N41211C1)和相位探测器(J41211-2)添加到文件。

d. 将此文件发送给SCOOT专业人士,以便他们能够处理并为这些目标生成新的ID。

e. 专业人员将生成一个新版本的cnf文件,其中有新的ID(201, 420, 625, 626, 627)和之前的路口和探测器ID。

f. 将cnf文件保存在这个位置:

C:\ProgramData\Siemens Mobility Limited\UTC\movable\sys\current\tcca.

路口、相位探测器和转向探测器的文件格式如下:

    • [Junction ID][space][ID][space]x
    • [Stage Detector ID][space][ID][space]x
    • [SCOOT Detector ID][space][ID][space]x

在我们的例子中,microsim_config.cnf文件的内容将是:

    • J41211 201 x
    • J41211-2 420 x
    • N41211A1 625 x
    • N41211B1 626 x
    • N41211C1 627 x

11. 在Aimsun Next网络中添加一个新的控制器,并设置以下参数:

  • 类型:Siemens UTC System
  • 勾选“启用”
  • “外部 ID”: 41211
  • “交叉口 ID”: 201
  • “端口”: 2809
  • IP: 127.0.0.1。

端口和IP值必须与SCOOT中的值一致。 如果有疑问,请向您的SCOOT专业人员查询。

12. 点击“探测器”页并在ID列中设置以下ID:625, 626, 627, 420。 另外,将探测器的“类型”设置为SCOOT或Stage。

点击“阶段”页,将”SCOOT阶段ID”(在SCOOT说明 “Phases in Stages”部分找到)与“Aimsun相位ID”(在控制计划目标中找到)对应起来,如下图所示。

14. 打开动态场景,在“主控制计划”下,选择SCOOT计划。

15. 运行与场景和实验相关的副本,并在日志窗口中检查以下信息:

“初始化CORBA: …”

“连接到西门子UTC系统。”

16.要验证Aimsun Next中的当前有效相位是否就是SCOOT发送给Aimsun Next的相位,请双击网络中的相关节点,在仿真运行时点击“模拟控制”页。 观察控制计划中各相位的连续启动。

17. 在SCOOT应用程序中输入DIPM J41211命令,切换到DIPM窗口。

下面的截图显示,22秒前SCOOT向Aimsun Next发送了激活阶段A的命令。 在Aimsun Next中,如“模拟控制”页所示,第1相位已经启动了21.6秒。 这意味着连接正常。

18. 要实时了解一个探测器(在本例中为N41211B)的状态变化,在SCOOTS中输入LMON N41211B1命令,以打开该特定探测器的LMON窗口。 每个字符0或1对应于不存在(=0)或存在(=1)的检测,频率为0.25秒。 在下面的例子中,111标明处,刚刚越过探测器N41211B1的车辆被检测为停留了0.75秒。

有几辆车越过了N41211B1号探测器。 另外,大多数车辆已经越过了相位探测器J41211-2。 因为Stage B(SCOOT)和第三相位(Aimsun Next)是取决于需求的,我们预计它将在几秒钟内根据SCOOT逻辑启动。 你可以在SCOOT和Aimsun Next应用程序中看到激活的情况。

提示:SCOOT接口可以被配置为产生调试信息。 你可以在动态场景下选择这个选项。 打开场景并点击 “要生成输出”页 > “控制器”页并勾选“生成调试文件”。 如果选择了这个选项,Aimsun Next将产生日志文件,这些文件与ANG文件存储在同一个文件夹中。

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

  • 有问题吗? 请联系我们。

    我们在这里提供帮助!

分享