在Aimsun Next中仿真SCATSim

2022年8月 — 技术注解 #73

Dimitris Triantafyllos

高级产品专家,特别专注于实时决策支持解决方案。 Dimitris与产品管理团队紧密合作,为所有Aimsun解决方案规划和制定可视化的路线图。

SCATS是一个智能、自适应的交通控制系统,在全球28个国家187个城市的55000多个路口上使用。 由澳大利亚新南威尔士州的道路和海事服务部门(RMS)开发的SCATS自适应交通管理系统使交通信号同步运营,以优化整个城市、地区或交通走廊的交通流。 智能算法处理实时数据,以调整交通信号的时间,应对突发状况,预测交通模式,保持交通畅通。 其结果是减少拥堵,缩短行程时间,提高安全和运营效率。

通过连接SCATSim,SCATS自适应交通控制系统的运行可以在Aimsun Next的中观或微观仿真中再现。 SCATSim是由RMS开发的一套软件模块,用于模拟实时的SCATS部署。 通过SCATS接口,Aimsun Next作为服务器,通过TCP/IP与一个或多个本地交通信号控制器进行通信,这些控制器由作为客户端的WinTraff(SCATSim模块)模拟。

Aimsun Next每秒钟向WinTraff提供探测器的驱动数据,WinTraff以信号组的状态作为回应。在仿真开始时所有信号组都是红灯。 如果有多个控制器(因此有多个WinTraff运行),则通过SimHub(SCATSim的另一个模块)进行通信,该模块向仿真提供单一的通信渠道,并负责接收和发送与WinTraff相关的数据。

为了实现这样的数据交换,Aimsun Next目标,如控制器、信号灯组或探测器,必须与相应的SCATS目标相匹配。 这种匹配可以通过SCATS ITS界面自动完成,也可以通过手动打开SCATS Access应用程序,在Aimsun Next软件中复制相同的对象和标识符。 在这个例子中,突出了第二种方法。

需要注意以下重要要求:

  • Aimsun Next和自适应控制界面的许可证
  • 一个SCATSim许可证(2个USB加密锁:1个用于SCATS中央管理器,1个用于SCATS区域管理器)
  • 可以访问SCATS数据库和SCATS Region数据
  • 应用程序:SCATS Central Manager, SCATS Central Manager Configuration, SCATS Region, SCATS Region Configuration, SCATS Access, SimHub, WinTraff
  • exe 应用程序
  • SCATSim只可以在Windows操作系统中工作

在连接SCATSim和Aimsun Next仿真之前,有必要设置几个软件应用程序。 按照步骤说明,准备SCATS Central Manager, SCATS Region, SimHub, WinTraff应用程序:

注意:在这个快速指南中,我们使用了SCATS Central Manager Configuration user manual.pdfSCATS Central Manager user manual.pdf。 在下图中,显示了所需的所有不同服务器的配置,以及每个服务器与其他服务器通信的默认端口,以便在SCATS Terminal运行SCATS ITS界面。

1. 所需数据

要设置SCATS Central Manager,你需要以下数据:

1. SCATS Central Manager文件夹

SCATS Central Manager文件夹包含以下文件夹/文件:

你可以向新南威尔士州交通局或当地的SCATS经销商索取该软件。

2. SCATS Central Manager License文件

SCATS Central Manager License文件(.txt)。“Name”“License”稍后会用来设置SCATS Central Manager。

你可以向新南威尔士州交通局或当地SCATS经销商索取这些数据。

3. SCATS Database

SCATS Database最好为”.mdb “格式。 如果数据库类型是“.sql”,那么你必须安装SQL Express软件来读取数据库。 欲了解更多信息,请参见SCATS Central Manager用户手册。 该数据库应放在Central Manager文件夹内:

4. SCATS Region文件夹

SCATS Region文件夹通常包括每个region的文件夹the .tc, .lx, .ram, .hist.vs ,这些是每个region的文件。 SCATS Region文件夹还可能包括更多的文件,如手册和可执行应用程序。

在这一点上,我们需要澄清的是,文件夹即: SCATS_ITS_Setup \ Region 需要将Aimsun Next与SCATSim连接起来。 文件夹 SCATS_ITS_Setup\Central Manager\ Region需要将Aimsun Next连接到SCATS ITS。

