第八节:Sim Pro SUMO 联合仿真手册
Last updated
Last updated
SUMO(Simulation of Urban Mobility)是一个开源、微观、多模态的交通仿真软件,可以实现对大量、大区域内的交通流模拟。
Sim Pro SUMO联合仿真功能实现了与第三方交通流仿真引擎SUMO的数据交互仿真,实现了将来自SUMO的交通流信息输入至Sim Pro仿真引擎,Sim Pro使用来自SUMO的交通流信息对AD算法进行仿真与评估。
Sim Pro SUMO联合仿真功能利用SUMO提供的libtraci接口,基于TCP协议与Sim Pro内部的SUMO适配器模块通讯实现二者交通流数据的同步更新交互。
本功能主要包含如下两部分:
(1) SUMO交通流仿真。根据所运行的场景和地图,SUMO仿真软件会生成符合条件的交通流信息。
(2) Sim Pro仿真工具,提供自动驾驶仿真虚拟环境,并实现和SUMO的交通流与AD算法所控制的主车交互。
利用来自sumo的交通流数据,效率高资源占用较低;
可以根据场景和地图定制交通流数据,实现对不同情景的模拟;
Sim Pro仿真工具通过了功能安全认证,保证能提供稳定、可靠的仿真环境数据;
Sim Pro的仿真和SUMO仿真都依赖于其对应的配置文件。所依赖的配置文件包括simpro仿真的配置文件【configure.xml】以及【SUMO场景配置文件】(这个文件需要在configure.xml中进行路径的指定)。
(1) 进入文件目录
Sim Pro仿真配置文件的运行目录如下,名称为【configure.xml】。
(2) 开启sumo交通流仿真
Sumo联合仿真配置文件同Sim Pro。在【configure.xml】中设定sumo的场景配置文件,配置字段内容如下:
<Sumo enable="1" enableSumoGui="1" configFile="sumo/SumoCfg.xml />
在【Sumo】标签下,包含了三个字段的属性定义,如下:
【enable】属性:定义了是否开启SUMO联合仿真。设置值为1,启用SUMO联合仿真;设置为0,不启动SUMO联合仿真。
【enableSumoGUI】属性:定义了是否以GUI的形式启动SUMO。设置值为1,将会在联合仿真时开启SUMO的GUI窗口。SUMO-GUI窗口的具体使用参见(9.3.2.1 使用SUMO-GUI进行SUMO联合仿真)。
【configFile】属性:定义了SUMO场景配置文件的路径。此文件的配置和使用将会在【9.3.1.2SUMO场景配置文件】中说明。
在【9.3.1.1】中介绍的configFile标签里,存储的是Sumo场景配置文件的路径。在这个文件中,配置了每个仿真场景与SUMO的仿真配置文件之间的对应关系。每个场景文件都必须要有一个SUMO仿真配置文件与之对应。多个仿真场景如果使用同样的地图和交通流信息,可以共用同一个SUMO配置文件
举例典型的配置文件内容,如下图:
- 【CfgFile】标签:每一个标签定义了一个场景文件和SUMO的仿真配置文件之间的对应关系
- 【ScenarioFile】属性:定义了场景文件的文件名。
- 【SumoCfgFile】属性:定义sumo仿真配置文件的文件路径。该文件定义了一个sumo仿真场景的交通流设定和地图路网信息设定, 通常是由SUMO的软件所配置生成的,关于本文件的介绍参见【9.3.1.3 SUMO仿真配置文件】。
- 【ScenarioFile】:属性值为default的【CfgFile】标签是必须要存在的,这是对于不存在本配置文件的场景中所使用的缺省配置。
在【9.3.1.2】中介绍SumoCfgFile标签中所设置的sumocfg后缀文件为SUMO的仿真配置文件。这个文件由SUMO生成,在设定路网和交通流时,SUMO会将路网和交通流对应文件的对应关系保存在这里。
举例典型的Sumo仿真配置文件,如下图:
上述配置中,定义了路网和交通流配置的对应关系:
- 【net-file】标签:定义了路网文件的路径,value标签的值为其路径。
- 【route-files】标签:定义了设定的交通流路径文件的路径,value的值为其路径。
本文件以及其中的路网文件和交通流路径文件是通过SUMO的GUI工具中配置生成的。SUMO提供了netedit工具以进行路网以及交通流配置,以及sumo-GUI工具以在GUI界面中对所配置的路网与交通流数据进行仿真测试以及保存配置文件。
路网文件和交通流文件可以来自于SUMO提供的netedit工具,参见(https://sumo.dlr.de/docs/Netedit/index.html)
路网文件亦可以由OpenDRIVE文件转换而来,使用SUMO提供的netconverter转换工具,参见(https://sumo.dlr.de/docs/netconvert.html)
SUMO仿真配置文件可以由sumo软件生成,参见(https://sumo.dlr.de/docs/sumo-gui.html)
在前置的配置完成之后,选择对应的场景文件启动Sim Pro即可使用SUMO联合仿真功能。所使用的场景需要在【9.3.1.2】中的Sumo场景配置文件中有对应的Sumo仿真配置文件。如果使用了其他的场景,会导致SUMO仿真的交通流在场景中混乱显示。
下面分别介绍启动SUMO-GUI以及无SUMO-GUI模式下的SUMO联合仿真。
在【9.3.1.1】介绍的配置中,如果将【enableSumoGUI】的属性值置为1,将会在运行联合仿真时打开SUMO的GUI界面。在SUMO的GUI界面下可以看到实时交通流的运行情况,以及对仿真进行控制。
在配置文件中对相关的选项进行了配置之后,即可参照章节【4 仿真控制平台】,打开HMI界面选择场景进行仿真。
需要注意的是,所选择的场景需要在【9.3.1.2】中介绍的配置文件中有对应配置的SUMO仿真配置文件。
如上图所示,所选中的场景文件在SUMO场景配置文件中是有对应SUMO仿真配置文件的。
之后即可正常执行方针操作。
(1) 点按HMI界面右上角的开始按钮,即可开始仿真。界面如下:
如上图所示,SimPro的仿真引擎和sumo-gui窗口会在点击开始后弹出。
(2) 此时,手动点按sumo-gui的开始按钮。位置见下图:
在点击开始后,仿真便会开始,渲染引擎窗口会显示车辆的姿态。Sumo-gui窗口中会显示交通流的运行状态:
(3) 在sumo界面点按暂停键,可以暂停仿真:
在暂停时,SUMO交通流和SimPro的仿真都会处于暂停状态:
(4) 再次点按开始按钮,即可恢复正常仿真。
同SUMO-GUI的操作和使用,但是,开始仿真后不会弹出sumo-gui的界面。