本文将详细介绍CARLA和SUMO联合仿真的步骤。本文以Windows系统下的联仿为例,Linux系统下的方法也类似。主要内容包括:CARLA安装、SUMO安装、联合仿真、自定义车流。

 1 CARLA安装

这里的CARLA安装采用预编译的压缩包版本,主要是快!总共才占用磁盘空间约20G,不用专门装UnrealEngine。

详细步骤可以参考我上一篇博客:CARLA Windows快速体验与使用_windows carla-CSDN博客

2 SUMO安装

首先访问SUMO官方文档:SUMO Documentation

下载需要的版本

找到下载好的msi文件,双击安装,一路next

到下面这一步可以修改安装路径。下面打勾可以自动设置好环境变量

 查看系统环境变量,可以看到已经自动设置好了

没有设置好的话可以手动添加

下一步就是安装相关依赖,也可以暂时不管,后面运行的时候缺什么装什么即可 

3 联合仿真

3.1 启动CARLA客户端

CARLA0915\WindowsNoEditor目录下,双击CarlaUE4启动CARLA客户端

3.2 开启SUMO并同步仿真

找到联合仿真同步的文件

在Co-Simulation/Sumo路径下

在此处打开终端并输入命令

python.exe .\run_synchronization.py .\examples\Town05.sumocfg --sumo-gui

点击运行按钮就可以运行了

如果出现报错:

 找到文件:Co-Simulation/Sumo/sumo_integration/sumo_simulation.py

 修改代码:

# sumo_net = traci.sumolib.net.readNet(net_file) 修改为
sumo_net = sumolib.net.readNet(net_file)

3.3 联合仿真效果

下面这些黄色小车车就是SUMO产的车,会同步到CARLA里

 CARLA里的车均为从SUMO里同步过来的

 3.4 自定义车流联合仿真

打开sumo\bin\netedit

File -> Open Network File

选择到CARLA的联合仿真文件里的路网文件

CARLA0915\WindowsNoEditor\Co-Simulation\Sumo\examples\net

 选择你要定义车流的地图(这里以Town05为例)

 点击Demand

 然后点下面的蓝色车车

左边的Vehicles我们选择车流flow (from-to edges),其他的相关属性设置可以自己慢慢探索。

然后用鼠标去右边的地图里选择你要设计的路线,一段路一段路左键点即可,按ESC可以全取消重新点。

确定好后按回车确定即可,然后可以看到小车出现在地图上的路线起点

接下来导出车流文件

File -> Demand Elements -> Save Demand Elements As ...

放到CARLA0915\WindowsNoEditor\Co-Simulation\Sumo\examples\rou路径下

文件会以.rou.xml格式保存

编写SUMO配置文件

转到目录CARLA0915\WindowsNoEditor\Co-Simulation\Sumo\examples

 复制一份Town05.sumocfg文件,重命名为test.sumocfg,用记事本打开

 我们修改红框位置即可,修改为我们刚刚保存出来的车流文件rou/test.rou.xml

 启动CARLA客户端

启动SUMO同步仿真

这里命令行中的命令需要改为我们定义的配置文件

python.exe .\run_synchronization.py .\examples\test.sumocfg --sumo-gui

然后运行即可

可以看到车跑起来了,CARLA端和SUMO端是对应的

接下来就可以在联合仿真环境的基础下进行一些其他方面的尝试了

更多推荐