每个region的文件.tc, .lx.ram 需要将Aimsun Next连接到SCATSim应用程序。 每个region的文件 .hist.vs是SCATS ITS所需要的, 如果用户想导入历史信号时间和历史计数测量值的话。

请看下面一个SCATS Region文件夹的例子:

Region文件夹也应复制到SCATS Central Manager文件夹下;但文件夹的结构是不同的。 所需的文件夹结构显示在下面的屏幕截图中:

2. 运行ODBC 32位应用程序

为了让SCATS应用程序连接到SCATS数据库,我们必须在%windir%\SysWOW64\odbcad32.exe中用32位ODBC管理员创建一个ODBC数据源。

1. 运行 exe

2. 进入“System DSN”页 -> “Add…” ->

3. 添加“Data Source Name”和“Description”。 然后,按下“Select…” -> 进入.mdb文件目录选择那个文件。 然后,在所有打开的窗口中选择确定。

3. 配置SCATS Central Manager

1. 双击 Central Manager/ScatsCentralManagerConfiguration.exe进入SCATS Central Manager配置窗口。 确认“SCATS System Name”、“License Name”和“License Details”与SCATS Central Manager License file(.txt)中的信息一致。

2. 双击Central Manager/ScatsCms.exe:启动SCATS Central Manager应用程序:

3. 一旦启动,一个名为 “SCATS CMS Debug “的命令行窗口将打开。 等待几分钟后,应显示以下信息:“Setting service running…” – “Startup complete”:

注意:这个快速指南的信息源自 SCATS Region Configuration user manual.pdfSCATS Region user manual.pdf。 在下图中,显示了所需的所有不同服务器的配置,以及每个服务器与其他服务器通信的默认端口,以便在SCATS Terminal运行SCATS ITS界面。

1. 所需数据

设置 SCATS Region你需要下面的数据:

1. SCATS Region License文件

SCATS Region License文件 (.txt)。“Name”“License”信息将在稍后用于设置Region应用程序。

你可以向新南威尔士州交通局或 当地的SCATS经销商索取这些数据

2. 配置SCATS Regions

1. 定义每个SCATS Region的ID。 一般来说,ID可以是自定义的,它可以由用户手动定义,从ID=1开始,即:区域WBOP,然后下一个区域加1。 但是,必须通过询问交通管理部门来确认这一过程。 在某些情况下,他们可能向你提供每个SCATS Region的ID。

2.进入Region 文件夹然后拷贝粘贴SCATS.exe文件到region文件夹/Region/REGIONNAME/

3. 更改SCATS.exe的名字,通过下面的逻辑:SCATS_ID.exe (i.e.: SCATS_28.exe)

4. 双击/Region/ScatsRegionConfiguration.exe进入SCATS Region配置窗口。

5. 在 “SCATS Region instance “中设置第一个或其他任何ID(如28),并设置相应的 “SCATS Region name”(如:对于ID=28,name为WEN)

6. 验证“License” -> “Registered user”和“User license”栏与下面的文件相符SCATS Region License file (.txt) ,该文件在1. 所需数据中定义。 在某些情况下,对每个SCATS region,你会收到一个许可证文件。

7. 然后,选择“Workstations”页,该页在SCATS Region配置对话框中。

8. 在 “TCP/IP ports for networked workstations – SCATS Terminal command line interface”中,设置一个唯一的ID。 我们建议使用该逻辑:

NUMBER+SCATSRegionID 如: 3028。

在 “TCP/IP ports for networked workstations – SCATS Access graphical user interface”中设置一个唯一的ID。 我们建议使用该逻辑:

NUMBER+1+SCATSRegionID = 3128.

请看下面的例子,其中NUMBER = 30


9. 然后,选择”Network”页。

10. 应用下面截图中的设置,与下面的连接:

  • “Central Manager…”: Port 2007 on: 127.0.0.1
  • “Region to Region”: Region to region port 3328 (NUMBER+3+SCATSRegionID = 3328)
  • “Traffic simulation”: Traffic Simulator via TCP/IP port 3228 (NUMBER+2+SCATSRegionID = 3228)

11. 要启动SCATS Region应用程序,双击Region/REGION_NAME/SCATS_ID.exe应用程序:

12. 然后,会打开一个命令行窗口,显示以下截图中显示的信息:

13. 对每个Region重复步骤1-12。

1. 将SimHub文件夹复制粘贴到与Central Manager和Region文件夹相同的目录中。

2. SimHub文件夹包括一个应用程序,你可以双击启动SimHub.exe:

3. 一旦应用程序被启动, 系统自动将选择的“Client Socket” > Port 设置为 2100, “Client Socket” > Host设置为 localhost 并且,“Server Socket Port”设置为 8000如果所有的设置都设置正确,那么在右边,一个全部Regions连接到SimHub 的列表将会显示 (如WEN)

1. WinTraff文件夹应包括Region文件夹(如WEN)和应用程序“WinTraffSimulation.exe”。 这些数据是由道路交通管理部门提供的。

2. 在每一个region文件夹里 (如 WEN) 存储了该region每个SCATS Site的.sft文件。

3. 在这个目录中,如果没有提供配置文件,用户应该创建并将配置文件定义为 WinTraff_REGIONNAME.CFG (WinTraff_WEN.CFG)

4. 这个文件必须包括以下信息:

标注:

#cfg

id = REGIONNAME

simhost = localhost (as defined in SimHub)

simport = 8000 (as defined in SimHub)

scatsport = 3228 (as defined in the SCATS region Configuration.exe > Network > Traffic Simulation > TCP/IP)

usesiteids = True (to use the site IDs as identifiers)

path =

61 = X2773MS_FI.SFT.sft (.sft file for SCATS Site ID: 2773)

27 = X2883ME_FI.SFT.sft (.sft file for SCATS Site ID: 2883)

!

请注意,数字61和27是指属于这个region的SCATS Site2773和2883的SLOT ids。 这些SLOT ids可以在该region的这个文件夹里找到: Region/REGIONNAME/Sys/Sys.lx.

注意: 使 SCATS模拟 只在 Aimsun Next 运行几 SCATS Sites,然 WinTraff 配置文件中, 可以 只需设置 想运行的那几个 SCATS Sites.

5. 双击/WinTRAFF/WinTraffSimulation.exe应用程序。

6. 选择并打开文件 ->。

7. 选择配置文件 (.CFG) ,与你想运行的SCATS Sites相符 (如2773, 2883)。

准备Aimsun Next网络目标

为了让Aimsun Next和SCATSim知道它们在仿真期间的通信中提到了哪些探测器和信号组,你必须为控制器、信号组和探测器定义共同的标识符。

首先,打开SCATS Access软件,获取SCATS Site ID:2773所需的信息。

1. 双击/Central Manager/SCATSAccess.exe然后等待下面的窗口出现:

2. 在Site ID字段中设置所需的SCATS Site ID(如:2773),以显示其几何形状、信号组、相位和探测器。

总结:

  • SCATS Site ID: 2773
  • 8 PHASES: A;B;C;D;E;F;F1;F2
  • 17 DETECTORS

然后,打开Aimsun Next文件,对SCATS Site ID:2773进行所需的设置。

3. Aimsun Next中的每个信号灯组都应按照SCATS数据库中的定义,并与转向匹配。 你可以使用SCATS Access来检查每个信号组控制哪些转向,并在Aimsun Next中手动设置相同的转向。

4. 对于由SCATSim控制的Aimsun Next的每个节点,控制计划必须设置为External。 可以提供一个预先定时的控制计划,以便在与SCATSim连接失败时使用。

5. Aimsun Next中的每个探测器都应对应SCATS数据库的定位、命名和定义。 激活所需的最低探测器测量能力取决于检测器的功能。 SCATS探测器有物理(测量 “count “和 “occupancy”)和逻辑(信标:识别公共交通车辆)之分。 除 “count”和 “occupancy”外,逻辑探测器必须启动 “Equipped vehicle”的探测功能。 它们总是与一组公共交通线路相关联。 请注意,检测器占用率的探测与探测器长度密切相关。 因此,Aimsun Next探测器的长度应该与SCATS探测器的长度一致。

6. 创建一个新的Aimsun控制器目标。 每个SCATS Site都应在Aimsun Next中表示为一个SCATS类型的Aimsun控制器目标。

7. 在控制器对象的*Basics*页中:

    • 控制器目标必须连接到节点目标。 然而,每个SCATS Site可以表示为一个或多个Aimsun节点。 在这种情况下,两个节点必须连接到同一个控制器目标。
    • SCATS探测器必须与控制器目标连接。
    • 必须选中”Enabled”。 交叉口ID必须设置为等于SCATS Site ID,端口必须设置为等于SimHub中的仿真连接端口。

8. 在控制器目标的信号灯组页中:

    • 指定信号灯组并设置ID,将这些信号灯组与SCATS相位ID进行映射。

9. 在控制器目标的探测器页中:

    • 添加所有的探测器,并为每个探测器设置ID,将其与SCATS探测器的ID进行映射。

10. 对Aimsun Next网络中的其他SCATS Site进行同样的处理。

11. 完成后,你就可以启动Aimsun Next仿真(微观、中观或混合),在Aimsun Next网络中仿真SCATS控制器的交通信号逻辑。


注意:
为了确保Aimsun Next和SCATS应用程序保持同步,每一个仿真步骤都在它们之间传递同步指令。 SCATS假设每秒钟进行一次数据传输,因此每1秒钟就应该有探测器的数据。 因此在Dynamic Scenario > Outputs to Generate中探测器时间周期应当设置为1秒。

更详细的信息,请参见Aimsun Next用户手册 – SCATS Interface一章。

更多技术说明

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

    我们在这里提供帮助!

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

    我们在这里提供帮助!

分享

引用Aimsun Next

Aimsun Next 20

Aimsun (2021). Aimsun Next 20 User's Manual, Aimsun Next Version 20.0.3, Barcelona, Spain. Accessed on: May. 1, 2021. [In software].
Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html


Aimsun Next 8.4

Aimsun (2021). Aimsun Next 8.4 User's Manual, Aimsun Next Version 8.4.4, Barcelona, Spain. Accessed on: May. 1, 2021. [In software]. Available: qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html

Aimsun Next 20

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 20 User's Manual}​​​​​​​​,

author = {​​​​​​​​Aimsun}​​​​​​​​,

edition = {​​​​​​​​​​​​​​​Aimsun Next 20.0.3}​​​​​​​​​​​​​​​,

address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,

year = {​​​​​​​​​​​​​​​2021. [In software]}​​​​​​​​​​​​​​​,

month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,

url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,

}​​​​​​​​​​​​​​​


Aimsun Next 8.4

@manual {​​​​​​​​AimsunManual,

title = {​​​​​​​​Aimsun Next 8.4 User's Manual}​​​​​​​​,

author = {​​​​​​​​Aimsun}​​​​​​​​,

edition = {​​​​​​​​​​​​​​​Aimsun Next 8.4.4}​​​​​​​​​​​​​​​,

address = {​​​​​​​​​​​​​​​Barcelona, Spain}​​​​​​​​​​​​​​​,

year = {​​​​​​​​​​​​​​​2021. [In software]}​​​​​​​​​​​​​​​,

month = {​​​​​​​​​​​​​​​Accessed on: Month, Day, Year}​​​​​​​​​​​​​​​,

url = {​​​​​​​​​​​​​​​qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html}​​​​​​​​​​​​​​​,

}​​​​​​​​​​​​​​​

Aimsun Next 20

TY - COMP

T1 - Aimsun Next 20 User's Manual

A1 - Aimsun

ET - Aimsun Next Version 20.0.3

Y1 - 2021

Y2 - Accessed on: Month, Day, Year

CY - Barcelona, Spain

PB - Aimsun

UR - [In software]. Available: qthelp://aimsun.com.aimsun.20.0/doc/UsersManual/Intro.html


Aimsun Next 8.4

TY - COMP

T1 - Aimsun Next 8.4 User's Manual

A1 - Aimsun

ET - Aimsun Next Version 8.4.4

Y1 - 2021

Y2 - Accessed on: Month, Day, Year

CY - Barcelona, Spain

PB - Aimsun

UR - [In software]. Available: qthelp://aimsun.com.aimsun.8.4/doc/UsersManual/Intro.html